\r
/* default installed plugins and skins */\r
$aConfPlugsToInstall = array('NP_SecurityEnforcer', 'NP_SkinFiles');\r
-$aConfSkinsToImport = array('atom', 'rss2.0', 'rsd', 'default', 'admin/defaultadmin');\r
+$aConfSkinsToImport = array('atom', 'rss2.0', 'rsd', 'default', 'admin/default', 'admin/bookmarklet');\r
\r
// Check if some important files\r
do_check_files();\r
exit('<div style="font-size: xx-large;"> Failed to initialize iconv or mbstring extension. Would you please contact the administrator of your PHP server? </div>');\r
}\r
\r
-// check if mysql support is installed; this check may not make sense, as is, in a version past 3.5x\r
-if ( !function_exists('mysql_query') && !function_exists('mysqli_query') )\r
-{\r
- exit('<div style="font-size: xx-large;"> Your PHP version does not have support for MySQL :( </div>');\r
-}\r
-\r
// include core classes that are needed for login & plugin handling\r
-include_once('../nucleus/libs/mysql.php');\r
\r
// added for 3.5 sql_* wrapper\r
global $MYSQL_HANDLER;\r
if ( !isset($MYSQL_HANDLER) )\r
{\r
$MYSQL_HANDLER = array('mysql', '');\r
+ \r
+ // check if mysql support is installed; this check may not make sense, as is, in a version past 3.5x\r
+ if ( !function_exists('mysql_query') && !function_exists('mysqli_query') )\r
+ {\r
+ exit('<div style="font-size: xx-large;"> Your PHP version does not have support for MySQL :( </div>');\r
+ }\r
}\r
-include_once('../nucleus/libs/sql/' . $MYSQL_HANDLER[0] . '.php');\r
+include_once('../nucleus/libs/sql/sql.php');\r
\r
session_start();\r
if ( count($_GET) == 0 && count($_POST) == 0 )\r
function do_install()\r
{\r
global $param;\r
- global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_PREFIX, $MYSQL_CONN;\r
+ global $MYSQL_HANDLER, $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_PREFIX, $MYSQL_CONN;\r
global $DIR_NUCLEUS, $DIR_MEDIA, $DIR_SKINS, $DIR_PLUGINS, $DIR_LANG, $DIR_LIBS;\r
$errors = array();\r
\r
/*\r
* 2.open mySQL connection\r
*/\r
- $MYSQL_CONN = @sql_connect_args($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);\r
- if ( $MYSQL_CONN == false )\r
+ $MYSQL_CONN = @DB::setConnectionInfo($MYSQL_HANDLER[1], $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);\r
+ if ( $MYSQL_CONN == FALSE )\r
{\r
$errors[] = _DBCONNECT_ERROR;\r
return $errors;\r
/*\r
* 3. try to create database if needed\r
*/\r
- if ( !sql_query("CREATE DATABASE IF NOT EXISTS {$MYSQL_DATABASE}") )\r
+ if ( DB::execute("CREATE DATABASE IF NOT EXISTS {$MYSQL_DATABASE}") === FALSE )\r
{\r
- $errors[] = _INST_ERROR1 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR1 . ': ' . $errinfo[2];\r
}\r
\r
/*\r
* 4. try to select database\r
*/\r
- if ( !sql_select_db($MYSQL_DATABASE) )\r
+ $MYSQL_CONN = @DB::setConnectionInfo($MYSQL_HANDLER[1], $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE);\r
+ if ( !$MYSQL_CONN )\r
{\r
$errors[] = _INST_ERROR2;\r
}\r
- sql_set_charset('utf8');\r
\r
if ( count($errors) > 0 )\r
{\r
}\r
\r
// table exists check\r
- $result = sql_query('SHOW TABLES');\r
- while ( $row = mysql_fetch_array($result, MYSQL_NUM) )\r
+ $result = DB::getResult('SHOW TABLES');\r
+ foreach ( $result as $row )\r
{\r
if ( in_array($row[0], $prefixed_table_names) )\r
{\r
$query = str_replace($table_names, $prefixed_table_names, $query);\r
}\r
\r
- if ( !sql_query($query) )\r
+ if ( DB::execute($query) === FALSE )\r
{\r
- $errors[] = _INST_ERROR4 . ' (<small>' . $query . '</small>): ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR4 . ' (<small>' . $query . '</small>): ' . $errinfo[2];\r
}\r
}\r
}\r
* 6. put needed records\r
*/\r
/* push first post */\r
- $query = "INSERT INTO %s VALUES (1, '%s', '%s', '%s', 1, 1, '%s', 0, 0, 0, 1, 0, 1)";\r
- $query = sprintf($query, tableName('nucleus_item'), _1ST_POST_TITLE, _1ST_POST, _1ST_POST2, i18n::formatted_datetime('mysql', time()));\r
- if ( !sql_query($query) )\r
+ $query = "INSERT INTO %s VALUES (1, %s, %s, %s, 1, 1, %s, 0, 0, 0, 1, 0, 1)";\r
+ $query = sprintf($query,\r
+ tableName('nucleus_item'),\r
+ DB::quoteValue(_1ST_POST_TITLE),\r
+ DB::quoteValue(_1ST_POST),\r
+ DB::quoteValue(_1ST_POST2),\r
+ DB::formatDateTime()\r
+ );\r
+ if ( DB::execute($query) === FALSE )\r
{\r
- $errors[] = _INST_ERROR4 . ' (<small>' . $newpost . '</small>): ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR4 . ' (<small>' . $newpost . '</small>): ' . $errinfo[2];\r
}\r
\r
/* push configurations */\r
array_merge($errors, updateConfig('SiteName', $param->blog_name));\r
array_merge($errors, updateConfig('Locale', i18n::get_current_locale()));\r
\r
- /* escape strings for SQL */\r
- $user_name = sql_real_escape_string($param->user_name);\r
- $user_realname = sql_real_escape_string($param->user_realname);\r
- $user_password = sql_real_escape_string(md5($param->user_password));\r
- $user_email = sql_real_escape_string($param->user_email);\r
- $blog_name = sql_real_escape_string($param->blog_name);\r
- $blog_shortname = sql_real_escape_string($param->blog_shortname);\r
- $config_indexurl = sql_real_escape_string($param->IndexURL);\r
-\r
/* push super admin */\r
- $query = "UPDATE %s SET mname = '%s', mrealname = '%s', mpassword = '%s', memail = '%s', murl = '%s', madmin = 1, mcanlogin = 1 WHERE mnumber = 1";\r
- $query = sprintf($query, tableName('nucleus_member'), $user_name, $user_realname, $user_password, $user_email, $config_indexurl);\r
- if ( !sql_query($query) )\r
+ $query = "UPDATE %s SET mname = %s, mrealname = %s, mpassword = %s, memail = %s, murl = %s, madmin = 1, mcanlogin = 1 WHERE mnumber = 1";\r
+ $query = sprintf($query,\r
+ tableName('nucleus_member'),\r
+ DB::quoteValue($param->user_name),\r
+ DB::quoteValue($param->user_realname),\r
+ DB::quoteValue(md5($param->user_password)),\r
+ DB::quoteValue($param->user_email),\r
+ DB::quoteValue($param->IndexURL)\r
+ );\r
+ if ( DB::execute($query) === FALSE )\r
{\r
- $errors[] = _INST_ERROR5 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR5 . ': ' . $errinfo[2];\r
}\r
\r
/* push new weblog */\r
- $query = "UPDATE %s SET bname = '%s', bshortname = '%s', burl = '%s' WHERE bnumber = 1";\r
- $query = sprintf($query, tableName('nucleus_blog'), $blog_name, $blog_shortname, $config_indexurl);\r
- if ( !sql_query($query) )\r
+ $query = "UPDATE %s SET bname = %s, bshortname = %s, burl = %s WHERE bnumber = 1";\r
+ $query = sprintf($query,\r
+ tableName('nucleus_blog'),\r
+ DB::quoteValue($param->blog_name),\r
+ DB::quoteValue($param->blog_shortname),\r
+ DB::quoteValue($param->IndexURL)\r
+ );\r
+ if ( DB::execute($query) === FALSE )\r
{\r
- $errors[] = _INST_ERROR6 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR6 . ': ' . $errinfo[2];\r
}\r
\r
/* push default category */\r
- $query = "UPDATE %s SET cname = '%s', cdesc = '%s' WHERE catid = 1";\r
- $query = sprintf($query, tableName('nucleus_category'), _GENERALCAT_NAME, _GENERALCAT_DESC);\r
- if ( !sql_query($query) )\r
+ $query = "UPDATE %s SET cname = %s, cdesc = %s WHERE catid = 1";\r
+ $query = sprintf($query,\r
+ tableName('nucleus_category'),\r
+ DB::quoteValue(_GENERALCAT_NAME),\r
+ DB::quoteValue(_GENERALCAT_DESC)\r
+ );\r
+ if ( DB::execute($query) === FALSE )\r
{\r
- $errors[] = _INST_ERROR6 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR6 . ': ' . $errinfo[2];\r
}\r
\r
- sql_close();\r
-\r
/*\r
* 7. install default plugins and skins\r
*/\r
{\r
array_merge($errors, $aSkinErrors);\r
}\r
- $query = "SELECT MIN(sdnumber) as result FROM %s WHERE sdname='admin/default';";\r
- $query = sprintf($query, tableName('nucleus_skin_desc'));\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- array_merge($errors, updateConfig('DefaultAdminSkin', $obj->result));\r
+ \r
+ $query = "SELECT sdnumber FROM %s WHERE sdname='admin/default'";\r
+ $query = sprintf($query, tableName('nucleus_skin_desc'));\r
+ $res = intval(DB::getValue($query));\r
+ array_merge($errors, updateConfig('AdminSkin', $res));\r
+ \r
+ $query = "SELECT sdnumber FROM %s WHERE sdname='admin/bookmarklet'";\r
+ $query = sprintf($query, tableName('nucleus_skin_desc'));\r
+ $res = intval(DB::getValue($query));\r
+ array_merge($errors, updateConfig('BookmarkletSkin', $res));\r
\r
$query = "SELECT sdnumber FROM %s WHERE sdname='default'";\r
$query = sprintf($query, tableName('nucleus_skin_desc'));\r
- $res = sql_query($query);\r
- $obj = sql_fetch_assoc($res);\r
- $defSkinID = (integer) $obj['sdnumber'];\r
+ $defSkinID = intval(DB::getValue($query));\r
\r
$query = "UPDATE %s SET bdefskin=%d WHERE bnumber=1";\r
$query = sprintf($query, tableName('nucleus_blog'), $defSkinID);\r
- sql_query($query);\r
+ DB::execute($query);\r
+ \r
$query = "UPDATE %s SET value=%d WHERE name='BaseSkin'";\r
$query = sprintf($query, tableName('nucleus_config'), $defSkinID);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$aPlugErrors = installCustomPlugs();\r
if ( count($aPlugErrors) > 0 )\r
*/\r
function getMySqlVersion()\r
{\r
- global $minimum_mysql_version, $errors;\r
+ global $MYSQL_HANDLER, $minimum_mysql_version, $errors;\r
// Turn on output buffer\r
// Needed to repress the output of the sql function that are\r
// not part of php (in this case the @ operator doesn't work)\r
ob_start();\r
\r
// note: this piece of code is taken from phpMyAdmin\r
- $conn = sql_connect_args('localhost', '', '');\r
- $result = @sql_query('SELECT VERSION() AS version', $conn);\r
+ $conn = @DB::setConnectionInfo($MYSQL_HANDLER[1], 'localhost', '', '');\r
\r
- if ( $result != FALSE && sql_num_rows($result) > 0 )\r
+ if ( $conn )\r
{\r
- $row = sql_fetch_array($result);\r
- $match = preg_split('#\.#', $row['version']);\r
+ $row = DB::getAttribute(PDO::ATTR_SERVER_VERSION);\r
+ $match = preg_split('#\.#', $row);\r
}\r
else\r
{\r
- $result = @sql_query('SHOW VARIABLES LIKE \'version\'', $conn);\r
+ $row = @DB::getRow('SHOW VARIABLES LIKE \'version\'');\r
\r
- if ( $result != FALSE && @sql_num_rows($result) > 0 )\r
+ if ( $row )\r
{\r
- $row = sql_fetch_row($result);\r
$match = preg_split('#\.#', $row[1]);\r
}\r
else\r
}\r
}\r
\r
- @sql_disconnect($conn);\r
+ @DB::disConnect();\r
\r
//End and clean output buffer\r
ob_end_clean();\r
return $aErrors;\r
}\r
\r
- $res = sql_query('SELECT * FROM ' . tableName('nucleus_plugin'));\r
- $numCurrent = sql_num_rows($res);\r
+ $query = sprintf('SELECT * FROM %s', tableName('nucleus_plugin'));\r
+ $res = DB::getResult($query);\r
+ $numCurrent = $res->rowCount();\r
\r
foreach ( $aConfPlugsToInstall as $plugName )\r
{\r
- $query = 'INSERT INTO ' . tableName('nucleus_plugin') . ' (porder, pfile) VALUES (' . (++$numCurrent) . ", '" . sql_real_escape_string($plugName) . "')";\r
- sql_query($query);\r
+ $query = sprintf('INSERT INTO %s (porder, pfile) VALUES (%d, %s)',\r
+ tableName('nucleus_plugin'),\r
+ (++$numCurrent),\r
+ DB::quoteValue($plugName));\r
+ DB::execute($query);\r
\r
$manager->clearCachedInfo('installedPlugins');\r
$plugin =& $manager->getPlugin($plugName);\r
\r
if ( !$plugin )\r
{\r
- sql_query('DELETE FROM ' . tableName('nucleus_plugin') . " WHERE pfile = '" . sql_real_escape_string($plugName) . "'");\r
+ $query = sprintf('DELETE FROM %s WHERE pfile = %s',\r
+ tableName('nucleus_plugin'),\r
+ DB::quoteValue($plugName));\r
+ DB::execute($query);\r
$numCurrent--;\r
array_push($aErrors, sprintf(_INST_ERROR9, $plugName));\r
continue;\r
$plugin->install();\r
}\r
\r
- sql_query('DELETE FROM ' . tableName('nucleus_plugin_event'));\r
- $res = sql_query('SELECT pid, pfile FROM ' . tableName('nucleus_plugin'));\r
+ $query = sprintf('DELETE FROM %s', tableName('nucleus_plugin_event'));\r
+ DB::execute($query);\r
+ $query = sprintf('SELECT pid, pfile FROM %s', tableName('nucleus_plugin'));\r
+ $res = DB::getResult($query);\r
\r
- while ( $o = sql_fetch_object($res) )\r
+ foreach ( $res as $row )\r
{\r
- $pid = $o->pid;\r
- $plug =& $manager->getPlugin($o->pfile);\r
+ $plug =& $manager->getPlugin($row['pfile']);\r
\r
if ( $plug )\r
{\r
$eventList = $plug->getEventList();\r
foreach ( $eventList as $eventName )\r
{\r
- sql_query('INSERT INTO ' . tableName('nucleus_plugin_event') . ' (pid, event) VALUES (' . $pid . ", '" . $eventName . "')");\r
+ $query = sprintf('INSERT INTO %s (pid, event) VALUES (%d, %s)',\r
+ tableName('nucleus_plugin_event'),\r
+ intval($row['pid']),\r
+ DB::quoteValue($eventName));\r
+ DB::execute($query);\r
}\r
}\r
}\r
'../nucleus/libs/MANAGER.php',\r
'../nucleus/libs/MEDIA.php',\r
'../nucleus/libs/MEMBER.php',\r
- '../nucleus/libs/mysql.php',\r
'../nucleus/libs/NOTIFICATION.php',\r
'../nucleus/libs/PARSER.php',\r
'../nucleus/libs/PLUGIN.php',\r
'../nucleus/libs/vars4.1.0.php',\r
'../nucleus/libs/xmlrpc.inc.php',\r
'../nucleus/libs/xmlrpcs.inc.php',\r
- '../nucleus/libs/sql/mysql.php'\r
+ '../nucleus/libs/sql/DB.php',\r
+ '../nucleus/libs/sql/MYSQLPDO.php'\r
);\r
\r
$count = count($files);\r
function updateConfig($name, $value)\r
{\r
$errors = array();\r
- $name = sql_real_escape_string($name);\r
- $value = trim(sql_real_escape_string($value));\r
\r
- $query = "UPDATE %s SET value = '%s' WHERE name = '%s'";\r
- $query = sprintf($query, tableName('nucleus_config'), $value, $name);\r
+ $query = "UPDATE %s SET value = %s WHERE name = %s";\r
+ $query = sprintf($query, tableName('nucleus_config'), DB::quoteValue(trim($value)), DB::quoteValue($name));\r
\r
- if ( !sql_query($query) )\r
+ if ( DB::execute($query) === FALSE )\r
{\r
- $errors[] = _INST_ERROR4 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR4 . ': ' . $errinfo[2];\r
}\r
return $errors;\r
}\r
\r
public function check_mysql_parameters()\r
{\r
+ global $MYSQL_HANDLER;\r
+ \r
$parameters = array('mysql_host', 'mysql_user', 'mysql_password', 'mysql_database', 'mysql_tablePrefix');\r
$this->read_parameter($parameters);\r
\r
\r
if ( count($errors) == 0 )\r
{\r
- $mysql_conn = @sql_connect_args($this->mysql_host, $this->mysql_user, $this->mysql_password);\r
+ $mysql_conn = @DB::setConnectionInfo($MYSQL_HANDLER[1], $this->mysql_host, $this->mysql_user, $this->mysql_password);\r
if ( $mysql_conn == false )\r
{\r
$errors[] = _DBCONNECT_ERROR;\r
}\r
else\r
{\r
- @sql_disconnect($mysql_conn);\r
+ @DB::disConnect();\r
}\r
}\r
\r
INSERT INTO nucleus_config VALUES ('DebugVars', '0');\r
INSERT INTO nucleus_config VALUES ('DefaultListSize', '10');\r
INSERT INTO nucleus_config VALUES ('AdminCSS', 'original');\r
-INSERT INTO nucleus_config VALUES ('DefaultAdminSkin', '0');\r
+INSERT INTO nucleus_config VALUES ('AdminSkin', '0');\r
+INSERT INTO nucleus_config VALUES ('BookmarkletSkin', '0');\r
\r
CREATE TABLE nucleus_item (\r
inumber int(11) NOT NULL auto_increment,\r
include('../config.php');
// get skin object
-$skinid = $CONF['DefaultBookmarkletSkin'];
+$skinid = $CONF['BookmarkletSkin'];
if ( !Skin::existsID($skinid) )
{
echo _ERROR_SKIN;
bm_message($skin, _ITEM_ADDED, _ITEM_ADDED, $message,$extrahead);
return;
+
+ return;
}
function bm_doEditItem($skin)
$skin->parse('showlogin');
$skin->parse('pagefoot');
+
return;
}
function bm_doShowForm($skin)
{
- global $member;
+ global $manager, $member;
$blogid = intRequestVar('blogid');
$log_text = trim(requestVar('logtext'));
{
bm_doError(_ERROR_NOSUCHBLOG);
}
+ else
+ {
+ $blog =& $manager->getBlog($blogid);
+ }
if ( !$member->isTeamMember($blogid) )
{
$logje .= '<a href="' . Entity::hsc($log_link) . '">' . Entity::hsc($log_linktitle) . '</a>';
}
- $item['body'] = $logje;
- $item['title'] = Entity::hsc($log_linktitle);
+ $variables = array();
+ $variables['body'] = $logje;
+ $variables['title'] = Entity::hsc($log_linktitle);
/* TODO: $itemを渡す */
$skin->parse('pagehead');
bm_doError(_ERROR_DISALLOWED);
}
- $item =& $manager->getItem($itemid, 1, 1);
+ $variables =& $manager->getItem($itemid, 1, 1);
$blog =& $manager->getBlog(getBlogIDFromItemID($itemid) );
- $manager->notify('PrepareItemForEdit', array('item' => &$item) );
+ $manager->notify('PrepareItemForEdit', array('item' => &$variables) );
if ( $blog->convertBreaks() )
{
- $item['body'] = removeBreaks($item['body']);
- $item['more'] = removeBreaks($item['more']);
+ $variables['body'] = removeBreaks($variables['body']);
+ $variables['more'] = removeBreaks($variables['more']);
}
/* TODO: $itemを渡す */
$skin->parse('createitem');
$skin->parse('pagefoot');
- return;
-}
+ return;}
function bm_doError($skin, $msg)
{
$skin->parse('adminerrorpage');
$skin->parse('pagefoot');
+
return;
}
function bm_doContextMenuCode($width=600, $height=500)
{
- global $CONF;
-
+ global $CONF;
$blogid = (integer) intGetVar('blogid');
echo "<script type=\"text/javascript\" defer=\"defer\">\n";
switch($what) {
// ----------------------------------------------------------------------------------------
case 'NucleusMemberOptions':
- $res = sql_query('SELECT mname as text, mnumber as value FROM '.sql_table('member'));
- while ($o = mysql_fetch_object($res)) {
- echo '<option value="'.Entity::hsc($o->value).'">'.Entity::hsc($o->text).'</option>';
+ $res = DB::getResult('SELECT mname as text, mnumber as value FROM '.sql_table('member'));
+ foreach ( $res as $row )
+ {
+ echo '<option value="'.Entity::hsc($row['value']).'">'.Entity::hsc($row['text']).'</option>';
}
break;
// ----------------------------------------------------------------------------------------
}
function sql_addToItem($title, $body, $more, $blogid, $authorid, $timestamp, $closed, $category, $karmapos, $karmaneg) {
- $title = trim(addslashes($title));
- $body = trim(addslashes($body));
- $more = trim(addslashes($more));
- $timestamp = date("Y-m-d H:i:s", $timestamp);
+ $title = DB::quoteValue(trim($title));
+ $body = DB::quoteValue(trim($body));
+ $more = DB::quoteValue(trim($more));
+ $timestamp = DB::formatDateTime($timestamp);
$query = 'INSERT INTO '.sql_table('item').' (ITITLE, IBODY, IMORE, IBLOG, IAUTHOR, ITIME, ICLOSED, IKARMAPOS, IKARMANEG, ICAT) '
- . "VALUES ('$title', '$body', '$more', $blogid, $authorid, '$timestamp', $closed, $karmapos, $karmaneg, $category)";
+ . "VALUES ($title, $body, $more, $blogid, $authorid, $timestamp, $closed, $karmapos, $karmaneg, $category)";
- mysql_query($query) or die("Error while executing query: " . $query);
+ if ( DB::execute($query) === FALSE )
+ {
+ die('Error while executing query: ' . $query);
+ }
- return mysql_insert_id();
+ return DB::getInsertId();
}
function sql_addToBlog($name, $shortname, $ownerid) {
- $name = addslashes($name);
- $shortname = addslashes($shortname);
+ $name = DB::quoteValue($name);
+ $shortname = DB::quoteValue($shortname);
// create new category first
- mysql_query('INSERT INTO '.sql_table('category')." (CNAME, CDESC) VALUES ('General','Items that do not fit in another category')");
- $defcat = mysql_insert_id();
+ DB::execute('INSERT INTO '.sql_table('category')." (CNAME, CDESC) VALUES ('General','Items that do not fit in another category')");
+ $defcat = DB::getInsertId();
- $query = 'INSERT INTO '.sql_table('blog')." (BNAME, BSHORTNAME, BCOMMENTS, BMAXCOMMENTS, BDEFCAT) VALUES ('$name','$shortname',1 ,0, $defcat)";
- mysql_query($query) or die("Error while executing query: " . $query);
- $id = mysql_insert_id();
+ $query = 'INSERT INTO '.sql_table('blog')." (BNAME, BSHORTNAME, BCOMMENTS, BMAXCOMMENTS, BDEFCAT) VALUES ($name, $shortname, 1, 0, $defcat)";
+ if ( DB::execute($query) === FALSE )
+ {
+ die('Error while executing query: ' . $query);
+ }
+ $id = DB::getInsertId();
// update category row so it links to blog
- mysql_query('UPDATE ' . sql_table('category') . ' SET cblog=' . intval($id). ' WHERE catid=' . intval($defcat));
+ DB::execute('UPDATE ' . sql_table('category') . ' SET cblog=' . intval($id). ' WHERE catid=' . intval($defcat));
BlogImport::sql_addToTeam($id,$ownerid,1);
}
function sql_addToComments($name, $url, $body, $blogid, $itemid, $memberid, $timestamp, $host, $ip='') {
- $name = addslashes($name);
- $url = addslashes($url);
- $body = trim(addslashes($body));
- $host = addslashes($host);
- $ip = addslashes($ip);
- $timestamp = date("Y-m-d H:i:s", $timestamp);
+ $name = DB::quoteValue($name);
+ $url = DB::quoteValue($url);
+ $body = DB::quoteValue(trim($body));
+ $host = DB::quoteValue($host);
+ $ip = DB::quoteValue($ip);
+ $timestamp = DB::formatDateTime($timestamp);
$query = 'INSERT INTO '.sql_table('comment')
. ' (CUSER, CMAIL, CMEMBER, CBODY, CITEM, CTIME, CHOST, CBLOG, CIP) '
- . "VALUES ('$name', '$url', $memberid, '$body', $itemid, '$timestamp', '$host', $blogid, '$ip')";
+ . "VALUES ($name, $url, $memberid, $body, $itemid, $timestamp, $host, $blogid, $ip)";
- mysql_query($query) or die("Error while executing query: " . $query);
+ if ( DB::execute($query) === FALSE )
+ {
+ die('Error while executing query: ' . $query);
+ }
- return mysql_insert_id();
+ return DB::getInsertId();
}
function sql_addToTeam($blogid, $memberid, $admin) {
$query = 'INSERT INTO '.sql_table('team').' (TMEMBER, TBLOG, TADMIN) '
. "VALUES ($memberid, $blogid, $admin)";
- mysql_query($query) or die("Error while executing query: " . $query);
+ if ( DB::execute($query) === FALSE )
+ {
+ die('Error while executing query: ' . $query);
+ }
- return mysql_insert_id();
+ return DB::getInsertId();
}
-
-
}
// some sort of version checking
// TODO: remove this function (replaced by BlogImport::sql_addToItem)
function convert_addToItem($title, $body, $more, $blogid, $authorid, $timestamp, $closed, $category, $karmapos, $karmaneg) {
- $title = trim(addslashes($title));
- $body = trim(addslashes($body));
- $more = trim(addslashes($more));
+ $title = DB::quoteValue(trim($title));
+ $body = DB::quoteValue(trim($body));
+ $more = DB::quoteValue(trim($more));
$query = 'INSERT INTO '.sql_table('item').' (ITITLE, IBODY, IMORE, IBLOG, IAUTHOR, ITIME, ICLOSED, IKARMAPOS, IKARMANEG, ICAT) '
- . "VALUES ('$title', '$body', '$more', $blogid, $authorid, '$timestamp', $closed, $karmapos, $karmaneg, $category)";
+ . "VALUES ($title, $body, $more, $blogid, $authorid, '$timestamp', $closed, $karmapos, $karmaneg, $category)";
- mysql_query($query) or die("Error while executing query: " . $query);
+ if ( DB::execute($query) === FALSE )
+ {
+ die('Error while executing query: ' . $query);
+ }
- return mysql_insert_id();
+ return DB::getInsertId();
}
// TODO: remove this function (replaced by BlogImport::sql_addToBlog)
function convert_addToBlog($name, $shortname, $ownerid) {
- $name = addslashes($name);
- $shortname = addslashes($shortname);
+ $name = DB::quoteValue($name);
+ $shortname = DB::quoteValue($shortname);
// create new category first
- mysql_query('INSERT INTO '.sql_table('category')." (CNAME, CDESC) VALUES ('General','Items that do not fit in another categort')");
- $defcat = mysql_insert_id();
+ DB::execute('INSERT INTO '.sql_table('category')." (CNAME, CDESC) VALUES ('General','Items that do not fit in another categort')");
+ $defcat = DB::getInsertId();
- $query = 'INSERT INTO '.sql_table('blog')." (BNAME, BSHORTNAME, BCOMMENTS, BMAXCOMMENTS, BDEFCAT) VALUES ('$name','$shortname',1 ,0, $defcat)";
- mysql_query($query) or die("Error while executing query: " . $query);
- $id = mysql_insert_id();
+ $query = 'INSERT INTO '.sql_table('blog')." (BNAME, BSHORTNAME, BCOMMENTS, BMAXCOMMENTS, BDEFCAT) VALUES ($name, $shortname, 1, 0, $defcat)";
+ if ( DB::execute($query) === FALSE )
+ {
+ die('Error while executing query: ' . $query);
+ }
+ $id = DB::getInsertId();
convert_addToTeam($id,$ownerid,1);
-
return $id;
}
// TODO: remove this function (replaced by BlogImport::sql_addToComments)
function convert_addToComments($name, $url, $body, $blogid, $itemid, $memberid, $timestamp, $host, $ip='') {
- $name = addslashes($name);
- $url = addslashes($url);
- $body = trim(addslashes($body));
- $host = addslashes($host);
- $ip = addslashes($ip);
+ $name = DB::quoteValue($name);
+ $url = DB::quoteValue($url);
+ $body = DB::quoteValue(trim($body));
+ $host = DB::quoteValue($host);
+ $ip = DB::quoteValue($ip);
$query = 'INSERT INTO '.sql_table('comment')
. ' (CUSER, CMAIL, CMEMBER, CBODY, CITEM, CTIME, CHOST, CBLOG, CIP) '
- . "VALUES ('$name', '$url', $memberid, '$body', $itemid, '$timestamp', '$host', $blogid, '$ip')";
+ . "VALUES ($name, $url, $memberid, $body, $itemid, '$timestamp', $host, $blogid, $ip)";
- mysql_query($query) or die("Error while executing query: " . $query);
+ if ( DB::execute($query) === FALSE )
+ {
+ die("Error while executing query: " . $query);
+ }
- return mysql_insert_id();
+ return DB::getInsertId();
}
// TODO: remove this function (replaced by BlogImport::sql_addToTeam)
$query = 'INSERT INTO '.sql_table('team').' (TMEMBER, TBLOG, TADMIN) '
. "VALUES ($memberid, $blogid, $admin)";
- mysql_query($query) or die("Error while executing query: " . $query);
-
- return mysql_insert_id();
+ if ( DB::execute($query) === FALSE )
+ {
+ die("Error while executing query: " . $query);
+ }
+
+ return DB::getInsertId();
}
function convert_showLogin($type) {
/*
v1.1 - add robustness code for category creation and item adding (admun)
v1.2 - add sql_table()
-*/
+ */
include("../../config.php");
function def($s){
if (isset($_POST[$s]))
- echo addslashes(stripslashes($_POST[$s]));
+ echo Entity::hsc($_POST[$s]);
else {
if (i18n::strpos($s,'host')!==FALSE) echo "localhost";
if (i18n::strpos($s,'username')!==FALSE) echo "root";
<body>
<div id='content'>
<h1><small>WordPress »»</small> Nucleus CMS <small>»» convertor</small></h1>
-
<?php
- if (!isset($_POST['convert'])) {
+if ( !isset($_POST['convert']) )
+{
?>
<p>This tool will convert your <a href='http://wordpress.org/'>WordPress blog</a> (tested w/ 3.1.x), into <a href='http://nucleuscms.org'> Nucleus CMS weblog</a>. First, install Nucleus, in a default install, and only after that run this tool. It will transfer all categories, posts, and comments into blog #1.</p>
<?php
- } else {
+}
+else
+{
- $isok=true;
-
- // connect to WordPress database
- $linkwp = @mysql_connect($_POST['wphost'],$_POST['wpusername'],$_POST['wppassword'],true);
- if($linkwp==false)
- error("Cannot connect to WordPress DB..");
- else {
- @mysql_select_db($_POST['wpdatabase'],$linkwp) or error("Cannot select WordPress DB...");
- }
-
- // connect to Nucleus CMS database
- $linkblogcms = @mysql_connect($_POST['blogcmshost'],$_POST['blogcmsusername'],$_POST['blogcmspassword'],true);
- if($linkblogcms==false)
- error("Cannot connect to Nucleus DB..");
- else {
- @mysql_select_db($_POST['blogcmsdatabase'],$linkblogcms) or error("Cannot select Nucleus DB...");
- }
-
- if (!$isok) {
- echo "<p>Please correct these errors first!</p><hr />";
- } else {
- /* */
- /* transfer data ! */
- /* */
- $prefixwp=$_POST['wpprefix'];
-
- /* *********************************************** */
- echo "<h2>Getting encoding...</h2>";
- $query="select option_value from ".$prefixwp."options where option_name='blog_charset'";
- $querywp=mysql_query($query,$linkwp) or die($query);
- if ($row=mysql_fetch_object($querywp))
- $input=$row->option_value;
- else
- $input="utf-8";
- echo "<p>Encoding: $input</p>";
+ $isok = true;
- /* *********************************************** */
- echo "<h2>Transfering categories...</h2>";
- mysql_query("delete from ". sql_table('category') . " where cdesc='@wordpress'",$linkblogcms);
- $q = mysql_query("SELECT count(*) as result FROM " . sql_table('category'));
- $total_row = mysql_fetch_object($q);
- $total_num = $total_row->result;
- $catdd = $total_num;
- $total_num++;
+ // connect to WordPress database
+ $linkwp = @mysql_connect($_POST['wphost'], $_POST['wpusername'], $_POST['wppassword'], true);
+ if ( $linkwp == false )
+ error("Cannot connect to WordPress DB..");
+ else
+ {
+ @mysql_select_db($_POST['wpdatabase'], $linkwp) or error("Cannot select WordPress DB...");
+ }
- $query="SELECT * FROM ".$prefixwp."term_taxonomy , ".$prefixwp."terms WHERE ".$prefixwp."term_taxonomy.term_taxonomy_id = ".$prefixwp."terms.term_id AND ".$prefixwp."term_taxonomy.taxonomy='category'";
- $querywp=mysql_query($query,$linkwp) or die($query);
- echo "<p>rows to transfer: ".mysql_num_rows($querywp)."</p>";
- echo "<p>";
- $cate_map = array();
- while ($row=mysql_fetch_object($querywp)) {
- echo $total_num.", ";
- $cate_map[$row->term_id] = $total_num;
- $query=
- "INSERT INTO " . sql_table('category') .
- " (catid,cblog,cname,cdesc) values (".
- intval($total_num).",1,'".encoding($row->name)."','@wordpress')";
- $result = mysql_query($query,$linkblogcms) or die($query);
- $total_num++;
- }
- echo "</p>";
+ // connect to Nucleus CMS database
+ /*
+ $linkblogcms = @mysql_connect($_POST['blogcmshost'],$_POST['blogcmsusername'],$_POST['blogcmspassword'],true);
+ if($linkblogcms==false)
+ error("Cannot connect to Nucleus DB..");
+ else {
+ @mysql_select_db($_POST['blogcmsdatabase'],$linkblogcms) or error("Cannot select Nucleus DB...");
+ }
+ */
- /* *********************************************** */
- echo "<h2>Transfering posts and comments...</h2>";
- mysql_query("delete from " . sql_table('comment') . " where chost='@wordpress'",$linkblogcms);
- $query="select * from ".$prefixwp."posts where post_status='publish' order by ID";
- $querywp=mysql_query($query,$linkwp) or die($query);
- echo "<p>rows to transfer: ".mysql_num_rows($querywp)."</p>";
- echo "<p>";
- $i=1;
- while ($row=mysql_fetch_object($querywp)) {
- echo $i++.", ";
- // find category
- $query = 'select * from '.$prefixwp.'term_relationships, '.$prefixwp.'term_taxonomy where '.$prefixwp.'term_relationships.term_taxonomy_id='.$prefixwp.'term_taxonomy.term_taxonomy_id and object_id='.$row->ID.' and '.$prefixwp.'term_taxonomy.taxonomy=\'category\' limit 1';
- $catwp = mysql_query($query, $linkwp) or die($query);
- $category = mysql_fetch_object($catwp);
- $cat = $cate_map[$category->term_id];
- if (empty($cat)) $cat = 1;
+ if ( !$isok )
+ {
+ echo "<p>Please correct these errors first!</p><hr />";
+ }
+ else
+ {
+ /* */
+ /* transfer data ! */
+ /* */
+ $prefixwp = $_POST['wpprefix'];
- // insert post
- $query=
- "INSERT INTO " . sql_table('item') . " ".
- "(ititle,ibody,iblog,iauthor,itime,icat) values (".
- "'".addslashes(encoding($row->post_title))."','".addslashes(paragraph(encoding(stripslashes($row->post_content)),false))."',1,1,'".$row->post_date."',$cat)";
- $result = mysql_query($query,$linkblogcms) or die($query);
- $itemid=mysql_insert_id($linkblogcms);
+ /* *********************************************** */
+ echo "<h2>Getting encoding...</h2>";
+ $query = "SELECT option_value FROM " . $prefixwp . "options WHERE option_name='blog_charset'";
+ $querywp = mysql_query($query, $linkwp) or die($query);
+ if ( $row = mysql_fetch_object($querywp) )
+ $input = $row->option_value;
+ else
+ $input = "utf-8";
+ echo "<p>Encoding: $input</p>";
- // insert comments
- $query="select * from ".$prefixwp."comments where comment_post_ID=".$row->ID;
- $querywp_detail=mysql_query($query,$linkwp) or die($query);
- while ($row_detail=mysql_fetch_object($querywp_detail)) {
- $url=$row_detail->comment_author_email;
- if (!empty($row_detail->comment_author_url)) $url=$row_detail->comment_author_url;
- $query=
- "INSERT INTO " . sql_table('comment') .
- " (cbody,cuser,cmail,cmember,citem,ctime,cip,cblog,chost) values (".
- "'".addslashes(paragraph(encoding(strip_tags(stripslashes($row_detail->comment_content))),true))."',".
- "'".encoding($row_detail->comment_author)."',".
- "'$url',".
- "0,".
- "$itemid,".
- "'".$row_detail->comment_date."',".
- "'".$row_detail->comment_author_IP."',".
- "1,".
- "'@wordpress')";
- $result = mysql_query($query,$linkblogcms) or die($query);
- }
- }
- echo "</p>";
+ /* *********************************************** */
+ echo "<h2>Transfering categories...</h2>";
+ DB::execute("DELETE FROM " . sql_table('category') . " WHERE cdesc='@wordpress'");
+ $total_num = DB::getValue("SELECT count(*) as result FROM " . sql_table('category'));
+ $catdd = $total_num;
+ $total_num++;
- // done
- echo "<h2>Done! Enjoy your stay in Nucleus</h2>";
- die;
- }
+ $query = "SELECT * FROM " . $prefixwp . "term_taxonomy , " . $prefixwp . "terms WHERE " . $prefixwp . "term_taxonomy.term_taxonomy_id = "
+ . $prefixwp . "terms.term_id AND " . $prefixwp . "term_taxonomy.taxonomy='category'";
+ $querywp = mysql_query($query, $linkwp) or die($query);
+ echo "<p>rows to transfer: " . mysql_num_rows($querywp) . "</p>";
+ echo "<p>";
+ $cate_map = array();
+ while ( $row = mysql_fetch_object($querywp) )
+ {
+ echo $total_num . ", ";
+ $cate_map[$row->term_id] = $total_num;
+ $query = sprintf("INSERT INTO %s (catid,cblog,cname,cdesc) VALUES (%d,1,'%s','@wordpress')"
+ , sql_table('category'), intval($total_num), encoding($row->name));
+ if ( DB::execute($query) === FALSE )
+ {
+ die($query);
+ }
+ $total_num++;
+ }
+ echo "</p>";
+
+ /* *********************************************** */
+ echo "<h2>Transfering posts and comments...</h2>";
+ DB::execute("DELETE FROM " . sql_table('comment') . " WHERE chost='@wordpress'");
+ $query = "SELECT * FROM " . $prefixwp . "posts WHERE post_status='publish' ORDER BY ID";
+ $querywp = mysql_query($query, $linkwp) or die($query);
+ echo "<p>rows to transfer: " . mysql_num_rows($querywp) . "</p>";
+ echo "<p>";
+ $i = 1;
+ while ( $row = mysql_fetch_object($querywp) )
+ {
+ echo $i++ . ", ";
+ // find category
+ $query = 'SELECT * FROM ' . $prefixwp . 'term_relationships, ' . $prefixwp . 'term_taxonomy WHERE ' . $prefixwp
+ . 'term_relationships.term_taxonomy_id=' . $prefixwp . 'term_taxonomy.term_taxonomy_id AND object_id=' . $row->ID . ' AND '
+ . $prefixwp . 'term_taxonomy.taxonomy=\'category\' LIMIT 1';
+ $catwp = mysql_query($query, $linkwp) or die($query);
+ $category = mysql_fetch_object($catwp);
+ $cat = $cate_map[$category->term_id];
+ if ( empty($cat) ) $cat = 1;
+ // insert post
+ $query = sprintf("INSERT INTO %s (ititle,ibody,iblog,iauthor,itime,icat) VALUES (%s,%s,1,1,'%s',%d)"
+ , sql_table('item')
+ , DB::quoteValue(encoding($row->post_title))
+ , DB::quoteValue(paragraph(encoding(stripslashes($row->post_content)), false))
+ , $row->post_date
+ , $cat);
+ if ( DB::execute($query) === FALSE )
+ {
+ die($query);
+ }
+ $itemid = DB::getInsertId();
+
+ // insert comments
+ $query = "SELECT * FROM " . $prefixwp . "comments WHERE comment_post_ID=" . $row->ID;
+ $querywp_detail = mysql_query($query, $linkwp) or die($query);
+ while ( $row_detail = mysql_fetch_object($querywp_detail) )
+ {
+ $url = $row_detail->comment_author_email;
+ if ( !empty($row_detail->comment_author_url) ) $url = $row_detail->comment_author_url;
+ $query = sprintf("INSERT INTO %s (cbody,cuser,cmail,cmember,citem,ctime,cip,cblog,chost)"
+ . " VALUES (%s,%s,%s,0,%d,'%s',%s,1,'@wordpress')"
+ , sql_table('comment')
+ , DB::quoteValue(paragraph(encoding(strip_tags(stripslashes($row_detail->comment_content))), true))
+ , encoding($row_detail->comment_author)
+ , DB::quoteValue($url)
+ , $itemid
+ , $row_detail->comment_date
+ , DB::quoteValue($row_detail->comment_author_IP));
+ if ( DB::execute($query) === FALSE )
+ {
+ die($query);
+ }
+ }
+ }
+ echo "</p>";
+
+ // done
+ echo "<h2>Done! Enjoy your stay in Nucleus</h2>";
+ die;
}
+
+}
?>
<form method='post' action='./wordpress.php'>
function BtnHighlight(el) {
with(el.style){
- borderLeft="1px solid gray";
- borderRight="1px solid #e9e9e9";
- borderTop="1px solid gray";
- borderBottom="1px solid #e9e9e9";
+ borderLeft="1px solid #e9e9e9";
+ borderRight="1px solid gray";
+ borderTop="1px solid #e9e9e9";
+ borderBottom="1px solid gray";
}
}
function BtnNormal(el) {
with(el.style){
- padding="3px";
border="1px solid #dddddd";
}
}
$message = "[" . $member->getDisplayName() . "] " . $message;\r
}\r
\r
- $message = sql_real_escape_string($message); // add slashes\r
- $timestamp = date("Y-m-d H:i:s",time()); // format timestamp\r
- $query = "INSERT INTO %s (timestamp, message) VALUES ('%s', '%s')";\r
- $query = sprintf($query, sql_table('actionlog'), $timestamp, $message);\r
- sql_query($query);\r
+ $query = "INSERT INTO %s (timestamp, message) VALUES (%s, %s)";\r
+ $query = sprintf($query, sql_table('actionlog'), DB::formatDateTime(), DB::quoteValue($message));\r
+ DB::execute($query);\r
\r
self::trimLog();\r
return;\r
function clear() {\r
global $manager;\r
\r
- $query = 'DELETE FROM ' . sql_table('actionlog');\r
+ $query = sprintf('DELETE FROM %s', sql_table('actionlog'));\r
\r
$manager->notify('ActionLogCleared',array());\r
\r
- return sql_query($query);\r
+ return DB::execute($query) !== FALSE;\r
}\r
\r
/**\r
// trim\r
$checked = 1;\r
\r
- $iTotal = quickQuery('SELECT COUNT(*) AS result FROM ' . sql_table('actionlog'));\r
+ $query = sprintf('SELECT COUNT(*) AS result FROM %s', sql_table('actionlog'));\r
+ $iTotal = DB::getValue($query);\r
\r
// if size > 500, drop back to about 250\r
$iMaxSize = 500;\r
$iDropSize = 250;\r
if ($iTotal > $iMaxSize) {\r
- $tsChop = quickQuery('SELECT timestamp as result FROM ' . sql_table('actionlog') . ' ORDER BY timestamp DESC LIMIT '.$iDropSize.',1');\r
- sql_query('DELETE FROM ' . sql_table('actionlog') . ' WHERE timestamp < \'' . $tsChop . '\'');\r
+ $query = sprintf('SELECT timestamp as result FROM %s ORDER BY timestamp DESC LIMIT %d,1',\r
+ sql_table('actionlog'), intval($iDropSize));\r
+ $tsChop = DB::getValue($query);\r
+ $query = sprintf("DELETE FROM %s WHERE timestamp < '%s'", sql_table('actionlog'), $tsChop);\r
+ DB::execute($query);\r
}\r
\r
}\r
}\r
if ( $sqlquery )\r
{\r
- $iAmountOnPage = intval(quickQuery($sqlquery)) - intval($startpos);\r
+ $iAmountOnPage = intval(DB::getValue($sqlquery)) - intval($startpos);\r
}\r
}\r
\r
}\r
\r
/**\r
- * Actions::parse_charset()\r
- * Parse skinvar charset\r
- * \r
- * @param void\r
- * @return void\r
- */\r
- public function parse_charset()\r
- {\r
- echo i18n::get_current_charset();\r
- return;\r
- }\r
- \r
- /**\r
* Actions::parse_commentform()\r
* Parse skinvar commentform\r
* \r
global $CONF, $DIR_LIBS;\r
\r
/* NOTE: 1. decide which skinid to use */\r
- $skinid = $CONF['DefaultAdminSkin'];\r
+ $skinid = $CONF['AdminSkin'];\r
/*\r
* NOTE: this is temporary escaped because not implemented yet\r
if (isset($member) && $member->isLoggedIn())\r
{\r
self::error(_BADACTION . ENTITY::hsc($action));\r
}\r
- elseif ( $id != $CONF['DefaultAdminSkin'] )\r
+ elseif ( $id != $CONF['AdminSkin'] )\r
{\r
- self::$skin = new Skin($CONF['DefaultAdminSkin']);\r
+ self::$skin = new Skin($CONF['AdminSkin']);\r
if ( self::$skin && self::existsSkinContents('adminerrorpage') )\r
{\r
self::error(_BADACTION . ENTITY::hsc($action));\r
}\r
else\r
{\r
- $query = "SELECT scontent as result FROM %s WHERE sdesc=%d AND stype='%s';";\r
+ $query = "SELECT scontent as result FROM %s WHERE sdesc=%d AND stype=%s";\r
/* TODO: skinid should be a default */\r
if ( !is_object(self::$skin) )\r
{\r
global $CONF;\r
- return quickQuery(sprintf($query, sql_table('skin'), $CONF['DefaultAdminSkin'], sql_real_escape_string($action)));\r
+ return DB::getValue(sprintf($query, sql_table('skin'), $CONF['AdminSkin'], DB::quoteValue($action)));\r
}\r
else\r
{\r
- return quickQuery(sprintf($query, sql_table('skin'), self::$skin->getID(), sql_real_escape_string($action)));\r
+ return DB::getValue(sprintf($query, sql_table('skin'), self::$skin->getID(), DB::quoteValue($action)));\r
}\r
}\r
return;\r
*/\r
static private function specialActionsAllow($action)\r
{\r
- $query = "SELECT sdesc as result FROM %s WHERE sdesc = %d AND stype = '%s';";\r
- $query = sprintf($query, sql_table('skin'), (integer) self::$skin->id, sql_real_escape_string($action));\r
- return quickQuery($query);\r
+ $query = "SELECT sdesc as result FROM %s WHERE sdesc = %d AND stype = %s";\r
+ $query = sprintf($query, sql_table('skin'), (integer) self::$skin->id, DB::quoteValue($action));\r
+ return DB::getValue($query);\r
}\r
\r
/**\r
$query = sprintf($query, sql_table('blog'), sql_table('team'), (integer) $member->getID());\r
}\r
\r
- $rblogids = sql_query($query);\r
- while ($o = sql_fetch_object($rblogids))\r
+ $rblogids = DB::getResult($query);\r
+ foreach ( $rblogids as $row )\r
{\r
- if ( $o->bnumber != $iForcedBlogInclude )\r
+ if ( $row['bnumber'] != $iForcedBlogInclude )\r
{\r
- $aBlogIds[] = intval($o->bnumber);\r
+ $aBlogIds[] = intval($row['bnumber']);\r
}\r
}\r
\r
$item = Item::getItem($itemid, 0, 0);\r
$query = "SELECT COUNT(*) FROM %s WHERE unix_timestamp(itime) <= '%s';";\r
$query = sprintf($query, sql_table('item'), $item['timestamp']);\r
- $cnt = quickQuery($query);\r
+ $cnt = DB::getValue($query);\r
$_REQUEST['start'] = $cnt + 1;\r
self::action_itemlist(getBlogIDFromItemID($itemid));\r
}\r
\r
$query = "SELECT * FROM %s WHERE iblog=%d AND iposted=0 AND itime>'%s'";\r
$query = sprintf($query, sql_table('item'), (integer) $blogid, i18n::formatted_datetime('mysql', $currenttime));\r
- $result = sql_query($query);\r
+ $result = DB::getResult($query);\r
\r
- if ( sql_num_rows($result) > 0 )\r
+ if ( $result->rowCount() > 0 )\r
{\r
$blog->setFuturePost();\r
}\r
);\r
$manager->notify('PreUpdateComment', $data);\r
\r
- $query = "UPDATE %s SET cmail='%s', cemail='%s', cbody='%s' WHERE cnumber=%d;";\r
- $query = sprintf($query, sql_table('comment'), sql_real_escape_string($url), sql_real_escape_string($email), sql_real_escape_string($body), (integer) $commentid);\r
- sql_query($query);\r
+ $query = "UPDATE %s SET cmail=%s, cemail=%s, cbody=%s WHERE cnumber=%d;";\r
+ $query = sprintf($query, sql_table('comment'), DB::quoteValue($url), DB::quoteValue($email), DB::quoteValue($body), (integer) $commentid);\r
+ DB::execute($query);\r
\r
// get itemid\r
$query = "SELECT citem FROM %s WHERE cnumber=%d;";\r
$query = sprintf($query, sql_table('comment'), (integer) $commentid);\r
\r
- $res = sql_query($query);\r
- $o = sql_fetch_object($res);\r
- $itemid = $o->citem;\r
+ $itemid = DB::getValue($query);\r
\r
if ( $member->canAlterItem($itemid) )\r
{\r
$query = "SELECT citem FROM %s WHERE cnumber=%d;";\r
$query = sprintf($query, sql_table('comment'), (integer) $commentid);\r
\r
- $res = sql_query($query);\r
- $o = sql_fetch_object($res);\r
- $itemid = $o->citem;\r
+ $itemid = DB::getValue($query);\r
\r
$error = self::deleteOneComment($commentid);\r
if ( $error )\r
// delete the comments associated with the item\r
$query = "DELETE FROM %s WHERE cnumber=%d;";\r
$query = sprintf($query, sql_table('comment'), (integer) $commentid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$data = array(\r
'commentid' => $commentid\r
|| (!$canlogin && $mem->isAdmin() && $mem->canLogin())\r
)\r
{\r
- $r = sql_query('SELECT * FROM '.sql_table('member').' WHERE madmin=1 and mcanlogin=1');\r
- if ( sql_num_rows($r) < 2 )\r
+ $r = DB::getResult('SELECT * FROM '.sql_table('member').' WHERE madmin=1 and mcanlogin=1');\r
+ if ( $r->rowCount() < 2 )\r
{\r
self::error(_ERROR_ATLEASTONEADMIN);\r
}\r
// (check for at least two admins before deletion)\r
$query = "SELECT * FROM %s WHERE tblog=%d and tadmin=1;";\r
$query = sprintf($query, sql_table('team'), (integer) $blogid);\r
- $r = sql_query($query);\r
- if ( sql_num_rows($r) < 2 )\r
+ $r = DB::getResult($query);\r
+ if ( $r->rowCount() < 2 )\r
{\r
return _ERROR_ATLEASTONEBLOGADMIN;\r
}\r
\r
$query = "DELETE FROM %s WHERE tblog=%d AND tmember=%d;";\r
$query = sprintf($query, sql_table('team'), (integer) $blogid, (integer) $memberid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$data = array(\r
'member' => &$tmem,\r
{\r
$query = "SELECT * FROM %s WHERE tblog=%d AND tadmin=1;";\r
$query = sprintf($query, sql_table('team'), (integer) $blogid);\r
- $r = sql_query($query);\r
- if ( sql_num_rows($r) == 1 )\r
+ $r = DB::getResult($query);\r
+ if ( $r->rowCount() == 1 )\r
{\r
self::error(_ERROR_ATLEASTONEBLOGADMIN);\r
}\r
\r
$query = "UPDATE %s SET tadmin=%d WHERE tblog=%d and tmember=%d;";\r
$query = sprintf($query, (integer) $blogid, (integer) $newval, (integer) $blogid, (integer) $memberid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// only show manageteam if member did not change its own admin privileges\r
if ( $member->isBlogAdmin($blogid) )\r
self::error(_ERROR_BADCATEGORYNAME);\r
}\r
\r
- $query = "SELECT * FROM %s WHERE cname='%s' AND cblog=%d;";\r
- $query = sprintf($query, sql_table('category'), sql_real_escape_string($cname), (integer) $blogid);\r
- $res = sql_query($query);\r
- if ( sql_num_rows($res) > 0 )\r
+ $query = "SELECT * FROM %s WHERE cname=%s AND cblog=%d;";\r
+ $query = sprintf($query, sql_table('category'), DB::quoteValue($cname), (integer) $blogid);\r
+ $res = DB::getResult($query);\r
+ if ( $res->rowCount() > 0 )\r
{\r
self::error(_ERROR_DUPCATEGORYNAME);\r
}\r
self::error(_ERROR_BADCATEGORYNAME);\r
}\r
\r
- $query = "SELECT * FROM %s WHERE cname='%s' AND cblog=%d AND not(catid=%d);";\r
- $query = sprintf($query, sql_table('category'), sql_real_escape_string($cname), (integer) $blogid, (integer) $catid);\r
- $res = sql_query($query);\r
- if ( sql_num_rows($res) > 0 )\r
+ $query = "SELECT * FROM %s WHERE cname=%s AND cblog=%d AND not(catid=%d);";\r
+ $query = sprintf($query, sql_table('category'), DB::quoteValue($cname), (integer) $blogid, (integer) $catid);\r
+ $res = DB::getResult($query);\r
+ if ( $res->rowCount() > 0 )\r
{\r
self::error(_ERROR_DUPCATEGORYNAME);\r
}\r
\r
- $query = "UPDATE %s SET cname='%s', cdesc='%s' WHERE catid=%d;";\r
- $query = sprintf($query, sql_table('category'), sql_real_escape_string($cname), sql_real_escape_string($cdesc), (integer) $catid);\r
- sql_query($query);\r
+ $query = "UPDATE %s SET cname=%s, cdesc=%s WHERE catid=%d;";\r
+ $query = sprintf($query, sql_table('category'), DB::quoteValue($cname), DB::quoteValue($cdesc), (integer) $catid);\r
+ DB::execute($query);\r
\r
// store plugin options\r
$aOptions = requestArray('plugoption');\r
// check if catid is the only category left for blogid\r
$query = "SELECT catid FROM %s WHERE cblog=%d;";\r
$query = sprintf($query, sql_table('category'), $blogid);\r
- $res = sql_query($query);\r
- if ( sql_num_rows($res) == 1 )\r
+ $res = DB::getResult($query);\r
+ if ( $res->rowCount() == 1 )\r
{\r
self::error(_ERROR_DELETELASTCATEGORY);\r
}\r
$query = "SELECT catid FROM %s WHERE cblog=%d;";\r
$query = sprintf($query, sql_table('category'), (integer) $blogid);\r
\r
- $res = sql_query($query);\r
- if ( sql_num_rows($res) == 1 )\r
+ $res = DB::getResult($query);\r
+ if ( $res->rowCount() == 1 )\r
{\r
return _ERROR_DELETELASTCATEGORY;\r
}\r
// change category for all items to the default category\r
$query = "UPDATE %s SET icat=%d WHERE icat=%d;";\r
$query =sprintf($query, sql_table('item'), (integer) $destcatid, (integer) $catid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete all associated plugin options\r
NucleusPlugin::delete_option_values('category', (integer) $catid);\r
// delete category\r
$query = "DELETE FROM %s WHERE catid=%d;";\r
$query = sprintf($query, sql_table('category'), (integer) $catid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$data = array('catid' => $catid);\r
$manager->notify('PostDeleteCategory', $data);\r
\r
// delete all comments\r
$query = 'DELETE FROM ' . sql_table('comment') . ' WHERE cblog='.$blogid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete all items\r
$query = 'DELETE FROM ' . sql_table('item') . ' WHERE iblog=' . $blogid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete all team members\r
$query = 'DELETE FROM ' . sql_table('team') . ' WHERE tblog=' . $blogid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete all bans\r
$query = 'DELETE FROM ' . sql_table('ban') . ' WHERE blogid=' . $blogid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete all categories\r
$query = 'DELETE FROM ' . sql_table('category') . ' WHERE cblog=' . $blogid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete all associated plugin options\r
NucleusPlugin::delete_option_values('blog', $blogid);\r
\r
// delete the blog itself\r
$query = 'DELETE FROM ' . sql_table('blog') . ' WHERE bnumber=' . $blogid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$data = array('blogid' => $blogid);\r
$manager->notify('PostDeleteBlog', $data);\r
/* unlink comments from memberid */\r
if ( $memberid )\r
{\r
- $query = "UPDATE %s SET cmember=0, cuser='%s' WHERE cmember=%d;";\r
- $query = sprintf($query, sql_table('comment'), sql_real_escape_string($mem->getDisplayName()), $memberid);\r
- sql_query($query);\r
+ $query = "UPDATE %s SET cmember=0, cuser=%s WHERE cmember=%d;";\r
+ $query = sprintf($query, sql_table('comment'), DB::quoteValue($mem->getDisplayName()), $memberid);\r
+ DB::execute($query);\r
}\r
\r
$query = 'DELETE FROM ' . sql_table('member') . ' WHERE mnumber=' . $memberid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$query = 'DELETE FROM ' . sql_table('team') . ' WHERE tmember=' . $memberid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$query = 'DELETE FROM ' . sql_table('activation') . ' WHERE vmember=' . $memberid;\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete all associated plugin options\r
NucleusPlugin::delete_option_values('member', $memberid);\r
$manager->notify('PreAddBlog', $data);\r
\r
// add slashes for sql queries\r
- $bname = sql_real_escape_string($bname);\r
- $bshortname = sql_real_escape_string($bshortname);\r
- $btimeoffset = sql_real_escape_string($btimeoffset);\r
- $bdesc = sql_real_escape_string($bdesc);\r
- $bdefskin = sql_real_escape_string($bdefskin);\r
+ $bname = DB::quoteValue($bname);\r
+ $bshortname = DB::quoteValue($bshortname);\r
+ $btimeoffset = DB::quoteValue($btimeoffset);\r
+ $bdesc = DB::quoteValue($bdesc);\r
+ $bdefskin = DB::quoteValue($bdefskin);\r
\r
// create blog\r
- $query = "INSERT INTO %s (bname, bshortname, bdesc, btimeoffset, bdefskin) VALUES ('%s', '%s', '%s', '%s', '%s');";\r
+ $query = "INSERT INTO %s (bname, bshortname, bdesc, btimeoffset, bdefskin) VALUES (%s, %s, %s, %s, %s);";\r
$query = sprintf($query, sql_table('blog'), $bname, $bshortname, $bdesc, $btimeoffset, $bdefskin);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
- $blogid = sql_insert_id();\r
+ $blogid = DB::getInsertId();\r
$blog =& $manager->getBlog($blogid);\r
\r
// create new category\r
$catdefname = (!defined('_EBLOGDEFAULTCATEGORY_NAME') ? 'General' : _EBLOGDEFAULTCATEGORY_NAME);\r
$catdefdesc = (!defined('_EBLOGDEFAULTCATEGORY_DESC') ? 'Items that do not fit in other categories' : _EBLOGDEFAULTCATEGORY_DESC);\r
\r
- $query = 'INSERT INTO %s (cblog, cname, cdesc) VALUES (%d, "%s", "%s")';\r
- sql_query(sprintf($query, sql_table('category'), (integer) $blogid, $catdefname, $catdefdesc));\r
- $catid = sql_insert_id();\r
+ $query = 'INSERT INTO %s (cblog, cname, cdesc) VALUES (%d, %s, %s)';\r
+ DB::execute(sprintf($query, sql_table('category'), (integer) $blogid, DB::quoteValue($catdefname), DB::quoteValue($catdefdesc)));\r
+ $catid = DB::getInsertId();\r
\r
// set as default category\r
$blog->setDefaultCategory($catid);\r
// create team member\r
$query = "INSERT INTO %s (tmember, tblog, tadmin) VALUES (%d, %d, 1);";\r
$query = sprintf($query, sql_table('team'), (integer) $member->getID(), (integer) $blogid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$itemdeftitle = (defined('_EBLOG_FIRSTITEM_TITLE') ? _EBLOG_FIRSTITEM_TITLE : 'First Item');\r
$itemdefbody = (defined('_EBLOG_FIRSTITEM_BODY') ? _EBLOG_FIRSTITEM_BODY : 'This is the first item in your weblog. Feel free to delete it.');\r
$member->isAdmin() or self::disallow();\r
\r
$extrahead = "<script type=\"text/javascript\" src=\"javascript/templateEdit.js\"></script>\n";\r
- $extrahead .= '<script type=\"text/javascript">setTemplateEditText("' . sql_real_escape_string(_EDITTEMPLATE_EMPTY) . "\");</script>\n";\r
+ $extrahead .= '<script type=\"text/javascript">setTemplateEditText("' . Entity::hsc(_EDITTEMPLATE_EMPTY) . "\");</script>\n";\r
\r
self::pagehead($extrahead);\r
self::$skin->parse('templateedit');\r
self::error(_ERROR_DUPTEMPLATENAME);\r
}\r
\r
- $name = sql_real_escape_string($name);\r
- $desc = sql_real_escape_string($desc);\r
- \r
// 1. Remove all template parts\r
$query = "DELETE FROM %s WHERE tdesc=%d;";\r
$query = sprintf($query, sql_table('template'), (integer) $templateid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// 2. Update description\r
- $query = "UPDATE %s SET tdname='%s', tddesc='%s' WHERE tdnumber=%d;";\r
- $query = sprintf($query, sql_table('template_desc'), sql_real_escape_string($name), sql_real_escape_string($desc), (integer) $templateid);\r
- sql_query($query);\r
+ $query = "UPDATE %s SET tdname=%s, tddesc=%s WHERE tdnumber=%d;";\r
+ $query = sprintf($query, sql_table('template_desc'), DB::quoteValue($name), DB::quoteValue($desc), (integer) $templateid);\r
+ DB::execute($query);\r
\r
// 3. Add non-empty template parts\r
self::addToTemplate($templateid, 'ITEM_HEADER', postVar('ITEM_HEADER'));\r
return -1;\r
}\r
\r
- $partname = sql_real_escape_string($partname);\r
- $content = sql_real_escape_string($content);\r
- \r
- $query = "INSERT INTO %s (tdesc, tpartname, tcontent) VALUES (%d, '%s', '%s');";\r
- $query = sprintf($query, sql_table('template'), (integer) $id, $partname, $content);\r
- sql_query($query) or exit(_ADMIN_SQLDIE_QUERYERROR . sql_error());\r
- return sql_insert_id();\r
+ $query = "INSERT INTO %s (tdesc, tpartname, tcontent) VALUES (%d, %s, %s);";\r
+ $query = sprintf($query, sql_table('template'), (integer) $id, DB::quoteValue($partname), DB::quoteValue($content));\r
+ if ( DB::execute($query) === FALSE )\r
+ {\r
+ $err = DB::getError();\r
+ exit(_ADMIN_SQLDIE_QUERYERROR . $err[2]);\r
+ }\r
+ return DB::getInsertId();\r
}\r
\r
/**\r
$manager->notify('PreDeleteTemplate', $data);\r
\r
// 1. delete description\r
- sql_query('DELETE FROM ' . sql_table('template_desc') . ' WHERE tdnumber=' . $templateid);\r
+ DB::execute('DELETE FROM ' . sql_table('template_desc') . ' WHERE tdnumber=' . $templateid);\r
\r
// 2. delete parts\r
- sql_query('DELETE FROM ' . sql_table('template') . ' WHERE tdesc=' . $templateid);\r
+ DB::execute('DELETE FROM ' . sql_table('template') . ' WHERE tdesc=' . $templateid);\r
\r
\r
$data = array('templateid' => $templateid);\r
$query = "SELECT tpartname, tcontent FROM %s WHERE tdesc=%d;";\r
$query = sprintf($query, sql_table('template'), (integer) $templateid);\r
\r
- $res = sql_query($query);\r
- while ( $o = sql_fetch_object($res) )\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $row)\r
{\r
- self::addToTemplate($newid, $o->tpartname, $o->tcontent);\r
+ self::addToTemplate($newid, $row['tpartname'], $row['tcontent']);\r
}\r
\r
self::action_templateoverview();\r
}\r
$member->isAdmin() or self::disallow();\r
$extrahead = "<script type=\"text/javascript\" src=\"javascript/templateEdit.js\"></script>\n";\r
- $extrahead .= '<script type="text/javascript">setTemplateEditText("' . sql_real_escape_string(_EDITTEMPLATE_EMPTY) . '");</script>' . "\n";\r
+ $extrahead .= '<script type="text/javascript">setTemplateEditText("' . Entity::hsc(_EDITTEMPLATE_EMPTY) . '");</script>' . "\n";\r
self::pagehead($extrahead);\r
self::$skin->parse('admintemplateedit');\r
self::pagefoot();\r
{\r
self::error(_ERROR_DUPTEMPLATENAME);\r
}\r
- $name = sql_real_escape_string($name);\r
- $desc = sql_real_escape_string($desc);\r
\r
// 1. Remove all template parts\r
$query = "DELETE FROM %s WHERE tdesc=%d;";\r
$query = sprintf($query, sql_table('template'), (integer) $templateid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// 2. Update description\r
- $query = "UPDATE %s SET tdname='%s', tddesc='%s' WHERE tdnumber=%d;";\r
- $query = sprintf($query, sql_table('template_desc'), sql_real_escape_string($name), sql_real_escape_string($desc), (integer) $templateid);\r
- sql_query($query);\r
+ $query = "UPDATE %s SET tdname=%s, tddesc=%s WHERE tdnumber=%d;";\r
+ $query = sprintf($query, sql_table('template_desc'), DB::quoteValue($name), DB::quoteValue($desc), (integer) $templateid);\r
+ DB::execute($query);\r
\r
// 3. Add non-empty template parts\r
self::addToAdminTemplate($templateid, 'ADMINSKINTYPELIST_HEAD', postVar('ADMINSKINTYPELIST_HEAD'));\r
return -1;\r
}\r
\r
- $query = "INSERT INTO %s (tdesc, tpartname, tcontent ) VALUES (%d, '%s', '%s');";\r
- $query = sprintf($query, sql_table('template'), (integer) $id, sql_real_escape_string($partname), sql_real_escape_string($content));\r
- sql_query($query) or exit(_ADMIN_SQLDIE_QUERYERROR . sql_error());\r
- return sql_insert_id();\r
+ $query = "INSERT INTO %s (tdesc, tpartname, tcontent ) VALUES (%d, %s, %s);";\r
+ $query = sprintf($query, sql_table('template'), (integer) $id, DB::quoteValue($partname), DB::quoteValue($content));\r
+ if ( DB::execute($query) === FALSE )\r
+ {\r
+ $err = DB::getError();\r
+ exit(_ADMIN_SQLDIE_QUERYERROR . $err[2]);\r
+ }\r
+ return DB::getInsertId();\r
}\r
\r
/**\r
// 1. delete description\r
$query = "DELETE FROM %s WHERE tdnumber=%s;";\r
$query = sprintf($query, sql_table('template_desc'), (integer) $templateid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// 2. delete parts\r
$query = "DELETE FROM %s WHERE tdesc=%d;";\r
$query = sprintf($query, sql_table('template'), (integer) $templateid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$data = array('templateid' => $templateid);\r
$manager->notify('PostDeleteAdminTemplate', $data);\r
$query = "SELECT tpartname, tcontent FROM %s WHERE tdesc=%d;";\r
$query = sprintf($query, sql_table('template'), (integer) $templateid);\r
\r
- $res = sql_query($query);\r
- while ( $o = sql_fetch_object($res) )\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $row )\r
{\r
- self::addToAdminTemplate($newid, $o->tpartname, $o->tcontent);\r
+ self::addToAdminTemplate($newid, $row['tpartname'], $row['tcontent']);\r
}\r
\r
self::action_admintemplateoverview();\r
$query = "SELECT bname FROM %s WHERE bdefskin=%d";\r
$query = sprintf($query, sql_table('blog'), (integer) $skinid);\r
\r
- $r = sql_query($query);\r
- if ( $o = sql_fetch_object($r) )\r
+ $name = DB::getValue($query);\r
+ if ( $name )\r
{\r
- self::error(_ERROR_SKINDEFDELETE . Entity::hsc($o->bname));\r
+ self::error(_ERROR_SKINDEFDELETE . Entity::hsc($name));\r
}\r
\r
self::pagehead();\r
$query = "SELECT bname FROM %s WHERE bdefskin=%d;";\r
$query = sprintf($query, sql_table('blog'), (integer) $skinid);\r
\r
- $r = sql_query($query);\r
- if ( $o = sql_fetch_object($r) )\r
- {\r
- self::error(_ERROR_SKINDEFDELETE .$o->bname);\r
+ $name = DB::getValue($query);\r
+ if ( $name )\r
+ {\r
+ self::error(_ERROR_SKINDEFDELETE . Entity::hsc($name));\r
}\r
\r
$data = array('skinid' => $skinid);\r
// 1. delete description\r
$query = "DELETE FROM %s WHERE sdnumber=%d;";\r
$query = sprintf($query, sql_table('skin_desc'), (integer) $skinid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// 2. delete parts\r
$query = "DELETE FROM %s WHERE sdesc=%d;";\r
$query = sprintf($query, sql_table('skin'), (integer) $skinid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$data = array('skinid' => $skinid);\r
$manager->notify('PostDeleteSkin', $data);\r
// delete part\r
$query = "DELETE FROM %s WHERE sdesc=%d AND stype='%s';";\r
$query = sprintf($query, sql_table('skin'), (integer) $skinid, (integer) $skintype);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$data = array(\r
'skinid' => $skinid,\r
$query = "SELECT stype FROM %s WHERE sdesc=%d;";\r
$query = sprintf($query, sql_table('skin'), (integer) $skinid);\r
\r
- $res = sql_query($query);\r
- while ( $row = sql_fetch_assoc($res) )\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $row )\r
{\r
self::skinclonetype($skin, $newid, $row['stype']);\r
}\r
\r
if ( $content )\r
{\r
- $content = sql_real_escape_string($content);\r
- $type = sql_real_escape_string($type);\r
- \r
- $query = "INSERT INTO %s (sdesc, scontent, stype) VALUES (%d, '%s', '%s')";\r
- $query = sprintf($query, sql_table('skin'), (integer) $newid, $content, $type);\r
- sql_query($query);\r
+ $query = "INSERT INTO %s (sdesc, scontent, stype) VALUES (%d, %s, %s)";\r
+ $query = sprintf($query, sql_table('skin'), (integer) $newid, DB::quoteValue($content), DB::quoteValue($type));\r
+ DB::execute($query);\r
}\r
return;\r
}\r
$skinid = intRequestVar('skinid');\r
\r
// don't allow default skin to be deleted\r
- if ( $skinid == $CONF['DefaultAdminSkin'] )\r
+ if ( $skinid == $CONF['AdminSkin'] )\r
{\r
self::error(_ERROR_DEFAULTSKIN);\r
}\r
// 1. delete description\r
$query = "DELETE FROM %s WHERE sdnumber=%d;";\r
$query = sprintf($query, sql_table('skin_desc'), (integer) $skinid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// 2. delete parts\r
$query = "DELETE FROM %s WHERE sdesc=%d;";\r
$query = sprintf($query, sql_table('skin'), (integer) $skinid);\r
\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$manager->notify('PostDeleteAdminSkin', array('skinid' => (integer) $skinid));\r
self::action_adminskinoverview();\r
// delete part\r
$query = 'DELETE FROM %s WHERE sdesc = %d AND stype ="%s"';\r
$query = sprintf($query, sql_table('skin'), (integer) $skinid, $skintype);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$data = array(\r
'skinid' => $skinid,\r
$query = "SELECT stype FROM %s WHERE sdesc=%d;";\r
$query = sprintf($query, sql_table('skin'), (integer) $skinid);\r
\r
- $res = sql_query($query);\r
- while ( $row = sql_fetch_assoc($res) )\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $row )\r
{\r
self::skinclonetype($skin, $newid, $row['stype']);\r
}\r
\r
if ( $content )\r
{\r
- $content = sql_real_escape_string($content);\r
- $type = sql_real_escape_string($type);\r
- \r
- $query = "INSERT INTO %s (sdesc, scontent, stype) VALUES (%d, '%s', '%s')";\r
- $query = sprintf($query, sql_table('skin'), (integer) $newid, $content, $type);\r
- sql_query($query);\r
+ $query = "INSERT INTO %s (sdesc, scontent, stype) VALUES (%d, %s, %s)";\r
+ $query = sprintf($query, sql_table('skin'), (integer) $newid, DB::quoteValue($content), DB::quoteValue($type));\r
+ DB::execute($query);\r
}\r
return;\r
}\r
*/\r
static private function updateConfig($name, $val)\r
{\r
- $name = sql_real_escape_string($name);\r
- $val = trim(sql_real_escape_string($val));\r
- \r
- $query = "UPDATE %s SET value='%s' WHERE name='%s'";\r
- $query = sprintf($query, sql_table('config'), $val, $name);\r
- sql_query($query) or die(_ADMIN_SQLDIE_QUERYERROR . sql_error());\r
- return sql_insert_id();\r
+ $query = "UPDATE %s SET value=%s WHERE name=%s";\r
+ $query = sprintf($query, sql_table('config'), DB::quoteValue($val), DB::quoteValue($name));\r
+ if ( DB::execute($query) === FALSE )\r
+ {\r
+ $err = DB::getError();\r
+ die(_ADMIN_SQLDIE_QUERYERROR . $err[2]);\r
+ }\r
+ return DB::getInsertId();\r
}\r
\r
/**\r
{\r
if ( isset($extrahead) && !empty($extrahead) )\r
{\r
- self::$extrahead = $extrahead;\r
+ self::$extrahead = $extrahead;\r
}\r
self::$skin->parse('pagehead');\r
}\r
* TODO: obsoleted\r
if ( !array_key_exists('AdminCSS', $CONF) )\r
{\r
- sql_query("INSERT INTO " . sql_table('config') . " VALUES ('AdminCSS', 'original')");\r
+ DB::execute("INSERT INTO " . sql_table('config') . " VALUES ('AdminCSS', 'original')");\r
$CONF['AdminCSS'] = 'original';\r
}\r
*/\r
echo "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"{$baseUrl}admin/defaultadmin/styles/admin_{$CONF["AdminCSS"]}.css\" />\n";\r
*/\r
echo "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"{$baseUrl}admin/defaultadmin/styles/addedit.css\" />\n";\r
- echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascript/edit.js\"></script>\n";\r
- echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascript/admin.js\"></script>\n";\r
- echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascript/compatibility.js\"></script>\n";\r
+ echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/edit.js\"></script>\n";\r
+ echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/admin.js\"></script>\n";\r
+ echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/compatibility.js\"></script>\n";\r
echo "{$extrahead}\n";\r
echo "</head>\n\n";\r
echo "<body>\n";\r
}\r
\r
// get number of currently installed plugins\r
- $res = sql_query('SELECT * FROM ' . sql_table('plugin'));\r
- $numCurrent = sql_num_rows($res);\r
+ $res = DB::getResult('SELECT * FROM ' . sql_table('plugin'));\r
+ $numCurrent = $res->rowCount();\r
\r
// plugin will be added as last one in the list\r
$newOrder = $numCurrent + 1;\r
$manager->notify('PreAddPlugin', $data);\r
\r
// do this before calling getPlugin (in case the plugin id is used there)\r
- $query = "INSERT INTO %s (porder, pfile) VALUES (%d, '%s');";\r
- $query = sprintf($query, sql_table('plugin'), (integer) $newOrder, sql_real_escape_string($name));\r
- sql_query($query);\r
- $iPid = sql_insert_id();\r
+ $query = "INSERT INTO %s (porder, pfile) VALUES (%d, %s);";\r
+ $query = sprintf($query, sql_table('plugin'), (integer) $newOrder, DB::quoteValue($name));\r
+ DB::execute($query);\r
+ $iPid = DB::getInsertId();\r
\r
$manager->clearCachedInfo('installedPlugins');\r
\r
$query = "DELETE FROM %s WHERE pid=%d;";\r
$query = sprintf($query, sql_table('plugin'), (integer) $iPid);\r
\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$manager->clearCachedInfo('installedPlugins');\r
self::error(_ERROR_PLUGIN_LOAD);\r
$pluginList = $plugin->getPluginDep();\r
foreach ( $pluginList as $pluginName )\r
{\r
- $res = sql_query('SELECT * FROM '.sql_table('plugin') . ' WHERE pfile="' . $pluginName . '"');\r
- if (sql_num_rows($res) == 0)\r
+ $res = DB::getResult('SELECT * FROM '.sql_table('plugin') . ' WHERE pfile=' . DB::quoteValue($pluginName));\r
+ if ($res->rowCount() == 0)\r
{\r
// uninstall plugin again...\r
self::deleteOnePlugin($plugin->getID());\r
$member->isAdmin() or self::disallow();\r
\r
// delete everything from plugin_events\r
- sql_query('DELETE FROM '.sql_table('plugin_event'));\r
+ DB::execute('DELETE FROM '.sql_table('plugin_event'));\r
\r
// loop over all installed plugins\r
- $res = sql_query('SELECT pid, pfile FROM '.sql_table('plugin'));\r
- while ( $o = sql_fetch_object($res) )\r
+ $res = DB::getResult('SELECT pid, pfile FROM '.sql_table('plugin'));\r
+ foreach ( $res as $row )\r
{\r
- $pid = $o->pid;\r
- $plug =& $manager->getPlugin($o->pfile);\r
+ $pid = $row['pid'];\r
+ $plug =& $manager->getPlugin($row['pfile']);\r
if ( $plug )\r
{\r
$eventList = $plug->getEventList();\r
foreach ( $eventList as $eventName )\r
{\r
- $query = "INSERT INTO %s (pid, event) VALUES (%d, '%s')";\r
- $query = sprintf($query, sql_table('plugin_event'), (integer) $pid, sql_real_escape_string($eventName));\r
- sql_query($query);\r
+ $query = "INSERT INTO %s (pid, event) VALUES (%d, %s)";\r
+ $query = sprintf($query, sql_table('plugin_event'), (integer) $pid, DB::quoteValue($eventName));\r
+ DB::execute($query);\r
}\r
}\r
}\r
\r
$query = "SELECT pfile as result FROM %s WHERE pid=%d;";\r
$query = sprintf($query, sql_table('plugin'), (integer) $pid);\r
- $name = quickQuery($query);\r
+ $name = DB::getValue($query);\r
\r
// check dependency before delete\r
- $res = sql_query('SELECT pfile FROM ' . sql_table('plugin'));\r
- while ($o = sql_fetch_object($res))\r
+ $res = DB::getResult('SELECT pfile FROM ' . sql_table('plugin'));\r
+ foreach ( $res as $row )\r
{\r
- $plug =& $manager->getPlugin($o->pfile);\r
+ $plug =& $manager->getPlugin($row['pfile']);\r
if ( $plug )\r
{\r
$depList = $plug->getPluginDep();\r
{\r
if ( $name == $depName )\r
{\r
- return sprintf(_ERROR_DELREQPLUGIN, $o->pfile);\r
+ return sprintf(_ERROR_DELREQPLUGIN, $row['pfile']);\r
}\r
}\r
}\r
}\r
\r
// delete all subscriptions\r
- sql_query('DELETE FROM ' . sql_table('plugin_event') . ' WHERE pid=' . $pid);\r
+ DB::execute('DELETE FROM ' . sql_table('plugin_event') . ' WHERE pid=' . $pid);\r
\r
// delete all options\r
// get OIDs from plugin_option_desc\r
- $res = sql_query('SELECT oid FROM ' . sql_table('plugin_option_desc') . ' WHERE opid=' . $pid);\r
+ $res = DB::getResult('SELECT oid FROM ' . sql_table('plugin_option_desc') . ' WHERE opid=' . $pid);\r
$aOIDs = array();\r
- while ($o = sql_fetch_object($res))\r
+ foreach ( $res as $row )\r
{\r
- array_push($aOIDs, $o->oid);\r
+ array_push($aOIDs, $row['oid']);\r
}\r
\r
// delete from plugin_option and plugin_option_desc\r
- sql_query('DELETE FROM ' . sql_table('plugin_option_desc') . ' WHERE opid=' . $pid);\r
+ DB::execute('DELETE FROM ' . sql_table('plugin_option_desc') . ' WHERE opid=' . $pid);\r
if (count($aOIDs) > 0)\r
{\r
- sql_query('DELETE FROM ' . sql_table('plugin_option') . ' WHERE oid in (' . implode(',', $aOIDs) . ')');\r
+ DB::execute('DELETE FROM ' . sql_table('plugin_option') . ' WHERE oid in (' . implode(',', $aOIDs) . ')');\r
}\r
\r
// update order numbers\r
- $res = sql_query('SELECT porder FROM ' . sql_table('plugin') . ' WHERE pid=' . $pid);\r
- $o = sql_fetch_object($res);\r
- sql_query('UPDATE ' . sql_table('plugin') . ' SET porder=(porder - 1) WHERE porder>' . $o->porder);\r
+ $res = DB::getValue('SELECT porder FROM ' . sql_table('plugin') . ' WHERE pid=' . $pid);\r
+ DB::execute('UPDATE ' . sql_table('plugin') . ' SET porder=(porder - 1) WHERE porder>' . $res);\r
\r
// delete row\r
- sql_query('DELETE FROM ' . sql_table('plugin') . ' WHERE pid=' . $pid);\r
+ DB::execute('DELETE FROM ' . sql_table('plugin') . ' WHERE pid=' . $pid);\r
\r
$manager->clearCachedInfo('installedPlugins');\r
$data = array('plugid' => $pid);\r
}\r
\r
// 1. get old order number\r
- $res = sql_query('SELECT porder FROM ' . sql_table('plugin') . ' WHERE pid=' . $plugid);\r
- $o = sql_fetch_object($res);\r
- $oldOrder = $o->porder;\r
+ $oldOrder = DB::getValue('SELECT porder FROM ' . sql_table('plugin') . ' WHERE pid=' . $plugid);\r
\r
// 2. calculate new order number\r
$newOrder = ($oldOrder > 1) ? ($oldOrder - 1) : 1;\r
\r
// 3. update plug numbers\r
- sql_query('UPDATE ' . sql_table('plugin') . ' SET porder=' . $oldOrder . ' WHERE porder=' . $newOrder);\r
- sql_query('UPDATE ' . sql_table('plugin') . ' SET porder=' . $newOrder . ' WHERE pid=' . $plugid);\r
+ DB::execute('UPDATE ' . sql_table('plugin') . ' SET porder=' . $oldOrder . ' WHERE porder=' . $newOrder);\r
+ DB::execute('UPDATE ' . sql_table('plugin') . ' SET porder=' . $newOrder . ' WHERE pid=' . $plugid);\r
\r
//self::action_pluginlist();\r
// To avoid showing ticket in the URL, redirect to pluginlist, instead.\r
}\r
\r
// 1. get old order number\r
- $res = sql_query('SELECT porder FROM ' . sql_table('plugin') . ' WHERE pid=' . $plugid);\r
- $o = sql_fetch_object($res);\r
- $oldOrder = $o->porder;\r
+ $oldOrder = DB::getValue('SELECT porder FROM ' . sql_table('plugin') . ' WHERE pid=' . $plugid);\r
\r
- $res = sql_query('SELECT * FROM ' . sql_table('plugin'));\r
- $maxOrder = sql_num_rows($res);\r
+ $res = DB::getResult('SELECT * FROM ' . sql_table('plugin'));\r
+ $maxOrder = $res->rowCount();\r
\r
// 2. calculate new order number\r
$newOrder = ($oldOrder < $maxOrder) ? ($oldOrder + 1) : $maxOrder;\r
\r
// 3. update plug numbers\r
- sql_query('UPDATE ' . sql_table('plugin') . ' SET porder=' . $oldOrder . ' WHERE porder=' . $newOrder);\r
- sql_query('UPDATE ' . sql_table('plugin') . ' SET porder=' . $newOrder . ' WHERE pid=' . $plugid);\r
+ DB::execute('UPDATE ' . sql_table('plugin') . ' SET porder=' . $oldOrder . ' WHERE porder=' . $newOrder);\r
+ DB::execute('UPDATE ' . sql_table('plugin') . ' SET porder=' . $newOrder . ' WHERE pid=' . $plugid);\r
\r
//self::action_pluginlist();\r
// To avoid showing ticket in the URL, redirect to pluginlist, instead.\r
$query = "SELECT oid, ovalue FROM %s WHERE ocontextid=%d;";\r
$query = sprintf($query, sql_table('plugin_option'), (integer) $contextid);\r
\r
- $res = sql_query($query);\r
- while ( $object = sql_fetch_object($res) )\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $row )\r
{\r
- $aIdToValue[$object->oid] = $object->ovalue;\r
+ $aIdToValue[$row['oid']] = $row['ovalue'];\r
}\r
\r
// get list of oids per pid\r
- $query = "SELECT * FROM %s, %s WHERE opid=pid and ocontext= '%s' ORDER BY porder, oid ASC;";\r
- $query = sprintf($query, sql_table('plugin_option_desc'), sql_table('plugin'), sql_real_escape_string($context));\r
- $res = sql_query($query);\r
+ $query = "SELECT * FROM %s, %s WHERE opid=pid and ocontext= %s ORDER BY porder, oid ASC;";\r
+ $query = sprintf($query, sql_table('plugin_option_desc'), sql_table('plugin'), DB::quoteValue($context));\r
+ $res = DB::getResult($query);\r
\r
$aOptions = array();\r
- while ( $object = sql_fetch_object($res) )\r
+ foreach ($res as $row )\r
{\r
- if ( !in_array($object->oid, array_keys($aIdToValue)) )\r
+ if ( !in_array($row['oid'], array_keys($aIdToValue)) )\r
{\r
- $value = $object->odef;\r
+ $value = $row['odef'];\r
}\r
else\r
{\r
- $value = $aIdToValue[$object->oid];\r
+ $value = $aIdToValue[$row['oid']];\r
}\r
\r
array_push(\r
$aOptions,\r
array(\r
- 'pid' => $object->pid,\r
- 'pfile' => $object->pfile,\r
- 'oid' => $object->oid,\r
+ 'pid' => $row['pid'],\r
+ 'pfile' => $row['pfile'],\r
+ 'oid' => $row['oid'],\r
'value' => $value,\r
- 'name' => $object->oname,\r
- 'description' => $object->odesc,\r
- 'type' => $object->otype,\r
- 'typeinfo' => $object->oextra,\r
+ 'name' => $row['oname'],\r
+ 'description' => $row['odesc'],\r
+ 'type' => $row['otype'],\r
+ 'typeinfo' => $row['oextra'],\r
'contextid' => $contextid,\r
'extra' => ''\r
)\r
*/\r
static private function getAdminskinIDFromName($skinname)\r
{\r
- $query = "SELECT 'sdnumber' as result FROM %s WHERE sdname = '%s';";\r
- $query = sprintf($query, sql_table('skin_desc'), mysql_real_escape_string($skinname));\r
- $admnSknID = quickQuery($query);\r
+ $query = "SELECT 'sdnumber' as result FROM %s WHERE sdname = %s;";\r
+ $query = sprintf($query, sql_table('skin_desc'), DB::quoteValue($skinname));\r
+ $admnSknID = DB::getValue($query);\r
return (integer) $adminSkinID;\r
}\r
\r
*/\r
static private function getAdminskinNameFromID($skinid)\r
{\r
- $query = "SELECT sdname as result FROM %s WHERE sdnumber = '%d';";\r
+ $query = "SELECT sdname as result FROM %s WHERE sdnumber = %d;";\r
$query = sprintf($query, sql_table('skin_desc'), (integer) $skinid);\r
- $admnSknID = quickQuery($query);\r
+ $admnSknID = DB::getValue($query);\r
return (integer) $adminSkinID;\r
}\r
\r
break;
case 'setadmin':
// always succeeds
- sql_query("UPDATE {$setadminsql} {$selectedid};");
+ DB::execute("UPDATE {$setadminsql} {$selectedid};");
$error = '';
break;
case 'unsetadmin':
// there should always remain at least one super-admin
- $r = sql_query($unsetchksql);
- if ( sql_num_rows($r) < 2 )
+ $r = DB::getResult($unsetchksql);
+ if ( $r->rowCount() < 2 )
{
$error = $unseterrmsg;
}
else
{
- sql_query("UPDATE {$setadminsql} {$selectedid};");
+ DB::execute("UPDATE {$setadminsql} {$selectedid};");
}
break;
default:
case 'skin':
$query = "SELECT * FROM %s WHERE sdname LIKE 'admin/%%';";
$query = sprintf($query, sql_table('skin_desc'));
- $res = sql_query($query);
+ $res = DB::getResult($query);
- while ( $skinObj = sql_fetch_object($res) )
+ foreach ( $res as $row )
{
$data = array(
- 'typeid' => 'skin[' . $skinObj->sdnumber . ']',
- 'expid' => 'skinexp' . $skinObj->sdnumber,
- 'expname' => Entity::hsc($skinObj->sdname),
- 'expdesc' => Entity::hsc($skinObj->sddesc),
+ 'typeid' => 'skin[' . $row['sdnumber'] . ']',
+ 'expid' => 'skinexp' . $row['sdnumber'],
+ 'expname' => Entity::hsc($row['sdname']),
+ 'expdesc' => Entity::hsc($row['sddesc']),
);
echo Template::fill($template, $data);
}
case 'template':
$query = "SELECT * FROM %s WHERE tdname LIKE 'admin/%%';";
$query = sprintf($query, sql_table('template_desc'));
- $res = sql_query($query);
- while ( $templateObj = sql_fetch_object($res) )
+ $res = DB::getResult($query);
+ foreach ( $res as $row )
{
$data = array(
- 'typeid' => 'template[' . $templateObj->tdnumber . ']',
- 'expid' => 'templateexp' . $templateObj->tdnumber,
- 'expname' => Entity::hsc($templateObj->tdname),
- 'expdesc' => Entity::hsc($templateObj->tddesc),
+ 'typeid' => 'template[' . $row['tdnumber'] . ']',
+ 'expid' => 'templateexp' . $row['tdnumber'],
+ 'expname' => Entity::hsc($row['tdname']),
+ 'expdesc' => Entity::hsc($row['tddesc']),
);
echo Template::fill($template, $data);
}
$query = sprintf($query, sql_table('skin_desc'));
$template['name'] = 'adminskin';
- $template['selected'] = $CONF['DefaultAdminSkin'];
+ $template['selected'] = $CONF['AdminSkin'];
$template['tabindex'] = 110;
Showlist($query, 'select', $template, '');
return;
$query = "SELECT stype FROM %s WHERE stype NOT IN (%s) AND sdesc=%d;";
$query = sprintf($query, sql_table('skin'), "'" . implode("', '", $nType) . "'", (integer) $skinid);
- $res = sql_query($query);
- if ( $res && sql_num_rows($res) > 0 )
+ $res = DB::getResult($query);
+ if ( $res && $res->rowCount() > 0 )
{
/* NOTE: set templates for HEAD/BODY/FOOT */
if ( !array_key_exists('ADMIN_SPECIALSKINLIST_HEAD', $templates) || empty($templates['ADMIN_SPECIALSKINLIST_HEAD']) )
/* NOTE: do echo */
$data = array();
echo $template['head'];
- while ( $row = sql_fetch_assoc($res) )
+ foreach ( $res as $row )
{
$data = array(
'tabindex' => $tabstart++,
// (only select those blogs that have the user on the team)
$queryBlogs = "SELECT bnumber, bname FROM %s WHERE bnumber in (%s) ORDER BY bname;";
$queryBlogs = sprintf($queryBlogs, sql_table('blog'), implode(',', $aBlogIds));
- $blogs = sql_query($queryBlogs);
+ $blogs = DB::getResult($queryBlogs);
if ( $mode == 'category' )
{
- if ( sql_num_rows($blogs) > 1 )
+ if ( $blogs->rowCount() > 1 )
{
$multipleBlogs = 1;
}
- while ( $oBlog = sql_fetch_object($blogs) )
+ foreach ( $blogs as $rBlog )
{
if ( isset($multipleBlogs) && !empty($multipleBlogs) )
{
- echo '<optgroup label="' . Entity::hsc($oBlog->bname) . "\">\n";
+ echo '<optgroup label="' . Entity::hsc($rBlog['bname']) . "\">\n";
}
// show selection to create new category when allowed/wanted
if ( $showNewCat )
{
// check if allowed to do so
- if ( $member->blogAdminRights($oBlog->bnumber) )
+ if ( $member->blogAdminRights($rBlog['bnumber']) )
{
- echo '<option value="newcat-' . $oBlog->bnumber . '">' . _ADD_NEWCAT . "</option>\n";
+ echo '<option value="newcat-' . $rBlog['bnumber'] . '">' . _ADD_NEWCAT . "</option>\n";
}
}
// 2. for each category in that blog
$catQuery = "SELECT cname, catid FROM %s WHERE cblog=%d ORDER BY cname ASC;";
- $catQuery = sprintf($catQuery, sql_table('category'), (integer) $oBlog->bnumber);
- $categories = sql_query($catQuery);
- while ( $oCat = sql_fetch_object($categories) )
+ $catQuery = sprintf($catQuery, sql_table('category'), (integer) $rBlog['bnumber']);
+ $categories = DB::getResult($catQuery);
+ foreach ( $categories as $rCat )
{
- if ( $oCat->catid == $selected )
+ if ( $rCat['catid'] == $selected )
{
$selectText = ' selected="selected" ';
}
{
$selectText = '';
}
- echo '<option value="' . $oCat->catid . '" ' . $selectText . '>' . Entity::hsc($oCat->cname) . "</option>\n";
+ echo '<option value="' . $rCat['catid'] . '" ' . $selectText . '>' . Entity::hsc($rCat['cname']) . "</option>\n";
}
if ( isset($multipleBlogs) && !empty($multipleBlogs) )
else
{
// blog mode
- while ( $oBlog = sql_fetch_object($blogs) )
+ foreach ( $blogs as $rBlog )
{
- echo '<option value="' . $oBlog->bnumber . '"';
- if ( $oBlog->bnumber == $selected )
+ echo '<option value="' . $rBlog['bnumber'] . '"';
+ if ( $rBlog['bnumber'] == $selected )
{
- echo '<option value="' . $oBlog->bnumber . '" selected="selected">' . Entity::hsc($oBlog->bname) . "</option>\n";
+ echo '<option value="' . $rBlog['bnumber'] . '" selected="selected">' . Entity::hsc($rBlog['bname']) . "</option>\n";
}
else
{
- echo '<option value="' . $oBlog->bnumber . '">' . Entity::hsc($oBlog->bname) . "</option>\n";
+ echo '<option value="' . $rBlog['bnumber'] . '">' . Entity::hsc($rBlog['bname']) . "</option>\n";
}
}
}
. "FROM %s, %s "
. "WHERE mnumber=tmember AND tblog=%d;";
$query = sprintf($query, sql_table('member'), sql_table('team'), (integer) $blogid);
- $res = sql_query($query);
+ $res = DB::getResult($query);
$memberNames = array();
- while ( $o = sql_fetch_object($res) )
+ foreach ( $res as $row )
{
- $memberNames[] = Entity::hsc($o->mname) . ' (' . Entity::hsc($o->mrealname). ')';
+ $memberNames[] = Entity::hsc($row['mname']) . ' (' . Entity::hsc($row['mrealname']). ')';
}
echo implode(',', $memberNames);
}
$blogid = intRequestVar('blogid');
$query = "SELECT * FROM %s WHERE cblog = %d AND catid = %d;";
$query = sprintf($query, sql_table('category'), (integer) $blogid, (integer) $catid);
- $res = sql_query($query);
- $obj = sql_fetch_object($res);
+ $row = DB::getRow($query);
if ( $type != 'name' )
{
- echo Entity::hsc($obj->cdesc);
+ echo Entity::hsc($row['cdesc']);
}
else
{
- echo Entity::hsc($obj->cname);
+ echo Entity::hsc($row['cname']);
}
return;
$search = postVar('search');
if ( !empty($search) )
{
- $query .= ' and cbody LIKE "%' . sql_real_escape_string($search) . '%"';
+ $query .= ' and cbody LIKE ' . DB::quoteValue('%'.$search.'%');
}
$query .= " ORDER BY ctime ASC LIMIT {$start},{$amount}";
{
$query = "INSERT INTO %s VALUES (DefaultListSize, 10);";
$query = sprintf($query, sql_table('config'));
- sql_query($query);
+ DB::execute($query);
$CONF['DefaultListSize'] = 10;
}
elseif ( intval($CONF['DefaultListSize']) < 1 )
$query = "SELECT * FROM %s WHERE ocontext='global' AND opid=%d ORDER BY oid ASC;";
$query = sprintf($query, sql_table('plugin_option_desc'), (integer) $pid);
- $resource = sql_query($query);
-
- while ( $o = sql_fetch_object($resource) )
- {
- array_push($aOIDs, $o->oid);
- $aOptions[$o->oid] = array(
- 'oid' => $o->oid,
- 'value' => $o->odef,
- 'name' => $o->oname,
- 'description' => $o->odesc,
- 'type' => $o->otype,
- 'typeinfo' => $o->oextra,
+ $resource = DB::getResult($query);
+
+ foreach ( $resource as $row )
+ {
+ array_push($aOIDs, $row['oid']);
+ $aOptions[$row['oid']] = array(
+ 'oid' => $row['oid'],
+ 'value' => $row['odef'],
+ 'name' => $row['oname'],
+ 'description' => $row['odesc'],
+ 'type' => $row['otype'],
+ 'typeinfo' => $row['oextra'],
'contextid' => 0
);
}
$query = 'SELECT oid, ovalue FROM %s WHERE oid in (%s)';
$query = sprintf($query, sql_table('plugin_option'), implode(',', $aOIDs));
- $result = sql_query($query);
+ $result = DB::getResult($query);
- while ( $o = sql_fetch_object($result) )
+ foreach ( $result as $row )
{
- $aOptions[$o->oid]['value'] = $o->ovalue;
+ $aOptions[$row['oid']]['value'] = $row['ovalue'];
}
}
if ( !empty($search) )
{
- $query .= ' AND ((ititle LIKE "%' . sql_real_escape_string($search) . '%") '
- . ' OR (ibody LIKE "%' . sql_real_escape_string($search) . '%") '
- . ' OR (imore LIKE "%' . sql_real_escape_string($search) . '%"))';
+ $query .= ' AND ((ititle LIKE ' . DB::quoteValue('%'.$search.'%') . ') '
+ . ' OR (ibody LIKE ' . DB::quoteValue('%'.$search.'%') . ') '
+ . ' OR (imore LIKE ' . DB::quoteValue('%'.$search.'%') . '))';
}
if ( postVar('start') )
{
$query = "SELECT icat as result FROM %s WHERE inumber=%d;";
$query = sprintf($query, sql_table('item'), intRequestVar('itemid'));
- $catid = quickQuery(sprintf($query, intRequestVar('itemid')));
+ $catid = DB::getValue(sprintf($query, intRequestVar('itemid')));
Admin::selectBlogCategory('catid', $catid, 10, 1);
}
break;
$query = "SELECT tmember FROM %s WHERE tblog=%d;";
$query = sprintf($query, sql_table('team'), (integer) $blogid);
- $res = sql_query($query);
+ $res = DB::getResult($query);
$tmem = array();
- while ( $tmember = sql_fetch_object($res) )
+ foreach ( $res as $row )
{
- $tmem[] = intval($tmember->tmember);
+ $tmem[] = intval($row['tmember']);
}
$query = "SELECT mname as text, mnumber as value FROM %s WHERE mnumber NOT IN (%s);";
switch ( $type )
{
case 'skin':
- $res = sql_query('SELECT * FROM ' . sql_table('skin_desc'));
- while ( $skinObj = sql_fetch_object($res) )
+ $res = DB::getResult('SELECT * FROM ' . sql_table('skin_desc'));
+ foreach ( $res as $row )
{
$data = array(
- 'typeid' => 'skin[' . $skinObj->sdnumber . ']',
- 'expid' => 'skinexp' . $skinObj->sdnumber,
- 'expname' => Entity::hsc($skinObj->sdname),
- 'expdesc' => Entity::hsc($skinObj->sddesc),
+ 'typeid' => 'skin[' . $row['sdnumber'] . ']',
+ 'expid' => 'skinexp' . $row['sdnumber'],
+ 'expname' => Entity::hsc($row['sdname']),
+ 'expdesc' => Entity::hsc($row['sddesc'])
);
echo Template::fill($template, $data);
}
break;
case 'template':
- $res = sql_query('SELECT * FROM '.sql_table('template_desc'). " WHERE tdname NOT LIKE 'admin/%%';");
- while ($templateObj = sql_fetch_object($res)) {
+ $res = DB::getResult('SELECT * FROM '.sql_table('template_desc'). " WHERE tdname NOT LIKE 'admin/%%';");
+ foreach ( $res as $row )
+ {
$data = array(
- 'typeid' => 'template[' . $templateObj->tdnumber . ']',
- 'expid' => 'templateexp' . $templateObj->tdnumber,
- 'expname' => Entity::hsc($templateObj->tdname),
- 'expdesc' => Entity::hsc($templateObj->tddesc),
+ 'typeid' => 'template[' . $row['tdnumber'] . ']',
+ 'expid' => 'templateexp' . $row['tdnumber'],
+ 'expname' => Entity::hsc($row['tdname']),
+ 'expdesc' => Entity::hsc($row['tddesc'])
);
echo Template::fill($template, $data);
}
$query = "SELECT stype FROM %s WHERE stype NOT IN ('%s') AND sdesc = %d;";
$query = sprintf($query, sql_table('skin'), implode("', '", $nType), $skinid);
- $res = sql_query($query);
- if ( $res && sql_num_rows($res) > 0 )
+ $res = DB::getResult($query);
+ if ( $res && $res->rowCount() > 0 )
{
$data = array();
if ( array_key_exists('SPECIALSKINLIST_HEAD', $templates) && !empty($templates['SPECIALSKINLIST_HEAD']) )
}
$tabstart = 75;
- while ( $row = sql_fetch_assoc($res) )
+ foreach ( $res as $row )
{
$data = array(
'tabindex' => $tabstart++,
echo phpversion();
break;
case 'sqlserverinfo':
- echo sql_get_server_info();
+ echo DB::getAttribute(PDO::ATTR_SERVER_VERSION);
break;
case 'sqlclientinfo':
- echo sql_get_client_info();
+ echo DB::getAttribute(PDO::ATTR_CLIENT_VERSION);
break;
case 'magicquotesgpc':
echo ini_get('magic_quotes_gpc') ? 'On' : 'Off';
{
$query = 'SELECT COUNT(*) as result FROM ' . sql_table('blog');
- $total = quickQuery($query);
+ $total = DB::getValue($query);
if ( $total > $amount )
{
echo '<p><a href="index.php?action=overview&showall=yes">' . _OVERVIEW_SHOWALL . '</a></p>';
if ( preg_match("#^NP_(.*)\.php$#", $file, $matches) )
{
$name = $matches[1];
- $query = "SELECT * FROM %s WHERE pfile='%s';";
- $query = sprintf($query, sql_table('plugin'), sql_real_escape_string("{NP_{$name}"));
- $res = sql_query($query);
+ $query = "SELECT * FROM %s WHERE pfile=%s;";
+ $query = sprintf($query, sql_table('plugin'), DB::quoteValue("{NP_{$name}"));
+ $res = DB::getResult($query);
- if ( sql_num_rows($res) == 0 )
+ if ( $res->rowCount() == 0 )
{
$candidates[] = $name;
}
public function isBanned($blogid, $ip)\r
{\r
$blogid = intval($blogid);\r
- $query = 'SELECT * FROM '.sql_table('ban').' WHERE blogid='.$blogid;\r
- $res = sql_query($query);\r
- while ($obj = sql_fetch_object($res)) {\r
- $found = i18n::strpos ($ip, $obj->iprange);\r
- if (!($found === false))\r
+ $query = sprintf('SELECT * FROM %s WHERE blogid=%d', sql_table('ban'), intval($blogid));\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $row )\r
+ {\r
+ $found = i18n::strpos ($ip, $row['iprange']);\r
+ if ( $found !== false )\r
+ {\r
// found a match!\r
- return new BanInfo($obj->iprange, $obj->reason);\r
+ return new BanInfo($row['iprange'], $row['reason']);\r
+ }\r
}\r
return 0;\r
}\r
{\r
global $manager;\r
\r
- $blogid = intval($blogid);\r
- \r
$manager->notify(\r
'PreAddBan',\r
array(\r
)\r
);\r
\r
- $query = "INSERT INTO %s (blogid, iprange, reason) VALUES (%d, '%s', '%s')";\r
- $query = sprintf($query, sql_table('ban'), $blogid, sql_real_escape_string($iprange), sql_real_escape_string($reason));\r
- $res = sql_query($query);\r
+ $query = 'INSERT INTO %s (blogid, iprange, reason) VALUES (%d, %s, %s)';\r
+ $query = sprintf($query, sql_table('ban'), intval($blogid), DB::quoteValue($iprange), DB::quoteValue($reason));\r
+ $res = DB::execute($query);\r
\r
$manager->notify(\r
'PostAddBan',\r
'reason' => $reason\r
)\r
);\r
- return $res ? 1 : 0;\r
+ \r
+ return $res !== FALSE ? 1 : 0;\r
}\r
\r
/**\r
public function removeBan($blogid, $iprange)\r
{\r
global $manager;\r
- $blogid = intval($blogid);\r
\r
- $manager->notify('PreDeleteBan', array('blogid' => $blogid, 'range' => $iprange));\r
- \r
- $query = 'DELETE FROM '.sql_table('ban')." WHERE blogid=$blogid and iprange='" .sql_real_escape_string($iprange). "'";\r
- sql_query($query);\r
+ $manager->notify(\r
+ 'PreDeleteBan',\r
+ array(\r
+ 'blogid' => $blogid,\r
+ 'range' => $iprange\r
+ )\r
+ );\r
\r
- $result = (sql_affected_rows() > 0);\r
+ $query = 'DELETE FROM %s WHERE blogid=%d and iprange=%s';\r
+ $query = sprintf($query, sql_table('ban'), intval($blogid), DB::quoteValue($iprange));\r
+ $res = DB::execute($query);\r
\r
- $manager->notify('PostDeleteBan', array('blogid' => $blogid, 'range' => $iprange));\r
+ $manager->notify(\r
+ 'PostDeleteBan',\r
+ array(\r
+ 'blogid' => $blogid,\r
+ 'range' => $iprange\r
+ )\r
+ );\r
\r
- return $result;\r
+ return $res !== FALSE ? 1 : 0;\r
}\r
}\r
\r
$timestamp_start = mktime(0,0,0,$month,$day,$year);\r
$timestamp_end = mktime(0,0,0,$month,$day+1,$year);\r
}\r
- $extra_query = " and i.itime>='%s' and i.itime<'%s'";\r
- $extra_query = sprintf($extra_query, i18n::formatted_datetime('mysql', $timestamp_start), i18n::formatted_datetime('mysql', $timestamp_end));\r
+ $extra_query = " and i.itime>=%s and i.itime<%s";\r
+ $extra_query = sprintf($extra_query, DB::formatDateTime($timestamp_start), DB::formatDateTime($timestamp_end));\r
\r
$this->readLogAmount($templatename,0,$extra_query,'',1,1);\r
return;\r
$parser = new Parser($handler);\r
\r
// execute query\r
- $items = sql_query($query);\r
+ $items = DB::getResult($query);\r
\r
// loop over all items\r
$old_date = 0;\r
- while ( $item = sql_fetch_object($items) )\r
+ foreach ( $items as $item )\r
{\r
- $item->timestamp = strtotime($item->itime); // string timestamp -> unix timestamp\r
+ $item['timestamp'] = strtotime($item['itime']); // string timestamp -> unix timestamp\r
\r
// action handler needs to know the item we're handling\r
$handler->setCurrentItem($item);\r
// add date header if needed\r
if ( $dateheads )\r
{\r
- $new_date = date('dFY',$item->timestamp);\r
+ $new_date = date('dFY', $item['timestamp']);\r
if ( $new_date != $old_date )\r
{\r
// unless this is the first time, write date footer\r
- $timestamp = $item->timestamp;\r
+ $timestamp = $item['timestamp'];\r
if ( $old_date != 0 )\r
{\r
$oldTS = strtotime($old_date);\r
$parser->parse($template['ITEM_FOOTER']);\r
}\r
\r
- $numrows = sql_num_rows($items);\r
+ $numrows = $items->rowCount();\r
\r
// add another date footer if there was at least one item\r
if ( ($numrows > 0) && $dateheads )\r
$manager->notify('PostDateFoot',array('blog' => &$this, 'timestamp' => strtotime($old_date)));\r
}\r
\r
- sql_free_result($items);\r
+ $items->closeCursor();\r
return $numrows;\r
}\r
\r
\r
$manager->notify('PreAddItem',array('title' => &$title, 'body' => &$body, 'more' => &$more, 'blog' => &$this, 'authorid' => &$authorid, 'timestamp' => &$timestamp, 'closed' => &$closed, 'draft' => &$draft, 'catid' => &$catid));\r
\r
- $ititle = sql_real_escape_string($title);\r
- $ibody = sql_real_escape_string($body);\r
- $imore = sql_real_escape_string($more);\r
+ $ititle = DB::quoteValue($title);\r
+ $ibody = DB::quoteValue($body);\r
+ $imore = DB::quoteValue($more);\r
\r
- $query = "INSERT INTO %s (ITITLE, IBODY, IMORE, IBLOG, IAUTHOR, ITIME, ICLOSED, IDRAFT, ICAT, IPOSTED) VALUES ('%s', '%s', '%s', %d, %d, '%s', %s, %s, %s, %s)";\r
+ $query = "INSERT INTO %s (ITITLE, IBODY, IMORE, IBLOG, IAUTHOR, ITIME, ICLOSED, IDRAFT, ICAT, IPOSTED) VALUES (%s, %s, %s, %d, %d, '%s', %s, %s, %s, %s)";\r
$query = sprintf($query, sql_table('item'), $ititle, $ibody, $imore, $blogid, $authorid, $timestamp, $closed, $draft, $catid, $posted);\r
- sql_query($query);\r
- $itemid = sql_insert_id();\r
+ DB::execute($query);\r
+ $itemid = DB::getInsertId();\r
\r
$manager->notify('PostAddItem',array('itemid' => $itemid));\r
\r
$catName = _CREATED_NEW_CATEGORY_NAME;\r
$i = 1;\r
\r
- $res = sql_query('SELECT * FROM '.sql_table('category')." WHERE cname='".$catName.$i."' and cblog=".$this->getID());\r
- while ( sql_num_rows($res) > 0 )\r
+ $res = DB::getResult('SELECT * FROM '.sql_table('category')." WHERE cname='".$catName.$i."' and cblog=".$this->getID());\r
+ while ( $res->rowCount() > 0 )\r
{\r
$i++;\r
- $res = sql_query('SELECT * FROM '.sql_table('category')." WHERE cname='".$catName.$i."' and cblog=".$this->getID());\r
+ $res = DB::getResult('SELECT * FROM '.sql_table('category')." WHERE cname='".$catName.$i."' and cblog=".$this->getID());\r
}\r
\r
$catName = $catName . $i;\r
)\r
);\r
\r
- $query = "INSERT INTO %s (cblog, cname, cdesc) VALUES (%d, '%s', '%s')";\r
- $query = sprintf($query, sql_table('category'), (integer) $this->getID(), sql_real_escape_string($catName), sql_real_escape_string($catDescription));\r
- sql_query($query);\r
- $catid = sql_insert_id();\r
+ $query = "INSERT INTO %s (cblog, cname, cdesc) VALUES (%d, %s, %s)";\r
+ $query = sprintf($query, sql_table('category'), (integer) $this->getID(), DB::quoteValue($catName), DB::quoteValue($catDescription));\r
+ DB::execute($query);\r
+ $catid = DB::getInsertId();\r
\r
$manager->notify(\r
'PostAddCategory',\r
. ' and i.idraft=0'\r
. $selectblogs\r
// don't show future items\r
- . ' and i.itime<="' . i18n::formatted_datetime('mysql', $this->getCorrectTime()) . '"'\r
+ . ' and i.itime<=' . DB::formatDateTime($this->getCorrectTime())\r
. ' and '.$where;\r
\r
// take into account amount of months to search\r
{\r
$localtime = getdate($this->getCorrectTime());\r
$timestamp_start = mktime(0,0,0,$localtime['mon'] - $amountMonths,1,$localtime['year']);\r
- $query .= ' and i.itime>"' . i18n::formatted_datetime('mysql', $timestamp_start) . '"';\r
+ $query .= ' and i.itime>' . DB::formatDateTime($timestamp_start);\r
}\r
\r
if ( $mode == '' )\r
// exclude drafts\r
. ' and i.idraft=0'\r
// don't show future items\r
- . ' and i.itime<="' . i18n::formatted_datetime('mysql', $this->getCorrectTime()) . '"';\r
+ . ' and i.itime<=' . DB::formatDateTime($this->getCorrectTime());\r
\r
if ( $this->getSelectedCategory() )\r
{\r
. ' FROM '.sql_table('item')\r
. ' WHERE iblog=' . $this->getID()\r
// don't show future items!\r
- . ' AND itime <="' . i18n::formatted_datetime('mysql', $this->getCorrectTime()) . '"'\r
+ . ' AND itime <=' . DB::formatDateTime($this->getCorrectTime())\r
// don't show draft items\r
. ' AND idraft=0';\r
\r
$query .= ' LIMIT ' . intval($limit);\r
}\r
\r
- $res = sql_query($query);\r
- while ( $current = sql_fetch_object($res) )\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $current )\r
{\r
/* string time -> unix timestamp */\r
- $current->itime = strtotime($current->itime);\r
+ $current['itime'] = strtotime($current['itime']);\r
\r
if ( $mode == 'day' )\r
{\r
- $archivedate = date('Y-m-d',$current->itime);\r
- $archive['day'] = date('d',$current->itime);\r
- $data['day'] = date('d',$current->itime);\r
- $data['month'] = date('m',$current->itime);\r
+ $archivedate = date('Y-m-d',$current['itime']);\r
+ $archive['day'] = date('d',$current['itime']);\r
+ $data['day'] = date('d',$current['itime']);\r
+ $data['month'] = date('m',$current['itime']);\r
$archive['month'] = $data['month'];\r
}\r
elseif ( $mode == 'year' )\r
{\r
- $archivedate = date('Y',$current->itime);\r
+ $archivedate = date('Y',$current['itime']);\r
$data['day'] = '';\r
$data['month'] = '';\r
$archive['day'] = '';\r
}\r
else\r
{\r
- $archivedate = date('Y-m',$current->itime);\r
- $data['month'] = date('m',$current->itime);\r
+ $archivedate = date('Y-m',$current['itime']);\r
+ $data['month'] = date('m',$current['itime']);\r
$archive['month'] = $data['month'];\r
$data['day'] = '';\r
$archive['day'] = '';\r
}\r
\r
- $data['year'] = date('Y',$current->itime);\r
+ $data['year'] = date('Y',$current['itime']);\r
$archive['year'] = $data['year'];\r
$data['archivelink'] = Link::create_archive_link($this->getID(),$archivedate,$linkparams);\r
\r
);\r
\r
$temp = Template::fill($template['ARCHIVELIST_LISTITEM'],$data);\r
- echo i18n::formatted_datetime($temp, $current->itime);\r
+ echo i18n::formatted_datetime($temp, $current['itime']);\r
return;\r
}\r
\r
- sql_free_result($res);\r
+ $res->closeCursor();\r
\r
if ( !array_key_exists('ARCHIVELIST_FOOTER', $template) || !$template['ARCHIVELIST_FOOTER'] )\r
{\r
\r
$query = "SELECT catid, cdesc as catdesc, cname as catname FROM %s WHERE cblog=%d ORDER BY cname ASC;";\r
$query = sprintf($query, sql_table('category'), (integer) $this->getID());\r
- $res = sql_query($query);\r
+ $res = DB::getResult($query);\r
\r
- while ( $data = sql_fetch_assoc($res) )\r
+ foreach ( $res as $data )\r
{\r
$args = array(\r
'catid' => $data['catid'],\r
}\r
}\r
\r
- sql_free_result($res);\r
+ $res->closeCursor();\r
\r
$args = array(\r
'blogid' => $this->getID(),\r
);\r
\r
$query = 'SELECT bnumber, bname, bshortname, bdesc, burl FROM '.sql_table('blog').' ORDER BY '.$orderby.' '.$direction;\r
- $res = sql_query($query);\r
+ $res = DB::getResult($query);\r
\r
- while ( $data = sql_fetch_assoc($res) )\r
+ foreach ( $res as $data )\r
{\r
$list = array();\r
$list['bloglink'] = Link::create_blogid_link($data['bnumber']);\r
echo Template::fill((isset($template['BLOGLIST_LISTITEM']) ? $template['BLOGLIST_LISTITEM'] : null), $list);\r
}\r
\r
- sql_free_result($res);\r
+ $res->closeCursor();\r
\r
echo Template::fill((isset($template['BLOGLIST_FOOTER']) ? $template['BLOGLIST_FOOTER'] : null),\r
array(\r
$query = 'SELECT *'\r
. ' FROM '.sql_table('blog')\r
. ' WHERE bnumber=' . $this->blogid;\r
- $res = sql_query($query);\r
+ $res = DB::getResult($query);\r
\r
- $this->isValid = (sql_num_rows($res) > 0);\r
+ $this->isValid = ($res->rowCount() > 0);\r
if (!$this->isValid)\r
return;\r
\r
- $this->settings = sql_fetch_assoc($res);\r
+ $this->settings = $res->fetch(PDO::FETCH_ASSOC);\r
}\r
\r
/**\r
$offset = intval($offset);\r
\r
$query = 'UPDATE '.sql_table('blog')\r
- . " SET bname='" . sql_real_escape_string($this->getName()) . "',"\r
- . " bshortname='". sql_real_escape_string($this->getShortName()) . "',"\r
- . " bcomments=". intval($this->commentsEnabled()) . ","\r
- . " bmaxcomments=" . intval($this->getMaxComments()) . ","\r
- . " btimeoffset=" . $offset . ","\r
- . " bpublic=" . intval($this->isPublic()) . ","\r
- . " breqemail=" . intval($this->emailRequired()) . ","\r
- . " bconvertbreaks=" . intval($this->convertBreaks()) . ","\r
- . " ballowpast=" . intval($this->allowPastPosting()) . ","\r
- . " bnotify='" . sql_real_escape_string($this->getNotifyAddress()) . "',"\r
- . " bnotifytype=" . intval($this->getNotifyType()) . ","\r
- . " burl='" . sql_real_escape_string($this->getURL()) . "',"\r
- . " bupdate='" . sql_real_escape_string($this->getUpdateFile()) . "',"\r
- . " bdesc='" . sql_real_escape_string($this->getDescription()) . "',"\r
- . " bdefcat=" . intval($this->getDefaultCategory()) . ","\r
- . " bdefskin=" . intval($this->getDefaultSkin()) . ","\r
- . " bincludesearch=" . intval($this->getSearchable())\r
- . " WHERE bnumber=" . intval($this->getID());\r
- sql_query($query);\r
+ . ' SET bname=' . DB::quoteValue($this->getName()) . ','\r
+ . ' bshortname='. DB::quoteValue($this->getShortName()) . ','\r
+ . ' bcomments='. intval($this->commentsEnabled()) . ','\r
+ . ' bmaxcomments=' . intval($this->getMaxComments()) . ','\r
+ . ' btimeoffset=' . $offset . ','\r
+ . ' bpublic=' . intval($this->isPublic()) . ','\r
+ . ' breqemail=' . intval($this->emailRequired()) . ','\r
+ . ' bconvertbreaks=' . intval($this->convertBreaks()) . ','\r
+ . ' ballowpast=' . intval($this->allowPastPosting()) . ','\r
+ . ' bnotify=' . DB::quoteValue($this->getNotifyAddress()) . ','\r
+ . ' bnotifytype=' . intval($this->getNotifyType()) . ','\r
+ . ' burl=' . DB::quoteValue($this->getURL()) . ','\r
+ . ' bupdate=' . DB::quoteValue($this->getUpdateFile()) . ','\r
+ . ' bdesc=' . DB::quoteValue($this->getDescription()) . ','\r
+ . ' bdefcat=' . intval($this->getDefaultCategory()) . ','\r
+ . ' bdefskin=' . intval($this->getDefaultSkin()) . ','\r
+ . ' bincludesearch=' . intval($this->getSearchable())\r
+ . ' WHERE bnumber=' . intval($this->getID());\r
+ DB::execute($query);\r
\r
}\r
\r
*/\r
function isValidCategory($catid) {\r
$query = 'SELECT * FROM '.sql_table('category').' WHERE cblog=' . $this->getID() . ' and catid=' . intval($catid);\r
- $res = sql_query($query);\r
- return (sql_num_rows($res) != 0);\r
+ $res = DB::getResult($query);\r
+ return ($res->rowCount() != 0);\r
}\r
\r
/**\r
* category id\r
*/\r
function getCategoryName($catid) {\r
- $res = sql_query('SELECT cname FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and catid=' . intval($catid));\r
- $o = sql_fetch_object($res);\r
- return $o->cname;\r
+ $res = DB::getValue('SELECT cname FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and catid=' . intval($catid));\r
+ return $res;\r
}\r
\r
/**\r
* category id\r
*/\r
function getCategoryDesc($catid) {\r
- $res = sql_query('SELECT cdesc FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and catid=' . intval($catid));\r
- $o = sql_fetch_object($res);\r
- return $o->cdesc;\r
+ $res = DB::getValue('SELECT cdesc FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and catid=' . intval($catid));\r
+ return $res;\r
}\r
\r
/**\r
* category name\r
*/\r
function getCategoryIdFromName($name) {\r
- $res = sql_query('SELECT catid FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and cname="' . sql_real_escape_string($name) . '"');\r
- if (sql_num_rows($res) > 0) {\r
- $o = sql_fetch_object($res);\r
- return $o->catid;\r
+ $res = DB::getValue('SELECT catid FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and cname="' . DB::quoteValue($name) . '"');\r
+ if ( $res ) {\r
+ return $res;\r
} else {\r
return $this->getDefaultCategory();\r
}\r
);\r
\r
// add to team\r
- $query = "INSERT INTO %s (TMEMBER, TBLOG, TADMIN) VALUES (%d, %d, %d);";
- $query = sprintf($query, sql_table('team'), (integer) $memberid, (integer) $this->getID(), (integer) $admin);
- sql_query($query);\r
-\r
+ $query = "INSERT INTO %s (TMEMBER, TBLOG, TADMIN) VALUES (%d, %d, %d);";\r
+ $query = sprintf($query, sql_table('team'), (integer) $memberid, (integer) $this->getID(), (integer) $admin);\r
+ DB::execute($query);\r
+ \r
$manager->notify(\r
'PostAddTeamMember',\r
array(\r
* blog shortname\r
*/\r
function exists($name) {\r
- $r = sql_query('select * FROM '.sql_table('blog').' WHERE bshortname="'.sql_real_escape_string($name).'"');\r
- return (sql_num_rows($r) != 0);\r
+ $r = DB::getResult('SELECT * FROM '.sql_table('blog').' WHERE bshortname='. DB::quoteValue($name));\r
+ return ($r->rowCount() != 0);\r
}\r
\r
/**\r
* blog id\r
*/\r
function existsID($id) {\r
- $r = sql_query('select * FROM '.sql_table('blog').' WHERE bnumber='.intval($id));\r
- return (sql_num_rows($r) != 0);\r
+ $r = DB::getResult('SELECT * FROM '.sql_table('blog').' WHERE bnumber='.intval($id));\r
+ return ($r->rowCount() != 0);\r
}\r
\r
/**\r
function setFuturePost() {\r
$query = 'UPDATE '.sql_table('blog')\r
. " SET bfuturepost='1' WHERE bnumber=" . $this->getID();\r
- sql_query($query);\r
+ DB::execute($query);\r
}\r
\r
/**\r
function clearFuturePost() {\r
$query = 'UPDATE '.sql_table('blog')\r
. " SET bfuturepost='0' WHERE bnumber=" . $this->getID();\r
- sql_query($query);\r
+ DB::execute($query);\r
}\r
\r
/**\r
\r
if ($this->settings['bfuturepost'] == 1) {\r
$blogid = $this->getID();\r
- $result = sql_query("SELECT * FROM " . sql_table('item')\r
+ $result = DB::getResult("SELECT * FROM " . sql_table('item')\r
. " WHERE iposted=0 AND iblog=" . $blogid . " AND itime<NOW()");\r
- if (sql_num_rows($result) > 0) {\r
+ if ( $result->rowCount() > 0 ) {\r
// This $pinged is allow a plugin to tell other hook to the event that a ping is sent already\r
// Note that the plugins's calling order is subject to thri order in the plugin list\r
$pinged = false;\r
);\r
\r
// clear all expired future posts\r
- sql_query("UPDATE " . sql_table('item') . " SET iposted='1' WHERE iblog=" . $blogid . " AND itime<NOW()");\r
+ DB::execute("UPDATE " . sql_table('item') . " SET iposted='1' WHERE iblog=" . $blogid . " AND itime<NOW()");\r
\r
// check to see any pending future post, clear the flag is none\r
- $result = sql_query("SELECT * FROM " . sql_table('item')\r
+ $result = DB::getResult("SELECT * FROM " . sql_table('item')\r
. " WHERE iposted=0 AND iblog=" . $blogid);\r
- if (sql_num_rows($result) == 0) {\r
+ if ( $result->rowCount() == 0 ) {\r
$this->clearFuturePost();\r
}\r
}\r
if ( !$showFuture )\r
{\r
// don't show future items\r
- $query .= " and i.itime<='" . i18n::formatted_datetime('mysql', $this->getCorrectTime()) . "'";\r
+ $query .= ' and i.itime<=' . DB::formatDateTime($this->getCorrectTime());\r
}\r
\r
$query .= ' and i.inumber='.intval($value);\r
{\r
global $currentitemid;\r
$this->currentItem =& $item;\r
- $currentitemid = $this->currentItem->itemid;\r
+ $currentitemid = $this->currentItem['itemid'];\r
return;\r
}\r
\r
array_shift($params);\r
\r
// add item reference (array_unshift didn't work)\r
- $params = array_merge(array(&$this->currentItem),$params);\r
+ $params = array_merge(array(&$this->currentItem), $params);\r
\r
- call_user_func_array(array(&$plugin,'doItemVar'), $params);\r
+ call_user_func_array(array(&$plugin, 'doItemVar'), $params);\r
return;\r
}\r
\r
{\r
// image/popup calls have arguments separated by |\r
$args = func_get_args();\r
- $args = preg_split('#\|#',implode($args,', '));\r
- echo call_user_func_array(array(&$this,'createImageCode'),$args);\r
+ $args = preg_split('#\|#', implode($args, ', '));\r
+ echo call_user_func_array(array(&$this, 'createImageCode'), $args);\r
}\r
\r
/**\r
// select private collection when no collection given\r
if ( i18n::strpos($filename, '/') === FALSE )\r
{\r
- $filename = $this->currentItem->authorid . '/' . $filename;\r
+ $filename = $this->currentItem['authorid'] . '/' . $filename;\r
}\r
\r
$windowwidth = $width;\r
$windowheight = $height;\r
\r
- $vars['link'] = Entity::hsc($CONF['MediaURL']. $filename);\r
- $vars['text'] = Entity::hsc($text);\r
- $vars['image'] = '<img src="' . $vars['link'] . '" width="' . $width . '" height="' . $height . '" alt="' . $vars['text'] . '" title="' . $vars['text'] . '" />';\r
- $vars['width'] = $width;\r
- $vars['height'] = $height;\r
- $vars['media'] = '<a href="' . $vars['link'] . '">' . $vars['text'] . '</a>';\r
+ $vars['link'] = Entity::hsc($CONF['MediaURL']. $filename);\r
+ $vars['text'] = Entity::hsc($text);\r
+ $vars['image'] = '<img src="' . $vars['link'] . '" width="' . $width . '" height="' . $height . '" alt="' . $vars['text'] . '" title="' . $vars['text'] . '" />';\r
+ $vars['width'] = $width;\r
+ $vars['height'] = $height;\r
+ $vars['media'] = '<a href="' . $vars['link'] . '">' . $vars['text'] . '</a>';\r
\r
return Template::fill($this->template['IMAGE_CODE'], $vars);
}\r
{\r
// image/popup calls have arguments separated by |\r
$args = func_get_args();\r
- $args = preg_split('#\|#', implode($args,', '));\r
- echo call_user_func_array(array(&$this,'createMediaCode'), $args);\r
+ $args = preg_split('#\|#', implode($args, ', '));\r
+ echo call_user_func_array(array(&$this, 'createMediaCode'), $args);\r
}\r
\r
/**\r
// select private collection when no collection given\r
if ( i18n::strpos($filename, '/') === FALSE )\r
{\r
- $filename = $this->currentItem->authorid . '/' . $filename;\r
+ $filename = $this->currentItem['authorid'] . '/' . $filename;\r
}\r
\r
$vars['link'] = Entity::hsc($CONF['MediaURL'] . $filename);\r
{\r
// image/popup calls have arguments separated by |\r
$args = func_get_args();\r
- $args = preg_split('#\|#', implode($args,', '));\r
- echo call_user_func_array(array(&$this,'createPopupCode'), $args);\r
+ $args = preg_split('#\|#', implode($args, ', '));\r
+ echo call_user_func_array(array(&$this, 'createPopupCode'), $args);\r
}\r
\r
/**\r
// select private collection when no collection given\r
if ( i18n::strpos($filename, '/') === FALSE )\r
{\r
- $filename = $this->currentItem->authorid . '/' . $filename;\r
+ $filename = $this->currentItem['authorid'] . '/' . $filename;\r
}\r
\r
$windowwidth = $width;\r
$condition = ($blog && ($blog->getSetting($name) == $value));\r
break;\r
case 'itemblogsetting':\r
- $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem->itemid));\r
+ $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem['itemid']));\r
$condition = ($b && ($b->getSetting($name) == $value));\r
break;\r
case 'loggedin':\r
{\r
global $member, $manager;\r
\r
- $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem->itemid));\r
+ $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem['itemid']));\r
\r
// when no parameter is defined, just check if author is current visitor\r
if ( ($key != 'isadmin' && $key != 'name') || ($key == 'name' && $value == '') )\r
{\r
- return (intval($member->getID()) > 0 && intval($member->getID()) == intval($this->currentItem->authorid));\r
+ return (intval($member->getID()) > 0 && intval($member->getID()) == intval($this->currentItem['authorid']));\r
}\r
\r
// check author name\r
if ( $key == 'name' )\r
{\r
$value = strtolower($value);\r
- if ( $value == strtolower($this->currentItem->author) )\r
+ if ( $value == strtolower($this->currentItem['author']) )\r
{\r
return TRUE;\r
}\r
// check if author is admin\r
if ( ($key == 'isadmin') )\r
{\r
- $aid = intval($this->currentItem->authorid);\r
+ $aid = intval($this->currentItem['authorid']);\r
$blogid = intval($b->getID()); \r
$amember =& $manager->getMember($aid);\r
if ( $amember->isAdmin() )\r
{\r
global $catid, $manager;\r
\r
- $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem->itemid));\r
+ $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem['itemid']));\r
\r
// when no parameter is defined, just check if a category is selected\r
if ( ($key != 'catname' && $key != 'catid') || ($value == '') )\r
return $b->isValidCategory($catid);\r
}\r
\r
- $icatid = $this->currentItem->catid;\r
+ $icatid = $this->currentItem['catid'];\r
\r
// check category name\r
if ( $key == 'catname' )\r
/* NOTE: defined actions for this base class */
static private $defined_actions = array(
+ 'charset',
'else',
'elseif',
'elseifnot',
'if',
'ifnot',
'include',
+ 'locale',
'parsedinclude',
'phpinclude',
'set',
}
/**
+ * BaseActions::parse_charset()
+ * Parse charset to appropriate character set name registered to IANA
+ *
+ * @param void
+ * @return void
+ */
+ public function parse_charset()
+ {
+ global $member;
+
+ if ( i18n::get_forced_charset() !== '' )
+ {
+ echo i18n::get_forced_charset();
+ }
+ else
+ {
+ echo i18n::get_current_charset();
+ }
+
+ return;
+ }
+
+ /**
+ * BaseActions::parse_locale()
+ * Parse locale to language-script-region according to RFC 4646
+ *
+ * @param void
+ * @return void
+ */
+ public function parse_locale()
+ {
+ echo preg_replace('#_#', '-', i18n::get_current_locale());
+ return;
+ }
+
+ /**
* BaseActions::parse_include()
* include file (no parsing of php)
*
. ' WHERE cnumber = %d;';\r
\r
$query = sprintf($query, sql_table('comment'), sql_table('member'), (integer) $commentid);\r
- $comments = sql_query($query);
- \r
- $aCommentInfo = sql_fetch_assoc($comments);\r
+ $aCommentInfo = DB::getRow($query);\r
\r
if ( $aCommentInfo )
{
{\r
$data = array(\r
'itemid' => $this->commentsObj->itemid,\r
- 'timestamp' => $this->commentsObj->itemActions->currentItem->timestamp,\r
- 'title' => $this->commentsObj->itemActions->currentItem->title,\r
+ 'timestamp' => $this->commentsObj->itemActions->currentItem['timestamp'],\r
+ 'title' => $this->commentsObj->itemActions->currentItem['title'],\r
'extra' => $this->commentsObj->itemActions->linkparams\r
);\r
\r
}\r
\r
/**\r
- * ItemActions::checkCondition()\r
+ * CommentActions::checkCondition()\r
* Checks conditions for if statements\r
*\r
* @param string $field type of <%if%>\r
. ' WHERE c.citem=' . $this->itemid\r
. ' ORDER BY c.ctime';\r
\r
- $comments = sql_query($query);\r
- $this->commentcount = sql_num_rows($comments);\r
+ $comments = DB::getResult($query);\r
+ $this->commentcount = $comments->rowCount();\r
}\r
\r
// if no result was found\r
\r
$parser->parse($template['COMMENTS_HEADER']);\r
\r
- while ( $comment = sql_fetch_assoc($comments) ) {\r
+ foreach ( $comments as $comment ) {\r
$comment['timestamp'] = strtotime($comment['ctime']);\r
$handler->setCurrentComment($comment);\r
$handler->setHighlight($highlight);\r
\r
$parser->parse($template['COMMENTS_FOOTER']);\r
\r
- sql_free_result($comments);\r
+ $comments->closeCursor();\r
\r
return $this->commentcount;\r
}\r
$query = 'SELECT COUNT(*)'\r
. ' FROM '.sql_table('comment').' as c'\r
. ' WHERE c.citem='. $this->itemid;\r
- $res = sql_query($query);\r
- $arr = sql_fetch_row($res);\r
+ $res = DB::getValue($query);\r
\r
- return $arr[0];\r
+ return $res;\r
}\r
\r
/**\r
\r
$manager->notify('PreAddComment', array('comment' => &$comment, 'spamcheck' => &$spamcheck) );\r
\r
- $name = sql_real_escape_string($comment['user']);\r
- $url = sql_real_escape_string($comment['userid']);\r
- $email = sql_real_escape_string($comment['email']);\r
- $body = sql_real_escape_string($comment['body']);\r
- $host = sql_real_escape_string($comment['host']);\r
- $ip = sql_real_escape_string($comment['ip']);\r
+ $name = DB::quoteValue($comment['user']);\r
+ $url = DB::quoteValue($comment['userid']);\r
+ $email = DB::quoteValue($comment['email']);\r
+ $body = DB::quoteValue($comment['body']);\r
+ $host = DB::quoteValue($comment['host']);\r
+ $ip = DB::quoteValue($comment['ip']);\r
$memberid = intval($comment['memberid']);\r
$timestamp = date('Y-m-d H:i:s', $comment['timestamp']);\r
$itemid = $this->itemid;\r
$qSql = 'SELECT COUNT(*) AS result '\r
. 'FROM ' . sql_table('comment')\r
. ' WHERE '\r
- . 'cmail = "' . $url . '"'\r
- . ' AND cmember = "' . $memberid . '"'\r
- . ' AND cbody = "' . $body . '"'\r
- . ' AND citem = "' . $itemid . '"'\r
- . ' AND cblog = "' . $blogid . '"';\r
- $result = (integer) quickQuery($qSql);\r
+ . 'cmail = ' . $url\r
+ . ' AND cmember = ' . $memberid\r
+ . ' AND cbody = ' . $body\r
+ . ' AND citem = ' . $itemid\r
+ . ' AND cblog = ' . $blogid;\r
+ $result = (integer) DB::getValue($qSql);\r
\r
if ( $result > 0 )\r
{\r
}\r
\r
$query = 'INSERT INTO '.sql_table('comment').' (CUSER, CMAIL, CEMAIL, CMEMBER, CBODY, CITEM, CTIME, CHOST, CIP, CBLOG) '\r
- . "VALUES ('$name', '$url', '$email', $memberid, '$body', $itemid, '$timestamp', '$host', '$ip', '$blogid')";\r
+ . "VALUES ($name, $url, $email, $memberid, $body, $itemid, '$timestamp', $host, $ip, '$blogid')";\r
\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// post add comment\r
- $commentid = sql_insert_id();\r
+ $commentid = DB::getInsertId();\r
$manager->notify('PostAddComment', array('comment' => &$comment, 'commentid' => &$commentid, 'spamcheck' => &$spamcheck) );\r
\r
// succeeded !\r
if ( !$allow_future )\r
{\r
$blog =& $manager->getBlog(getBlogIDFromItemID($item_id));\r
- $query .= "AND i.itime <= '" . i18n::formatted_datetime('mysql', $blog->getCorrectTime()) ."'";\r
+ $query .= 'AND i.itime <= ' . DB::formatDateTime($blog->getCorrectTime());\r
}\r
\r
$query .= ' LIMIT 1';\r
- $result = sql_query($query);\r
+ $result = DB::getResult($query);\r
\r
- if ( sql_num_rows($result) == 1 )\r
+ if ( $result->rowCount() == 1 )\r
{\r
- $aItemInfo = sql_fetch_assoc($result);\r
+ $aItemInfo = $result->fetch(PDO::FETCH_ASSOC);\r
$aItemInfo['timestamp'] = strtotime($aItemInfo['itime']);\r
return $aItemInfo;\r
}\r
}\r
\r
// create new category if needed\r
- if ( i18n::strpos($i_catid, 'newcat') )\r
+ if ( i18n::strpos($i_catid, 'newcat') === 0 )\r
{\r
// get blogid\r
list($i_blogid) = sscanf($i_catid, "newcat-%d");\r
// update item itself\r
$query = 'UPDATE ' . sql_table('item')\r
. ' SET'\r
- . " ibody = '" . sql_real_escape_string($body) . "',"\r
- . " ititle = '" . sql_real_escape_string($title) . "',"\r
- . " imore = '" . sql_real_escape_string($more) . "',"\r
- . " iclosed = " . intval($closed) . ","\r
- . " icat = " . intval($catid);\r
+ . ' ibody = ' . DB::quoteValue($body) . ','\r
+ . ' ititle = ' . DB::quoteValue($title) . ','\r
+ . ' imore = ' . DB::quoteValue($more) . ','\r
+ . ' iclosed = ' . intval($closed) . ','\r
+ . ' icat = ' . intval($catid);\r
\r
// if we received an updated timestamp that is in the past, but past posting is not allowed, reject that date change (timestamp = 0 will make sure the current date is kept)\r
if ( (!$blog->allowPastPosting()) && ($timestamp < $blog->getCorrectTime()) )\r
{\r
$query .= ', idraft = 1';\r
// set timestamp back to zero for a draft\r
- $query .= ", itime = '" . i18n::formatted_datetime('mysql', $timestamp) ."'";\r
+ $query .= ', itime = ' . DB::formatDateTime($timestamp);\r
}\r
\r
// update timestamp when needed\r
if ( $timestamp != 0 )\r
{\r
- $query .= ", itime = '" . i18n::formatted_datetime('mysql', $timestamp) ."'";\r
+ $query .= ', itime = ' . DB::formatDateTime($timestamp);\r
}\r
\r
// make sure the correct item is updated\r
$query .= ' WHERE inumber = ' . $itemid;\r
\r
// off we go!\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$manager->notify('PostUpdateItem', array('itemid' => $itemid));\r
\r
// update item table\r
$query = "UPDATE %s SET iblog=%d, icat=%d WHERE inumber=%d";\r
$query = sprintf($query, sql_table('item'), $new_blogid, $new_catid, $itemid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// update comments\r
$query = "UPDATE %s SET cblog=%d WHERE citem=%d";\r
$query = sprintf($query, sql_table('comment'), $new_blogid, $itemid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$manager->notify(\r
'PostMoveItem',\r
// delete item\r
$query = "DELETE FROM %s WHERE inumber=%d";\r
$query = sprintf($query, sql_table('item'), $itemid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete the comments associated with the item\r
$query = "DELETE FROM %s WHERE citem=%d";\r
$query = sprintf($query, sql_table('comment'), $itemid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete all associated plugin options\r
NucleusPlugin::delete_option_values('item', $itemid);\r
return 0;\r
}\r
$blog =& $manager->getBlog($blogid);\r
- $query .= " and itime<='" . i18n::formatted_datetime('mysql', $blog->getCorrectTime()) ."'";\r
+ $query .= ' and itime<=' . DB::formatDateTime($blog->getCorrectTime());\r
}\r
if ( !$draft )\r
{\r
$query .= ' and idraft=0';\r
}\r
- $result = sql_query($query);\r
- return ( sql_num_rows($result) != 0 );\r
+ $result = DB::getResult($query);\r
+ return ( $result->rowCount() != 0 );\r
}\r
\r
/**\r
}\r
\r
// create new category if needed\r
- if ( i18n::strpos($catid,'newcat') === 0 )\r
+ if ( i18n::strpos($i_catid,'newcat') === 0 )\r
{\r
// Set in default category\r
$blog =& $manager->getBlog($i_blogid);\r
'plugin',
'query',
'relevance',
- 'smartbody',
- 'syndicate_description',
- 'syndicate_title',
- 'time',
- 'title',
- /* actions defined in BodyAction class */
+ 'smartbody',\r
+ 'syndicate_description',\r
+ 'syndicate_title',\r
+ 'time',\r
+ 'title',\r
+ /* actions defined in BodyAction class */\r
'image',\r
- 'media',
- 'popup',\r
+ 'media',\r
+ 'popup'\r
);\r
\r
/**\r
public function __construct(&$blog)\r
{\r
global $catid, $member;\r
+ \r
// call constructor of superclass first\r
parent::__construct();
\r
{\r
global $currentitemid;\r
$this->currentItem =& $item;\r
- $currentitemid = $this->currentItem->itemid;\r
+ $currentitemid = $this->currentItem['itemid'];\r
return;\r
}\r
\r
*/\r
public function parse_body()\r
{\r
- $this->highlightAndParse($this->currentItem->body);\r
+ $this->highlightAndParse($this->currentItem['body']);\r
return;\r
}\r
\r
*/\r
public function parse_more()\r
{\r
- $this->highlightAndParse($this->currentItem->more);\r
+ $this->highlightAndParse($this->currentItem['more']);\r
return;\r
}\r
\r
*/\r
public function parse_itemid()\r
{\r
- echo $this->currentItem->itemid;\r
+ echo $this->currentItem['itemid'];\r
return;\r
}\r
\r
*/\r
public function parse_category()\r
{\r
- echo $this->currentItem->category;\r
+ echo $this->currentItem['category'];\r
return;\r
}\r
\r
*/\r
public function parse_categorylink()\r
{\r
- echo Link::create_link('category', array('catid' => $this->currentItem->catid, 'name' => $this->currentItem->category));\r
+ echo Link::create_link('category', array('catid' => $this->currentItem['catid'], 'name' => $this->currentItem['category']));\r
return;\r
}\r
\r
*/\r
public function parse_catid()\r
{\r
- echo $this->currentItem->catid;\r
+ echo $this->currentItem['catid'];\r
return;\r
}\r
\r
*/\r
public function parse_authorid()\r
{\r
- echo $this->currentItem->authorid;\r
+ echo $this->currentItem['authorid'];\r
return;\r
}\r
\r
public function parse_authorlink()\r
{\r
$data = array(\r
- 'memberid' => $this->currentItem->authorid,\r
- 'name' => $this->currentItem->author,\r
+ 'memberid' => $this->currentItem['authorid'],\r
+ 'name' => $this->currentItem['author'],\r
'extra' => $this->linkparams\r
);\r
\r
public function parse_itemlink()\r
{\r
$data = array(\r
- 'itemid' => $this->currentItem->itemid,\r
- 'title' => $this->currentItem->title,\r
- 'timestamp' => $this->currentItem->timestamp,\r
+ 'itemid' => $this->currentItem['itemid'],\r
+ 'title' => $this->currentItem['title'],\r
+ 'timestamp' => $this->currentItem['timestamp'],\r
'extra' => $this->linkparams\r
);\r
\r
*/\r
public function parse_closed()\r
{\r
- echo $this->currentItem->closed;\r
+ echo $this->currentItem['closed'];\r
return;\r
}\r
\r
*/\r
public function parse_relevance()\r
{\r
- echo round($this->currentItem->score,2);\r
+ echo round($this->currentItem['score'], 2);\r
return;\r
}\r
\r
{\r
$itemtitle = $this->currentItem['title'];\r
}\r
- elseif ( is_object($this->currentItem) )\r
- {\r
- $itemtitle = $this->currentItem->title;\r
- }\r
switch ( $format )\r
{\r
case 'xml':\r
global $manager;\r
\r
// get karma object\r
- $karma =& $manager->getKarma($this->currentItem->itemid);\r
+ $karma =& $manager->getKarma($this->currentItem['itemid']);\r
\r
switch ( $type )\r
{\r
switch ( $which )\r
{\r
case 'realname':\r
- echo $this->currentItem->authorname;\r
+ echo $this->currentItem['authorname'];\r
break;\r
case 'id':\r
- echo $this->currentItem->authorid;\r
+ echo $this->currentItem['authorid'];\r
break;\r
case 'email':\r
- echo $this->currentItem->authormail;\r
+ echo $this->currentItem['authormail'];\r
break;\r
case 'url':\r
- echo $this->currentItem->authorurl;\r
+ echo $this->currentItem['authorurl'];\r
break;\r
case 'name':\r
default:\r
- echo $this->currentItem->author;\r
+ echo $this->currentItem['author'];\r
}\r
return;\r
}\r
*/\r
public function parse_smartbody()\r
{\r
- if ( !$this->currentItem->more )\r
+ if ( !$this->currentItem['more'] )\r
{\r
- $this->highlightAndParse($this->currentItem->body);\r
+ $this->highlightAndParse($this->currentItem['body']);\r
}\r
else\r
{\r
- $this->highlightAndParse($this->currentItem->more);\r
+ $this->highlightAndParse($this->currentItem['more']);\r
}\r
return;\r
}\r
*/\r
public function parse_morelink()\r
{\r
- if ( $this->currentItem->more )\r
+ if ( $this->currentItem['more'] )\r
{\r
$this->parser->parse($this->template['MORELINK']);\r
}\r
$offset = $this->blog->getTimeOffset() * 3600;\r
}\r
\r
- echo i18n::formatted_datetime($format, $this->currentItem->timestamp, $offset);\r
+ echo i18n::formatted_datetime($format, $this->currentItem['timestamp'], $offset);\r
return;\r
}\r
\r
{\r
$format = $this->template['FORMAT_TIME'];\r
}\r
- echo i18n::formatted_datetime($format, $this->currentItem->timestamp);\r
+ echo i18n::formatted_datetime($format, $this->currentItem['timestamp']);\r
return;\r
}\r
\r
* @return string syndicated title\r
*/\r
public function parse_syndicate_title($maxLength = 100) {\r
- $syndicated = strip_tags($this->currentItem->title);\r
+ $syndicated = strip_tags($this->currentItem['title']);\r
echo Entity::hsc(Entity::shorten($syndicated,$maxLength,'...'));\r
}\r
\r
*/\r
public function parse_syndicate_description($maxLength = 250, $addHighlight = 0)\r
{\r
- $syndicated = strip_tags($this->currentItem->body);\r
+ $syndicated = strip_tags($this->currentItem['body']);\r
if ( $addHighlight )\r
{\r
$tmp_highlight = Entity::hsc(Entity::shorten($syndicated,$maxLength,'...'));\r
public function parse_karmaposlink($text = '')\r
{\r
global $CONF;\r
- $link = $CONF['ActionURL'] . '?action=votepositive&itemid=' . $this->currentItem->itemid;\r
+ $link = $CONF['ActionURL'] . '?action=votepositive&itemid=' . $this->currentItem['itemid'];\r
if ( !$text )\r
{\r
echo '<a href="'.$link.'">' . $text . '</a>';\r
public function parse_karmaneglink($text = '')\r
{\r
global $CONF;\r
- $link = $CONF['ActionURL'] . '?action=votenegative&itemid='.$this->currentItem->itemid;\r
+ $link = $CONF['ActionURL'] . '?action=votenegative&itemid='.$this->currentItem['itemid'];\r
\r
if ( !$text )\r
{\r
*/\r
public function parse_new()\r
{\r
- if ( ($this->lastVisit != 0) && ($this->currentItem->timestamp > $this->lastVisit) )\r
+ if ( ($this->lastVisit != 0) && ($this->currentItem['timestamp'] > $this->lastVisit) )\r
{\r
echo $this->template['NEW'];\r
}\r
*/\r
public function parse_daylink()\r
{\r
- echo Link::create_archive_link($this->blog->getID(), i18n::formatted_datetime('%Y-%m-%d', $this->currentItem->timestamp), $this->linkparams);\r
+ echo Link::create_archive_link($this->blog->getID(), i18n::formatted_datetime('%Y-%m-%d', $this->currentItem['timestamp']), $this->linkparams);\r
return;\r
}\r
\r
// add comments\r
if ( $this->showComments && $this->blog->commentsEnabled() )\r
{\r
- $comments = new Comments($this->currentItem->itemid);\r
+ $comments = new Comments($this->currentItem['itemid']);\r
$comments->setItemActions($this);\r
- $comments->showComments($this->template, $maxToShow, $this->currentItem->closed ? 0 : 1, $this->strHighlight);\r
+ $comments->showComments($this->template, $maxToShow, $this->currentItem['closed'] ? 0 : 1, $this->strHighlight);\r
}\r
return;\r
}\r
public function parse_edit()\r
{\r
global $member, $CONF;\r
- if ( $this->allowEditAll || ($member->isLoggedIn() && ($member->getID() == $this->currentItem->authorid)) )\r
+ if ( $this->allowEditAll || ($member->isLoggedIn() && ($member->getID() == $this->currentItem['authorid'])) )\r
{\r
$this->parser->parse($this->template['EDITLINK']);\r
}\r
public function parse_editlink()\r
{\r
global $CONF;\r
- echo $CONF['AdminURL'] . 'bookmarklet.php?action=edit&itemid=' . $this->currentItem->itemid;\r
+ echo $CONF['AdminURL'] . 'bookmarklet.php?action=edit&itemid=' . $this->currentItem['itemid'];\r
return;\r
}\r
\r
$condition = ($blog && ($blog->getSetting($name) == $value));\r
break;\r
case 'itemblogsetting':\r
- $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem->itemid));\r
+ $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem['itemid']));\r
$condition = ($b && ($b->getSetting($name) == $value));\r
break;\r
case 'loggedin':\r
{\r
global $member, $manager;\r
\r
- $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem->itemid));\r
+ $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem['itemid']));\r
\r
// when no parameter is defined, just check if author is current visitor\r
if ( ($key != 'isadmin' && $key != 'name') || ($key == 'name' && $value == '') )\r
{\r
- return (boolean) ((integer) $member->getID() > 0 && (integer) $member->getID() == (integer) $this->currentItem->authorid);\r
+ return (boolean) ((integer) $member->getID() > 0 && (integer) $member->getID() == (integer) $this->currentItem['authorid']);\r
}\r
\r
// check author name\r
if ( $key == 'name' )\r
{\r
$value = strtolower($value);\r
- if ( $value == strtolower($this->currentItem->author) )\r
+ if ( $value == strtolower($this->currentItem['author']) )\r
{\r
return TRUE;\r
}\r
// check if author is admin\r
if ( ($key == 'isadmin') )\r
{\r
- $aid = intval($this->currentItem->authorid);\r
+ $aid = intval($this->currentItem['authorid']);\r
$blogid = intval($b->getID()); \r
$amember =& $manager->getMember($aid);\r
if ( $amember->isAdmin() )\r
{\r
global $catid, $manager;\r
\r
- $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem->itemid));\r
+ $b =& $manager->getBlog(getBlogIDFromItemID($this->currentItem['itemid']));\r
\r
// when no parameter is defined, just check if a category is selected\r
if ( ($key != 'catname' && $key != 'catid') || ($value == '') )\r
return (boolean) $b->isValidCategory($catid);\r
}\r
\r
- $icatid = $this->currentItem->catid;\r
+ $icatid = $this->currentItem['catid'];\r
\r
// check category name\r
if ( $key == 'catname' )\r
\r
return (boolean) call_user_func_array(array(&$plugin, 'doIf'), $params);\r
}\r
-}
+}
\ No newline at end of file
// these methods shouldn't be called directly\r
function readFromDatabase() {\r
$query = 'SELECT ikarmapos, ikarmaneg FROM '.sql_table('item').' WHERE inumber=' . $this->itemid;\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
+ $res = DB::getRow($query);\r
\r
- $this->karmapos = $obj->ikarmapos;\r
- $this->karmaneg = $obj->ikarmaneg;\r
+ $this->karmapos = $res['ikarmapos'];\r
+ $this->karmaneg = $res['ikarmaneg'];\r
$this->inforead = 1;\r
}\r
\r
\r
function writeToDatabase() {\r
$query = 'UPDATE '.sql_table('item').' SET ikarmapos=' . $this->karmapos . ', ikarmaneg='.$this->karmaneg.' WHERE inumber=' . $this->itemid;\r
- sql_query($query);\r
+ DB::execute($query);\r
}\r
\r
// checks if a vote is still allowed for an IP\r
function isVoteAllowed($ip) {\r
- $query = 'SELECT * FROM '.sql_table('karma')." WHERE itemid=$this->itemid and ip='".sql_real_escape_string($ip)."'";\r
- $res = sql_query($query);\r
- return (sql_num_rows($res) == 0);\r
+ $query = 'SELECT * FROM '.sql_table('karma')." WHERE itemid={$this->itemid} and ip=". DB::quoteValue($ip);\r
+ $res = DB::getResult($query);\r
+ return ($res->rowCount() == 0);\r
}\r
\r
// save IP in database so no multiple votes are possible\r
function saveIP() {\r
- $query = 'INSERT INTO '.sql_table('karma').' (itemid, ip) VALUES ('.$this->itemid.",'".sql_real_escape_string(serverVar('REMOTE_ADDR'))."')";\r
- sql_query($query);\r
+ $query = 'INSERT INTO ' . sql_table('karma') .' (itemid, ip) VALUES (' . $this->itemid . ','. DB::quoteValue(serverVar('REMOTE_ADDR')) .')';\r
+ DB::execute($query);\r
}\r
}\r
\r
*/\r
public function existsCategory($id)\r
{\r
- return (quickQuery('SELECT COUNT(*) as result FROM '.sql_table('category').' WHERE catid='.intval($id)) > 0);\r
+ return (DB::getValue('SELECT COUNT(*) as result FROM '.sql_table('category').' WHERE catid='.intval($id)) > 0);\r
}\r
\r
/**\r
// 'installedPlugins' = array ($pid => $name)\r
case 'installedPlugins':\r
$this->cachedInfo['installedPlugins'] = array();\r
- $res = sql_query('SELECT pid, pfile FROM ' . sql_table('plugin'));\r
- while ( $o = sql_fetch_object($res) )\r
+ $res = DB::getResult('SELECT pid, pfile FROM ' . sql_table('plugin'));\r
+ foreach ( $res as $row )\r
{\r
- $this->cachedInfo['installedPlugins'][$o->pid] = $o->pfile;\r
+ $this->cachedInfo['installedPlugins'][$row['pid']] = $row['pfile'];\r
}\r
break;\r
}\r
. " FROM %s as e, %s as p"\r
. " WHERE e.pid=p.pid ORDER BY p.porder ASC";\r
$query = sprintf($query, sql_table('plugin_event'), sql_table('plugin'));\r
- $res = sql_query($query);\r
+ $res = DB::getResult($query);\r
\r
- while ( $o = sql_fetch_object($res) )\r
+ foreach ( $res as $row )\r
{\r
- $pluginName = $o->pfile;\r
- $eventName = $o->event;\r
+ $pluginName = $row['pfile'];\r
+ $eventName = $row['event'];\r
$this->subscriptions[$eventName][] = $pluginName;\r
}\r
return;\r
}\r
\r
// check if ticket is a valid one\r
- $query = 'SELECT COUNT(*) as result FROM ' . sql_table('tickets') . ' WHERE member=' . intval($memberId). ' and ticket=\''.sql_real_escape_string($ticket).'\'';\r
+ $query = sprintf('SELECT COUNT(*) as result FROM %s WHERE member=%d and ticket=%s',\r
+ sql_table('tickets'),\r
+ intval($memberId),\r
+ DB::quoteValue($ticket)\r
+ );\r
\r
/*\r
* NOTE:\r
* leaving the keys in the database is not a real problem, since they're member-specific and\r
* only valid for a period of one hour]\r
*/\r
- if ( quickQuery($query) != 1 )\r
+ if ( DB::getValue($query) != 1 )\r
{\r
return FALSE;\r
}\r
$oldTime = time() - 60 * 60;\r
$query = "DELETE FROM %s WHERE ctime < '%s';";\r
$query = sprintf($query, sql_table('tickets'), date('Y-m-d H:i:s',$oldTime));\r
- sql_query($query);\r
+ DB::execute($query);\r
return;\r
}\r
\r
\r
// add in database as non-active\r
$query = "INSERT INTO %s (ticket, member, ctime)"\r
- . " VALUES ('%s', %d, '%s');";\r
- $query = sprintf($query, sql_table('tickets'), sql_real_escape_string($ticket), (integer) $memberId, date('Y-m-d H:i:s',time()));\r
+ . " VALUES (%s, %d, '%s');";\r
+ $query = sprintf($query, sql_table('tickets'), DB::quoteValue($ticket), (integer) $memberId, date('Y-m-d H:i:s',time()));\r
\r
- if ( sql_query($query) )\r
+ if ( DB::execute($query) !== FALSE )\r
{\r
$ok = true;\r
}\r
*/\r
public function readFromName($displayname)\r
{\r
- return $this->read("mname='".sql_real_escape_string($displayname)."'");\r
+ return $this->read('mname='.DB::quoteValue($displayname));\r
}\r
\r
/**\r
// read info\r
$query = 'SELECT * FROM '.sql_table('member') . ' WHERE ' . $where;\r
\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- \r
- $this->setRealName($obj->mrealname);\r
- $this->setEmail($obj->memail);\r
- $this->password = $obj->mpassword;\r
- $this->setCookieKey($obj->mcookiekey);\r
- $this->setURL($obj->murl);\r
- $this->setDisplayName($obj->mname);\r
- $this->setAdmin($obj->madmin);\r
- $this->id = $obj->mnumber;\r
- $this->setCanLogin($obj->mcanlogin);\r
- $this->setNotes($obj->mnotes);\r
- $this->setLocale($obj->mlocale);\r
- $this->setAutosave($obj->mautosave);\r
- \r
- return sql_num_rows($res);\r
+ $row = DB::getRow($query);\r
+ \r
+ $this->setRealName($row['mrealname']);\r
+ $this->setEmail($row['memail']);\r
+ $this->password = $row['mpassword'];\r
+ $this->setCookieKey($row['mcookiekey']);\r
+ $this->setURL($row['murl']);\r
+ $this->setDisplayName($row['mname']);\r
+ $this->setAdmin($row['madmin']);\r
+ $this->id = $row['mnumber'];\r
+ $this->setCanLogin($row['mcanlogin']);\r
+ $this->setNotes($row['mnotes']);\r
+ $this->setLocale($row['mlocale']);\r
+ $this->setAutosave($row['mautosave']);\r
+ \r
+ return $row ? TRUE : FALSE;\r
}\r
\r
/**\r
$query = 'SELECT tadmin FROM '.sql_table('team').' WHERE'\r
. ' tblog=' . intval($blogid)\r
. ' and tmember='. $this->getID();\r
- $res = sql_query($query);\r
- if ( sql_num_rows($res) == 0 )\r
- return 0;\r
+ $res = DB::getValue($query);\r
+ if ( $res )\r
+ return ($res == 1);\r
else\r
- return ( sql_result($res,0,0) == 1 );\r
+ return 0;\r
}\r
\r
/**\r
$query = 'SELECT * FROM '.sql_table('team').' WHERE'\r
. ' tblog=' . intval($blogid)\r
. ' and tmember='. $this->getID();\r
- $res = sql_query($query);\r
- return (sql_num_rows($res) != 0);\r
+ $res = DB::getResult($query);\r
+ return ($res->rowCount() != 0);\r
}\r
\r
/**\r
$query = 'SELECT citem as itemid, iblog as blogid, cmember as cauthor, iauthor'\r
. ' FROM '.sql_table('comment') .', '.sql_table('item').', '.sql_table('blog')\r
. ' WHERE citem=inumber and iblog=bnumber and cnumber=' . intval($commentid);\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
+ $res = DB::getRow($query);\r
\r
- return ($obj->cauthor == $this->getID()) or $this->isBlogAdmin($obj->blogid) or ($obj->iauthor == $this->getID());\r
+ return ($res['cauthor'] == $this->getID()) or $this->isBlogAdmin($res['blogid']) or ($res['iauthor'] == $this->getID());\r
}\r
\r
/**\r
if ($this->isAdmin()) return 1;\r
\r
$query = 'SELECT iblog, iauthor FROM '.sql_table('item').' WHERE inumber=' . intval($itemid);\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- return ($obj->iauthor == $this->getID()) or $this->isBlogAdmin($obj->iblog);\r
+ $res = DB::getRow($query);\r
+ return ($res['iauthor'] == $this->getID()) or $this->isBlogAdmin($res['iblog']);\r
}\r
\r
/**\r
*/\r
public function canBeDeleted()\r
{\r
- $res = sql_query('SELECT * FROM '.sql_table('item').' WHERE iauthor=' . $this->getID());\r
- return ( sql_num_rows($res) == 0 );\r
+ $res = DB::getResult('SELECT * FROM '.sql_table('item').' WHERE iauthor=' . $this->getID());\r
+ return ( $res->rowCount() == 0 );\r
}\r
\r
/**\r
if ( i18n::strpos($newcat, 'newcat') === 0 )\r
{\r
// get blogid\r
- list($blogid) = sscanf($newcat,'newcat-%d');\r
+ list($blogid) = sscanf($newcat, 'newcat-%d');\r
return $this->blogAdminRights($blogid);\r
}\r
\r
}\r
\r
// not a valid category -> NOK\r
- $validCat = quickQuery('SELECT COUNT(*) AS result FROM '.sql_table('category').' WHERE catid='.intval($newcat));\r
+ $validCat = DB::getValue('SELECT COUNT(*) AS result FROM '.sql_table('category').' WHERE catid='.intval($newcat));\r
if ( !$validCat )\r
{\r
return 0;\r
$query = 'SELECT tblog as blogid from '.sql_table('team').' where tadmin=1 and tmember=' . $this->getID();\r
}\r
\r
- $res = sql_query($query);\r
- if ( sql_num_rows($res) > 0 )\r
+ $res = DB::getResult($query);\r
+ if ( $res->rowCount() > 0 )\r
{\r
- while ( $obj = sql_fetch_object($res) )\r
+ foreach ( $res as $row )\r
{\r
- array_push($blogs, $obj->blogid);\r
+ array_push($blogs, $row['blogid']);\r
}\r
}\r
return $blogs;\r
$query = 'SELECT tblog as blogid from '.sql_table('team').' where tmember=' . $this->getID();\r
}\r
\r
- $res = sql_query($query);\r
- if ( sql_num_rows($res) > 0 )\r
+ $res = DB::getResult($query);\r
+ if ( $res->rowCount() > 0 )\r
{\r
- while ( $obj = sql_fetch_object($res) )\r
+ foreach ( $res as $row )\r
{\r
- array_push($blogs, $obj->blogid);\r
+ array_push($blogs, $row['blogid']);\r
}\r
}\r
return $blogs;\r
public function write()\r
{\r
$query = 'UPDATE '.sql_table('member')\r
- . " SET mname='" . sql_real_escape_string($this->displayname) . "', "\r
- . "mrealname='". sql_real_escape_string($this->realname) . "', "\r
- . "mpassword='". sql_real_escape_string($this->password) . "', "\r
- . "mcookiekey='". sql_real_escape_string($this->cookiekey) . "', "\r
- . "murl='" . sql_real_escape_string($this->url) . "', "\r
- . "memail='" . sql_real_escape_string($this->email) . "', "\r
- . "madmin=" . intval($this->admin) . ", "\r
- . "mnotes='" . sql_real_escape_string($this->notes) . "', "\r
- . "mcanlogin=" . intval($this->canlogin) . ", "\r
- . "mlocale='" . sql_real_escape_string($this->locale) . "', "\r
- . "mautosave=" . intval($this->autosave) . " "\r
- . "WHERE mnumber=" . intval($this->id);\r
- sql_query($query);\r
+ . ' SET mname=' . DB::quoteValue($this->displayname) . ', '\r
+ . 'mrealname='. DB::quoteValue($this->realname) . ', '\r
+ . 'mpassword='. DB::quoteValue($this->password) . ', '\r
+ . 'mcookiekey='. DB::quoteValue($this->cookiekey) . ', '\r
+ . 'murl=' . DB::quoteValue($this->url) . ', '\r
+ . 'memail=' . DB::quoteValue($this->email) . ', '\r
+ . 'madmin=' . intval($this->admin) . ', '\r
+ . 'mnotes=' . DB::quoteValue($this->notes) . ', '\r
+ . 'mcanlogin=' . intval($this->canlogin) . ', '\r
+ . 'mlocale=' . DB::quoteValue($this->locale) . ', '\r
+ . 'mautosave=' . intval($this->autosave) . ' '\r
+ . 'WHERE mnumber=' . intval($this->id);\r
+ DB::execute($query);\r
return;\r
}\r
\r
*/\r
public static function exists($name)\r
{\r
- $r = sql_query('select * FROM '.sql_table('member')." WHERE mname='".sql_real_escape_string($name)."'");\r
- return ( sql_num_rows($r) != 0 );\r
+ $r = DB::getResult('SELECT * FROM ' . sql_table('member') . ' WHERE mname=' . DB::quoteValue($name));\r
+ return ( $r->rowCount() != 0 );\r
}\r
\r
/**\r
*/\r
public static function existsID($id)\r
{\r
- $r = sql_query('select * FROM '.sql_table('member')." WHERE mnumber='".intval($id)."'");\r
- return (sql_num_rows($r) != 0);\r
+ $r = DB::getResult('SELECT * FROM ' . sql_table('member') . ' WHERE mnumber=' . intval($id));\r
+ return ( $r->rowCount() != 0 );\r
}\r
\r
/**\r
$url = 'http://' . $url;\r
}\r
\r
- $name = sql_real_escape_string($name);\r
- $realname = sql_real_escape_string($realname);\r
+ $name = DB::quoteValue($name);\r
+ $realname = DB::quoteValue($realname);\r
/* NOTE: hashed password is automatically updated if the length is 32 bytes when logging in */\r
- $password = sql_real_escape_string(md5($password));\r
- $email = sql_real_escape_string($email);\r
- $url = sql_real_escape_string($url);\r
+ $password = DB::quoteValue(md5($password));\r
+ $email = DB::quoteValue($email);\r
+ $url = DB::quoteValue($url);\r
$admin = (integer) $admin;\r
$canlogin = (integer) $canlogin;\r
- $notes = sql_real_escape_string($notes);\r
+ $notes = DB::quoteValue($notes);\r
\r
$query = "INSERT INTO %s"\r
. " (MNAME,MREALNAME,MPASSWORD,MEMAIL,MURL, MADMIN, MCANLOGIN, MNOTES)"\r
- . " VALUES ('%s','%s','%s','%s','%s',%d, %d, '%s')";\r
+ . " VALUES (%s, %s, %s, %s, %s, %d, %d, %s)";\r
$query = sprintf($query, sql_table('member'), $name, $realname, $password, $email, $url, $admin, $canlogin, $notes);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
ActionLog::add(INFO, _ACTIONLOG_NEWMEMBER . ' ' . $name);\r
\r
*/\r
public static function getActivationInfo($key)\r
{\r
- $query = 'SELECT * FROM ' . sql_table('activation') . ' WHERE vkey=\'' . sql_real_escape_string($key). '\'';\r
- $res = sql_query($query);\r
+ $query = 'SELECT * FROM ' . sql_table('activation') . ' WHERE vkey=' . DB::quoteValue($key);\r
+ $res = DB::getResult($query);\r
\r
- if ( !$res || (sql_num_rows($res) == 0) )\r
+ if ( !$res || ($res->rowCount() == 0) )\r
{\r
return 0;\r
}\r
- return sql_fetch_object($res);\r
+ return $res->fetch();\r
}\r
\r
/**\r
\r
// kill any existing entries for the current member (delete is ok)\r
// (only one outstanding activation key can be present for a member)\r
- sql_query('DELETE FROM ' . sql_table('activation') . ' WHERE vmember=' . intval($this->getID()));\r
+ DB::execute('DELETE FROM ' . sql_table('activation') . ' WHERE vmember=' . intval($this->getID()));\r
\r
// indicates if the member can log in while the link is active\r
$canLoginWhileActive = false;\r
// attempt to add entry in database\r
// add in database as non-active\r
$query = 'INSERT INTO ' . sql_table('activation'). ' (vkey, vtime, vmember, vtype, vextra) ';\r
- $query .= 'VALUES (\'' . sql_real_escape_string($key). '\', \'' . date('Y-m-d H:i:s',time()) . '\', \'' . intval($this->getID()). '\', \'' . sql_real_escape_string($type). '\', \'' . sql_real_escape_string($extra). '\')';\r
- if ( sql_query($query) )\r
+ $query .= 'VALUES (' . DB::quoteValue($key). ', \'' . date('Y-m-d H:i:s',time()) . '\', ' . intval($this->getID()). ', ' . DB::quoteValue($type). ', ' . DB::quoteValue($extra). ')';\r
+ if ( DB::execute($query) !== FALSE )\r
$ok = true;\r
}\r
\r
return false;\r
}\r
\r
- switch ( $info->vtype )\r
+ switch ( $info['vtype'] )\r
{\r
case 'forgot':\r
// nothing to do\r
case 'register':\r
// set canlogin value\r
global $CONF;\r
- sql_query('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($CONF['NewMemberCanLogon']). ' WHERE mnumber=' . intval($info->vmember));\r
+ DB::execute('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($CONF['NewMemberCanLogon']). ' WHERE mnumber=' . intval($info['vmember']));\r
break;\r
case 'addresschange':\r
// reset old 'canlogin' value\r
- list($oldEmail, $oldCanLogin) = preg_split('#/#', $info->vextra);\r
- sql_query('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($oldCanLogin). ' WHERE mnumber=' . intval($info->vmember));\r
+ list($oldEmail, $oldCanLogin) = preg_split('#/#', $info['vextra']);\r
+ DB::execute('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($oldCanLogin). ' WHERE mnumber=' . intval($info['vmember']));\r
break;\r
}\r
\r
// delete from activation table\r
- sql_query('DELETE FROM ' . sql_table('activation') . ' WHERE vkey=\'' . sql_real_escape_string($key) . '\'');\r
+ DB::execute('DELETE FROM ' . sql_table('activation') . ' WHERE vkey=' . DB::quoteValue($key));\r
\r
// success!\r
return true;\r
$boundary = time() - (60 * 60 * 24 * $actdays);\r
\r
// 1. walk over all entries, and see if special actions need to be performed\r
- $res = sql_query('SELECT * FROM ' . sql_table('activation') . ' WHERE vtime < \'' . date('Y-m-d H:i:s',$boundary) . '\'');\r
+ $res = DB::getResult('SELECT * FROM ' . sql_table('activation') . ' WHERE vtime < \'' . date('Y-m-d H:i:s',$boundary) . '\'');\r
\r
- while ( $o = sql_fetch_object($res) )\r
+ foreach ( $res as $row )\r
{\r
- switch ( $o->vtype )\r
+ switch ( $row['vtype'] )\r
{\r
case 'register':\r
// delete all information about this site member. registration is undone because there was\r
// no timely activation\r
include_once($DIR_LIBS . 'ADMIN.php');\r
- Admin::deleteOneMember(intval($o->vmember));\r
+ Admin::deleteOneMember(intval($row['vmember']));\r
break;\r
case 'addresschange':\r
// revert the e-mail address of the member back to old address\r
- list($oldEmail, $oldCanLogin) = preg_split('#/#', $o->vextra);\r
- sql_query('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($oldCanLogin). ', memail=\'' . sql_real_escape_string($oldEmail). '\' WHERE mnumber=' . intval($o->vmember));\r
+ list($oldEmail, $oldCanLogin) = preg_split('#/#', $row['vextra']);\r
+ DB::execute('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($oldCanLogin). ', memail=' . DB::quoteValue($oldEmail). ' WHERE mnumber=' . intval($row['vmember']));\r
break;\r
case 'forgot':\r
// delete the activation link and ignore. member can request a new password using the\r
}\r
\r
// 2. delete activation entries for real\r
- sql_query('DELETE FROM ' . sql_table('activation') . ' WHERE vtime < \'' . date('Y-m-d H:i:s',$boundary) . '\'');\r
+ DB::execute('DELETE FROM ' . sql_table('activation') . ' WHERE vtime < \'' . date('Y-m-d H:i:s',$boundary) . '\'');\r
return;\r
}\r
\r
* Name of the feature. See plugin documentation for more info\r
* 'SqlTablePrefix' -> if the plugin uses the sql_table() method to get table names\r
* 'HelpPage' -> if the plugin provides a helppage\r
- * 'SqlApi' -> if the plugin uses the complete sql_* api (must also require nucleuscms 3.5)\r
+ * 'SqlApi' -> if the plugin uses the complete sql_* or DB::* api (must also require nucleuscms 3.5)\r
*/\r
public function supportsFeature($feature)\r
{\r
\r
$query = "SELECT d.oname as name, o.ovalue as value FROM %s o, %s d WHERE d.opid=%d AND d.oid=o.oid;";\r
$query = sprintf($query, sql_table('plugin_option'), sql_table('plugin_option_desc'), (integer) $this->plugid);\r
- $result = sql_query($query);\r
- while ( $row = sql_fetch_object($result) )\r
+ $result = DB::getResult($query);\r
+ foreach ( $result as $row )\r
{\r
- $this->plugin_options[strtolower($row->name)] = $row->value;\r
+ $this->plugin_options[strtolower($row['name'])] = $row['value'];\r
}\r
}\r
if ( isset($this->plugin_options[strtolower($name)]) )\r
// retrieve the data and return\r
$query = "SELECT otype, oextra FROM %s WHERE oid = %d;";\r
$query = sprintf($query, sql_table('plugin_option_desc'), $oid);\r
- $result = sql_query($query);\r
+ $row = DB::getRow($query);\r
\r
- $o = sql_fetch_array($result);\r
- \r
- if ( ($this->optionCanBeNumeric($o['otype'])) && ($o['oextra'] == 'number' ) )\r
+ if ( ($this->optionCanBeNumeric($row['otype'])) && ($row['oextra'] == 'number' ) )\r
{\r
$orderby = 'CAST(ovalue AS SIGNED)';\r
}\r
}\r
$query = "SELECT ovalue value, ocontextid id FROM %s WHERE oid = %d ORDER BY %s %s LIMIT 0,%d;";\r
$query = sprintf($query, sql_table('plugin_option'), $oid, $orderby, $sort, (integer) $amount);\r
- $result = sql_query($query);\r
+ $result = DB::getResult($query);\r
\r
// create the array\r
$i = 0;\r
$top = array();\r
- while( $row = sql_fetch_array($result) )\r
+ foreach( $result as $row )\r
{\r
$top[$i++] = $row;\r
}\r
$query = 'INSERT INTO ' . sql_table('plugin_option_desc')\r
.' (opid, oname, ocontext, odesc, otype, odef, oextra)'\r
.' VALUES ('.intval($this->plugid)\r
- .', \''.sql_real_escape_string($name).'\''\r
- .', \''.sql_real_escape_string($context).'\''\r
- .', \''.sql_real_escape_string($desc).'\''\r
- .', \''.sql_real_escape_string($type).'\''\r
- .', \''.sql_real_escape_string($defValue).'\''\r
- .', \''.sql_real_escape_string($typeExtras).'\');';\r
- sql_query($query);\r
- $oid = sql_insert_id();\r
+ .', '.DB::quoteValue($name)\r
+ .', '.DB::quoteValue($context)\r
+ .', '.DB::quoteValue($desc)\r
+ .', '.DB::quoteValue($type)\r
+ .', '.DB::quoteValue($defValue)\r
+ .', '.DB::quoteValue($typeExtras).')';\r
+ DB::execute($query);\r
+ $oid = DB::getInsertId();\r
\r
$key = $context . '_' . $name;\r
$this->option_info[$key] = array('oid' => $oid, 'default' => $defValue);\r
// delete all things from plugin_option\r
$query = "DELETE FROM %s WHERE oid=%d;";\r
$query = sprintf($query, sql_table('plugin_option'), (integer) $oid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// delete entry from plugin_option_desc\r
$query = "DELETE FROM %s WHERE oid=%d;";\r
$query = sprintf($query, sql_table('plugin_option_desc'), $oid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
// clear from cache\r
unset($this->option_info["{$context}_{$name}"]);\r
// update plugin_option\r
$query = "DELETE FROM %s WHERE oid=%d and ocontextid=%d;";\r
$query = sprintf($query, sql_table('plugin_option'), (integer) $oid, (integer) $contextid);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
- $query = "INSERT INTO %s (ovalue, oid, ocontextid) VALUES ('%s', %d, %d);";\r
- $query = sprintf($query, sql_table('plugin_option'), sql_real_escape_string($value), $oid, $contextid);\r
- sql_query($query);\r
+ $query = "INSERT INTO %s (ovalue, oid, ocontextid) VALUES (%s, %d, %d);";\r
+ $query = sprintf($query, sql_table('plugin_option'), DB::quoteValue($value), $oid, $contextid);\r
+ DB::execute($query);\r
\r
// update cache\r
$this->option_values["{$oid}_{$contextid}"] = $value;\r
// get from DB\r
$query = "SELECT ovalue FROM %s WHERE oid=%d and ocontextid=%d;";\r
$query = sprintf($query, sql_table('plugin_option'), (integer) $oid, (integer) $contextid);\r
- $result = sql_query($query);\r
+ $result = DB::getResult($query);\r
\r
- if ( !$result || (sql_num_rows($result) == 0) )\r
+ if ( !$result || ($result->rowCount() == 0) )\r
{\r
// fill DB with default value\r
$this->option_values[$key] = $this->get_default_value($context, $name);\r
- $query = "INSERT INTO %s (oid, ocontextid, ovalue) VALUES (%d, %d, '%s');";\r
- $query = sprintf($query, sql_table('plugin_option'), (integer) $oid, (integer) $contextid, sql_real_escape_string($this->option_values[$key]));\r
- sql_query($query);\r
+ $query = "INSERT INTO %s (oid, ocontextid, ovalue) VALUES (%d, %d, %s);";\r
+ $query = sprintf($query, sql_table('plugin_option'), (integer) $oid, (integer) $contextid, DB::quoteValue($defVal));\r
+ DB::execute($query);\r
}\r
else\r
{\r
- $o = sql_fetch_object($result);\r
- $this->option_values[$key] = $o->ovalue;\r
+ $row = $result->fetch();\r
+ $this->option_values[$key] = $row['ovalue'];\r
}\r
\r
return $this->option_values[$key];\r
break;\r
}\r
\r
- $result = sql_query($query);\r
+ $result = DB::getResult($query);\r
if ( $result )\r
{\r
- while ( $o = sql_fetch_object($r) )\r
+ foreach ( $result as $row )\r
{\r
- $options[$o->contextid] = $default_value;\r
+ $options[$row['contextid']] = $default_value;\r
}\r
}\r
\r
$query = "SELECT ocontextid, ovalue FROM %s WHERE oid=%d;";\r
$query = sprintf($query, sql_table('plugin_option'), $oid);\r
- $result = sql_query($query);\r
- while ( $o = sql_fetch_object($result) )\r
+ $result = DB::getResult($query);\r
+ foreach ( $result as $row )\r
{\r
- $options[$o->ocontextid] = $o->ovalue;\r
+ $options[$row['ocontextid']] = $row['ovalue'];\r
}\r
\r
return $options;\r
$this->option_info = array();\r
$query = "SELECT oid, oname, ocontext, odef FROM %s WHERE opid=%d;";\r
$query = sprintf($query, sql_table('plugin_option_desc'), $this->plugid);\r
- $result = sql_query($query);\r
- while ( $o = sql_fetch_object($result) )\r
+ $result = DB::getResult($query);\r
+ foreach ( $result as $row )\r
{\r
- $k = $o->ocontext . '_' . $o->oname;\r
- $this->option_info[$k] = array('oid' => $o->oid, 'default' => $o->odef);\r
+ $k = $row['ocontext'] . '_' . $row['oname'];\r
+ $this->option_info[$k] = array('oid' => $row['oid'], 'default' => $row['odef']);\r
}\r
- sql_free_result($result);\r
+ $result->closeCursor();\r
\r
return $this->option_info[$key]['oid'];\r
}\r
// delete all associated plugin options\r
$aOIDs = array();\r
// find ids\r
- $query = "SELECT oid FROM %s WHERE ocontext='%s';";\r
- $query = sprintf($query, sql_table('plugin_option_desc'), sql_real_escape_string($context));\r
+ $query = "SELECT oid FROM %s WHERE ocontext=%s;";\r
+ $query = sprintf($query, sql_table('plugin_option_desc'), DB::quoteValue($context));\r
\r
- $result = sql_query($query);\r
- while ( $o = sql_fetch_object($result) )\r
+ $result = DB::getResult($query);\r
+ foreach ( $result as $row )\r
{\r
- array_push($aOIDs, $o->oid);\r
+ array_push($aOIDs, $row['oid']);\r
}\r
- sql_free_result($result);\r
+ $result->closeCursor();\r
// delete those options. go go go\r
if ( count($aOIDs) > 0 )\r
{\r
$query = "DELETE FROM %s WHERE oid in (%s) and ocontextid=%d;";\r
$query = sprintf($query, sql_table('plugin_option'), implode(',',$aOIDs), (integer) $contextid);\r
- sql_query($query);\r
+ DB::execute($query);\r
}\r
return;\r
}\r
*/\r
public function subscribtionListIsUptodate()\r
{\r
- $res = sql_query('SELECT event FROM '.sql_table('plugin_event').' WHERE pid = '.$this->plugid);\r
+ $res = DB::getResult('SELECT event FROM '.sql_table('plugin_event').' WHERE pid = '.$this->plugid);\r
$ev = array();\r
- while( $a = sql_fetch_array($res) )\r
+ foreach ( $res as $row )\r
{\r
- array_push($ev, $a['event']);\r
+ array_push($ev, $row['event']);\r
}\r
if ( count($ev) != count($this->getEventList()) )\r
{\r
// get option type info\r
$query = "SELECT opid, oname, ocontext, otype, oextra, odef FROM %s WHERE oid=%d;";\r
$query = sprintf($query, sql_table('plugin_option_desc'), (integer) $oid);\r
- $result = sql_query($query);\r
- if ( $info = sql_fetch_object($result) )\r
+ $result = DB::getRow($query);\r
+ if ( $result )\r
{\r
foreach ( $values as $id => $value )\r
{\r
$value = undoMagic($value);\r
\r
/* validation the value according to its type */\r
- switch ( $info->otype )\r
+ switch ( $result['otype'] )\r
{\r
case 'yesno':\r
if ( ($value != 'yes') && ($value != 'no') )\r
if ( array_key_exists('datatype', $meta)\r
&& ($meta['datatype'] == 'numerical') && ($value != (integer) $value) )\r
{\r
- $value = (integer) $info->odef;\r
+ $value = (integer) $result['odef'];\r
}\r
break;\r
case 'password':\r
* possibility to change/validate the new value for the option\r
*/\r
$data = array(\r
- 'context' => $info->ocontext,\r
- 'plugid' => $info->opid,\r
- 'optionname' => $info->oname,\r
+ 'context' => $result['ocontext'],\r
+ 'plugid' => $result['opid'],\r
+ 'optionname' => $result['oname'],\r
'contextid' => $contextid,\r
'value' => &$value);\r
$manager->notify('PrePluginOptionsUpdate', $data);\r
// delete and insert its fields of table in database\r
$query = "DELETE FROM %s WHERE oid=%d AND ocontextid=%d;";\r
$query = sprintf($query, sql_table('plugin_option'), (integer) $oid, (integer) $contextid);\r
- sql_query($query);\r
- $query = "INSERT INTO %s (oid, ocontextid, ovalue) VALUES (%d, %d, '%s');";\r
- $query = sprintf($query, sql_table('plugin_option'), (integer) $oid, (integer) $contextid, sql_real_escape_string($value));\r
- sql_query($query);\r
+ DB::execute($query);\r
+ $query = "INSERT INTO %s (oid, ocontextid, ovalue) VALUES (%d, %d, %s);";\r
+ $query = sprintf($query, sql_table('plugin_option'), (integer) $oid, (integer) $contextid, DB::quoteValue($value));\r
+ DB::execute($query);\r
}\r
}\r
// clear option value cache if the plugin object is already loaded\r
if ( is_object($info) )\r
{\r
- $plugin=& $manager->pidLoaded($info->opid);\r
+ $plugin=& $manager->pidLoaded($result['opid']);\r
if ( $plugin )\r
{\r
$plugin->clearOptionValueCache();\r
$this->blogs = array();\r
\r
// get all public searchable blogs, no matter what, include the current blog allways.\r
- $res = sql_query('SELECT bnumber FROM '.sql_table('blog').' WHERE bincludesearch=1 ');\r
- while ($obj = sql_fetch_object($res))\r
- $this->blogs[] = intval($obj->bnumber);\r
+ $res = DB::getResult('SELECT bnumber FROM '.sql_table('blog').' WHERE bincludesearch=1 ');\r
+ foreach ( $res as $row )\r
+ $this->blogs[] = intval($row['bnumber']);\r
}\r
\r
function boolean_sql_select($match){\r
}\r
\r
if(i18n::strlen($stringsum_long)>0){\r
- $stringsum_long = sql_real_escape_string($stringsum_long);\r
- $stringsum_a[] = " match ($match) against ('$stringsum_long') ";\r
+ $stringsum_long = DB::quoteValue($stringsum_long);\r
+ $stringsum_a[] = " match ({$match}) against ({$stringsum_long}) ";\r
}\r
\r
$stringsum .= implode("+",$stringsum_a);\r
\r
if (!is_array($matches)) $match=$matches;\r
\r
- else return ' match ('.$match.') against (\''.sql_real_escape_string($matches[1]).'\') > 0 ';\r
+ else return ' match ('.$match.') against ('.DB::quoteValue($matches[1]).') > 0 ';\r
\r
}\r
\r
\r
if (!is_array($matches)) $match=$matches;\r
\r
- else return ' ('.$this->boolean_sql_where_short(sql_real_escape_string($matches[1]),$match).') ';\r
+ else return ' ('.$this->boolean_sql_where_short($matches[1], $match).') ';\r
\r
} \r
\r
function boolean_sql_where_short($string,$match){\r
$match_a = preg_split('#,#',$match);\r
for($ith=0;$ith<count($match_a);$ith++){\r
- $like_a[$ith] = " $match_a[$ith] LIKE '% $string %' ";\r
+ $like_a[$ith] = ' $match_a[$ith] LIKE ' . DB::quoteValue("% {$string} %") . ' ';\r
}\r
$like = implode(" OR ",$like_a);\r
\r
for($ith=0;$ith<count($match_a);$ith++){\r
$score_a[$ith] =\r
" $score_unit_weight*(\r
- LENGTH(" . sql_real_escape_string($match_a[$ith]) . ") -\r
- LENGTH(REPLACE(LOWER(" . sql_real_escape_string($match_a[$ith]) . "),LOWER('" . sql_real_escape_string($string) . "'),'')))\r
- /LENGTH('" . sql_real_escape_string($string) . "') ";\r
+ LENGTH(" . DB::quoteValue($match_a[$ith]) . ") -\r
+ LENGTH(REPLACE(LOWER(" . DB::quoteValue($match_a[$ith]) . "),LOWER(" . DB::quoteValue($string) . "),'')))\r
+ /LENGTH(" . DB::quoteValue($string) . ") ";\r
}\r
$score = implode(" + ",$score_a);\r
\r
*\r
* @license http://nucleuscms.org/license.txt GNU General Public License\r
* @copyright Copyright (C) 2002-2009 The Nucleus Group\r
- * @version $Id: SKIN.php 1813 2012-05-02 14:41:57Z sakamocchi $\r
+ * @version $Id: SKIN.php 1816 2012-05-03 01:40:10Z sakamocchi $\r
*/\r
\r
if ( !function_exists('requestVar') )\r
// read skin name/description/content type\r
$query = "SELECT * FROM %s WHERE sdnumber=%d;";\r
$query = sprintf($query, sql_table('skin_desc'), $this->id);\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- \r
- $this->valid = (sql_num_rows($res) > 0);\r
- if ( !$this->valid )\r
- {\r
- return;\r
+ $res = DB::getRow($query);\r
+ \r
+ $this->valid = !empty($res);\r
+ if ( $this->valid )\r
+ { $this->name = $res['sdname'];\r
+ $this->description = $res['sddesc'];\r
+ $this->contentType = $res['sdtype'];\r
+ $this->includeMode = $res['sdincmode'];\r
+ $this->includePrefix = $res['sdincpref'];\r
}\r
\r
- $this->name = $obj->sdname;\r
- $this->description = $obj->sddesc;\r
- $this->contentType = $obj->sdtype;\r
- $this->includeMode = $obj->sdincmode;\r
- $this->includePrefix = $obj->sdincpref;\r
\r
return;\r
}\r
*/\r
static public function exists($name)\r
{\r
- $query = "SELECT COUNT(*) AS result FROM %s WHERE sdname='%s';";\r
- $query = sprintf($query, sql_table('skin_desc'), sql_real_escape_string($name));\r
- return (quickQuery($query) > 0);\r
+ $query = "SELECT COUNT(*) AS result FROM %s WHERE sdname=%s;";\r
+ $query = sprintf($query, sql_table('skin_desc'), DB::quoteValue($name));\r
+ return (DB::getValue($query) > 0);\r
}\r
\r
/**\r
{\r
$query = "SELECT COUNT(*) AS result FROM %s WHERE sdnumber=%d;";\r
$query = sprintf($query, sql_table('skin_desc'), (integer) $id);\r
- return (quickQuery($query) > 0);\r
+ return (DB::getValue($query) > 0);\r
}\r
\r
/**\r
*/\r
static public function getIdFromName($name)\r
{\r
- $query = "SELECT sdnumber FROM %s WHERE sdname='%s';";\r
- $query = sprintf($query, sql_table('skin_desc'), sql_real_escape_string($name));\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- return $obj->sdnumber;\r
+ $query = "SELECT sdnumber FROM %s WHERE sdname=%s;";\r
+ $query = sprintf($query, sql_table('skin_desc'), DB::quoteValue($name));\r
+ return DB::getValue($query);\r
}\r
\r
/**\r
{\r
$query = "SELECT sdname AS result FROM %s WHERE sdnumber=%d;";\r
$query = sprintf($query, sql_table('skin_desc'), (integer) $id);\r
- return quickQuery($query);\r
+ return DB::getValue($query);\r
}\r
\r
/**\r
{\r
global $manager;\r
\r
- $data = array(
- 'name' => &$name,\r
- 'description' => &$desc,\r
- 'type' => &$type,\r
- 'includeMode' => &$includeMode,\r
- 'includePrefix' => &$includePrefix\r
+ $data = array(\r
+ 'name' => &$name,\r
+ 'description' => &$desc,\r
+ 'type' => &$type,\r
+ 'includeMode' => &$includeMode,\r
+ 'includePrefix' => &$includePrefix\r
);\r
$manager->notify('PreAddSkin', $data);
\r
- $query = "INSERT INTO %s (sdname, sddesc, sdtype, sdincmode, sdincpref) VALUES ('%s', '%s', '%s', '%s', '%s');";\r
- $sdname = sql_real_escape_string($name);\r
- $sddesc = sql_real_escape_string($desc);\r
- $sdtype = sql_real_escape_string($type);\r
- $sdincmode = sql_real_escape_string($includeMode);\r
- $sdincpref = sql_real_escape_string($includePrefix);\r
+ $query = "INSERT INTO %s (sdname, sddesc, sdtype, sdincmode, sdincpref) VALUES (%s, %s, %s, %s, %s);";\r
+ $sdname = DB::quoteValue($name);\r
+ $sddesc = DB::quoteValue($desc);\r
+ $sdtype = DB::quoteValue($type);\r
+ $sdincmode = DB::quoteValue($includeMode);\r
+ $sdincpref = DB::quoteValue($includePrefix);\r
$query = sprintf($query, sql_table('skin_desc'), $sdname, $sddesc, $sdtype, $sdincmode, $sdincpref);\r
- sql_query($query);\r
- $newid = sql_insert_id();\r
- \r
- $data = array(
- 'skinid' => $newid,\r
- 'name' => $name,\r
- 'description' => $desc,\r
- 'type' => $type,\r
- 'includeMode' => $includeMode,\r
- 'includePrefix' => $includePrefix\r
+ DB::execute($query);\r
+ $newid = DB::getInsertId();\r
+ \r
+ $data = array(\r
+ 'skinid' => $newid,\r
+ 'name' => $name,\r
+ 'description' => $desc,\r
+ 'type' => $type,\r
+ 'includeMode' => $includeMode,\r
+ 'includePrefix' => $includePrefix\r
);\r
$manager->notify('PostAddSkin', $data);
*/\r
public function getContentFromDB($skintype)\r
{\r
- $query = "SELECT scontent FROM %s WHERE sdesc=%d and stype='%s';";\r
- $query = sprintf($query, sql_table('skin'), (integer) $this->id, sql_real_escape_string($skintype));\r
- $res = sql_query($query);\r
+ $query = "SELECT scontent FROM %s WHERE sdesc=%d and stype=%s;";\r
+ $query = sprintf($query, sql_table('skin'), (integer) $this->id, DB::quoteValue($skintype));\r
+ $res = DB::getValue($query);\r
\r
- if ( sql_num_rows($res) == 0 )\r
- {\r
- return FALSE;\r
- }\r
- \r
- return sql_result($res, 0, 0);\r
+ return $res ? $res : '';\r
}\r
\r
/**\r
{\r
global $manager;\r
\r
- $query = "SELECT sdesc FROM %s WHERE stype='%s' and sdesc=%d;";\r
- $query = sprintf($query, sql_table('skin'), sql_real_escape_string($type), (integer) $this->id);\r
- $res = sql_query($query);\r
+ $query = "SELECT sdesc FROM %s WHERE stype=%s and sdesc=%d;";\r
+ $query = sprintf($query, sql_table('skin'), DB::quoteValue($type), (integer) $this->id);\r
+ $res = DB::getValue($query);\r
\r
- $skintypeexists = sql_fetch_object($res);\r
+ $skintypeexists = !empty($res);\r
$skintypevalue = ($content == true);\r
\r
if( $skintypevalue && $skintypeexists )\r
else if( $skintypevalue && !$skintypeexists )\r
{\r
$data = array(\r
- 'skinid' => $this->id,\r
- 'type' => $type,\r
- 'content' => &$content\r
+ 'skinid' => $this->id,\r
+ 'type' => $type,\r
+ 'content' => &$content\r
);\r
\r
$manager->notify("PreAdd{$this->event_identifier}Part", $data);\r
else if( !$skintypevalue && $skintypeexists )\r
{\r
$data = array(\r
- 'skinid' => $this->id,\r
- 'type' => $type\r
+ 'skinid' => $this->id,\r
+ 'type' => $type\r
);\r
\r
$manager->notify("PreDelete{$this->event_identifier}Part", $data);\r
}\r
\r
// delete old thingie\r
- $query = "DELETE FROM %s WHERE stype='%s' and sdesc=%d";\r
- $query = sprintf($query, sql_table('skin'), sql_real_escape_string($type), (integer) $this->id);\r
- sql_query($query);\r
+ $query = "DELETE FROM %s WHERE stype=%s and sdesc=%d";\r
+ $query = sprintf($query, sql_table('skin'), DB::quoteValue($type), (integer) $this->id);\r
+ DB::execute($query);\r
\r
// write new thingie\r
if ( $content )\r
{\r
- $query = "INSERT INTO %s (scontent, stype, sdesc) VALUE ('%s', '%s', %d)";\r
- $query = sprintf($query, sql_table('skin'), sql_real_escape_string($content), sql_real_escape_string($type), (integer) $this->id);\r
- sql_query($query);\r
+ $query = "INSERT INTO %s (scontent, stype, sdesc) VALUE (%s, %s, %d)";\r
+ $query = sprintf($query, sql_table('skin'), DB::quoteValue($content), DB::quoteValue($type), (integer) $this->id);\r
+ DB::execute($query);\r
}\r
\r
if( $skintypevalue && $skintypeexists )\r
{\r
$query = "DELETE FROM %s WHERE sdesc=%d;";\r
$query = sprintf($query, sql_table('skin'), (integer) $this->id);\r
- sql_query($query);\r
+ DB::execute($query);\r
}\r
\r
/**\r
*/\r
public function updateGeneralInfo($name, $desc, $type = 'text/html', $includeMode = 'normal', $includePrefix = '')\r
{\r
- $name = sql_real_escape_string($name);\r
- $desc = sql_real_escape_string($desc);\r
- $type = sql_real_escape_string($type);\r
- $includeMode = sql_real_escape_string($includeMode);\r
- $includePrefix = sql_real_escape_string($includePrefix);\r
+ $name = DB::quoteValue($name);\r
+ $desc = DB::quoteValue($desc);\r
+ $type = DB::quoteValue($type);\r
+ $includeMode = DB::quoteValue($includeMode);\r
+ $includePrefix = DB::quoteValue($includePrefix);\r
\r
- $query ="UPDATE %s SET sdname='%s', sddesc='%s', sdtype='%s', sdincmode='%s', sdincpref='%s' WHERE sdnumber=%d";\r
+ $query ="UPDATE %s SET sdname=%s, sddesc=%s, sdtype=%s, sdincmode=%s, sdincpref=%s WHERE sdnumber=%d";\r
$query = sprintf($query, sql_table('skin_desc'), $name, $desc, $type, $includeMode, $includePrefix, (integer) $this->id);\r
\r
- sql_query($query);\r
+ DB::execute($query);\r
return;\r
}\r
\r
$in_default = array();\r
$no_default = array();\r
\r
- $res = sql_query($query);\r
- while ( $row = sql_fetch_array($res) )\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $row )\r
{\r
if ( !array_key_exists($row['stype'], $default_skintypes) )\r
{\r
* Skin::getAllowedActionsForType()\r
* Get the allowed actions for a skin type\r
* returns an array with the allowed actions\r
- * \r
+ * @return array allowed action types\r
* @param string $skintype type of the skin\r
* @return array allowed action types\r
*/\r
*/\r
static public function getIdFromName($name)\r
{\r
- $name = sql_real_escape_string($name);\r
- $query = "SELECT tdnumber FROM %s WHERE tdname='%s';";\r
+ $name = DB::quoteValue($name);\r
+ $query = "SELECT tdnumber FROM %s WHERE tdname=%s";\r
$query = sprintf($query, sql_table('template_desc'), $name);\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- return $obj->tdnumber;\r
+ return DB::getValue($query);\r
}\r
\r
/**\r
*/\r
public function updateGeneralInfo($name, $desc)\r
{\r
- $query = "UPDATE %s SET tdname='%s', tddesc='%s' WHERE tdnumber=%d;";\r
- $query = sprintf($query, sql_table('template_desc'), sql_real_escape_string($name), sql_real_escape_string($desc), (integer) $this->getID());\r
- sql_query($query);\r
+ $query = "UPDATE %s SET tdname=%s, tddesc=%s WHERE tdnumber=%d";\r
+ $query = sprintf($query, sql_table('template_desc'), DB::quoteValue($name), DB::quoteValue($desc), (integer) $this->getID());\r
+ DB::execute($query);\r
return;\r
}\r
\r
public function update($type, $content)\r
{\r
// delete old thingie\r
- $query = "DELETE FROM %s WHERE tpartname='%s' and tdesc=%d";\r
- $query = sprintf($query, sql_table('template'), sql_real_escape_string($type), (integer) $this->getID());\r
- sql_query($query);\r
+ $query = "DELETE FROM %s WHERE tpartname=%s and tdesc=%d";\r
+ $query = sprintf($query, sql_table('template'), DB::quoteValue($type), (integer) $this->getID());\r
+ DB::execute($query);\r
\r
// write new thingie\r
if ( $content )\r
{\r
- $query = "INSERT %s (tcontent, tpartname, tdesc) VALUE ('%s', '%s', %d)";\r
- $query = sprintf($query, sql_table('template'), sql_real_escape_string($content), sql_real_escape_string($type), (integer) $this->getID());\r
- sql_query($query);\r
+ $query = "INSERT %s (tcontent, tpartname, tdesc) VALUE (%s, %s, %d)";\r
+ $query = sprintf($query, sql_table('template'), DB::quoteValue($content), DB::quoteValue($type), (integer) $this->getID());\r
+ DB::execute($query);\r
}\r
return;\r
}\r
{\r
$query = "DELETE FROM %s WHERE tdesc=%d";\r
$query = sprintf($query, sql_table('template'), (integer) $this->getID());\r
- sql_query($query);\r
+ DB::execute($query);\r
return;\r
}\r
\r
)\r
);\r
\r
- sql_query('INSERT INTO '.sql_table('template_desc')." (tdname, tddesc) VALUES ('" . sql_real_escape_string($name) . "','" . sql_real_escape_string($desc) . "')");\r
- $newId = sql_insert_id();\r
+ DB::execute('INSERT INTO '.sql_table('template_desc').' (tdname, tddesc) VALUES (' . DB::quoteValue($name) . ',' . DB::quoteValue($desc) . ')');\r
+ $newId = DB::getInsertId();\r
\r
$manager->notify(\r
'PostAddTemplate',\r
)\r
);\r
\r
- $query = "SELECT tpartname, tcontent FROM %s, %s WHERE tdesc=tdnumber and tdname='%s'";\r
- $query = sprintf($query, sql_table('template_desc'), sql_table('template'), sql_real_escape_string($name));\r
- $res = sql_query($query);\r
+ $query = "SELECT tpartname, tcontent FROM %s, %s WHERE tdesc=tdnumber and tdname=%s";\r
+ $query = sprintf($query, sql_table('template_desc'), sql_table('template'), DB::quoteValue($name));\r
+ $res = DB::getResult($query);\r
\r
$template = array();\r
- while ($obj = sql_fetch_object($res))\r
+ foreach ( $res as $row )\r
{\r
- $template[$obj->tpartname] = $obj->tcontent;\r
+ $template[$row['tpartname']] = $row['tcontent'];\r
}\r
\r
/*\r
*/\r
static public function exists($name)\r
{\r
- $query = "SELECT * FROM %s WHERE tdname='%s';";\r
- $query = sprintf($query, sql_table('template_desc'), sql_real_escape_string($name));\r
- $r = sql_query($query);\r
- return (sql_num_rows($r) != 0);\r
+ $query = "SELECT * FROM %s WHERE tdname=%s";\r
+ $query = sprintf($query, sql_table('template_desc'), DB::quoteValue($name));\r
+ $r = DB::getResult($query);\r
+ return ($r->rowCount() != 0);\r
}\r
\r
/**\r
*/\r
static public function existsID($id)\r
{\r
- $query = "SELECT * FROM %s WHERE tdnumber=%d;";\r
+ $query = "SELECT * FROM %s WHERE tdnumber=%d";\r
$query = sprintf($query, sql_table('template_desc'), (integer) $id);\r
- $r = sql_query($query);\r
- return (sql_num_rows($r) != 0);\r
+ $r = DB::getResult($query);\r
+ return ($r->rowCount() != 0);\r
}\r
\r
/**\r
{\r
$query = "SELECT tdname as result FROM %s WHERE tdnumber=%d";\r
$query = sprintf($query, sql_table('template_desc'), (integer) $id);\r
- return quickQuery($query);\r
+ return DB::getValue($query);\r
}\r
\r
/**\r
*/\r
static public function getDesc($id)\r
{\r
- $query = "SELECT tddesc FROM %s WHERE tdnumber=%d;";\r
+ $query = "SELECT tddesc FROM %s WHERE tdnumber=%d";\r
$query = sprintf($query, sql_table('template_desc'), (integer) $id);\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- return $obj->tddesc;\r
+ return DB::getValue($query);\r
}\r
}\r
// add tables that plugins want to backup to the list\r
// catch all output generated by plugins\r
ob_start();\r
- $res = sql_query('SELECT pfile FROM ' . sql_table('plugin'));\r
- while ( $plugName = sql_fetch_object($res) )\r
+ $query = sprintf('SELECT pfile FROM %s', sql_table('plugin'));\r
+ $res = DB::getResult($query);\r
+ foreach ( $res as $row )\r
{\r
- $plug =& $manager->getPlugin($plugName->pfile);\r
+ $plug =& $manager->getPlugin($row['pfile']);\r
if ( $plug )\r
{\r
$tables = array_merge($tables, (array) $plug->getTableList());\r
static private function dump_structure($tablename)\r
{\r
// add command to drop table on restore\r
- echo "DROP TABLE IF EXISTS `$tablename`;\n\n";\r
- $result = sql_query("SHOW CREATE TABLE $tablename");\r
- $create = sql_fetch_assoc($result);\r
- echo $create['Create Table'];\r
+ echo "DROP TABLE IF EXISTS {$tablename};\n\n";\r
+ $result = DB::getRow("SHOW CREATE TABLE {$tablename}");\r
+ echo $result['Create Table'];\r
echo ";\n\n";\r
return;\r
}\r
$fields = array();\r
for ( $j = 0; $j < $num_fields; $j++ )\r
{\r
- $fields[] = sql_field_name($result, $j);\r
+ $col = $result->getColumnMeta($j);\r
+ $fields[] = $col['name'];\r
}\r
\r
return '(' . implode(', ', $fields) . ')';\r
/*\r
* Grab the data from the table.\r
*/\r
- $result = sql_query("SELECT * FROM $tablename");\r
+ $result = DB::getResult("SELECT * FROM $tablename");\r
\r
- if ( sql_num_rows($result) > 0 )\r
+ if ( $result->rowCount() > 0 )\r
{\r
echo "\n";\r
echo "/*\n";\r
echo " */\n";\r
}\r
\r
- $num_fields = sql_num_fields($result);\r
+ $num_fields = $result->columnCount();\r
\r
/*\r
* Compose fieldname list\r
/*\r
* Loop through the resulting rows and build the sql statement.\r
*/\r
- while ( $row = sql_fetch_array($result) )\r
+ foreach ( $result as $row )\r
{\r
// Start building the SQL statement.\r
- echo "INSERT INTO ".$tablename." $tablename_list VALUES(";\r
+ echo 'INSERT INTO ' . $tablename . ' ' . $tablename_list . ' VALUES(';\r
\r
// Loop through the rows and fill in data for each column\r
for ( $j = 0; $j < $num_fields; $j++ )\r
elseif ( $row[$j] != '' )\r
{\r
// data\r
- echo " '" . sql_real_escape_string($row[$j]) . "'";\r
+ echo ' ' . DB::quoteValue($row[$j]);\r
}\r
else\r
{\r
// only add comma when not last column\r
if ( $j != ($num_fields - 1) )\r
{\r
- echo ",";\r
+ echo ',';\r
}\r
}\r
echo ");\n";\r
/* execute sql statements */\r
foreach ( $queries as $query )\r
{\r
- if ( !sql_query($query) )\r
+ if ( DB::execute($query) === FALSE )\r
{\r
- debug('SQL Error: ' . sql_error());\r
+ $error = DB::getError();\r
+ debug('SQL Error: ' . $error[2]);\r
break;\r
}\r
continue;\r
\r
/*\r
* Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
- * Copyright (C) 2002-2012 The Nucleus Group\r
+ * Copyright (C) 2002-2009 The Nucleus Group\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
*/\r
/**\r
* @license http://nucleuscms.org/license.txt GNU General Public License\r
- * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
- * @version $Id: globalfunctions.php 1727 2012-04-07 02:54:22Z sakamocchi $\r
+ * @copyright Copyright (C) 2002-2009 The Nucleus Group\r
+ * @version $Id: globalfunctions.php 1825 2012-05-04 16:56:35Z sakamocchi $\r
*/\r
\r
/* needed if we include globalfunctions from install.php */\r
$nucleus['version'] = 'v4.00 SVN';\r
$nucleus['codename'] = '';\r
\r
+/*\r
+ * make sure there's no unnecessary escaping:\r
+ * set_magic_quotes_runtime(0);\r
+ */\r
+if ( version_compare(PHP_VERSION, '5.3.0', '<') )\r
+{\r
+ ini_set('magic_quotes_runtime', '0');\r
+}\r
+\r
/* check and die if someone is trying to override internal globals (when register_globals turn on) */\r
checkVars(array('nucleus', 'CONF', 'DIR_LIBS', 'MYSQL_HOST', 'MYSQL_USER', 'MYSQL_PASSWORD', 'MYSQL_DATABASE', 'DIR_LOCALES', 'DIR_PLUGINS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_ENV_VARS', 'HTTP_SESSION_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'GLOBALS', 'argv', 'argc', '_GET', '_POST', '_COOKIE', '_ENV', '_SESSION', '_SERVER', '_FILES'));\r
\r
-/* debug mode */\r
if ( !isset($CONF) )\r
{\r
$CONF = array();\r
}\r
+\r
+/* debug mode */\r
+if ( array_key_exists('debug', $CONF) && $CONF['debug'] )\r
+{\r
+ $CONF = array();\r
+}\r
if ( array_key_exists('debug', $CONF) && $CONF['debug'] )\r
{\r
/* report all errors! */\r
}\r
\r
/*\r
- * FIXME: This is for compatibility since 4.0, should be obsoleted at future release.\r
- */\r
-if ( !isset($DIR_LOCALES) )\r
-{\r
- $DIR_LOCALES = $DIR_NUCLEUS . 'locales/';\r
-}\r
-global $DIR_LANG;\r
-if ( !isset($DIR_LANG) )\r
-{\r
- $DIR_LANG = $DIR_LOCALES;\r
-}\r
-\r
-/*\r
- * load and initialize i18n class\r
- */\r
-if (!class_exists('i18n', FALSE))\r
-{\r
- include($DIR_LIBS . 'i18n.php');\r
-}\r
-if ( !i18n::init('UTF-8', $DIR_LOCALES) )\r
-{\r
- exit('Fail to initialize i18n class.');\r
-}\r
-/*\r
- * FIXME: This is for compatibility since 4.0, should be obsoleted at future release.\r
- */\r
-define('_CHARSET', i18n::get_current_charset());\r
-\r
-/*\r
- * Indicates when Nucleus should display startup errors. Set to 1 if you want\r
- * the error enabled (default), false otherwise\r
- *\r
* alertOnHeadersSent\r
* Displays an error when visiting a public Nucleus page and headers have\r
* been sent out to early. This usually indicates an error in either a\r
* configuration file or a translation file, and could cause Nucleus to\r
* malfunction\r
- * alertOnSecurityRisk\r
- * Displays an error only when visiting the admin area, and when one or\r
- * more of the installation files (install.php, install.sql, upgrades/\r
- * directory) are still on the server.\r
*/\r
if ( !array_key_exists('alertOnHeadersSent', $CONF) || $CONF['alertOnHeadersSent'] !== 0 )\r
{\r
$CONF['alertOnHeadersSent'] = 1;\r
}\r
-$CONF['alertOnSecurityRisk'] = 1;\r
/*\r
- * NOTE: this should be removed when releasing 4.0\r
-$CONF['ItemURL'] = $CONF['Self'];\r
-$CONF['ArchiveURL'] = $CONF['Self'];\r
-$CONF['ArchiveListURL'] = $CONF['Self'];\r
-$CONF['MemberURL'] = $CONF['Self'];\r
-$CONF['SearchURL'] = $CONF['Self'];\r
-$CONF['BlogURL'] = $CONF['Self'];\r
-$CONF['CategoryURL'] = $CONF['Self'];\r
-*/\r
+ * alertOnSecurityRisk\r
+ * Displays an error only when visiting the admin area, and when one or\r
+ * more of the installation files (install.php, install.sql, upgrades/\r
+ * directory) are still on the server.\r
+ */\r
+$CONF['alertOnSecurityRisk'] = 1;\r
\r
/*\r
* Set these to 1 to allow viewing of future items or draft items\r
}\r
\r
/* Avoid notices */\r
-if ( !isset($CONF['installscript']) )\r
+if ( !array_key_exists('installscript', $CONF) || empty($CONF['installscript']) )\r
{\r
$CONF['installscript'] = 0;\r
}\r
-\r
-/* we will use postVar, getVar, ... methods instead of $_GET, $_POST ...*/\r
-if ( $CONF['installscript'] != 1 )\r
+if ( !array_key_exists('UsingAdminArea', $CONF) )\r
{\r
- /* vars were already included in install.php */\r
- include_once($DIR_LIBS . 'vars4.1.0.php');\r
+ $CONF['UsingAdminArea'] = 0;\r
}\r
\r
-/* sanitize option */\r
-$bLoggingSanitizedResult=0;\r
-$bSanitizeAndContinue=0;\r
+if ( !headers_sent() )\r
+{\r
+ header('Generator: Nucleus CMS ' . $nucleus['version']);\r
+}\r
\r
-$orgRequestURI = serverVar('REQUEST_URI');\r
-sanitizeParams();\r
\r
-/* get all variables that can come from the request and put them in the global scope */\r
-$blogid = requestVar('blogid');\r
-$itemid = intRequestVar('itemid');\r
-$catid = intRequestVar('catid');\r
-$skinid = requestVar('skinid');\r
-$memberid = requestVar('memberid');\r
-$archivelist = requestVar('archivelist');\r
-$imagepopup = requestVar('imagepopup');\r
-$archive = requestVar('archive');\r
-$query = requestVar('query');\r
-$highlight = requestVar('highlight');\r
-$amount = requestVar('amount');\r
-$action = requestVar('action');\r
-$nextaction = requestVar('nextaction');\r
-$maxresults = requestVar('maxresults');\r
-$startpos = intRequestVar('startpos');\r
-$errormessage = '';\r
-$error = '';\r
-$special = requestVar('special');\r
-$virtualpath = ((getVar('virtualpath') != null) ? getVar('virtualpath') : serverVar('PATH_INFO'));\r
+/* TODO: This is for compatibility since 4.0, should be obsoleted at future release. */\r
+if ( !isset($DIR_LOCALES) )\r
+{\r
+ $DIR_LOCALES = $DIR_NUCLEUS . 'locales/';\r
+}\r
+global $DIR_LANG;\r
+if ( !isset($DIR_LANG) )\r
+{\r
+ $DIR_LANG = $DIR_LOCALES;\r
+}\r
\r
-if ( !headers_sent() )\r
+/* load and initialize i18n class */\r
+if (!class_exists('i18n', FALSE))\r
{\r
- header('Generator: Nucleus CMS ' . $nucleus['version']);\r
+ include($DIR_LIBS . 'i18n.php');\r
}\r
+if ( !i18n::init('UTF-8', $DIR_LOCALES) )\r
+{\r
+ exit('Fail to initialize i18n class.');\r
+}\r
+\r
+/* TODO: This is just for compatibility since 4.0, should be obsoleted at future release. */\r
+define('_CHARSET', i18n::get_current_charset());\r
+\r
\r
/*\r
* NOTE: Since 4.0 release, Entity class becomes to be important class\r
* with some wrapper functions for htmlspechalchars/htmlentity PHP's built-in function\r
-*/\r
+ */\r
include($DIR_LIBS . 'ENTITY.php');\r
\r
+/* we will use postVar, getVar, ... methods instead of $_GET, $_POST ... */\r
+if ( $CONF['installscript'] != 1 )\r
+{\r
+ /* vars were already included in install.php */\r
+ include_once($DIR_LIBS . 'vars4.1.0.php');\r
+ \r
+ /* added for 4.0 DB::* wrapper and compatibility sql_* */\r
+ include_once($DIR_LIBS . 'sql/sql.php');\r
+}\r
+\r
/* include core classes that are needed for login & plugin handling */\r
-include_once($DIR_LIBS . 'mysql.php');\r
-/* added for 3.5 sql_* wrapper */\r
+include($DIR_LIBS . 'MEMBER.php');\r
+include($DIR_LIBS . 'ACTIONLOG.php');\r
+include($DIR_LIBS . 'MANAGER.php');\r
+include($DIR_LIBS . 'PLUGIN.php');\r
+\r
+$manager =& MANAGER::instance();\r
+\r
+/* only needed when updating logs */\r
+if ( $CONF['UsingAdminArea'] )\r
+{\r
+ /* XML-RPC client classes */\r
+ include($DIR_LIBS . 'xmlrpc.inc.php');\r
+ include($DIR_LIBS . 'ADMIN.php');\r
+}\r
+\r
+\r
+/* connect to database */\r
global $MYSQL_HANDLER;\r
if ( !isset($MYSQL_HANDLER) )\r
{\r
{\r
$MYSQL_HANDLER[0] = 'mysql';\r
}\r
-include_once($DIR_LIBS . 'sql/'.$MYSQL_HANDLER[0].'.php');\r
-/* end new for 3.5 sql_* wrapper */\r
-include($DIR_LIBS . 'MEMBER.php');\r
-include($DIR_LIBS . 'ACTIONLOG.php');\r
-include($DIR_LIBS . 'MANAGER.php');\r
-include($DIR_LIBS . 'PLUGIN.php');\r
+DB::setConnectionInfo($MYSQL_HANDLER[1], $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE);\r
\r
-$manager =& Manager::instance();\r
\r
-/*\r
- * make sure there's no unnecessary escaping:\r
- * set_magic_quotes_runtime(0);\r
- */\r
-if ( version_compare(PHP_VERSION, '5.3.0', '<') )\r
+/* force locale or charset */\r
+$locale = '';\r
+$charset = i18n::get_current_charset();\r
+\r
+$data = array(\r
+ 'locale' => &$locale,\r
+ 'charset' => &$charset\r
+);\r
+$manager->notify('ForceLocale', $data);\r
+\r
+if ( $data['locale'] !== '' )\r
{\r
- ini_set('magic_quotes_runtime', '0');\r
+ i18n::set_forced_locale($data['locale']);\r
}\r
-\r
-/* Avoid notices */\r
-if ( !array_key_exists('UsingAdminArea', $CONF) )\r
+if ( $data['charset'] !== '' )\r
{\r
- $CONF['UsingAdminArea'] = 0;\r
+ i18n::set_forced_charset($data['charset']);\r
}\r
+unset($locale);\r
+unset($charset);\r
\r
-/* only needed when updating logs */\r
-if ( $CONF['UsingAdminArea'] )\r
+\r
+/* convert forced charset to current charset */\r
+if ( i18n::get_forced_charset() != i18n::get_current_charset() )\r
{\r
- /* XML-RPC client classes */\r
- include($DIR_LIBS . 'xmlrpc.inc.php');\r
- include_once($DIR_LIBS . 'ADMIN.php');\r
+ $_POST = i18n::convert_array($_POST, i18n::get_forced_charset());\r
+ $_GET = i18n::convert_array($_GET, i18n::get_forced_charset());\r
+ $_REQUEST = i18n::convert_array($_REQUEST, i18n::get_forced_charset());\r
+ $_COOKIE = i18n::convert_array($_COOKIE, i18n::get_forced_charset());\r
+ $_FILES = i18n::convert_array($_FILES, i18n::get_forced_charset());\r
+ \r
+ if ( session_id() !== '' )\r
+ {\r
+ $_SESSION = i18n::convert_array($_SESSION, i18n::get_forced_charset());\r
+ }\r
}\r
\r
-/* connect to database */\r
-sql_connect();\r
-$SQLCount = 0;\r
+\r
+/* sanitize option */\r
+$bLoggingSanitizedResult = 0;\r
+$bSanitizeAndContinue = 0;\r
+$orgRequestURI = serverVar('REQUEST_URI');\r
+sanitizeParams();\r
\r
/* logs sanitized result if need */\r
-if ( $orgRequestURI!==serverVar('REQUEST_URI') )\r
+if ( $orgRequestURI !== serverVar('REQUEST_URI') )\r
{\r
$msg = "Sanitized [" . serverVar('REMOTE_ADDR') . "] ";\r
$msg .= $orgRequestURI . " -> " . serverVar('REQUEST_URI');\r
if ( $bLoggingSanitizedResult )\r
{\r
- addToLog(WARNING, $msg);\r
+ addToLog(WARNING, $msg);\r
}\r
if ( !$bSanitizeAndContinue )\r
{\r
}\r
}\r
\r
-/* makes sure database connection gets closed on script termination */\r
-register_shutdown_function('sql_disconnect');\r
+/* get all variables that can come from the request and put them in the global scope */\r
+$blogid = requestVar('blogid');\r
+$itemid = intRequestVar('itemid');\r
+$catid = intRequestVar('catid');\r
+$skinid = requestVar('skinid');\r
+$memberid = requestVar('memberid');\r
+$archivelist = requestVar('archivelist');\r
+$imagepopup = requestVar('imagepopup');\r
+$archive = requestVar('archive');\r
+$query = requestVar('query');\r
+$highlight = requestVar('highlight');\r
+$amount = requestVar('amount');\r
+$action = requestVar('action');\r
+$nextaction = requestVar('nextaction');\r
+$maxresults = requestVar('maxresults');\r
+$startpos = intRequestVar('startpos');\r
+$errormessage = '';\r
+$error = '';\r
+$special = requestVar('special');\r
+$virtualpath = ((getVar('virtualpath') != NULL) ? getVar('virtualpath') : serverVar('PATH_INFO'));\r
+\r
\r
/* read config */\r
getConfig();\r
\r
-/*\r
- * FIXME: This is for backward compatibility, should be obsoleted near future.\r
- */\r
-if ( !preg_match('#^(.+)_(.+)_(.+)$#', $CONF['Locale'])\r
- && ($CONF['Locale'] = i18n::convert_old_language_file_name_to_locale($CONF['Locale'])) === FALSE )\r
-{\r
- $CONF['Locale'] = 'en_Latn_US';\r
-}\r
-if ( !array_key_exists('Language', $CONF) )\r
-{\r
- $CONF['Language'] = i18n::convert_locale_to_old_language_file_name($CONF['Locale']);\r
-}\r
-$locale = $CONF['Locale'];\r
\r
/* Properly set $CONF['Self'] and others if it's not set...\r
* usually when we are access from admin menu\r
}\r
}\r
\r
-$CONF['ItemURL'] = $CONF['Self'];\r
-$CONF['ArchiveURL'] = $CONF['Self'];\r
-$CONF['ArchiveListURL'] = $CONF['Self'];\r
-$CONF['MemberURL'] = $CONF['Self'];\r
-$CONF['SearchURL'] = $CONF['Self'];\r
-$CONF['BlogURL'] = $CONF['Self'];\r
-$CONF['CategoryURL'] = $CONF['Self'];\r
+$CONF['ItemURL'] = $CONF['Self'];\r
+$CONF['ArchiveURL'] = $CONF['Self'];\r
+$CONF['ArchiveListURL'] = $CONF['Self'];\r
+$CONF['MemberURL'] = $CONF['Self'];\r
+$CONF['SearchURL'] = $CONF['Self'];\r
+$CONF['BlogURL'] = $CONF['Self'];\r
+$CONF['CategoryURL'] = $CONF['Self'];\r
\r
/*\r
*switch URLMode back to normal when $CONF['Self'] ends in .php\r
$member->cookielogin();\r
}\r
\r
+\r
+/* TODO: This is for backward compatibility, should be obsoleted near future. */\r
+if ( !preg_match('#^(.+)_(.+)_(.+)$#', $CONF['Locale'])\r
+ && ($CONF['Locale'] = i18n::convert_old_language_file_name_to_locale($CONF['Locale'])) === FALSE )\r
+{\r
+ $CONF['Locale'] = 'en_Latn_US';\r
+}\r
+if ( !array_key_exists('Language', $CONF) )\r
+{\r
+ $CONF['Language'] = i18n::convert_locale_to_old_language_file_name($CONF['Locale']);\r
+}\r
+$locale = $CONF['Locale'];\r
+\r
+\r
/* NOTE: include translation file and set locale */\r
-if ( $member->isLoggedIn() && $member->getLocale())\r
+if ( $member->isLoggedIn() )\r
{\r
- $locale = $member->getLocale();\r
+ if ( $member->getLocale() )\r
+ {\r
+ $locale = $member->getLocale();\r
+ }\r
+}\r
+else\r
+{\r
+ if ( i18n::get_forced_locale() !== '' )\r
+ {\r
+ $locale = i18n::get_forced_locale();\r
+ }\r
}\r
include_translation($locale);\r
i18n::set_current_locale($locale);\r
\r
+\r
/* login completed */\r
$manager->notify('PostAuthentication', array('loggedIn' => $member->isLoggedIn() ) );\r
\r
* the values of something like catid or itemid\r
* New in 3.60\r
*/\r
-$manager->notify(\r
- 'PostParseURL',\r
- array(\r
- /* e.g. item, blog, ... */\r
- 'type' => basename(serverVar('SCRIPT_NAME') ),\r
- 'info' => $virtualpath\r
- )\r
+$data = array(\r
+ 'type' => basename(serverVar('SCRIPT_NAME')),\r
+ 'info' => $virtualpath\r
);\r
+$manager->notify('PostParseURL', $data);\r
\r
/*\r
* NOTE: Here is the end of initialization\r
*/\r
\r
- /**\r
+/**\r
+ * Errors before the database connection has been made\r
+ * \r
+ * @param string $msg message to notify\r
+ * @param string $title page title\r
+ * @return void\r
+ */\r
+function startUpError($msg, $title)\r
+{\r
+ header('Content-Type: text/xml; charset=' . i18n::get_current_charset());\r
+ echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";\r
+ echo "<head>\n";\r
+ echo '<title>'. Entity::hsc($title) . "</title></head>\n";\r
+ echo "<body>\n";\r
+ echo '<h1>' . Entity::hsc($title) . "</h1>\n";\r
+ echo $msg;\r
+ echo "</body>\n";\r
+ echo "</html>\n";\r
+ exit;\r
+}\r
+\r
+/**\r
* This function includes or requires the specified library file\r
* @param string $file\r
* @param bool $once use the _once() version\r
}\r
\r
\r
- /**\r
- * TODO: This function should be changed to send_content_type() per the Coding Guidelines. Ensure this change is compatible with rest of core.\r
- *\r
- * This function sends the Content-Type header if headers have not already been sent\r
- * It also determines if the browser can accept application/xhtml+xml and sends it only to those that can.\r
- * @param string $content_type\r
- * @param string $page_type\r
- * @param string $charset Deprecated. This has no meaning.\r
- */\r
- function sendContentType($content_type, $page_type = '', $charset = _CHARSET)\r
+/**\r
+ * sendContentType()\r
+ * This function sends the Content-Type header if headers have not already been sent\r
+ * It also determines if the browser can accept application/xhtml+xml and sends it only to those that can.\r
+ * \r
+ * if content type is application/xhtml+xml, only send it to browsers\r
+ * that can handle it (IE6 cannot). Otherwise, send text/html\r
+ *\r
+ * v2.5:\r
+ * For admin area pages, keep sending text/html (unless it's a debug version)\r
+ * application/xhtml+xml still causes too much problems with the javascript implementations\r
+ *\r
+ * v3.3:\r
+ * ($CONF['UsingAdminArea'] && !$CONF['debug']) gets removed,\r
+ * application/xhtml+xml seems to be working, so we're going to use it if we can.\r
+ * \r
+ * @param string $content_type MIME media type registered to IANA, http://www.iana.org/assignments/media-types/index.html\r
+ * @param string $page_type \r
+ * @param string $charset Deprecated. This has no meaning.\r
+ * @return void\r
+ * \r
+ */\r
+function sendContentType($content_type, $page_type = '', $charset = '')\r
+{\r
+ global $manager, $CONF;\r
+ \r
+ if ( headers_sent() )\r
{\r
- global $manager, $CONF;\r
- \r
- if ( !headers_sent() )\r
- {\r
- // if content type is application/xhtml+xml, only send it to browsers\r
- // that can handle it (IE6 cannot). Otherwise, send text/html\r
-\r
- // v2.5: For admin area pages, keep sending text/html (unless it's a debug version)\r
- // application/xhtml+xml still causes too much problems with the javascript implementations\r
-\r
- // v3.3: ($CONF['UsingAdminArea'] && !$CONF['debug']) gets removed,\r
- // application/xhtml+xml seems to be working, so we're going to use it if we can.\r
-\r
- if ( ($content_type == 'application/xhtml+xml')\r
- && (!stristr(serverVar('HTTP_ACCEPT'), 'application/xhtml+xml') ) )\r
- {\r
- $content_type = 'text/html';\r
- } // end if\r
-\r
- $manager->notify(\r
- 'PreSendContentType',\r
- array(\r
- 'contentType' => &$content_type,\r
- 'charset' => i18n::get_current_charset(),\r
- 'pageType' => $page_type\r
- )\r
- );\r
-\r
- // strip strange characters\r
- $content_type = preg_replace('|[^a-z0-9-+./]|i', '', $content_type);\r
- header('Content-Type: ' . $content_type . '; charset=' . i18n::get_current_charset());\r
- } // end if\r
-\r
+ return;\r
}\r
+ \r
+ /* NOTE: MIME Media Type */\r
+ if ( ($content_type == 'application/xhtml+xml')\r
+ && (!stristr(serverVar('HTTP_ACCEPT'), 'application/xhtml+xml') ) )\r
+ {\r
+ $content_type = 'text/html';\r
+ }\r
+ \r
+ /* NOTE: generate event */\r
+ $data = array(\r
+ 'pageType' => $page_type,\r
+ 'contentType' => &$content_type\r
+ );\r
+ $manager->notify('PreSendContentType', $data);\r
+ \r
+ /* NOTE: confirm MIME Media Type */\r
+ $content_type = preg_replace('#[^a-zA-Z0-9-+./]#', '', $content_type);\r
+ \r
+ /* NOTE: confirm character set */\r
+ $charset = i18n::get_current_charset();\r
+ if ( i18n::get_forced_charset() !== '' )\r
+ {\r
+ $charset = i18n::get_forced_charset();\r
+ }\r
+ \r
+ /* NOTE: send HTTP 1.1 header */\r
+ header("Content-Type: {$content_type}; charset={$charset}");\r
+ \r
+ /* NOTE: set handler for translating character set */\r
+ if ( $charset != i18n::get_current_charset() )\r
+ {\r
+ ob_start(array('i18n', 'convert_handler'));\r
+ }\r
+ \r
+ return;\r
+}\r
\r
\r
/**\r
*/\r
function getBlogIDFromName($name)\r
{\r
- return quickQuery('SELECT bnumber AS result FROM ' . sql_table('blog') . ' WHERE bshortname = "' . sql_real_escape_string($name) . '"');\r
+ $query = sprintf('SELECT bnumber AS result FROM %s WHERE bshortname=%s', sql_table('blog'), DB::quoteValue($name));\r
+ return DB::getValue($query);\r
}\r
\r
\r
*/\r
function getBlogNameFromID($id)\r
{\r
- return quickQuery('SELECT bname AS result FROM ' . sql_table('blog') . ' WHERE bnumber = ' . intval($id));\r
+ $query = sprintf('SELECT bname AS result FROM %s WHERE bnumber=%d', sql_table('blog'), intval($id));\r
+ return DB::getValue($query);\r
}\r
\r
\r
*/\r
function getBlogIDFromItemID($item_id)\r
{\r
- return quickQuery('SELECT iblog AS result FROM ' . sql_table('item') . ' WHERE inumber = ' . intval($item_id));\r
+ $query = sprintf('SELECT iblog AS result FROM %s WHERE inumber=%d', sql_table('item'), intval($item_id));\r
+ return DB::getValue($query);\r
}\r
\r
\r
*/\r
function getBlogIDFromCommentID($comment_id)\r
{\r
- return quickQuery('SELECT cblog AS result FROM ' . sql_table('comment') . ' WHERE cnumber = ' . intval($comment_id));\r
+ $query = sprintf('SELECT cblog AS result FROM %s WHERE cnumber=%d', sql_table('comment'), intval($comment_id));\r
+ return DB::getValue($query);\r
}\r
\r
\r
*/\r
function getBlogIDFromCatID($category_id)\r
{\r
- return quickQuery('SELECT cblog AS result FROM ' . sql_table('category') . ' WHERE catid = ' . intval($category_id));\r
+ $query = sprintf('SELECT cblog AS result FROM %s WHERE catid=%d', sql_table('category'), intval($category_id));\r
+ return DB::getValue($query);\r
}\r
\r
\r
*/\r
function getCatIDFromName($name)\r
{\r
- return quickQuery('SELECT catid AS result FROM ' . sql_table('category') . ' WHERE cname = "' . sql_real_escape_string($name) . '"');\r
+ $query = sprintf('SELECT catid AS result FROM %s WHERE cname=%s', sql_table('category'), DB::quoteValue($name));\r
+ return DB::getValue($query);\r
}\r
\r
\r
/**\r
* This function performs a quick SQL query\r
+ * @deprecated\r
* @param string $query\r
* @return object\r
*/\r
function quickQuery($query)\r
{\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- return (is_object($obj)) ? $obj->result : FALSE;\r
+ $row = DB::getRow($query);\r
+ return $row['result'];\r
}\r
-\r
function getPluginNameFromPid($pid) {\r
- $res = sql_query('SELECT pfile FROM ' . sql_table('plugin') . ' WHERE pid=' . intval($pid) );\r
- $obj = sql_fetch_object($res);\r
- return $obj->pfile;\r
+ $query = sprintf('SELECT pfile FROM %s WHERE pid=%d', sql_table('plugin'), intval($pid));\r
+ return DB::getValue($query);\r
// return isset($obj->pfile) ? $obj->pfile : false;\r
}\r
\r
\r
// 1. get timestamp, blogid and catid for item\r
$query = 'SELECT itime, iblog, icat FROM %s WHERE inumber=%d';\r
- $query = sprintf($query, sql_table('item'), (integer) $itemid);\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
+ $query = sprintf($query, sql_table('item'), intval($itemid));\r
+ $row = DB::getRow($query);\r
\r
// if a different blog id has been set through the request or selectBlog(),\r
// deny access\r
\r
- if ( $blogid && (intval($blogid) != $obj->iblog) )\r
+ if ( $blogid && (intval($blogid) != $row['iblog']) )\r
{\r
doError(_ERROR_NOSUCHITEM);\r
}\r
\r
// if a category has been selected which doesn't match the item, ignore the\r
// category. #85\r
- if ( ($catid != 0) && ($catid != $obj->icat) )\r
+ if ( ($catid != 0) && ($catid != $row['icat']) )\r
{\r
$catid = 0;\r
}\r
\r
- $blogid = $obj->iblog;\r
- $timestamp = strtotime($obj->itime);\r
+ $blogid = $row['iblog'];\r
+ $timestamp = strtotime($row['itime']);\r
\r
$b =& $manager->getBlog($blogid);\r
\r
if ( !$b->isValidCategory($catid) )\r
{\r
- $query = "SELECT inumber, ititle FROM %s WHERE itime<'%s' AND idraft=0 AND iblog=%d ORDER BY itime DESC LIMIT 1";\r
- $query = sprintf($query, sql_table('item'), i18n::formatted_datetime('mysql', $timestamp), $blogid);\r
+ $query = "SELECT inumber, ititle FROM %s WHERE itime<%s AND idraft=0 AND iblog=%d ORDER BY itime DESC LIMIT 1";\r
+ $query = sprintf($query, sql_table('item'), DB::formatDateTime($timestamp), intval($blogid));\r
}\r
else\r
{\r
- $query = "SELECT inumber, ititle FROM %s WHERE itime<'%s' AND idraft=0 AND iblog=%d AND icat=%d ORDER BY itime DESC LIMIT 1";\r
- $query = sprintf($query, sql_table('item'), i18n::formatted_datetime('mysql', $timestamp), $blogid, $catid);\r
+ $query = "SELECT inumber, ititle FROM %s WHERE itime<%s AND idraft=0 AND iblog=%d AND icat=%d ORDER BY itime DESC LIMIT 1";\r
+ $query = sprintf($query, sql_table('item'), DB::formatDateTime($timestamp), intval($blogid), intval($catid));\r
}\r
+ $row = DB::getRow($query);\r
\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- \r
- if ( $obj )\r
+ if ( $row )\r
{\r
- $itemidprev = $obj->inumber;\r
- $itemtitleprev = $obj->ititle;\r
+ $itemidprev = $row['inumber'];\r
+ $itemtitleprev = $row['ititle'];\r
}\r
\r
// get next itemid and title\r
if ( !$b->isValidCategory($catid) )\r
{\r
- $query = "SELECT inumber, ititle FROM %s WHERE itime>'%s' AND itime<='%s' AND idraft=0 AND iblog=%d ORDER BY itime ASC LIMIT 1";\r
- $query = sprintf($query, sql_table('item'), i18n::formatted_datetime('mysql', $timestamp), i18n::formatted_datetime('mysql', $b->getCorrectTime()), $blogid);\r
+ $query = "SELECT inumber, ititle FROM %s WHERE itime>%s AND itime<=%s AND idraft=0 AND iblog=%d ORDER BY itime ASC LIMIT 1";\r
+ $query = sprintf($query, sql_table('item'), DB::formatDateTime($timestamp), DB::formatDateTime($b->getCorrectTime()), intval($blogid));\r
}\r
else\r
{\r
- $query = "SELECT inumber, ititle FROM %s WHERE itime>'%s' AND itime<='%s' AND idraft=0 AND iblog=%d AND icat=%d ORDER BY itime ASC LIMIT 1";\r
- $query = sprintf($query, sql_table('item'), i18n::formatted_datetime('mysql', $timestamp), i18n::formatted_datetime('mysql', $b->getCorrectTime()), $blogid, $catid);\r
+ $query = "SELECT inumber, ititle FROM %s WHERE itime>%s AND itime<=%s AND idraft=0 AND iblog=%d AND icat=%d ORDER BY itime ASC LIMIT 1";\r
+ $query = sprintf($query, sql_table('item'), DB::formatDateTime($timestamp), DB::formatDateTime($b->getCorrectTime()), intval($blogid), intval($catid));\r
}\r
- $res = sql_query($query);\r
+ $row = DB::getRow($query);\r
\r
- $obj = sql_fetch_object($res);\r
- \r
- if ( $obj )\r
+ if ( $row )\r
{\r
- $itemidnext = $obj->inumber;\r
- $itemtitlenext = $obj->ititle;\r
+ $itemidnext = $row['inumber'];\r
+ $itemtitlenext = $row['ititle'];\r
}\r
}\r
elseif ( $archive )\r
global $archivenext, $archiveprev, $archivetype, $archivenextexists, $archiveprevexists;\r
\r
// sql queries for the timestamp of the first and the last published item\r
- $query = "SELECT UNIX_TIMESTAMP(itime) as result FROM ".sql_table('item')." WHERE idraft=0 ORDER BY itime ASC";\r
- $first_timestamp=quickQuery ($query);\r
- $query = "SELECT UNIX_TIMESTAMP(itime) as result FROM ".sql_table('item')." WHERE idraft=0 ORDER BY itime DESC";\r
- $last_timestamp=quickQuery ($query);\r
+ $query = sprintf('SELECT UNIX_TIMESTAMP(itime) as result FROM %s WHERE idraft=0 ORDER BY itime ASC', sql_table('item'));\r
+ $first_timestamp = DB::getValue($query);\r
+ $query = sprintf('SELECT UNIX_TIMESTAMP(itime) as result FROM %s WHERE idraft=0 ORDER BY itime DESC', sql_table('item'));\r
+ $last_timestamp = DB::getValue($query);\r
\r
sscanf($archive, '%d-%d-%d', $y, $m, $d);\r
\r
function getConfig() {\r
global $CONF;\r
\r
- $query = 'SELECT * FROM ' . sql_table('config');\r
- $res = sql_query($query);\r
+ $query = sprintf('SELECT * FROM %s', sql_table('config'));\r
+ $res = DB::getResult($query);\r
\r
- while ($obj = sql_fetch_object($res) ) {\r
- $CONF[$obj->name] = $obj->value;\r
+ foreach ( $res as $row )\r
+ {\r
+ $CONF[$row['name']] = $row['value'];\r
}\r
}\r
\r
function parseFile($filename, $includeMode = 'normal', $includePrefix = '')\r
{\r
global $skinid;\r
-\r
+ \r
if ( !$skinid || !existsID($skinid) )\r
{\r
$skin = new Skin($CONF['BaseSkin']);\r
else\r
{\r
$skin = new Skin($skinid);\r
- }\r
-\r
+ }\r
+ \r
$oldIncludeMode = Parser::getProperty('IncludeMode');\r
$oldIncludePrefix = Parser::getProperty('IncludePrefix');\r
-\r
+ \r
$skin->parse('fileparse', $filename);\r
-\r
+ \r
Parser::setProperty('IncludeMode', $oldIncludeMode);\r
Parser::setProperty('IncludePrefix', $oldIncludePrefix);\r
-\r
+ \r
return;\r
}\r
\r
\r
\r
/**\r
+ * sanitizeParams()\r
* Sanitize parameters such as $_GET and $_SERVER['REQUEST_URI'] etc.\r
- * to avoid XSS\r
+ * to avoid XSS.\r
+ * \r
+ * @param void\r
+ * @return void\r
*/\r
function sanitizeParams()\r
{\r
- global $HTTP_SERVER_VARS;\r
-\r
- $array = array();\r
- $str = '';\r
- $frontParam = '';\r
-\r
- // REQUEST_URI of $HTTP_SERVER_VARS\r
- $str =& $HTTP_SERVER_VARS["REQUEST_URI"];\r
- serverStringToArray($str, $array, $frontParam);\r
- sanitizeArray($array);\r
- arrayToServerString($array, $frontParam, $str);\r
-\r
- // QUERY_STRING of $HTTP_SERVER_VARS\r
- $str =& $HTTP_SERVER_VARS["QUERY_STRING"];\r
- serverStringToArray($str, $array, $frontParam);\r
- sanitizeArray($array);\r
- arrayToServerString($array, $frontParam, $str);\r
-\r
- if (phpversion() >= '4.1.0') {\r
- // REQUEST_URI of $_SERVER\r
- $str =& $_SERVER["REQUEST_URI"];\r
- serverStringToArray($str, $array, $frontParam);\r
- sanitizeArray($array);\r
- arrayToServerString($array, $frontParam, $str);\r
-\r
- // QUERY_STRING of $_SERVER\r
- $str =& $_SERVER["QUERY_STRING"];\r
- serverStringToArray($str, $array, $frontParam);\r
- sanitizeArray($array);\r
- arrayToServerString($array, $frontParam, $str);\r
- }\r
-\r
- // $_GET\r
- convArrayForSanitizing($_GET, $array);\r
- sanitizeArray($array);\r
- revertArrayForSanitizing($array, $_GET);\r
-\r
- // $_REQUEST (only GET param)\r
- convArrayForSanitizing($_REQUEST, $array);\r
- sanitizeArray($array);\r
- revertArrayForSanitizing($array, $_REQUEST);\r
+ $array = array();\r
+ $str = '';\r
+ $frontParam = '';\r
+ \r
+ // REQUEST_URI of $_SERVER\r
+ $str =& $_SERVER["REQUEST_URI"];\r
+ serverStringToArray($str, $array, $frontParam);\r
+ sanitizeArray($array);\r
+ arrayToServerString($array, $frontParam, $str);\r
+ \r
+ // QUERY_STRING of $_SERVER\r
+ $str =& $_SERVER["QUERY_STRING"];\r
+ serverStringToArray($str, $array, $frontParam);\r
+ sanitizeArray($array);\r
+ arrayToServerString($array, $frontParam, $str);\r
+ \r
+ // $_GET\r
+ convArrayForSanitizing($_GET, $array);\r
+ sanitizeArray($array);\r
+ revertArrayForSanitizing($array, $_GET);\r
+ \r
+ // $_REQUEST (only GET param)\r
+ convArrayForSanitizing($_REQUEST, $array);\r
+ sanitizeArray($array);\r
+ revertArrayForSanitizing($array, $_REQUEST);\r
+ \r
+ return;\r
}\r
\r
/**\r
\r
// Solve the plugin name.\r
$plugins = array();\r
- $query = 'SELECT pfile FROM '.sql_table('plugin');\r
- $res = sql_query($query);\r
+ $query = sprintf('SELECT pfile FROM %s', sql_table('plugin'));\r
+ $res = DB::getResult($query);\r
\r
- while($row = sql_fetch_row($res) )\r
+ foreach ( $res as $row )\r
{\r
- $name = i18n::substr($row[0], 3);\r
+ $name = i18n::substr($row['pfile'], 3);\r
$plugins[strtolower($name)] = $name;\r
}\r
\r
- sql_free_result($res);\r
+ $res->closeCursor();\r
\r
if (array_key_exists($path, $plugins))\r
{\r
* Convert the server string such as $_SERVER['REQUEST_URI']\r
* to arry like arry['blogid']=1 and array['page']=2 etc.\r
* \r
- * @param string $str string\r
- * @param string $array \r
- * @param string $frontParam \r
+ * @param string $uri string\r
+ * @param string &$query_elements elements of query according to application/x-www-form-urlencoded\r
+ * @param string &$hier_part hierarchical part includes path\r
+ * \r
+ * NOTE:\r
+ * RFC 3986: Uniform Resource Identifiers (URI): Generic Syntax\r
+ * 3. Syntax Components\r
+ * http://www.ietf.org/rfc/rfc3986.txt\r
+ * \r
+ * Hypertext Markup Language - 2.0\r
+ * 8.2.1. The form-urlencoded Media Type\r
+ * http://tools.ietf.org/html/rfc1866#section-8.2.1\r
+ * \r
+ * $_SERVER > Language Reference > Predefined Variables > PHP Manual\r
+ * http://www.php.net/manual/en/reserved.variables.server.php\r
*/\r
-function serverStringToArray($str, &$array, &$frontParam)\r
+function serverStringToArray($uri, &$query_elements, &$hier_part)\r
{\r
// init param\r
- $array = array();\r
- $frontParam = "";\r
+ $query_elements = array();\r
+ $hier_part = "";\r
\r
- // split front param, e.g. /index.php, and others, e.g. blogid=1&page=2\r
- if ( i18n::strpos($str, "?") > 0 )\r
+ // split hierarchical part, e.g. /index.php, query and fragment, e.g. blogid=1&page=2#section1\r
+ if ( i18n::strpos($uri, "?") > 0 )\r
{\r
- list($frontParam, $args) = preg_split("#\?#", $str, 2);\r
+ list($hier_part, $query_and_fragment) = preg_split("#\?#", $uri, 2);\r
}\r
else\r
{\r
- $args = $str;\r
- $frontParam = "";\r
+ $query_and_fragment = $uri;\r
+ $hier_part = '';\r
}\r
\r
- // If there is no args like blogid=1&page=2, return\r
- if ( i18n::strpos($str, "=") == FALSE && !i18n::strlen($frontParam) )\r
+ // If there is no query like blogid=1&page=2, return\r
+ if ( i18n::strpos($uri, "=") == FALSE && !i18n::strlen($hier_part) )\r
{\r
- $frontParam = $str;\r
+ $hier_part = $uri;\r
return;\r
}\r
\r
- $array = preg_split("#&#", $args);\r
+ $query_elements = preg_split("#&#", $query_and_fragment);\r
return;\r
}\r
\r
/**\r
+ * arrayToServerString()\r
* Convert array like array['blogid'] to server string\r
* such as $_SERVER['REQUEST_URI']\r
+ * \r
+ * @param array $query_elements elements of query according to application/x-www-form-urlencoded\r
+ * @param string $hier_part hier-part defined in RFC3986\r
+ * @param string &$uri return value\r
+ * @return void\r
+ * \r
+ * NOTE:\r
+ * RFC 3986: Uniform Resource Identifiers (URI): Generic Syntax\r
+ * 3. Syntax Components\r
+ * http://www.ietf.org/rfc/rfc3986.txt\r
+ * \r
+ * Hypertext Markup Language - 2.0\r
+ * 8.2.1. The form-urlencoded Media Type\r
+ * http://tools.ietf.org/html/rfc1866#section-8.2.1\r
+ * \r
+ * $_SERVER > Language Reference > Predefined Variables > PHP Manual\r
+ * http://www.php.net/manual/en/reserved.variables.server.php\r
*/\r
-function arrayToServerString($array, $frontParam, &$str)\r
+function arrayToServerString($query_elements, $hier_part, &$uri)\r
{\r
- if ( i18n::strpos($str, "?") !== FALSE )\r
+ if ( i18n::strpos($uri, "?") !== FALSE )\r
{\r
- $str = $frontParam . "?";\r
+ $uri = $hier_part . "?";\r
}\r
else\r
{\r
- $str = $frontParam;\r
+ $uri = $hier_part;\r
}\r
- if ( count($array) )\r
+ if ( count($query_elements) > 0 )\r
{\r
- $str .= implode("&", $array);\r
+ $uri .= implode("&", $query_elements);\r
}\r
return;\r
}\r
* - check key if it inclues " (double quote), remove from array\r
* - check value if it includes \ (escape sequece), remove remaining string\r
* \r
- * @param array &$array \r
+ * @param array &$array elements of query according to application/x-www-form-urlencoded\r
* @return void\r
*/\r
function sanitizeArray(&$array)\r
{\r
$val = stripslashes($val);\r
}\r
+ \r
// note that we must use addslashes here because this function is called before the db connection is made\r
// and sql_real_escape_string needs a db connection\r
$val = addslashes($val);\r
if ( !in_array($key, $excludeListForSanitization) )\r
{\r
// check value\r
- if ( i18n::strpos($val, '\\') )\r
+ if ( i18n::strpos($val, '\\') > 0 )\r
{\r
list($val, $tmp) = preg_split('#\\\\#', $val);\r
}\r
$val = strtr($val, "\0\r\n<>'\"", " ");\r
\r
// check key\r
- if ( preg_match('#\"#', $key) )\r
+ if ( preg_match('#\"#', $key) > 0 )\r
{\r
unset($array[$k]);\r
continue;\r
}\r
\r
/**\r
+ * convArrayForSanitizing()\r
* Convert array for sanitizeArray function\r
+ * \r
+ * @param string $src array to be sanitized\r
+ * @param array &$array array to be temporarily stored\r
+ * @return void\r
*/\r
function convArrayForSanitizing($src, &$array)\r
{\r
- $array = array();\r
- foreach ($src as $key => $val) {\r
- if (key_exists($key, $_GET)) {\r
- array_push($array, sprintf("%s=%s", $key, $val));\r
- }\r
- }\r
+ $array = array();\r
+ foreach ( $src as $key => $val )\r
+ {\r
+ if ( !key_exists($key, $_GET) )\r
+ {\r
+ continue;\r
+ }\r
+ $array[] = sprintf("%s=%s", $key, $val);\r
+ continue;\r
+ }\r
+ return;\r
}\r
\r
/**\r
+ * revertArrayForSanitizing()\r
* Revert array after sanitizeArray function\r
+ * \r
+ * @param array $array element of query according to application/x-www-form-urlencoded\r
+ * @param array &$dst combination of key and value\r
+ * @return void\r
*/\r
function revertArrayForSanitizing($array, &$dst)\r
{\r
- foreach ($array as $v) {\r
- list($key, $val) = preg_split("/=/", $v, 2);\r
- $dst[$key] = $val;\r
- }\r
+ foreach ( $array as $v )\r
+ {\r
+ list($key, $val) = preg_split("#=#", $v, 2);\r
+ $dst[$key] = $val;\r
+ continue;\r
+ }\r
+ return;\r
}\r
\r
/**\r
* @return number of subscriber(s)\r
*/\r
function numberOfEventSubscriber($event) {\r
- $query = 'SELECT COUNT(*) as count FROM ' . sql_table('plugin_event') . ' WHERE event=\'' . $event . '\'';\r
- $res = sql_query($query);\r
- $obj = sql_fetch_object($res);\r
- return $obj->count;\r
+ $query = sprintf('SELECT COUNT(*) as count FROM %s WHERE event=%s', sql_table('plugin_event'), DB::quoteValue($event));\r
+ $res = DB::getValue($query);\r
+ return $res;\r
}\r
\r
/**\r
}\r
return i18n::formatted_datetime($format, $timestamp, $offset, $default_format);\r
}\r
-/* NOTE: use i18n::formatted_datetime() directly instead of this */\r
+/**\r
+ * NOTE: use DB::formatDateTime() directly instead of this\r
+ * @deprecated\r
+ */\r
function mysqldate($timestamp)\r
{\r
- return '"' . i18n::formatted_datetime('mysql', $timestamp) . '"';\r
+ return DB::formatDateTime($timestamp);\r
}\r
/**\r
* Centralisation of the functions that generate links\r
{\r
static private $mode = FALSE;\r
\r
- static private $charset = '';\r
- static private $language = '';\r
- static private $script = '';\r
- static private $region = '';\r
+ static private $current_charset = '';\r
+ static private $current_language = '';\r
+ static private $current_script = '';\r
+ static private $current_region = '';\r
+ \r
static private $locale_list = array();\r
static private $timezone = 'UTC';\r
\r
+ static private $forced_charset = '';\r
+ static private $forced_language = '';\r
+ static private $forced_script = '';\r
+ static private $forced_region = '';\r
+ \r
/**\r
* i18n::init\r
* Initializing i18n class\r
&& iconv_set_encoding('output_encoding', $charset)\r
&& iconv_set_encoding('internal_encoding', $charset) )\r
{\r
- self::$charset = $charset;\r
+ self::$current_charset = $charset;\r
self::$mode = 'iconv';\r
}\r
}\r
&& mb_internal_encoding($charset)\r
&& mb_regex_encoding($charset) )\r
{\r
- self::$charset = $charset;\r
+ self::$current_charset = $charset;\r
self::$mode = 'mbstring';\r
}\r
}\r
*/\r
static public function get_current_charset()\r
{\r
- return self::$charset;\r
+ return self::$current_charset;\r
}\r
\r
/**\r
{\r
if ( preg_match('#^(.+)_(.+)_(.+)$#', $locale, $match) )\r
{\r
- self::$language = $match[1];\r
- self::$script = $match[2];\r
- self::$region = $match[3];\r
+ self::$current_language = $match[1];\r
+ self::$current_script = $match[2];\r
+ self::$current_region = $match[3];\r
return TRUE;\r
}\r
return FALSE;\r
*/\r
static public function get_current_locale()\r
{\r
- $elements = array(self::$language, self::$script, self::$region);\r
+ $elements = array(self::$current_language, self::$current_script, self::$current_region);\r
+ return implode('_', $elements);\r
+ }\r
+ \r
+ /**\r
+ * i18n::set_forced_locale()\r
+ * Set forced locale\r
+ * \r
+ * @static\r
+ * @param string $forced_locale\r
+ * @return bool TRUE/FALSE\r
+ * \r
+ */\r
+ static public function set_forced_locale($forced_locale)\r
+ {\r
+ if ( preg_match('#^(.+)_(.+)_(.+)$#', $forced_locale, $match) )\r
+ {\r
+ self::$forced_language = $match[1];\r
+ self::$forced_script = $match[2];\r
+ self::$forced_region = $match[3];\r
+ return TRUE;\r
+ }\r
+ return FALSE;\r
+ }\r
+ \r
+ /**\r
+ * i18n::get_forced_locale\r
+ * Get forced locale\r
+ * \r
+ * @static\r
+ * @param void\r
+ * @return $forced_locale\r
+ */\r
+ static public function get_forced_locale()\r
+ {\r
+ if ( !self::$forced_language )\r
+ {\r
+ return;\r
+ }\r
+ \r
+ $elements = array(self::$forced_language, self::$forced_script, self::$forced_region);\r
return implode('_', $elements);\r
}\r
\r
/**\r
+ * i18n::set_forced_charset\r
+ * return forced charset\r
+ * \r
+ * @static\r
+ * @param void $charset forced character set\r
+ * @return void\r
+ */\r
+ static public function set_forced_charset($forced_charset)\r
+ {\r
+ self::$forced_charset = $forced_charset;\r
+ return;\r
+ }\r
+ \r
+ /**\r
+ * i18n::get_forced_charset\r
+ * return forced charset\r
+ * \r
+ * @static\r
+ * @param void\r
+ * @return string $charset forced character set\r
+ */\r
+ static public function get_forced_charset()\r
+ {\r
+ return self::$forced_charset;\r
+ }\r
+ \r
+ /**\r
* i18n::confirm_default_date_timezone\r
* to avoid E_NOTICE or E_WARNING generated when every calling to a date/time function.\r
* \r
{\r
if ( $to == '' )\r
{\r
- $to = self::$charset;\r
+ $to = self::$current_charset;\r
}\r
\r
- if ( self::$mode == 'iconv' )\r
+ if ( $from == $to )\r
+ {\r
+ /* do nothing */\r
+ }\r
+ else if ( self::$mode == 'iconv' )\r
{\r
$string = iconv($from, $to.'//TRANSLIT', $string);\r
}\r
}\r
\r
/**\r
+ * i18n::convert_handler\r
+ * callable handler for character set converter\r
+ * \r
+ * @static\r
+ * @param string $string target string binary\r
+ * @return void\r
+ */\r
+ static public function convert_handler($string)\r
+ {\r
+ return self::convert($string, self::$current_charset, self::$forced_charset);\r
+ }\r
+ \r
+ /**\r
+ * i18n::convert_array\r
+ * recursively converting array\r
+ * \r
+ * @static\r
+ * @param array $array array to convert\r
+ * @return void\r
+ */\r
+ static public function convert_array($array, $from, $to='')\r
+ {\r
+ if ( !is_array($array) )\r
+ {\r
+ $array = self::convert($array, $from, $to);\r
+ }\r
+ else\r
+ {\r
+ foreach ( $array as $key => $value )\r
+ {\r
+ if ( !is_array($value) )\r
+ {\r
+ $array[$key] = self::convert($value, $from, $to);\r
+ }\r
+ else\r
+ {\r
+ self::convert_array($array[$key]);\r
+ }\r
+ }\r
+ }\r
+ \r
+ return $array;\r
+ }\r
+ \r
+ /**\r
* i18n::strlen\r
* strlen wrapper\r
* \r
$length = 0;\r
if ( self::$mode == 'iconv' )\r
{\r
- $length = iconv_strlen($string, self::$charset);\r
+ $length = iconv_strlen($string, self::$current_charset);\r
}\r
else if ( self::$mode == 'mbstring' )\r
{\r
- $length = mb_strlen($string, self::$charset);\r
+ $length = mb_strlen($string, self::$current_charset);\r
}\r
else\r
{\r
$position = 0;\r
if ( self::$mode == 'iconv' )\r
{\r
- $position = iconv_strpos($haystack, $needle, $offset, self::$charset);\r
+ $position = iconv_strpos($haystack, $needle, $offset, self::$current_charset);\r
}\r
else if ( self::$mode == 'mbstring' )\r
{\r
- $position = mb_strpos($haystack, $needle, $offset, self::$charset);\r
+ $position = mb_strpos($haystack, $needle, $offset, self::$current_charset);\r
}\r
else\r
{\r
$position = 0;\r
if ( self::$mode == 'iconv' )\r
{\r
- $position = iconv_strrpos($haystack, $needle, self::$charset);\r
+ $position = iconv_strrpos($haystack, $needle, self::$current_charset);\r
}\r
else if ( self::$mode == 'mbstring' )\r
{\r
- $position = mb_strrpos($haystack, $needle, 0, self::$charset);\r
+ $position = mb_strrpos($haystack, $needle, 0, self::$current_charset);\r
}\r
else\r
{\r
$return = '';\r
if ( self::$mode == 'iconv' )\r
{\r
- $return = iconv_substr($string, $start, $length, self::$charset);\r
+ $return = iconv_substr($string, $start, $length, self::$current_charset);\r
}\r
else if ( self::$mode == 'mbstring' )\r
{\r
- $return = mb_substr($string, $start, $length, self::$charset);\r
+ $return = mb_substr($string, $start, $length, self::$current_charset);\r
}\r
else\r
{\r
*/\r
static public function strftime($format, $timestamp='')\r
{\r
- $formatted = '';\r
- \r
- if ( $timestamp == '' )\r
- {\r
- $timestamp = time();\r
- }\r
- \r
- if ( $format == '%%' )\r
- {\r
- return '%';\r
- }\r
- else if ( preg_match('#%[^%]#', $format) === 0 )\r
- {\r
- return $format;\r
- }\r
- \r
- $format = trim(preg_replace('#(%[^%])#', ',$1,', $format), ',');\r
- $elements = preg_split('#,#', $format);\r
- \r
- foreach ( $elements as $element )\r
- {\r
- if ( preg_match('#(%[^%])#', $element) )\r
- {\r
- $formatted .= strftime($element, $timestamp);\r
- }\r
- else if ( $element == '%%' )\r
- {\r
- $formatted .= '%';\r
- }\r
- else\r
- {\r
- $formatted .= $element;\r
- }\r
- }\r
- \r
- return (string) $formatted;\r
+ return preg_replace_callback('/(%[a-z%])/i',\r
+ create_function('$matches', 'return strftime($matches[1], ' . intval($timestamp) . ');'),\r
+ $format\r
+ );\r
}\r
\r
/**\r
{\r
if ( preg_match('#-#', $language) )\r
{\r
- if ( $target_locale . '.' . self::$charset == $locale )\r
+ if ( $target_locale . '.' . self::$current_charset == $locale )\r
{\r
$target_language = $language;\r
break;\r
}\r
else\r
{\r
- $res = sql_query($query);\r
+ $res = DB::getResult($query);\r
\r
// don't do anything if there are no results\r
- $numrows = sql_num_rows($res);\r
+ $numrows = $res->rowCount();\r
if ( $numrows == 0 )\r
{\r
return 0;\r
}\r
call_user_func("listplug_{$type}", $vars, 'HEAD', $templateName);\r
\r
- while( $vars['current'] = sql_fetch_object($res) )\r
+ while( $vars['current'] = $res->fetchObject() )\r
{\r
call_user_func("listplug_{$type}", $vars, 'BODY', $templateName);\r
}\r
\r
call_user_func("listplug_{$type}", $vars, 'FOOT', $templateName);\r
\r
- sql_free_result($res);\r
+ $res->closeCursor();\r
\r
// return amount of results\r
return $numrows;\r
}\r
/* check dependency */\r
$req = array();\r
- $res = sql_query('SELECT pfile FROM ' . sql_table('plugin'));\r
- while( $o = sql_fetch_object($res) )\r
+ $res = DB::getResult('SELECT pfile FROM ' . sql_table('plugin'));\r
+ foreach ( $res as $row )\r
{\r
- $preq =& $manager->getPlugin($o->pfile);\r
+ $preq =& $manager->getPlugin($row['pfile']);\r
if ( $preq )\r
{\r
$depList = $preq->getPluginDep();\r
{\r
if ( $current->pfile == $depName )\r
{\r
- $req[] = $o->pfile;\r
+ $req[] = $row['pfile'];\r
}\r
}\r
}\r
. 'WHERE '\r
. ' ocontext = "global" '\r
. 'AND opid = %d';\r
- $pOptions = quickQuery(sprintf($optQuery, $current->pid));\r
+ $pOptions = DB::getValue(sprintf($optQuery, $current->pid));\r
if ( $pOptions > 0 )\r
{\r
if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL']) )\r
);\r
\r
// use a special style for the default skin\r
- if ( $current->sdnumber != $CONF['DefaultAdminSkin'] )\r
+ if ( $current->sdnumber != $CONF['AdminSkin'] )\r
{\r
$data['skinname'] = Entity::hsc($current->sdname);\r
}\r
echo "\t" . '<skin name="' . Entity::hsc($skinName) . '" type="' . Entity::hsc($skinObj->getContentType()) . '" includeMode="' . Entity::hsc($skinObj->getIncludeMode()) . '" includePrefix="' . Entity::hsc($skinObj->getIncludePrefix()) . '">' . "\n";\r
echo "\t\t<description>" . Entity::hsc($skinObj->getDescription()) . "</description>\n";\r
\r
- $res = sql_query('SELECT stype, scontent FROM '. sql_table('skin') .' WHERE sdesc=' . $skinId);\r
- while ( $partObj = sql_fetch_object($res) )\r
+ $res = DB::getResult('SELECT stype, scontent FROM '. sql_table('skin') .' WHERE sdesc=' . $skinId);\r
+ foreach ( $res as $row )\r
{\r
- echo "\t\t" . '<part name="',Entity::hsc($partObj->stype) . '">';\r
- echo '<![CDATA[' . $this->escapeCDATA($partObj->scontent) . ']]>';\r
+ echo "\t\t" . '<part name="',Entity::hsc($row['stype']) . '">';\r
+ echo '<![CDATA[' . $this->escapeCDATA($row['scontent']) . ']]>';\r
echo "</part>\n\n";\r
}\r
echo "\t</skin>\n\n\n";\r
echo "\t" . '<template name="' . Entity::hsc($templateName) . '">' . "\n";\r
echo "\t\t<description>" . Entity::hsc(Template::getDesc($templateId)) . "</description>\n";\r
\r
- $res = sql_query('SELECT tpartname, tcontent FROM '. sql_table('template') .' WHERE tdesc=' . $templateId);\r
- while ( $partObj = sql_fetch_object($res) )\r
+ $res = DB::getResult('SELECT tpartname, tcontent FROM '. sql_table('template') .' WHERE tdesc=' . $templateId);\r
+ foreach ( $res as $row )\r
{\r
- echo "\t\t" . '<part name="' . Entity::hsc($partObj->tpartname) . '">';\r
- echo '<![CDATA[' . $this->escapeCDATA($partObj->tcontent) . ']]>';\r
+ echo "\t\t" . '<part name="' . Entity::hsc($row['tpartname']) . '">';\r
+ echo '<![CDATA[' . $this->escapeCDATA($row['tcontent']) . ']]>';\r
echo "</part>\n\n";\r
}\r
\r
--- /dev/null
+<?php
+
+/*
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ */
+
+/**
+ * @license http://nucleuscms.org/license.txt GNU General Public License
+ * @copyright Copyright (C) 2012 The Nucleus Group
+ * @version $Id$
+ */
+
+class DB
+{
+ private static $dbh;
+ private static $execCount = 0;
+ private static $dateFormat = '\'%Y-%m-%d %H:%M:%S\'';
+
+ /**
+ * Set the information to connect to the database, it will attempt to connect.
+ * @param string $engine Engine
+ * @param string $host Host
+ * @param string $user User
+ * @param string $password Password
+ * @param string $database Database
+ * @return bool Returns TRUE if able to connect, otherwise it returns FALSE.
+ */
+ public static function setConnectionInfo($engine, $host, $user, $password, $database)
+ {
+ self::disConnect();
+
+ try
+ {
+ if ( i18n::strpos($host, ':') === false )
+ {
+ $portnum = '';
+ }
+ else
+ {
+ list($host, $portnum) = i18n::explode(":", $host);
+ if ( isset($portnum) )
+ {
+ $portnum = trim($portnum);
+ }
+ else
+ {
+ $portnum = '';
+ }
+ }
+
+ switch ( $engine )
+ {
+ case 'sybase':
+ case 'dblib':
+ $port = is_numeric($portnum) ? ':' . intval($portnum) : '';
+ $db = $database ? ';dbname=' . $database : '';
+ self::$dbh = new PDO($engine . ':host=' . $host . $port . $db, $user, $password);
+ break;
+ case 'mssql':
+ $port = is_numeric($portnum) ? ',' . intval($portnum) : '';
+ $db = $database ? ';dbname=' . $database : '';
+ self::$dbh = new PDO($engine . ':host=' . $host . $port . $db, $user, $password);
+ break;
+ case 'oci':
+ $port = is_numeric($portnum) ? ':' . intval($portnum) : '';
+ self::$dbh = new PDO($engine . ':dbname=//' . $host . $port . '/' . $database, $user, $password);
+ break;
+ case 'odbc':
+ $port = is_numeric($portnum) ? ';PORT=' . intval($portnum) : '';
+ self::$dbh = new PDO(
+ $engine . ':DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=' . $host . $port . ';DATABASE=' . $database . ';PROTOCOL=TCPIP;UID='
+ . $user . ';PWD=' . $password);
+ break;
+ case 'pgsql':
+ $port = is_numeric($portnum) ? ';port=' . intval($portnum) : '';
+ $db = $database ? ';dbname=' . $database : '';
+ self::$dbh = new PDO($engine . ':host=' . $host . $port . $db, $user, $password);
+ break;
+ case 'sqlite':
+ case 'sqlite2':
+ $port = is_numeric($portnum) ? ':' . intval($portnum) : '';
+ self::$dbh = new PDO($engine . ':' . $database, $user, $password);
+ if ( self::$dbh )
+ {
+ self::$dbh->sqliteCreateFunction('SUBSTRING', 'substr', 3);
+ self::$dbh->sqliteCreateFunction('UNIX_TIMESTAMP', 'strtotime', 1);
+ }
+ break;
+ case 'mysql':
+ $port = is_numeric($portnum) ? ';port=' . intval($portnum) : '';
+ $db = $database ? ';dbname=' . $database : '';
+ self::$dbh = new PDO(
+ 'mysql' . ':host=' . $host . $port . $db,
+ $user,
+ $password,
+ array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'utf8\''));
+ break;
+ default: // mysql
+ if ( !class_exists('MysqlPDO') )
+ {
+ include_once realpath(dirname(__FILE__)) . '/MYSQLPDO.php';
+ }
+ $port = is_numeric($portnum) ? ';port=' . intval($portnum) : '';
+ $db = $database ? ';dbname=' . $database : '';
+ self::$dbh = new MysqlPDO(
+ 'mysql' . ':host=' . $host . $port . $db,
+ $user,
+ $password,
+ array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'utf8\''));
+ break;
+ }
+ }
+ catch (PDOException $e)
+ {
+ self::disConnect();
+ return FALSE;
+ }
+ return TRUE;
+ }
+
+ /**
+ * Disconnect the connection to the database.
+ */
+ public static function disConnect()
+ {
+ self::$dbh = null;
+ }
+
+ /**
+ * To get the number of times you run the statement.
+ * @return int Number of executions
+ */
+ public static function getExecCount()
+ {
+ return self::$execCount;
+ }
+
+ /**
+ * The value converted to a format that can be passed to the database datetime.
+ * @param int $timestamp UNIX timestamp
+ * @param int $offset timestamp offset
+ * @return string formatted datetime (quart treated)
+ */
+ public static function formatDateTime($timestamp = null, $offset=0)
+ {
+ if ( $timestamp == null )
+ {
+ $timestamp = time();
+ }
+ $timestamp += $offset;
+ return preg_replace_callback('/(%[a-z%])/i',
+ create_function('$matches', 'return strftime($matches[1], ' . intval($timestamp) . ');'),
+ self::$dateFormat
+ );
+ }
+
+ /**
+ * Gets the value of the first column of the first row of the results obtained in the statement.
+ * @param string $statement SQL Statement
+ * @return mixed Result value. If the call fails, it will return FALSE.
+ */
+ public static function getValue($statement)
+ {
+ if ( self::$dbh == null ) return FALSE;
+ self::$execCount++;
+ $stmt = &self::$dbh->query($statement);
+ if ( $result = $stmt->fetch(PDO::FETCH_NUM) )
+ {
+ return $result[0];
+ }
+ return FALSE;
+ }
+
+ /**
+ * Gets the first row of the results obtained in the statement.
+ * @param string $statement SQL Statement
+ * @return array Result row. If the call fails, it will return FALSE.
+ */
+ public static function getRow($statement)
+ {
+ if ( self::$dbh == null ) return FALSE;
+ self::$execCount++;
+ return self::$dbh->query($statement)->fetch(PDO::FETCH_BOTH);
+ }
+
+ /**
+ * Gets the set of results obtained in the statement.
+ * @param string $statement SQL Statement
+ * @return PDOStatement Result set object. If the call fails, it will return FALSE.
+ */
+ public static function getResult($statement)
+ {
+ if ( self::$dbh == null ) return FALSE;
+ self::$execCount++;
+ return self::$dbh->query($statement);
+ }
+
+ /**
+ * Execute an SQL statement and return the number of affected rows.
+ * @param string $statement SQL Statement
+ * @return int number of rows that were modified or deleted by the SQL statement you issued.
+ */
+ public static function execute($statement)
+ {
+ if ( self::$dbh == null ) return FALSE;
+ self::$execCount++;
+ return self::$dbh->exec($statement);
+ }
+
+ /**
+ * Gets the error information associated with the last operation.
+ * @return array Error info
+ */
+ public static function getError()
+ {
+ if ( self::$dbh == null ) return FALSE;
+ return self::$dbh->errorInfo();
+ }
+
+ /**
+ * Quotes a string for use in a query.
+ * @param string $value Value to quote
+ * @return string Quoted value
+ */
+ public static function quoteValue($value)
+ {
+ if ( self::$dbh == null ) return FALSE;
+ return self::$dbh->quote($value);
+ }
+
+ /**
+ * Get the value of the ID of the rows that are inserted at the end.
+ * @return string ID of the row
+ */
+ public static function getInsertId()
+ {
+ if ( self::$dbh == null ) return FALSE;
+ return self::$dbh->lastInsertId();
+ }
+
+ /**
+ * Gets the attribute of the database.
+ * @return string Attribute
+ */
+ public static function getAttribute($attribute)
+ {
+ if ( self::$dbh == null ) return FALSE;
+ return self::$dbh->getAttribute($attribute);
+ }
+
+}
--- /dev/null
+<?php
+/*
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ */
+/**
+ * @license http://nucleuscms.org/license.txt GNU General Public License
+ * @copyright Copyright (C) 2012 The Nucleus Group
+ * @version $Id$
+ */
+
+if ( !class_exists('PDO') )
+{
+
+ /**
+ * Dummy constant of the PDO class
+ */
+ class PDO
+ {
+ /* constant values */
+ const PARAM_NULL = 0;
+ const PARAM_INT = 1;
+ const PARAM_STR = 2;
+ const PARAM_LOB = 3;
+ const PARAM_STMT = 4;
+ const PARAM_BOOL = 5;
+ const PARAM_INPUT_OUTPUT = 128; // orignal is undefined.
+ const FETCH_LAZY = 1;
+ const FETCH_ASSOC = 2;
+ const FETCH_NUM = 3;
+ const FETCH_BOTH = 4;
+ const FETCH_OBJ = 5;
+ const FETCH_BOUND = 6;
+ const FETCH_COLUMN = 7;
+ const FETCH_CLASS = 8;
+ const FETCH_INTO = 9;
+ const FETCH_FUNC = 10;
+ const FETCH_NAMED = 11;
+ const FETCH_KEY_PAIR = 12;
+ const FETCH_GROUP = 65536;
+ const FETCH_UNIQUE = 196608;
+ const FETCH_CLASSTYPE = 262144;
+ const FETCH_SERIALIZE = 524288;
+ const FETCH_PROPS_LATE = 1048576;
+ const ATTR_AUTOCOMMIT = 0;
+ const ATTR_PREFETCH = 1;
+ const ATTR_TIMEOUT = 2;
+ const ATTR_ERRMODE = 3;
+ const ATTR_SERVER_VERSION = 4;
+ const ATTR_CLIENT_VERSION = 5;
+ const ATTR_SERVER_INFO = 6;
+ const ATTR_CONNECTION_STATUS = 7;
+ const ATTR_CASE = 8;
+ const ATTR_CURSOR_NAME = 9;
+ const ATTR_CURSOR = 10;
+ const ATTR_ORACLE_NULLS = 11;
+ const ATTR_PERSISTENT = 12;
+ const ATTR_STATEMENT_CLASS = 13;
+ const ATTR_FETCH_TABLE_NAMES = 14;
+ const ATTR_FETCH_CATALOG_NAMES = 15;
+ const ATTR_DRIVER_NAME = 16;
+ const ATTR_STRINGIFY_FETCHES = 17;
+ const ATTR_MAX_COLUMN_LEN = 18;
+ const ATTR_DEFAULT_FETCH_MODE = 19;
+ const ATTR_EMULATE_PREPARES = 20;
+ const ERRMODE_SILENT = 0;
+ const ERRMODE_WARNING = 1;
+ const ERRMODE_EXCEPTION = 2;
+ const CASE_NATURAL = 0;
+ const CASE_UPPER = 1;
+ const CASE_LOWER = 2;
+ const NULL_NATURAL = 0;
+ const NULL_EMPTY_STRING = 1;
+ const NULL_TO_STRING = 2;
+ const FETCH_ORI_NEXT = 0;
+ const FETCH_ORI_PRIOR = 1;
+ const FETCH_ORI_FIRST = 2;
+ const FETCH_ORI_LAST = 3;
+ const FETCH_ORI_ABS = 4;
+ const FETCH_ORI_REL = 5;
+ const CURSOR_FWDONLY = 0;
+ const CURSOR_SCROLL = 1;
+ // from here orignal is undefined.
+ const ERR_CANT_MAP = 0;
+ const ERR_SYNTAX = 0;
+ const ERR_CONSTRAINT = 0;
+ const ERR_NOT_FOUND = 0;
+ const ERR_ALREADY_EXISTS = 0;
+ const ERR_NOT_IMPLEMENTED = 0;
+ const ERR_MISMATCH = 0;
+ const ERR_TRUNCATED = 0;
+ const ERR_DISCONNECTED = 0;
+ const ERR_NO_PERM = 0;
+ // so far
+ const ERR_NONE = '00000';
+ const PARAM_EVT_ALLOC = 0;
+ const PARAM_EVT_FREE = 1;
+ const PARAM_EVT_EXEC_PRE = 2;
+ const PARAM_EVT_EXEC_POST = 3;
+ const PARAM_EVT_FETCH_PRE = 4;
+ const PARAM_EVT_FETCH_POST = 5;
+ const PARAM_EVT_NORMALIZE = 6;
+
+ const MYSQL_ATTR_INIT_COMMAND = 1002;
+ }
+
+ /**
+ * PDOException class of dummy
+ */
+ class PDOException extends Exception
+ {}
+}
+
+/**
+ * MysqlPDO class that wraps the mysql_ or mysqli_ function like PDO class
+ */
+class MysqlPDO
+{
+ // Prefix function name
+ public static $handler;
+
+ private $dbcon;
+
+ /**
+ * Creates a PDO instance representing a connection to a MySQL database.
+ * @param string $dsn DSN
+ * @param string $username UserName
+ * @param string $password Password
+ * @param mixed $driver_options Options[optional]
+ * @throws PDOException Thrown when failed to connect to the database.
+ */
+ public function __construct($dsn, $username, $password, $driver_options = '')
+ {
+ // select use function
+ if ( function_exists('mysql_query') )
+ {
+ MysqlPDO::$handler = 'mysql_';
+ }
+ else if ( function_exists('mysqli_query') )
+ {
+ MysqlPDO::$handler = 'mysqli_';
+ }
+ else
+ {
+ throw new PDOException('Can not be found mysql_ or mysqli_ functions.', 'IM000');
+ }
+
+ if ( preg_match('/host=([^;]+)/', $dsn, $matches) )
+ {
+ $host = $matches[1];
+ }
+ else
+ {
+ throw new PDOException('Host has not been set.', '01000');
+ }
+ if ( preg_match('/port=([^;]+)/', $dsn, $matches) )
+ {
+ $host .= ':' . $matches[1];
+ }
+
+ // mysql connect
+ $this->dbcon = @call_user_func(MysqlPDO::$handler . 'connect', $host, $username, $password);
+
+ if ( $this->dbcon == FALSE )
+ {
+ throw new PDOException('Failed to connect to the server.', '01000');
+ }
+
+ // select database
+ if ( preg_match('/dbname=([^;]+)/', $dsn, $matches) )
+ {
+ $dbname = $matches[1];
+ if ( $dbname )
+ {
+ if ( MysqlPDO::$handler == 'mysql_' )
+ {
+ call_user_func(MysqlPDO::$handler . 'select_db', $dbname, $this->dbcon);
+ }
+ else
+ {
+ call_user_func(MysqlPDO::$handler . 'select_db', $this->dbcon, $dbname);
+ }
+
+ // set use character
+ $charset = 'utf8';
+ if ( is_array($driver_options) && array_key_exists(PDO::MYSQL_ATTR_INIT_COMMAND, $driver_options) )
+ {
+ if ( preg_match('/SET\s+CHARACTER\s+SET\s+\'?([a-z0-9_-]+)\'?/', $driver_options[PDO::MYSQL_ATTR_INIT_COMMAND], $matches) )
+ {
+ $charset = $matches[1];
+ }
+ }
+ $server_info = call_user_func(MysqlPDO::$handler . 'get_server_info', $this->dbcon);
+ $mysql_version = preg_replace('/^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})(.*)$/', '$1.$2.$3', $server_info);
+
+ if ( version_compare($mysql_version, '5.0.7', '>=') && function_exists(MysqlPDO::$handler . 'set_charset') )
+ {
+ call_user_func(MysqlPDO::$handler . 'set_charset', $charset);
+ }
+ else if ( version_compare($mysql_version, '5.0.7', '<') )
+ {
+ $this->exec("SET CHARACTER SET '{$charset}';");
+ }
+ else
+ {
+ $this->exec("SET NAMES '{$charset}';");
+ }
+ }
+ }
+ }
+
+ /**
+ * Close the connection to the MySQL server.
+ */
+ public function __destruct()
+ {
+ if ( $this->dbcon )
+ {
+ @call_user_func(MysqlPDO::$handler . 'close', $this->dbcon);
+ }
+ }
+
+ /**
+ * Not supported
+ */
+ public function beginTransaction()
+ {
+ return FALSE;
+ }
+
+ /**
+ * Not supported
+ */
+ public function commit()
+ {
+ return FALSE;
+ }
+
+ /**
+ * Fetch the SQLSTATE associated with the last operation.
+ * However, if successful '00000' Otherwise, the return to '01000'.
+ * @return string Error code
+ */
+ public function errorCode()
+ {
+ $errno = call_user_func(MysqlPDO::$handler . 'errno', $this->dbcon);
+ return $errno === 0 ? '00000' : '01000';
+ }
+
+ /**
+ * To get extended error information associated with the last operation.
+ * Element 0: if successful '00000' Otherwise, the return to '01000'
+ * Element 1: The return value of mysql_errno()
+ * Element 2: The return value of mysql_error()
+ * @return array Array of error information
+ */
+ public function errorInfo()
+ {
+ $errno = call_user_func(MysqlPDO::$handler . 'errno', $this->dbcon);
+ $error = call_user_func(MysqlPDO::$handler . 'error', $this->dbcon);
+ return array($errno === 0 ? '00000' : '01000', $errno, $error);
+ }
+
+ public function exec($statement)
+ {
+ $result = @call_user_func(MysqlPDO::$handler . 'query', $statement, $this->dbcon);
+ if ( $result === TRUE )
+ {
+ return @call_user_func(MysqlPDO::$handler . 'affected_rows', $this->dbcon);
+ }
+ else if ( is_resource($result) )
+ {
+ return;
+ }
+ return FALSE;
+ }
+
+ public function getAttribute($attribute)
+ {
+ switch ( $attribute )
+ {
+ case PDO::ATTR_SERVER_VERSION:
+ return call_user_func(MysqlPDO::$handler . 'get_server_info', $this->dbcon);
+ break;
+ case PDO::ATTR_CLIENT_VERSION:
+ return call_user_func(MysqlPDO::$handler . 'get_client_info');
+ break;
+ default:
+ return FALSE;
+ }
+ }
+
+ public static function getAvailableDrivers()
+ {
+ return array('mysql');
+ }
+
+ /**
+ * Not supported
+ */
+ public function inTransaction()
+ {
+ return FALSE;
+ }
+
+ public function lastInsertId($name = null)
+ {
+ return call_user_func(MysqlPDO::$handler . 'insert_id', $this->dbcon);
+ }
+
+ /**
+ * Not supported
+ */
+ public function prepare($statement, $driver_options = array())
+ {
+ return FALSE;
+ }
+
+ public function query($statement)
+ {
+ $result = @call_user_func(MysqlPDO::$handler . 'query', $statement, $this->dbcon);
+ return ($result == FALSE) ? FALSE : new MysqlPDOStatement($statement, $result, $this->dbcon);
+ }
+
+ public function quote($string, $parameter_type = PDO::PARAM_STR)
+ {
+ switch ( $parameter_type )
+ {
+ case PDO::PARAM_NULL:
+ return 'null';
+ case PDO::PARAM_BOOL:
+ return $string ? '1' : '0';
+ default:
+ if ( $parameter_type == PDO::PARAM_INT && is_numeric($string) )
+ {
+ return $string;
+ }
+ else
+ {
+ return '\'' . call_user_func(MysqlPDO::$handler . 'real_escape_string', $string) . '\'';
+ }
+ }
+ }
+
+ /**
+ * Not supported
+ */
+ public function rollBack()
+ {
+ return FALSE;
+ }
+
+ /**
+ * Not supported
+ */
+ public function setAttribute($attribute, $value)
+ {
+ return FALSE;
+ }
+}
+
+/**
+ * MysqlPDOStatement class PDOStatement class like.
+ */
+class MysqlPDOStatement implements Iterator
+{
+ private $result;
+ private $dbcon;
+ private $_queryString = '';
+
+ private $def_fetch_mode = PDO::FETCH_BOTH;
+ private $def_col_num = 0;
+ private $def_class_name = 'stdClass';
+ private $def_ctorargs = null;
+ private $bind_object = null;
+
+ public function __get($name)
+ {
+ if ( $name == 'queryString' )
+ {
+ return $this->_queryString;
+ }
+ }
+
+ public function __construct($query, $result, $dbconnect = null)
+ {
+ $this->dbcon = $dbconnect;
+ $this->_queryString = $query;
+ $this->result = $result;
+ }
+
+ public function __destruct()
+ {
+ $this->result = null;
+ }
+
+ /**
+ * Not supported
+ */
+ public function bindColumn($column, &$param, $type, $maxlen, $driverdata)
+ {
+ return FALSE;
+ }
+
+ /**
+ * Not supported
+ */
+ public function bindParam($parameter, &$variable, $data_type = PDO::PARAM_STR, $length, $driver_options)
+ {
+ return FALSE;
+ }
+
+ /**
+ * Not supported
+ */
+ public function bindValue($parameter, $value, $data_type = PDO::PARAM_STR)
+ {
+ return FALSE;
+ }
+
+ public function closeCursor()
+ {
+ return call_user_func(MysqlPDO::$handler . 'free_result', $this->result);
+ }
+
+ public function columnCount()
+ {
+ return call_user_func(MysqlPDO::$handler . 'num_fields', $this->result);
+ }
+
+ /**
+ * Not supported
+ */
+ public function debugDumpParams()
+ {
+ return;
+ }
+
+ public function errorCode()
+ {
+ $errno = call_user_func(MysqlPDO::$handler . 'errno', $this->dbcon);
+ return $errno === 0 ? '00000' : '01000';
+ }
+
+ public function errorInfo()
+ {
+ $errno = call_user_func(MysqlPDO::$handler . 'errno', $this->dbcon);
+ $error = call_user_func(MysqlPDO::$handler . 'error', $this->dbcon);
+ return array($errno === 0 ? '00000' : '01000', $errno, $error);
+ }
+
+ /**
+ * Not supported
+ */
+ public function execute($input_parameters)
+ {
+ return FALSE;
+ }
+
+ public function fetch($fetch_style = PDO::ATTR_DEFAULT_FETCH_MODE, $cursor_orientation = PDO::FETCH_ORI_NEXT, $cursor_offset = 0)
+ {
+ if ( !is_resource($this->result) || $cursor_orientation != PDO::FETCH_ORI_NEXT )
+ {
+ return FALSE;
+ }
+
+ if ( $fetch_style == PDO::ATTR_DEFAULT_FETCH_MODE )
+ {
+ $fetch_style = $this->def_fetch_mode;
+ }
+
+ switch ( $fetch_style )
+ {
+ case PDO::FETCH_ASSOC:
+ return @call_user_func(MysqlPDO::$handler . 'fetch_array', $this->result, MYSQL_ASSOC);
+ case PDO::FETCH_BOTH:
+ return @call_user_func(MysqlPDO::$handler . 'fetch_array', $this->result, MYSQL_BOTH);
+ case PDO::FETCH_NUM:
+ return @call_user_func(MysqlPDO::$handler . 'fetch_array', $this->result, MYSQL_NUM);
+ case PDO::FETCH_OBJ:
+ return $this->fetchObject();
+ case PDO::FETCH_CLASS:
+ return $this->fetchObject($this->def_class_name, $this->def_ctorargs);
+ case PDO::FETCH_COLUMN:
+ return $this->fetchColumn($this->def_col_num);
+ case PDO::FETCH_BOUND:
+ return FALSE; // Not supported
+ case PDO::FETCH_INTO:
+ return FALSE; // Not supported
+ case PDO::FETCH_LAZY:
+ return FALSE; // Not supported
+ default:
+ return FALSE;
+ }
+ }
+
+ public function fetchAll($fetch_style = PDO::ATTR_DEFAULT_FETCH_MODE, $fetch_argument = null, $ctor_args = array())
+ {
+ if ( $fetch_style == PDO::ATTR_DEFAULT_FETCH_MODE )
+ {
+ $fetch_style = PDO::FETCH_BOTH;
+ }
+
+ $ret = array();
+ if ( ($fetch_style & PDO::FETCH_COLUMN) != 0 )
+ {
+ if ( $fetch_style == PDO::FETCH_COLUMN )
+ {
+ $column = $fetch_argument == null ? 0 : intval($fetch_argument);
+ while ( $row = $this->fetchColumn($column) )
+ {
+ $ret[] = $row;
+ }
+ }
+ elseif ( ($fetch_style & PDO::FETCH_UNIQUE) != 0 )
+ {
+ return FALSE;
+ }
+ elseif ( ($fetch_style & PDO::FETCH_GROUP) != 0 )
+ {
+ return FALSE;
+ }
+ }
+ elseif ( $fetch_style == PDO::FETCH_CLASS )
+ {
+ while ( $row = $this->fetchObject($fetch_argument, $ctor_args) )
+ {
+ $ret[] = $row;
+ }
+ }
+ elseif ( $fetch_style == PDO::FETCH_FUNC )
+ {
+ while ( $row = $this->fetch(PDO::FETCH_ASSOC) )
+ {
+ $ret[] = call_user_func_array($fetch_argument, array_values($row));
+ }
+ }
+ else
+ {
+ while ( $row = $this->fetch($fetch_style) )
+ {
+ $ret[] = $row;
+ }
+ }
+ return $ret;
+ }
+
+ public function fetchColumn($column_number = 0)
+ {
+ if ( $ret = $this->fetch(PDO::FETCH_NUM) )
+ {
+ return $ret[$column_number];
+ }
+ return FALSE;
+ }
+
+ public function fetchObject($class_name = 'stdClass', $ctor_args = null)
+ {
+ if ( is_array($ctor_args) && !empty($ctor_args) )
+ {
+ return @call_user_func(MysqlPDO::$handler . 'fetch_object', $this->result, $class_name, $ctor_args);
+ }
+ else
+ {
+ return @call_user_func(MysqlPDO::$handler . 'fetch_object', $this->result, $class_name);
+ }
+ }
+
+ public function getAttribute($attribute)
+ {
+ switch ( $attribute )
+ {
+ default:
+ return FALSE;
+ }
+ }
+
+ /**
+ * Not supported
+ */
+ public function getColumnMeta($column)
+ {
+ $result = array();
+ if ( MysqlPDO::$handler == 'mysql_' )
+ {
+ $result['name'] = @call_user_func(MysqlPDO::$handler . 'field_name', $this->result, $column);
+ }
+ return $result;
+ }
+
+ /**
+ * Not supported
+ */
+ public function nextRowset()
+ {
+ return FALSE;
+ }
+
+ public function rowCount()
+ {
+ return @call_user_func(MysqlPDO::$handler . 'affected_rows', $this->dbcon);
+ }
+
+ /**
+ * Not supported
+ */
+ public function setAttribute($attribute, $value)
+ {
+ return FALSE;
+ }
+
+ public function setFetchMode($mode, &$mode_argument, $ctorargs)
+ {
+ switch ( $mode )
+ {
+ case PDO::FETCH_COLUMN:
+ $this->def_col_num = $mode_argument;
+ break;
+ case PDO::FETCH_CLASS:
+ $this->def_class_name = $mode_argument;
+ $this->def_ctorargs = $ctorargs;
+ break;
+ case PDO::FETCH_INTO:
+ $this->bind_object = &$mode_argument;
+ return FALSE; // Not supported
+ default:
+ $this->def_fetch_mode = $mode;
+ break;
+ }
+ return 1;
+ }
+
+ // Iterator
+ private $iterator_value;
+
+ function rewind()
+ {}
+
+ function next()
+ {}
+
+ function valid()
+ {
+ return ($this->iterator_value = $this->fetch());
+ }
+
+ function current()
+ {
+ return $this->iterator_value;
+ }
+
+ function key()
+ {
+ return null;
+ }
+}
+++ /dev/null
-<?php\r
-\r
-/*\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- */\r
-/**\r
- * @license http://nucleuscms.org/license.txt GNU General Public License\r
- * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
- * @version $Id: mysql.php 1750 2012-04-13 14:41:10Z sakamocchi $\r
- */\r
-/*\r
- * complete sql_* wrappers for mysql functions\r
- *\r
- * functions moved from globalfunctions.php: sql_connect, sql_disconnect, sql_query\r
- */\r
-\r
-$MYSQL_CONN = 0;\r
-\r
-if ( function_exists('mysql_query') && !function_exists('sql_fetch_assoc') )\r
-{\r
- /**\r
- * Errors before the database connection has been made\r
- */\r
- function startUpError($msg, $title)\r
- {\r
- echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";\r
- echo '<head><title>' . Entity::hsc($title) . "</title></head>\n";\r
- echo "<body>\n";\r
- echo '<h1>' . Entity::hsc($title) . "</h1>\n";\r
- echo "<p>{$msg}</p>\n";\r
- echo "</body>\n";\r
- echo "</html>\n";\r
- exit;\r
- }\r
- \r
- /**\r
- * Connects to mysql server with arguments\r
- */\r
- function sql_connect_args($mysql_host = 'localhost', $mysql_user = '', $mysql_password = '', $mysql_database = '', $new_link = FALSE)\r
- {\r
- $CONN = @mysql_connect($mysql_host, $mysql_user, $mysql_password, $new_link);\r
- \r
- if ( $mysql_database )\r
- {\r
- mysql_select_db($mysql_database,$CONN);\r
- sql_set_charset('utf8');\r
- }\r
- \r
- /*\r
- // For debugging\r
- $result = sql_query('SHOW VARIABLES LIKE \'char%\';');\r
- while(FALSE !== ($row = sql_fetch_row($result)))\r
- {\r
- echo "{$row[0]}: {$row[1]}\n";\r
- }\r
- */\r
- \r
- return $CONN;\r
- }\r
- \r
- /**\r
- * Connects to mysql server\r
- */\r
- function sql_connect()\r
- {\r
- global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_CONN;\r
- \r
- $MYSQL_CONN = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('<p>Could not connect to MySQL database.</p>', 'Connect Error');\r
- mysql_select_db($MYSQL_DATABASE) or startUpError('<p>Could not select database: ' . mysql_error() . '</p>', 'Connect Error');\r
- \r
- sql_set_charset('utf8');\r
- \r
- /*\r
- // For debugging\r
- $result = sql_query('SHOW VARIABLES LIKE \'char%\';');\r
- while(FALSE !== ($row = sql_fetch_row($result)))\r
- {\r
- echo "{$row[0]}: {$row[1]}\n";\r
- }\r
- */\r
- \r
- return $MYSQL_CONN;\r
- }\r
- \r
- /**\r
- * disconnects from SQL server\r
- */\r
- function sql_disconnect($conn = false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- @mysql_close($conn);\r
- }\r
- \r
- /**\r
- * sql_close()\r
- * use sql_disconnect() instead of this\r
- * \r
- * @deprecated\r
- * @param resource $conn resource of mySQL connection\r
- * @return void\r
- */\r
- function sql_close($conn = false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- @mysql_close($conn);\r
- return;
- }\r
- \r
- /**\r
- * executes an SQL query\r
- */\r
- function sql_query($query,$conn = false)\r
- {\r
- global $SQLCount,$MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- $SQLCount++;\r
- $res = mysql_query($query,$conn) or print("mySQL error with query $query: " . mysql_error($conn) . '<p />');\r
- return $res;\r
- }\r
- \r
- /**\r
- * executes an SQL error\r
- */\r
- function sql_error($conn = false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_error($conn);\r
- }\r
- \r
- /**\r
- * executes an SQL db select\r
- */\r
- function sql_select_db($db,$conn = false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_select_db($db,$conn);\r
- }\r
- \r
- /**\r
- * executes an SQL real escape\r
- */\r
- function sql_real_escape_string($val, $conn = false)\r
- {\r
- global $MYSQL_CONN;\r
- if (!$conn)\r
- {\r
- $conn =& $MYSQL_CONN;\r
- }\r
- return mysql_real_escape_string($val, $conn);\r
- }\r
- \r
- /**\r
- * executes an PDO::quote() like escape, ie adds quotes arround the string and escapes chars as needed\r
- */\r
- function sql_quote_string($val, $conn = false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return "'".mysql_real_escape_string($val,$conn)."'";\r
- }\r
- \r
- /**\r
- * executes an SQL insert id\r
- */\r
- function sql_insert_id($conn = false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_insert_id($conn);\r
- }\r
- \r
- /**\r
- * executes an SQL result request\r
- */\r
- function sql_result($res, $row, $col)\r
- {\r
- return mysql_result($res,$row,$col);\r
- }\r
- \r
- /**\r
- * frees sql result resources\r
- */\r
- function sql_free_result($res)\r
- {\r
- return mysql_free_result($res);\r
- }\r
- \r
- /**\r
- * returns number of rows in SQL result\r
- */\r
- function sql_num_rows($res)\r
- {\r
- return mysql_num_rows($res);\r
- }\r
- \r
- /**\r
- * returns number of rows affected by SQL query\r
- */\r
- function sql_affected_rows($conn = false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_affected_rows($conn);\r
- }\r
- \r
- /**\r
- * Get number of fields in result\r
- */\r
- function sql_num_fields($res)\r
- {\r
- return mysql_num_fields($res);\r
- }\r
- \r
- /**\r
- * fetches next row of SQL result as an associative array\r
- */\r
- function sql_fetch_assoc($res)\r
- {\r
- return mysql_fetch_assoc($res);\r
- }\r
- \r
- /**\r
- * Fetch a result row as an associative array, a numeric array, or both\r
- */\r
- function sql_fetch_array($res)\r
- {\r
- return mysql_fetch_array($res);\r
- }\r
- \r
- /**\r
- * fetches next row of SQL result as an object\r
- */\r
- function sql_fetch_object($res)\r
- {\r
- return mysql_fetch_object($res);\r
- }\r
- \r
- /**\r
- * Get a result row as an enumerated array\r
- */\r
- function sql_fetch_row($res)\r
- {\r
- return mysql_fetch_row($res);\r
- }\r
- \r
- /**\r
- * Get column information from a result and return as an object\r
- */\r
- function sql_fetch_field($res,$offset = 0)\r
- {\r
- return mysql_fetch_field($res,$offset);\r
- }\r
- \r
- /**\r
- * Get current system status (returns string)\r
- */\r
- function sql_stat($conn=false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_stat($conn);\r
- }\r
- \r
- /**\r
- * Returns the name of the character set\r
- */\r
- function sql_client_encoding($conn=false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_client_encoding($conn);\r
- }\r
- \r
- /**\r
- * Get SQL client version\r
- */\r
- function sql_get_client_info()\r
- {\r
- return mysql_get_client_info();\r
- }\r
- \r
- /**\r
- * Get SQL server version\r
- */\r
- function sql_get_server_info($conn=false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_get_server_info($conn);\r
- }\r
- \r
- /**\r
- * Returns a string describing the type of SQL connection in use for the connection or FALSE on failure\r
- */\r
- function sql_get_host_info($conn=false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_get_host_info($conn);\r
- }\r
- \r
- /**\r
- * Returns the SQL protocol on success, or FALSE on failure.\r
- */\r
- function sql_get_proto_info($conn=false)\r
- {\r
- global $MYSQL_CONN;\r
- if ( !$conn )\r
- {\r
- $conn = $MYSQL_CONN;\r
- }\r
- return mysql_get_proto_info($conn);\r
- }\r
- \r
- /**\r
- * Get the name of the specified field in a result\r
- */\r
- function sql_field_name($res, $offset = 0)\r
- {\r
- return mysql_field_name($res, $offset);\r
- }\r
- \r
- /**\r
- * Set character encodings in each fields related to MySQL connection.\r
- */\r
- function sql_set_charset($charset)\r
- {\r
- global $MYSQL_CONN;\r
- \r
- /*\r
- * NOTE:\r
- *\r
- * We decided to ignore which character encodings is set in each text field of MySQL table!\r
- *\r
- * There are differences between "SET NAMES xxx;" and "SET CHARACTER SET xxx;"\r
- * according MySQL version.\r
- * http://dev.mysql.com/doc/refman/4.1/en/charset-connection.html\r
- * http://dev.mysql.com/doc/refman/5.1/en/charset-connection.html\r
- *\r
- * And mysql_set_charset() execute "SET NAMES xxx;" internally and set mysql->charset as xxx.\r
- * refering to MySQL C API.\r
- * http://dev.mysql.com/doc/refman/5.1/ja/mysql-set-character-set.html\r
- * http://php.net/manual/en/function.mysql-set-charset.php\r
- *\r
- * mysql_real_escape_string() is affected by mysql->charset,\r
- * refering to MySQL C API.\r
- * http://dev.mysql.com/doc/refman/5.1/en/mysql-real-escape-string.html\r
- * http://php.net/manual/en/function.mysql-real-escape-string.php\r
- *\r
- * But using the same character encoding in character_set_client and the strings is\r
- * more important than mysql->charset\r
- * because mysql_real_escape_string() escape some characters in ASCII character set.\r
- *\r
- */\r
- $charset = strtolower($charset);\r
- $mysql_version = preg_replace('#^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})(.*)$#', '$1.$2.$3', sql_get_server_info($MYSQL_CONN));\r
- \r
- if ( version_compare($mysql_version, '5.0.7', '>=') && function_exists('mysql_set_charset') )\r
- {\r
- $result = mysql_set_charset($charset);\r
- }\r
- else if ( version_compare($mysql_version, '5.0.7', '<') )\r
- {\r
- $result = sql_query("SET CHARACTER SET {$charset};");\r
- }\r
- else\r
- {\r
- $result = sql_query("SET NAMES {$charset};");\r
- }\r
- \r
- return $result;\r
- }\r
-\r
-/**************************************************************************\r
-Unimplemented mysql_* functions\r
-\r
-# mysql_ data_ seek (maybe useful)\r
-# mysql_ errno (maybe useful)\r
-# mysql_ fetch_ lengths (maybe useful)\r
-# mysql_ field_ flags (maybe useful)\r
-# mysql_ field_ len (maybe useful)\r
-# mysql_ field_ seek (maybe useful)\r
-# mysql_ field_ table (maybe useful)\r
-# mysql_ field_ type (maybe useful)\r
-# mysql_ info (maybe useful)\r
-# mysql_ list_ processes (maybe useful)\r
-# mysql_ ping (maybe useful)\r
-# mysql_ set_ charset (maybe useful, requires php >=5.2.3 and mysql >=5.0.7)\r
-# mysql_ thread_ id (maybe useful)\r
-\r
-# mysql_ db_ name (useful only if working on multiple dbs which we do not do)\r
-# mysql_ list_ dbs (useful only if working on multiple dbs which we do not do)\r
-\r
-# mysql_ pconnect (probably not useful and could cause some unintended performance issues)\r
-# mysql_ unbuffered_ query (possibly useful, but complicated and not supported by all database drivers (pdo))\r
-\r
-# mysql_ change_ user (deprecated)\r
-# mysql_ create_ db (deprecated)\r
-# mysql_ db_ query (deprecated)\r
-# mysql_ drop_ db (deprecated)\r
-# mysql_ escape_ string (deprecated)\r
-# mysql_ list_ fields (deprecated)\r
-# mysql_ list_ tables (deprecated)\r
-# mysql_ tablename (deprecated)\r
-\r
-*******************************************************************/\r
-}\r
+++ /dev/null
-<?php\r
-\r
-/*\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- */\r
-/**\r
- * @license http://nucleuscms.org/license.txt GNU General Public License\r
- * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
- * @version $Id$\r
- */\r
- \r
-/*\r
- * complete sql_* wrappers for mysql functions\r
- *\r
- * functions moved from globalfunctions.php: sql_connect, sql_disconnect, sql_query\r
- */\r
- \r
-\r
-$MYSQL_CONN = 0;\r
-global $SQL_DBH;\r
-$SQL_DBH = NULL;\r
-\r
-if (!function_exists('sql_fetch_assoc'))\r
-{\r
- /**\r
- * Errors before the database connection has been made\r
- */\r
- function startUpError($msg, $title) {\r
- ?>\r
- <html xmlns="http://www.w3.org/1999/xhtml">\r
- <head><title><?php echo Entity::hsc($title)?></title></head>\r
- <body>\r
- <h1><?php echo Entity::hsc($title)?></h1>\r
- <?php echo $msg?>\r
- </body>\r
- </html>\r
- <?php exit;\r
- }\r
- \r
- /**\r
- * Connects to mysql server\r
- */\r
- function sql_connect_args($mysql_host = 'localhost', $mysql_user = '', $mysql_password = '', $mysql_database = '') {\r
- global $MYSQL_HANDLER;\r
- \r
- try {\r
- if (i18n::strpos($mysql_host,':') === false) {\r
- $host = $mysql_host;\r
- $port = '';\r
- $portnum = '';\r
- }\r
- else {\r
- list($host,$port) = preg_split("#:#", $mysql_host);\r
- if (isset($port)) {\r
- $portnum = $port;\r
- $port = ';port='.trim($port);\r
- }\r
- else {\r
- $port = '';\r
- $portnum = '';\r
- }\r
- }\r
- \r
- switch ($MYSQL_HANDLER[1]) {\r
- case 'sybase':\r
- case 'dblib':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$mysql_database, $mysql_user, $mysql_password);\r
- break;\r
- case 'mssql':\r
- if (is_numeric($portnum)) $port = ','.intval($portnum);\r
- else $port = '';\r
- $DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$mysql_database, $mysql_user, $mysql_password);\r
- break;\r
- case 'oci':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $DBH = new PDO($MYSQL_HANDLER[1].':dbname=//'.$host.$port.'/'.$mysql_database, $mysql_user, $mysql_password);\r
- break;\r
- case 'odbc':\r
- if (is_numeric($portnum)) $port = ';PORT='.intval($portnum);\r
- else $port = '';\r
- $DBH = new PDO($MYSQL_HANDLER[1].':DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME='.$host.$port.';DATABASE='.$mysql_database.';PROTOCOL=TCPIP;UID='.$mysql_user.';PWD='.$mysql_password);\r
-\r
- break;\r
- case 'pgsql':\r
- if (is_numeric($portnum)) $port = ';port='.intval($portnum);\r
- else $port = '';\r
- $DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$mysql_database, $mysql_user, $mysql_password);\r
- break;\r
- case 'sqlite':\r
- case 'sqlite2':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $DBH = new PDO($MYSQL_HANDLER[1].':'.$mysql_database, $mysql_user, $mysql_password);\r
- if ($DBH)\r
- {\r
- $DBH->sqliteCreateFunction('SUBSTRING', 'substr', 3);\r
- $DBH->sqliteCreateFunction('UNIX_TIMESTAMP', 'strtotime', 1);\r
- } \r
- break;\r
- default:\r
- //mysql\r
- $DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$mysql_database, $mysql_user, $mysql_password);\r
- break;\r
- }\r
- \r
- \r
- \r
- } catch (PDOException $e) {\r
- $DBH =NULL;\r
- startUpError('<p>a1 Error!: ' . $e->getMessage() . '</p>', 'Connect Error');\r
- }\r
- \r
- if ( $mysql_database )\r
- {\r
- sql_set_charset('utf8');\r
- }\r
- \r
- /*\r
- // For debugging\r
- echo '<hr />DBH: '.print_r($SQL_DBH,true).'<hr />';\r
- $result = sql_query('SHOW VARIABLES LIKE \'char%\';');\r
- while(FALSE !== ($row = sql_fetch_row($result)))\r
- {\r
- echo "{$row[0]}: {$row[1]}\n";\r
- }\r
- */\r
- \r
- return $DBH;\r
- }\r
- \r
- /**\r
- * Connects to mysql server\r
- */\r
- function sql_connect() {\r
- global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_CONN, $MYSQL_HANDLER, $SQL_DBH;\r
- $SQL_DBH = NULL;\r
- try {\r
- if (i18n::strpos($MYSQL_HOST,':') === false) {\r
- $host = $MYSQL_HOST;\r
- $port = '';\r
- $portnum = ''; \r
- }\r
- else {\r
- list($host,$port) = preg_split("#:#", $MYSQL_HOST);\r
- if (isset($port)) {\r
- $portnum = $port;\r
- $port = ';port='.trim($port);\r
- }\r
- else {\r
- $port = '';\r
- $portnum = '';\r
- }\r
- }\r
- \r
- switch ($MYSQL_HANDLER[1]) {\r
- case 'sybase':\r
- case 'dblib':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$MYSQL_DATABASE, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- case 'mssql':\r
- if (is_numeric($portnum)) $port = ','.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$MYSQL_DATABASE, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- case 'oci':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':dbname=//'.$host.$port.'/'.$MYSQL_DATABASE, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- case 'odbc':\r
- if (is_numeric($portnum)) $port = ';PORT='.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME='.$host.$port.';DATABASE='.$MYSQL_DATABASE.';PROTOCOL=TCPIP;UID='.$MYSQL_USER.';PWD='.$MYSQL_PASSWORD);\r
-\r
- break;\r
- case 'pgsql':\r
- if (is_numeric($portnum)) $port = ';port='.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$MYSQL_DATABASE, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- case 'sqlite':\r
- case 'sqlite2':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':'.$MYSQL_DATABASE, $MYSQL_USER, $MYSQL_PASSWORD);\r
- if ($SQL_DBH)\r
- {\r
- $SQL_DBH->sqliteCreateFunction('SUBSTRING', 'substr', 3);\r
- $SQL_DBH->sqliteCreateFunction('UNIX_TIMESTAMP', 'strtotime', 1);\r
- } \r
- break;\r
- default:\r
- //mysql\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$MYSQL_DATABASE, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- }\r
- \r
- //$SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$MYSQL_DATABASE, $MYSQL_USER, $MYSQL_PASSWORD);\r
- \r
- } catch (PDOException $e) {\r
- $SQL_DBH = NULL;\r
- startUpError('<p>a2 Error!: ' . $e->getMessage() . '</p>', 'Connect Error');\r
- }\r
- \r
- if ( $MYSQL_DATABASE )\r
- {\r
- sql_set_charset('utf8');\r
- }\r
- \r
- /*\r
- // For debugging\r
- echo '<hr />DBH: '.print_r($SQL_DBH,true).'<hr />';\r
- $result = sql_query('SHOW VARIABLES LIKE \'char%\';');\r
- while(FALSE !== ($row = sql_fetch_row($result)))\r
- {\r
- echo "{$row[0]}: {$row[1]}\n";\r
- }\r
- */\r
- \r
- $MYSQL_CONN =& $SQL_DBH;\r
-// echo '<hr />DBH: '.print_r($SQL_DBH,true).'<hr />'; \r
- $MYSQL_CONN =& $SQL_DBH;\r
- return $SQL_DBH;\r
-\r
- }\r
-\r
- /**\r
- * disconnects from SQL server\r
- */\r
- function sql_disconnect(&$dbh=NULL) {\r
- global $SQL_DBH;\r
- if (is_null($dbh)) $SQL_DBH = NULL;\r
- else $dbh = NULL;\r
- }\r
- \r
- /**\r
- * sql_close()\r
- * use sql_disconnect() instead of this\r
- * \r
- * @deprecated\r
- * @param resource $conn resource of mySQL connection\r
- * @return void\r
- */\r
- function sql_close(&$dbh=NULL)\r
- {\r
- global $SQL_DBH;\r
- if ( is_null($dbh) )\r
- {\r
- $SQL_DBH = NULL;\r
- }\r
- else\r
- {\r
- $dbh = NULL;\r
- }\r
- return;\r
- }\r
- \r
- /**\r
- * executes an SQL query\r
- */\r
- function sql_query($query,$dbh=NULL) {\r
- global $SQLCount,$SQL_DBH;\r
- $SQLCount++;\r
-//echo '<hr />SQL_DBH: ';\r
-//print_r($SQL_DBH);\r
-//echo '<hr />DBH: ';\r
-//print_r($dbh);\r
-//echo '<hr />';\r
-//echo $query.'<hr />';\r
- if (is_null($dbh)) $res = $SQL_DBH->query($query);\r
- else $res = $dbh->query($query);\r
- //if ($res->errorCode() != '00000') {\r
- // $errors = $res->errorInfo();\r
- if (($res === false) || ($res->errorCode() != '00000') ) {\r
- $errors = ($res !== false) ? $res->errorInfo() : ( is_object($dbh) ? $dbh->errorInfo() : $SQL_DBH->errorInfo());\r
- print("SQL error with query $query: " . $errors[0].'-'.$errors[1].' '.$errors[2] . '<p />');\r
- }\r
- \r
- return $res;\r
- }\r
- \r
- /**\r
- * executes an SQL error\r
- */\r
- function sql_error($dbh=NULL)\r
- {\r
- global $SQL_DBH;\r
- if (is_null($dbh)) $error = $SQL_DBH->errorInfo();\r
- else $error = $dbh->errorInfo();\r
- if ($error[0] != '00000') {\r
- return $error[0].'-'.$error[1].' '.$error[2];\r
- }\r
- else return '';\r
- }\r
- \r
- /**\r
- * executes an SQL db select\r
- */\r
- function sql_select_db($db,&$dbh=NULL)\r
- {\r
- global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_CONN, $MYSQL_HANDLER, $SQL_DBH;\r
-//echo '<hr />'.print_r($dbh,true).'<hr />';\r
-//exit;\r
- if (is_null($dbh)) { \r
- try {\r
- $SQL_DBH = NULL;\r
- list($host,$port) = preg_split("#:#", $MYSQL_HOST);\r
- if (isset($port)) {\r
- $portnum = $port;\r
- $port = ';port='.trim($port);\r
- }\r
- else {\r
- $port = '';\r
- $portnum = '';\r
- }\r
- //$SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.trim($host).$port.';dbname='.$db, $MYSQL_USER, $MYSQL_PASSWORD);\r
- //$SQL_DBH = sql_connect();\r
- switch ($MYSQL_HANDLER[1]) {\r
- case 'sybase':\r
- case 'dblib':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$db, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- case 'mssql':\r
- if (is_numeric($portnum)) $port = ','.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$db, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- case 'oci':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':dbname=//'.$host.$port.'/'.$db, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- case 'odbc':\r
- if (is_numeric($portnum)) $port = ';PORT='.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME='.$host.$port.';DATABASE='.$db.';PROTOCOL=TCPIP;UID='.$MYSQL_USER.';PWD='.$MYSQL_PASSWORD);\r
-\r
- break;\r
- case 'pgsql':\r
- if (is_numeric($portnum)) $port = ';port='.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$db, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- case 'sqlite':\r
- case 'sqlite2':\r
- if (is_numeric($portnum)) $port = ':'.intval($portnum);\r
- else $port = '';\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':'.$db, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- default:\r
- //mysql\r
- $SQL_DBH = new PDO($MYSQL_HANDLER[1].':host='.$host.$port.';dbname='.$db, $MYSQL_USER, $MYSQL_PASSWORD);\r
- break;\r
- }\r
- return 1;\r
- } catch (PDOException $e) {\r
- startUpError('<p>a3 Error!: ' . $e->getMessage() . '</p>', 'Connect Error');\r
- return 0;\r
- }\r
- }\r
- else {\r
- if ($dbh->exec("USE $db") !== false) return 1;\r
- else return 0;\r
- }\r
- }\r
- \r
- /**\r
- * executes an SQL real escape \r
- */\r
- function sql_real_escape_string($val,$dbh=NULL)\r
- {\r
- global $MYSQL_HANDLER;\r
- if (stripos($MYSQL_HANDLER[1] , 'sqlite') !== false)\r
- {\r
- return sqlite_escape_string($val); \r
- }\r
- else \r
- {\r
- return addslashes($val);\r
- }\r
- }\r
- \r
- /**\r
- * executes an PDO::quote() like escape, ie adds quotes arround the string and escapes chars as needed \r
- */\r
- function sql_quote_string($val,$dbh=NULL) {\r
- global $SQL_DBH;\r
- if (is_null($dbh))\r
- return $SQL_DBH->quote($val);\r
- else\r
- return $dbh->quote($val);\r
- }\r
- \r
- /**\r
- * executes an SQL insert id\r
- */\r
- function sql_insert_id($dbh=NULL)\r
- { \r
- global $SQL_DBH;\r
- if (is_null($dbh))\r
- return $SQL_DBH->lastInsertId();\r
- else\r
- return $dbh->lastInsertId();\r
- }\r
- \r
- /**\r
- * executes an SQL result request\r
- */\r
- function sql_result($res, $row = 0, $col = 0)\r
- {\r
- $results = array();\r
- if (intval($row) < 1) {\r
- $results = $res->fetch(PDO::FETCH_BOTH);\r
- return $results[$col];\r
- }\r
- else {\r
- for ($i = 0; $i < intval($row); $i++) {\r
- $results = $res->fetch(PDO::FETCH_BOTH);\r
- }\r
- $results = $res->fetch(PDO::FETCH_BOTH);\r
- return $results[$col];\r
- }\r
- }\r
- \r
- /**\r
- * frees sql result resources\r
- */\r
- function sql_free_result($res)\r
- {\r
- $res = NULL;\r
- return true;\r
- }\r
- \r
- /**\r
- * returns number of rows in SQL result\r
- */\r
- function sql_num_rows($res)\r
- {\r
- return $res->rowCount();\r
- }\r
- \r
- /**\r
- * returns number of rows affected by SQL query\r
- */\r
- function sql_affected_rows($res)\r
- {\r
- return $res->rowCount();\r
- }\r
- \r
- /**\r
- * Get number of fields in result\r
- */\r
- function sql_num_fields($res)\r
- {\r
- return $res->columnCount();\r
- }\r
- \r
- /**\r
- * fetches next row of SQL result as an associative array\r
- */\r
- function sql_fetch_assoc($res)\r
- {\r
- $results = array();\r
- $results = $res->fetch(PDO::FETCH_ASSOC); \r
- return $results;\r
- }\r
- \r
- /**\r
- * Fetch a result row as an associative array, a numeric array, or both\r
- */\r
- function sql_fetch_array($res)\r
- {\r
- $results = array();\r
- $results = $res->fetch(PDO::FETCH_BOTH);\r
- return $results;\r
- }\r
- \r
- /**\r
- * fetches next row of SQL result as an object\r
- */\r
- function sql_fetch_object($res)\r
- {\r
- $results = NULL;\r
- $results = $res->fetchObject(); \r
- return $results;\r
- }\r
- \r
- /**\r
- * Get a result row as an enumerated array\r
- */\r
- function sql_fetch_row($res)\r
- {\r
- $results = array();\r
- $results = $res->fetch(PDO::FETCH_NUM); \r
- return $results;\r
- }\r
- \r
- /**\r
- * Get column information from a result and return as an object\r
- */\r
- function sql_fetch_field($res,$offset = 0)\r
- {\r
- $results = array();\r
- $obj = NULL;\r
- $results = $res->getColumnMeta($offset);\r
- foreach($results as $key=>$value) {\r
- $obj->$key = $value;\r
- }\r
- return $obj;\r
- }\r
- \r
- /**\r
- * Get current system status (returns string)\r
- */\r
- function sql_stat($dbh=NULL)\r
- {\r
- //not implemented\r
- global $SQL_DBH;\r
- if (is_null($dbh))\r
- return '';\r
- else\r
- return '';\r
- }\r
- \r
- /**\r
- * Returns the name of the character set\r
- */\r
- function sql_client_encoding($dbh=NULL)\r
- {\r
- //not implemented\r
- global $SQL_DBH;\r
- if (is_null($dbh))\r
- return '';\r
- else\r
- return '';\r
- }\r
- \r
- /**\r
- * Get SQL client version\r
- */\r
- function sql_get_client_info()\r
- {\r
- global $SQL_DBH;\r
- return $SQL_DBH->getAttribute(constant("PDO::ATTR_CLIENT_VERSION"));\r
- }\r
- \r
- /**\r
- * Get SQL server version\r
- */\r
- function sql_get_server_info($dbh=NULL)\r
- {\r
- global $SQL_DBH;\r
- if (is_null($dbh))\r
- return $SQL_DBH->getAttribute(constant("PDO::ATTR_SERVER_VERSION"));\r
- else\r
- return $dbh->getAttribute(constant("PDO::ATTR_SERVER_VERSION"));\r
- }\r
- \r
- /**\r
- * Returns a string describing the type of SQL connection in use for the connection or FALSE on failure\r
- */\r
- function sql_get_host_info($dbh=NULL)\r
- {\r
- global $SQL_DBH;\r
- if (is_null($dbh))\r
- return $SQL_DBH->getAttribute(constant("PDO::ATTR_SERVER_INFO"));\r
- else\r
- return $dbh->getAttribute(constant("PDO::ATTR_SERVER_INFO"));\r
- }\r
- \r
- /**\r
- * Returns the SQL protocol on success, or FALSE on failure. \r
- */\r
- function sql_get_proto_info($dbh=NULL)\r
- {\r
- //not implemented\r
- global $SQL_DBH;\r
- if (is_null($dbh))\r
- return false;\r
- else\r
- return false;\r
- }\r
-\r
- /**\r
- * Get the name of the specified field in a result\r
- */\r
- function sql_field_name($res, $offset = 0)\r
- {\r
- $column = $res->getColumnMeta($offset);\r
- if ($column) {\r
- return $column['name'];\r
- }\r
- return false;\r
- }\r
- \r
- /**\r
- * Set character encodings in each fields\r
- */\r
- function sql_set_charset($charset)\r
- {\r
- global $MYSQL_HANDLER, $SQL_DBH;\r
- \r
- $result = TRUE;\r
- \r
- if ( $MYSQL_HANDLER[0] == '' || in_array('mysql', $MYSQL_HANDLER) )\r
- {\r
- /*\r
- * NOTE:\r
- * It's great help to you refering the same function in mysql.php.\r
- * PDO::MySQL has no function as same as mysql_set_charset().\r
- */\r
- $charset = strtolower($charset);\r
- $mysql_version = preg_replace('#^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})(.*)$#', '$1.$2.$3', sql_get_server_info($SQL_DBH));\r
- \r
- if ( version_compare($mysql_version, '5.0.7', '<') )\r
- {\r
- $result = sql_query("SET CHARACTER SET {$charset};");\r
- }\r
- else\r
- {\r
- $result = sql_query("SET NAMES {$charset};");\r
- }\r
- }\r
- return $result;\r
- }\r
- \r
-/**************************************************************************\r
-Unimplemented mysql_* functions\r
-\r
-# mysql_ data_ seek (maybe useful)\r
-# mysql_ errno (maybe useful)\r
-# mysql_ fetch_ lengths (maybe useful)\r
-# mysql_ field_ flags (maybe useful)\r
-# mysql_ field_ len (maybe useful)\r
-# mysql_ field_ seek (maybe useful)\r
-# mysql_ field_ table (maybe useful)\r
-# mysql_ field_ type (maybe useful)\r
-# mysql_ info (maybe useful)\r
-# mysql_ list_ processes (maybe useful)\r
-# mysql_ ping (maybe useful)\r
-# mysql_ set_ charset (maybe useful, requires php >=5.2.3 and mysql >=5.0.7)\r
-# mysql_ thread_ id (maybe useful)\r
-\r
-# mysql_ db_ name (useful only if working on multiple dbs which we do not do)\r
-# mysql_ list_ dbs (useful only if working on multiple dbs which we do not do)\r
-\r
-# mysql_ pconnect (probably not useful and could cause some unintended performance issues)\r
-# mysql_ unbuffered_ query (possibly useful, but complicated and not supported by all database drivers (pdo))\r
-\r
-# mysql_ change_ user (deprecated)\r
-# mysql_ create_ db (deprecated)\r
-# mysql_ db_ query (deprecated)\r
-# mysql_ drop_ db (deprecated)\r
-# mysql_ escape_ string (deprecated)\r
-# mysql_ list_ fields (deprecated)\r
-# mysql_ list_ tables (deprecated)\r
-# mysql_ tablename (deprecated)\r
-\r
-*******************************************************************/\r
-\r
-}\r
--- /dev/null
+<?php
+
+/*
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ */
+/**
+ * @license http://nucleuscms.org/license.txt GNU General Public License
+ * @copyright Copyright (C) 2012 The Nucleus Group
+ * @version $Id$
+ */
+
+/*
+ * sql_* wrappers for DB class access
+ */
+if ( !class_exists('DB') )
+{
+ include_once realpath(dirname(__FILE__)) . '/DB.php';
+}
+
+/**
+ * Connects to database server with arguments
+ * @deprecated
+ */
+function sql_connect_args($host = 'localhost', $user = '', $password = '', $database = '', $new_link = FALSE)
+{
+ global $MYSQL_HANDLER;
+ return DB::setConnectionInfo($MYSQL_HANDLER[1], $host, $user, $password, $database);
+}
+
+/**
+ * Connects to database server
+ * @deprecated
+ */
+function sql_connect()
+{
+ global $MYSQL_HANDLER, $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE;
+
+ return DB::setConnectionInfo($MYSQL_HANDLER[1], $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE);
+}
+
+/**
+ * disconnects from SQL server
+ * @deprecated
+ */
+function sql_disconnect($conn = false)
+{
+ DB::disConnect();
+}
+
+/**
+ * disconnects from SQL server
+ * @deprecated
+ * @param unknown_type $conn
+ */
+function sql_close($conn = false)
+{
+ DB::disConnect();
+}
+
+/**
+ * executes an SQL query
+ * @deprecated
+ */
+function sql_query($query, $conn = false)
+{
+ global $mysql_affected_row;
+ $mysql_affected_row = -1;
+ if ( preg_match('/^\W*(INSERT|UPDATE|DELETE|DROP)/i', $query) )
+ {
+ $mysql_affected_row = DB::execute($query);
+ return $mysql_affected_row !== FALSE ? TRUE : FALSE;
+ }
+ return DB::getResult($query);
+}
+
+/**
+ * executes an SQL error
+ * @deprecated
+ */
+function sql_error($conn = false)
+{
+ $err = DB::getError();
+ return $err[2];
+}
+
+/**
+ * executes an SQL db select
+ * @deprecated
+ */
+function sql_select_db($db, $conn = false)
+{
+ sql_disconnect();
+ return sql_connect();
+}
+
+/**
+ * executes an SQL real escape
+ * @deprecated
+ */
+function sql_real_escape_string($val, $conn = false)
+{
+ if ( is_numeric($val) )
+ {
+ return $val;
+ }
+ $escapeval = DB::quoteValue($val);
+ if ( preg_match("/^'(.*)'$/", $escapeval, $matches) )
+ {
+ $escapeval = $matches[1];
+ }
+ return $escapeval;
+}
+
+/**
+ * executes an PDO::quote() like escape, ie adds quotes arround the string and escapes chars as needed
+ * @deprecated
+ */
+function sql_quote_string($val, $conn = false)
+{
+ if ( is_numeric($val) )
+ {
+ return $val;
+ }
+ return DB::quoteValue($val);
+}
+
+/**
+ * executes an SQL insert id
+ * @deprecated
+ */
+function sql_insert_id($conn = false)
+{
+ return DB::getInsertId();
+}
+
+/**
+ * executes an SQL result request
+ * @deprecated
+ */
+function sql_result($res, $row, $col)
+{
+ if ( !method_exists($res, 'fetch') ) return FALSE;
+ for ( $i = 0; $i < $row; $i++ )
+ $res->fetch();
+ return $res->fetchColumn($col);
+}
+
+/**
+ * frees sql result resources
+ * @deprecated
+ */
+function sql_free_result($res)
+{
+ if ( !method_exists($res, 'closeCursor') ) return FALSE;
+ return $res->closeCursor();
+}
+
+/**
+ * returns number of rows in SQL result
+ * @deprecated
+ */
+function sql_num_rows($res)
+{
+ if ( !method_exists($res, 'rowCount') ) return FALSE;
+ return $res->rowCount();
+}
+
+/**
+ * returns number of rows affected by SQL query
+ * @deprecated
+ */
+function sql_affected_rows($conn = false)
+{
+ global $mysql_affected_row;
+ return $mysql_affected_row;
+}
+
+/**
+ * Get number of fields in result
+ * @deprecated
+ */
+function sql_num_fields($res)
+{
+ if ( !method_exists($res, 'columnCount') ) return FALSE;
+ return $res->columnCount();
+}
+
+/**
+ * fetches next row of SQL result as an associative array
+ * @deprecated
+ */
+function sql_fetch_assoc($res)
+{
+ if ( !method_exists($res, 'fetch') ) return FALSE;
+ return $res->fetch(PDO::FETCH_ASSOC);
+}
+
+/**
+ * Fetch a result row as an associative array, a numeric array, or both
+ * @deprecated
+ */
+function sql_fetch_array($res)
+{
+ if ( !method_exists($res, 'fetch') ) return FALSE;
+ return $res->fetch(PDO::FETCH_BOTH);
+}
+
+/**
+ * fetches next row of SQL result as an object
+ * @deprecated
+ */
+function sql_fetch_object($res)
+{
+ if ( !method_exists($res, 'fetch') ) return FALSE;
+ return $res->fetch(PDO::FETCH_OBJ);
+}
+
+/**
+ * Get a result row as an enumerated array
+ * @deprecated
+ */
+function sql_fetch_row($res)
+{
+ if ( !method_exists($res, 'fetch') ) return FALSE;
+ return $res->fetch(PDO::FETCH_NUM);
+}
+
+/**
+ * Get column information from a result and return as an object
+ * @deprecated
+ */
+function sql_fetch_field($res, $offset = 0)
+{
+ return FALSE;
+}
+
+/**
+ * Get current system status (returns string)
+ * @deprecated
+ */
+function sql_stat($conn = false)
+{
+ return FALSE;
+}
+
+/**
+ * Returns the name of the character set
+ * @deprecated
+ */
+function sql_client_encoding($conn = false)
+{
+ return FALSE;
+}
+
+/**
+ * Get SQL client version
+ * @deprecated
+ */
+function sql_get_client_info()
+{
+ return DB::getAttribute(PDO::ATTR_CLIENT_VERSION);
+}
+
+/**
+ * Get SQL server version
+ * @deprecated
+ */
+function sql_get_server_info($conn = false)
+{
+ return DB::getAttribute(PDO::ATTR_SERVER_VERSION);
+}
+
+/**
+ * Returns a string describing the type of SQL connection in use for the connection or FALSE on failure
+ * @deprecated
+ */
+function sql_get_host_info($conn = false)
+{
+ return FALSE;
+}
+
+/**
+ * Returns the SQL protocol on success, or FALSE on failure.
+ * @deprecated
+ */
+function sql_get_proto_info($conn = false)
+{
+ return FALSE;
+}
+
+/**
+ * Get the name of the specified field in a result
+ * @deprecated
+ */
+function sql_field_name($res, $offset = 0)
+{
+ if ( !method_exists($res, 'getColumnMeta') ) return FALSE;
+ $column = $res->getColumnMeta($offset);
+ return $column['name'];
+}
+
+/**
+ * Set character encodings in each fields related to MySQL connection.
+ * @deprecated
+ */
+function sql_set_charset($charset)
+{
+ return TRUE;
+}
// check if member is on at least one teamlist
$query = 'SELECT * FROM ' . sql_table('team'). ' WHERE tmember=' . $member->getID();
-$teams = sql_query($query);
-if (sql_num_rows($teams) == 0 && !$member->isAdmin())
+$teams = DB::getResult($query);
+if ($teams->rowCount() == 0 && !$member->isAdmin())
media_doError(_ERROR_DISALLOWEDUPLOAD);
// get action
$this->createOption('login_lockout', '_SECURITYENFORCER_OPT_LOGIN_LOCKOUT', 'text', '15');
// create needed tables
- sql_query("CREATE TABLE IF NOT EXISTS ". sql_table('plug_securityenforcer').
+ DB::execute('CREATE TABLE IF NOT EXISTS '. sql_table('plug_securityenforcer').
" (login varchar(255),
fails int(11) NOT NULL default '0',
lastfail bigint NOT NULL default '0',
// if requested, delete the data table
if ( $this->getOption('del_uninstall_data') == 'yes' )
{
- sql_query('DROP TABLE '.sql_table('plug_securityenforcer'));
+ DB::execute('DROP TABLE '.sql_table('plug_securityenforcer'));
}
return;
}
global $_SERVER;
$login = $data['login'];
$ip = $_SERVER['REMOTE_ADDR'];
- sql_query("DELETE FROM " . sql_table('plug_securityenforcer') . " WHERE lastfail < " . (time() - ($this->login_lockout * 60)));
- $query = "SELECT fails as result FROM " . sql_table('plug_securityenforcer') . " ";
- $query .= "WHERE login='" . sql_real_escape_string($login) . "'";
- $flogin = quickQuery($query);
- $query = "SELECT fails as result FROM " . sql_table('plug_securityenforcer') . " ";
- $query .= "WHERE login='" . sql_real_escape_string($ip) . "'";
- $fip = quickQuery($query);
+ DB::execute('DELETE FROM ' . sql_table('plug_securityenforcer') . ' WHERE lastfail < ' . (time() - ($this->login_lockout * 60)));
+ $query = 'SELECT fails as result FROM ' . sql_table('plug_securityenforcer');
+ $query .= 'WHERE login=' . DB::quoteValue($login);
+ $flogin = DB::getValue($query);
+ $query = 'SELECT fails as result FROM ' . sql_table('plug_securityenforcer');
+ $query .= 'WHERE login=' . DB::quoteValue($ip);
+ $fip = DB::getValue($query);
if ( $flogin >= $this->max_failed_login || $fip >= $this->max_failed_login )
{
global $_SERVER;
$login = $data['username'];
$ip = $_SERVER['REMOTE_ADDR'];
- sql_query("DELETE FROM " . sql_table('plug_securityenforcer') . " WHERE login='" . sql_real_escape_string($login) . "'");
- sql_query("DELETE FROM " . sql_table('plug_securityenforcer') . " WHERE login='" . sql_real_escape_string($ip) . "'");
+ DB::execute('DELETE FROM ' . sql_table('plug_securityenforcer') . ' WHERE login=' . DB::quoteValue($login));
+ DB::execute('DELETE FROM ' . sql_table('plug_securityenforcer') . ' WHERE login=' . DB::quoteValue($ip));
return;
}
global $_SERVER;
$login = $data['username'];
$ip = $_SERVER['REMOTE_ADDR'];
- $lres = sql_query("SELECT * FROM " . sql_table('plug_securityenforcer') . " WHERE login='" . sql_real_escape_string($login) . "'");
- if ( sql_num_rows($lres) )
+ $lres = DB::getResult('SELECT * FROM ' . sql_table('plug_securityenforcer') . ' WHERE login=' . DB::quoteValue($login));
+ if ( $lres->rowCount() > 0 )
{
- sql_query("UPDATE " . sql_table('plug_securityenforcer') . " SET fails=fails+1, lastfail=" . time() . " WHERE login='" . sql_real_escape_string($login) . "'");
+ DB::execute('UPDATE ' . sql_table('plug_securityenforcer') . ' SET fails=fails+1, lastfail=' . time() . ' WHERE login=' . DB::quoteValue($login));
}
else
{
- sql_query("INSERT INTO " . sql_table('plug_securityenforcer') . " (login,fails,lastfail) VALUES ('" . sql_real_escape_string($login) . "',1," . time() . ")");
+ DB::execute('INSERT INTO ' . sql_table('plug_securityenforcer') . ' (login,fails,lastfail) VALUES (' . DB::quoteValue($login) . ',1,' . time() . ')');
}
- $lres = sql_query("SELECT * FROM " . sql_table('plug_securityenforcer') . " WHERE login='" . sql_real_escape_string($ip) . "'");
- if ( sql_num_rows($lres) )
+ $lres = DB::getResult('SELECT * FROM ' . sql_table('plug_securityenforcer') . ' WHERE login=' . DB::quoteValue($ip));
+ if ( $lres->rowCount() > 0 )
{
- sql_query("UPDATE " . sql_table('plug_securityenforcer') . " SET fails=fails+1, lastfail=" . time() . " WHERE login='" . sql_real_escape_string($ip) . "'");
+ DB::execute('UPDATE ' . sql_table('plug_securityenforcer') . ' SET fails=fails+1, lastfail=' . time() . ' WHERE login=' . DB::quoteValue($ip));
}
else
{
- sql_query("INSERT INTO " . sql_table('plug_securityenforcer') . " (login,fails,lastfail) VALUES ('" . sql_real_escape_string($ip) . "',1," . time() . ")");
+ DB::execute('INSERT INTO ' . sql_table('plug_securityenforcer') . ' (login,fails,lastfail) VALUES (' . DB::quoteValue($ip) . ',1,' . time() . ')');
}
return;
}
$complexity = 4;
}
- $ucchars = "[A-Z]";
- $lcchars = "[a-z]";
- $numchars = "[0-9]";
- $ochars = "[-~!@#$%^&*()_+=,.<>?:;|]";
+ $ucchars = '[A-Z]';
+ $lcchars = '[a-z]';
+ $numchars = '[0-9]';
+ $ochars = '[-~!@#$%^&*()_+=,.<>?:;|]';
$chartypes = array($ucchars, $lcchars, $numchars, $ochars);
$tot = array(0,0,0,0);
$i = 0;
// some functions
function SE_unlockLogin($login)
{
- sql_query("DELETE FROM ".sql_table('plug_securityenforcer')." WHERE login='".sql_real_escape_string($login)."'");
+ DB::execute('DELETE FROM '.sql_table('plug_securityenforcer').' WHERE login='.DB::quoteValue($login));
}
// create the admin area page
echo '<tr><th>'._SECURITYENFORCER_ENTITY.'</th><th>'._SECURITYENFORCER_UNLOCK.'?</th></tr>';
echo '<tr><td colspan="2" class="submit"><input type="submit" value="'._SECURITYENFORCER_UNLOCK.'" /></td></tr>';
// do query to get all entries, loop
-$result = sql_query("SELECT * FROM ".sql_table("plug_securityenforcer")." WHERE fails >= ".$plug->max_failed_login);
-if ( sql_num_rows($result) )
+$result = DB::getResult("SELECT * FROM ".sql_table("plug_securityenforcer")." WHERE fails >= ".$plug->max_failed_login);
+if ( $result->rowCount() )
{
- while( $row = sql_fetch_assoc($result) )
+ foreach ( $result as $row )
{
echo '<tr>';
echo '<td>'.Entity::hsc($row['login']).'</td>';
}
/* markup buttons */
-.jsbutton {
- text-align: center;
+.jsbuttonbar {
+ height: 30px;
+ cursor: default;
+}
+.jsbutton {
+ float: left;
padding: 3px;
+ margin-right: 4px;
+ height: 16px;
+ width: 16px;
border: 1px solid #dddddd;
+ background-color: white;
}
.jsbuttonspacer {
- padding-right: 10px;
-}
-
-.jsbuttonbar {
- padding: 3px;
- cursor: default;
+ float: left;
+ width: 10px;
}
-
background-color: #F5F5F5;
}
-div#content table thead tr th {
+div#content table thead tr th,
+div#content table tfoot tr th,
+div#content table tbody tr th {
border: none;
background-color: #BBBBCC;
color: #000000;
}
div#content table thead th,
+div#content table thead td,
+div#content table tfoot th,
+div#content table tfoot td,
div#content table tbody td {
padding: 4px;
empty-cells: show;
}
/* systemconfig column */
-div#content table.systemoverview thead th,
+div#content table.systemoverview thead td,
+div#content table.systemoverview tfoot td,
div#content table.systemoverview tbody td {
width: 50%;
}
+div#content table thead tr td,
+div#content table tfoot tr td,
div#content table tbody tr td {
border: 1px solid #ddd;
font-size: small;
*/
/*************************************************************
- * NOTE: With upgrade to 3.6, need to set this to use sql_* API
+ * NOTE: With upgrade to 4.0, need to set this to use DB::* API
**************************************************************/
include('../../config.php');
break;
}
- $result = mysql_query($query);
- $installed = ( $result != 0 ) && (mysql_num_rows($result) >= $minrows);
+ $result = DB::getResult($query);
+ $installed = ( $result !== FALSE ) && ($result->rowCount() >= $minrows);
return $installed;
}
echo "<li> $friendly — ";
# execute the query
- $result = @mysql_query($query);
+ $result = @DB::execute($query);
// begin if: error executing query
if ( $result === FALSE )
{
echo '<span class="warning"> FAILED </span> <br />';
- echo 'Error: <code>', mysql_error(), '</code>';
+ $err = DB::getError();
+ echo 'Error: <code>', $err[2], '</code>';
$upgrade_failures++;
}
// else: query was successful
$indices = array();
$query = 'SHOW INDEX FROM ' . sql_table($table);
- $result = @mysql_query($query);
+ $result = @DB::getResult($query);
// begin loop: each result object
- while ( $object = mysql_fetch_object($result) )
+ foreach ( $result as $row )
{
// begin if: key has not been added to the indeces array yet
- if ( !isset($indices[$object->Key_name]) )
+ if ( !isset($indices[$row['Key_name']]) )
{
- $indices[$object->Key_name] = array();
+ $indices[$row['Key_name']] = array();
} // end if
- array_push($indices[$object->Key_name], $object->Column_name);
+ array_push($indices[$row['Key_name']], $row['Column_name']);
}
// compare each index with parameter
function upgrade_checkIfTableExists($table)
{
$query = 'SHOW TABLES LIKE ' . sql_table($table);
- $result = @mysql_query($query);
+ $result = DB::getResult($query);
// begin if: query executed successfully and one row was returned
- if ( ($result !== FALSE) && (@mysql_num_rows($result) == 1) )
+ if ( ($result !== FALSE) && ($result->rowCount() == 1) )
{
return TRUE;
}
function upgrade_checkIfCVExists($value)
{
$query = 'SELECT name FROM ' . sql_table('config') . ' WHERE name = "' . $value . '"';
- $result = @mysql_query($query);
+ $result = DB::getResult($query);
// begin if: query executed successfully and one row was returned
- if ( ($result !== FALSE) && (@mysql_num_rows($result) == 1) )
+ if ( ($result !== FALSE) && ($result->rowCount() == 1) )
{
return TRUE;
}
function upgrade_checkIfColumnExists($table, $column)
{
$query = 'DESC ' . sql_table($table) . ' ' . $column;
- $result = @mysql_query($query);
+ $result = DB::getResult($query);
// begin if: query executed successfully and one row was returned
- if ( ($result !== FALSE) && (@mysql_num_rows($result) == 1) )
+ if ( ($result !== FALSE) && ($result->rowCount() == 1) )
{
return TRUE;
}
// 6. add 'imagepopup' skincontents in skin 'default'
$query = 'SELECT sdnumber FROM '.sql_table('skin_desc')." WHERE sdname='default'";
- $res = sql_query($query);
- $obj = mysql_fetch_object($res);
- $skinid = $obj->sdnumber;
- $query = 'INSERT INTO '.sql_table('skin')." VALUES (" . $skinid . ", 'imagepopup', '<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n <title><%imagetext%></title>\r\n <style type=\"text/css\">\r\n img { border: none; }\r\n </style>\r\n</head>\r\n<body>\r\n <a href=\"javascript:window.close();\"><%image%></a>\r\n</body>\r\n</html>');";
+ $res = DB::getValue($query);
+ $query = 'INSERT INTO '.sql_table('skin')." VALUES (" . $res . ", 'imagepopup', '<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n <title><%imagetext%></title>\r\n <style type=\"text/css\">\r\n img { border: none; }\r\n </style>\r\n</head>\r\n<body>\r\n <a href=\"javascript:window.close();\"><%image%></a>\r\n</body>\r\n</html>');";
upgrade_query("Adding 'imagepopup' skinparts",$query);
// 7. add POPUP_CODE, MEDIA_CODE, IMAGE_CODE to ALL templates
$query = 'SELECT tdnumber FROM '.sql_table('template_desc');
- $res = sql_query($query); // get all template ids
- while ($obj = mysql_fetch_object($res)) {
- $tid = $obj->tdnumber; // template id
+ $res = DB::getResult($query); // get all template ids
+ foreach ( $res as $row ) {
+ $tid = $row['tdnumber']; // template id
$query = 'INSERT INTO '.sql_table('template')." VALUES ($tid, 'POPUP_CODE', '<%popuplink%>');";
$query2 = 'INSERT INTO '.sql_table('template')." VALUES ($tid, 'MEDIA_CODE', '<%media%>');";
if ($res) {
// 5. for all members: hash their password and also copy it to mcookiekey
$query = 'SELECT * FROM '.sql_table('member');
- $res = mysql_query($query);
- while ($current = mysql_fetch_object($res)) {
- $hashedpw = md5($current->mpassword);
- $updquery = 'UPDATE '.sql_table('member')." SET mpassword='$hashedpw' WHERE mnumber=" . $current->mnumber;
- upgrade_query("Encrypting password for member " . $current->mnumber,$updquery);
+ $res = DB::getResult($query);
+ foreach ( $res as $current ) {
+ $hashedpw = md5($current['mpassword']);
+ $updquery = 'UPDATE '.sql_table('member')." SET mpassword='$hashedpw' WHERE mnumber=" . $current['mnumber'];
+ upgrade_query("Encrypting password for member " . $current['mnumber'], $updquery);
}
}
}else{
// 4. add 'general' categories for all blogs, and update nucleus_item
$catid = 1; // generate catids ourself
$query = 'SELECT bnumber FROM '.sql_table('blog');
- $res = mysql_query($query);
- while ($current = mysql_fetch_object($res)) {
- $blogid = $current->bnumber;
+ $res = DB::getResult($query);
+ foreach ( $res as $current ) {
+ $blogid = $current['bnumber'];
$query = 'INSERT INTO '.sql_table('category')." (catid, cblog, cname, cdesc) VALUES ($catid, $blogid, 'General', 'Items that do not fit in other categories')";
$r = upgrade_query("Adding category 'general' for blog " . $blogid, $query);
// 5. add template parts for category lists to all templates
$query = 'SELECT tdnumber FROM '.sql_table('template_desc');
- $res = sql_query($query); // get all template ids
- while ($obj = mysql_fetch_object($res)) {
- $tid = $obj->tdnumber; // template id
+ $res = DB::getResult($query); // get all template ids
+ foreach ( $res as $row ) {
+ $tid = $row['tdnumber']; // template id
$query = 'INSERT INTO '.sql_table('template')." VALUES ($tid, 'CATLIST_HEADER', '<ul><li><a href=\"<%blogurl%>\">All</a></li>');";
$query2 = 'INSERT INTO '.sql_table('template')." VALUES ($tid, 'CATLIST_LISTITEM', '<li><a href=\"<%catlink%>\"><%catname%></a></li>');";
upgrade_query('Adding cblog column in table nucleus_comment',$query);
$query = 'SELECT inumber, iblog FROM '.sql_table('item').', '.sql_table('comment').' WHERE inumber=citem AND cblog=0';
- $res = sql_query($query);
+ $res = DB::getResult($query);
- while($o = mysql_fetch_object($res)) {
- $query = 'UPDATE '.sql_table('comment')." SET cblog='".$o->iblog."' WHERE citem='".$o->inumber."'";
- upgrade_query('Filling cblog column for item ' . $o->inumber, $query);
+ foreach ( $res as $row ) {
+ $query = 'UPDATE '.sql_table('comment')." SET cblog='".$row['iblog']."' WHERE citem='".$row['inumber']."'";
+ upgrade_query('Filling cblog column for item ' . $row['inumber'], $query);
}
}
// add 'EDITLINK' to all templates
$query = 'SELECT tdnumber FROM '.sql_table('template_desc');
- $res = sql_query($query); // get all template ids
- while ($obj = mysql_fetch_object($res)) {
- $tid = $obj->tdnumber; // template id
+ $res = DB::getResult($query); // get all template ids
+ foreach ( $res as $row ) {
+ $tid = $row['tdnumber']; // template id
$query = 'INSERT INTO '.sql_table('template')." VALUES ($tid, 'EDITLINK', '<a href=\"<%editlink%>\" onclick=\"<%editpopupcode%>\">edit</a>');";
upgrade_query("Adding editlink code to template $tid",$query);
}
// in templates: update DATE_HEADER templates
- $res = sql_query('SELECT * FROM '.sql_table('template').' WHERE tpartname=\'DATE_HEADER\'');
- while ($o = mysql_fetch_object($res)) {
- $newval = str_replace('<%daylink%>','<%%daylink%%>',$o->tcontent);
- $query = 'UPDATE '.sql_table('template').' SET tcontent=\''. addslashes($newval).'\' WHERE tdesc=' . $o->tdesc . ' AND tpartname=\'DATE_HEADER\'';
- upgrade_query('Updating DATE_HEADER part in template ' . $o->tdesc, $query);
+ $res = DB::getResult('SELECT * FROM '.sql_table('template').' WHERE tpartname=\'DATE_HEADER\'');
+ foreach ( $res as $row ) {
+ $newval = str_replace('<%daylink%>','<%%daylink%%>',$row['tcontent']);
+ $query = 'UPDATE '.sql_table('template').' SET tcontent='. DB::quoteValue($newval).' WHERE tdesc=' . $row['tdesc'] . ' AND tpartname=\'DATE_HEADER\'';
+ upgrade_query('Updating DATE_HEADER part in template ' . $row['tdesc'], $query);
}
// in templates: add 'comments'-templatevar to all non-empty ITEM templates
- $res = sql_query('SELECT * FROM '.sql_table('template').' WHERE tpartname=\'ITEM\'');
- while ($o = mysql_fetch_object($res)) {
- if ( i18n::strpos($o->tcontent,'<%comments%>') === FALSE)
+ $res = DB::getResult('SELECT * FROM '.sql_table('template').' WHERE tpartname=\'ITEM\'');
+ foreach ( $res as $row )
+ {
+ if ( i18n::strpos($row['tcontent'],'<%comments%>') === FALSE )
{
- $newval = $o->tcontent . '<%comments%>';
- $query = 'UPDATE '.sql_table('template').' SET tcontent=\''. addslashes($newval).'\' WHERE tdesc=' . $o->tdesc . ' AND tpartname=\'ITEM\'';
- upgrade_query('Updating ITEM part in template ' . $o->tdesc, $query);
+ $newval = $row['tcontent'] . '<%comments%>';
+ $query = 'UPDATE '.sql_table('template').' SET tcontent='. DB::quoteValue($newval).' WHERE tdesc=' . $row['tdesc'] . ' AND tpartname=\'ITEM\'';
+ upgrade_query('Updating ITEM part in template ' . $row['tdesc'], $query);
}
}
// add SkinsURL setting
if (!upgrade_checkIfCVExists('SkinsURL')) {
$skinsurl = str_replace('/media/','/skins/',$CONF['MediaURL']);
- $query = 'INSERT INTO '.sql_table('config')." VALUES ('SkinsURL', '".addslashes($skinsurl)."');";
+ $query = 'INSERT INTO '.sql_table('config')." VALUES ('SkinsURL', ".DB::quoteValue($skinsurl).');';
upgrade_query("Adding setting SkinsURL",$query);
}
// add ActionURL setting
if (!upgrade_checkIfCVExists('ActionURL')) {
$actionurl = str_replace('/media/','/action.php',$CONF['MediaURL']);
- $query = 'INSERT INTO '.sql_table('config')." VALUES ('ActionURL', '".addslashes($actionurl)."');";
+ $query = 'INSERT INTO '.sql_table('config')." VALUES ('ActionURL', ".DB::quoteValue($actionurl).');';
upgrade_query("Adding setting ActionURL",$query);
}
$query = 'DELETE FROM ' . sql_table('plugin_option_desc');
upgrade_query('Flushing plugin option descriptions', $query);
$query = 'SELECT * FROM ' . sql_table('plugin_option') .' ORDER BY oid ASC';
- $res = sql_query($query);
+ $res = DB::getResult($query);
$aValues = array();
- while ($o = mysql_fetch_object($res)) {
+ foreach ( $res as $row) {
$query = 'INSERT INTO ' . sql_table('plugin_option_desc')
.' (opid, oname, ocontext, odesc, otype)'
." VALUES ("
- ."'".addslashes($o->opid)."',"
- ."'".addslashes($o->oname) ."',"
+ .DB::quoteValue($row['opid']).','
+ .DB::quoteValue($row['oname']) .','
."'global',"
- ."'".addslashes($o->odesc) ."',"
- ."'".addslashes($o->otype) ."')";
- upgrade_query('Moving option description for '.i18n::hsc($o->oname).' to ' . sql_table('plugin_option_desc'), $query);
+ .DB::quoteValue($row['odesc']) .','
+ .DB::quoteValue($row['otype']) .')';
+ upgrade_query('Moving option description for '.i18n::hsc($row['oname']).' to ' . sql_table('plugin_option_desc'), $query);
// store new id
$aValues[] = array (
- 'id' => mysql_insert_id(),
- 'value' => $o->ovalue
+ 'id' => DB::getInsertId(),
+ 'value' => $row['ovalue']
);
}
}
foreach ($aValues as $aInfo) {
$query = 'INSERT INTO ' . sql_table('plugin_option')
.' (oid, ocontextid, ovalue)'
- ." VALUES (".$aInfo['id'].",'0','".addslashes($aInfo['value'])."')";
+ ." VALUES (".$aInfo['id'].",'0',".DB::quoteValue($aInfo['value']).')';
upgrade_query('Re-filling ' . sql_table('plugin_option') . ' ('.$aInfo['id'].')', $query);
}
}
}
// check cmail column to separate to URL and cemail
- mysql_query(
+ DB::execute(
'UPDATE ' . sql_table('comment') . ' ' .
"SET cemail = cmail, cmail = '' " .
"WHERE cmail LIKE '%@%'"
// check to see if user turn on Weblogs.com ping, if so, suggest to install the plugin
$query = "SELECT bsendping FROM " . sql_table('blog') . " WHERE bsendping='1'";
- $res = mysql_query($query);
- if (mysql_num_rows($res) > 0) {
+ $res = DB::getResult($query);
+ if ($res->rowCount() > 0) {
echo "<li>Note: The weblogs.com ping function is improved and moved into a plugin. To activate this function in v3.3, please go to plugin menu and install NP_Ping plugin. Also, NP_Ping is replacing NP_PingPong. If you have NP_PingPing installed, please also remove it.</li>";
}
}
/* config.Language to config.Locale */
if ( !upgrade_checkIfColumnExists('config','Locale') )
{
- $res = sql_query("SELECT * FROM " . sql_table('config') . " WHERE name='Language'");
- while ( $o = mysql_fetch_object($res) )
+ $res = DB::getResult("SELECT * FROM " . sql_table('config') . " WHERE name='Language'");
+ foreach ( $res as $row )
{
- $locale = $o->Language;
+ $locale = $row['Language'];
}
$query = 'INSERT INTO ' . sql_table('config') . " (name, value) VALUE('Locale', '{$locale}');";
upgrade_query("Renaming Language for configs to Locale", $query);
." WHERE iblog=$blogid and icat=catid and iauthor=mnumber"
." ORDER BY itime DESC"
." LIMIT $amount";
- $r = sql_query($query);
+ $r = DB::getResult($query);
- while ($row = sql_fetch_assoc($r)) {
+ foreach ( $r as $row ) {
// remove linebreaks if needed
if ($blog->convertBreaks())
." WHERE iblog=$blogid and icat=catid and iauthor=mnumber"
." ORDER BY itime DESC"
." LIMIT $amount";
- $r = sql_query($query);
+ $r = DB::getResult($query);
- while ($row = sql_fetch_assoc($r)) {
+ foreach ( $r as $row ) {
// remove linebreaks if needed
if ($blog->convertBreaks()) {
. ' FROM '.sql_table('category')
. " WHERE cblog=" . intval($blogid)
. " ORDER BY cname";
- $r = sql_query($query);
+ $r = DB::getResult($query);
- while ($obj = sql_fetch_object($r)) {
+ foreach ( $r as $row ) {
- $categorystruct[$obj->cname] = new xmlrpcval(
+ $categorystruct[$row['cname']] = new xmlrpcval(
array(
- "description" => new xmlrpcval($obj->cdesc,"string"),
- "htmlUrl" => new xmlrpcval($b->getURL() . "?catid=" . $obj->catid ,"string"),
+ "description" => new xmlrpcval($row['cdesc'],"string"),
+ "htmlUrl" => new xmlrpcval($b->getURL() . "?catid=" . $row['catid'] ,"string"),
"rssUrl" => new xmlrpcval("","string")
)
,'struct');
. ' FROM '.sql_table('category')
. " WHERE cblog=" . intval($blogid)
. " ORDER BY cname";
- $r = sql_query($query);
+ $r = DB::getResult($query);
- while ($obj = sql_fetch_object($r)) {
+ foreach ( $r as $row ) {
$categorystruct[] = new xmlrpcval(
array(
- "categoryName" => new xmlrpcval($obj->cname,"string"),
- "categoryId" => new xmlrpcval($obj->cname,"string")
+ "categoryName" => new xmlrpcval($row['cname'],"string"),
+ "categoryId" => new xmlrpcval($row['cname'],"string")
)
,'struct');
." WHERE iblog=$blogid"
." ORDER BY itime DESC"
." LIMIT $iAmount";
- $r = sql_query($query);
+ $r = DB::getResult($query);
- while ($row = sql_fetch_assoc($r)) {
+ foreach ( $r as $row ) {
$newstruct = new xmlrpcval(array(
"dateCreated" => new xmlrpcval(iso8601_encode(strtotime($row['itime'])),"dateTime.iso8601"),
." WHERE iblog=$blogid"
." ORDER BY itime DESC"
." LIMIT $amount";
- $r = sql_query($query);
- while ($obj = sql_fetch_object($r)) {
+ $r = DB::getResult($query);
+ foreach ( $r as $row ) {
$newstruct = new xmlrpcval(array(
- "publishDate" => new xmlrpcval(iso8601_encode(strtotime($obj->itime)),"dateTime.iso8601"),
- "userid" => new xmlrpcval($obj->iauthor,"string"),
+ "publishDate" => new xmlrpcval(iso8601_encode(strtotime($row['itime'])),"dateTime.iso8601"),
+ "userid" => new xmlrpcval($row['iauthor'],"string"),
"blogid" => new xmlrpcval($blogid,"string"),
- "title" => new xmlrpcval($obj->ititle,"string"),
- "body" => new xmlrpcval($obj->ibody,"string"),
- "more" => new xmlrpcval($obj->imore,"string"),
- "draft" => new xmlrpcval($obj->idraft,"boolean"),
- "closed" => new xmlrpcval($obj->iclosed,"boolean"),
+ "title" => new xmlrpcval($row['ititle'],"string"),
+ "body" => new xmlrpcval($row['ibody'],"string"),
+ "more" => new xmlrpcval($row['imore'],"string"),
+ "draft" => new xmlrpcval($row['idraft'],"boolean"),
+ "closed" => new xmlrpcval($row['iclosed'],"boolean"),
),'struct');
array_push($structarray, $newstruct);
}
. ' FROM '.sql_table('blog').', '.sql_table('team')
. " WHERE tblog=bnumber and tmember=" . $mem->getID()
. " ORDER BY bname";
- $r = sql_query($query);
-
- while ($obj = sql_fetch_object($r)) {
- if ($obj->burl)
+ $r = DB::getResult($query);
+
+ foreach ( $r as $row )
+ {
+ if ( $row['burl'] )
+ {
+ $blogurl = $row['burl'];
+ }
+ if ( $obj->burl )
+ {
$blogurl = $obj->burl;
+ }
else
+ {
$blogurl = 'http://';
-
+ }
+
$newstruct = new xmlrpcval(array(
- "url" => new xmlrpcval($blogurl,"string"),
- "blogid" => new xmlrpcval($obj->bnumber,"string"),
- "blogName" => new xmlrpcval($obj->bname,"string")
+ "url" => new xmlrpcval($blogurl, "string"),
+ "blogid" => new xmlrpcval($row['bnumber'], "string"),
+ "blogName" => new xmlrpcval($row['bname'], "string")
),'struct');
array_push($structarray, $newstruct);
}
-
+
return new xmlrpcresp(new xmlrpcval( $structarray , "array"));
}
-/**\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- * \r
- * Some JavaScript code for the admin area\r
- *\r
- * $Id: admin.js 1388 2009-07-18 06:31:28Z shizuki $\r
- */\r
-\r
-function help(url) {\r
- popup = window.open(url,'helpwindow','status=no,toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500,top=0,left=0');\r
- if (popup.focus) popup.focus();\r
- if (popup.GetAttention) popup.GetAttention();\r
- return false;\r
-} \r
-\r
-var oldCellColor = "#000";\r
-function focusRow(row) {\r
- var cells = row.cells;\r
- if (!cells) return;\r
- oldCellColor = cells[0].style.backgroundColor;\r
- for (var i=0;i<cells.length;i++) {\r
- cells[i].style.backgroundColor='whitesmoke';\r
- }\r
-}\r
-function blurRow(row) {\r
- var cells = row.cells;\r
- if (!cells) return;\r
- for (var i=0;i<cells.length;i++) {\r
- cells[i].style.backgroundColor=oldCellColor;\r
- }\r
-}\r
-function batchSelectAll(what) {\r
- var i = 0;\r
- var el;\r
- while (el = document.getElementById('batch' + i)) {\r
- el.checked = what?'checked':'';\r
- i++;\r
- }\r
- return false; \r
-}\r
-function selectCanLogin(flag) {\r
- if (flag) {\r
- window.document.memberedit.canlogin[0].checked=true;\r
-\r
- // don't disable canlogin[0], otherwise the value won't be passed.\r
-// window.document.memberedit.canlogin[0].disabled=true;\r
- window.document.memberedit.canlogin[1].disabled=true;\r
- } else {\r
- window.document.memberedit.canlogin[0].disabled=false;\r
- window.document.memberedit.canlogin[1].disabled=false;\r
- }\r
-}\r
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * Some JavaScript code for the admin area
+ *
+ * $Id: admin.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+function help(url) {
+ popup = window.open(url,'helpwindow','status=no,toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500,top=0,left=0');
+ if (popup.focus) popup.focus();
+ if (popup.GetAttention) popup.GetAttention();
+ return false;
+}
+
+var oldCellColor = "#000";
+function focusRow(row) {
+ var cells = row.cells;
+ if (!cells) return;
+ oldCellColor = cells[0].style.backgroundColor;
+ for (var i=0;i<cells.length;i++) {
+ cells[i].style.backgroundColor='whitesmoke';
+ }
+}
+function blurRow(row) {
+ var cells = row.cells;
+ if (!cells) return;
+ for (var i=0;i<cells.length;i++) {
+ cells[i].style.backgroundColor=oldCellColor;
+ }
+}
+function batchSelectAll(what) {
+ var i = 0;
+ var el;
+ while (el = document.getElementById('batch' + i)) {
+ el.checked = what?'checked':'';
+ i++;
+ }
+ return false;
+}
+function selectCanLogin(flag) {
+ if (flag) {
+ window.document.memberedit.canlogin[0].checked=true;
+
+ // don't disable canlogin[0], otherwise the value won't be passed.
+// window.document.memberedit.canlogin[0].disabled=true;
+ window.document.memberedit.canlogin[1].disabled=true;
+ } else {
+ window.document.memberedit.canlogin[0].disabled=false;
+ window.document.memberedit.canlogin[1].disabled=false;
+ }
+}
-/**\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- * \r
- * Some JavaScript code for the bookmarklets\r
- *\r
- * $Id: bookmarklet.js 1388 2009-07-18 06:31:28Z shizuki $\r
- */\r
-\r
-/**\r
- * On browsers that have DOM support, the non-visible tabs of the bookmarklet are \r
- * initially hidden. This is not defined in the CSS stylesheet since this causes \r
- * problems with Opera (which does not seem to be sending form data for input\r
- * fields which are in a hidden block)\r
- */\r
-function initStyles() {\r
- hideBlock('more');\r
- hideBlock('options');\r
- hideBlock('preview');\r
- \r
- // in browsers that do not support DOM (like opera), the buttons used\r
- // to switch tabs are useless and can be hidden\r
- document.getElementById('switchbuttons').style.display = 'inline';\r
-}\r
-\r
-/**\r
- * To be called with id='body','more','options' or 'preview'\r
- * Hides all other tabs and makes the chosen one visible\r
- */\r
-function flipBlock(id) {\r
-\r
- showBlock(id);\r
- \r
- if (id != 'body')\r
- hideBlock('body');\r
- if (id != 'more')\r
- hideBlock('more');\r
- if (id != 'options')\r
- hideBlock('options');\r
- if (id != 'preview')\r
- hideBlock('preview'); \r
- \r
-}\r
-\r
-/**\r
- * Hides one element (tab)\r
- */\r
-function hideBlock(id) {\r
- document.getElementById(id).style.display = "none";\r
-}\r
-\r
-/**\r
- * Makes an element (tab) visible\r
- */\r
-function showBlock(id) {\r
- document.getElementById(id).style.display = "block";\r
-}\r
-\r
-function help(url) {\r
- popup = window.open(url,'helpwindow','status=no,toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500,top=0,left=0');\r
- if (popup.focus) popup.focus();\r
- if (popup.GetAttention) popup.GetAttention();\r
- return false;\r
-}\r
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * Some JavaScript code for the bookmarklets
+ *
+ * $Id: bookmarklet.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+/**
+ * On browsers that have DOM support, the non-visible tabs of the bookmarklet are
+ * initially hidden. This is not defined in the CSS stylesheet since this causes
+ * problems with Opera (which does not seem to be sending form data for input
+ * fields which are in a hidden block)
+ */
+function initStyles() {
+ hideBlock('more');
+ hideBlock('options');
+ hideBlock('preview');
+
+ // in browsers that do not support DOM (like opera), the buttons used
+ // to switch tabs are useless and can be hidden
+ document.getElementById('switchbuttons').style.display = 'inline';
+}
+
+/**
+ * To be called with id='body','more','options' or 'preview'
+ * Hides all other tabs and makes the chosen one visible
+ */
+function flipBlock(id) {
+
+ showBlock(id);
+
+ if (id != 'body')
+ hideBlock('body');
+ if (id != 'more')
+ hideBlock('more');
+ if (id != 'options')
+ hideBlock('options');
+ if (id != 'preview')
+ hideBlock('preview');
+
+}
+
+/**
+ * Hides one element (tab)
+ */
+function hideBlock(id) {
+ document.getElementById(id).style.display = "none";
+}
+
+/**
+ * Makes an element (tab) visible
+ */
+function showBlock(id) {
+ document.getElementById(id).style.display = "block";
+}
+
+function help(url) {
+ popup = window.open(url,'helpwindow','status=no,toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500,top=0,left=0');
+ if (popup.focus) popup.focus();
+ if (popup.GetAttention) popup.GetAttention();
+ return false;
+}
-/**\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- *\r
- * Javascript code to make sure that:\r
- * - javascript still works when sending pages as application/xhtml+xml\r
- * - this doesn't break functionality in IE\r
- *\r
- * How to use:\r
- * - Include this file\r
- * - Use createElement() instead of document.createElement()\r
- *\r
- * That's basically it :)\r
- *\r
- * $Id: compatibility.js 1388 2009-07-18 06:31:28Z shizuki $\r
- */\r
-\r
-// to get the script working when page is sent as application/xhtml+xml\r
-function createElement(element) {\r
- if (document.createElementNS) {\r
- return document.createElementNS('http://www.w3.org/1999/xhtml', element);\r
- }\r
- if (document.createElement) {\r
- return document.createElement(element);\r
- }\r
- return false;\r
-}\r
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * Javascript code to make sure that:
+ * - javascript still works when sending pages as application/xhtml+xml
+ * - this doesn't break functionality in IE
+ *
+ * How to use:
+ * - Include this file
+ * - Use createElement() instead of document.createElement()
+ *
+ * That's basically it :)
+ *
+ * $Id: compatibility.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+// to get the script working when page is sent as application/xhtml+xml
+function createElement(element) {
+ if (document.createElementNS) {
+ return document.createElementNS('http://www.w3.org/1999/xhtml', element);
+ }
+ if (document.createElement) {
+ return document.createElement(element);
+ }
+ return false;
+}
-/**\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- *\r
- * This file contains functions to allow adding items from inside the weblog.\r
- * Also contains code to avoid submitting form data twice.\r
- *\r
- * $Id: edit.js 1388 2009-07-18 06:31:28Z shizuki $\r
- */\r
-\r
-var nucleusConvertBreaks = true;\r
-var nucleusMediaPopupURL = '';\r
-var nucleusMediaURL = 'media/';\r
-var nucleusAuthorId = 0;\r
-var scrollTop = -1;\r
-\r
-function setConvertBreaks(newval) { nucleusConvertBreaks = newval; }\r
-function setMediaUrl(url) { nucleusMediaURL = url; }\r
-function setAuthorId(id) { nucleusAuthorId = id; }\r
-\r
-function preview(id, value) {\r
- elem = document.getElementById(id);\r
- if (!elem) return;\r
-\r
- var preview = nucleusConvertBreaks ? str_replace("\n","<br />",value)+" " : value+" ";\r
-\r
- // expand the media commands (without explicit collection)\r
- preview = preview.replace(/\<\%image\(([^\/\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<img src='"+nucleusMediaURL+nucleusAuthorId+"/$1' width='$2' height='$3' alt=\"$4\" />");\r
-\r
- // expand the media commands (with collection)\r
- preview = preview.replace(/\<\%image\(([^\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<img src='"+nucleusMediaURL+"$1' width='$2' height='$3' alt=\"$4\" />");\r
- preview = preview.replace(/\<\%popup\(([^\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<a href='' onclick='if (event && event.preventDefault) event.preventDefault(); alert(\"popup image\"); return false;' title='popup'>$4</a>");\r
- preview = preview.replace(/\<\%media\(([^\|]*)\|([^)]*)\)\%\>/g,"<a href='' title='media link'>$2</a>");\r
-\r
- elem.innerHTML = preview;\r
-}\r
-\r
-function showedit() {\r
- prevval = document.getElementById('edit').style.display;\r
- if (prevval == "block")\r
- newval = "none";\r
- else\r
- newval = "block";\r
- document.getElementById('edit').style.display = newval;\r
-\r
- if (newval == "block")\r
- updAllPreviews();\r
-}\r
-\r
-function updAllPreviews() {\r
- updPreview('title');\r
- updPreview('body');\r
- updPreview('more');\r
-}\r
-\r
-function isEditVisible() {\r
- var editform = document.getElementById('edit');\r
- if (!editform) return true;\r
- var prevval = editform.style.display;\r
- return (prevval == "none") ? false : true;\r
-}\r
-\r
-function updPreview(id) {\r
- // don't update when preview is hidden\r
- if (!isEditVisible()) return;\r
-\r
- var inputField = document.getElementById('input' + id);\r
- if (!inputField) return;\r
- preview('prev' + id, inputField.value);\r
-}\r
-\r
-// replace a in s by b (taken from milov.nl)\r
-function str_replace(a, b, s)\r
-{\r
- if (a == b || !s.length || !a.length) return s;\r
- if ((p=s.indexOf(a)) == -1) { return s; }\r
- else { ns = s.substring(0,p) + b + s.substring(p+a.length,s.length); }\r
- return (s.indexOf(a) != -1) ? str_replace(a, b, ns) : ns;\r
-}\r
-\r
-function shortCuts() {\r
- if (!event || (event.ctrlKey != true)) return;\r
-\r
- switch (event.keyCode) {\r
- case 1:\r
- ahrefThis(); break; // ctrl-shift-a\r
- case 2:\r
- boldThis(); break; // ctrl-shift-b\r
- case 9:\r
- italicThis(); break; // ctrl-shift-i\r
- case 13:\r
- addMedia(); break; // ctrl-shift-m\r
- default:\r
- return;\r
- }\r
- return;\r
-}\r
-\r
-function cutThis() { execAndUpdate('cut'); }\r
-function copyThis() { execAndUpdate('copy'); }\r
-function pasteThis() { execAndUpdate('paste'); }\r
-function boldThis() { insertAroundCaret('<b>','</b>'); }\r
-function italicThis() { insertAroundCaret('<i>','</i>'); }\r
-function leftThis() { insertAroundCaret('<div class="leftbox">','</div>'); }\r
-function rightThis() { insertAroundCaret('<div class="rightbox">','</div>'); }\r
-function alignleftThis() { insertAroundCaret('<div style="text-align: left">','</div>'); }\r
-function alignrightThis() { insertAroundCaret('<div style="text-align: right">','</div>'); }\r
-function aligncenterThis() { insertAroundCaret('<div style="text-align: center">','</div>'); }\r
-\r
-\r
-function ahrefThis() {\r
- if (document.selection)\r
- strSelection = document.selection.createRange().text;\r
- else\r
- strSelection = '';\r
-\r
- strHref = prompt("Create a link to:","http://");\r
- if (strHref == null) return;\r
-\r
- var textpre = "<a href=\"" + strHref.replace(/&/g,'&') + "\">";\r
- insertAroundCaret(textpre, "</a>");\r
-}\r
-\r
-function execAndUpdate(action) {\r
- lastSelected.caretPos.execCommand(action);\r
- updAllPreviews();\r
-}\r
-\r
-\r
-var nonie_FormType = 'body';\r
-\r
-// Add media to new item\r
-function addMedia() {\r
-\r
- var mediapopup = window.open(nucleusMediaPopupURL + 'media.php','name',\r
- 'status=yes,toolbar=no,scrollbars=yes,resizable=yes,width=500,height=450,top=0,left=0');\r
-\r
- return;\r
-}\r
-\r
-\r
-function setMediaPopupURL(url) {\r
- nucleusMediaPopupURL = url;\r
-}\r
-\r
-function includeImage(collection, filename, type, width, height) {\r
- if (isCaretEmpty()) {\r
- text = prompt("Text to display ?",filename);\r
- } else {\r
- text = getCaretText();\r
- }\r
-\r
- // add collection name when not private collection (or editing a message that's not your)\r
- var fullName;\r
- if (isNaN(collection) || (nucleusAuthorId != collection)) {\r
- fullName = collection + '/' + filename;\r
- } else {\r
- fullName = filename;\r
- }\r
-\r
-\r
- var replaceBy;\r
- switch(type) {\r
- case 'popup':\r
- replaceBy = '<%popup(' + fullName + '|'+width+'|'+height+'|' + text +')%>';\r
- break;\r
- case 'inline':\r
- default:\r
- replaceBy = '<%image(' + fullName + '|'+width+'|'+height+'|' + text +')%>';\r
- }\r
-\r
- insertAtCaret(replaceBy);\r
- updAllPreviews();\r
-\r
-}\r
-\r
-\r
-function includeOtherMedia(collection, filename) {\r
- if (isCaretEmpty()) {\r
- text = prompt("Text to display ?",filename);\r
- } else {\r
- text = getCaretText();\r
- }\r
-\r
- // add collection name when not private collection (or editing a message that's not your)\r
- var fullName;\r
- if (isNaN(collection) || (nucleusAuthorId != collection)) {\r
- fullName = collection + '/' + filename;\r
- } else {\r
- fullName = filename;\r
- }\r
-\r
- var replaceBy = '<%media(' + fullName + '|' + text +')%>';\r
-\r
- insertAtCaret(replaceBy);\r
- updAllPreviews();\r
-}\r
-\r
-\r
-\r
-// function to prevent submitting form data twice\r
-var submitcount=0;\r
-function checkSubmit() {\r
- if (submitcount == 0) {\r
- submitcount++;\r
- return true;\r
- } else {\r
- return false;\r
- }\r
-}\r
-\r
-\r
-// code to store the caret (cursor) position of a text field/text area\r
-// taken from javascript.faqts and modified\r
-// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130\r
-\r
-// stores the caret\r
-function storeCaret (textEl) {\r
-\r
- // store caret\r
- if (textEl.createTextRange)\r
- textEl.caretPos = document.selection.createRange().duplicate();\r
-\r
- // also store lastselectedelement\r
- lastSelected = textEl;\r
-\r
- nonie_FormType = textEl.name;\r
-\r
- scrollTop = textEl.scrollTop;\r
-}\r
-\r
-var lastSelected;\r
-\r
- // inserts text at caret (overwriting selection)\r
-function insertAtCaret (text) {\r
- var textEl = lastSelected;\r
- if (textEl && textEl.createTextRange && textEl.caretPos) {\r
- var caretPos = textEl.caretPos;\r
- caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;\r
- } else if (!document.all && document.getElementById) {\r
- mozReplace(document.getElementById('input' + nonie_FormType), text);\r
- if(scrollTop>-1) {\r
- document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;\r
- }\r
- } else if (textEl) {\r
- textEl.value += text;\r
- } else {\r
- document.getElementById('input' + nonie_FormType).value += text;\r
- if(scrollTop>-1) {\r
- document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;\r
- }\r
- }\r
- updAllPreviews();\r
-}\r
-\r
- // inserts a tag around the selected text\r
-function insertAroundCaret (textpre, textpost) {\r
- var textEl = lastSelected;\r
-\r
- if (textEl && textEl.createTextRange && textEl.caretPos) {\r
- var caretPos = textEl.caretPos;\r
- caretPos.text = textpre + caretPos.text + textpost;\r
- } else if (!document.all && document.getElementById) {\r
- mozWrap(document.getElementById('input' + nonie_FormType), textpre, textpost);\r
- if(scrollTop>-1) {\r
- document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;\r
- }\r
- } else {\r
- document.getElementById('input' + nonie_FormType).value += textpre + textpost;\r
- if(scrollTop>-1) {\r
- document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;\r
- }\r
- }\r
-\r
- updAllPreviews();\r
-}\r
-\r
-/* some methods to get things working in Mozilla as well */\r
-function mozWrap(txtarea, lft, rgt) {\r
- var selLength = txtarea.textLength;\r
- var selStart = txtarea.selectionStart;\r
- var selEnd = txtarea.selectionEnd;\r
- if (selEnd==1 || selEnd==2) selEnd=selLength;\r
- var s1 = (txtarea.value).substring(0,selStart);\r
- var s2 = (txtarea.value).substring(selStart, selEnd)\r
- var s3 = (txtarea.value).substring(selEnd, selLength);\r
- txtarea.value = s1 + lft + s2 + rgt + s3;\r
-}\r
-function mozReplace(txtarea, newText) {\r
- var selLength = txtarea.textLength;\r
- var selStart = txtarea.selectionStart;\r
- var selEnd = txtarea.selectionEnd;\r
- if (selEnd==1 || selEnd==2) selEnd=selLength;\r
- var s1 = (txtarea.value).substring(0,selStart);\r
- var s2 = (txtarea.value).substring(selStart, selEnd)\r
- var s3 = (txtarea.value).substring(selEnd, selLength);\r
- txtarea.value = s1 + newText + s3;\r
-}\r
-function mozSelectedText() {\r
- var txtarea = document.getElementById('input' + nonie_FormType);\r
- var selLength = txtarea.textLength;\r
- var selStart = txtarea.selectionStart;\r
- var selEnd = txtarea.selectionEnd;\r
- if (selEnd==1 || selEnd==2) selEnd=selLength;\r
- return (txtarea.value).substring(selStart, selEnd);\r
-}\r
-\r
-function getCaretText() {\r
- if (!document.all && document.getElementById)\r
- return mozSelectedText();\r
- else\r
- return lastSelected.caretPos.text;\r
-}\r
-\r
-function isCaretEmpty() {\r
- if (lastSelected && lastSelected.createTextRange && lastSelected.caretPos)\r
- return (lastSelected.caretPos.text == '');\r
- else if (!document.all && document.getElementById)\r
- return (mozSelectedText() == '');\r
- else\r
- return true;\r
-}\r
-\r
-function BtnHighlight(el) {\r
- with(el.style){\r
- borderLeft="1px solid gray";\r
- borderRight="1px solid #e9e9e9";\r
- borderTop="1px solid gray";\r
- borderBottom="1px solid #e9e9e9";\r
- }\r
-}\r
-\r
-function BtnNormal(el) {\r
- with(el.style){\r
- padding="3px";\r
- border="1px solid #dddddd";\r
- }\r
-}\r
-\r
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * This file contains functions to allow adding items from inside the weblog.
+ * Also contains code to avoid submitting form data twice.
+ *
+ * $Id: edit.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+var nucleusConvertBreaks = true;
+var nucleusMediaPopupURL = '';
+var nucleusMediaURL = 'media/';
+var nucleusAuthorId = 0;
+var scrollTop = -1;
+
+function setConvertBreaks(newval) { nucleusConvertBreaks = newval; }
+function setMediaUrl(url) { nucleusMediaURL = url; }
+function setAuthorId(id) { nucleusAuthorId = id; }
+
+function preview(id, value) {
+ elem = document.getElementById(id);
+ if (!elem) return;
+
+ var preview = nucleusConvertBreaks ? str_replace("\n","<br />",value)+" " : value+" ";
+
+ // expand the media commands (without explicit collection)
+ preview = preview.replace(/\<\%image\(([^\/\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<img src='"+nucleusMediaURL+nucleusAuthorId+"/$1' width='$2' height='$3' alt=\"$4\" />");
+
+ // expand the media commands (with collection)
+ preview = preview.replace(/\<\%image\(([^\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<img src='"+nucleusMediaURL+"$1' width='$2' height='$3' alt=\"$4\" />");
+ preview = preview.replace(/\<\%popup\(([^\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<a href='' onclick='if (event && event.preventDefault) event.preventDefault(); alert(\"popup image\"); return false;' title='popup'>$4</a>");
+ preview = preview.replace(/\<\%media\(([^\|]*)\|([^)]*)\)\%\>/g,"<a href='' title='media link'>$2</a>");
+
+ elem.innerHTML = preview;
+}
+
+function showedit() {
+ prevval = document.getElementById('edit').style.display;
+ if (prevval == "block")
+ newval = "none";
+ else
+ newval = "block";
+ document.getElementById('edit').style.display = newval;
+
+ if (newval == "block")
+ updAllPreviews();
+}
+
+function updAllPreviews() {
+ updPreview('title');
+ updPreview('body');
+ updPreview('more');
+}
+
+function isEditVisible() {
+ var editform = document.getElementById('edit');
+ if (!editform) return true;
+ var prevval = editform.style.display;
+ return (prevval == "none") ? false : true;
+}
+
+function updPreview(id) {
+ // don't update when preview is hidden
+ if (!isEditVisible()) return;
+
+ var inputField = document.getElementById('input' + id);
+ if (!inputField) return;
+ preview('prev' + id, inputField.value);
+}
+
+// replace a in s by b (taken from milov.nl)
+function str_replace(a, b, s)
+{
+ if (a == b || !s.length || !a.length) return s;
+ if ((p=s.indexOf(a)) == -1) { return s; }
+ else { ns = s.substring(0,p) + b + s.substring(p+a.length,s.length); }
+ return (s.indexOf(a) != -1) ? str_replace(a, b, ns) : ns;
+}
+
+function shortCuts() {
+ if (!event || (event.ctrlKey != true)) return;
+
+ switch (event.keyCode) {
+ case 1:
+ ahrefThis(); break; // ctrl-shift-a
+ case 2:
+ boldThis(); break; // ctrl-shift-b
+ case 9:
+ italicThis(); break; // ctrl-shift-i
+ case 13:
+ addMedia(); break; // ctrl-shift-m
+ default:
+ return;
+ }
+ return;
+}
+
+function cutThis() { execAndUpdate('cut'); }
+function copyThis() { execAndUpdate('copy'); }
+function pasteThis() { execAndUpdate('paste'); }
+function boldThis() { insertAroundCaret('<b>','</b>'); }
+function italicThis() { insertAroundCaret('<i>','</i>'); }
+function leftThis() { insertAroundCaret('<div class="leftbox">','</div>'); }
+function rightThis() { insertAroundCaret('<div class="rightbox">','</div>'); }
+function alignleftThis() { insertAroundCaret('<div style="text-align: left">','</div>'); }
+function alignrightThis() { insertAroundCaret('<div style="text-align: right">','</div>'); }
+function aligncenterThis() { insertAroundCaret('<div style="text-align: center">','</div>'); }
+
+
+function ahrefThis() {
+ if (document.selection)
+ strSelection = document.selection.createRange().text;
+ else
+ strSelection = '';
+
+ strHref = prompt("Create a link to:","http://");
+ if (strHref == null) return;
+
+ var textpre = "<a href=\"" + strHref.replace(/&/g,'&') + "\">";
+ insertAroundCaret(textpre, "</a>");
+}
+
+function execAndUpdate(action) {
+ lastSelected.caretPos.execCommand(action);
+ updAllPreviews();
+}
+
+
+var nonie_FormType = 'body';
+
+// Add media to new item
+function addMedia() {
+
+ var mediapopup = window.open(nucleusMediaPopupURL + 'media.php','name',
+ 'status=yes,toolbar=no,scrollbars=yes,resizable=yes,width=500,height=450,top=0,left=0');
+
+ return;
+}
+
+
+function setMediaPopupURL(url) {
+ nucleusMediaPopupURL = url;
+}
+
+function includeImage(collection, filename, type, width, height) {
+ if (isCaretEmpty()) {
+ text = prompt("Text to display ?",filename);
+ } else {
+ text = getCaretText();
+ }
+
+ // add collection name when not private collection (or editing a message that's not your)
+ var fullName;
+ if (isNaN(collection) || (nucleusAuthorId != collection)) {
+ fullName = collection + '/' + filename;
+ } else {
+ fullName = filename;
+ }
+
+
+ var replaceBy;
+ switch(type) {
+ case 'popup':
+ replaceBy = '<%popup(' + fullName + '|'+width+'|'+height+'|' + text +')%>';
+ break;
+ case 'inline':
+ default:
+ replaceBy = '<%image(' + fullName + '|'+width+'|'+height+'|' + text +')%>';
+ }
+
+ insertAtCaret(replaceBy);
+ updAllPreviews();
+
+}
+
+
+function includeOtherMedia(collection, filename) {
+ if (isCaretEmpty()) {
+ text = prompt("Text to display ?",filename);
+ } else {
+ text = getCaretText();
+ }
+
+ // add collection name when not private collection (or editing a message that's not your)
+ var fullName;
+ if (isNaN(collection) || (nucleusAuthorId != collection)) {
+ fullName = collection + '/' + filename;
+ } else {
+ fullName = filename;
+ }
+
+ var replaceBy = '<%media(' + fullName + '|' + text +')%>';
+
+ insertAtCaret(replaceBy);
+ updAllPreviews();
+}
+
+
+
+// function to prevent submitting form data twice
+var submitcount=0;
+function checkSubmit() {
+ if (submitcount == 0) {
+ submitcount++;
+ return true;
+ } else {
+ return false;
+ }
+}
+
+
+// code to store the caret (cursor) position of a text field/text area
+// taken from javascript.faqts and modified
+// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
+
+// stores the caret
+function storeCaret (textEl) {
+
+ // store caret
+ if (textEl.createTextRange)
+ textEl.caretPos = document.selection.createRange().duplicate();
+
+ // also store lastselectedelement
+ lastSelected = textEl;
+
+ nonie_FormType = textEl.name;
+
+ scrollTop = textEl.scrollTop;
+}
+
+var lastSelected;
+
+ // inserts text at caret (overwriting selection)
+function insertAtCaret (text) {
+ var textEl = lastSelected;
+ if (textEl && textEl.createTextRange && textEl.caretPos) {
+ var caretPos = textEl.caretPos;
+ caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
+ } else if (!document.all && document.getElementById) {
+ mozReplace(document.getElementById('input' + nonie_FormType), text);
+ if(scrollTop>-1) {
+ document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
+ }
+ } else if (textEl) {
+ textEl.value += text;
+ } else {
+ document.getElementById('input' + nonie_FormType).value += text;
+ if(scrollTop>-1) {
+ document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
+ }
+ }
+ updAllPreviews();
+}
+
+ // inserts a tag around the selected text
+function insertAroundCaret (textpre, textpost) {
+ var textEl = lastSelected;
+
+ if (textEl && textEl.createTextRange && textEl.caretPos) {
+ var caretPos = textEl.caretPos;
+ caretPos.text = textpre + caretPos.text + textpost;
+ } else if (!document.all && document.getElementById) {
+ mozWrap(document.getElementById('input' + nonie_FormType), textpre, textpost);
+ if(scrollTop>-1) {
+ document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
+ }
+ } else {
+ document.getElementById('input' + nonie_FormType).value += textpre + textpost;
+ if(scrollTop>-1) {
+ document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
+ }
+ }
+
+ updAllPreviews();
+}
+
+/* some methods to get things working in Mozilla as well */
+function mozWrap(txtarea, lft, rgt) {
+ var selLength = txtarea.textLength;
+ var selStart = txtarea.selectionStart;
+ var selEnd = txtarea.selectionEnd;
+ if (selEnd==1 || selEnd==2) selEnd=selLength;
+ var s1 = (txtarea.value).substring(0,selStart);
+ var s2 = (txtarea.value).substring(selStart, selEnd)
+ var s3 = (txtarea.value).substring(selEnd, selLength);
+ txtarea.value = s1 + lft + s2 + rgt + s3;
+}
+function mozReplace(txtarea, newText) {
+ var selLength = txtarea.textLength;
+ var selStart = txtarea.selectionStart;
+ var selEnd = txtarea.selectionEnd;
+ if (selEnd==1 || selEnd==2) selEnd=selLength;
+ var s1 = (txtarea.value).substring(0,selStart);
+ var s2 = (txtarea.value).substring(selStart, selEnd)
+ var s3 = (txtarea.value).substring(selEnd, selLength);
+ txtarea.value = s1 + newText + s3;
+}
+function mozSelectedText() {
+ var txtarea = document.getElementById('input' + nonie_FormType);
+ var selLength = txtarea.textLength;
+ var selStart = txtarea.selectionStart;
+ var selEnd = txtarea.selectionEnd;
+ if (selEnd==1 || selEnd==2) selEnd=selLength;
+ return (txtarea.value).substring(selStart, selEnd);
+}
+
+function getCaretText() {
+ if (!document.all && document.getElementById)
+ return mozSelectedText();
+ else
+ return lastSelected.caretPos.text;
+}
+
+function isCaretEmpty() {
+ if (lastSelected && lastSelected.createTextRange && lastSelected.caretPos)
+ return (lastSelected.caretPos.text == '');
+ else if (!document.all && document.getElementById)
+ return (mozSelectedText() == '');
+ else
+ return true;
+}
+
+function BtnHighlight(el) {
+ with(el.style){
+ borderLeft="1px solid #e9e9e9";
+ borderRight="1px solid gray";
+ borderTop="1px solid #e9e9e9";
+ borderBottom="1px solid gray";
+ }
+}
+
+function BtnNormal(el) {
+ with(el.style){
+ padding="3px";
+ border="1px solid #dddddd";
+ }
+}
+
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
- <title>Nothing Here</title>\r
-</head>\r
-<body>\r
-\r
-<h1>Nothing to see here</h1>\r
-\r
-</body>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Nothing Here</title>
+</head>
+<body>
+
+<h1>Nothing to see here</h1>
+
+</body>
</html>
\ No newline at end of file
-/**\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- *\r
- * script the check (on the clientside) if a entered value\r
- * is a valid number and remove the invalid chars\r
- *\r
- * $Id: numbercheck.js 1388 2009-07-18 06:31:28Z shizuki $\r
- */\r
-\r
-function checkNumeric(f)\r
-{\r
- newval='';\r
- dot = false;\r
- for (i = 0; i < f.value.length; i++) {\r
- c = f.value.substring(i,i+1);\r
- if (isInteger(c) || ((c == '.')&&(dot == false)) || ((i == 0)&&(c == '-'))) {\r
- newval += c;\r
- if (c == '.') {\r
- dot = true;\r
- }\r
- }\r
- }\r
- f.value = newval;\r
-}\r
-\r
-function isInteger(value)\r
-{\r
- return (parseInt(value) == value);\r
-}\r
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * script the check (on the clientside) if a entered value
+ * is a valid number and remove the invalid chars
+ *
+ * $Id: numbercheck.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+function checkNumeric(f)
+{
+ newval='';
+ dot = false;
+ for (i = 0; i < f.value.length; i++) {
+ c = f.value.substring(i,i+1);
+ if (isInteger(c) || ((c == '.')&&(dot == false)) || ((i == 0)&&(c == '-'))) {
+ newval += c;
+ if (c == '.') {
+ dot = true;
+ }
+ }
+ }
+ f.value = newval;
+}
+
+function isInteger(value)
+{
+ return (parseInt(value) == value);
+}
-/*\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- *\r
- * $Id: opennew.js 1388 2009-07-18 06:31:28Z shizuki $\r
- *\r
- * JavaScript to open non-local links in a new window.\r
- *\r
- * How to use:\r
- * in the <head>...</head> section of your page, add the following line:\r
- *\r
- * <script type="text/javascript" src="nucleus/javascript/opennew.js"></script>\r
- *\r
- * Then, add the following to your <body> tag:\r
- *\r
- * <body ... onload="setOpenNewWindow(true);">\r
- *\r
- * And you're all done.\r
- *\r
- * Variables that can be overridden if necessary:\r
- * local = something to recognize local URLs (by default, if your page is something like\r
- * http://www.example.com/path/page.html, then local will be automatically set to\r
- * http://www.example.com/path/)\r
- * exception = something to recognize exceptions to the local check. You might need this\r
- * when you use a 'click-through' type of script (e.g. when\r
- * http://www.example.com/path/click.php?http://otherpage.com/ would \r
- * auto-redirect to otherpage.com and record a click in your logs)\r
- * In most of the cases, this variable is unneeded and can be left empty\r
- * destinationFrame = name of the destination frame (by default this is "_blank" to spawn a\r
- * new window for each link clicked)\r
- */\r
-\r
-\r
-var local = document.URL.substring(0,document.URL.lastIndexOf('/'));\r
-var exception = "";\r
-var destinationFrame = "_blank";\r
-\r
-function setOpenNewWindow(newWin) {\r
- if (newWin) {\r
- from = ""; to = destinationFrame;\r
- } else {\r
- from = destinationFrame; to = "";\r
- }\r
-\r
- for (var i=0; i<=(document.links.length-1); i++) {\r
- if (document.links[i].target == from) {\r
-\r
- var href = document.links[i].href;\r
- var isLocal = (href.indexOf(local) != -1);\r
- if (isLocal && ((exception=="") || (href.indexOf(exception) != -1)))\r
- isLocal = false;\r
- if (!isLocal)\r
- document.links[i].target = to;\r
- }\r
- }\r
+/*
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * $Id: opennew.js 1388 2009-07-18 06:31:28Z shizuki $
+ *
+ * JavaScript to open non-local links in a new window.
+ *
+ * How to use:
+ * in the <head>...</head> section of your page, add the following line:
+ *
+ * <script type="text/javascript" src="nucleus/javascript/opennew.js"></script>
+ *
+ * Then, add the following to your <body> tag:
+ *
+ * <body ... onload="setOpenNewWindow(true);">
+ *
+ * And you're all done.
+ *
+ * Variables that can be overridden if necessary:
+ * local = something to recognize local URLs (by default, if your page is something like
+ * http://www.example.com/path/page.html, then local will be automatically set to
+ * http://www.example.com/path/)
+ * exception = something to recognize exceptions to the local check. You might need this
+ * when you use a 'click-through' type of script (e.g. when
+ * http://www.example.com/path/click.php?http://otherpage.com/ would
+ * auto-redirect to otherpage.com and record a click in your logs)
+ * In most of the cases, this variable is unneeded and can be left empty
+ * destinationFrame = name of the destination frame (by default this is "_blank" to spawn a
+ * new window for each link clicked)
+ */
+
+
+var local = document.URL.substring(0,document.URL.lastIndexOf('/'));
+var exception = "";
+var destinationFrame = "_blank";
+
+function setOpenNewWindow(newWin) {
+ if (newWin) {
+ from = ""; to = destinationFrame;
+ } else {
+ from = destinationFrame; to = "";
+ }
+
+ for (var i=0; i<=(document.links.length-1); i++) {
+ if (document.links[i].target == from) {
+
+ var href = document.links[i].href;
+ var isLocal = (href.indexOf(local) != -1);
+ if (isLocal && ((exception=="") || (href.indexOf(exception) != -1)))
+ isLocal = false;
+ if (!isLocal)
+ document.links[i].target = to;
+ }
+ }
}
\ No newline at end of file
-/**\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- *\r
- * Javascript code to hide empty textareas when editing templates.\r
- *\r
- * @require compatibility.js\r
- *\r
- * $Id: templateEdit.js 1388 2009-07-18 06:31:28Z shizuki $\r
- */\r
-\r
-var amountOfFields = 1;\r
-var editText = 'empty field (click to edit)';\r
-\r
-function hideUnused() {\r
- while (document.getElementById('textarea' + amountOfFields)) \r
- amountOfFields++;\r
- amountOfFields--;\r
-\r
- for (var i=1;i<=amountOfFields;i++) {\r
- var el = document.getElementById('textarea' + i);\r
-\r
- // hide textareas when empty, and add onclick event\r
- // to make them visible again\r
- if (el.value == '') {\r
- el.style.display = 'none';\r
- var tdEl = document.getElementById('td' + i);\r
- \r
- var aHref = createElement('a');\r
- aHref.href = '';\r
- aHref.className = "expandLink";\r
- aHref.id = "expandLink" + i;\r
- aHref.onclick = new Function("return makeVisible("+i+")");\r
- aHref.tabIndex = el.tabIndex;\r
- aHref.title = editText;\r
- aHref.appendChild(document.createTextNode(editText));\r
-\r
- tdEl.appendChild(aHref);\r
- \r
- }\r
- }\r
-\r
-}\r
-\r
-function setTemplateEditText(newText) {\r
- editText = newText;\r
-}\r
-\r
-function makeVisible(i) {\r
- var textareaEl = document.getElementById('textarea' + i);\r
- var expandEl = document.getElementById('expandLink' + i);\r
-\r
- textareaEl.style.display = 'block';\r
- expandEl.style.display = 'none';\r
-\r
- textareaEl.focus();\r
- return false;\r
-}\r
-\r
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * Javascript code to hide empty textareas when editing templates.
+ *
+ * @require compatibility.js
+ *
+ * $Id: templateEdit.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+var amountOfFields = 1;
+var editText = 'empty field (click to edit)';
+
+function hideUnused() {
+ while (document.getElementById('textarea' + amountOfFields))
+ amountOfFields++;
+ amountOfFields--;
+
+ for (var i=1;i<=amountOfFields;i++) {
+ var el = document.getElementById('textarea' + i);
+
+ // hide textareas when empty, and add onclick event
+ // to make them visible again
+ if (el.value == '') {
+ el.style.display = 'none';
+ var tdEl = document.getElementById('td' + i);
+
+ var aHref = createElement('a');
+ aHref.href = '';
+ aHref.className = "expandLink";
+ aHref.id = "expandLink" + i;
+ aHref.onclick = new Function("return makeVisible("+i+")");
+ aHref.tabIndex = el.tabIndex;
+ aHref.title = editText;
+ aHref.appendChild(document.createTextNode(editText));
+
+ tdEl.appendChild(aHref);
+
+ }
+ }
+
+}
+
+function setTemplateEditText(newText) {
+ editText = newText;
+}
+
+function makeVisible(i) {
+ var textareaEl = document.getElementById('textarea' + i);
+ var expandEl = document.getElementById('expandLink' + i);
+
+ textareaEl.style.display = 'block';
+ expandEl.style.display = 'none';
+
+ textareaEl.focus();
+ return false;
+}
+
window.onload = hideUnused;
\ No newline at end of file
-/**\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- *\r
- *\r
- * This page contains xmlHTTPRequest functions for:\r
- * - AutoSaveDraft\r
- *\r
- *\r
- * Usage:\r
- * - Add in the page before the form open tag:\r
- * <script type="text/javascript" src="javascript/xmlhttprequest.js"></script>\r
- * - Add in the page behind the form close tag:\r
- * var xmlhttprequest = new Array();\r
- * xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler\r
- * xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler\r
- * var seconds = now(); // Last AutoDraft time\r
- * var checks = 0; // Number of checks since last AutoDraft\r
- * var addform = document.getElementById('addform'); // The form id\r
- * var goal = document.getElementById('lastsaved'); // The html div id where 'Last saved: date time' must come\r
- * var goalurl = 'action.php'; // The PHP file where the content must be posted to (action.php)\r
- * var lastsavedtext = 'Last saved'; // The language variable for 'Last saved'\r
- * var formtype = 'add'; // Add or edit form\r
- * - Add to the form tag:\r
- * id="addform"\r
- * - Add to the textarea's and text fields:\r
- * onkeyup="doMonitor();"\r
- * - Add tot the selectboxes and radio buttons\r
- * onchange="doMonitor();"\r
- * - Add to the form:\r
- * <input type="hidden" name="draftid" value="0" />\r
- * - Optionally a autosave now button can be add:\r
- * <input type="button" name="autosavenow" value="AutoSave now" onclick="autoSaveDraft();" />\r
- *\r
- *\r
- * $Id: xmlhttprequest.js 1388 2009-07-18 06:31:28Z shizuki $\r
- */\r
-\r
-/**\r
- * Creates the xmlHTTPRequest handler\r
- */\r
-function createHTTPHandler() {\r
- var httphandler = false;\r
- /*@cc_on @*/\r
- /*@if (@_jscript_version >= 5)\r
- // JScript gives us Conditional compilation, we can cope with old IE versions.\r
- // and security blocked creation of the objects.\r
- try {\r
- httphandler = new ActiveXObject("Msxml2.XMLHTTP");\r
- }\r
- catch (e) {\r
- try {\r
- httphandler = new ActiveXObject("Microsoft.XMLHTTP");\r
- }\r
- catch (E) {\r
- httphandler = false;\r
- }\r
- }\r
- @end @*/\r
- if (!httphandler && typeof XMLHttpRequest != 'undefined') {\r
- httphandler = new XMLHttpRequest();\r
- }\r
- return httphandler;\r
-}\r
-\r
-/**\r
- * Auto saves as draft\r
- */\r
-function autoSaveDraft() {\r
- checks = 0;\r
- seconds = now();\r
-\r
- var title = encodeURIComponen(addform.title.value);\r
- var body = encodeURIComponen(addform.body.value);\r
- var catid = addform.catid.options[addform.catid.selectedIndex].value;\r
- var more = encodeURIComponen(addform.more.value);\r
- var closed = 0;\r
- if (addform.closed[0].checked) {\r
- closed = addform.closed[0].value;\r
- }\r
- else if (addform.closed[1].checked) {\r
- closed = addform.closed[1].value;\r
- }\r
- var ticket = addform.ticket.value;\r
-\r
- var querystring = 'action=autodraft';\r
- querystring += '&title=' + title;\r
- querystring += '&body=' + body;\r
- querystring += '&catid=' + catid;\r
- querystring += '&more=' + more;\r
- querystring += '&closed=' + closed;\r
- querystring += '&ticket=' + ticket;\r
- if (formtype == 'edit') {\r
- querystring += '&itemid=' + addform.itemid.value;\r
- querystring += '&type=edit';\r
- }\r
- else {\r
- querystring += '&blogid=' + addform.blogid.value;\r
- querystring += '&type=add';\r
- }\r
- if (addform.draftid.value > 0) {\r
- querystring += '&draftid=' + addform.draftid.value;\r
- }\r
-\r
- xmlhttprequest[0].open('POST', goalurl, true);\r
- xmlhttprequest[0].onreadystatechange = checkMonitor;\r
- xmlhttprequest[0].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\r
- xmlhttprequest[0].send(querystring);\r
-\r
- var querystring = 'action=updateticket&ticket=' + ticket;\r
-\r
- xmlhttprequest[1].open('POST', goalurl, true);\r
- xmlhttprequest[1].onreadystatechange = updateTicket;\r
- xmlhttprequest[1].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\r
- xmlhttprequest[1].send(querystring);\r
-}\r
-\r
-/**\r
- * Monitors the edits\r
- */\r
-function doMonitor() {\r
- if (checks * (now() - seconds) > 120 * 1000 * 50) {\r
- autoSaveDraft();\r
- }\r
- else {\r
- checks++;\r
- }\r
-}\r
-\r
-/**\r
- * Checks the process of the saving\r
- */\r
-function checkMonitor() {\r
- if (xmlhttprequest[0].readyState == 4) {\r
- if (xmlhttprequest[0].responseText) {\r
- if (xmlhttprequest[0].responseText.substr(0, 4) == 'err:') {\r
- goal.innerHTML = xmlhttprequest[0].responseText.substr(4) + ' (' + formattedDate() + ')';\r
- }\r
- else {\r
- addform.draftid.value = xmlhttprequest[0].responseText;\r
- goal.innerHTML = lastsavedtext + ' ' + formattedDate();\r
- }\r
- }\r
- }\r
-}\r
-\r
-/**\r
- * Checks the process of the ticket updating\r
- */\r
-function updateTicket() {\r
- if (xmlhttprequest[1].readyState == 4) {\r
- if (xmlhttprequest[1].responseText) {\r
- if (xmlhttprequest[1].responseText.substr(0, 4) == 'err:') {\r
- goal.innerHTML = xmlhttprequest[1].responseText.substr(4) + ' (' + formattedDate() + ')';\r
- }\r
- else {\r
- addform.ticket.value = xmlhttprequest[1].responseText;\r
- }\r
- }\r
- }\r
-}\r
-\r
-/**\r
- * Gets now in milliseconds\r
- */\r
-function now() {\r
- var now = new Date();\r
- return now.getTime();\r
-}\r
-\r
-/**\r
- * Gets now in the local dateformat\r
- */\r
-function formattedDate() {\r
- var now = new Date();\r
- return now.toLocaleDateString() + ' ' + now.toLocaleTimeString();\r
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ *
+ * This page contains xmlHTTPRequest functions for:
+ * - AutoSaveDraft
+ *
+ *
+ * Usage:
+ * - Add in the page before the form open tag:
+ * <script type="text/javascript" src="javascript/xmlhttprequest.js"></script>
+ * - Add in the page behind the form close tag:
+ * var xmlhttprequest = new Array();
+ * xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
+ * xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
+ * var seconds = now(); // Last AutoDraft time
+ * var checks = 0; // Number of checks since last AutoDraft
+ * var addform = document.getElementById('addform'); // The form id
+ * var goal = document.getElementById('lastsaved'); // The html div id where 'Last saved: date time' must come
+ * var goalurl = 'action.php'; // The PHP file where the content must be posted to (action.php)
+ * var lastsavedtext = 'Last saved'; // The language variable for 'Last saved'
+ * var formtype = 'add'; // Add or edit form
+ * - Add to the form tag:
+ * id="addform"
+ * - Add to the textarea's and text fields:
+ * onkeyup="doMonitor();"
+ * - Add tot the selectboxes and radio buttons
+ * onchange="doMonitor();"
+ * - Add to the form:
+ * <input type="hidden" name="draftid" value="0" />
+ * - Optionally a autosave now button can be add:
+ * <input type="button" name="autosavenow" value="AutoSave now" onclick="autoSaveDraft();" />
+ *
+ *
+ * $Id: xmlhttprequest.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+/**
+ * Creates the xmlHTTPRequest handler
+ */
+function createHTTPHandler() {
+ var httphandler = false;
+ /*@cc_on @*/
+ /*@if (@_jscript_version >= 5)
+ // JScript gives us Conditional compilation, we can cope with old IE versions.
+ // and security blocked creation of the objects.
+ try {
+ httphandler = new ActiveXObject("Msxml2.XMLHTTP");
+ }
+ catch (e) {
+ try {
+ httphandler = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ catch (E) {
+ httphandler = false;
+ }
+ }
+ @end @*/
+ if (!httphandler && typeof XMLHttpRequest != 'undefined') {
+ httphandler = new XMLHttpRequest();
+ }
+ return httphandler;
+}
+
+/**
+ * Auto saves as draft
+ */
+function autoSaveDraft() {
+ checks = 0;
+ seconds = now();
+
+ var title = encodeURIComponen(addform.title.value);
+ var body = encodeURIComponen(addform.body.value);
+ var catid = addform.catid.options[addform.catid.selectedIndex].value;
+ var more = encodeURIComponen(addform.more.value);
+ var closed = 0;
+ if (addform.closed[0].checked) {
+ closed = addform.closed[0].value;
+ }
+ else if (addform.closed[1].checked) {
+ closed = addform.closed[1].value;
+ }
+ var ticket = addform.ticket.value;
+
+ var querystring = 'action=autodraft';
+ querystring += '&title=' + title;
+ querystring += '&body=' + body;
+ querystring += '&catid=' + catid;
+ querystring += '&more=' + more;
+ querystring += '&closed=' + closed;
+ querystring += '&ticket=' + ticket;
+ if (formtype == 'edit') {
+ querystring += '&itemid=' + addform.itemid.value;
+ querystring += '&type=edit';
+ }
+ else {
+ querystring += '&blogid=' + addform.blogid.value;
+ querystring += '&type=add';
+ }
+ if (addform.draftid.value > 0) {
+ querystring += '&draftid=' + addform.draftid.value;
+ }
+
+ xmlhttprequest[0].open('POST', goalurl, true);
+ xmlhttprequest[0].onreadystatechange = checkMonitor;
+ xmlhttprequest[0].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttprequest[0].send(querystring);
+
+ var querystring = 'action=updateticket&ticket=' + ticket;
+
+ xmlhttprequest[1].open('POST', goalurl, true);
+ xmlhttprequest[1].onreadystatechange = updateTicket;
+ xmlhttprequest[1].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttprequest[1].send(querystring);
+}
+
+/**
+ * Monitors the edits
+ */
+function doMonitor() {
+ if (checks * (now() - seconds) > 120 * 1000 * 50) {
+ autoSaveDraft();
+ }
+ else {
+ checks++;
+ }
+}
+
+/**
+ * Checks the process of the saving
+ */
+function checkMonitor() {
+ if (xmlhttprequest[0].readyState == 4) {
+ if (xmlhttprequest[0].responseText) {
+ if (xmlhttprequest[0].responseText.substr(0, 4) == 'err:') {
+ goal.innerHTML = xmlhttprequest[0].responseText.substr(4) + ' (' + formattedDate() + ')';
+ }
+ else {
+ addform.draftid.value = xmlhttprequest[0].responseText;
+ goal.innerHTML = lastsavedtext + ' ' + formattedDate();
+ }
+ }
+ }
+}
+
+/**
+ * Checks the process of the ticket updating
+ */
+function updateTicket() {
+ if (xmlhttprequest[1].readyState == 4) {
+ if (xmlhttprequest[1].responseText) {
+ if (xmlhttprequest[1].responseText.substr(0, 4) == 'err:') {
+ goal.innerHTML = xmlhttprequest[1].responseText.substr(4) + ' (' + formattedDate() + ')';
+ }
+ else {
+ addform.ticket.value = xmlhttprequest[1].responseText;
+ }
+ }
+ }
+}
+
+/**
+ * Gets now in milliseconds
+ */
+function now() {
+ var now = new Date();
+ return now.getTime();
+}
+
+/**
+ * Gets now in the local dateformat
+ */
+function formattedDate() {
+ var now = new Date();
+ return now.toLocaleDateString() + ' ' + now.toLocaleTimeString();
}
\ No newline at end of file
<html xmlns="http://www.w3.org/1999/xhtml">\r
<head>\r
<title><%title%></title>\r
- <link rel="stylesheet" type="text/css" href="<%skinfile(styles/bookmarklet.css)%>" /> \r
- <link rel="stylesheet" type="text/css" href="<%skinfile(styles/addedit.css)%>" />\r
- <script type="text/javascript" src="<%skinfile(javascript/bookmarklet.js)%>"></script>\r
- <script type="text/javascript" src="<%skinfile(javascript/edit.js)%>"></script>\r
- <script type="text/javascript" src="<%skinfile(javascript/numbercheck.js)%>"></script>\r
+ <link rel="stylesheet" type="text/css" href="<%skinfile(/styles/bookmarklet.css)%>" /> \r
+ <link rel="stylesheet" type="text/css" href="<%skinfile(/styles/addedit.css)%>" />\r
+ <script type="text/javascript" src="<%skinfile(/javascripts/bookmarklet.js)%>"></script>\r
+ <script type="text/javascript" src="<%skinfile(/javascripts/edit.js)%>"></script>\r
+ <script type="text/javascript" src="<%skinfile(/javascripts/numbercheck.js)%>"></script>\r
\r
<%if(autosave)%>\r
- <script type="text/javascript" src="<%skinfile(javascript/xmlhttprequest.js)%>"></script>\r
+ <script type="text/javascript" src="<%skinfile(/javascripts/xmlhttprequest.js)%>"></script>\r
<%endif%>\r
\r
<%init%>\r
-/*\r
- This stylesheet serves to make item previews look nicer, and to markup the \r
- buttonbar\r
- \r
- $Id: addedit.css 757 2005-08-12 07:29:40Z dekarma $\r
-*/\r
-\r
-.leftbox, .rightbox {\r
- margin: 3px;\r
- padding: 3px;\r
- font-size: larger;\r
- width: 20%;\r
-}\r
-.leftbox {\r
- float: left;\r
- border-right: 2px solid #888; \r
-}\r
-.rightbox {\r
- float: right;\r
- border-left: 2px solid #888; \r
-}\r
-\r
-/* markup buttons */\r
-.jsbutton {\r
- text-align: center; \r
-\r
- padding: 3px;\r
- border: 1px solid #dddddd;\r
-}\r
-\r
-.jsbuttonspacer {\r
- padding-right: 10px;\r
-}\r
-\r
-.jsbuttonbar {\r
- padding: 3px;\r
- cursor: default;\r
-}\r
-\r
+/*
+ This stylesheet serves to make item previews look nicer, and to markup the
+ buttonbar
+
+ $Id: addedit.css 757 2005-08-12 07:29:40Z dekarma $
+*/
+
+.leftbox, .rightbox {
+ margin: 3px;
+ padding: 3px;
+ font-size: larger;
+ width: 20%;
+}
+.leftbox {
+ float: left;
+ border-right: 2px solid #888;
+}
+.rightbox {
+ float: right;
+ border-left: 2px solid #888;
+}
+
+/* markup buttons */
+.jsbuttonbar {
+ padding: 3px;
+ cursor: default;
+}
+
+.jsbutton {
+ float: left;
+ padding: 3px;
+ margin-right: 4px;
+ height: 16px;
+ width: 16px;
+ border: 1px solid #dddddd;
+ background-color: white;
+}
+
+.jsbuttonspacer {
+ float: left;
+ width: 10px;
+}
+
+.jsbuttonend {
+ clear: both;
+}
-/*@charset 'UTF-8';*/\r
-\r
-/*\r
- admin area style\r
- \r
- $Id: admin.css 1261 2008-05-22 20:32:43Z kaigreve $\r
-*/\r
-\r
-body {\r
- background: #fff url(contemporary/background.png) repeat-x;\r
-}\r
-\r
-body, td, th, a, li, ul, textarea {\r
- color: #333\r
- font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;\r
-}\r
-\r
-/* basic link appearance */\r
-a:link, a:visited {\r
- color: #1D3565;\r
- font-weight: bold;\r
- text-decoration: none;\r
-}\r
-\r
-a:hover {\r
- text-decoration: underline;\r
-}\r
-\r
-/* textareas */\r
-textarea {\r
- font-size: small;\r
- width: 95%;\r
-}\r
-\r
-/* textareas for skin/template editing have monospace fonts */\r
-textarea.skinedit, textarea.templateedit {\r
- font-family: monospace;\r
- font-size: medium;\r
-}\r
-\r
-/* images */\r
-img {\r
- border: none;\r
-}\r
-\r
-img.skinpreview {\r
- border: 1px solid #ccc;\r
-}\r
-\r
-/* forms */\r
-form {\r
- margin-bottom: 0px;\r
-}\r
-\r
-label {\r
- cursor: pointer;\r
-}\r
-\r
-input.transparent {\r
- background-color: transparent;\r
-}\r
-\r
-/* preformatted text */\r
-pre {\r
- margin-left: 10px;\r
-}\r
-\r
-/* a div that has an indent */\r
-div.indent {\r
- margin-left: 40px;\r
-}\r
-\r
-.skip {\r
- display: none;\r
-}\r
-\r
-.error {\r
- color: red;\r
- font-size: 1.2em;\r
-}\r
-\r
-/* header */\r
-h1 {\r
- text-align: right;\r
- font-size: 30px;\r
- font-weight: 900;\r
- letter-spacing: 0.1em;\r
- /*color: #0001AA; */\r
- color: #596d9d;\r
- margin: 0 0 5px 135px;\r
- height: 35px;\r
- /*display: none; hide the header if you don't want it*/\r
-\r
-}\r
-\r
-/* quick menu on left */\r
-/* \r
- It's a real pain getting this absolute positioning to work correctly\r
- in all browsers. IE in particular seems to have a lot of trouble, even\r
- when a valid doctype is present. Because of the way it is solved currently,\r
- the top of the quickmenu and the contents will not line up\r
-*/\r
-#quickmenu {\r
- position: absolute;\r
- overflow: hidden;\r
- \r
- top: 10px;\r
- left: 10px;\r
-\r
- width: 150px;\r
- margin: 0px;\r
- padding: 0px;\r
- \r
- font-size:9pt;/*add yotaka 090323*/\r
- color:#333;/* add */\r
- \r
- border-width: 1px;\r
- border-style: solid;\r
- border-color: #bbb;\r
-\r
- background: #ffffff url(quickb.jpg) top left fixed repeat-y; \r
-}\r
-\r
-#quickmenu ul {\r
- list-style-type: none;\r
- margin: 0;\r
- padding: 0;\r
-}\r
-\r
-#quickmenu li {\r
- padding: 0;\r
- margin: 0;\r
- text-align: center;\r
- border-bottom: 1px solid #ccc;\r
-}\r
-\r
-#quickmenu p {\r
- padding: 5px;\r
- margin: 0px;\r
- text-align: justify;\r
-}\r
-\r
-#quickmenu a {\r
- display: block;\r
- padding: 5px;\r
- font-size: 1em;\r
- line-height: 1.5;\r
- text-decoration: none;\r
-}\r
-\r
-#quickmenu a:hover {\r
- background: #ffffff url(quickb-hover.jpg) top left fixed repeat-y; \r
- color: #333;\r
- letter-spacing: 1px;\r
-}\r
-\r
-#quickmenu h2 {\r
- font-size: small;\r
- text-align: center;\r
- padding: 1px 0px 1px 0px;\r
- margin: 0px;\r
- border-bottom: 1px solid #bbb; \r
- background-color: #ddd;\r
- color: #333;\r
-}\r
-\r
-#quickmenu form {\r
- margin: 0;\r
- padding: 5px;\r
- text-align: center;\r
-}\r
-\r
-#quickmenu option {\r
- font-size: 0.9em;\r
-}\r
-\r
-.loginname {\r
- float: right;\r
- font-size: small;\r
- text-align: right;\r
- line-height: normal;\r
- padding-left: 5px;\r
- background-color: white;\r
-}\r
-\r
-/* page content */\r
-#content {\r
- margin-left: 163px;\r
- font-style: normal;\r
- text-decoration: none;\r
- color: #333;\r
- text-align: justify;\r
- line-height: 13pt;\r
-\r
- border-width: 1px;\r
- border-style: solid;\r
- border-color: #bbb;\r
- \r
- /* rounded borders in gecko-based browsers? why not :) */\r
- -moz-border-radius: 10px; \r
-\r
- -webkit-border-radius: 10px;\r
- border-radius: 10px;\r
- padding: 10px 10px 0 10px; \r
- \r
- background-color: white;\r
- \r
-}\r
-\r
-#content h2 {\r
- color: #596d9d; \r
-\r
- border-color: gray;\r
- border-style: dashed;\r
- border-width: 0px 0px 1px 0px;\r
-\r
- font-size: large;\r
- line-height: 120%;\r
-\r
- text-decoration: none;\r
- font-weight: bold; \r
-}\r
-\r
-#content h3 {\r
- border-color: gray;\r
- border-style: dotted;\r
- border-width: 0px 0px 1px 0px;\r
- font-size: medium;\r
- font-weight: normal;\r
- line-height: 120%;\r
-\r
- color: gray;\r
- padding-left: 20px;\r
-}\r
-\r
-#content .note, pre {\r
- background-color: #ddd;\r
- padding: 5px;\r
-}\r
-\r
-/* \r
- font size tricks, to make it work in all browsers\r
- \r
- See: \r
- http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html\r
-\r
- (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser) \r
- #content should be 'small' (in standard-compliant browsers)\r
- \r
-*/\r
-\r
-#content {\r
- font-size: small;\r
- voice-family: "\"}\"";\r
- voice-family: inherit;\r
- font-size: small;\r
-}\r
-html>body #content { font-size: small; }\r
-\r
-/* tables */\r
-div#content table {\r
- border: none;\r
- width: 100%;\r
- border-collapse: collapse;\r
- margin-bottom: 10px;\r
- margin-top: 10px;\r
-}\r
-\r
-div#content table tbody tr {\r
- background-color: #FFFFFF;\r
-}\r
-\r
-div#content table tbody tr:hover {\r
- background-color: #F5F5F5;\r
-}\r
-\r
-div#content table thead tr th {\r
- border: none;\r
- background-color: #BBBBCC;\r
- color: #000000;\r
- font-size: small;\r
-}\r
-\r
-div#content table thead th,\r
-div#content table tbody td {\r
- padding: 4px;\r
- empty-cells: show;\r
-}\r
-\r
-div#content table.systemoverview thead th,\r
-div#content table.systemoverview tbody td {\r
- width: 50%;\r
-}\r
-\r
-div#content table tbody tr td {\r
- border: 1px solid #ddd;\r
- font-size: small;\r
- vertical-align: top;\r
- text-align: left;\r
-}\r
-\r
-div#content table tbody tr td a:link,\r
-div#content table tbody tr td a:visited {\r
- text-decoration: underline;\r
- color: black;\r
- font-weight: normal;\r
-}\r
-\r
-div#content table tbody tr td a:hover {\r
- color: #1D3565;\r
- text-decoration: underline;\r
-}\r
-\r
-div#content table tbody tr td.draft,\r
-div#content table tbody tr td.future {\r
- background-color: #FFFFEE;\r
-}\r
-\r
-div#content table.navigation td,\r
-div#content table.navigation th {\r
- border: none;\r
-}\r
-\r
-div#content table tbody td h3 {\r
- padding: 0px;\r
- margin: 0px 0px 2em 0px;\r
- border: 0px;\r
- color: #000000;\r
- font-size: small;\r
- font-weight: normal;\r
- line-height: 13pt;\r
-}\r
-\r
-div#content table tbody td h3#base_skin {\r
- font-weight: bold;\r
-}\r
-\r
-/* definitive list */\r
-div#content table tbody tr td dl {\r
- margin: 0px;\r
- padding: 0px;\r
-}\r
-\r
-div#content table tbody tr td:first-child dl dt {\r
- margin: 0px;\r
- padding: 0px 5px 0px 0px;\r
- display: inline;\r
- float: left;\r
- clear: both;\r
-}\r
-\r
-div#content table tbody tr td:first-child dl dd {\r
- margin: 0px;\r
- padding: 0px;\r
- display: block;\r
-}\r
-\r
-div#content table tbody tr td dl dd {\r
- margin: 0px 0px 1em 0px;\r
-}\r
-\r
-/* unorderd list */\r
-div#content table tbody tr td ul {\r
- margin: 0px;\r
- padding: 0px;\r
- list-style: none;\r
-}\r
-\r
-div#content table tbody tr td ul li {\r
- margin: 0px;\r
- padding: 0px;\r
- white-space: nowrap;\r
-}\r
-\r
-.batchoperations {\r
- background-color: #EEEEFF;\r
- width: auto;\r
- padding: 5px;\r
- text-align: right;\r
-}\r
-\r
-/* footer */\r
-div.foot {\r
- padding: 2px 0px 2px 10px;\r
- margin:10px -10px 0 -10px;\r
- text-align: center;\r
-}\r
+/*@charset 'UTF-8';*/
+
+/*
+ admin area style
+
+ $Id: admin.css 1261 2008-05-22 20:32:43Z kaigreve $
+*/
+
+body {
+ background: #fff url(contemporary/background.png) repeat-x;
+}
+
+body, td, th, a, li, ul, textarea {
+ color: #333
+ font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
+}
+
+/* basic link appearance */
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/* textareas */
+textarea {
+ font-size: small;
+ width: 95%;
+}
+
+/* textareas for skin/template editing have monospace fonts */
+textarea.skinedit, textarea.templateedit {
+ font-family: monospace;
+ font-size: medium;
+}
+
+/* images */
+img {
+ border: none;
+}
+
+img.skinpreview {
+ border: 1px solid #ccc;
+}
+
+/* forms */
+form {
+ margin-bottom: 0px;
+}
+
+label {
+ cursor: pointer;
+}
+
+input.transparent {
+ background-color: transparent;
+}
+
+/* preformatted text */
+pre {
+ margin-left: 10px;
+}
+
+/* a div that has an indent */
+div.indent {
+ margin-left: 40px;
+}
+
+.skip {
+ display: none;
+}
+
+.error {
+ color: red;
+ font-size: 1.2em;
+}
+
+/* header */
+h1 {
+ text-align: right;
+ font-size: 30px;
+ font-weight: 900;
+ letter-spacing: 0.1em;
+ /*color: #0001AA; */
+ color: #596d9d;
+ margin: 0 0 5px 135px;
+ height: 35px;
+ /*display: none; hide the header if you don't want it*/
+
+}
+
+/* quick menu on left */
+/*
+ It's a real pain getting this absolute positioning to work correctly
+ in all browsers. IE in particular seems to have a lot of trouble, even
+ when a valid doctype is present. Because of the way it is solved currently,
+ the top of the quickmenu and the contents will not line up
+*/
+#quickmenu {
+ position: absolute;
+ overflow: hidden;
+
+ top: 10px;
+ left: 10px;
+
+ width: 150px;
+ margin: 0px;
+ padding: 0px;
+
+ font-size:9pt;/*add yotaka 090323*/
+ color:#333;/* add */
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: #bbb;
+
+ background: #ffffff url(quickb.jpg) top left fixed repeat-y;
+}
+
+#quickmenu ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+#quickmenu li {
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ border-bottom: 1px solid #ccc;
+}
+
+#quickmenu p {
+ padding: 5px;
+ margin: 0px;
+ text-align: justify;
+}
+
+#quickmenu a {
+ display: block;
+ padding: 5px;
+ font-size: 1em;
+ line-height: 1.5;
+ text-decoration: none;
+}
+
+#quickmenu a:hover {
+ background: #ffffff url(quickb-hover.jpg) top left fixed repeat-y;
+ color: #333;
+ letter-spacing: 1px;
+}
+
+#quickmenu h2 {
+ font-size: small;
+ text-align: center;
+ padding: 1px 0px 1px 0px;
+ margin: 0px;
+ border-bottom: 1px solid #bbb;
+ background-color: #ddd;
+ color: #333;
+}
+
+#quickmenu form {
+ margin: 0;
+ padding: 5px;
+ text-align: center;
+}
+
+#quickmenu option {
+ font-size: 0.9em;
+}
+
+.loginname {
+ float: right;
+ font-size: small;
+ text-align: right;
+ line-height: normal;
+ padding-left: 5px;
+ background-color: white;
+}
+
+/* page content */
+#content {
+ margin-left: 163px;
+ font-style: normal;
+ text-decoration: none;
+ color: #333;
+ text-align: justify;
+ line-height: 13pt;
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: #bbb;
+
+ /* rounded borders in gecko-based browsers? why not :) */
+ -moz-border-radius: 10px;
+
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ padding: 10px 10px 0 10px;
+
+ background-color: white;
+
+}
+
+#content h2 {
+ color: #596d9d;
+
+ border-color: gray;
+ border-style: dashed;
+ border-width: 0px 0px 1px 0px;
+
+ font-size: large;
+ line-height: 120%;
+
+ text-decoration: none;
+ font-weight: bold;
+}
+
+#content h3 {
+ border-color: gray;
+ border-style: dotted;
+ border-width: 0px 0px 1px 0px;
+ font-size: medium;
+ font-weight: normal;
+ line-height: 120%;
+
+ color: gray;
+ padding-left: 20px;
+}
+
+#content .note, pre {
+ background-color: #ddd;
+ padding: 5px;
+}
+
+/*
+ font size tricks, to make it work in all browsers
+
+ See:
+ http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html
+
+ (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser)
+ #content should be 'small' (in standard-compliant browsers)
+
+*/
+
+#content {
+ font-size: small;
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ font-size: small;
+}
+html>body #content { font-size: small; }
+
+/* tables */
+div#content table {
+ border: none;
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+div#content table tbody tr {
+ background-color: #FFFFFF;
+}
+
+div#content table tbody tr:hover {
+ background-color: #F5F5F5;
+}
+
+div#content table thead tr th {
+ border: none;
+ background-color: #BBBBCC;
+ color: #000000;
+ font-size: small;
+}
+
+div#content table thead th,
+div#content table tbody td {
+ padding: 4px;
+ empty-cells: show;
+}
+
+div#content table.systemoverview thead th,
+div#content table.systemoverview tbody td {
+ width: 50%;
+}
+
+div#content table tbody tr td {
+ border: 1px solid #ddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+div#content table tbody tr td a:link,
+div#content table tbody tr td a:visited {
+ text-decoration: underline;
+ color: black;
+ font-weight: normal;
+}
+
+div#content table tbody tr td a:hover {
+ color: #1D3565;
+ text-decoration: underline;
+}
+
+div#content table tbody tr td.draft,
+div#content table tbody tr td.future {
+ background-color: #FFFFEE;
+}
+
+div#content table.navigation td,
+div#content table.navigation th {
+ border: none;
+}
+
+div#content table tbody td h3 {
+ padding: 0px;
+ margin: 0px 0px 2em 0px;
+ border: 0px;
+ color: #000000;
+ font-size: small;
+ font-weight: normal;
+ line-height: 13pt;
+}
+
+div#content table tbody td h3#base_skin {
+ font-weight: bold;
+}
+
+/* definitive list */
+div#content table tbody tr td dl {
+ margin: 0px;
+ padding: 0px;
+}
+
+div#content table tbody tr td:first-child dl dt {
+ margin: 0px;
+ padding: 0px 5px 0px 0px;
+ display: inline;
+ float: left;
+ clear: both;
+}
+
+div#content table tbody tr td:first-child dl dd {
+ margin: 0px;
+ padding: 0px;
+ display: block;
+}
+
+div#content table tbody tr td dl dd {
+ margin: 0px 0px 1em 0px;
+}
+
+/* unorderd list */
+div#content table tbody tr td ul {
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+}
+
+div#content table tbody tr td ul li {
+ margin: 0px;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+.batchoperations {
+ background-color: #EEEEFF;
+ width: auto;
+ padding: 5px;
+ text-align: right;
+}
+
+/* footer */
+div.foot {
+ padding: 2px 0px 2px 10px;
+ margin:10px -10px 0 -10px;
+ text-align: center;
+}
-@charset 'UTF-8';\r
-\r
-/*\r
- admin area style\r
- \r
- $Id$\r
- $NucleusJP: admin.css,v 1.6 2006/07/17 20:03:45 kimitake Exp $\r
-*/\r
-\r
-body {\r
- background: #ffffff url(contemporary_jp/background.png) repeat-x;\r
-\r
-}\r
-\r
-body, td, th, a, li, ul, textarea {\r
-/* color: #000; modify */\r
- color: #333;\r
-/* font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;*/\r
-/* font-family: "Hiragino Kaku Gothic Pro W3", "Meiryo", "MS PGothic", "Osaka", "IPA UIGothic", "IPA mona UIGothic", "VL PGothic", "Sazanami Gothic", "DynaLab-dfghsgothic w5-jisx0208.1990-0", "DynaLab-dfggothic w5-iso8859-1", "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif; */\r
- font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "MS Pゴシック", "MS PGothic", "IPA UIGothic", "IPA mona UIGothic", "VL PGothic", "Sazanami Gothic", "DynaLab-dfghsgothic w5-jisx0208.1990-0", "DynaLab-dfggothic w5-iso8859-1", "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;\r
-}\r
-\r
-/* basic link appearance */\r
-a:link, a:visited {\r
- color: #1D3565;\r
- font-weight: bold;\r
- text-decoration: none;\r
-}\r
-\r
-a:hover {\r
- text-decoration: underline;\r
-}\r
-\r
-/* textareas */\r
-textarea {\r
-/* font-size: small;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
- \r
- line-height:145%;/* add */\r
- padding:5px;/* add */\r
- \r
-/* font-family: "Hiragino Kaku Gothic Pro W3", "MS PGothic", "Osaka", sans-serif;\r
-}\r
-\r
-*>textarea {*/\r
- width: 95%;\r
-}\r
-\r
-/* textareas for skin/template editing have monospace fonts */\r
-textarea.skinedit, textarea.templateedit {\r
-/* font-family: "Hiragino Kaku Gothic Pro W3", "MS PGothic", "Osaka", monospace;\r
-/* except MacIE \*//*\r
- font-family: monospace;\r
-/* end */\r
-/* font-size: medium;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
-}\r
-\r
-/* add start */\r
-textarea#inputbody,textarea#inputmore {\r
- width:500px;\r
- margin:5px 3px;\r
-}\r
-\r
-textarea.pluginoption {\r
- width:420px;\r
-}\r
-/* add end */\r
-\r
-/* images */\r
-img {\r
- border: none; \r
-}\r
-\r
-img.skinpreview {\r
- border: 1px solid #ccc;\r
-}\r
-\r
-/* forms */\r
-form {\r
- margin-bottom: 0px;\r
-}\r
-\r
-label {\r
- cursor: pointer; \r
-}\r
-\r
-input.transparent {\r
- background-color: transparent;\r
-}\r
-\r
-/* preformatted text */\r
-pre {\r
- margin-left: 10px;\r
-}\r
-\r
-/* a div that has an indent */\r
-div.indent {\r
- margin-left: 40px;\r
-}\r
-\r
-.skip {\r
- display: none; \r
-}\r
-\r
-.error {\r
- color: red;\r
- /*font-size: 1.2em;*//*mod yotaka 090323*/\r
- font-size: 14pt; /*add yotaka 090323*/\r
-}\r
-\r
-/* header */\r
-h1 {\r
- text-align: right;\r
-/* font-size: 30px;*//*mod yotaka 090323*/\r
- font-size:24pt;/*add yotaka 090323*/\r
- font-weight: 900;\r
- letter-spacing: 0.1em;\r
-/* color: #0001AA;*/\r
- color: #596d9d;\r
- margin: 0 0 5px 135px;\r
- height: 35px;\r
-/* display: none; hide the header if you don't want it*/\r
-\r
-}\r
-\r
-/* quick menu on left */\r
-/* \r
- It's a real pain getting this absolute positioning to work correctly\r
- in all browsers. IE in particular seems to have a lot of trouble, even\r
- when a valid doctype is present. Because of the way it is solved currently,\r
- the top of the quickmenu and the contents will not line up\r
-*/\r
-#quickmenu {\r
- position: absolute;\r
- overflow: hidden;\r
- \r
- top: 10px;\r
- left: 10px;\r
-\r
- width: 150px;\r
- margin: 0px;\r
- padding: 0px;\r
- \r
-/* font-size: 70%;*/\r
-/* font-size: small;*//*mod yotaka 090323*/\r
- font-size:9pt;/*add yotaka 090323*/\r
- color:#333;/* add */\r
- \r
- border-width: 1px;\r
- border-style: solid;\r
-/* border-color: black; modify */\r
- border-color: #bbb;\r
-\r
- background: #ffffff url(contemporary_jp/quickb.jpg) top left fixed repeat-y; \r
-}\r
-\r
-#quickmenu ul {\r
- list-style-type: none;\r
- margin: 0;\r
- padding: 0;\r
-}\r
-\r
-#quickmenu li {\r
- padding: 0;\r
- margin: 0;\r
- text-align: center;\r
- border-bottom: 1px solid #ccc;\r
-}\r
-\r
-#quickmenu p {\r
- padding: 5px;\r
- margin: 0px;\r
- text-align: justify;\r
-}\r
-\r
-#quickmenu a {\r
- display: block;\r
- padding: 5px;\r
- /*font-size: 1em;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
- line-height: 1.5em;\r
- text-decoration: none;\r
-/* font-family: verdana, lucida, arial, helvetica, sans-serif;\r
-}\r
-\r
-*>#quickmenu a {\r
- font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;\r
-*/\r
-}\r
-\r
-#quickmenu a:hover {\r
- background: #ffffff url(contemporary_jp/quickb-hover.jpg) top left fixed repeat-y; \r
-/* color: #000; modify */\r
- color: #333;\r
- letter-spacing: 1px;\r
- white-space: nowrap; /* add */\r
-}\r
-\r
-#quickmenu h2 {\r
- /*font-size: small;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
- text-align: center;\r
- padding: 1px 0px 1px 0px;\r
- margin: 0px;\r
- border-bottom: 1px solid #bbb; \r
- background-color: #ddd;\r
-/* color: #000; modify */\r
- color: #333;\r
-}\r
-\r
-#quickmenu form {\r
- margin: 0;\r
- padding: 5px;\r
- text-align: center;\r
-}\r
-\r
-#quickmenu option {\r
-/* font-size: 0.9em;*//*mod yotaka 090323*/\r
- font-size: 8pt;/*add yotaka 090323*/\r
-}\r
-\r
-.loginname {\r
- float: right;\r
-/* font-size: small;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
- text-align: right;\r
- line-height: normal;\r
- padding-left: 5px;\r
- background-color: white;\r
-}\r
-\r
-/* page content */\r
-#content {\r
- margin-left:163px;\r
- font-style: normal;\r
- text-decoration: none;\r
-/* color: black; modify */\r
- color: #333;\r
- text-align: justify;\r
- line-height: 13pt;\r
-\r
- border-width: 1px;\r
- border-style: solid;\r
-/* border-color: black; modify */\r
- border-color: #bbb;\r
- \r
-/* rounded borders in gecko-based browsers? why not :) */\r
- -moz-border-radius: 10px;\r
-\r
-/* rounded borders in webkit-based browsers? why not :) */\r
- -webkit-border-radius: 10px;\r
-\r
-/* rounded borders in css3-based browsers? why not :) */\r
- border-radius: 10px;\r
-\r
- padding: 10px 10px 0 10px;\r
-\r
- background-color: white;\r
-\r
-}\r
-\r
-#content h2 {\r
- color: #596d9d; \r
-\r
- border-color: gray;\r
- border-style: dashed;\r
- border-width: 0px 0px 1px 0px;\r
-\r
- /*font-size: large;\r
- line-height: 120%;*//*mod yotaka 090323*/\r
- font-size: 10pt;/*add yotaka 090323*/\r
- line-height: 20px;/*add yotaka 090323*/\r
-\r
- text-decoration: none;\r
- font-weight: bold; \r
- letter-spacing: 2px;/* add */\r
- margin-top:20px;/*add yotaka 090323*/\r
-}\r
-\r
-#content h3 {\r
-/* border-color: gray;\r
- border-style: dotted;\r
- border-width: 0px 0px 1px 0px; modify */\r
-\r
- border-color: #596d9d;\r
- border-style: solid;\r
- border-width: 0px 0px 0px 5px;\r
-\r
-/* font-size: medium;*/\r
- font-size: 10pt;\r
- font-weight: normal;\r
- line-height: 120%;\r
-\r
-/* color: gray;\r
- padding-left: 20px;\r
- letter-spacing: 2; modify */\r
-\r
- color: #596d9d;\r
- padding-left: 8px;\r
- letter-spacing: 2px;\r
- margin-left:5px;/* add */\r
-}\r
-\r
-/* add start */\r
-#content ul {\r
- line-height:1.5em;\r
-/* list-style-type:square;*/\r
- margin:0 0 0.5em 30px;\r
- padding:0;\r
- list-style-image:url(contemporary_jp/bullet.gif);\r
-}\r
-/* add end */\r
-\r
-#content .note, pre {\r
- background-color: #ddd;\r
- padding: 5px;\r
-}\r
-\r
-#content li a{\r
- font-size: 9pt;/*add yotaka 090323*/\r
-}\r
-\r
-/* \r
- font size tricks, to make it work in all browsers\r
-\r
- See:\r
- http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html\r
-\r
- (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser) \r
- #content should be 'small' (in standard-compliant browsers)\r
-\r
-*/\r
-\r
-#content {\r
-/* font-size: small;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
- voice-family: "\"}\"";\r
- voice-family: inherit;\r
- /*font-size: small;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
-}\r
-html>body #content {\r
- /*font-size: small;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
-}\r
-\r
-/* tables */\r
-table {\r
- border: none;\r
- width: 100%;\r
- border-collapse: collapse;\r
- margin-bottom: 10px;\r
- margin-top: 10px; \r
-}\r
-\r
-th {\r
-/* background-color: #bbc; modify */\r
- background-color: #ddd;\r
-/* color: #000; modify */\r
- color: #333;\r
- /*font-size: small;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
- letter-spacing:1px;/* add */\r
-}\r
-\r
-th, td {\r
- padding: 4px;\r
- empty-cells: show; \r
- border: 1px solid #ddd; /* add */\r
-}\r
-\r
-td {\r
- background-color: #fff;\r
-/* border: 1px solid #ddd;*/\r
-/* font-size: small;*//*mod yotaka 090323*/\r
- font-size: 9pt;/*add yotaka 090323*/\r
- vertical-align: top;\r
- text-align: left;\r
-}\r
-\r
-td a:link, td a:visited { \r
- text-decoration: underline;\r
-/* color: black; modify */\r
- color: #333;\r
- font-weight: normal;\r
-}\r
-\r
-td a:hover {\r
- color: #1D3565;\r
- text-decoration: underline;\r
-}\r
-td.draft {\r
- background-color: #ffe;\r
-}\r
-td.future {\r
- background-color: #fff7f1;\r
-}\r
-tr.highlighted td {\r
- background-color: green;\r
-}\r
-\r
-table.navigation td, table.navigation th {\r
- border: none;\r
-}\r
-\r
-.batchoperations {\r
- background-color: #ebebf2;\r
- width: auto;\r
- padding: 5px;\r
- text-align: right;\r
-}\r
-\r
-/* plugin list */\r
-#content table ul.list_comment_info,\r
-#content table ul.list_item_info,\r
-#content table ul.list_item_action,\r
-#content table ul.plugin_info,\r
-#content table ul.pluginlist_actions {\r
- list-style-type: none;\r
- list-style-image: none;\r
- margin: 0 0 0.5em 5px;\r
- line-height:1.1em;\r
-}\r
-\r
-.plugin_name {\r
- font-weight: bold;\r
-}\r
-\r
-.plugin_desc h4 {\r
- margin: 0;\r
-}\r
-\r
-.plugin_desc p {\r
- margin-top: 0;\r
-}\r
-\r
-/* item list */\r
-#content table label.list_item_title {\r
-/* font-size: 1.1em;*//*mod yotaka 090323*/\r
- font-size: 10pt;/*mod yotaka 090323*/\r
- font-weight: bold;\r
-}\r
-\r
-.list_item_info_th {\r
- width: 130px;\r
-}\r
-\r
-/* footer */\r
-.foot {\r
- padding: 2px 0px 2px 10px;\r
- margin:10px -10px 0 -10px;\r
- text-align: center;\r
-}\r
-\r
-table .availableSkinTypes ul li {\r
- list-style: none;\r
-}\r
+@charset 'UTF-8';
+
+/*
+ admin area style
+
+ $Id$
+ $NucleusJP: admin.css,v 1.6 2006/07/17 20:03:45 kimitake Exp $
+*/
+
+body {
+ background: #ffffff url(contemporary_jp/background.png) repeat-x;
+
+}
+
+body, td, th, a, li, ul, textarea {
+/* color: #000; modify */
+ color: #333;
+/* font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;*/
+/* font-family: "Hiragino Kaku Gothic Pro W3", "Meiryo", "MS PGothic", "Osaka", "IPA UIGothic", "IPA mona UIGothic", "VL PGothic", "Sazanami Gothic", "DynaLab-dfghsgothic w5-jisx0208.1990-0", "DynaLab-dfggothic w5-iso8859-1", "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif; */
+ font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "MS Pゴシック", "MS PGothic", "IPA UIGothic", "IPA mona UIGothic", "VL PGothic", "Sazanami Gothic", "DynaLab-dfghsgothic w5-jisx0208.1990-0", "DynaLab-dfggothic w5-iso8859-1", "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
+}
+
+/* basic link appearance */
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/* textareas */
+textarea {
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+
+ line-height:145%;/* add */
+ padding:5px;/* add */
+
+/* font-family: "Hiragino Kaku Gothic Pro W3", "MS PGothic", "Osaka", sans-serif;
+}
+
+*>textarea {*/
+ width: 95%;
+}
+
+/* textareas for skin/template editing have monospace fonts */
+textarea.skinedit, textarea.templateedit {
+/* font-family: "Hiragino Kaku Gothic Pro W3", "MS PGothic", "Osaka", monospace;
+/* except MacIE \*//*
+ font-family: monospace;
+/* end */
+/* font-size: medium;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+}
+
+/* add start */
+textarea#inputbody,textarea#inputmore {
+ width:500px;
+ margin:5px 3px;
+}
+
+textarea.pluginoption {
+ width:420px;
+}
+/* add end */
+
+/* images */
+img {
+ border: none;
+}
+
+img.skinpreview {
+ border: 1px solid #ccc;
+}
+
+/* forms */
+form {
+ margin-bottom: 0px;
+}
+
+label {
+ cursor: pointer;
+}
+
+input.transparent {
+ background-color: transparent;
+}
+
+/* preformatted text */
+pre {
+ margin-left: 10px;
+}
+
+/* a div that has an indent */
+div.indent {
+ margin-left: 40px;
+}
+
+.skip {
+ display: none;
+}
+
+.error {
+ color: red;
+ /*font-size: 1.2em;*//*mod yotaka 090323*/
+ font-size: 14pt; /*add yotaka 090323*/
+}
+
+/* header */
+h1 {
+ text-align: right;
+/* font-size: 30px;*//*mod yotaka 090323*/
+ font-size:24pt;/*add yotaka 090323*/
+ font-weight: 900;
+ letter-spacing: 0.1em;
+/* color: #0001AA;*/
+ color: #596d9d;
+ margin: 0 0 5px 135px;
+ height: 35px;
+/* display: none; hide the header if you don't want it*/
+
+}
+
+/* quick menu on left */
+/*
+ It's a real pain getting this absolute positioning to work correctly
+ in all browsers. IE in particular seems to have a lot of trouble, even
+ when a valid doctype is present. Because of the way it is solved currently,
+ the top of the quickmenu and the contents will not line up
+*/
+#quickmenu {
+ position: absolute;
+ overflow: hidden;
+
+ top: 10px;
+ left: 10px;
+
+ width: 150px;
+ margin: 0px;
+ padding: 0px;
+
+/* font-size: 70%;*/
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size:9pt;/*add yotaka 090323*/
+ color:#333;/* add */
+
+ border-width: 1px;
+ border-style: solid;
+/* border-color: black; modify */
+ border-color: #bbb;
+
+ background: #ffffff url(contemporary_jp/quickb.jpg) top left fixed repeat-y;
+}
+
+#quickmenu ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+#quickmenu li {
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ border-bottom: 1px solid #ccc;
+}
+
+#quickmenu p {
+ padding: 5px;
+ margin: 0px;
+ text-align: justify;
+}
+
+#quickmenu a {
+ display: block;
+ padding: 5px;
+ /*font-size: 1em;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ line-height: 1.5em;
+ text-decoration: none;
+/* font-family: verdana, lucida, arial, helvetica, sans-serif;
+}
+
+*>#quickmenu a {
+ font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
+*/
+}
+
+#quickmenu a:hover {
+ background: #ffffff url(contemporary_jp/quickb-hover.jpg) top left fixed repeat-y;
+/* color: #000; modify */
+ color: #333;
+ letter-spacing: 1px;
+ white-space: nowrap; /* add */
+}
+
+#quickmenu h2 {
+ /*font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ text-align: center;
+ padding: 1px 0px 1px 0px;
+ margin: 0px;
+ border-bottom: 1px solid #bbb;
+ background-color: #ddd;
+/* color: #000; modify */
+ color: #333;
+}
+
+#quickmenu form {
+ margin: 0;
+ padding: 5px;
+ text-align: center;
+}
+
+#quickmenu option {
+/* font-size: 0.9em;*//*mod yotaka 090323*/
+ font-size: 8pt;/*add yotaka 090323*/
+}
+
+.loginname {
+ float: right;
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ text-align: right;
+ line-height: normal;
+ padding-left: 5px;
+ background-color: white;
+}
+
+/* page content */
+#content {
+ margin-left:163px;
+ font-style: normal;
+ text-decoration: none;
+/* color: black; modify */
+ color: #333;
+ text-align: justify;
+ line-height: 13pt;
+
+ border-width: 1px;
+ border-style: solid;
+/* border-color: black; modify */
+ border-color: #bbb;
+
+/* rounded borders in gecko-based browsers? why not :) */
+ -moz-border-radius: 10px;
+
+/* rounded borders in webkit-based browsers? why not :) */
+ -webkit-border-radius: 10px;
+
+/* rounded borders in css3-based browsers? why not :) */
+ border-radius: 10px;
+
+ padding: 10px 10px 0 10px;
+
+ background-color: white;
+
+}
+
+#content h2 {
+ color: #596d9d;
+
+ border-color: gray;
+ border-style: dashed;
+ border-width: 0px 0px 1px 0px;
+
+ /*font-size: large;
+ line-height: 120%;*//*mod yotaka 090323*/
+ font-size: 10pt;/*add yotaka 090323*/
+ line-height: 20px;/*add yotaka 090323*/
+
+ text-decoration: none;
+ font-weight: bold;
+ letter-spacing: 2px;/* add */
+ margin-top:20px;/*add yotaka 090323*/
+}
+
+#content h3 {
+/* border-color: gray;
+ border-style: dotted;
+ border-width: 0px 0px 1px 0px; modify */
+
+ border-color: #596d9d;
+ border-style: solid;
+ border-width: 0px 0px 0px 5px;
+
+/* font-size: medium;*/
+ font-size: 10pt;
+ font-weight: normal;
+ line-height: 120%;
+
+/* color: gray;
+ padding-left: 20px;
+ letter-spacing: 2; modify */
+
+ color: #596d9d;
+ padding-left: 8px;
+ letter-spacing: 2px;
+ margin-left:5px;/* add */
+}
+
+/* add start */
+#content ul {
+ line-height:1.5em;
+/* list-style-type:square;*/
+ margin:0 0 0.5em 30px;
+ padding:0;
+ list-style-image:url(contemporary_jp/bullet.gif);
+}
+/* add end */
+
+#content .note, pre {
+ background-color: #ddd;
+ padding: 5px;
+}
+
+#content li a{
+ font-size: 9pt;/*add yotaka 090323*/
+}
+
+/*
+ font size tricks, to make it work in all browsers
+
+ See:
+ http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html
+
+ (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser)
+ #content should be 'small' (in standard-compliant browsers)
+
+*/
+
+#content {
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ /*font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+}
+html>body #content {
+ /*font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+}
+
+/* tables */
+table {
+ border: none;
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+th {
+/* background-color: #bbc; modify */
+ background-color: #ddd;
+/* color: #000; modify */
+ color: #333;
+ /*font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ letter-spacing:1px;/* add */
+}
+
+th, td {
+ padding: 4px;
+ empty-cells: show;
+ border: 1px solid #ddd; /* add */
+}
+
+td {
+ background-color: #fff;
+/* border: 1px solid #ddd;*/
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ vertical-align: top;
+ text-align: left;
+}
+
+td a:link, td a:visited {
+ text-decoration: underline;
+/* color: black; modify */
+ color: #333;
+ font-weight: normal;
+}
+
+td a:hover {
+ color: #1D3565;
+ text-decoration: underline;
+}
+td.draft {
+ background-color: #ffe;
+}
+td.future {
+ background-color: #fff7f1;
+}
+tr.highlighted td {
+ background-color: green;
+}
+
+table.navigation td, table.navigation th {
+ border: none;
+}
+
+.batchoperations {
+ background-color: #ebebf2;
+ width: auto;
+ padding: 5px;
+ text-align: right;
+}
+
+/* plugin list */
+#content table ul.list_comment_info,
+#content table ul.list_item_info,
+#content table ul.list_item_action,
+#content table ul.plugin_info,
+#content table ul.pluginlist_actions {
+ list-style-type: none;
+ list-style-image: none;
+ margin: 0 0 0.5em 5px;
+ line-height:1.1em;
+}
+
+.plugin_name {
+ font-weight: bold;
+}
+
+.plugin_desc h4 {
+ margin: 0;
+}
+
+.plugin_desc p {
+ margin-top: 0;
+}
+
+/* item list */
+#content table label.list_item_title {
+/* font-size: 1.1em;*//*mod yotaka 090323*/
+ font-size: 10pt;/*mod yotaka 090323*/
+ font-weight: bold;
+}
+
+.list_item_info_th {
+ width: 130px;
+}
+
+/* footer */
+.foot {
+ padding: 2px 0px 2px 10px;
+ margin:10px -10px 0 -10px;
+ text-align: center;
+}
+
+table .availableSkinTypes ul li {
+ list-style: none;
+}
-/*\r
- admin area style\r
-\r
- $Id: admin_original.css 1652 2012-02-11 06:02:05Z sakamocchi $\r
-*/\r
-\r
-body {\r
- background: #ffffff;\r
-}\r
-\r
-body, td, th, a, li, ul, textarea {\r
- color: #000;\r
- font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;\r
-}\r
-\r
-/* basic link appearance */\r
-a:link, a:visited {\r
- color: #1D3565;\r
- font-weight: bold;\r
- text-decoration: none;\r
-}\r
-\r
-a:hover {\r
- text-decoration: underline;\r
-}\r
-\r
-/* textareas */\r
-textarea {\r
- font-size: small;\r
- width: 95%;\r
-}\r
-\r
-/* textareas for skin/template editing have monospace fonts */\r
-textarea.skinedit, textarea.templateedit {\r
- font-family: monospace;\r
- font-size: medium;\r
-}\r
-\r
-/* images */\r
-img {\r
- border: none;\r
-}\r
-\r
-img.skinpreview {\r
- border: 1px solid #ccc;\r
-}\r
-\r
-/* forms */\r
-form {\r
- margin-bottom: 0px;\r
-}\r
-\r
-label {\r
- cursor: pointer;\r
-}\r
-\r
-input.transparent {\r
- background-color: transparent;\r
-}\r
-\r
-/* preformatted text */\r
-pre {\r
- margin-left: 10px;\r
-}\r
-\r
-/* a div that has an indent */\r
-div.indent {\r
- margin-left: 40px;\r
-}\r
-\r
-.skip {\r
- display: none;\r
-}\r
-\r
-.error {\r
- color: red;\r
- font-size: 1.2em;\r
-}\r
-\r
-/* header */\r
-h1 {\r
- text-align: right;\r
- font-size: 30px;\r
- font-weight: 900;\r
- letter-spacing: 0.1em;\r
- /*color: #0001AA; */\r
- color: #596d9d;\r
- margin: 0 0 5px 135px;\r
- height: 35px;\r
- /*display: none; hide the header if you don't want it*/\r
-}\r
-\r
-/* quick menu on left */\r
-/*\r
- It's a real pain getting this absolute positioning to work correctly\r
- in all browsers. IE in particular seems to have a lot of trouble, even\r
- when a valid doctype is present. Because of the way it is solved currently,\r
- the top of the quickmenu and the contents will not line up\r
-*/\r
-#quickmenu {\r
- position: absolute;\r
- overflow: hidden;\r
-\r
- top: 10px;\r
- left: 10px;\r
-\r
- width: 110px;\r
- margin: 0px;\r
- padding: 0px;\r
-\r
- font-size: 70%;\r
-\r
- border-width: 1px;\r
- border-style: solid;\r
- border-color: black;\r
-\r
- background: #ffffff url(quickb.jpg) top left fixed repeat-y;\r
-}\r
-\r
-#quickmenu ul {\r
- list-style-type: none;\r
- margin: 0;\r
- padding: 0;\r
-}\r
-\r
-#quickmenu li {\r
- padding: 0;\r
- margin: 0;\r
- text-align: center;\r
- border-bottom: 1px solid #ccc;\r
-}\r
-\r
-#quickmenu p {\r
- padding: 5px;\r
- margin: 0px;\r
- text-align: justify;\r
-}\r
-\r
-#quickmenu a {\r
- display: block;\r
- padding: 5px;\r
- font-size: 1em;\r
- line-height: 1.5em;\r
- text-decoration: none;\r
-}\r
-\r
-#quickmenu a:hover {\r
- background: #ffffff url(quickb-hover.jpg) top left fixed repeat-y;\r
- color: #000;\r
- letter-spacing: 1px;\r
-}\r
-\r
-#quickmenu h2 {\r
- font-size: small;\r
- text-align: center;\r
- padding: 1px 0px 1px 0px;\r
- margin: 0px;\r
- border-bottom: 1px solid #bbb;\r
- background-color: #ddd;\r
- color: #000;\r
-}\r
-\r
-#quickmenu form {\r
- margin: 0;\r
- padding: 5px;\r
- text-align: center;\r
-}\r
-\r
-#quickmenu option {\r
- font-size: 0.9em;\r
-}\r
-\r
-.loginname {\r
- float: right;\r
- font-size: small;\r
- text-align: right;\r
- line-height: normal;\r
- padding-left: 5px;\r
- background-color: white;\r
-}\r
-\r
-/* page content */\r
-#content {\r
- margin-left: 135px;\r
- font-style: normal;\r
- text-decoration: none;\r
- color: black;\r
- text-align: justify;\r
- line-height: 13pt;\r
-\r
- border-width: 1px;\r
- border-style: solid;\r
- border-color: black;\r
-\r
- /* rounded borders */\r
- -webkit-border-radius: 10px;\r
- -moz-border-radius: 10px;\r
- border-radius: 10px;\r
-\r
- padding: 10px 10px 0 10px;\r
-\r
- background-color: white;\r
-}\r
-\r
-#content h2 {\r
- color: #596d9d;\r
-\r
- border-color: gray;\r
- border-style: dashed;\r
- border-width: 0px 0px 1px 0px;\r
-\r
- font-size: large;\r
- line-height: 120%;\r
-\r
- text-decoration: none;\r
- font-weight: bold;\r
-}\r
-\r
-#content h3 {\r
- border-color: gray;\r
- border-style: dotted;\r
- border-width: 0px 0px 1px 0px;\r
- font-size: medium;\r
- font-weight: normal;\r
- line-height: 120%;\r
-\r
- color: gray;\r
- padding-left: 20px;\r
-}\r
-\r
-#content .note, pre {\r
- background-color: #ddd;\r
- padding: 5px;\r
-}\r
-\r
-/*\r
- font size tricks, to make it work in all browsers\r
-\r
- See:\r
- http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html\r
-\r
- (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser)\r
- #content should be 'small' (in standard-compliant browsers)\r
-\r
-*/\r
-\r
-#content {\r
- font-size: small;\r
- voice-family: "\"}\"";\r
- voice-family: inherit;\r
- font-size: small;\r
-}\r
-html>body #content { font-size: small; }\r
-\r
-/* tables */\r
-div#content table {\r
- border: none;\r
- width: 100%;\r
- border-collapse: collapse;\r
- margin-bottom: 10px;\r
- margin-top: 10px;\r
-}\r
-\r
-div#content table tbody tr {\r
- background-color: #FFFFFF;\r
-}\r
-\r
-div#content table tbody tr:hover {\r
- background-color: #F5F5F5;\r
-}\r
-\r
-div#content table thead tr th {\r
- border: none;\r
- background-color: #BBBBCC;\r
- color: #000000;\r
- font-size: small;\r
-}\r
-\r
-div#content table thead th,\r
-div#content table tbody td {\r
- padding: 4px;\r
- empty-cells: show;\r
-}\r
-\r
-/* systemconfig column */\r
-div#content table.systemoverview thead th,\r
-div#content table.systemoverview tbody td {\r
- width: 50%;\r
-}\r
-\r
-div#content table tbody tr td {\r
- border: 1px solid #ddd;\r
- font-size: small;\r
- vertical-align: top;\r
- text-align: left;\r
-}\r
-\r
-div#content table tbody tr td a:link,\r
-div#content table tbody tr td a:visited {\r
- text-decoration: underline;\r
- color: black;\r
- font-weight: normal;\r
-}\r
-\r
-div#content table tbody tr td a:hover {\r
- color: #1D3565;\r
- text-decoration: underline;\r
-}\r
-\r
-div#content table tbody tr td.draft,\r
-div#content table tbody tr td.future {\r
- background-color: #FFFFEE;\r
-}\r
-\r
-div#content table.navigation td,\r
-div#content table.navigation th {\r
- border: none;\r
-}\r
-\r
-div#content table tbody td h3 {\r
- padding: 0px;\r
- margin: 0px 0px 2em 0px;\r
- border: 0px;\r
- color: #000000;\r
- font-size: small;\r
- font-weight: normal;\r
- line-height: 13pt;\r
-}\r
-\r
-div#content table tbody td h3#base_skin {\r
- font-weight: bold;\r
-}\r
-\r
-/* definitive list */\r
-div#content table tbody tr td dl {\r
- margin: 0px;\r
- padding: 0px;\r
-}\r
-\r
-div#content table tbody tr td:first-child dl dt {\r
- margin: 0px;\r
- padding: 0px 5px 0px 0px;\r
- display: inline;\r
- float: left;\r
- clear: both;\r
-}\r
-\r
-div#content table tbody tr td:first-child dl dd {\r
- margin: 0px;\r
- padding: 0px;\r
- display: block;\r
-}\r
-\r
-div#content table tbody tr td dl dd {\r
- margin: 0px 0px 1em 0px;\r
-}\r
-\r
-/* unorderd list */\r
-div#content table tbody tr td ul {\r
- margin: 0px;\r
- padding: 0px;\r
- list-style: none;\r
-}\r
-\r
-div#content table tbody tr td ul li {\r
- margin: 0px;\r
- padding: 0px;\r
- white-space: nowrap;\r
-}\r
-\r
-.batchoperations {\r
- background-color: #EEEEFF;\r
- width: auto;\r
- padding: 5px;\r
- text-align: right;\r
-}\r
-\r
-/* footer */\r
-div.foot {\r
- padding: 2px 0px 2px 10px;\r
- margin:10px -10px 0 -10px;\r
- text-align: center;\r
-}\r
+/*
+ admin area style
+
+ $Id: admin_original.css 1652 2012-02-11 06:02:05Z sakamocchi $
+*/
+
+body {
+ background: #ffffff;
+}
+
+body, td, th, a, li, ul, textarea {
+ color: #000;
+ font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
+}
+
+/* basic link appearance */
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/* textareas */
+textarea {
+ font-size: small;
+ width: 95%;
+}
+
+/* textareas for skin/template editing have monospace fonts */
+textarea.skinedit, textarea.templateedit {
+ font-family: monospace;
+ font-size: medium;
+}
+
+/* images */
+img {
+ border: none;
+}
+
+img.skinpreview {
+ border: 1px solid #ccc;
+}
+
+/* forms */
+form {
+ margin-bottom: 0px;
+}
+
+label {
+ cursor: pointer;
+}
+
+input.transparent {
+ background-color: transparent;
+}
+
+/* preformatted text */
+pre {
+ margin-left: 10px;
+}
+
+/* a div that has an indent */
+div.indent {
+ margin-left: 40px;
+}
+
+.skip {
+ display: none;
+}
+
+.error {
+ color: red;
+ font-size: 1.2em;
+}
+
+/* header */
+h1 {
+ text-align: right;
+ font-size: 30px;
+ font-weight: 900;
+ letter-spacing: 0.1em;
+ /*color: #0001AA; */
+ color: #596d9d;
+ margin: 0 0 5px 135px;
+ height: 35px;
+ /*display: none; hide the header if you don't want it*/
+}
+
+/* quick menu on left */
+/*
+ It's a real pain getting this absolute positioning to work correctly
+ in all browsers. IE in particular seems to have a lot of trouble, even
+ when a valid doctype is present. Because of the way it is solved currently,
+ the top of the quickmenu and the contents will not line up
+*/
+#quickmenu {
+ position: absolute;
+ overflow: hidden;
+
+ top: 10px;
+ left: 10px;
+
+ width: 110px;
+ margin: 0px;
+ padding: 0px;
+
+ font-size: 70%;
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: black;
+
+ background: #ffffff url(quickb.jpg) top left fixed repeat-y;
+}
+
+#quickmenu ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+#quickmenu li {
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ border-bottom: 1px solid #ccc;
+}
+
+#quickmenu p {
+ padding: 5px;
+ margin: 0px;
+ text-align: justify;
+}
+
+#quickmenu a {
+ display: block;
+ padding: 5px;
+ font-size: 1em;
+ line-height: 1.5em;
+ text-decoration: none;
+}
+
+#quickmenu a:hover {
+ background: #ffffff url(quickb-hover.jpg) top left fixed repeat-y;
+ color: #000;
+ letter-spacing: 1px;
+}
+
+#quickmenu h2 {
+ font-size: small;
+ text-align: center;
+ padding: 1px 0px 1px 0px;
+ margin: 0px;
+ border-bottom: 1px solid #bbb;
+ background-color: #ddd;
+ color: #000;
+}
+
+#quickmenu form {
+ margin: 0;
+ padding: 5px;
+ text-align: center;
+}
+
+#quickmenu option {
+ font-size: 0.9em;
+}
+
+.loginname {
+ float: right;
+ font-size: small;
+ text-align: right;
+ line-height: normal;
+ padding-left: 5px;
+ background-color: white;
+}
+
+/* page content */
+#content {
+ margin-left: 135px;
+ font-style: normal;
+ text-decoration: none;
+ color: black;
+ text-align: justify;
+ line-height: 13pt;
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: black;
+
+ /* rounded borders */
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+
+ padding: 10px 10px 0 10px;
+
+ background-color: white;
+}
+
+#content h2 {
+ color: #596d9d;
+
+ border-color: gray;
+ border-style: dashed;
+ border-width: 0px 0px 1px 0px;
+
+ font-size: large;
+ line-height: 120%;
+
+ text-decoration: none;
+ font-weight: bold;
+}
+
+#content h3 {
+ border-color: gray;
+ border-style: dotted;
+ border-width: 0px 0px 1px 0px;
+ font-size: medium;
+ font-weight: normal;
+ line-height: 120%;
+
+ color: gray;
+ padding-left: 20px;
+}
+
+#content .note, pre {
+ background-color: #ddd;
+ padding: 5px;
+}
+
+/*
+ font size tricks, to make it work in all browsers
+
+ See:
+ http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html
+
+ (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser)
+ #content should be 'small' (in standard-compliant browsers)
+
+*/
+
+#content {
+ font-size: small;
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ font-size: small;
+}
+html>body #content { font-size: small; }
+
+/* tables */
+div#content table {
+ border: none;
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+div#content table tbody tr {
+ background-color: #FFFFFF;
+}
+
+div#content table tbody tr:hover {
+ background-color: #F5F5F5;
+}
+
+div#content table thead tr th {
+ border: none;
+ background-color: #BBBBCC;
+ color: #000000;
+ font-size: small;
+}
+
+div#content table thead th,
+div#content table tbody td {
+ padding: 4px;
+ empty-cells: show;
+}
+
+/* systemconfig column */
+div#content table.systemoverview thead th,
+div#content table.systemoverview tbody td {
+ width: 50%;
+}
+
+div#content table tbody tr td {
+ border: 1px solid #ddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+div#content table tbody tr td a:link,
+div#content table tbody tr td a:visited {
+ text-decoration: underline;
+ color: black;
+ font-weight: normal;
+}
+
+div#content table tbody tr td a:hover {
+ color: #1D3565;
+ text-decoration: underline;
+}
+
+div#content table tbody tr td.draft,
+div#content table tbody tr td.future {
+ background-color: #FFFFEE;
+}
+
+div#content table.navigation td,
+div#content table.navigation th {
+ border: none;
+}
+
+div#content table tbody td h3 {
+ padding: 0px;
+ margin: 0px 0px 2em 0px;
+ border: 0px;
+ color: #000000;
+ font-size: small;
+ font-weight: normal;
+ line-height: 13pt;
+}
+
+div#content table tbody td h3#base_skin {
+ font-weight: bold;
+}
+
+/* definitive list */
+div#content table tbody tr td dl {
+ margin: 0px;
+ padding: 0px;
+}
+
+div#content table tbody tr td:first-child dl dt {
+ margin: 0px;
+ padding: 0px 5px 0px 0px;
+ display: inline;
+ float: left;
+ clear: both;
+}
+
+div#content table tbody tr td:first-child dl dd {
+ margin: 0px;
+ padding: 0px;
+ display: block;
+}
+
+div#content table tbody tr td dl dd {
+ margin: 0px 0px 1em 0px;
+}
+
+/* unorderd list */
+div#content table tbody tr td ul {
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+}
+
+div#content table tbody tr td ul li {
+ margin: 0px;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+.batchoperations {
+ background-color: #EEEEFF;
+ width: auto;
+ padding: 5px;
+ text-align: right;
+}
+
+/* footer */
+div.foot {
+ padding: 2px 0px 2px 10px;
+ margin:10px -10px 0 -10px;
+ text-align: center;
+}
-/* \r
- style definitions for the bookmarklet \r
- \r
- $Id: bookmarklet.css 1277 2008-10-22 08:43:59Z shizuki $\r
-*/\r
-\r
-body {\r
- font-size: small;\r
- background: #fff;\r
- color: #000;\r
- font-family: "Trebuchet MS",Trebuchet,"Bitstream Vera Sans",verdana,lucida,arial,helvetica,sans-serif\r
-} \r
-\r
-h1 {\r
- border-bottom: 1px dotted gray;\r
- font-size: medium;\r
- color: #596d9d;\r
-}\r
-\r
-/* \r
- Hide switch buttons initially, we'll enable them again if we are sure\r
- the browser supports DOM\r
-*/\r
-#switchbuttons {\r
- display: none;\r
-}\r
-/*\r
- Hide preview also when no DOM is supported\r
-*/\r
-#preview {\r
- display: none;\r
-}\r
-\r
-.buttonbar {\r
- margin-bottom: 5px;\r
- background: rgb(187, 187, 204);\r
- padding: 3px;\r
-}\r
-\r
-.buttonbar input {\r
- background: #C5C5D3;\r
- border: 1px solid #CACAD7;\r
- border-right: 2px solid #8E8EAB;\r
- border-bottom: 2px solid #8E8EAB;\r
- color: #000000;\r
- font-family: "Trebuchet MS",Trebuchet,"Bitstream Vera Sans",verdana,lucida,arial,helvetica,sans-serif;\r
- font-weight: bold; \r
-}\r
-\r
-.contentblock {\r
- /*background: #ddd;*/\r
-/* height: 400px;*/\r
- height: 450px;\r
- overflow: auto; /* temporary removed, to make the select box work in Mozilla */\r
- padding: 1px;\r
- margin: 0px;\r
- vertical-align: top;\r
-}\r
-\r
-.shortcuts {\r
- float: right; \r
- text-align: right;\r
- font-size: x-small;\r
-}\r
-\r
-#options {\r
- margin-top:-15px;\r
- }\r
-#options h2 {\r
- margin:15px 0 0 0;\r
-}\r
-\r
-h2 {\r
- font-size: 1.5em;\r
- color: gray;\r
- margin-top: 0px;\r
- padding-top: 0px;\r
- padding-bottom: 0px;\r
- margin-top: 0px;\r
-}\r
-\r
-a:link, a:visited {\r
- color: #1D3565; \r
- font-weight: bold;\r
- text-decoration: none;\r
-}\r
-\r
-a:hover {\r
- text-decoration: underline;\r
-} \r
-\r
-img { \r
- border: none;\r
-}\r
-\r
-.indent {\r
- margin-left: 40px;\r
-}\r
-\r
-label { cursor: pointer; }\r
-\r
-table {\r
- border: none;\r
- width: 95%;\r
- border-collapse: collapse;\r
- margin-bottom: 10px;\r
- margin-top: 10px; \r
-}\r
-\r
-th {\r
- background: #bbc;\r
- color: #000;\r
- font-size: small;\r
-}\r
-\r
-th, td {\r
- padding: 4px;\r
- empty-cells: show; \r
-}\r
-\r
-td {\r
- background: #fff;\r
- border: 1px solid #ddd;\r
- font-size: small;\r
- vertical-align: top;\r
- text-align: left;\r
-}\r
-\r
-td a:link, td a:visited { \r
- text-decoration: underline;\r
- color: black;\r
- font-weight: normal;\r
-}\r
-td a:hover {\r
- color: #1D3565;\r
- text-decoration: underline;\r
-}\r
-\r
-td.draft, td.future {\r
- background: #ffe;\r
-}\r
-\r
-tr.highlighted td {\r
- background: green;\r
-}\r
-\r
-ul.nobullets {\r
- list-style-type: none;\r
- padding: 0;\r
- margin: 0;\r
+/*
+ style definitions for the bookmarklet
+
+ $Id: bookmarklet.css 1277 2008-10-22 08:43:59Z shizuki $
+*/
+
+body {
+ font-size: small;
+ background: #fff;
+ color: #000;
+ font-family: "Trebuchet MS",Trebuchet,"Bitstream Vera Sans",verdana,lucida,arial,helvetica,sans-serif
+}
+
+h1 {
+ border-bottom: 1px dotted gray;
+ font-size: medium;
+ color: #596d9d;
+}
+
+/*
+ Hide switch buttons initially, we'll enable them again if we are sure
+ the browser supports DOM
+*/
+#switchbuttons {
+ display: none;
+}
+/*
+ Hide preview also when no DOM is supported
+*/
+#preview {
+ display: none;
+}
+
+.buttonbar {
+ margin-bottom: 5px;
+ background: rgb(187, 187, 204);
+ padding: 3px;
+}
+
+.buttonbar input {
+ background: #C5C5D3;
+ border: 1px solid #CACAD7;
+ border-right: 2px solid #8E8EAB;
+ border-bottom: 2px solid #8E8EAB;
+ color: #000000;
+ font-family: "Trebuchet MS",Trebuchet,"Bitstream Vera Sans",verdana,lucida,arial,helvetica,sans-serif;
+ font-weight: bold;
+}
+
+.contentblock {
+ /*background: #ddd;*/
+/* height: 400px;*/
+ height: 450px;
+ overflow: auto; /* temporary removed, to make the select box work in Mozilla */
+ padding: 1px;
+ margin: 0px;
+ vertical-align: top;
+}
+
+.shortcuts {
+ float: right;
+ text-align: right;
+ font-size: x-small;
+}
+
+#options {
+ margin-top:-15px;
+ }
+#options h2 {
+ margin:15px 0 0 0;
+}
+
+h2 {
+ font-size: 1.5em;
+ color: gray;
+ margin-top: 0px;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ margin-top: 0px;
+}
+
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+img {
+ border: none;
+}
+
+.indent {
+ margin-left: 40px;
+}
+
+label { cursor: pointer; }
+
+table {
+ border: none;
+ width: 95%;
+ border-collapse: collapse;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+th {
+ background: #bbc;
+ color: #000;
+ font-size: small;
+}
+
+th, td {
+ padding: 4px;
+ empty-cells: show;
+}
+
+td {
+ background: #fff;
+ border: 1px solid #ddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+td a:link, td a:visited {
+ text-decoration: underline;
+ color: black;
+ font-weight: normal;
+}
+td a:hover {
+ color: #1D3565;
+ text-decoration: underline;
+}
+
+td.draft, td.future {
+ background: #ffe;
+}
+
+tr.highlighted td {
+ background: green;
+}
+
+ul.nobullets {
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
}
\ No newline at end of file
-/*\r
- documentation style\r
- \r
- $Id: manual.css 757 2005-08-12 07:29:40Z dekarma $\r
-*/\r
-\r
-body {\r
- background-color: #fff;\r
- color: #000;\r
- font-family: verdana, arial;\r
- font-size: small;\r
-}\r
-\r
-@media screen {\r
- body {\r
- margin-left: 10%;\r
- margin-right: 10%;\r
- }\r
-}\r
-\r
-@media print {\r
- pre, .note, td, th {\r
- border: 1px dashed gray;\r
- }\r
-}\r
-\r
-img {\r
- border: none;\r
-}\r
-\r
-a:link, a:visited {\r
- color: #1D3565; \r
- font-weight: bold;\r
- text-decoration: none;\r
-}\r
-a: hover {\r
- text-decoration: underline;\r
-}\r
-\r
-.heading {\r
- text-align: center;\r
- font-size: xx-large;\r
- font-weight: bold;\r
- color: gray; \r
-}\r
-\r
-.heading i {\r
- position: absolute;\r
- top: 5px;\r
- right: 5px;\r
- font-size: small;\r
- font-style: normal;\r
- font-weight: normal;\r
-}\r
-\r
-p:first-letter {\r
- font-size: large;\r
-}\r
-\r
-p {\r
- text-indent: 20px;\r
-}\r
-\r
-h1 {\r
- border-bottom: 1px dotted gray;\r
- font-size: x-large;\r
- color: #596d9d;\r
-}\r
-\r
-h2 {\r
- color: gray;\r
- font-size: large;\r
- margin-left: 20px;\r
- text-indent: 10px;\r
- border-bottom: 1px solid #ddd;\r
-}\r
-\r
-pre, .note, .faq .answer {\r
- background-color: #ddd;\r
- padding: 10px;\r
- font-size: small;\r
-}\r
-\r
-.screenshot {\r
- text-align: center;\r
- background-color: #ddd;\r
- padding: 10px;\r
-}\r
-\r
-.faq .question {\r
- font-weight: bold;\r
- margin-bottom: 0px;\r
-}\r
-\r
-.faq .answer {\r
-\r
-}\r
-\r
-.faq {\r
- margin-bottom: 20px;\r
-}\r
-\r
-table {\r
- border: none;\r
-}\r
-\r
-th {\r
- background-color: linen;\r
- font-size: medium;\r
-}\r
-\r
-th, td {\r
- padding: 5px;\r
-}\r
-\r
-td {\r
- background-color: #dddddd;\r
- font-size: small;\r
- vertical-align: top;\r
- text-align: left;\r
-}\r
-\r
-input, select, option, textarea {\r
- background-color: transparent;\r
-}\r
-\r
-.deprecated {\r
- border: 3px solid red;\r
- padding: 5px;\r
- font-size: medium;\r
-}\r
-\r
-tt, code, samp {\r
- font-size: small;\r
-}\r
-\r
-.warning {\r
- color: red;\r
-}\r
-.ok {\r
- color: green;\r
-}\r
-\r
-acronym, abbr {\r
- border-bottom: 1px dotted gray;\r
- cursor: help;\r
-}\r
-\r
-label {\r
- cursor: hand;\r
-}\r
+/*
+ documentation style
+
+ $Id: manual.css 757 2005-08-12 07:29:40Z dekarma $
+*/
+
+body {
+ background-color: #fff;
+ color: #000;
+ font-family: verdana, arial;
+ font-size: small;
+}
+
+@media screen {
+ body {
+ margin-left: 10%;
+ margin-right: 10%;
+ }
+}
+
+@media print {
+ pre, .note, td, th {
+ border: 1px dashed gray;
+ }
+}
+
+img {
+ border: none;
+}
+
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+a: hover {
+ text-decoration: underline;
+}
+
+.heading {
+ text-align: center;
+ font-size: xx-large;
+ font-weight: bold;
+ color: gray;
+}
+
+.heading i {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ font-size: small;
+ font-style: normal;
+ font-weight: normal;
+}
+
+p:first-letter {
+ font-size: large;
+}
+
+p {
+ text-indent: 20px;
+}
+
+h1 {
+ border-bottom: 1px dotted gray;
+ font-size: x-large;
+ color: #596d9d;
+}
+
+h2 {
+ color: gray;
+ font-size: large;
+ margin-left: 20px;
+ text-indent: 10px;
+ border-bottom: 1px solid #ddd;
+}
+
+pre, .note, .faq .answer {
+ background-color: #ddd;
+ padding: 10px;
+ font-size: small;
+}
+
+.screenshot {
+ text-align: center;
+ background-color: #ddd;
+ padding: 10px;
+}
+
+.faq .question {
+ font-weight: bold;
+ margin-bottom: 0px;
+}
+
+.faq .answer {
+
+}
+
+.faq {
+ margin-bottom: 20px;
+}
+
+table {
+ border: none;
+}
+
+th {
+ background-color: linen;
+ font-size: medium;
+}
+
+th, td {
+ padding: 5px;
+}
+
+td {
+ background-color: #dddddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+input, select, option, textarea {
+ background-color: transparent;
+}
+
+.deprecated {
+ border: 3px solid red;
+ padding: 5px;
+ font-size: medium;
+}
+
+tt, code, samp {
+ font-size: small;
+}
+
+.warning {
+ color: red;
+}
+.ok {
+ color: green;
+}
+
+acronym, abbr {
+ border-bottom: 1px dotted gray;
+ cursor: help;
+}
+
+label {
+ cursor: hand;
+}
-/*\r
- media library popup\r
- \r
- $Id: popups.css 757 2005-08-12 07:29:40Z dekarma $\r
-*/\r
-\r
-body {\r
- font-family: verdana, arial;\r
- font-size: small;\r
- background-color: #fff;\r
- color: #000;\r
-}\r
-\r
-img {\r
- border: none;\r
-}\r
-\r
-a:link, a:visited {\r
- color: #1D3565; \r
- font-weight: bold;\r
- text-decoration: none;\r
-}\r
-a:hover {\r
- text-decoration: underline;\r
-}\r
-\r
-.heading {\r
- text-align: center;\r
- font-size: xx-large;\r
- font-weight: bold;\r
- color: gray; \r
-}\r
-\r
-.heading i {\r
- position: absolute;\r
- top: 5px;\r
- right: 5px;\r
- font-size: small;\r
- font-style: normal;\r
- font-weight: normal;\r
-}\r
-\r
-p {\r
- text-indent: 20px;\r
-}\r
-\r
-h1 {\r
- border-bottom: 1px dotted gray;\r
- font-size: x-large;\r
- color: #596d9d;\r
-}\r
-\r
-h2 {\r
- color: gray;\r
- font-size: large;\r
- margin-left: 20px;\r
- text-indent: 10px;\r
- border-bottom: 1px solid #ddd;\r
-}\r
-\r
-pre, .note, .faq .answer {\r
- background-color: #ddd;\r
- padding: 10px;\r
- font-size: small;\r
-}\r
-\r
-.faq .question {\r
- font-weight: bold;\r
- margin-bottom: 0px;\r
-}\r
-\r
-.faq .answer {\r
-\r
-}\r
-\r
-.faq {\r
- margin-bottom: 20px;\r
-}\r
-\r
-table {\r
- border: none;\r
-}\r
-\r
-th {\r
- background-color: linen;\r
- font-size: medium;\r
-}\r
-\r
-th, td {\r
- padding: 5px;\r
-}\r
-\r
-td {\r
- background-color: #dddddd;\r
- font-size: small;\r
- vertical-align: top;\r
- text-align: left;\r
-}\r
-\r
-label {\r
- cursor: pointer;\r
+/*
+ media library popup
+
+ $Id: popups.css 757 2005-08-12 07:29:40Z dekarma $
+*/
+
+body {
+ font-family: verdana, arial;
+ font-size: small;
+ background-color: #fff;
+ color: #000;
+}
+
+img {
+ border: none;
+}
+
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+a:hover {
+ text-decoration: underline;
+}
+
+.heading {
+ text-align: center;
+ font-size: xx-large;
+ font-weight: bold;
+ color: gray;
+}
+
+.heading i {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ font-size: small;
+ font-style: normal;
+ font-weight: normal;
+}
+
+p {
+ text-indent: 20px;
+}
+
+h1 {
+ border-bottom: 1px dotted gray;
+ font-size: x-large;
+ color: #596d9d;
+}
+
+h2 {
+ color: gray;
+ font-size: large;
+ margin-left: 20px;
+ text-indent: 10px;
+ border-bottom: 1px solid #ddd;
+}
+
+pre, .note, .faq .answer {
+ background-color: #ddd;
+ padding: 10px;
+ font-size: small;
+}
+
+.faq .question {
+ font-weight: bold;
+ margin-bottom: 0px;
+}
+
+.faq .answer {
+
+}
+
+.faq {
+ margin-bottom: 20px;
+}
+
+table {
+ border: none;
+}
+
+th {
+ background-color: linen;
+ font-size: medium;
+}
+
+th, td {
+ padding: 5px;
+}
+
+td {
+ background-color: #dddddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+label {
+ cursor: pointer;
}
\ No newline at end of file
--- /dev/null
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * Some JavaScript code for the admin area
+ *
+ * $Id: admin.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+function help(url) {
+ popup = window.open(url,'helpwindow','status=no,toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500,top=0,left=0');
+ if (popup.focus) popup.focus();
+ if (popup.GetAttention) popup.GetAttention();
+ return false;
+}
+
+var oldCellColor = "#000";
+function focusRow(row) {
+ var cells = row.cells;
+ if (!cells) return;
+ oldCellColor = cells[0].style.backgroundColor;
+ for (var i=0;i<cells.length;i++) {
+ cells[i].style.backgroundColor='whitesmoke';
+ }
+}
+function blurRow(row) {
+ var cells = row.cells;
+ if (!cells) return;
+ for (var i=0;i<cells.length;i++) {
+ cells[i].style.backgroundColor=oldCellColor;
+ }
+}
+function batchSelectAll(what) {
+ var i = 0;
+ var el;
+ while (el = document.getElementById('batch' + i)) {
+ el.checked = what?'checked':'';
+ i++;
+ }
+ return false;
+}
+function selectCanLogin(flag) {
+ if (flag) {
+ window.document.memberedit.canlogin[0].checked=true;
+
+ // don't disable canlogin[0], otherwise the value won't be passed.
+// window.document.memberedit.canlogin[0].disabled=true;
+ window.document.memberedit.canlogin[1].disabled=true;
+ } else {
+ window.document.memberedit.canlogin[0].disabled=false;
+ window.document.memberedit.canlogin[1].disabled=false;
+ }
+}
--- /dev/null
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * Some JavaScript code for the bookmarklets
+ *
+ * $Id: bookmarklet.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+/**
+ * On browsers that have DOM support, the non-visible tabs of the bookmarklet are
+ * initially hidden. This is not defined in the CSS stylesheet since this causes
+ * problems with Opera (which does not seem to be sending form data for input
+ * fields which are in a hidden block)
+ */
+function initStyles() {
+ hideBlock('more');
+ hideBlock('options');
+ hideBlock('preview');
+
+ // in browsers that do not support DOM (like opera), the buttons used
+ // to switch tabs are useless and can be hidden
+ document.getElementById('switchbuttons').style.display = 'inline';
+}
+
+/**
+ * To be called with id='body','more','options' or 'preview'
+ * Hides all other tabs and makes the chosen one visible
+ */
+function flipBlock(id) {
+
+ showBlock(id);
+
+ if (id != 'body')
+ hideBlock('body');
+ if (id != 'more')
+ hideBlock('more');
+ if (id != 'options')
+ hideBlock('options');
+ if (id != 'preview')
+ hideBlock('preview');
+
+}
+
+/**
+ * Hides one element (tab)
+ */
+function hideBlock(id) {
+ document.getElementById(id).style.display = "none";
+}
+
+/**
+ * Makes an element (tab) visible
+ */
+function showBlock(id) {
+ document.getElementById(id).style.display = "block";
+}
+
+function help(url) {
+ popup = window.open(url,'helpwindow','status=no,toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500,top=0,left=0');
+ if (popup.focus) popup.focus();
+ if (popup.GetAttention) popup.GetAttention();
+ return false;
+}
--- /dev/null
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * Javascript code to make sure that:
+ * - javascript still works when sending pages as application/xhtml+xml
+ * - this doesn't break functionality in IE
+ *
+ * How to use:
+ * - Include this file
+ * - Use createElement() instead of document.createElement()
+ *
+ * That's basically it :)
+ *
+ * $Id: compatibility.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+// to get the script working when page is sent as application/xhtml+xml
+function createElement(element) {
+ if (document.createElementNS) {
+ return document.createElementNS('http://www.w3.org/1999/xhtml', element);
+ }
+ if (document.createElement) {
+ return document.createElement(element);
+ }
+ return false;
+}
--- /dev/null
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * This file contains functions to allow adding items from inside the weblog.
+ * Also contains code to avoid submitting form data twice.
+ *
+ * $Id: edit.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+var nucleusConvertBreaks = true;
+var nucleusMediaPopupURL = '';
+var nucleusMediaURL = 'media/';
+var nucleusAuthorId = 0;
+var scrollTop = -1;
+
+function setConvertBreaks(newval) { nucleusConvertBreaks = newval; }
+function setMediaUrl(url) { nucleusMediaURL = url; }
+function setAuthorId(id) { nucleusAuthorId = id; }
+
+function preview(id, value) {
+ elem = document.getElementById(id);
+ if (!elem) return;
+
+ var preview = nucleusConvertBreaks ? str_replace("\n","<br />",value)+" " : value+" ";
+
+ // expand the media commands (without explicit collection)
+ preview = preview.replace(/\<\%image\(([^\/\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<img src='"+nucleusMediaURL+nucleusAuthorId+"/$1' width='$2' height='$3' alt=\"$4\" />");
+
+ // expand the media commands (with collection)
+ preview = preview.replace(/\<\%image\(([^\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<img src='"+nucleusMediaURL+"$1' width='$2' height='$3' alt=\"$4\" />");
+ preview = preview.replace(/\<\%popup\(([^\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<a href='' onclick='if (event && event.preventDefault) event.preventDefault(); alert(\"popup image\"); return false;' title='popup'>$4</a>");
+ preview = preview.replace(/\<\%media\(([^\|]*)\|([^)]*)\)\%\>/g,"<a href='' title='media link'>$2</a>");
+
+ elem.innerHTML = preview;
+}
+
+function showedit() {
+ prevval = document.getElementById('edit').style.display;
+ if (prevval == "block")
+ newval = "none";
+ else
+ newval = "block";
+ document.getElementById('edit').style.display = newval;
+
+ if (newval == "block")
+ updAllPreviews();
+}
+
+function updAllPreviews() {
+ updPreview('title');
+ updPreview('body');
+ updPreview('more');
+}
+
+function isEditVisible() {
+ var editform = document.getElementById('edit');
+ if (!editform) return true;
+ var prevval = editform.style.display;
+ return (prevval == "none") ? false : true;
+}
+
+function updPreview(id) {
+ // don't update when preview is hidden
+ if (!isEditVisible()) return;
+
+ var inputField = document.getElementById('input' + id);
+ if (!inputField) return;
+ preview('prev' + id, inputField.value);
+}
+
+// replace a in s by b (taken from milov.nl)
+function str_replace(a, b, s)
+{
+ if (a == b || !s.length || !a.length) return s;
+ if ((p=s.indexOf(a)) == -1) { return s; }
+ else { ns = s.substring(0,p) + b + s.substring(p+a.length,s.length); }
+ return (s.indexOf(a) != -1) ? str_replace(a, b, ns) : ns;
+}
+
+function shortCuts() {
+ if (!event || (event.ctrlKey != true)) return;
+
+ switch (event.keyCode) {
+ case 1:
+ ahrefThis(); break; // ctrl-shift-a
+ case 2:
+ boldThis(); break; // ctrl-shift-b
+ case 9:
+ italicThis(); break; // ctrl-shift-i
+ case 13:
+ addMedia(); break; // ctrl-shift-m
+ default:
+ return;
+ }
+ return;
+}
+
+function cutThis() { execAndUpdate('cut'); }
+function copyThis() { execAndUpdate('copy'); }
+function pasteThis() { execAndUpdate('paste'); }
+function boldThis() { insertAroundCaret('<b>','</b>'); }
+function italicThis() { insertAroundCaret('<i>','</i>'); }
+function leftThis() { insertAroundCaret('<div class="leftbox">','</div>'); }
+function rightThis() { insertAroundCaret('<div class="rightbox">','</div>'); }
+function alignleftThis() { insertAroundCaret('<div style="text-align: left">','</div>'); }
+function alignrightThis() { insertAroundCaret('<div style="text-align: right">','</div>'); }
+function aligncenterThis() { insertAroundCaret('<div style="text-align: center">','</div>'); }
+
+
+function ahrefThis() {
+ if (document.selection)
+ strSelection = document.selection.createRange().text;
+ else
+ strSelection = '';
+
+ strHref = prompt("Create a link to:","http://");
+ if (strHref == null) return;
+
+ var textpre = "<a href=\"" + strHref.replace(/&/g,'&') + "\">";
+ insertAroundCaret(textpre, "</a>");
+}
+
+function execAndUpdate(action) {
+ lastSelected.caretPos.execCommand(action);
+ updAllPreviews();
+}
+
+
+var nonie_FormType = 'body';
+
+// Add media to new item
+function addMedia() {
+
+ var mediapopup = window.open(nucleusMediaPopupURL + 'media.php','name',
+ 'status=yes,toolbar=no,scrollbars=yes,resizable=yes,width=500,height=450,top=0,left=0');
+
+ return;
+}
+
+
+function setMediaPopupURL(url) {
+ nucleusMediaPopupURL = url;
+}
+
+function includeImage(collection, filename, type, width, height) {
+ if (isCaretEmpty()) {
+ text = prompt("Text to display ?",filename);
+ } else {
+ text = getCaretText();
+ }
+
+ // add collection name when not private collection (or editing a message that's not your)
+ var fullName;
+ if (isNaN(collection) || (nucleusAuthorId != collection)) {
+ fullName = collection + '/' + filename;
+ } else {
+ fullName = filename;
+ }
+
+
+ var replaceBy;
+ switch(type) {
+ case 'popup':
+ replaceBy = '<%popup(' + fullName + '|'+width+'|'+height+'|' + text +')%>';
+ break;
+ case 'inline':
+ default:
+ replaceBy = '<%image(' + fullName + '|'+width+'|'+height+'|' + text +')%>';
+ }
+
+ insertAtCaret(replaceBy);
+ updAllPreviews();
+
+}
+
+
+function includeOtherMedia(collection, filename) {
+ if (isCaretEmpty()) {
+ text = prompt("Text to display ?",filename);
+ } else {
+ text = getCaretText();
+ }
+
+ // add collection name when not private collection (or editing a message that's not your)
+ var fullName;
+ if (isNaN(collection) || (nucleusAuthorId != collection)) {
+ fullName = collection + '/' + filename;
+ } else {
+ fullName = filename;
+ }
+
+ var replaceBy = '<%media(' + fullName + '|' + text +')%>';
+
+ insertAtCaret(replaceBy);
+ updAllPreviews();
+}
+
+
+
+// function to prevent submitting form data twice
+var submitcount=0;
+function checkSubmit() {
+ if (submitcount == 0) {
+ submitcount++;
+ return true;
+ } else {
+ return false;
+ }
+}
+
+
+// code to store the caret (cursor) position of a text field/text area
+// taken from javascript.faqts and modified
+// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
+
+// stores the caret
+function storeCaret (textEl) {
+
+ // store caret
+ if (textEl.createTextRange)
+ textEl.caretPos = document.selection.createRange().duplicate();
+
+ // also store lastselectedelement
+ lastSelected = textEl;
+
+ nonie_FormType = textEl.name;
+
+ scrollTop = textEl.scrollTop;
+}
+
+var lastSelected;
+
+ // inserts text at caret (overwriting selection)
+function insertAtCaret (text) {
+ var textEl = lastSelected;
+ if (textEl && textEl.createTextRange && textEl.caretPos) {
+ var caretPos = textEl.caretPos;
+ caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
+ } else if (!document.all && document.getElementById) {
+ mozReplace(document.getElementById('input' + nonie_FormType), text);
+ if(scrollTop>-1) {
+ document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
+ }
+ } else if (textEl) {
+ textEl.value += text;
+ } else {
+ document.getElementById('input' + nonie_FormType).value += text;
+ if(scrollTop>-1) {
+ document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
+ }
+ }
+ updAllPreviews();
+}
+
+ // inserts a tag around the selected text
+function insertAroundCaret (textpre, textpost) {
+ var textEl = lastSelected;
+
+ if (textEl && textEl.createTextRange && textEl.caretPos) {
+ var caretPos = textEl.caretPos;
+ caretPos.text = textpre + caretPos.text + textpost;
+ } else if (!document.all && document.getElementById) {
+ mozWrap(document.getElementById('input' + nonie_FormType), textpre, textpost);
+ if(scrollTop>-1) {
+ document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
+ }
+ } else {
+ document.getElementById('input' + nonie_FormType).value += textpre + textpost;
+ if(scrollTop>-1) {
+ document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
+ }
+ }
+
+ updAllPreviews();
+}
+
+/* some methods to get things working in Mozilla as well */
+function mozWrap(txtarea, lft, rgt) {
+ var selLength = txtarea.textLength;
+ var selStart = txtarea.selectionStart;
+ var selEnd = txtarea.selectionEnd;
+ if (selEnd==1 || selEnd==2) selEnd=selLength;
+ var s1 = (txtarea.value).substring(0,selStart);
+ var s2 = (txtarea.value).substring(selStart, selEnd)
+ var s3 = (txtarea.value).substring(selEnd, selLength);
+ txtarea.value = s1 + lft + s2 + rgt + s3;
+}
+function mozReplace(txtarea, newText) {
+ var selLength = txtarea.textLength;
+ var selStart = txtarea.selectionStart;
+ var selEnd = txtarea.selectionEnd;
+ if (selEnd==1 || selEnd==2) selEnd=selLength;
+ var s1 = (txtarea.value).substring(0,selStart);
+ var s2 = (txtarea.value).substring(selStart, selEnd)
+ var s3 = (txtarea.value).substring(selEnd, selLength);
+ txtarea.value = s1 + newText + s3;
+}
+function mozSelectedText() {
+ var txtarea = document.getElementById('input' + nonie_FormType);
+ var selLength = txtarea.textLength;
+ var selStart = txtarea.selectionStart;
+ var selEnd = txtarea.selectionEnd;
+ if (selEnd==1 || selEnd==2) selEnd=selLength;
+ return (txtarea.value).substring(selStart, selEnd);
+}
+
+function getCaretText() {
+ if (!document.all && document.getElementById)
+ return mozSelectedText();
+ else
+ return lastSelected.caretPos.text;
+}
+
+function isCaretEmpty() {
+ if (lastSelected && lastSelected.createTextRange && lastSelected.caretPos)
+ return (lastSelected.caretPos.text == '');
+ else if (!document.all && document.getElementById)
+ return (mozSelectedText() == '');
+ else
+ return true;
+}
+
+function BtnHighlight(el) {
+ with(el.style){
+ borderLeft="1px solid #e9e9e9";
+ borderRight="1px solid gray";
+ borderTop="1px solid #e9e9e9";
+ borderBottom="1px solid gray";
+ }
+}
+
+function BtnNormal(el) {
+ with(el.style){
+ padding="3px";
+ border="1px solid #dddddd";
+ }
+}
+
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Nothing Here</title>
+</head>
+<body>
+
+<h1>Nothing to see here</h1>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * script the check (on the clientside) if a entered value
+ * is a valid number and remove the invalid chars
+ *
+ * $Id: numbercheck.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+function checkNumeric(f)
+{
+ newval='';
+ dot = false;
+ for (i = 0; i < f.value.length; i++) {
+ c = f.value.substring(i,i+1);
+ if (isInteger(c) || ((c == '.')&&(dot == false)) || ((i == 0)&&(c == '-'))) {
+ newval += c;
+ if (c == '.') {
+ dot = true;
+ }
+ }
+ }
+ f.value = newval;
+}
+
+function isInteger(value)
+{
+ return (parseInt(value) == value);
+}
--- /dev/null
+/*
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * $Id: opennew.js 1388 2009-07-18 06:31:28Z shizuki $
+ *
+ * JavaScript to open non-local links in a new window.
+ *
+ * How to use:
+ * in the <head>...</head> section of your page, add the following line:
+ *
+ * <script type="text/javascript" src="nucleus/javascript/opennew.js"></script>
+ *
+ * Then, add the following to your <body> tag:
+ *
+ * <body ... onload="setOpenNewWindow(true);">
+ *
+ * And you're all done.
+ *
+ * Variables that can be overridden if necessary:
+ * local = something to recognize local URLs (by default, if your page is something like
+ * http://www.example.com/path/page.html, then local will be automatically set to
+ * http://www.example.com/path/)
+ * exception = something to recognize exceptions to the local check. You might need this
+ * when you use a 'click-through' type of script (e.g. when
+ * http://www.example.com/path/click.php?http://otherpage.com/ would
+ * auto-redirect to otherpage.com and record a click in your logs)
+ * In most of the cases, this variable is unneeded and can be left empty
+ * destinationFrame = name of the destination frame (by default this is "_blank" to spawn a
+ * new window for each link clicked)
+ */
+
+
+var local = document.URL.substring(0,document.URL.lastIndexOf('/'));
+var exception = "";
+var destinationFrame = "_blank";
+
+function setOpenNewWindow(newWin) {
+ if (newWin) {
+ from = ""; to = destinationFrame;
+ } else {
+ from = destinationFrame; to = "";
+ }
+
+ for (var i=0; i<=(document.links.length-1); i++) {
+ if (document.links[i].target == from) {
+
+ var href = document.links[i].href;
+ var isLocal = (href.indexOf(local) != -1);
+ if (isLocal && ((exception=="") || (href.indexOf(exception) != -1)))
+ isLocal = false;
+ if (!isLocal)
+ document.links[i].target = to;
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ * Javascript code to hide empty textareas when editing templates.
+ *
+ * @require compatibility.js
+ *
+ * $Id: templateEdit.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+var amountOfFields = 1;
+var editText = 'empty field (click to edit)';
+
+function hideUnused() {
+ while (document.getElementById('textarea' + amountOfFields))
+ amountOfFields++;
+ amountOfFields--;
+
+ for (var i=1;i<=amountOfFields;i++) {
+ var el = document.getElementById('textarea' + i);
+
+ // hide textareas when empty, and add onclick event
+ // to make them visible again
+ if (el.value == '') {
+ el.style.display = 'none';
+ var tdEl = document.getElementById('td' + i);
+
+ var aHref = createElement('a');
+ aHref.href = '';
+ aHref.className = "expandLink";
+ aHref.id = "expandLink" + i;
+ aHref.onclick = new Function("return makeVisible("+i+")");
+ aHref.tabIndex = el.tabIndex;
+ aHref.title = editText;
+ aHref.appendChild(document.createTextNode(editText));
+
+ tdEl.appendChild(aHref);
+
+ }
+ }
+
+}
+
+function setTemplateEditText(newText) {
+ editText = newText;
+}
+
+function makeVisible(i) {
+ var textareaEl = document.getElementById('textarea' + i);
+ var expandEl = document.getElementById('expandLink' + i);
+
+ textareaEl.style.display = 'block';
+ expandEl.style.display = 'none';
+
+ textareaEl.focus();
+ return false;
+}
+
+window.onload = hideUnused;
\ No newline at end of file
--- /dev/null
+/**
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+ * Copyright (C) 2002-2012 The Nucleus Group
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * (see nucleus/documentation/index.html#license for more info)
+ *
+ *
+ * This page contains xmlHTTPRequest functions for:
+ * - AutoSaveDraft
+ *
+ *
+ * Usage:
+ * - Add in the page before the form open tag:
+ * <script type="text/javascript" src="javascript/xmlhttprequest.js"></script>
+ * - Add in the page behind the form close tag:
+ * var xmlhttprequest = new Array();
+ * xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
+ * xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
+ * var seconds = now(); // Last AutoDraft time
+ * var checks = 0; // Number of checks since last AutoDraft
+ * var addform = document.getElementById('addform'); // The form id
+ * var goal = document.getElementById('lastsaved'); // The html div id where 'Last saved: date time' must come
+ * var goalurl = 'action.php'; // The PHP file where the content must be posted to (action.php)
+ * var lastsavedtext = 'Last saved'; // The language variable for 'Last saved'
+ * var formtype = 'add'; // Add or edit form
+ * - Add to the form tag:
+ * id="addform"
+ * - Add to the textarea's and text fields:
+ * onkeyup="doMonitor();"
+ * - Add tot the selectboxes and radio buttons
+ * onchange="doMonitor();"
+ * - Add to the form:
+ * <input type="hidden" name="draftid" value="0" />
+ * - Optionally a autosave now button can be add:
+ * <input type="button" name="autosavenow" value="AutoSave now" onclick="autoSaveDraft();" />
+ *
+ *
+ * $Id: xmlhttprequest.js 1388 2009-07-18 06:31:28Z shizuki $
+ */
+
+/**
+ * Creates the xmlHTTPRequest handler
+ */
+function createHTTPHandler() {
+ var httphandler = false;
+ /*@cc_on @*/
+ /*@if (@_jscript_version >= 5)
+ // JScript gives us Conditional compilation, we can cope with old IE versions.
+ // and security blocked creation of the objects.
+ try {
+ httphandler = new ActiveXObject("Msxml2.XMLHTTP");
+ }
+ catch (e) {
+ try {
+ httphandler = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ catch (E) {
+ httphandler = false;
+ }
+ }
+ @end @*/
+ if (!httphandler && typeof XMLHttpRequest != 'undefined') {
+ httphandler = new XMLHttpRequest();
+ }
+ return httphandler;
+}
+
+/**
+ * Auto saves as draft
+ */
+function autoSaveDraft() {
+ checks = 0;
+ seconds = now();
+
+ var title = encodeURIComponen(addform.title.value);
+ var body = encodeURIComponen(addform.body.value);
+ var catid = addform.catid.options[addform.catid.selectedIndex].value;
+ var more = encodeURIComponen(addform.more.value);
+ var closed = 0;
+ if (addform.closed[0].checked) {
+ closed = addform.closed[0].value;
+ }
+ else if (addform.closed[1].checked) {
+ closed = addform.closed[1].value;
+ }
+ var ticket = addform.ticket.value;
+
+ var querystring = 'action=autodraft';
+ querystring += '&title=' + title;
+ querystring += '&body=' + body;
+ querystring += '&catid=' + catid;
+ querystring += '&more=' + more;
+ querystring += '&closed=' + closed;
+ querystring += '&ticket=' + ticket;
+ if (formtype == 'edit') {
+ querystring += '&itemid=' + addform.itemid.value;
+ querystring += '&type=edit';
+ }
+ else {
+ querystring += '&blogid=' + addform.blogid.value;
+ querystring += '&type=add';
+ }
+ if (addform.draftid.value > 0) {
+ querystring += '&draftid=' + addform.draftid.value;
+ }
+
+ xmlhttprequest[0].open('POST', goalurl, true);
+ xmlhttprequest[0].onreadystatechange = checkMonitor;
+ xmlhttprequest[0].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttprequest[0].send(querystring);
+
+ var querystring = 'action=updateticket&ticket=' + ticket;
+
+ xmlhttprequest[1].open('POST', goalurl, true);
+ xmlhttprequest[1].onreadystatechange = updateTicket;
+ xmlhttprequest[1].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttprequest[1].send(querystring);
+}
+
+/**
+ * Monitors the edits
+ */
+function doMonitor() {
+ if (checks * (now() - seconds) > 120 * 1000 * 50) {
+ autoSaveDraft();
+ }
+ else {
+ checks++;
+ }
+}
+
+/**
+ * Checks the process of the saving
+ */
+function checkMonitor() {
+ if (xmlhttprequest[0].readyState == 4) {
+ if (xmlhttprequest[0].responseText) {
+ if (xmlhttprequest[0].responseText.substr(0, 4) == 'err:') {
+ goal.innerHTML = xmlhttprequest[0].responseText.substr(4) + ' (' + formattedDate() + ')';
+ }
+ else {
+ addform.draftid.value = xmlhttprequest[0].responseText;
+ goal.innerHTML = lastsavedtext + ' ' + formattedDate();
+ }
+ }
+ }
+}
+
+/**
+ * Checks the process of the ticket updating
+ */
+function updateTicket() {
+ if (xmlhttprequest[1].readyState == 4) {
+ if (xmlhttprequest[1].responseText) {
+ if (xmlhttprequest[1].responseText.substr(0, 4) == 'err:') {
+ goal.innerHTML = xmlhttprequest[1].responseText.substr(4) + ' (' + formattedDate() + ')';
+ }
+ else {
+ addform.ticket.value = xmlhttprequest[1].responseText;
+ }
+ }
+ }
+}
+
+/**
+ * Gets now in milliseconds
+ */
+function now() {
+ var now = new Date();
+ return now.getTime();
+}
+
+/**
+ * Gets now in the local dateformat
+ */
+function formattedDate() {
+ var now = new Date();
+ return now.toLocaleDateString() + ' ' + now.toLocaleTimeString();
+}
\ No newline at end of file
-<?xml version="1.0"?>\r
-<nucleusskin>\r
- <meta>\r
- <skin name="admin/default"/>\r
- <template name="admin/default"/>\r
- <info><![CDATA[20120414]]></info>\r
- </meta>\r
- <skin name="admin/default" type="text/html" includeMode="skin" includePrefix="admin/defaultadmin">\r
- <description><![CDATA[ADMIN Area Default skin]]></description>\r
- <part name="actionlog"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_ACTIONLOG_CLEAR_TITLE)%></h2>\r
- <p><a href="<%adminurl%><%addtickettourl(index.php?action=clearactionlog)%>"><%text(_ACTIONLOG_CLEAR_TEXT)%></a></p>\r
- <h2><%text(_ACTIONLOG_TITLE)%></h2>\r
- <%actionloglist%>]]></part>\r
- <part name="activate"><![CDATA[<h2><%activationmessage(title)%></h2>\r
- <p><%activationmessage(text)%></p>\r
- <p class="error"><%headmessage%></p>\r
- <%if(bechangepass)%><div>\r
- <form action="<%adminurl%>index.php" method="post">\r
- <input type="hidden" name="action" value="activatesetpwd" />\r
- <%ticket%>\r
- <input type="hidden" name="key" value="<%activationmessage(ackey)%>" />\r
- <table>\r
- <tr>\r
- <td><%text(_MEMBERS_PWD)%></td>\r
- <td><input type="password" maxlength="40" size="16" name="password" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_REPPWD)%></td>\r
- <td><input type="password" maxlength="40" size="16" name="repeatpassword" /></td>\r
- <%eventformextra(activation)%>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_SETPWD)%></td>\r
- <td><input type="submit" value="<%text(_MEMBERS_SETPWD_BTN)%>" /></td>\r
- </tr>\r
- </table>\r
- </form>\r
- </div><%endif%>]]></part>\r
- <part name="activatesetpwd"><![CDATA[<h2><%text(_ACTIVATE_SUCCESS_TITLE)%></h2>\r
-<p><%text(_ACTIVATE_SUCCESS_TEXT)%></p>]]></part>\r
- <part name="addnewlog"><![CDATA[<h2><%text(_BLOGCREATED_TITLE)%></h2>\r
- <p><%sprinttext(_BLOGCREATED_ADDEDTXT,<|%createdblogsetting(name)%|>)%></p>\r
- <ol>\r
- <li><a href="#index_php"><%sprinttext(_BLOGCREATED_SIMPLEWAY,<|%getblogsetting(short)%|>)%></a></li>\r
- <li><a href="#skins"><%text(_BLOGCREATED_ADVANCEDWAY)%></a></li>\r
- </ol>\r
- <h3><a id="index_php"><%sprinttext(_BLOGCREATED_SIMPLEDESC1,<|%getblogsetting(short)%|>)%></a></h3>\r
- <p><%sprinttext(_BLOGCREATED_SIMPLEDESC2,<|%getblogsetting(short)%|>)%></p>\r
-<pre><code><?php\r
-\r
-$CONF['Self'] = '<b><%blogsetting(short)%>.php</b>';\r
-\r
-include('<i>./config.php</i>');\r
-\r
-selectBlog('<b><%blogsetting(short)%></b>');\r
-selector();\r
-\r
-?></code></pre>\r
- <p><%text(_BLOGCREATED_SIMPLEDESC3)%></p>\r
- <p><%text(_BLOGCREATED_SIMPLEDESC4)%></p>\r
- <form action="<%adminurl%>index.php" method="post">\r
- <div>\r
- <input type="hidden" name="action" value="addnewlog2" />\r
- <%ticket%>\r
- <input type="hidden" name="blogid" value="<%requestblogid%>" />\r
- <table>\r
- <tr>\r
- <td><%text(_EBLOG_URL)%></td>\r
- <td><input name="url" maxlength="100" size="40" value="<%sitevar(url)%><%blogsetting(short)%>.php" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CREATE)%></td>\r
- <td><input type="submit" value="<%text(_EBLOG_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>\r
- <h3><a id="skins"><%text(_BLOGCREATED_ADVANCEDWAY2)%></a></h3>\r
- <p><%text(_BLOGCREATED_ADVANCEDWAY3)%></p>\r
- <form action="<%adminurl%>index.php" method="post">\r
- <div>\r
- <input type="hidden" name="action" value="addnewlog2" />\r
- <%ticket%>\r
- <input type="hidden" name="blogid" value="<%requestblogid%>" />\r
- <table>\r
- <tr>\r
- <td><%text(_EBLOG_URL)%></td>\r
- <td><input name="url" maxlength="100" size="40" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CREATE)%></td>\r
- <td><input type="submit" value="<%text(_EBLOG_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="adminerrorpage"><![CDATA[ <h2>Error!</h2>\r
- <%headmessage%>\r
- <br />\r
- <a href="<%adminurl%>index.php" onclick="history.back()"><%text(_BACK)%></a>\r
-]]></part>\r
- <part name="adminskindelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_SKIN)%><b><%editadminskintype(name)%></b> (<%editadminskintype(desc)%>)</p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="adminskindeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="skinid" value="<%editadminskintype(id)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
- </form>]]></part>\r
- <part name="adminskinedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=adminskinoverview">(<%text(_SKIN_BACK)%>)</a></p>\r
- <h2><%text(_SKIN_EDITONE_TITLE)%> '<%editadminskin(name)%>'</h2>\r
- <h3><%text(_SKIN_PARTS_TITLE)%></h3>\r
- <%text(_SKIN_PARTS_MSG)%>\r
-<%defaultadminskintypes(10,defaultadmin)%>\r
- <h3><%text(_SKIN_PARTS_SPECIAL)%></h3>\r
- <form method="get" action="<%adminurl%>index.php">\r
- <input type="hidden" name="action" value="adminskinedittype" />\r
- <input type="hidden" name="skinid" value="<%editadminskin(id)%>" />\r
- <input name="type" tabindex="89" size="30" maxlength="64" />\r
- <input type="submit" tabindex="140" value="<%text(_SKIN_CREATE)%>" onclick="return checkSubmit();" />\r
- </form>\r
- <%adminspecialskinlist(defaultadmin)%>\r
- <h3><%text(_SKIN_GENSETTINGS_TITLE)%></h3>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="adminskineditgeneral" />\r
- <%ticket%>\r
- <input type="hidden" name="skinid" value="<%editadminskin(id)%>" />\r
- <table>\r
- <tr>\r
- <td><%text(_SKIN_NAME)%> <%helplink(shortnames)%></td>\r
- <td><input name="name" tabindex="90" value="<%editadminskin(name)%>" maxlength="64" size="30" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_DESC)%></td>\r
- <td><input name="desc" tabindex="100" value="<%editadminskin(desc)%>" maxlength="200" size="50" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_TYPE)%></td>\r
- <td><input name="type" tabindex="110" value="<%editadminskin(type)%>" maxlength="40" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_INCLUDE_MODE)%> <%helplink(includemode)%></td>\r
- <td><%editadminskin(mode)%></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_INCLUDE_PREFIX)%> <%helplink(includeprefix)%></td>\r
- <td><input name="inc_prefix" tabindex="130" value="<%editadminskin(prefix)%>" maxlength="40" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_CHANGE)%></td>\r
- <td><input type="submit" tabindex="140" value="<%text(_SKIN_CHANGE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr></table>\r
- </div>\r
- </form>]]></part>\r
- <part name="adminskinedittype"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=adminskinoverview"><%text(_SKIN_GOBACK)%></a>)</p>\r
- <h2><%text(_SKIN_EDITPART_TITLE)%> '<%editadminskintype(name)%>': <%editadminskintype(skintype)%></h2>\r
- <%headmessage%>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="adminskinupdate" />\r
- <%ticket%>\r
- <input type="hidden" name="skinid" value="<%editadminskintype(id)%>" />\r
- <input type="hidden" name="type" value="<%editadminskintype(skintyperaw)%>" />\r
- <input type="submit" value="<%text(_SKIN_UPDATE_BTN)%>" onclick="return checkSubmit();" />\r
- <input type="reset" value="<%text(_SKIN_RESET_BTN)%>" />\r
- (skin type: <%editadminskintype(skintype)%>)<%skintypehelp%><br />\r
- <textarea class="skinedit" tabindex="10" rows="20" cols="80" name="content"><%editadminskintype(content)%></textarea><br />\r
- <input type="submit" tabindex="20" value="<%text(_SKIN_UPDATE_BTN)%>" onclick="return checkSubmit();" />\r
- <input type="reset" value="<%text(_SKIN_RESET_BTN)%>" />\r
- (skin type: <%editadminskintype(skintype)%>)\r
- <br /><br />\r
- <%text(_SKIN_ALLOWEDVARS)%>\r
- <%allowedadminskinactions%><br /><br />\r
- <%text(_SKINEDIT_ALLOWEDTEMPLATESS)%>\r
- <%adminskineditallowedlist(template)%><br />\r
- </div>\r
- </form>]]></part>\r
- <part name="adminskiniedoimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_SKINIE_DONE)%></h2>\r
-\r
- <ul>\r
- <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>\r
- <li><p><strong><%text(_SKINIE_INFO_IMPORTEDSKINS)%></strong> <%importskininfo(snames)%></p></li>\r
- <li><p><strong><%text(_SKINIE_INFO_IMPORTEDTEMPLS)%></strong> <%importskininfo(tnames)%></p></li>\r
- </ul>]]></part>\r
- <part name="adminskinieimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=adminskinieoverview">(<%text(_BACK)%>)</a></p>\r
- <h2><%text(_SKINIE_CONFIRM_TITLE)%></h2>\r
-\r
- <ul>\r
- <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>\r
- <li><p><strong><%text(_SKINIE_INFO_SKINS)%></strong> <%importskininfo(snames)%></p></li>\r
- <li><p><strong><%text(_SKINIE_INFO_TEMPLATES)%></strong> <%importskininfo(tnames)%></p></li>\r
- <%if(nameclashes)%><li><p><strong style="color: red;"><%text(_SKINIE_INFO_SKINCLASH)%></strong> <%importskininfo(sclashes)%></p></li>\r
- <li><p><strong style="color: red;"><%text(_SKINIE_INFO_TEMPLCLASH)%></strong> <%importskininfo(tclashes)%></p></li><%endif%>\r
- </ul>\r
-\r
- <form method="post" action="<%adminurl%>index.php"><div>\r
- <input type="hidden" name="action" value="adminskiniedoimport" />\r
- <%ticket%>\r
- <input type="hidden" name="skinfile" value="<%importskininfo(skinfile)%>" />\r
- <input type="hidden" name="mode" value="<%importskininfo(mode)%>" />\r
- <input type="submit" value="<%text(_SKINIE_CONFIRM_IMPORT)%>" />\r
- <%if(nameclashes)%><br />\r
- <input type="checkbox" name="overwrite" value="1" id="cb_overwrite" /><label for="cb_overwrite"><%text(_SKINIE_CONFIRM_OVERWRITE)%></label><%endif%>\r
- </div></form>]]></part>\r
- <part name="adminskinieoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_SKINIE_TITLE_IMPORT)%></h2>\r
- <p>\r
- <label for="skinie_import_local"><%text(_SKINIE_LOCAL)%></label>\r
- <%if(superadmin)%><form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="adminskinieimport" />\r
- <%ticket%>\r
- <input type="hidden" name="mode" value="file" />\r
- <select name="skinfile" id="skinie_import_local">\r
- <%selectlocaladminskinfiles%>\r
- </select>\r
- <input type="submit" value="<%text(_SKINIE_BTN_IMPORT)%>" />\r
- </div>\r
- </form><%else%><%text(_SKINIE_NOCANDIDATES)%><%endif%>\r
- </p>\r
- <p><em><%text(_OR)%></em></p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <p>\r
- <%ticket%>\r
- <input type="hidden" name="action" value="adminskinieimport" />\r
- <input type="hidden" name="mode" value="url" />\r
- <label for="skinie_import_url"><%text(_SKINIE_FROMURL)%></label>\r
- <input type="text" name="skinfile" id="skinie_import_url" size="60" value="http://" />\r
- <input type="submit" value="<%text(_SKINIE_BTN_IMPORT)%>" />\r
- </p>\r
- </form>\r
- <h2><%text(_SKINIE_TITLE_EXPORT)%></h2>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="adminskinieexport" />\r
- <%ticket%>\r
- <p><%text(_SKINIE_EXPORT_INTRO)%></p>\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_SKINIE_EXPORT_SKINS)%></th>\r
- </tr><tr>\r
- <%adminskinielist(skin,defaultadmin)%>\r
- <th colspan="2"><%text(_SKINIE_EXPORT_TEMPLATES)%></th>\r
- </tr><tr>\r
- <%adminskinielist(template,defaultadmin)%>\r
- <th colspan="2"><%text(_SKINIE_EXPORT_EXTRA)%></th>\r
- </tr><tr>\r
- <td colspan="2"><textarea cols="40" rows="5" name="info"></textarea></td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SKINIE_TITLE_EXPORT)%></th>\r
- </tr><tr>\r
- <td colspan="2"><input type="submit" value="<%text(_SKINIE_BTN_EXPORT)%>" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="adminskinoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_SKIN_EDIT_TITLE)%></h2>\r
- <h3><%text(_SKIN_AVAILABLE_TITLE)%></h3>\r
- <%adminskinoverview%>\r
- <h3><%text(_SKIN_NEW_TITLE)%></h3>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input name="action" value="adminskinnew" type="hidden" />\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <td><%text(_SKIN_NAME)%> <%helplink(shortnames)%></td>\r
- <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_DESC)%></td>\r
- <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_CREATE)%></td>\r
- <td><input type="submit" tabindex="10030" value="<%text(_SKIN_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="adminskinremovetype"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_SKIN_PARTS_SPECIAL)%><b><%editadminskintype(skintype)%> (<%editadminskintype(name)%>)</b> (<%editadminskintype(desc)%>)</p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="adminskinremovetypeconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="skinid" value="<%editadminskintype(id)%>" />\r
- <input type="hidden" name="type" value="<%editadminskintype(skintype)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
- </form>]]></part>\r
- <part name="admintemplatedelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_TEMPLATE)%><b><%editadmintemplateinfo(name)%></b> (<%editadmintemplateinfo(desc)%>)</p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="admintemplatedeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="templateid" value="<%editadmintemplateinfo(id)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
- </form>]]></part>\r
- <part name="admintemplateedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=admintemplateoverview">(<%text(_TEMPLATE_BACK)%>)</a></p>\r
-\r
- <h2><%text(_TEMPLATE_EDIT_TITLE)%> '<%editadmintemplateinfo(name)%>'</h2>\r
- <%headmessage%>\r
- <p><%text(_TEMPLATE_EDIT_MSG)%></p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="admintemplateupdate" />\r
- <%ticket%>\r
- <input type="hidden" name="templateid" value="<%editadmintemplateinfo(id)%>" />\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_TEMPLATE_SETTINGS)%></th>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_NAME)%> <%helplink(shortnames)%></td>\r
- <td><input name="tname" tabindex="4" size="20" maxlength="20" value="<%editadmintemplateinfo(name)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_DESC)%></td>\r
- <td><input name="tdesc" tabindex="5" size="50" maxlength="200" value="<%editadmintemplateinfo(desc)%>" /></td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_UPDATE)%></th>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_UPDATE)%></td>\r
- <td>\r
- <input type="submit" tabindex="6" value="<%text(_TEMPLATE_UPDATE_BTN)%>" onclick="return checkSubmit();" />\r
- <input type="reset" tabindex="7" value="<%text(_TEMPLATE_RESET_BTN)%>" />\r
- </td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_QMENU_LAYOUT_SKINS)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMINSKINTYPELIST_HEAD, ADMINSKINTYPELIST_HEAD, ,8)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMINSKINTYPELIST_BODY, ADMINSKINTYPELIST_BODY, ,9)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMINSKINTYPELIST_FOOT, ADMINSKINTYPELIST_FOOT, ,10)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SPECIALSKINLIST_HEAD, SPECIALSKINLIST_HEAD, , 11)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SPECIALSKINLIST_BODY, SPECIALSKINLIST_BODY, , 12)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SPECIALSKINLIST_FOOT, SPECIALSKINLIST_FOOT, , 13)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_SPECIALSKINLIST_HEAD, ADMIN_SPECIALSKINLIST_HEAD, , 14)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_SPECIALSKINLIST_BODY, ADMIN_SPECIALSKINLIST_BODY, , 15)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_SPECIALSKINLIST_FOOT, ADMIN_SPECIALSKINLIST_FOOT, , 16)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SKINIE_EXPORT_LIST, SKINIE_EXPORT_LIST, , 17)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_QMENU_LAYOUT_TEMPL)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_TEMPLATE_EDIT_EXPLUGNAME, TEMPLATE_EDIT_EXPLUGNAME, , 18)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_TEMPLATE_EDIT_ROW_HEAD, TEMPLATE_EDIT_ROW_HEAD, , 19)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_TEMPLATE_EDIT_ROW_TAIL, TEMPLATE_EDIT_ROW_TAIL, , 20)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SKINABLEADMIN_ADMINAREAHEADLINK)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_BLOGLINK, ADMIN_BLOGLINK, , 21)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SKINABLEADMIN_BATCH)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_BATCHLIST, ADMIN_BATCHLIST, , 22)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_QMENU_ACTIVATE)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_FORGOT_TITLE, ACTIVATE_FORGOT_TITLE, , 23)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_FORGOT_TEXT, ACTIVATE_FORGOT_TEXT, , 24)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_REGISTER_TITLE, ACTIVATE_REGISTER_TITLE, , 25)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_REGISTER_TEXT, ACTIVATE_REGISTER_TEXT, , 26)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_CHANGE_TITLE, ACTIVATE_CHANGE_TITLE, , 27)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_CHANGE_TEXT, ACTIVATE_CHANGE_TEXT, , 28)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_QMENU_MANAGE_SYSTEM)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SYSTEMINFO_GDSETTINGS, SYSTEMINFO_GDSETTINGS, , 29)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_BLOGLIST_BANS)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_BANLIST_DELETED_LIST, BANLIST_DELETED_LIST, , 30)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SKINABLEADMIN_TPLSETTING_INGENERAL)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_INSERT_PLUGOPTION_TITLE, INSERT_PLUGOPTION_TITLE, , 31)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_INSERT_PLUGOPTION_BODY, INSERT_PLUGOPTION_BODY, , 32)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_INPUTYESNO_TEMPLATE_ADMIN, INPUTYESNO_TEMPLATE_ADMIN, , 33)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_INPUTYESNO_TEMPLATE_NORMAL, INPUTYESNO_TEMPLATE_NORMAL, , 34)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_CUSTOMHELPLINK_ICON, ADMIN_CUSTOMHELPLINK_ICON, , 35)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_CUSTOMHELPLINK_ANCHOR, ADMIN_CUSTOMHELPLINK_ANCHOR, , 36)%>\r
-\r
- </tr><tr>\r
- <th colspan="2"><%text(_SKINABLEADMIN_SHOWLIST_LISTPLUG_SELECT)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_SELECT_HEAD, SHOWLIST_LISTPLUG_SELECT_HEAD, , 37)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_SELECT_BODY, SHOWLIST_LISTPLUG_SELECT_BODY, , 38)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_SELECT_FOOT, SHOWLIST_LISTPLUG_SELECT_FOOT, , 39)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SKINABLEADMIN_SHOWLIST_LISTPLUG_TABLE)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_HEAD, SHOWLIST_LISTPLUG_TABLE_HEAD, , 40)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BODY, SHOWLIST_LISTPLUG_TABLE_BODY, , 41)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_FOOT, SHOWLIST_LISTPLUG_TABLE_FOOT, , 42)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD, , 43)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY, SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY, , 44)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_MEMBLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_MEMBLIST_FOOT, , 45)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD, , 46)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY, SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY, , 47)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TEAMLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_TEAMLIST_FOOT, , 48)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD, , 49)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY, , 50)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL, , 51)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST, SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST, , 52)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE, SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE, , 53)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND, SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND, , 54)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ, SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ, , 55)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE, SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE, , 56)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN, , 57)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN, , 58)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP, , 59)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL, SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL, , 60)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_FOOT, , 61)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD, , 62)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY, SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY, , 63)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO, , 64)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD, , 65)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP, , 66)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO, , 67)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC, , 68)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA, , 69)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT, , 70)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT, SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT, , 71)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT, , 72)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD, , 73)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY, SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY, , 74)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ITEMLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_ITEMLIST_FOOT, , 75)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD, , 76)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY, SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY, , 77)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN, SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN, , 78)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CMNTLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_CMNTLIST_FOOT, , 79)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD, , 80)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY, SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY, , 81)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM, SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM, , 82)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLIST_BD_SADM, SHOWLIST_LISTPLUG_TABLE_BLIST_BD_SADM, , 83)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_BLOGLIST_FOOT, , 84)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD, SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD, , 85)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY, SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY, , 86)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_FOOT, SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_FOOT, , 87)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD, SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD, , 88)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY, SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY, , 89)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SHORTNAM_FOOT, SHOWLIST_LISTPLUG_TABLE_SHORTNAM_FOOT, , 90)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD, SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD, , 91)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY, SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY, , 92)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CATELIST_FOOT, SHOWLIST_LISTPLUG_TABLE_CATELIST_FOOT, , 93)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD, , 94)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY, SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY, , 95)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TPLTLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_TPLTLIST_FOOT, , 96)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD, , 97)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY, SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY, , 98)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SKINLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_SKINLIST_FOOT, , 99)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD, , 100)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY, SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY, , 101)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_DRFTLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_DRFTLIST_FOOT, , 102)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD, , 103)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY, SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY, , 104)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ACTNLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_ACTNLIST_FOOT, , 105)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD, , 106)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY, SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY, , 107)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_IBANLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_IBANLIST_FOOT, , 108)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SKINABLEADMIN_PLUGIN_QUICKMENU)%></th>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_PLUGIN_QUICKMENU_TITLE, PLUGIN_QUICKMENU_TITLE, , 109)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_PLUGIN_QUICKMENU_HEAD, PLUGIN_QUICKMENU_HEAD, , 110)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_PLUGIN_QUICKMENU_BODY, PLUGIN_QUICKMENU_BODY, , 111)%>\r
- <%editadmintemplateinfo(row, _ADM_TPLPT_PLUGIN_QUICKMENU_FOOT, PLUGIN_QUICKMENU_FOOT, , 112)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_PLUGIN_FIELDS)%></th>\r
- <%editadmintemplateinfo(extratemplate,defaultadmin)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_UPDATE)%></th>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_UPDATE)%></td>\r
- <td>\r
- <input type="submit" tabindex="800" value="<%text(_TEMPLATE_UPDATE_BTN)%>" onclick="return checkSubmit();" />\r
- <input type="reset" tabindex="810" value="<%text(_TEMPLATE_RESET_BTN)%>" />\r
- </td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="admntemplateoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_TEMPLATE_TITLE)%></h2>\r
- <h3><%text(_TEMPLATE_AVAILABLE_TITLE)%></h3>\r
- <%admintemplateoverview%>\r
- <h3><%text(_TEMPLATE_NEW_TITLE)%></h3>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input name="action" value="admintemplatenew" type="hidden" />\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <td><%text(_TEMPLATE_NAME)%> <%helplink(shortnames)%></td>\r
- <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_DESC)%></td>\r
- <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_CREATE)%></td>\r
- <td><input type="submit" tabindex="10030" value="<%text(_TEMPLATE_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="backupoverview"><![CDATA[ <p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_BACKUPS_TITLE)%></h2>\r
- <h3><%text(_BACKUP_TITLE)%></h3>\r
- <p><%text(_BACKUP_INTRO)%></p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <p>\r
- <input type="hidden" name="action" value="backupcreate" />\r
- <%ticket%>\r
- <input type="radio" name="gzip" value="1" checked="checked" id="gzip_yes" tabindex="10" /><label for="gzip_yes"><%text(_BACKUP_ZIP_YES)%></label><br />\r
- <input type="radio" name="gzip" value="0" id="gzip_no" tabindex="10" /><label for="gzip_no" ><%text(_BACKUP_ZIP_NO)%></label><br /><br />\r
- <input type="submit" value="<%text(_BACKUP_BTN)%>" tabindex="20" />\r
- </p>\r
- </form>\r
- <div class="note"><%text(_BACKUP_NOTE)%></div>\r
- <h3><%text(_RESTORE_TITLE)%></h3>\r
- <div class="note"><%text(_RESTORE_NOTE)%></div>\r
- <p><%text(_RESTORE_INTRO)%></p>\r
- <form method="post" action="<%adminurl%>index.php" enctype="multipart/form-data">\r
- <p>\r
- <input type="hidden" name="action" value="backuprestore" />\r
- <%ticket%>\r
- <input name="backup_file" type="file" tabindex="30" />\r
- <br /><br />\r
- <input type="submit" value="<%text(_RESTORE_BTN)%>" tabindex="40" /><br />\r
- <input type="checkbox" name="letsgo" value="1" id="letsgo" tabindex="50" /><label for="letsgo"><%text(_RESTORE_IMSURE)%></label><br />\r
- <%text(_RESTORE_WARNING)%>\r
- </p>\r
- </form>\r
-]]></part>\r
- <part name="backuprestore"><![CDATA[ <h2><%text(_RESTORE_COMPLETE)%></h2>\r
-]]></part>\r
- <part name="banlist"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>\r
- <h2><%text(_BAN_TITLE)%> '<%adminbloglink(defaultadmin)%>'</h2>\r
- <%adminbanlist%>\r
- <h2><%text(_BAN_NEW_TITLE)%></h2>\r
- <p><a href="<%adminurl%>index.php?action=banlistnew&blogid=<%requestblogid%>"><%text(_BAN_NEW_TEXT)%></a></p>]]></part>\r
- <part name="banlistdelete"><![CDATA[ <h2><%text(_BAN_REMOVE_TITLE)%></h2>\r
-\r
- <form method="post" action="<%adminurl%>index.php">\r
-\r
- <h3><%text(_BAN_IPRANGE)%></h3>\r
-\r
- <p>\r
- <%text(_CONFIRMTXT_BAN)%> <%requestiprange%>\r
- <input name="iprange" type="hidden" value="<%requestiprange%>" />\r
- </p>\r
-\r
- <h3><%text(_BAN_BLOGS)%></h3>\r
-\r
- <div>\r
- <input type="hidden" name="blogid" value="<%requestblogid%>" />\r
- <input name="allblogs" type="radio" value="0" id="allblogs_one" />\r
- <label for="allblogs_one"><%sprinttext(_BAN_BANBLOGNAME,<|%getblogsetting(name)%|>)%></label>\r
- <br />\r
- <input name="allblogs" type="radio" value="1" checked="checked" id="allblogs_all" /><label for="allblogs_all"><%text(_BAN_ALLBLOGS)%></label>\r
- </div>\r
-\r
- <h3><%text(_BAN_DELETE_TITLE)%></h3>\r
-\r
- <div>\r
- <%ticket%>\r
- <input type="hidden" name="action" value="banlistdeleteconfirm" />\r
- <input type="submit" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
-\r
- </form>\r
-]]></part>\r
- <part name="banlistdeleteconfirm"><![CDATA[ <a href="<%adminurl%>index.php?action=banlist&blogid=<%requestblogid%>">(<%text(_BACK)%>)</a>\r
- <h2><%text(_BAN_REMOVED_TITLE)%></h2>\r
- <p><%text(_BAN_REMOVED_TEXT)%></p>\r
- <ul>\r
- <%banlistdeletedlist%>\r
- </ul>\r
-]]></part>\r
- <part name="banlistnew"><![CDATA[ <h2><%text(_BAN_ADD_TITLE)%></h2>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <h3><%text(_BAN_IPRANGE)%></h3>\r
- <p><%text(_BAN_IPRANGE_TEXT)%></p>\r
- <div class="note">\r
- <strong><%text(_BAN_EXAMPLE_TITLE)%></strong>\r
- <%text(_BAN_EXAMPLE_TEXT)%>\r
- </div>\r
- <div>\r
- <%iprangeinput%>\r
- </div>\r
- <h3><%text(_BAN_BLOGS)%></h3>\r
- <p><%text(_BAN_BLOGS_TEXT)%></p>\r
- <div>\r
- <input type="hidden" name="blogid" value="<%requestblogid%>" />\r
- <input name="allblogs" type="radio" value="0" id="allblogs_one" /><label for="allblogs_one">'<%blogsetting(name)%>'</label><br />\r
- <input name="allblogs" type="radio" value="1" checked="checked" id="allblogs_all" /><label for="allblogs_all"><%text(_BAN_ALLBLOGS)%></label>\r
- </div>\r
- <h3><%text(_BAN_REASON_TITLE)%></h3>\r
- <p><%text(_BAN_REASON_TEXT)%></p>\r
- <div><textarea name="reason" cols="40" rows="5"></textarea></div>\r
- <h3><%text(_BAN_ADD_TITLE)%></h3>\r
- <div>\r
- <input name="action" type="hidden" value="banlistadd" />\r
- <%ticket%>\r
- <input type="submit" value="<%text(_BAN_ADD_BTN)%>" />\r
- </div>\r
- </form>\r
-]]></part>\r
- <part name="batchcategory"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>\r
- <h2><%text(BATCH_CATEGORIES)%></h2>\r
- <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>\r
- <ul>\r
- <%adminbatchlist%>\r
-\r
-\r
- </ul>\r
- <b><%text(_BATCH_DONE)%></b>]]></part>\r
- <part name="batchcomment"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>\r
- <h2><%text(_BATCH_COMMENTS)%></h2>\r
- <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>\r
- <ul>\r
- <%adminbatchlist%>\r
- </ul>\r
- <b><%text(_BATCH_DONE)%></b>]]></part>\r
- <part name="batchdelete"><![CDATA[<h2><%text(_BATCH_DELETE_CONFIRM)%></h2>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="<%batchdeletetype%>" />\r
- <input type="hidden" name="batchaction" value="delete" />\r
- <input type="hidden" name="confirmation" value="yes" />\r
- <%ticket%>\r
- <%batchdeletelist%>\r
- <input type="submit" value="<%text(_BATCH_DELETE_CONFIRM_BTN)%>" onclick="return checkSubmit();" />\r
- </div>\r
- </form>]]></part>\r
- <part name="batchitem"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>\r
- <h2><%text(_BATCH_ITEMS)%></h2>\r
- <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>\r
- <ul>\r
- <%adminbatchlist%>\r
- </ul>\r
- <b><%text(_BATCH_DONE)%></b>]]></part>\r
- <part name="batchmember"><![CDATA[<a href="<%adminurl%>index.php?action=usermanagement"><%text(_MEMBERS_BACKTOOVERVIEW)%></a>\r
- <h2><%text(_BATCH_MEMBERS)%></h2>\r
- <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>\r
- <ul>\r
- <%adminbatchlist%>\r
- </ul>\r
- <b><%text(_BATCH_DONE)%></b>]]></part>\r
- <part name="batchmove"><![CDATA[<h2><%text(_MOVE_TITLE)%></h2>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="batch<%batchmovetype%>" />\r
- <input type="hidden" name="batchaction" value="move" />\r
- <%ticket%>\r
- <%batchmovelist%>\r
- <%movedistselect%>\r
- <input type="submit" value="<%batchmovebtn%>" onclick="return checkSubmit();" />\r
- </div>\r
- </form>]]></part>\r
- <part name="batchmovecat"><![CDATA[<h2><%text(_MOVECAT_TITLE)%></h2>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="batch<%batchmovetype%>" />\r
- <input type="hidden" name="batchaction" value="move" />\r
- <%ticket%>\r
- <%batchmovelist%>\r
- <%movedistselect%>\r
- <input type="submit" value="<%batchmovebtn%>" onclick="return checkSubmit();" />\r
- </div>\r
- </form>]]></part>\r
- <part name="batchteam"><![CDATA[<a href="<%adminurl%>index.php?action=manageteam&blogid=<%requestblogid%>"><%text(_BACK)%></a>\r
- <h2><%text(_BATCH_TEAM)%></h2>\r
- <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>\r
- <ul>\r
- <%adminbatchlist%>\r
- </ul>\r
- <b><%text(_BATCH_DONE)%></b>]]></part>\r
- <part name="blogcommentlist"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>)</p>\r
- <h2><%text(_COMMENTS_BLOG)%> <%adminbloglink(defaultadmin)%></h2>\r
- <%commentnavlist(defaultadmin)%>]]></part>\r
- <part name="blogselectbox"><![CDATA[<%blogselectbox%>]]></part>\r
- <part name="blogsettings"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>\r
- <h2><%text(_EBLOG_TITLE)%>: '<%adminbloglink(defaultadmin)%>'</h2>\r
-\r
- <h3><%text(_EBLOG_TEAM_TITLE)%></h3>\r
-\r
- <p>\r
- <%text(_EBLOG_CURRENT_TEAM_MEMBER)%>\r
- <%blogteammembers%>\r
- </p>\r
- <p><a href="<%adminurl%>index.php?action=manageteam&blogid=<%requestblogid%>"><%text(_EBLOG_TEAM_TEXT)%></a></p>\r
- <h3><%text(_EBLOG_SETTINGS_TITLE)%></h3>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="blogsettingsupdate" />\r
- <%ticket%>\r
- <input type="hidden" name="blogid" value="<%requestblogid%>" />\r
- <table>\r
- <tr>\r
- <td><%text(_EBLOG_NAME)%></td>\r
- <td><input name="name" tabindex="10" size="40" maxlength="60" value="<%blogsetting(name)%>" /></td>\r
- </tr><tr>\r
- <td>\r
- <%text(_EBLOG_SHORTNAME)%> <%helplink(shortblogname)%>\r
- <%text(_EBLOG_SHORTNAME_EXTRA)%>\r
- </td>\r
- <td><input name="shortname" tabindex="20" maxlength="15" size="15" value="<%blogsetting(short)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_DESC)%></td>\r
- <td><input name="desc" tabindex="30" maxlength="200" size="40" value="<%blogsetting(desc)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_URL)%></td>\r
- <td><input name="url" tabindex="40" size="40" maxlength="100" value="<%blogsetting(url)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_DEFSKIN)%><%helplink(blogdefaultskin)%></td>\r
- <td><%defskinselect(blog)%></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_LINEBREAKS)%> <%helplink(convertbreaks)%></td>\r
- <td><%blogsettingyesno(convertbreaks)%></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_ALLOWPASTPOSTING)%> <%helplink(allowpastposting)%></td>\r
- <td><%blogsettingyesno(allowpastposting)%></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_DISABLECOMMENTS)%></td>\r
- <td><%blogsettingyesno(comments)%></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_ANONYMOUS)%></td>\r
- <td><%blogsettingyesno(public)%></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_REQUIREDEMAIL)%></td>\r
- <td><%blogsettingyesno(reqemail)%></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_NOTIFY)%> <%helplink(blognotify)%></td>\r
- <td><input name="notify" tabindex="80" maxlength="60" size="40" value="<%blogsetting(notifyaddress)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_NOTIFY_ON)%></td>\r
- <td>\r
- <input name="notifyComment" value="3" type="checkbox" tabindex="81" id="notifyComment"<%blognotifysetting(comment)%> />\r
- <label for="notifyComment"><%text(_EBLOG_NOTIFY_COMMENT)%></label><br />\r
- <input name="notifyVote" value="5" type="checkbox" tabindex="82" id="notifyVote"<%blognotifysetting(vote)%> />\r
- <label for="notifyVote"><%text(_EBLOG_NOTIFY_KARMA)%></label><br />\r
- <input name="notifyNewItem" value="7" type="checkbox" tabindex="83" id="notifyNewItem"<%blognotifysetting(newitem)%> />\r
- <label for="notifyNewItem"><%text(_EBLOG_NOTIFY_ITEM)%></label>\r
- </td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_MAXCOMMENTS)%> <%helplink(blogmaxcomments)%></td>\r
- <td><input name="maxcomments" tabindex="90" size="3" value="<%blogsetting(maxcomments)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_UPDATE)%> <%helplink(blogupdatefile)%></td>\r
- <td><input name="update" tabindex="100" size="40" maxlength="60" value="<%blogsetting(updatefile)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_DEFCAT)%></td>\r
- <td><%defcatselect%></td>\r
- </tr><tr>\r
- <td>\r
- <%text(_EBLOG_OFFSET)%> <%helplink(blogtimeoffset)%><br />\r
- <%text(_EBLOG_STIME)%> <b><%blogtime(servertime,"%H:%M")%></b><br />\r
- <%text(_EBLOG_BTIME)%> <b><%blogtime(blogtime,"%H:%M")%></b>\r
- </td>\r
- <td><input name="timeoffset" tabindex="120" size="3" value="<%blogsetting(timeoffset)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_SEARCH)%> <%helplink(blogsearchable)%></td>\r
- <td><%blogsettingyesno(searchable)%></td>\r
- </tr>\r
- <%pluginoptions(blog)%>\r
- <tr>\r
- <th colspan="2"><%text(_EBLOG_CHANGE)%></th>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CHANGE)%></td>\r
- <td><input type="submit" tabindex="130" value="<%text(_EBLOG_CHANGE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>\r
- <h3><%text(_EBLOG_CAT_TITLE)%></h3>\r
- <%blogcatlist%>\r
- <form action="<%adminurl%>index.php" method="post">\r
- <div>\r
- <input name="action" value="categorynew" type="hidden" />\r
- <%ticket%>\r
- <input name="blogid" value="<%blogsetting(id)%>" type="hidden" />\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_EBLOG_CAT_CREATE)%></th>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CAT_NAME)%></td>\r
- <td><input name="cname" size="40" maxlength="40" tabindex="300" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CAT_DESC)%></td>\r
- <td><input name="cdesc" size="40" maxlength="200" tabindex="310" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CAT_CREATE)%></td>\r
- <td><input type="submit" value="<%text(_EBLOG_CAT_CREATE)%>" tabindex="320" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>\r
- <h3><%text(_PLUGINS_EXTRA)%></h3>\r
- <%pluginextras(blog)%>]]></part>\r
- <part name="bookmarklet"><![CDATA[ <p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>\r
- <h2><%text(_BOOKMARKLET_TITLE)%></h2>\r
- <p><%text(_BOOKMARKLET_DESC1)%><%text(_BOOKMARKLET_DESC2)%><%text(_BOOKMARKLET_DESC3)%><%text(_BOOKMARKLET_DESC4)%><%text(_BOOKMARKLET_DESC5)%></p>\r
- <h3><%text(_BOOKMARKLET_BOOKARKLET)%></h3>\r
- <p>\r
- <%text(_BOOKMARKLET_BMARKTEXT)%><small><%text(_BOOKMARKLET_BMARKTEST)%></small>\r
- <br />\r
- <br />\r
- <a href="<%bookmarkletadmin(url)%>"><%sprinttext(_BOOKMARKLET_ANCHOR,<|%getblogsetting(name)%|>)%></a><%text(_BOOKMARKLET_BMARKFOLLOW)%>\r
- </p>\r
-]]></part>\r
- <part name="browseowncomments"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>)</p>\r
- <h2><%text(_COMMENTS_YOUR)%></h2>\r
- <%commentnavlist(defaultadmin)%>]]></part>\r
- <part name="browseownitems"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a></p>\r
- <h2><%text(_ITEMLIST_YOUR)%></h2>\r
- <%itemnavlist(defaultadmin)%>]]></part>\r
- <part name="categorydelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <div>\r
- <%text(_CONFIRMTXT_CATEGORY)%><b><%categorysetting(name)%></b>\r
- </div>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="categorydeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="blogid" value="<%requestblogid%>" />\r
- <input type="hidden" name="catid" value="<%categorysetting(id)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
- </form>]]></part>\r
- <part name="categoryedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=blogsettings&blogid=<%requestblogid%>">(<%text(_BACK_TO_BLOGSETTINGS)%>)</a></p>\r
- <h2><%text(_EBLOG_CAT_UPDATE)%> '<%categorysetting(name)%>'</h2>\r
- <form method='post' action='<%adminurl%>index.php'>\r
- <div>\r
- <input name="blogid" type="hidden" value="<%requestblogid%>" />\r
- <input name="catid" type="hidden" value="<%categorysetting(id)%>" />\r
- <input name="desturl" type="hidden" value="<%editdesturl%>" />\r
- <input name="action" type="hidden" value="categoryupdate" />\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_EBLOG_CAT_UPDATE)%></th>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CAT_NAME)%></td>\r
- <td><input type="text" name="cname" value="<%categorysetting(name)%>" size="40" maxlength="40" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CAT_DESC)%></td>\r
- <td><input type="text" name="cdesc" value="<%categorysetting(desc)%>" size="40" maxlength="200" /></td>\r
- </tr>\r
- <%pluginoptions(category)%>\r
- <tr>\r
- <th colspan="2"><%text(_EBLOG_CAT_UPDATE)%></th>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CAT_UPDATE)%></td>\r
- <td><input type="submit" value="<%text(_EBLOG_CAT_UPDATE_BTN)%>" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="commentdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_COMMENT)%></p>\r
- <div class="note">\r
- <b><%text(_EDITC_WHO)%>:</b> <%deletecomment(author)%>\r
- <br />\r
- <b><%text(_EDITC_TEXT)%>:</b> <%deletecomment(body)%>\r
- </div>\r
- <form method="post" action="<%adminurl%>index.php"><div>\r
- <input type="hidden" name="action" value="commentdeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="commentid" value="<%deletecomment(id)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div></form>]]></part>\r
- <part name="commentedit"><![CDATA[<h2><%text(_EDITC_TITLE)%></h2>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="commentupdate" />\r
- <%ticket%>\r
- <input type="hidden" name="commentid" value="<%editcomment(id)%>" />\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_EDITC_TITLE)%></th>\r
- </tr>\r
- <tr>\r
- <td><%text(_EDITC_WHO)%></td>\r
- <td><%editcomment(user)%></td>\r
- </tr>\r
- <tr>\r
- <td><%text(_EDITC_WHEN)%></td>\r
- <td><%editcomment(date)%></td>\r
- </tr>\r
- <tr>\r
- <td><%text(_EDITC_HOST)%></td>\r
- <td><%editcomment(host)%></td>\r
- </tr>\r
- <tr>\r
- <td><%text(_EDITC_URL)%></td>\r
- <td><input type="text" name="url" size="30" tabindex="6" value="<%editcomment(url)%>" /></td>\r
- </tr>\r
- <tr>\r
- <td><%text(_EDITC_EMAIL)%></td>\r
- <td><input type="text" name="email" size="30" tabindex="8" value="<%editcomment(email)%>" /></td>\r
- </tr>\r
- <tr>\r
- <td><%text(_EDITC_TEXT)%></td>\r
- <td><textarea name="body" tabindex="10" rows="10" cols="50"><%editcomment(body)%></textarea></td>\r
- </tr>\r
- <tr>\r
- <td><%text(_EDITC_EDIT)%></td>\r
- <td><input type="submit" tabindex="20" value="<%text(_EDITC_EDIT)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="createitem"><![CDATA[<h2><%text(_ADD_ADDTO)%> '<%adminbloglink(defaultadmin)%>'</h2>\r
-\r
-<%init%>\r
-<script type="text/javascript" src="<%skinfile(/javascript/numbercheck.js)%>"></script>\r
-<%if(autosave)%><script type="text/javascript" src="<%skinfile(/javascript/xmlhttprequest.js)%>"></script><%endif%>\r
-\r
-<form id="addform" method="post" action="<%adminurl%>index.php" >\r
-\r
-<div>\r
-\r
-<input type="hidden" name="action" value="additem" />\r
-<input name="blogid" value="<%blogid%>" type="hidden" />\r
-<input type="hidden" name="draftid" value="0" />\r
-<%ticket%>\r
-\r
-<table>\r
- <tr>\r
- <th colspan="2"><%text(_ADD_CREATENEW)%></th>\r
- </tr>\r
- <%if(autosave)%><tr>\r
- <td><%text(_AUTOSAVEDRAFT)%></td>\r
- <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>\r
- </tr><%endif%>\r
- <tr>\r
- <td><%text(_ADD_TITLE)%></td>\r
- <td><input id="inputtitle" onkeyup="storeCaret(this); updPreview(title); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
- name="title"\r
- tabindex="10"\r
- size="60" \r
- maxlength="160" \r
- value="<%contents(title)%>"\r
- /></td>\r
- </tr><tr>\r
- <td>\r
- <%text(_ADD_BODY)%> <%helplink(additem)%>\r
- </td>\r
- <td>\r
- <div class="jsbuttonbar">\r
-<!--[if IE]>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="cutThis()">\r
- <img src="<%skinfile(/images/button-cut.gif)%>" title="<%text(_ADD_CUT_TT)%>(Ctrl + X)" alt="<%text(_ADD_CUT_TT)%>(Ctrl + X)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="copyThis()">\r
- <img src="<%skinfile(/images/button-copy.gif)%>" title="<%text(_ADD_COPY_TT)%>(Ctrl + C)" alt="<%text(_ADD_COPY_TT)%>(Ctrl + C)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="pasteThis()">\r
- <img src="<%skinfile(/images/button-paste.gif)%>" title="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" alt="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">\r
- <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" alt="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">\r
- <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" alt="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">\r
- <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" alt="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" width="16" height="16" />\r
- </span>\r
-<![endif]-->\r
-<!--[if ! IE]>-->\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">\r
- <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>" alt="<%text(_ADD_BOLD_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">\r
- <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>" alt="<%text(_ADD_ITALIC_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">\r
- <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>" alt="<%text(_ADD_HREF_TT)%>" width="16" height="16" />\r
- </span>\r
-<!--<![endif]-->\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignleftThis()">\r
- <img src="<%skinfile(/images/button-alignleft.gif)%>" title="<%text(_ADD_ALIGNLEFT_TT)%>" alt="<%text(_ADD_ALIGNLEFT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignrightThis()">\r
- <img src="<%skinfile(/images/button-alignright.gif)%>" title="<%text(_ADD_ALIGNRIGHT_TT)%>" alt="<%text(_ADD_ALIGNRIGHT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="aligncenterThis()">\r
- <img src="<%skinfile(/images/button-aligncenter.gif)%>" title="<%text(_ADD_ALIGNCENTER_TT)%>" alt="<%text(_ADD_ALIGNCENTER_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="leftThis()">\r
- <img src="<%skinfile(/images/button-left.gif)%>" title="<%text(_ADD_LEFT_TT)%>" alt="<%text(_ADD_LEFT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="rightThis()">\r
- <img src="<%skinfile(/images/button-right.gif)%>" title="<%text(_ADD_RIGHT_TT)%>" alt="<%text(_ADD_RIGHT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="addMedia()">\r
- <img src="<%skinfile(/images/button-media.gif)%>" title="<%text(_ADD_MEDIA_TT)%>" alt="<%text(_ADD_MEDIA_TT)%>" width="16" height="16" />\r
- </span>\r
-<!--[if IE]>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="showedit()">\r
- <img src="<%skinfile(/images/button-preview.gif)%>" title="<%text(_ADD_PREVIEW_TT)%>" alt="<%text(_ADD_PREVIEW_TT)%>" width="16" height="16" />\r
- </span>\r
-<![endif]-->\r
- </div>\r
- <textarea id="inputbody" onkeyup="storeCaret(this); updPreview(body); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
- name="body"\r
- tabindex="20"\r
- cols="60"\r
- rows="20"><%contents(body)%></textarea>\r
- </td>\r
- </tr><tr id="edit" style="display:none;">\r
- <td><%text(_ADD_PREVIEW)%></td>\r
- <td><b><span id="prevtitle"> </span></b><br />\r
- <span id="prevbody"> </span><br />\r
- <span id="prevmore"> </span><br />\r
- </td>\r
- </tr><tr>\r
- \r
-<%if(blogsetting, bcomments)%>\r
- <td><%text(_ADD_DISABLE_COMMENTS)%></td>\r
- <td>\r
- <input name="closed" type="radio" tabindex="30" value="1" id="closed_yes" /><label for="closed_yes"><%text(_YES)%></label>\r
- <input name="closed" type="radio" tabindex="30" value="0" checked="checked" id="closed_no" /><label for="closed_no"><%text(_NO)%></label>\r
- </td>\r
- </tr><tr>\r
-<%endif%>\r
-\r
-\r
- <td><%text(_ADD_CATEGORY)%></td>\r
- <td><%categories(40)%></td>\r
- </tr><tr>\r
- <td><%text(_SUBMIT)%></td>\r
- <td>\r
- <input tabindex="60" type="submit" value="<%text(_ADD_ADDITEM)%>" \r
- onclick="return checkSubmit();" />\r
-\r
- <br /><br />\r
-\r
- <input name="actiontype" value="addnow" type="radio" checked='checked' id="act_now" tabindex="61" /><label for="act_now"><%text(_ADD_ADDNOW)%></label>\r
- <br />\r
- <input name="actiontype" value="addfuture" type="radio" id="act_future" tabindex="61" /><label for="act_future" ><%text(_ADD_ADDLATER)%></label> <%helplink(future)%>\r
- <div class="indent">\r
- <%text(_ADD_PLACE_ON)%>\r
- <input id="inputyear" name="year" tabindex="63" size="4" value="<%currenttime(year)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>\r
- <input id="inputmonth" name="month" tabindex="64" size="2" value="<%currenttime(mon)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>\r
- <input id="inputday" name="day" tabindex="65" size="2" value="<%currenttime(mday)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_DAY)%>\r
- \r
- <input id="inputhour" name="hour" tabindex="66" size="2" value="<%currenttime(hours)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>\r
- <input id="inputminutes" name="minutes" tabindex="67" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>\r
- <br /><%text(_ITEM_ADDEDITTEMPLATE_FORMAT)%>(yyyy)<%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>(dd)<%text(_ITEM_ADDEDITTEMPLATE_DAY)%> (hh)<%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>\r
- \r
- <%if(blogsetting, ballowpast,0)%>\r
- <br />\r
- <%text(_ADD_NOPASTDATES)%>\r
- <%endif%>\r
- </div>\r
- <input name="actiontype" tabindex="61" value="adddraft" type="radio" id="act_draft" /><label for="act_draft"><%text(_ADD_ADDDRAFT)%></label> <%helplink(draft)%>\r
- </td>\r
- </tr><tr>\r
- <td><%text(_ADD_PLUGIN_EXTRAS)%></td>\r
- <td>\r
- <%pluginextras%>\r
- </td>\r
- </tr>\r
- <%itemoptions%> \r
- <tr>\r
- <th colspan="2"><%text(_ADD_MORE)%></th>\r
- </tr><tr>\r
- <td><%text(_ADD_MORE)%>\r
- <br /><%helplink(extended)%>\r
- </td>\r
- <td>\r
- <div class="jsbuttonbar">\r
-<!--[if IE]>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="cutThis()">\r
- <img src="<%skinfile(/images/button-cut.gif)%>" title="<%text(_ADD_CUT_TT)%>(Ctrl + X)" alt="<%text(_ADD_CUT_TT)%>(Ctrl + X)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="copyThis()">\r
- <img src="<%skinfile(/images/button-copy.gif)%>" title="<%text(_ADD_COPY_TT)%>(Ctrl + C)" alt="<%text(_ADD_COPY_TT)%>(Ctrl + C)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="pasteThis()">\r
- <img src="<%skinfile(/images/button-paste.gif)%>" title="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" alt="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">\r
- <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" alt="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">\r
- <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" alt="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">\r
- <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" alt="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" width="16" height="16" />\r
- </span>\r
-<![endif]-->\r
-<!--[if ! IE]>-->\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">\r
- <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>" alt="<%text(_ADD_BOLD_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">\r
- <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>" alt="<%text(_ADD_ITALIC_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">\r
- <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>" alt="<%text(_ADD_HREF_TT)%>" width="16" height="16" />\r
- </span>\r
-<!--<![endif]-->\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignleftThis()">\r
- <img src="<%skinfile(/images/button-alignleft.gif)%>" title="<%text(_ADD_ALIGNLEFT_TT)%>" alt="<%text(_ADD_ALIGNLEFT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignrightThis()">\r
- <img src="<%skinfile(/images/button-alignright.gif)%>" title="<%text(_ADD_ALIGNRIGHT_TT)%>" alt="<%text(_ADD_ALIGNRIGHT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="aligncenterThis()">\r
- <img src="<%skinfile(/images/button-aligncenter.gif)%>" title="<%text(_ADD_ALIGNCENTER_TT)%>" alt="<%text(_ADD_ALIGNCENTER_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="leftThis()">\r
- <img src="<%skinfile(/images/button-left.gif)%>" title="<%text(_ADD_LEFT_TT)%>" alt="<%text(_ADD_LEFT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="rightThis()">\r
- <img src="<%skinfile(/images/button-right.gif)%>" title="<%text(_ADD_RIGHT_TT)%>" alt="<%text(_ADD_RIGHT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="addMedia()">\r
- <img src="<%skinfile(/images/button-media.gif)%>" title="<%text(_ADD_MEDIA_TT)%>" alt="<%text(_ADD_MEDIA_TT)%>" width="16" height="16" />\r
- </span>\r
-<!--[if IE]>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="showedit()">\r
- <img src="<%skinfile(/images/button-preview.gif)%>" title="<%text(_ADD_PREVIEW_TT)%>" alt="<%text(_ADD_PREVIEW_TT)%>" width="16" height="16" />\r
- </span>\r
-<![endif]-->\r
- </div>\r
- <textarea id="inputmore" onkeyup="storeCaret(this); updPreview(more); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
- name="more"\r
- tabindex="70"\r
- cols="60"\r
- rows="20"\r
- ><%contents(more)%></textarea>\r
- </td>\r
- </tr><tr>\r
- <td><%text(_SUBMIT)%></td>\r
- <td>\r
- <input tabindex="60" type="submit" value="<%text(_ADD_ADDITEM)%>" \r
- onclick="return checkSubmit();" />\r
- <%if(autosave)%>\r
- <input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"\r
- onclick="autoSaveDraft();" />\r
- <%endif%>\r
- </td>\r
- </tr>\r
-</table>\r
-\r
-</div>\r
-</form>\r
-<%if(autosave)%>\r
-<script type="text/javascript">\r
- var xmlhttprequest = new Array();\r
- xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler\r
- xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler\r
- var seconds = now(); // Last AutoDraft time\r
- var checks = 0; // Number of checks since last AutoDraft\r
- var addform = document.getElementById('addform'); // The form id\r
- var goal = document.getElementById('info'); // The html div id where 'Last saved: date time' must come\r
- var goalurl = '../action.php'; // The PHP file where the content must be posted to\r
- var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'\r
- var formtype = 'add'; // Add or edit form\r
-</script> \r
-<%endif%>]]></part>\r
- <part name="createnewlog"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_EBLOG_CREATE_TITLE)%></h2>\r
- <h3><%text(_ADMIN_NOTABILIA)%></h3>\r
- <p><%text(_ADMIN_PLEASE_READ)%></p>\r
- <p><%text(_ADMIN_HOW_TO_ACCESS)%></p>\r
- <ol>\r
- <li><%text(_ADMIN_SIMPLE_WAY)%></li>\r
- <li><%text(_ADMIN_ADVANCED_WAY)%></li>\r
- </ol>\r
- <h3><%text(_ADMIN_HOW_TO_CREATE)%></h3>\r
- <p><%text(_EBLOG_CREATE_TEXT)%></p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="addnewlog" />\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <td><%text(_EBLOG_NAME)%></td>\r
- <td><input name="name" tabindex="10" size="40" maxlength="60" /></td>\r
- </tr><tr>\r
- <td>\r
- <%text(_EBLOG_SHORTNAME)%>\r
- <%helplink(shortblogname)%>\r
- </td>\r
- <td><input name="shortname" tabindex="20" maxlength="15" size="15" /></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_DESC)%></td>\r
- <td><input name="desc" tabindex="30" maxlength="200" size="40" /></td>\r
- </tr><tr>\r
- <td>\r
- <%text(_EBLOG_DEFSKIN)%>\r
- <%helplink(blogdefaultskin)%>\r
- </td>\r
- <td><%defskinselect%></td>\r
- </tr><tr>\r
- <td>\r
- <%text(_EBLOG_OFFSET)%>\r
- <%helplink(blogtimeoffset)%><br />\r
- <%text(_EBLOG_STIME)%> <b><%blogtime(servertime,"%H:%M")%></b>\r
- </td>\r
- <td><input name="timeoffset" tabindex="110" size="3" value="0" /></td>\r
- </tr><tr>\r
- <td>\r
- <%text(_EBLOG_ADMIN)%>\r
- <%helplink(teamadmin)%>\r
- </td>\r
- <td><%text(_EBLOG_ADMIN_MSG)%></td>\r
- </tr><tr>\r
- <td><%text(_EBLOG_CREATE)%></td>\r
- <td><input type="submit" tabindex="120" value="<%text(_EBLOG_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="deleteblog"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_WARNINGTXT_BLOGDEL)%>\r
- </p>\r
- <div>\r
- <%text(_CONFIRMTXT_BLOG)%><b><%blogsetting(name)%></b>\r
- </div>\r
- <form method="post" action="<%adminurl%>index.php"><div>\r
- <input type="hidden" name="action" value="deleteblogconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="blogid" value="<%requestblogid%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div></form>]]></part>\r
- <part name="editmembersettings"><![CDATA[<%if(superadmin)%><a href="<%adminurl%>index.php?action=usermanagement">(<%text(_MEMBERS_BACKTOOVERVIEW)%>)<%else%><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)<%endif%></a>\r
- <h2><%text(_MEMBERS_EDIT)%></h2>\r
- <form method="post" action="<%adminurl%>index.php" name="memberedit">\r
- <div>\r
- <input type="hidden" name="action" value="changemembersettings" />\r
- <input type="hidden" name="memberid" value="<%editmember(id)%>" />\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_MEMBERS_EDIT)%></th>\r
- </tr><tr>\r
- <td>\r
- <%text(_MEMBERS_DISPLAY)%> <%helplink(shortnames)%>\r
- <br /><small><%text(_MEMBERS_DISPLAY_INFO)%></small>\r
- </td>\r
- <td><%editmember(displayname)%></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_REALNAME)%></td>\r
- <td><input name="realname" tabindex="20" maxlength="60" size="40" value="<%editmember(realname)%>" /></td>\r
- </tr><tr><%if(allowloginedit)%>\r
- <td><%text(_MEMBERS_PWD)%></td>\r
- <td><input type="password" tabindex="30" maxlength="40" size="16" name="password" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_REPPWD)%></td>\r
- <td><input type="password" tabindex="35" maxlength="40" size="16" name="repeatpassword" /></td>\r
- </tr><tr><%endif%>\r
- <td>\r
- <%text(_MEMBERS_EMAIL)%>\r
- <br /><small><%text(_MEMBERS_EMAIL_EDIT)%></small>\r
- </td>\r
- <td><input name="email" tabindex="40" size="40" maxlength="60" value="<%editmember(email)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_URL)%></td>\r
- <td><input name="url" tabindex="50" size="40" maxlength="100" value="<%editmember(url)%>" /></td>\r
- <%if(superadmin)%></tr><tr>\r
- <td><%text(_MEMBERS_SUPERADMIN)%> <%helplink(superadmin)%></td>\r
- <td><%editmember(admin)%></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_CANLOGIN)%> <%helplink(canlogin)%></td>\r
- <td><%editmember(canlogin)%></td><%endif%>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_NOTES)%></td>\r
- <td><input name="notes" tabindex="80" size="40" maxlength="100" value="<%editmember(notes)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_LOCALE)%> <%helplink(locale)%></td>\r
- <td>\r
- <select name="locale" tabindex="85">\r
- <%localeselectoptions%>\r
- </select>\r
- </td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_USEAUTOSAVE)%> <%helplink(autosave)%></td>\r
- <td><%editmember(autosave)%></td>\r
- </tr><%if(superadmin)%><tr>\r
- <td><%text(_SKINABLEADMIN_MEMBERS_ADMINSKIN)%> <%customhelplink(useadminskin)%></td>\r
- <td>\r
- <%adminskinselectoptions%>\r
- </td>\r
- </tr><%endif%>\r
- <%pluginoptions(member)%>\r
- <tr>\r
- <th colspan="2"><%text(_MEMBERS_EDIT)%></th>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_EDIT)%></td>\r
- <td><input type="submit" tabindex="90" value="<%text(_MEMBERS_EDIT_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>\r
- <h3><%text(_PLUGINS_EXTRA)%></h3>\r
- <%pluginextras(member)%>]]></part>\r
- <part name="insertpluginoptions"><![CDATA[<%insertpluginoptions(defaultadmin)%>]]></part>\r
- <part name="itemcommentlist"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=itemlist&blogid=<%requestblogid%>"><%text(_BACKTOOVERVIEW)%></a>)</p>\r
- <h2><%text(_COMMENTS)%></h2>\r
- <%commentnavlist(defaultadmin)%>]]></part>\r
- <part name="itemdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_ITEM)%></p>\r
- <div class="note">\r
- <b>"<%deleteitemtitle%>"</b>\r
- <br />\r
- <%deleteitembody%>\r
- </div>\r
- <form method="post" action="<%adminurl%>index.php"><div>\r
- <input type="hidden" name="action" value="itemdeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="itemid" value="<%deleteitemid%>" />\r
- <input type="submit" value="<%text(_DELETE_CONFIRM_BTN)%>" tabindex="10" />\r
- </div></form>]]></part>\r
- <part name="itemedit"><![CDATA[<h2><%text(_EDIT_ITEM)%></h2>\r
-\r
-<%init%>\r
-<script type="text/javascript" src="<%skinfile(/javascript/numbercheck.js)%>"></script>\r
-<%if(autosave)%><script type="text/javascript" src="<%skinfile(/javascript/xmlhttprequest.js)%>"></script><%endif%>\r
-\r
-<form id="editform" method="post" action="<%adminurl%>index.php">\r
-<div>\r
-\r
-<input type="hidden" name="action" value="itemupdate" />\r
-<input name="itemid" value="<%contents(itemid)%>" type="hidden" />\r
-<input type="hidden" name="draftid" value="0" />\r
-<%ticket%>\r
-\r
-<table><tr>\r
- <th colspan="2"><%text(_EDIT_ITEM)%></th>\r
-</tr>\r
-<%if(autosave)%><tr>\r
- <td><%text(_AUTOSAVEDRAFT)%></td>\r
- <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>\r
-</tr><%endif%>\r
-<tr>\r
- <td><%text(_EDIT_ORIG_AUTHOR)%></td>\r
- <td><%contents(author)%></td>\r
-</tr><tr>\r
- <td><%text(_ADD_TITLE)%></td>\r
- <td><input id="inputtitle" onkeyup="storeCaret(this); updPreview(title); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
- name="title"\r
- tabindex="10"\r
- size="60" \r
- maxlength="160" \r
- value="<%contents(title)%>" />\r
- </td>\r
-</tr><tr>\r
- <td>\r
- <%text(_ADD_BODY)%>\r
- </td>\r
- <td>\r
- <div class="jsbuttonbar">\r
-<!--[if IE]>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="cutThis()">\r
- <img src="<%skinfile(/images/button-cut.gif)%>" title="<%text(_ADD_CUT_TT)%>(Ctrl + X)" alt="<%text(_ADD_CUT_TT)%>(Ctrl + X)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="copyThis()">\r
- <img src="<%skinfile(/images/button-copy.gif)%>" title="<%text(_ADD_COPY_TT)%>(Ctrl + C)" alt="<%text(_ADD_COPY_TT)%>(Ctrl + C)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="pasteThis()">\r
- <img src="<%skinfile(/images/button-paste.gif)%>" title="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" alt="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">\r
- <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" alt="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">\r
- <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" alt="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">\r
- <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" alt="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" width="16" height="16" />\r
- </span>\r
-<![endif]-->\r
-<!--[if ! IE]>-->\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">\r
- <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>" alt="<%text(_ADD_BOLD_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">\r
- <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>" alt="<%text(_ADD_ITALIC_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">\r
- <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>" alt="<%text(_ADD_HREF_TT)%>" width="16" height="16" />\r
- </span>\r
-<!--<![endif]-->\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignleftThis()">\r
- <img src="<%skinfile(/images/button-alignleft.gif)%>" title="<%text(_ADD_ALIGNLEFT_TT)%>" alt="<%text(_ADD_ALIGNLEFT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignrightThis()">\r
- <img src="<%skinfile(/images/button-alignright.gif)%>" title="<%text(_ADD_ALIGNRIGHT_TT)%>" alt="<%text(_ADD_ALIGNRIGHT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="aligncenterThis()">\r
- <img src="<%skinfile(/images/button-aligncenter.gif)%>" title="<%text(_ADD_ALIGNCENTER_TT)%>" alt="<%text(_ADD_ALIGNCENTER_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="leftThis()">\r
- <img src="<%skinfile(/images/button-left.gif)%>" title="<%text(_ADD_LEFT_TT)%>" alt="<%text(_ADD_LEFT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="rightThis()">\r
- <img src="<%skinfile(/images/button-right.gif)%>" title="<%text(_ADD_RIGHT_TT)%>" alt="<%text(_ADD_RIGHT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="addMedia()">\r
- <img src="<%skinfile(/images/button-media.gif)%>" title="<%text(_ADD_MEDIA_TT)%>" alt="<%text(_ADD_MEDIA_TT)%>" width="16" height="16" />\r
- </span>\r
-<!--[if IE]>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="showedit()">\r
- <img src="<%skinfile(/images/button-preview.gif)%>" title="<%text(_ADD_PREVIEW_TT)%>" alt="<%text(_ADD_PREVIEW_TT)%>" width="16" height="16" />\r
- </span>\r
-<![endif]-->\r
- </div>\r
- <textarea id="inputbody" onkeyup="storeCaret(this); updPreview(body); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
- name="body"\r
- tabindex="20"\r
- cols="60"\r
- rows="20"><%contents(body)%></textarea>\r
- </td>\r
-</tr><tr id="edit" style="display:none;">\r
- <td><%text(_ADD_PREVIEW)%></td>\r
- <td><b><span id="prevtitle"> </span></b><br />\r
- <span id="prevbody"> </span><br />\r
- <span id="prevmore"> </span><br />\r
- </td>\r
-</tr><tr>\r
-\r
-<%if(blogsetting, bcomments)%>\r
- <td>\r
- <%text(_ADD_DISABLE_COMMENTS)%>\r
- </td>\r
- <td> \r
- <input type="radio" name="closed" value="1" <%checkedonval(1,closed)%> tabindex="30" id="closed_yes" /><label for="closed_yes"><%text(_YES)%></label>\r
- <input type="radio" name="closed" value="0" <%checkedonval(0,closed)%> tabindex="30" id="closed_no" /><label for="closed_no"><%text(_NO)%></label>\r
- <br />\r
- <small><%text(_EDIT_COMMENTSNOTE)%></small> \r
- </td>\r
- </tr><tr> \r
-<%endif%>\r
-\r
- <td><%text(_ADD_CATEGORY)%></td>\r
- <td><%categories(40)%></td>\r
-</tr><tr>\r
- <td><%text(_EDIT_SUBMIT)%></td>\r
- <td>\r
-\r
- <input type="submit" tabindex="60" value="<%text(_EDIT_SUBMIT)%>" onclick="return checkSubmit();" />\r
-\r
-<%if(itemproperty, draft)%>\r
- <br /><br />\r
- <input name="actiontype" value="addnow" type="radio" id="act_now" /><label for="act_now" tabindex="61"><%text(_ADD_ADDNOW)%></label>\r
- <br />\r
- <input name="actiontype" value="addfuture" type="radio" id="act_future" tabindex="61" /><label for="act_future"><%text(_ADD_ADDLATER)%></label> <%helplink(future)%>\r
- <div class="indent">\r
- <%text(_ADD_PLACE_ON)%>\r
- <input id="inputyear" name="year" tabindex="71" size="4" value="<%currenttime(year)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>\r
- <input id="inputmonth" name="month" tabindex="72" size="2" value="<%currenttime(mon)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>\r
- <input id="inputday" name="day" tabindex="73" size="2" value="<%currenttime(mday)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_DAY)%>\r
- \r
- <input id="inputhour" name="hour" tabindex="74" size="2" value="<%currenttime(hours)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>\r
- <input id="inputminutes" name="minutes" tabindex="75" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>\r
- <br /><%text(_ITEM_ADDEDITTEMPLATE_FORMAT)%>(yyyy)<%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>(dd)<%text(_ITEM_ADDEDITTEMPLATE_DAY)%> (hh)<%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>\r
- <%if(blogsetting, ballowpast,0)%>\r
- <br />\r
- <%text(_ADD_NOPASTDATES)%>\r
- <%endif%>\r
- </div>\r
- <input name="actiontype" value="adddraft" type="radio" checked='checked' id="act_draft" tabindex="61" /><label for="act_draft"><%text(_EDIT_BACKTODRAFTS)%></label> <%helplink(draft)%>\r
- <br />\r
- <input name="actiontype" value="delete" type="radio" id="act_delete" tabindex="61" /><label for="act_delete"><%text(_BMLET_DELETE)%></label>\r
-<%endif%>\r
-\r
-<%if(itemproperty, draft,0)%>\r
- <br /><br />\r
- <input name="actiontype" value="edit" type="radio" checked="checked" id="act_edit" tabindex="61" /><label for="act_edit"><%text(_BMLET_EDIT)%></label>\r
- <%if(blogsetting, ballowpast)%>\r
- <br />\r
- <input name="actiontype" value="changedate" type="radio" id="act_changedate" tabindex="70" /><label for="act_changedate"><%text(_ADD_CHANGEDATE)%></label> <%helplink(changedate)%>\r
- <div class="indent">\r
- <input id="inputyear" name="year" tabindex="71" size="4" value="<%itemtime(year)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>\r
- <input id="inputmonth" name="month" tabindex="72" size="2" value="<%itemtime(mon)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>\r
- <input id="inputday" name="day" tabindex="73" size="2" value="<%itemtime(mday)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_DAY)%>\r
- \r
- <input id="inputhour" name="hour" tabindex="74" size="2" value="<%itemtime(hours)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>\r
- <input id="inputminutes" name="minutes" tabindex="75" size="2" value="<%itemtime(minutes)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>\r
- <br /><%text(_ITEM_ADDEDITTEMPLATE_FORMAT)%>(yyyy)<%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>(dd)<%text(_ITEM_ADDEDITTEMPLATE_DAY)%> (hh)<%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>\r
- </div>\r
- <%endif%> \r
- <input name="actiontype" value="backtodrafts" type="radio" id="act_backtodrafts" tabindex="71" /><label for="act_backtodrafts"><%text(_BMLET_BACKTODRAFTS)%></label> <%helplink(draft)%>\r
- <br />\r
- <input name="actiontype" value="delete" type="radio" id="act_delete" tabindex="61" /><label for="act_delete"><%text(_BMLET_DELETE)%></label>\r
-<%endif%>\r
-\r
- </td>\r
-</tr><tr>\r
- <td><%text(_ADD_PLUGIN_EXTRAS)%></td>\r
- <td>\r
- <%pluginextras%>\r
- </td> \r
-</tr>\r
- <%itemoptions%> \r
-<tr>\r
- <th colspan="2"><%text(_ADD_MORE)%></th>\r
-</tr>\r
-<tr>\r
- <td><%text(_ADD_MORE)%>\r
- <br /><%helplink(extended)%>\r
- </td>\r
- <td>\r
- <div class="jsbuttonbar">\r
-<!--[if IE]>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="cutThis()">\r
- <img src="<%skinfile(/images/button-cut.gif)%>" title="<%text(_ADD_CUT_TT)%>(Ctrl + X)" alt="<%text(_ADD_CUT_TT)%>(Ctrl + X)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="copyThis()">\r
- <img src="<%skinfile(/images/button-copy.gif)%>" title="<%text(_ADD_COPY_TT)%>(Ctrl + C)" alt="<%text(_ADD_COPY_TT)%>(Ctrl + C)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="pasteThis()">\r
- <img src="<%skinfile(/images/button-paste.gif)%>" title="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" alt="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">\r
- <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" alt="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">\r
- <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" alt="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">\r
- <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" alt="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" width="16" height="16" />\r
- </span>\r
-<![endif]-->\r
-<!--[if ! IE]>-->\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">\r
- <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>" alt="<%text(_ADD_BOLD_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">\r
- <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>" alt="<%text(_ADD_ITALIC_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">\r
- <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>" alt="<%text(_ADD_HREF_TT)%>" width="16" height="16" />\r
- </span>\r
-<!--<![endif]-->\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignleftThis()">\r
- <img src="<%skinfile(/images/button-alignleft.gif)%>" title="<%text(_ADD_ALIGNLEFT_TT)%>" alt="<%text(_ADD_ALIGNLEFT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignrightThis()">\r
- <img src="<%skinfile(/images/button-alignright.gif)%>" title="<%text(_ADD_ALIGNRIGHT_TT)%>" alt="<%text(_ADD_ALIGNRIGHT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="aligncenterThis()">\r
- <img src="<%skinfile(/images/button-aligncenter.gif)%>" title="<%text(_ADD_ALIGNCENTER_TT)%>" alt="<%text(_ADD_ALIGNCENTER_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="leftThis()">\r
- <img src="<%skinfile(/images/button-left.gif)%>" title="<%text(_ADD_LEFT_TT)%>" alt="<%text(_ADD_LEFT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="rightThis()">\r
- <img src="<%skinfile(/images/button-right.gif)%>" title="<%text(_ADD_RIGHT_TT)%>" alt="<%text(_ADD_RIGHT_TT)%>" width="16" height="16" />\r
- </span>\r
- <span class="jsbuttonspacer"> </span>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="addMedia()">\r
- <img src="<%skinfile(/images/button-media.gif)%>" title="<%text(_ADD_MEDIA_TT)%>" alt="<%text(_ADD_MEDIA_TT)%>" width="16" height="16" />\r
- </span>\r
-<!--[if IE]>\r
- <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="showedit()">\r
- <img src="<%skinfile(/images/button-preview.gif)%>" title="<%text(_ADD_PREVIEW_TT)%>" alt="<%text(_ADD_PREVIEW_TT)%>" width="16" height="16" />\r
- </span>\r
-<![endif]-->\r
- </div>\r
- <textarea id="inputmore" onkeyup="storeCaret(this); updPreview(more); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"\r
- name="more"\r
- tabindex="90"\r
- cols="60" \r
- rows="20"><%contents(more)%></textarea>\r
- </td>\r
-</tr><tr>\r
- <td><%text(_SUBMIT)%></td>\r
- <td>\r
- <input tabindex="60" type="submit" value="<%text(_EDIT_SUBMIT)%>" \r
- onclick="return checkSubmit();" />\r
- <%if(autosave)%><input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"\r
- onclick="autoSaveDraft();" /><%endif%>\r
- </td>\r
- \r
-</tr></table>\r
-\r
-</div>\r
-</form>\r
-\r
-<%if(autosave)%><script type="text/javascript">\r
- var xmlhttprequest = new Array();\r
- xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler\r
- xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler\r
- var seconds = now(); // Last AutoDraft time\r
- var checks = 0; // Number of checks since last AutoDraft\r
- var addform = document.getElementById('editform'); // The form id\r
- var goal = document.getElementById('info'); // The html div id where 'Last saved: date time' must come\r
- var goalurl = '../action.php'; // The PHP file where the content must be posted to\r
- var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'\r
- var formtype = 'edit'; // Add or edit form\r
-</script><%endif%>]]></part>\r
- <part name="itemlist"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>\r
- <h2><%text(_ITEMLIST_BLOG)%><%adminbloglink(defaultadmin)%></h2>\r
- <%ilistaddnew%>\r
- <%itemnavlist(defaultadmin)%>]]></part>\r
- <part name="itemmove"><![CDATA[<h2><%text(_MOVE_TITLE)%></h2>\r
- <form method="post" action="<%adminurl%>index.php"><div>\r
- <input type="hidden" name="action" value="itemmoveto" />\r
- <input type="hidden" name="itemid" value="<%moveitemid%>" />\r
- <%ticket%>\r
- <%movedistselect%>\r
- <input type="submit" value="<%text(_MOVE_BTN)%>" tabindex="10000" onclick="return checkSubmit();" />\r
- </div></form>]]></part>\r
- <part name="manage"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>\r
- <%headmessage%>\r
- <h2><%text(_MANAGE_GENERAL)%></h2>\r
-\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=createnewlog"><%text(_OVERVIEW_NEWLOG)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=settingsedit"><%text(_OVERVIEW_SETTINGS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=usermanagement"><%text(_OVERVIEW_MEMBERS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=actionlog"><%text(_OVERVIEW_VIEWLOG)%></a></li>\r
- </ul>\r
-\r
- <h2><%text(_MANAGE_SKINS)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=skinoverview"><%text(_OVERVIEW_SKINS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=templateoverview"><%text(_OVERVIEW_TEMPLATES)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=skinieoverview"><%text(_OVERVIEW_SKINIMPORT)%></a></li>\r
- </ul>\r
-\r
- <h2><%text(_MANAGE_EXTRA)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=backupoverview"><%text(_OVERVIEW_BACKUP)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=pluginlist"><%text(_OVERVIEW_PLUGINS)%></a></li>\r
- </ul>]]></part>\r
- <part name="manageteam"><![CDATA[<p><a href="<%adminurl%>index.php?action=blogsettings&blogid=<%requestblogid%>">(<%text(_BACK_TO_BLOGSETTINGS)%>)</a></p>\r
- <h2><%text(_TEAM_TITLE)%><%blogsetting(name)%></h2>\r
- <h3><%text(_TEAM_CURRENT)%></h3>\r
- <%blogteamlist(defaultadmin)%>\r
- <h3><%text(_TEAM_ADDNEW)%></h3>\r
- <form method='post' action='<%adminurl%>index.php'>\r
- <div>\r
- <input type='hidden' name='action' value='teamaddmember' />\r
- <input type='hidden' name='blogid' value='<%requestblogid%>' />\r
-\r
-\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <td><%text(_TEAM_CHOOSEMEMBER)%></td>\r
- <td><%newmemberselect%></td>\r
- </tr><tr>\r
- <td><%text(_TEAM_ADMIN)%><%helplink(teamadmin)%></td>\r
- <td><%inputyesno(admin,0,10020)%></td>\r
- </tr><tr>\r
- <td><%text(_TEAM_ADD)%></td>\r
- <td><input type='submit' value='<%text(_TEAM_ADD_BTN)%>' tabindex="10030" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="memberdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_MEMBER%><b><%editmember(displayname)%></b></p>\r
- <p><%text(_WARNINGTXT_NOTDELMEDIAFILES)%></p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="memberdeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="memberid" value="<%editmember(id)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
- </form>]]></part>\r
- <part name="overview"><![CDATA[<%headmessage%>\r
- <h2><%text(_OVERVIEW_YRBLOGS)%></h2>\r
- <%yrbloglist(defaultadmin)%>\r
- <h2><%text(_OVERVIEW_YRSETTINGS)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=editmembersettings"><%text(_OVERVIEW_EDITSETTINGS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=browseownitems"><%text(_OVERVIEW_BROWSEITEMS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=browseowncomments"><%text(_OVERVIEW_BROWSECOMM)%></a></li>\r
- </ul>\r
- <%if(superadmin)%><h2><%text(_OVERVIEW_MANAGEMENT)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=manage"><%text(_OVERVIEW_MANAGE)%></a></li>\r
- </ul>]]></part>\r
- <part name="pagefoot"><![CDATA[<%if(loggedin)%><%ifnot(adminaction,showlogin)%><h2><%text(_LOGOUT)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=logout"><%text(_LOGOUT)%></a></li>\r
- </ul><%endif%><%endif%>\r
- <div class="foot">\r
- <a href="<%text(_ADMINPAGEFOOT_OFFICIALURL)%>">Nucleus CMS</a> © 2002- <%date(%Y)%> <%text(_ADMINPAGEFOOT_COPYRIGHT)%> - <a href="<%text(_ADMINPAGEFOOT_DONATEURL)%>"><%text(_ADMINPAGEFOOT_DONATE)%></a>\r
- </div>\r
- </div><!-- content -->\r
- <div id="quickmenu">\r
- <%if(loggedin)%><%ifnot(adminaction,showlogin)%><ul>\r
- <li><a href="<%adminurl%>index.php?action=overview"><%text(_QMENU_HOME)%></a></li>\r
- </ul>\r
-\r
- <h2><%text(_QMENU_ADD)%></h2>\r
- <form method="get" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="createitem" />\r
- <%qmenuaddselect%>\r
- </div>\r
- </form>\r
- \r
- <h2><%member(yourrealname)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=editmembersettings"><%text(_QMENU_USER_SETTINGS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=browseownitems"><%text(_QMENU_USER_ITEMS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=browseowncomments"><%text(_QMENU_USER_COMMENTS)%></a></li>\r
- </ul>\r
- <%if(superadmin)%><h2><%text(_QMENU_MANAGE)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=actionlog"><%text(_QMENU_MANAGE_LOG)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=settingsedit"><%text(_QMENU_MANAGE_SETTINGS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=systemoverview"><%text(_QMENU_MANAGE_SYSTEM)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=usermanagement"><%text(_QMENU_MANAGE_MEMBERS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=createnewlog"><%text(_QMENU_MANAGE_NEWBLOG)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=backupoverview"><%text(_QMENU_MANAGE_BACKUPS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=pluginlist"><%text(_QMENU_MANAGE_PLUGINS)%></a></li>\r
- </ul>\r
- <h2><%text(_QMENU_LAYOUT)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=skinoverview"><%text(_QMENU_LAYOUT_SKINS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=templateoverview"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=skinieoverview"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>\r
- </ul>\r
- <h2><%text(_SKINABLEADMIN_QMENU_LAYOUT)%></h2>\r
- <ul>\r
- <li><a href="<%adminurl%>index.php?action=adminskinoverview"><%text(_QMENU_LAYOUT_SKINS)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=admintemplateoverview"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>\r
- <li><a href="<%adminurl%>index.php?action=adminskinieoverview"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>\r
- </ul><%endif%>\r
- <%quickmenu(defaultadmin)%>\r
- <%elseif(adminaction,activate)%><h2><%text(_QMENU_ACTIVATE)%></h2><%text(_QMENU_ACTIVATE_TEXT)%>\r
- <%elseif(adminaction,activatesetpwd)%><h2><%text(_QMENU_ACTIVATE)%></h2><%text(_QMENU_ACTIVATE_TEXT)%>\r
- <%else%><h2><%text(_QMENU_INTRO)%></h2><%text(_QMENU_INTRO_TEXT)%><%endif%>\r
- </div>\r
- <!-- content / quickmenu container -->\r
- <div class="clear"></div> <!-- new -->\r
- </div>\r
- <!-- adminwrapper --> <!-- new -->\r
- </div> <!-- new -->\r
- </body>\r
-</html>]]></part>\r
- <part name="pagehead"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP">\r
- <head>\r
- <meta http-equiv="Content-Type" content="text/html; charset=<%charset%>" />\r
- <title><%sitevar(name)%> - Admin</title>\r
- <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%skinfile(/styles/admin_contemporary_jp.css)%>" />\r
- <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%skinfile(/styles/addedit.css)%>" />\r
-\r
- <script type="text/javascript" src="<%skinfile(/javascript/edit.js)%>"></script>\r
- <script type="text/javascript" src="<%skinfile(/javascript/admin.js)%>"></script>\r
- <script type="text/javascript" src="<%skinfile(/javascript/compatibility.js)%>"></script>\r
-\r
- <meta http-equiv='Pragma' content='no-cache' />\r
- <meta http-equiv='Cache-Control' content='no-cache, must-revalidate' />\r
- <meta http-equiv='Expires' content='-1' />\r
- <%extrahead%>\r
- </head>\r
- <body>\r
- <div id="adminwrapper">\r
- <div class="header">\r
- <h1><%sitevar(name)%></h1>\r
- </div>\r
- <div id="container">\r
- <div id="content">\r
- <div class="loginname">\r
- <%if(loggedin)%><%text(_LOGGEDINAS)%> <%member(yourrealname)%> - <a href="<%adminurl%>index.php?action=logout"><%text(_LOGOUT)%></a><br /><a href="<%adminurl%>index.php?action=overview"><%text(_ADMINHOME)%></a> - <%else%><a href="<%adminurl%>index.php?action=showlogin" title="Log in"><%text(_NOTLOGGEDIN)%></a><br /><%endif%>\r
- <a href="<%sitevar(url)%>"><%text(_YOURSITE)%></a><br />\r
- (<%if(superadmin)%><a href="<%versioncheckurl%>" title="<%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE)%>"><%version%><%codename%></a><%newestcompare%><%else%><%version%><%codename%><%endif%>)\r
- </div>]]></part>\r
- <part name="plugindelete"><![CDATA[ <h2><%text(_DELETE_CONFIRM)%></h2>\r
-\r
- <p><%text(_CONFIRMTXT_PLUGIN)%> <strong><%editpluginfo(name)%></strong>?</p>\r
- <form method="post" action="<%adminurl%>index.php"><div>\r
- <%ticket%>\r
- <input type="hidden" name="action" value="plugindeleteconfirm" />\r
- <input type="hidden" name="plugid" value="<%editpluginfo(id)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div></form>\r
-]]></part>\r
- <part name="pluginhelp"><![CDATA[ <p><a href="<%adminurl%>index.php?action=pluginlist">(<%text(_PLUGS_BACK)%>)</a></p>\r
- <h2><%text(_PLUGS_HELP_TITLE)%>: <%helpplugname%></h2>\r
- <%pluginhelp%>\r
-]]></part>\r
- <part name="pluginlist"><![CDATA[ <p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_PLUGS_TITLE_MANAGE)%><%helplink(plugins)%></h2>\r
- <h3><%text(_PLUGS_TITLE_INSTALLED)%> <span style="font-size:smaller"><%helplink('getplugins')%><%text(_PLUGS_TITLE_GETPLUGINS)%></a></span></h3>\r
- <%pluginlistlist(defaultadmin)%>\r
- <h3><%text(_PLUGS_TITLE_UPDATE)%></h3>\r
- <p><%text(_PLUGS_TEXT_UPDATE)%></p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="pluginupdate" />\r
- <%ticket%>\r
- <input type="submit" value="<%text(_PLUGS_BTN_UPDATE)%>" tabindex="20" />\r
- </div>\r
- </form>\r
- <h3><%text(_PLUGS_TITLE_NEW)%></h3>\r
- <%if(existsnewplugin)%><p><%text(_PLUGS_ADD_TEXT)%></p>\r
- <form method='post' action='index.php'>\r
-\r
- <div>\r
- <input type='hidden' name='action' value='pluginadd' />\r
- <%ticket%>\r
- <select name="filename" tabindex="30">\r
- <%newpluginlist%>\r
- </select>\r
- <input type='submit' tabindex="40" value='<%text(_PLUGS_BTN_INSTALL)%>' />\r
- </div></form><%else%><p><%text(_PLUGS_NOCANDIDATES)%></p><%endif%>]]></part>\r
- <part name="pluginoptions"><![CDATA[<p><a href="<%adminurl%>index.php?action=pluginlist">(<%text(_PLUGS_BACK)%>)</a></p>\r
- <h2><%sprinttext(_PLUGIN_OPTIONS_TITLE,<|%geteditpluginfo(name)%|>)%></h2>\r
- <%headmessage%>\r
- <form action="<%adminurl%>index.php" method="post">\r
-\r
- <div>\r
- <input type="hidden" name="action" value="pluginoptionsupdate" />\r
- <input type="hidden" name="plugid" value="<%editpluginfo(id)%>" />\r
- <%ticket%>\r
- <%editplugoptionslist%>\r
- </div>\r
- </form>]]></part>\r
- <part name="settingsedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_SETTINGS_TITLE)%></h2>\r
- <form action="<%adminurl%>index.php" method="post">\r
- <div>\r
- <input type="hidden" name="action" value="settingsupdate" />\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_SETTINGS_SUB_GENERAL)%></th>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_DEFBLOG)%> <%helplink(defaultblog)%></td>\r
- <td><%defblogselect%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_BASESKIN)%> <%helplink(baseskin)%></td>\r
- <td><%defskinselect(global)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_ADMINMAIL)%></td>\r
- <td><input name="AdminEmail" tabindex="10010" size="40" value="<%configsettingsedit(AdminEmail)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_SITENAME)%></td>\r
- <td><input name="SiteName" tabindex="10020" size="40" value="<%configsettingsedit(SiteName)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_SITEURL)%></td>\r
- <td><input name="IndexURL" tabindex="10030" size="40" value="<%configsettingsedit(IndexURL)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_ADMINURL)%></td>\r
- <td><input name="AdminURL" tabindex="10040" size="40" value="<%configsettingsedit(AdminURL)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_PLUGINURL)%> <%helplink(pluginurl)%></td>\r
- <td><input name="PluginURL" tabindex="10045" size="40" value="<%configsettingsedit(PluginURL)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_SKINSURL)%> <%helplink(skinsurl)%></td>\r
- <td><input name="SkinsURL" tabindex="10046" size="40" value="<%configsettingsedit(SkinsURL)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_ACTIONSURL)%> <%helplink(actionurl)%></td>\r
- <td><input name="ActionURL" tabindex="10047" size="40" value="<%configsettingsedit(ActionURL)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_LANGUAGE)%> <%helplink(language)%></td>\r
- <td><select name="Locale" tabindex="10050"><%localeselectoptions%></select></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_DISABLESITE)%> <%helplink(disablesite)%></td>\r
- <td>\r
- <%configsettingsyesno(DisableSite, 10060)%><br />\r
- <%text(_SETTINGS_DISABLESITEURL)%> <input name="DisableSiteURL" tabindex="10070" size="40" value="<%configsettingsedit(DisableSiteURL)%>" />\r
- </td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_DIRS)%></td>\r
- <td><%outputspecialdirs(nucleusdir)%><i><%text(_SETTINGS_SEECONFIGPHP)%></i></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_DBLOGIN)%></td>\r
- <td><i><%text(_SETTINGS_SEECONFIGPHP)%></i></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_JSTOOLBAR)%></td>\r
- <td>\r
- <select name="DisableJsTools" tabindex="10075">\r
- <%jstoolbaroptions%>\r
- </select>\r
- </td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_URLMODE)%> <%helplink(urlmode)%></td>\r
- <td><%configsettingsedit(URLMode)%> <%text(_SETTINGS_URLMODE_HELP)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_DEBUGVARS)%> <%helplink(debugvars)%></td>\r
- <td><%configsettingsyesno(DebugVars, 10078)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_DEFAULTLISTSIZE)%> <%helplink(defaultlistsize)%></td>\r
- <td><input name="DefaultListSize" tabindex="10079" size="40" value="<%configsettingsedit(DefaultListSize)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_ADMINCSS)%></td>\r
- <td><select name="AdminCSS" tabindex="10080"><%adminstyleselectoptions%></select></td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SETTINGS_MEDIA)%> <%helplink(media)%></th>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_MEDIADIR)%></td>\r
- <td>\r
- <%outputspecialdirs(mediadir)%>\r
- <i><%text(_SETTINGS_SEECONFIGPHP)%></i><%mediadirwarning%>\r
- </td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_MEDIAURL)%></td>\r
- <td><input name="MediaURL" tabindex="10080" size="40" value="<%configsettingsedit(MediaURL)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_ALLOWUPLOAD)%></td>\r
- <td><%configsettingsyesno(AllowUpload, 10090)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_ALLOWUPLOADTYPES)%></td>\r
- <td><input name="AllowedTypes" tabindex="10100" size="40" value="<%configsettingsedit(AllowedTypes)%>" />\r
- </tr><tr>\r
- <td><%text(_SETTINGS_MAXUPLOADSIZE)%></td>\r
- <td><input name="MaxUploadSize" tabindex="10105" size="40" value="<%configsettingsedit(MaxUploadSize)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_MEDIAPREFIX)%></td>\r
- <td><%configsettingsyesno(MediaPrefix, 10110)%></td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SETTINGS_MEMBERS)%></th>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_CHANGELOGIN)%></td>\r
- <td><%configsettingsyesno(AllowLoginEdit, 10120)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_ALLOWCREATE)%> <%helplink(allowaccountcreation)%>\r
- </td>\r
- <td><%configsettingsyesno(AllowMemberCreate, 10130)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_NEWLOGIN)%> <%helplink(allownewmemberlogin)%><br /><%text(_SETTINGS_NEWLOGIN2)%></td>\r
- <td><%configsettingsyesno(NewMemberCanLogon, 10140)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_MEMBERMSGS)%> <%helplink(messageservice)%></td>\r
- <td><%configsettingsyesno(AllowMemberMail, 10150)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_NONMEMBERMSGS)%> <%helplink(messageservice)%></td>\r
- <td><%configsettingsyesno(NonmemberMail, 10155%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_PROTECTMEMNAMES)%> <%helplink(protectmemnames)%></td>\r
- <td><%configsettingsyesno(ProtectMemNames, 10156)%></td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SETTINGS_COOKIES_TITLE)%> <%helplink(cookies)%></th>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_COOKIEPREFIX)%></td>\r
- <td><input name="CookiePrefix" tabindex="10159" size="40" value="<%configsettingsedit(CookiePrefix)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_COOKIEDOMAIN)%></td>\r
- <td><input name="CookieDomain" tabindex="10160" size="40" value="<%configsettingsedit(CookieDomain)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_COOKIEPATH)%></td>\r
- <td><input name="CookiePath" tabindex="10170" size="40" value="<%configsettingsedit(CookiePath)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_COOKIESECURE)%></td>\r
- <td><%configsettingsyesno(CookieSecure, 10180)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_COOKIELIFE)%></td>\r
- <td><%configsettingsedit(SessionCookie)%></td>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_LASTVISIT)%></td>\r
- <td><%configsettingsyesno(LastVisit, 10200)%></td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SETTINGS_UPDATE)%></th>\r
- </tr><tr>\r
- <td><%text(_SETTINGS_UPDATE)%></td>\r
- <td><input type="submit" tabindex="10210" value="<%text(_SETTINGS_UPDATE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>\r
- <h2><%text(_PLUGINS_EXTRA)%></h2>\r
- <%pluginextras%>]]></part>\r
- <part name="showlogin"><![CDATA[<h2><%text(_LOGIN)%></h2>\r
- <%headmessage%>\r
- <form action="<%adminurl%>index.php" method="post"><p>\r
- <%text(_LOGIN_NAME)%> <br /><input name="login" tabindex="10" />\r
- <br />\r
- <%text(_LOGIN_PASSWORD)%> <br /><input name="password" tabindex="20" type="password" />\r
- <br />\r
- <input name="action" value="login" type="hidden" />\r
- <br />\r
- <input type="submit" value="<%text(_LOGIN)%>" tabindex="30" />\r
- <br />\r
- <small>\r
- <input type="checkbox" value="1" name="shared" tabindex="40" id="shared" /><label for="shared"><%text(_LOGIN_SHARED)%></label>\r
- <br /><a href="forgotpassword.html"><%text(_LOGIN_FORGOT)%></a>\r
- </small>\r
- <%passrequestvars%>\r
- </p></form>]]></part>\r
- <part name="skindelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_SKIN)%><b><%editskintype(name)%></b> (<%editskintype(desc)%>)</p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="skindeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="skinid" value="<%editskintype(id)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
- </form>]]></part>\r
- <part name="skinedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=skinoverview">(<%text(_SKIN_BACK)%>)</a></p>\r
- <h2><%text(_SKIN_EDITONE_TITLE)%> '<%editskin(name)%>'</h2>\r
- <h3><%text(_SKIN_PARTS_TITLE)%></h3>\r
- <%text(_SKIN_PARTS_MSG)%>\r
- <ul>\r
- <li><a tabindex="10" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=index"><%text(_SKIN_PART_MAIN)%></a> <%helplink(skinpartindex)%></li>\r
- <li><a tabindex="20" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=item"><%text(_SKIN_PART_ITEM)%></a> <%helplink(skinpartitem)%></li>\r
- <li><a tabindex="30" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=archivelist"><%text(_SKIN_PART_ALIST)%></a> <%helplink(skinpartarchivelist)%></li>\r
- <li><a tabindex="40" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=archive"><%text(_SKIN_PART_ARCHIVE)%></a> <%helplink(skinpartarchive)%></li>\r
- <li><a tabindex="50" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=search"><%text(_SKIN_PART_SEARCH)%></a> <%helplink(skinpartsearch)%></li>\r
- <li><a tabindex="60" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=error"><%text(_SKIN_PART_ERROR)%></a> <%helplink(skinparterror)%></li>\r
- <li><a tabindex="70" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=member"><%text(_SKIN_PART_MEMBER)%></a> <%helplink(skinpartmember)%></li>\r
- <li><a tabindex="75" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=imagepopup"><%text(_SKIN_PART_POPUP)%></a> <%helplink(skinpartimagepopup)%></li>\r
- </ul>\r
- <h3><%text(_SKIN_PARTS_SPECIAL)%></h3>\r
- <form method="get" action="<%adminurl%>index.php">\r
- <input type="hidden" name="action" value="skinedittype" />\r
- <input type="hidden" name="skinid" value="<%editskin(id)%>" />\r
- <input name="type" tabindex="89" size="20" maxlength="20" />\r
- <input type="submit" tabindex="140" value="<%text(_SKIN_CREATE)%>" onclick="return checkSubmit();" />\r
- </form>\r
- <%specialskinlist(defaultadmin)%>\r
- <h3><%text(_SKIN_GENSETTINGS_TITLE)%></h3>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="skineditgeneral" />\r
- <%ticket%>\r
- <input type="hidden" name="skinid" value="<%editskin(id)%>" />\r
- <table>\r
- <tr>\r
- <td><%text(_SKIN_NAME)%> <%helplink(shortnames)%></td>\r
- <td><input name="name" tabindex="90" value="<%editskin(name)%>" maxlength="20" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_DESC)%></td>\r
- <td><input name="desc" tabindex="100" value="<%editskin(desc)%>" maxlength="200" size="50" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_TYPE)%></td>\r
- <td><input name="type" tabindex="110" value="<%editskin(type)%>" maxlength="40" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_INCLUDE_MODE)%> <%helplink(includemode)%></td>\r
- <td><%editskin(mode)%></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_INCLUDE_PREFIX)%> <%helplink(includeprefix)%></td>\r
- <td><input name="inc_prefix" tabindex="130" value="<%editskin(prefix)%>" maxlength="40" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_CHANGE)%></td>\r
- <td><input type="submit" tabindex="140" value="<%text(_SKIN_CHANGE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr></table>\r
- </div>\r
- </form>]]></part>\r
- <part name="skinedittype"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=skinoverview"><%text(_SKIN_GOBACK)%></a>)</p>\r
- <h2><%text(_SKIN_EDITPART_TITLE)%> '<%editskintype(name)%>': <%editskintype(skintype)%></h2>\r
- <%headmessage%>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="skinupdate" />\r
-\r
- <%ticket%>\r
- <input type="hidden" name="skinid" value="<%editskintype(id)%>" />\r
- <input type="hidden" name="type" value="<%editskintype(skintyperaw)%>" />\r
- <input type="submit" value="<%text(_SKIN_UPDATE_BTN)%>" onclick="return checkSubmit();" />\r
- <input type="reset" value="<%text(_SKIN_RESET_BTN)%>" />\r
- (skin type: <%editskintype(skintype)%>)<%skintypehelp%><br />\r
- <textarea class="skinedit" tabindex="10" rows="20" cols="80" name="content"><%editskintype(content)%></textarea><br />\r
- <input type="submit" tabindex="20" value="<%text(_SKIN_UPDATE_BTN)%>" onclick="return checkSubmit();" />\r
- <input type="reset" value="<%text(_SKIN_RESET_BTN)%>" />\r
- (skin type: <%editskintype(skintype)%>)\r
- <br /><br />\r
- <%text(_SKIN_ALLOWEDVARS)%>\r
- <%allowedskinactions%><br /><br />\r
- <%text(_SKINEDIT_ALLOWEDBLOGS)%>\r
- <%skineditallowedlist(blog)%>\r
- <%text(_SKINEDIT_ALLOWEDTEMPLATESS)%>\r
- <%skineditallowedlist(template)%><br />\r
- </div>\r
- </form>]]></part>\r
- <part name="skiniedoimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_SKINIE_DONE)%></h2>\r
-\r
- <ul>\r
- <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>\r
- <li><p><strong><%text(_SKINIE_INFO_IMPORTEDSKINS)%></strong> <%importskininfo(snames)%></p></li>\r
- <li><p><strong><%text(_SKINIE_INFO_IMPORTEDTEMPLS)%></strong> <%importskininfo(tnames)%></p></li>\r
- </ul>]]></part>\r
- <part name="skinieimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=skinieoverview">(<%text(_BACK)%>)</a></p>\r
- <h2><%text(_SKINIE_CONFIRM_TITLE)%></h2>\r
- <ul>\r
- <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>\r
- <li><p><strong><%text(_SKINIE_INFO_SKINS)%></strong> <%importskininfo(snames)%></p></li>\r
- <li><p><strong><%text(_SKINIE_INFO_TEMPLATES)%></strong> <%importskininfo(tnames)%></p></li>\r
- <%if(nameclashes)%><li><p><strong style="color: red;"><%text(_SKINIE_INFO_SKINCLASH)%></strong> <%importskininfo(sclashes)%></p></li>\r
- <li><p><strong style="color: red;"><%text(_SKINIE_INFO_TEMPLCLASH)%></strong> <%importskininfo(tclashes)%></p></li><%endif%>\r
- </ul>\r
-\r
- <form method="post" action="<%adminurl%>index.php"><div>\r
- <input type="hidden" name="action" value="skiniedoimport" />\r
- <%ticket%>\r
- <input type="hidden" name="skinfile" value="<%importskininfo(skinfile)%>" />\r
- <input type="hidden" name="mode" value="<%importskininfo(mode)%>" />\r
- <input type="submit" value="<%text(_SKINIE_CONFIRM_IMPORT)%>" />\r
- <%if(nameclashes)%><br />\r
- <input type="checkbox" name="overwrite" value="1" id="cb_overwrite" /><label for="cb_overwrite"><%text(_SKINIE_CONFIRM_OVERWRITE)%></label><%endif%>\r
- </div></form>]]></part>\r
- <part name="skinieoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_SKINIE_TITLE_IMPORT)%></h2>\r
- <p>\r
- <label for="skinie_import_local"><%text(_SKINIE_LOCAL)%></label>\r
- <%if(skincandidates)%><form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="skinieimport" />\r
- <%ticket%>\r
- <input type="hidden" name="mode" value="file" />\r
- <select name="skinfile" id="skinie_import_local">\r
- <%selectlocalskinfiles%>\r
- </select>\r
- <input type="submit" value="<%text(_SKINIE_BTN_IMPORT)%>" />\r
- </div>\r
- </form><%else%><%text(_SKINIE_NOCANDIDATES)%><%endif%>\r
- </p>\r
- <p><em><%text(_OR)%></em></p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <p>\r
- <%ticket%>\r
- <input type="hidden" name="action" value="skinieimport" />\r
- <input type="hidden" name="mode" value="url" />\r
- <label for="skinie_import_url"><%text(_SKINIE_FROMURL)%></label>\r
- <input type="text" name="skinfile" id="skinie_import_url" size="60" value="http://" />\r
- <input type="submit" value="<%text(_SKINIE_BTN_IMPORT)%>" />\r
- </p>\r
- </form>\r
- <h2><%text(_SKINIE_TITLE_EXPORT)%></h2>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="skinieexport" />\r
- <%ticket%>\r
- <p><%text(_SKINIE_EXPORT_INTRO)%></p>\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_SKINIE_EXPORT_SKINS)%></th>\r
- </tr><tr>\r
- <%skinielist(skin,defaultadmin)%>\r
- <th colspan="2"><%text(_SKINIE_EXPORT_TEMPLATES)%></th>\r
- </tr><tr>\r
- <%skinielist(template,defaultadmin)%>\r
- <th colspan="2"><%text(_SKINIE_EXPORT_EXTRA)%></th>\r
- </tr><tr>\r
- <td colspan="2"><textarea cols="40" rows="5" name="info"></textarea></td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_SKINIE_TITLE_EXPORT)%></th>\r
- </tr><tr>\r
- <td colspan="2"><input type="submit" value="<%text(_SKINIE_BTN_EXPORT)%>" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="skinoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_SKIN_EDIT_TITLE)%></h2>\r
- <h3><%text(_SKIN_AVAILABLE_TITLE)%></h3>\r
- <%skinoverview%>\r
- <h3><%text(_SKIN_NEW_TITLE)%></h3>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input name="action" value="skinnew" type="hidden" />\r
-\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <td><%text(_SKIN_NAME)%> <%helplink(shortnames)%></td>\r
- <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_DESC)%></td>\r
- <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>\r
- </tr><tr>\r
- <td><%text(_SKIN_CREATE)%></td>\r
- <td><input type="submit" tabindex="10030" value="<%text(_SKIN_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="skinremovetype"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_SKIN_PARTS_SPECIAL)%><b><%editskintype(skintype)%> (<%editskintype(name)%>)</b> (<%editskintype(desc)%>)</p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="skinremovetypeconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="skinid" value="<%editskintype(id)%>" />\r
- <input type="hidden" name="type" value="<%editskintype(skintype)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
- </form>]]></part>\r
- <part name="systemoverview"><![CDATA[ <h2><%text(_ADMIN_SYSTEMOVERVIEW_HEADING)%></h2>\r
-<%if(superadmin)%>\r
- <h3><%text(_ADMIN_SYSTEMOVERVIEW_PHPANDMYSQL)%></h3>\r
- <table summary="Version of PHP MySQL">\r
- <tr>\r
- <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_VERSIONS)%></th>\r
- </tr><tr>\r
- <td width="50%"><%text(_ADMIN_SYSTEMOVERVIEW_PHPVERSION)%></td>\r
- <td><%systemsettings(phpversion)%></td>\r
- </tr><tr>\r
- <td><%text(_ADMIN_SYSTEMOVERVIEW_MYSQLVERSION)%></td>\r
- <td><%systemsettings(sqlserverinfo)%> (<%systemsettings(sqlclientinfo)%>)</td>\r
- </tr>\r
- </table>\r
- <table summary="Important PHP settings">\r
- <tr>\r
- <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_SETTINGS)%></th>\r
- </tr><tr>\r
- <td width="50%">magic_quotes_gpc</td>\r
- <td><%systemsettings(magicquotesgpc)%></td>\r
- </tr><tr>\r
- <td width="50%">magic_quotes_runtime</td>\r
- <td><%systemsettings(magicquotesruntime)%></td>\r
- </tr><tr>\r
- <td width="50%">register_globals</td>\r
- <td><%systemsettings(registerglobals)%></td>\r
- </tr>\r
- </table>\r
- <table summary="Information about GD library">\r
- <tr>\r
- <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_GDLIBRALY)%></th>\r
- </tr>\r
- <%systemsettings(gdinfo)%>\r
- </table>\r
- <table summary="special modules are loaded">\r
- <tr>\r
- <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_MODULES)%></th>\r
- </tr><tr>\r
- <td width="50%">mod_rewrite</td>\r
- <td><%systemsettings(modrewrite)%></td>\r
- </tr>\r
- </table>\r
-\r
- <h3><%text(_ADMIN_SYSTEMOVERVIEW_NUCLEUSSYSTEM)%></h3>\r
- <table summary="Information about the used Nucleus CMS">\r
- <tr>\r
- <th colspan="2">Nucleus CMS</th>\r
- </tr><tr>\r
- <td width="50%"><%text(_ADMIN_SYSTEMOVERVIEW_NUCLEUSVERSION)%></td>\r
- <td><%systemsettings(nucleusversion)%></td>\r
- </tr><tr>\r
- <td width="50%"><%text(_ADMIN_SYSTEMOVERVIEW_NUCLEUSPATCHLEVEL)%></td>\r
- <td><%systemsettings(nucleuspatchlevel)%></td>\r
- </tr>\r
- </table>\r
- <table summary="Important settings of the installation">\r
- <tr>\r
- <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_NUCLEUSSETTINGS)%></th>\r
- </tr><tr>\r
- <td width="50%">$CONF['Self']</td>\r
- <td><%systemsettings(confself)%></td>\r
- </tr><tr>\r
- <td width="50%">$CONF['ItemURL']</td>\r
- <td><%systemsettings(confitemurl)%></td>\r
- </tr><tr>\r
- <td width="50%">$CONF['alertOnHeadersSent']</td>\r
- <td><%systemsettings(alertonheaderssent)%></td>\r
- </tr>\r
- </table>\r
-\r
- <h3><%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK)%></h3>\r
- <!-- Link to the online version test at the Nucleus CMS website -->\r
- <%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TXT)%>\r
- <a href="<%systemsettings(versioncheckurl)%>" title="<%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE)%>">\r
- Nucleus CMS <%systemsettings(nucleusversion)%> <%systemsettings(nucleuscodename)%>\r
- </a><br />\r
-<%else%>\r
- <%text(_ADMIN_SYSTEMOVERVIEW_NOT_ADMIN)%>\r
-]]></part>\r
- <part name="teamdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p>\r
- <%text(_CONFIRMTXT_TEAM1)%>\r
- <b>\r
- <%editmember(displayname)%>\r
- </b>\r
- <%text(_CONFIRMTXT_TEAM2)%>\r
- <b>\r
- <%blogsetting(name)%>\r
- </b>\r
- </p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="teamdeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="memberid" value="<%editmember(id)%>" />\r
- <input type="hidden" name="blogid" value="<%requestblogid%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div></form>]]></part>\r
- <part name="templatedelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>\r
- <p><%text(_CONFIRMTXT_TEMPLATE)%><b><%edittemplateinfo(name)%></b> (<%edittemplateinfo(desc)%>)</p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="templatedeleteconfirm" />\r
- <%ticket%>\r
- <input type="hidden" name="templateid" value="<%edittemplateinfo(id)%>" />\r
- <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />\r
- </div>\r
- </form>]]></part>\r
- <part name="templateedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=templateoverview">(<%text(_TEMPLATE_BACK)%>)</a></p>\r
-\r
- <h2><%text(_TEMPLATE_EDIT_TITLE)%> '<%edittemplateinfo(name)%>'</h2>\r
- <%headmessage%>\r
- <p><%text(_TEMPLATE_EDIT_MSG)%></p>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input type="hidden" name="action" value="templateupdate" />\r
- <%ticket%>\r
- <input type="hidden" name="templateid" value="<%edittemplateinfo(id)%>" />\r
- <table>\r
- <tr>\r
- <th colspan="2"><%text(_TEMPLATE_SETTINGS)%></th>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_NAME)%> <%helplink(shortnames)%></td>\r
- <td><input name="tname" tabindex="4" size="20" maxlength="20" value="<%edittemplateinfo(name)%>" /></td>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_DESC)%></td>\r
- <td><input name="tdesc" tabindex="5" size="50" maxlength="200" value="<%edittemplateinfo(desc)%>" /></td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_UPDATE)%></th>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_UPDATE)%></td>\r
- <td>\r
- <input type="submit" tabindex="6" value="<%text(_TEMPLATE_UPDATE_BTN)%>" onclick="return checkSubmit();" />\r
- <input type="reset" tabindex="7" value="<%text(_TEMPLATE_RESET_BTN)%>" />\r
- </td>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_ITEMS)%> <%helplink(templateitems)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_ITEMHEADER,ITEM_HEADER,,8)%>\r
- <%edittemplateinfo(row,_TEMPLATE_ITEMBODY,ITEM,,9,1)%>\r
- <%edittemplateinfo(row,_TEMPLATE_ITEMFOOTER,ITEM_FOOTER,,10)%>\r
- <%edittemplateinfo(row,_TEMPLATE_MORELINK,MORELINK,morelink, 20)%>\r
- <%edittemplateinfo(row,_TEMPLATE_EDITLINK, EDITLINK, editlink, 25)%>\r
- <%edittemplateinfo(row,_TEMPLATE_NEW, NEW, new, 30)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_COMMENTS_ANY)%> <%helplink(templatecomments)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_CHEADER, COMMENTS_HEADER, commentheaders, 40)%>\r
- <%edittemplateinfo(row,_TEMPLATE_CBODY, COMMENTS_BODY, commentbody, 50, 1)%>\r
- <%edittemplateinfo(row,_TEMPLATE_CFOOTER, COMMENTS_FOOTER, commentheaders, 60)%>\r
- <%edittemplateinfo(row,_TEMPLATE_CONE, COMMENTS_ONE, commentwords, 70)%>\r
- <%edittemplateinfo(row,_TEMPLATE_CMANY, COMMENTS_MANY, commentwords, 80)%>\r
- <%edittemplateinfo(row,_TEMPLATE_CMORE, COMMENTS_CONTINUED, commentcontinued, 90)%>\r
- <%edittemplateinfo(row,_TEMPLATE_CMEXTRA, COMMENTS_AUTH, memberextra, 100)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_COMMENTS_NONE)%> <%helplink(templatecomments)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_CNONE, COMMENTS_NONE, , 110)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_COMMENTS_TOOMUCH)%> <%helplink(templatecomments)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_CTOOMUCH, COMMENTS_TOOMUCH, , 120)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_ARCHIVELIST)%> <%helplink(templatearchivelists)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_AHEADER, ARCHIVELIST_HEADER, , 130)%>\r
- <%edittemplateinfo(row,_TEMPLATE_AITEM, ARCHIVELIST_LISTITEM, , 140)%>\r
- <%edittemplateinfo(row,_TEMPLATE_AFOOTER, ARCHIVELIST_FOOTER, , 150)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_BLOGLIST)%> <%helplink(templatebloglists)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_BLOGHEADER, BLOGLIST_HEADER, , 160)%>\r
- <%edittemplateinfo(row,_TEMPLATE_BLOGITEM, BLOGLIST_LISTITEM, , 170)%>\r
- <%edittemplateinfo(row,_TEMPLATE_BLOGFOOTER, BLOGLIST_FOOTER, , 180)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_CATEGORYLIST)%> <%helplink(templatecategorylists)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_CATHEADER, CATLIST_HEADER, , 190)%>\r
- <%edittemplateinfo(row,_TEMPLATE_CATITEM, CATLIST_LISTITEM, , 200)%>\r
- <%edittemplateinfo(row,_TEMPLATE_CATFOOTER, CATLIST_FOOTER, , 210)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_DATETIME)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_DHEADER, DATE_HEADER, dateheads, 220)%>\r
- <%edittemplateinfo(row,_TEMPLATE_DFOOTER, DATE_FOOTER, dateheads, 230)%>\r
- <%edittemplateinfo(row,_TEMPLATE_DFORMAT, FORMAT_DATE, datetime, 240)%>\r
- <%edittemplateinfo(row,_TEMPLATE_TFORMAT, FORMAT_TIME, datetime, 250)%>\r
- <%edittemplateinfo(row,_TEMPLATE_LOCALE, LOCALE, locale, 260)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_IMAGE)%> <%helplink(templatepopups)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_PCODE, POPUP_CODE, , 270)%>\r
- <%edittemplateinfo(row,_TEMPLATE_ICODE, IMAGE_CODE, , 280)%>\r
- <%edittemplateinfo(row,_TEMPLATE_MCODE, MEDIA_CODE, , 290)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_SEARCH)%></th>\r
- <%edittemplateinfo(row,_TEMPLATE_SHIGHLIGHT, SEARCH_HIGHLIGHT, highlight,300)%>\r
- <%edittemplateinfo(row,_TEMPLATE_SNOTFOUND, SEARCH_NOTHINGFOUND, nothingfound,310)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_PLUGIN_FIELDS)%></th>\r
- <%edittemplateinfo(extratemplate,defaultadmin)%>\r
- </tr><tr>\r
- <th colspan="2"><%text(_TEMPLATE_UPDATE)%></th>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_UPDATE)%></td>\r
- <td>\r
- <input type="submit" tabindex="800" value="<%text(_TEMPLATE_UPDATE_BTN)%>" onclick="return checkSubmit();" />\r
- <input type="reset" tabindex="810" value="<%text(_TEMPLATE_RESET_BTN)%>" />\r
- </td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="templateoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_TEMPLATE_TITLE)%></h2>\r
- <h3><%text(_TEMPLATE_AVAILABLE_TITLE)%></h3>\r
- <%templateoverview%>\r
- <h3><%text(_TEMPLATE_NEW_TITLE)%></h3>\r
- <form method="post" action="<%adminurl%>index.php">\r
- <div>\r
- <input name="action" value="templatenew" type="hidden" />\r
- <%ticket%>\r
- <table>\r
- <tr>\r
- <td><%text(_TEMPLATE_NAME)%> <%helplink(shortnames)%></td>\r
- <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_DESC)%></td>\r
- <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>\r
- </tr><tr>\r
- <td><%text(_TEMPLATE_CREATE)%></td>\r
- <td><input type="submit" tabindex="10030" value="<%text(_TEMPLATE_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </form>]]></part>\r
- <part name="usermanagement"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>\r
- <h2><%text(_MEMBERS_TITLE)%></h2>\r
- <h3><%text(_MEMBERS_CURRENT)%></h3>\r
- <%editmemberlist(defaultadmin)%>\r
- <h3><%text(_MEMBERS_NEW)%></h3>\r
- <form method="post" action="<%adminurl%>index.php" name="memberedit">\r
- <div>\r
- <input type="hidden" name="action" value="memberadd" />\r
- <%ticket%>\r
- <table><tr>\r
- <th colspan="2"><%text(_MEMBERS_NEW)%></th>\r
- </tr><tr>\r
- <td>\r
- <%text(_MEMBERS_DISPLAY)%> <%helplink(shortnames)%>\r
- <br /><small><%text(_MEMBERS_DISPLAY_INFO)%></small>\r
- </td>\r
- <td><input tabindex="10010" name="name" size="32" maxlength="32" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_REALNAME)%></td>\r
- <td><input name="realname" tabindex="10020" size="40" maxlength="60" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_PWD)%></td>\r
- <td><input name="password" tabindex="10030" size="16" maxlength="40" type="password" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_REPPWD)%></td>\r
- <td><input name="repeatpassword" tabindex="10035" size="16" maxlength="40" type="password" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_EMAIL)%></td>\r
- <td><input name="email" tabindex="10040" size="40" maxlength="60" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_URL)%></td>\r
- <td><input name="url" tabindex="10050" size="40" maxlength="100" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_SUPERADMIN)%> <%helplink(superadmin)%></td>\r
- <td><%inputyesno(admin,1,10060)%> </td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_CANLOGIN)%> <%helplink(canlogin)%></td>\r
- <td><%inputyesno(canlogin,1,10070)%></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_NOTES)%></td>\r
- <td><input name="notes" maxlength="100" size="40" tabindex="10080" /></td>\r
- </tr><tr>\r
- <td><%text(_MEMBERS_NEW)%></td>\r
- <td><input type="submit" value="<%text(_MEMBERS_NEW_BTN)%>" tabindex="10090" onclick="return checkSubmit();" /></td>\r
- </tr></table>\r
- </div>\r
- </form>]]></part>\r
- </skin>\r
- <template name="admin/default">\r
- <description><![CDATA[デフォルト管理画面用テンプレート]]></description>\r
- <part name="PLUGIN_QUICKMENU_TITLE"><![CDATA[<h2><%text(_QMENU_PLUGINS)%></h2>\r
-]]></part>\r
- <part name="PLUGIN_QUICKMENU_HEAD"><![CDATA[<ul>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD"><![CDATA[<th><%coltime%></th><th><%colmesg%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY"><![CDATA[<td><%timestamp%></td><td><%message%></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD"><![CDATA[<th><%iprange%></th><th><%reason%></th><th><%colact%></th>]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY"><![CDATA[<td><%iprange%></td>\r
-<td><%reason%></td>\r
-<td><a href="<%adminurl%>index.php?action=banlistdelete&blogid=<%blogid%>&iprange=<%iprange%>"><%delbtn%></a></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD"><![CDATA[<th><%colname%></th><th><%coldesc%></th><th colspan="3"><%colact%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY"><![CDATA[<td><%skinname%><br /><br />\r
-<%skintypelabel%> <%skintype%><br />\r
-<%incmodelabel%> <%incmode%><br />\r
-<%incpreflabel%> <%incpref%><br />\r
-<%skinthumb%>\r
-<%readme%></td>\r
-<td class="availableSkinTypes"><%skindesc%><%skinparts%></td>\r
-<td style="white-space:nowrap">\r
-<a href="<%adminurl%>index.php?action=skinedit&skinid=<%skinid%>" tabindex="<%tabindex%>"><%editbtn%>\r
-</a></td>\r
-<td style="white-space:nowrap">\r
-<a href="<%cloneurl%>" tabindex="<%tabindex%>"><%clonebtn%>\r
-</a></td>\r
-<td style="white-space:nowrap">\r
-<a href="<%adminurl%>index.php?action=skindelete&skinid=<%skinid%>" tabindex="<%tabindex%>"><%delbtn%>\r
-</a></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM"><![CDATA[<td>\r
-<a href="<%adminurl%>index.php?action=blogsettings&blogid=<%blogid%>" title="<%ttsettingtext%>"><%settingtext%></a>\r
-</td>\r
-<td>\r
-<a href="<%adminurl%>index.php?action=banlist&blogid=<%blogid%>" title="<%ttbanstext%>"><%banstext%></a>\r
-</td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_BLIST_BD_SADM"><![CDATA[<td>\r
-<a href="<%adminurl%>index.php?action=deleteblog&blogid=<%blogid%>" title="<%ttdeletetext%>"><%deletetext%></a>\r
-</td>]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD"><![CDATA[<th><%colshortname%></th><th><%colblogname%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY"><![CDATA[<td><%bshortname%></td><td><%blogname%></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD"><![CDATA[<th><%colname%></th><th><%coldesc%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY"><![CDATA[<td><%name%></td><td><%desc%></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD"><![CDATA[<th><%colname%></th><th><%coldesc%></th><th colspan="2"><%colact%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY"><![CDATA[<td><input type="checkbox" id="batch<%batchid%>" name="batch[<%batchid%>]" value="<%catid%>" />\r
-<label for="batch<%batchid%>"><%catname%></label>\r
-</td>\r
-<td><%catdesc%></td>\r
-<td><a href="<%adminurl%>index.php?action=categorydelete&blogid=<%blogid%>&catid=<%catid%>" tabindex="<%tabindex%>">\r
-<%delbtn%></a></td>\r
-<td><a href="<%adminurl%>index.php?action=categoryedit&blogid=<%blogid%>&catid=<%catid%>" tabindex="<%tabindex%>">\r
-<%editbtn%></a></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD"><![CDATA[<th><%colname%></th><th><%coldesc%></th><th colspan="3"><%colact%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY"><![CDATA[<td><%templatename%></td>\r
-<td><%templatedesc%></td>\r
-<td style="white-space:nowrap">\r
-<a href="<%adminurl%>index.php?action=templateedit&templateid=<%templateid%>" tabindex="<%tabindex%>"><%editbtn%>\r
-</a></td>\r
-<td style="white-space:nowrap">\r
-<a href="<%cloneurl%>" tabindex="<%tabindex%>"><%clonebtn%>\r
-</a></td>\r
-<td style="white-space:nowrap">\r
-<a href="<%adminurl%>index.php?action=templatedelete&templateid=<%templateid%>" tabindex="<%tabindex%>"><%delbtn%>\r
-</a></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD"><![CDATA[<th><%colblog%></th><th><%coldesc%></th><th colspan="2"><%colact%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY"><![CDATA[<td><%bshortname%></td>\r
-<td><%ititle%></td>\r
-<td><a href="<%adminurl%>index.php?action=itemedit&itemid=<%itemid%>"><%editbtn%></a></td>\r
-<td><a href="<%adminurl%>index.php?action=itemdelete&itemid=<%itemid%>"><%delbtn%></a></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN"><![CDATA[<td style="white-space:nowrap"><a href="<%adminurl%>index.php?action=banlistnewfromitem&itemid=<%itemid%>&ip=<%banip%>" title="<%banhost%>"><%banbtn%></a></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD"><![CDATA[<th><%blognames%></th><th colspan="8"><%actionshead%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY"><![CDATA[<td title="blogid:<%blogid%> shortname:<%shortname%>">\r
-<a href="<%blogurl%>"><img src="images/globe.gif" width="13" height="13" alt="<%iconalt%>" /></a> <%blogname%>\r
-</td>\r
-<td>\r
-<a href="<%adminurl%>index.php?action=createitem&blogid=<%blogid%>" title="<%ttaddtext%>"><%addtext%></a>\r
-</td>\r
-<td>\r
-<a href="<%adminurl%>index.php?action=itemlist&blogid=<%blogid%>" title="<%ttedittext%>"><%edittext%></a>\r
-</td>\r
-<td>\r
-<a href="<%adminurl%>index.php?action=blogcommentlist&blogid=<%blogid%>" title="<%ttcommenttext%>"><%commenttext%></a>\r
-</td>\r
-<td>\r
-<a href="<%adminurl%>index.php?action=bookmarklet&blogid=<%blogid%>" title="<%ttbmlettext%>"><%bmlettext%></a>\r
-</td>]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD"><![CDATA[<th><%colinfo%></th><th><%colcontent%></th><th colspan="3"><%colaction%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY"><![CDATA[<td><%commentdate%><br /><%commentator%><br /><%commentsite%><br /><%commentmail%><br /></td>\r
-<td><input type="checkbox" id="batch<%batchid%>" name="batch[<%batchid%>]" value="<%commentid%>" />\r
-<label for="batch<%batchid%>"><%commentbody%></label></td>\r
-<td style="white-space:nowrap">\r
-<a href="<%adminurl%>index.php?action=commentedit&commentid=<%commentid%>"><%editbtn%></a></td>\r
-<td style="white-space:nowrap">\r
-<a href="<%adminurl%>index.php?action=commentdelete&commentid=<%commentid%>"><%delbtn%></a></td>\r
-<%addbanlist%>]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD"><![CDATA[<input type="password" size="40" maxlength="128" name="<%varname%>" value="<%value%>" />\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP"><![CDATA[<select name="<%varname%>">\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO"><![CDATA[<option value="<%value%>"<%selected%>><%optname%></option>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC"><![CDATA[</select>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA"><![CDATA[<textarea class="pluginoption" cols="30" rows="5" name="<%varname%>"<%readonly%>><%value%></textarea>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT"><![CDATA[<input type="text" size="40" maxlength="128" name="<%varname%>" value="<%value%>"<%datatype%><%readonly%> />\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT"><![CDATA[<%extra%></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT"><![CDATA[<tr>\r
-<th colspan="2"><%savetext%></th>\r
-</tr><tr>\n<td><%savetext%></td>\r
-<td><input type="submit" value="<%savetext%>" /></td>\r
-</tr>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD"><![CDATA[<th><%colinfo%></th><th><%colcontent%></th><th style="white-space:nowrap"><%colaction%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY"><![CDATA[<td<%cssclass%>>\r
-<%bshortlabel%> <%bshortnameval%><br />\r
-<%categorylabel%> <%categorynameval%><br />\r
-<%authorlabel%> <%authornameval%><br />\r
-<%itemdatelabel%> <%itemdateval%><br />\r
-<%itemtimelabel%> <%itemtimeval%>\r
-</td>\r
-<td<%cssclass%>>\r
-<input type="checkbox" id="batch<%batchid%>" name="batch<%batchid%>" value="<%itemid%>" />\r
-<label for="batch<%batchid%>"><b><%itemtitle%></b></label><br />\r
-<%itembody%></td>\r
-<td style="white-space:nowrap"<%cssclass%>>\r
-<a href="<%adminurl%>index.php?action=itemedit&itemid=<%itemid%>"><%editbtn%></a><br />\r
-<%camount%>\r
-<a href="<%adminurl%>index.php?action=itemmove&itemid=<%itemid%>"><%movebtn%></a><br />\r
-<a href="<%adminurl%>index.php?action=itemdelete&itemid=<%itemid%>"><%delbtn%></a>\r
-</td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD"><![CDATA[<th><%colinfo%></th><th><%colvalue%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND"><![CDATA[<br /><br /><%deplistlbl%><br /><%dependlist%>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ"><![CDATA[<br /><br /><%deprlstlbl%><br /><%depreqlist%>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE"><![CDATA[<td colspan="2"><%noplugalert%></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN"><![CDATA[<td>\r
-<a href="<%actionupurl%>" tabindex="<%tabindex%>"><%actionuptxt%></a><br />\r
-<a href="<%actiondownurl%>" tabindex="<%tabindex%>"><%actiondowntxt%></a><br />\r
-<a href="<%actuninsturl%>" tabindex="<%tabindex%>"><%actuninsttxt%></a><br />\r
-<%plugadminurl%>\r
-<%plughelpurl%>\r
-<%plugoptsetting%>\r
-</td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY"><![CDATA[<td><%description%></td>\r
-<td>]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO"><![CDATA[<input type="radio" name="<%name%>" value="<%yesval%>"<%yescheckedval%> id="<%yesid%>" />\r
-<label for="<%yesid%>"><%yesvaltext%></label>\r
-<input type="radio" name="<%name%>" value="<%noval%>"<%nocheckedval%> id="<%noid%>"<%disabled%> />\r
-<label for="<%noid%>"><%novaltext%></label>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL"><![CDATA[<a href="<%actoptionurl%>" tabindex="<%tabindex%>"><%actoptiontxt%></a><br />\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN"><![CDATA[<a href="<%actadminurl%>" tabindex="<%tabindex%>"><%actadmintxt%></a><br />\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP"><![CDATA[<a href="<%acthelpurl%>" tabindex="<%tabindex%>"><%acthelptxt%></a><br />\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL"><![CDATA[<a href="<%plugurl%>" tabindex="<%tabindex%>"><%plugsite%></a>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD"><![CDATA[<th><%colinfo%></th>\r
-<th><%coldesc%></th>\r
-<th style=\"white-space:nowrap\"><%colactions%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST"><![CDATA[<br /><br /><%evntlstlbl%><br /><%eventlist%>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE"><![CDATA[<br /><br /><strong><%updatealert%></strong>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY"><![CDATA[<td>\r
-<strong><%plugname%></strong><br />\r
-<%autherlabel%> <%plugauther%><br />\r
-<%versionlabel%> <%plugversion%><br />\r
-<%pluggeturl%><br />\r
-</td>\r
-<td>\r
-<%desclabel%><br /><%plugdesc%>\r
-<%eventlist%>\r
-<%needupdate%>\r
-<%dependlist%>\r
-<%depreqlist%>\r
-</td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD"><![CDATA[<th><%colmembername%></th>\r
-<th><%colmemberrname%></th>\r
-<th><%colteamadmin%><%helplink(teamadmin)%></th>\r
-<th colspan="2"><%colactions%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY"><![CDATA[<td>\r
-<input type="checkbox" id="batch<%id%>" name="batch[<%id%>]" value="<%memberid%>" />\r
-<label for=""batch<%id%>">\r
-<a href="mailto:<%mailaddress%>" tabindex="<%tabindex%>"><%name%></a>\r
-</label>\r
-</td>\r
-<td><%realname%></td>\r
-<td><%admin%></td>\r
-<td><a href="<%adminurl%>index.php?action=teamdelete&memberid=<%memberid%>&blogid=<%blogid%>" tabindex="<%tabindex%>"><%deletebtn%></a></td>\r
-<td><a href="<%chadminurl%>" tabindex="<%tabindex%>"><%chadminbtn%></a></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY"><![CDATA[<td>\r
-<input type="checkbox" id="batch<%id%>" name="batch[<%id%>]" value="<%memberid%>" />\r
-<label for=""batch<%id%>">\r
-<a href="mailto:<%mailaddress%>" tabindex="<%tabindex%>"><%name%></a>\r
-</label>\r
-</td>\r
-<td><%realname%></td>\r
-<td><a href="<%url%>" tabindex="<%tabindex%>"><%url%></a></td>\r
-<td><%admin%></td>\r
-<td><%login%></td>\r
-<td><a href="<%adminurl%>index.php?action=memberedit&memberid=<%memberid%>" tabindex="<%tabindex%>"><%editbtn%></a></td>\r
-<td><a href="<%adminurl%>index.php?action=memberdelete&memberid=<%memberid%>" tabindex="<%tabindex%>"><%deletebtn%></a></td>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_FOOT"><![CDATA[<%typefoot%>\r
-</tbody></table>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD"><![CDATA[<th><%colmembername%></th>\r
-<th><%colmemberrname%></th>\r
-<th><%colmemberurl%></th>\r
-<th><%colmemberadmin%><%helplink(superadmin)%></th>\r
-<th><%colmemberlogin%><%helplink(canlogin)%></th>\r
-<th colspan="2"><%colactions%></th>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_SELECT_FOOT"><![CDATA[</select>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_HEAD"><![CDATA[<table>\r
-<thead><tr><%typehead%></tr></thead><tbody>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_TABLE_BODY"><![CDATA[<tr onmouseover="focusRow(this);" onmouseout="blurRow(this);">\r
-<%typebody%>\r
-</tr>\r
-]]></part>\r
- <part name="SKINIE_EXPORT_LIST"><![CDATA[<td><input type="checkbox" name="<%typeid%>" id="<%expid%>" /><label for="<%expid%>"><%expname%></label></td>\r
-<td><%expdesc%></td>\r
-</tr><tr>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_SELECT_HEAD"><![CDATA[<select<%name%><%tabindex%><%javascript%>>\n<%extraoption%>\r
-]]></part>\r
- <part name="SHOWLIST_LISTPLUG_SELECT_BODY"><![CDATA[<option value="<%value%>"<%selected%><%title%>><%option%></option>\r
-]]></part>\r
- <part name="ADMIN_SPECIALSKINLIST_HEAD"><![CDATA[<ul>\r
-]]></part>\r
- <part name="ADMIN_SPECIALSKINLIST_BODY"><![CDATA[<li><a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=adminskinedittype&skinid=<%skinid%>&type=<%skintype%>"><%skintype%></a> (<a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=adminskinremovetype&skinid=<%skinid%>&type=<%skintype%>">remove</a>)</li>\r
-]]></part>\r
- <part name="ADMIN_SPECIALSKINLIST_FOOT"><![CDATA[</ul>]]></part>\r
- <part name="INPUTYESNO_TEMPLATE_NORMAL"><![CDATA[<input type="radio" name="<%name%>" value="<%yesval%>"<%yescheckedval%> id="<%yesid%>" />\r
-<label for="<%yesid%>"><%yesvaltext%></label>\r
-<input type="radio" name="<%name%>" value="<%noval%>"<%nocheckedval%> id="<%noid%>"<%disabled%> />\r
-<label for="<%noid%>"><%novaltext%></label>]]></part>\r
- <part name="SYSTEMINFO_GDSETTINGS"><![CDATA[<tr>\r
- <td width="50%"><%key%></td><td><%value%></td>\r
-</tr>]]></part>\r
- <part name="BANLIST_DELETED_LIST"><![CDATA[<li><%blogname%></li>\r
-]]></part>\r
- <part name="INSERT_PLUGOPTION_TITLE"><![CDATA[<tr><th colspan="2"><%sprinttext(_PLUGIN_OPTIONS_TITLE, <|%insertpluginfo(name)%|>)%></th></tr>\r
-]]></part>\r
- <part name="INSERT_PLUGOPTION_BODY"><![CDATA[<tr><%listplugplugoptionrow(defaultadmin)%></tr>\r
-]]></part>\r
- <part name="INPUTYESNO_TEMPLATE_ADMIN"><![CDATA[<input onclick="selectCanLogin(true);" type="radio" name="<%name%>" value="<%yesval%>"<%yescheckedval%> id="<%yesid%>" />\r
-<label for="<%yesid%>"><%yesvaltext%></label>\r
-<input onclick="selectCanLogin(false);" type="radio" name="<%name%>" value="<%noval%>"<%nocheckedval%> id="<%noid%>"<%disabled%> />\r
-<label for="<%noid%>"><%novaltext%></label>]]></part>\r
- <part name="SPECIALSKINLIST_FOOT"><![CDATA[</ul>]]></part>\r
- <part name="SPECIALSKINLIST_BODY"><![CDATA[<li><a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=skinedittype&skinid=<%skinid%>&type=<%skintype%>"><%skintype%></a> (<a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=skinremovetype&skinid=<%skinid%>&type=<%skintype%>">remove</a>)</li>\r
-]]></part>\r
- <part name="SPECIALSKINLIST_HEAD"><![CDATA[<ul>\r
-]]></part>\r
- <part name="TEMPLATE_EDIT_ROW_TAIL"><![CDATA[</textarea>\r
- </td>\r
-]]></part>\r
- <part name="TEMPLATE_EDIT_EXPLUGNAME"><![CDATA[</tr><tr>\r
- <th colspan="2"><%explugtplname%></th>\r
-]]></part>\r
- <part name="TEMPLATE_EDIT_ROW_HEAD"><![CDATA[</tr><tr>\r
- <td>\r
- <%description%><%help%>\r
- </td>\r
- <td id="td<%count%>">\r
- <textarea class="templateedit" name="<%name%>" tabindex="<%tabindex%>" cols="50" rows="<%rows%>" id="textarea<%count%>">]]></part>\r
- <part name="ADMIN_BATCHLIST"><![CDATA[<li><%text(_BATCH_EXECUTING)%<b><%adminbatchaction%></b><%batchlisttype%> <b><%batchid%></b>...<b><%batchlistmsg%></b></li>\r
-]]></part>\r
- <part name="ADMIN_BLOGLINK"><![CDATA[<a href="<%url%>" title="<%adminbloglinktitle%>"><%blogname%></a>]]></part>\r
- <part name="ADMIN_CUSTOMHELPLINK_ANCHOR"><![CDATA[<a href="<%helpurl%>#<%helptarget%>" title="<%title%>" <%onclick%>>]]></part>\r
- <part name="ADMINSKINTYPELIST_FOOT"><![CDATA[ </ul>\r
-]]></part>\r
- <part name="ADMIN_CUSTOMHELPLINK_ICON"><![CDATA[<img src="<%iconurl%>" <%width%><%height%>alt="<%alt%>" title="<%title%>" /></a>]]></part>\r
- <part name="ADMINSKINTYPELIST_BODY"><![CDATA[<li><a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=adminskinedittype&skinid=<%skinid%>&type=<%skintype%>"><%name%></a> <%help%></li>\r
-]]></part>\r
- <part name="ADMINSKINTYPELIST_HEAD"><![CDATA[ <ul>\r
-]]></part>\r
- <part name="PLUGIN_QUICKMENU_BODY"><![CDATA[<li><a href="<%plugadminurl%>" title="<%plugadmintooltip%>"><%plugadmintitle%></a></li>\r
-]]></part>\r
- <part name="PLUGIN_QUICKMENU_FOOT"><![CDATA[</ul>\r
-]]></part>\r
- </template>\r
-</nucleusskin>\r
+<?xml version="1.0"?>
+<nucleusskin>
+ <meta>
+ <skin name="admin/default"/>
+ <template name="admin/default"/>
+ <info><![CDATA[20120414]]></info>
+ </meta>
+ <skin name="admin/default" type="text/html" includeMode="skin" includePrefix="admin/default">
+ <description><![CDATA[ADMIN Area Default skin]]></description>
+ <part name="actionlog"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_ACTIONLOG_CLEAR_TITLE)%></h2>
+ <p><a href="<%adminurl%><%addtickettourl(index.php?action=clearactionlog)%>"><%text(_ACTIONLOG_CLEAR_TEXT)%></a></p>
+ <h2><%text(_ACTIONLOG_TITLE)%></h2>
+ <%actionloglist%>]]></part>
+ <part name="activate"><![CDATA[<h2><%activationmessage(title)%></h2>
+ <p><%activationmessage(text)%></p>
+ <p class="error"><%headmessage%></p>
+ <%if(bechangepass)%><div>
+ <form action="<%adminurl%>index.php" method="post">
+ <input type="hidden" name="action" value="activatesetpwd" />
+ <%ticket%>
+ <input type="hidden" name="key" value="<%activationmessage(ackey)%>" />
+ <table>
+ <tr>
+ <td><%text(_MEMBERS_PWD)%></td>
+ <td><input type="password" maxlength="40" size="16" name="password" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_REPPWD)%></td>
+ <td><input type="password" maxlength="40" size="16" name="repeatpassword" /></td>
+ <%eventformextra(activation)%>
+ </tr><tr>
+ <td><%text(_MEMBERS_SETPWD)%></td>
+ <td><input type="submit" value="<%text(_MEMBERS_SETPWD_BTN)%>" /></td>
+ </tr>
+ </table>
+ </form>
+ </div><%endif%>]]></part>
+ <part name="activatesetpwd"><![CDATA[<h2><%text(_ACTIVATE_SUCCESS_TITLE)%></h2>
+<p><%text(_ACTIVATE_SUCCESS_TEXT)%></p>]]></part>
+ <part name="addnewlog"><![CDATA[<h2><%text(_BLOGCREATED_TITLE)%></h2>
+ <p><%sprinttext(_BLOGCREATED_ADDEDTXT,<|%createdblogsetting(name)%|>)%></p>
+ <ol>
+ <li><a href="#index_php"><%sprinttext(_BLOGCREATED_SIMPLEWAY,<|%getblogsetting(short)%|>)%></a></li>
+ <li><a href="#skins"><%text(_BLOGCREATED_ADVANCEDWAY)%></a></li>
+ </ol>
+ <h3><a id="index_php"><%sprinttext(_BLOGCREATED_SIMPLEDESC1,<|%getblogsetting(short)%|>)%></a></h3>
+ <p><%sprinttext(_BLOGCREATED_SIMPLEDESC2,<|%getblogsetting(short)%|>)%></p>
+<pre><code><?php
+
+$CONF['Self'] = '<b><%blogsetting(short)%>.php</b>';
+
+include('<i>./config.php</i>');
+
+selectBlog('<b><%blogsetting(short)%></b>');
+selector();
+
+?></code></pre>
+ <p><%text(_BLOGCREATED_SIMPLEDESC3)%></p>
+ <p><%text(_BLOGCREATED_SIMPLEDESC4)%></p>
+ <form action="<%adminurl%>index.php" method="post">
+ <div>
+ <input type="hidden" name="action" value="addnewlog2" />
+ <%ticket%>
+ <input type="hidden" name="blogid" value="<%requestblogid%>" />
+ <table>
+ <tr>
+ <td><%text(_EBLOG_URL)%></td>
+ <td><input name="url" maxlength="100" size="40" value="<%sitevar(url)%><%blogsetting(short)%>.php" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_CREATE)%></td>
+ <td><input type="submit" value="<%text(_EBLOG_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>
+ <h3><a id="skins"><%text(_BLOGCREATED_ADVANCEDWAY2)%></a></h3>
+ <p><%text(_BLOGCREATED_ADVANCEDWAY3)%></p>
+ <form action="<%adminurl%>index.php" method="post">
+ <div>
+ <input type="hidden" name="action" value="addnewlog2" />
+ <%ticket%>
+ <input type="hidden" name="blogid" value="<%requestblogid%>" />
+ <table>
+ <tr>
+ <td><%text(_EBLOG_URL)%></td>
+ <td><input name="url" maxlength="100" size="40" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_CREATE)%></td>
+ <td><input type="submit" value="<%text(_EBLOG_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="adminerrorpage"><![CDATA[ <h2>Error!</h2>
+ <%headmessage%>
+ <br />
+ <a href="<%adminurl%>index.php" onclick="history.back()"><%text(_BACK)%></a>
+]]></part>
+ <part name="adminskindelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_SKIN)%><b><%editadminskintype(name)%></b> (<%editadminskintype(desc)%>)</p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="adminskindeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="skinid" value="<%editadminskintype(id)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+ </form>]]></part>
+ <part name="adminskinedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=adminskinoverview">(<%text(_SKIN_BACK)%>)</a></p>
+ <h2><%text(_SKIN_EDITONE_TITLE)%> '<%editadminskin(name)%>'</h2>
+ <h3><%text(_SKIN_PARTS_TITLE)%></h3>
+ <%text(_SKIN_PARTS_MSG)%>
+<%adminskintypes(10,admin/default)%>
+ <h3><%text(_SKIN_PARTS_SPECIAL)%></h3>
+ <form method="get" action="<%adminurl%>index.php">
+ <input type="hidden" name="action" value="adminskinedittype" />
+ <input type="hidden" name="skinid" value="<%editadminskin(id)%>" />
+ <input name="type" tabindex="89" size="30" maxlength="64" />
+ <input type="submit" tabindex="140" value="<%text(_SKIN_CREATE)%>" onclick="return checkSubmit();" />
+ </form>
+ <%adminspecialskinlist(admin/default)%>
+ <h3><%text(_SKIN_GENSETTINGS_TITLE)%></h3>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="adminskineditgeneral" />
+ <%ticket%>
+ <input type="hidden" name="skinid" value="<%editadminskin(id)%>" />
+ <table>
+ <tr>
+ <td><%text(_SKIN_NAME)%> <%helplink(shortnames)%></td>
+ <td><input name="name" tabindex="90" value="<%editadminskin(name)%>" maxlength="64" size="30" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_DESC)%></td>
+ <td><input name="desc" tabindex="100" value="<%editadminskin(desc)%>" maxlength="200" size="50" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_TYPE)%></td>
+ <td><input name="type" tabindex="110" value="<%editadminskin(type)%>" maxlength="40" size="20" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_INCLUDE_MODE)%> <%helplink(includemode)%></td>
+ <td><%editadminskin(mode)%></td>
+ </tr><tr>
+ <td><%text(_SKIN_INCLUDE_PREFIX)%> <%helplink(includeprefix)%></td>
+ <td><input name="inc_prefix" tabindex="130" value="<%editadminskin(prefix)%>" maxlength="40" size="20" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_CHANGE)%></td>
+ <td><input type="submit" tabindex="140" value="<%text(_SKIN_CHANGE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr></table>
+ </div>
+ </form>]]></part>
+ <part name="adminskinedittype"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=adminskinoverview"><%text(_SKIN_GOBACK)%></a>)</p>
+ <h2><%text(_SKIN_EDITPART_TITLE)%> '<%editadminskintype(name)%>': <%editadminskintype(skintype)%></h2>
+ <%headmessage%>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="adminskinupdate" />
+ <%ticket%>
+ <input type="hidden" name="skinid" value="<%editadminskintype(id)%>" />
+ <input type="hidden" name="type" value="<%editadminskintype(skintyperaw)%>" />
+ <input type="submit" value="<%text(_SKIN_UPDATE_BTN)%>" onclick="return checkSubmit();" />
+ <input type="reset" value="<%text(_SKIN_RESET_BTN)%>" />
+ (skin type: <%editadminskintype(skintype)%>)<%skintypehelp%><br />
+ <textarea class="skinedit" tabindex="10" rows="20" cols="80" name="content"><%editadminskintype(content)%></textarea><br />
+ <input type="submit" tabindex="20" value="<%text(_SKIN_UPDATE_BTN)%>" onclick="return checkSubmit();" />
+ <input type="reset" value="<%text(_SKIN_RESET_BTN)%>" />
+ (skin type: <%editadminskintype(skintype)%>)
+ <br /><br />
+ <%text(_SKIN_ALLOWEDVARS)%>
+ <%allowedadminskinactions%><br /><br />
+ <%text(_SKINEDIT_ALLOWEDTEMPLATESS)%>
+ <%adminskineditallowedlist(template)%><br />
+ </div>
+ </form>]]></part>
+ <part name="adminskiniedoimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_SKINIE_DONE)%></h2>
+
+ <ul>
+ <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>
+ <li><p><strong><%text(_SKINIE_INFO_IMPORTEDSKINS)%></strong> <%importskininfo(snames)%></p></li>
+ <li><p><strong><%text(_SKINIE_INFO_IMPORTEDTEMPLS)%></strong> <%importskininfo(tnames)%></p></li>
+ </ul>]]></part>
+ <part name="adminskinieimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=adminskinieoverview">(<%text(_BACK)%>)</a></p>
+ <h2><%text(_SKINIE_CONFIRM_TITLE)%></h2>
+
+ <ul>
+ <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>
+ <li><p><strong><%text(_SKINIE_INFO_SKINS)%></strong> <%importskininfo(snames)%></p></li>
+ <li><p><strong><%text(_SKINIE_INFO_TEMPLATES)%></strong> <%importskininfo(tnames)%></p></li>
+ <%if(nameclashes)%><li><p><strong style="color: red;"><%text(_SKINIE_INFO_SKINCLASH)%></strong> <%importskininfo(sclashes)%></p></li>
+ <li><p><strong style="color: red;"><%text(_SKINIE_INFO_TEMPLCLASH)%></strong> <%importskininfo(tclashes)%></p></li><%endif%>
+ </ul>
+
+ <form method="post" action="<%adminurl%>index.php"><div>
+ <input type="hidden" name="action" value="adminskiniedoimport" />
+ <%ticket%>
+ <input type="hidden" name="skinfile" value="<%importskininfo(skinfile)%>" />
+ <input type="hidden" name="mode" value="<%importskininfo(mode)%>" />
+ <input type="submit" value="<%text(_SKINIE_CONFIRM_IMPORT)%>" />
+ <%if(nameclashes)%><br />
+ <input type="checkbox" name="overwrite" value="1" id="cb_overwrite" /><label for="cb_overwrite"><%text(_SKINIE_CONFIRM_OVERWRITE)%></label><%endif%>
+ </div></form>]]></part>
+ <part name="adminskinieoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_SKINIE_TITLE_IMPORT)%></h2>
+ <p>
+ <label for="skinie_import_local"><%text(_SKINIE_LOCAL)%></label>
+ <%if(superadmin)%><form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="adminskinieimport" />
+ <%ticket%>
+ <input type="hidden" name="mode" value="file" />
+ <select name="skinfile" id="skinie_import_local">
+ <%selectlocaladminskinfiles%>
+ </select>
+ <input type="submit" value="<%text(_SKINIE_BTN_IMPORT)%>" />
+ </div>
+ </form><%else%><%text(_SKINIE_NOCANDIDATES)%><%endif%>
+ </p>
+ <p><em><%text(_OR)%></em></p>
+ <form method="post" action="<%adminurl%>index.php">
+ <p>
+ <%ticket%>
+ <input type="hidden" name="action" value="adminskinieimport" />
+ <input type="hidden" name="mode" value="url" />
+ <label for="skinie_import_url"><%text(_SKINIE_FROMURL)%></label>
+ <input type="text" name="skinfile" id="skinie_import_url" size="60" value="http://" />
+ <input type="submit" value="<%text(_SKINIE_BTN_IMPORT)%>" />
+ </p>
+ </form>
+ <h2><%text(_SKINIE_TITLE_EXPORT)%></h2>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="adminskinieexport" />
+ <%ticket%>
+ <p><%text(_SKINIE_EXPORT_INTRO)%></p>
+ <table>
+ <tr>
+ <th colspan="2"><%text(_SKINIE_EXPORT_SKINS)%></th>
+ </tr><tr>
+ <%adminskinielist(skin,admin/default)%>
+ <th colspan="2"><%text(_SKINIE_EXPORT_TEMPLATES)%></th>
+ </tr><tr>
+ <%adminskinielist(template,admin/default)%>
+ <th colspan="2"><%text(_SKINIE_EXPORT_EXTRA)%></th>
+ </tr><tr>
+ <td colspan="2"><textarea cols="40" rows="5" name="info"></textarea></td>
+ </tr><tr>
+ <th colspan="2"><%text(_SKINIE_TITLE_EXPORT)%></th>
+ </tr><tr>
+ <td colspan="2"><input type="submit" value="<%text(_SKINIE_BTN_EXPORT)%>" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="adminskinoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_SKIN_EDIT_TITLE)%></h2>
+ <h3><%text(_SKIN_AVAILABLE_TITLE)%></h3>
+ <%adminskinoverview%>
+ <h3><%text(_SKIN_NEW_TITLE)%></h3>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input name="action" value="adminskinnew" type="hidden" />
+ <%ticket%>
+ <table>
+ <tr>
+ <td><%text(_SKIN_NAME)%> <%helplink(shortnames)%></td>
+ <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_DESC)%></td>
+ <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_CREATE)%></td>
+ <td><input type="submit" tabindex="10030" value="<%text(_SKIN_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="adminskinremovetype"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_SKIN_PARTS_SPECIAL)%><b><%editadminskintype(skintype)%> (<%editadminskintype(name)%>)</b> (<%editadminskintype(desc)%>)</p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="adminskinremovetypeconfirm" />
+ <%ticket%>
+ <input type="hidden" name="skinid" value="<%editadminskintype(id)%>" />
+ <input type="hidden" name="type" value="<%editadminskintype(skintype)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+ </form>]]></part>
+ <part name="admintemplatedelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_TEMPLATE)%><b><%editadmintemplateinfo(name)%></b> (<%editadmintemplateinfo(desc)%>)</p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="admintemplatedeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="templateid" value="<%editadmintemplateinfo(id)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+ </form>]]></part>
+ <part name="admintemplateedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=admintemplateoverview">(<%text(_TEMPLATE_BACK)%>)</a></p>
+
+ <h2><%text(_TEMPLATE_EDIT_TITLE)%> '<%editadmintemplateinfo(name)%>'</h2>
+ <%headmessage%>
+ <p><%text(_TEMPLATE_EDIT_MSG)%></p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="admintemplateupdate" />
+ <%ticket%>
+ <input type="hidden" name="templateid" value="<%editadmintemplateinfo(id)%>" />
+ <table>
+ <tr>
+ <th colspan="2"><%text(_TEMPLATE_SETTINGS)%></th>
+ </tr><tr>
+ <td><%text(_TEMPLATE_NAME)%> <%helplink(shortnames)%></td>
+ <td><input name="tname" tabindex="4" size="20" maxlength="20" value="<%editadmintemplateinfo(name)%>" /></td>
+ </tr><tr>
+ <td><%text(_TEMPLATE_DESC)%></td>
+ <td><input name="tdesc" tabindex="5" size="50" maxlength="200" value="<%editadmintemplateinfo(desc)%>" /></td>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_UPDATE)%></th>
+ </tr><tr>
+ <td><%text(_TEMPLATE_UPDATE)%></td>
+ <td>
+ <input type="submit" tabindex="6" value="<%text(_TEMPLATE_UPDATE_BTN)%>" onclick="return checkSubmit();" />
+ <input type="reset" tabindex="7" value="<%text(_TEMPLATE_RESET_BTN)%>" />
+ </td>
+ </tr><tr>
+ <th colspan="2"><%text(_QMENU_LAYOUT_SKINS)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMINSKINTYPELIST_HEAD, ADMINSKINTYPELIST_HEAD, ,8)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMINSKINTYPELIST_BODY, ADMINSKINTYPELIST_BODY, ,9)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMINSKINTYPELIST_FOOT, ADMINSKINTYPELIST_FOOT, ,10)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SPECIALSKINLIST_HEAD, SPECIALSKINLIST_HEAD, , 11)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SPECIALSKINLIST_BODY, SPECIALSKINLIST_BODY, , 12)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SPECIALSKINLIST_FOOT, SPECIALSKINLIST_FOOT, , 13)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_SPECIALSKINLIST_HEAD, ADMIN_SPECIALSKINLIST_HEAD, , 14)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_SPECIALSKINLIST_BODY, ADMIN_SPECIALSKINLIST_BODY, , 15)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_SPECIALSKINLIST_FOOT, ADMIN_SPECIALSKINLIST_FOOT, , 16)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SKINIE_EXPORT_LIST, SKINIE_EXPORT_LIST, , 17)%>
+ </tr><tr>
+ <th colspan="2"><%text(_QMENU_LAYOUT_TEMPL)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_TEMPLATE_EDIT_EXPLUGNAME, TEMPLATE_EDIT_EXPLUGNAME, , 18)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_TEMPLATE_EDIT_ROW_HEAD, TEMPLATE_EDIT_ROW_HEAD, , 19)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_TEMPLATE_EDIT_ROW_TAIL, TEMPLATE_EDIT_ROW_TAIL, , 20)%>
+ </tr><tr>
+ <th colspan="2"><%text(_SKINABLEADMIN_ADMINAREAHEADLINK)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_BLOGLINK, ADMIN_BLOGLINK, , 21)%>
+ </tr><tr>
+ <th colspan="2"><%text(_SKINABLEADMIN_BATCH)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_BATCHLIST, ADMIN_BATCHLIST, , 22)%>
+ </tr><tr>
+ <th colspan="2"><%text(_QMENU_ACTIVATE)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_FORGOT_TITLE, ACTIVATE_FORGOT_TITLE, , 23)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_FORGOT_TEXT, ACTIVATE_FORGOT_TEXT, , 24)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_REGISTER_TITLE, ACTIVATE_REGISTER_TITLE, , 25)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_REGISTER_TEXT, ACTIVATE_REGISTER_TEXT, , 26)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_CHANGE_TITLE, ACTIVATE_CHANGE_TITLE, , 27)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ACTIVATE_CHANGE_TEXT, ACTIVATE_CHANGE_TEXT, , 28)%>
+ </tr><tr>
+ <th colspan="2"><%text(_QMENU_MANAGE_SYSTEM)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SYSTEMINFO_GDSETTINGS, SYSTEMINFO_GDSETTINGS, , 29)%>
+ </tr><tr>
+ <th colspan="2"><%text(_BLOGLIST_BANS)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_BANLIST_DELETED_LIST, BANLIST_DELETED_LIST, , 30)%>
+ </tr><tr>
+ <th colspan="2"><%text(_SKINABLEADMIN_TPLSETTING_INGENERAL)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_INSERT_PLUGOPTION_TITLE, INSERT_PLUGOPTION_TITLE, , 31)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_INSERT_PLUGOPTION_BODY, INSERT_PLUGOPTION_BODY, , 32)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_INPUTYESNO_TEMPLATE_ADMIN, INPUTYESNO_TEMPLATE_ADMIN, , 33)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_INPUTYESNO_TEMPLATE_NORMAL, INPUTYESNO_TEMPLATE_NORMAL, , 34)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_CUSTOMHELPLINK_ICON, ADMIN_CUSTOMHELPLINK_ICON, , 35)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_ADMIN_CUSTOMHELPLINK_ANCHOR, ADMIN_CUSTOMHELPLINK_ANCHOR, , 36)%>
+
+ </tr><tr>
+ <th colspan="2"><%text(_SKINABLEADMIN_SHOWLIST_LISTPLUG_SELECT)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_SELECT_HEAD, SHOWLIST_LISTPLUG_SELECT_HEAD, , 37)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_SELECT_BODY, SHOWLIST_LISTPLUG_SELECT_BODY, , 38)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_SELECT_FOOT, SHOWLIST_LISTPLUG_SELECT_FOOT, , 39)%>
+ </tr><tr>
+ <th colspan="2"><%text(_SKINABLEADMIN_SHOWLIST_LISTPLUG_TABLE)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_HEAD, SHOWLIST_LISTPLUG_TABLE_HEAD, , 40)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BODY, SHOWLIST_LISTPLUG_TABLE_BODY, , 41)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_FOOT, SHOWLIST_LISTPLUG_TABLE_FOOT, , 42)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD, , 43)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY, SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY, , 44)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_MEMBLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_MEMBLIST_FOOT, , 45)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD, , 46)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY, SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY, , 47)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TEAMLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_TEAMLIST_FOOT, , 48)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD, , 49)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY, , 50)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL, , 51)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST, SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST, , 52)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE, SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE, , 53)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND, SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND, , 54)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ, SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ, , 55)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE, SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE, , 56)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN, , 57)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN, , 58)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP, , 59)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL, SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL, , 60)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_PLUGLIST_FOOT, , 61)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD, , 62)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY, SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY, , 63)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO, , 64)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD, , 65)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP, , 66)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO, , 67)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC, , 68)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA, , 69)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT, SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT, , 70)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT, SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT, , 71)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT, , 72)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD, , 73)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY, SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY, , 74)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ITEMLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_ITEMLIST_FOOT, , 75)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD, , 76)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY, SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY, , 77)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN, SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN, , 78)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CMNTLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_CMNTLIST_FOOT, , 79)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD, , 80)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY, SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY, , 81)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM, SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM, , 82)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLIST_BD_SADM, SHOWLIST_LISTPLUG_TABLE_BLIST_BD_SADM, , 83)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_BLOGLIST_FOOT, , 84)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD, SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD, , 85)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY, SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY, , 86)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_FOOT, SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_FOOT, , 87)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD, SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD, , 88)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY, SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY, , 89)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SHORTNAM_FOOT, SHOWLIST_LISTPLUG_TABLE_SHORTNAM_FOOT, , 90)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD, SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD, , 91)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY, SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY, , 92)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_CATELIST_FOOT, SHOWLIST_LISTPLUG_TABLE_CATELIST_FOOT, , 93)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD, , 94)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY, SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY, , 95)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_TPLTLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_TPLTLIST_FOOT, , 96)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD, , 97)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY, SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY, , 98)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_SKINLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_SKINLIST_FOOT, , 99)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD, , 100)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY, SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY, , 101)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_DRFTLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_DRFTLIST_FOOT, , 102)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD, , 103)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY, SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY, , 104)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_ACTNLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_ACTNLIST_FOOT, , 105)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD, SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD, , 106)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY, SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY, , 107)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_SHOWLIST_LISTPLUG_TABLE_IBANLIST_FOOT, SHOWLIST_LISTPLUG_TABLE_IBANLIST_FOOT, , 108)%>
+ </tr><tr>
+ <th colspan="2"><%text(_SKINABLEADMIN_PLUGIN_QUICKMENU)%></th>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_PLUGIN_QUICKMENU_TITLE, PLUGIN_QUICKMENU_TITLE, , 109)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_PLUGIN_QUICKMENU_HEAD, PLUGIN_QUICKMENU_HEAD, , 110)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_PLUGIN_QUICKMENU_BODY, PLUGIN_QUICKMENU_BODY, , 111)%>
+ <%editadmintemplateinfo(row, _ADM_TPLPT_PLUGIN_QUICKMENU_FOOT, PLUGIN_QUICKMENU_FOOT, , 112)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_PLUGIN_FIELDS)%></th>
+ <%editadmintemplateinfo(extratemplate,admin/default)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_UPDATE)%></th>
+ </tr><tr>
+ <td><%text(_TEMPLATE_UPDATE)%></td>
+ <td>
+ <input type="submit" tabindex="800" value="<%text(_TEMPLATE_UPDATE_BTN)%>" onclick="return checkSubmit();" />
+ <input type="reset" tabindex="810" value="<%text(_TEMPLATE_RESET_BTN)%>" />
+ </td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="admntemplateoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_TEMPLATE_TITLE)%></h2>
+ <h3><%text(_TEMPLATE_AVAILABLE_TITLE)%></h3>
+ <%admintemplateoverview%>
+ <h3><%text(_TEMPLATE_NEW_TITLE)%></h3>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input name="action" value="admintemplatenew" type="hidden" />
+ <%ticket%>
+ <table>
+ <tr>
+ <td><%text(_TEMPLATE_NAME)%> <%helplink(shortnames)%></td>
+ <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>
+ </tr><tr>
+ <td><%text(_TEMPLATE_DESC)%></td>
+ <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>
+ </tr><tr>
+ <td><%text(_TEMPLATE_CREATE)%></td>
+ <td><input type="submit" tabindex="10030" value="<%text(_TEMPLATE_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="backupoverview"><![CDATA[ <p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_BACKUPS_TITLE)%></h2>
+ <h3><%text(_BACKUP_TITLE)%></h3>
+ <p><%text(_BACKUP_INTRO)%></p>
+ <form method="post" action="<%adminurl%>index.php">
+ <p>
+ <input type="hidden" name="action" value="backupcreate" />
+ <%ticket%>
+ <input type="radio" name="gzip" value="1" checked="checked" id="gzip_yes" tabindex="10" /><label for="gzip_yes"><%text(_BACKUP_ZIP_YES)%></label><br />
+ <input type="radio" name="gzip" value="0" id="gzip_no" tabindex="10" /><label for="gzip_no" ><%text(_BACKUP_ZIP_NO)%></label><br /><br />
+ <input type="submit" value="<%text(_BACKUP_BTN)%>" tabindex="20" />
+ </p>
+ </form>
+ <div class="note"><%text(_BACKUP_NOTE)%></div>
+ <h3><%text(_RESTORE_TITLE)%></h3>
+ <div class="note"><%text(_RESTORE_NOTE)%></div>
+ <p><%text(_RESTORE_INTRO)%></p>
+ <form method="post" action="<%adminurl%>index.php" enctype="multipart/form-data">
+ <p>
+ <input type="hidden" name="action" value="backuprestore" />
+ <%ticket%>
+ <input name="backup_file" type="file" tabindex="30" />
+ <br /><br />
+ <input type="submit" value="<%text(_RESTORE_BTN)%>" tabindex="40" /><br />
+ <input type="checkbox" name="letsgo" value="1" id="letsgo" tabindex="50" /><label for="letsgo"><%text(_RESTORE_IMSURE)%></label><br />
+ <%text(_RESTORE_WARNING)%>
+ </p>
+ </form>
+]]></part>
+ <part name="backuprestore"><![CDATA[ <h2><%text(_RESTORE_COMPLETE)%></h2>
+]]></part>
+ <part name="banlist"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+ <h2><%text(_BAN_TITLE)%> '<%adminbloglink(admin/default)%>'</h2>
+ <%adminbanlist%>
+ <h2><%text(_BAN_NEW_TITLE)%></h2>
+ <p><a href="<%adminurl%>index.php?action=banlistnew&blogid=<%requestblogid%>"><%text(_BAN_NEW_TEXT)%></a></p>]]></part>
+ <part name="banlistdelete"><![CDATA[ <h2><%text(_BAN_REMOVE_TITLE)%></h2>
+
+ <form method="post" action="<%adminurl%>index.php">
+
+ <h3><%text(_BAN_IPRANGE)%></h3>
+
+ <p>
+ <%text(_CONFIRMTXT_BAN)%> <%requestiprange%>
+ <input name="iprange" type="hidden" value="<%requestiprange%>" />
+ </p>
+
+ <h3><%text(_BAN_BLOGS)%></h3>
+
+ <div>
+ <input type="hidden" name="blogid" value="<%requestblogid%>" />
+ <input name="allblogs" type="radio" value="0" id="allblogs_one" />
+ <label for="allblogs_one"><%sprinttext(_BAN_BANBLOGNAME,<|%getblogsetting(name)%|>)%></label>
+ <br />
+ <input name="allblogs" type="radio" value="1" checked="checked" id="allblogs_all" /><label for="allblogs_all"><%text(_BAN_ALLBLOGS)%></label>
+ </div>
+
+ <h3><%text(_BAN_DELETE_TITLE)%></h3>
+
+ <div>
+ <%ticket%>
+ <input type="hidden" name="action" value="banlistdeleteconfirm" />
+ <input type="submit" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+
+ </form>
+]]></part>
+ <part name="banlistdeleteconfirm"><![CDATA[ <a href="<%adminurl%>index.php?action=banlist&blogid=<%requestblogid%>">(<%text(_BACK)%>)</a>
+ <h2><%text(_BAN_REMOVED_TITLE)%></h2>
+ <p><%text(_BAN_REMOVED_TEXT)%></p>
+ <ul>
+ <%banlistdeletedlist%>
+ </ul>
+]]></part>
+ <part name="banlistnew"><![CDATA[ <h2><%text(_BAN_ADD_TITLE)%></h2>
+ <form method="post" action="<%adminurl%>index.php">
+ <h3><%text(_BAN_IPRANGE)%></h3>
+ <p><%text(_BAN_IPRANGE_TEXT)%></p>
+ <div class="note">
+ <strong><%text(_BAN_EXAMPLE_TITLE)%></strong>
+ <%text(_BAN_EXAMPLE_TEXT)%>
+ </div>
+ <div>
+ <%iprangeinput%>
+ </div>
+ <h3><%text(_BAN_BLOGS)%></h3>
+ <p><%text(_BAN_BLOGS_TEXT)%></p>
+ <div>
+ <input type="hidden" name="blogid" value="<%requestblogid%>" />
+ <input name="allblogs" type="radio" value="0" id="allblogs_one" /><label for="allblogs_one">'<%blogsetting(name)%>'</label><br />
+ <input name="allblogs" type="radio" value="1" checked="checked" id="allblogs_all" /><label for="allblogs_all"><%text(_BAN_ALLBLOGS)%></label>
+ </div>
+ <h3><%text(_BAN_REASON_TITLE)%></h3>
+ <p><%text(_BAN_REASON_TEXT)%></p>
+ <div><textarea name="reason" cols="40" rows="5"></textarea></div>
+ <h3><%text(_BAN_ADD_TITLE)%></h3>
+ <div>
+ <input name="action" type="hidden" value="banlistadd" />
+ <%ticket%>
+ <input type="submit" value="<%text(_BAN_ADD_BTN)%>" />
+ </div>
+ </form>
+]]></part>
+ <part name="batchcategory"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
+ <h2><%text(BATCH_CATEGORIES)%></h2>
+ <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
+ <ul>
+ <%adminbatchlist%>
+
+
+ </ul>
+ <b><%text(_BATCH_DONE)%></b>]]></part>
+ <part name="batchcomment"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
+ <h2><%text(_BATCH_COMMENTS)%></h2>
+ <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
+ <ul>
+ <%adminbatchlist%>
+ </ul>
+ <b><%text(_BATCH_DONE)%></b>]]></part>
+ <part name="batchdelete"><![CDATA[<h2><%text(_BATCH_DELETE_CONFIRM)%></h2>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="<%batchdeletetype%>" />
+ <input type="hidden" name="batchaction" value="delete" />
+ <input type="hidden" name="confirmation" value="yes" />
+ <%ticket%>
+ <%batchdeletelist%>
+ <input type="submit" value="<%text(_BATCH_DELETE_CONFIRM_BTN)%>" onclick="return checkSubmit();" />
+ </div>
+ </form>]]></part>
+ <part name="batchitem"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
+ <h2><%text(_BATCH_ITEMS)%></h2>
+ <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
+ <ul>
+ <%adminbatchlist%>
+ </ul>
+ <b><%text(_BATCH_DONE)%></b>]]></part>
+ <part name="batchmember"><![CDATA[<a href="<%adminurl%>index.php?action=usermanagement"><%text(_MEMBERS_BACKTOOVERVIEW)%></a>
+ <h2><%text(_BATCH_MEMBERS)%></h2>
+ <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
+ <ul>
+ <%adminbatchlist%>
+ </ul>
+ <b><%text(_BATCH_DONE)%></b>]]></part>
+ <part name="batchmove"><![CDATA[<h2><%text(_MOVE_TITLE)%></h2>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="batch<%batchmovetype%>" />
+ <input type="hidden" name="batchaction" value="move" />
+ <%ticket%>
+ <%batchmovelist%>
+ <%movedistselect%>
+ <input type="submit" value="<%batchmovebtn%>" onclick="return checkSubmit();" />
+ </div>
+ </form>]]></part>
+ <part name="batchmovecat"><![CDATA[<h2><%text(_MOVECAT_TITLE)%></h2>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="batch<%batchmovetype%>" />
+ <input type="hidden" name="batchaction" value="move" />
+ <%ticket%>
+ <%batchmovelist%>
+ <%movedistselect%>
+ <input type="submit" value="<%batchmovebtn%>" onclick="return checkSubmit();" />
+ </div>
+ </form>]]></part>
+ <part name="batchteam"><![CDATA[<a href="<%adminurl%>index.php?action=manageteam&blogid=<%requestblogid%>"><%text(_BACK)%></a>
+ <h2><%text(_BATCH_TEAM)%></h2>
+ <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
+ <ul>
+ <%adminbatchlist%>
+ </ul>
+ <b><%text(_BATCH_DONE)%></b>]]></part>
+ <part name="blogcommentlist"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>)</p>
+ <h2><%text(_COMMENTS_BLOG)%> <%adminbloglink(admin/default)%></h2>
+ <%commentnavlist(admin/default)%>]]></part>
+ <part name="blogselectbox"><![CDATA[<%blogselectbox%>]]></part>
+ <part name="blogsettings"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+ <h2><%text(_EBLOG_TITLE)%>: '<%adminbloglink(admin/default)%>'</h2>
+
+ <h3><%text(_EBLOG_TEAM_TITLE)%></h3>
+
+ <p>
+ <%text(_EBLOG_CURRENT_TEAM_MEMBER)%>
+ <%blogteammembers%>
+ </p>
+ <p><a href="<%adminurl%>index.php?action=manageteam&blogid=<%requestblogid%>"><%text(_EBLOG_TEAM_TEXT)%></a></p>
+ <h3><%text(_EBLOG_SETTINGS_TITLE)%></h3>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="blogsettingsupdate" />
+ <%ticket%>
+ <input type="hidden" name="blogid" value="<%requestblogid%>" />
+ <table>
+ <tr>
+ <td><%text(_EBLOG_NAME)%></td>
+ <td><input name="name" tabindex="10" size="40" maxlength="60" value="<%blogsetting(name)%>" /></td>
+ </tr><tr>
+ <td>
+ <%text(_EBLOG_SHORTNAME)%> <%helplink(shortblogname)%>
+ <%text(_EBLOG_SHORTNAME_EXTRA)%>
+ </td>
+ <td><input name="shortname" tabindex="20" maxlength="15" size="15" value="<%blogsetting(short)%>" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_DESC)%></td>
+ <td><input name="desc" tabindex="30" maxlength="200" size="40" value="<%blogsetting(desc)%>" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_URL)%></td>
+ <td><input name="url" tabindex="40" size="40" maxlength="100" value="<%blogsetting(url)%>" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_DEFSKIN)%><%helplink(blogdefaultskin)%></td>
+ <td><%defskinselect(blog)%></td>
+ </tr><tr>
+ <td><%text(_EBLOG_LINEBREAKS)%> <%helplink(convertbreaks)%></td>
+ <td><%blogsettingyesno(convertbreaks)%></td>
+ </tr><tr>
+ <td><%text(_EBLOG_ALLOWPASTPOSTING)%> <%helplink(allowpastposting)%></td>
+ <td><%blogsettingyesno(allowpastposting)%></td>
+ </tr><tr>
+ <td><%text(_EBLOG_DISABLECOMMENTS)%></td>
+ <td><%blogsettingyesno(comments)%></td>
+ </tr><tr>
+ <td><%text(_EBLOG_ANONYMOUS)%></td>
+ <td><%blogsettingyesno(public)%></td>
+ </tr><tr>
+ <td><%text(_EBLOG_REQUIREDEMAIL)%></td>
+ <td><%blogsettingyesno(reqemail)%></td>
+ </tr><tr>
+ <td><%text(_EBLOG_NOTIFY)%> <%helplink(blognotify)%></td>
+ <td><input name="notify" tabindex="80" maxlength="60" size="40" value="<%blogsetting(notifyaddress)%>" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_NOTIFY_ON)%></td>
+ <td>
+ <input name="notifyComment" value="3" type="checkbox" tabindex="81" id="notifyComment"<%blognotifysetting(comment)%> />
+ <label for="notifyComment"><%text(_EBLOG_NOTIFY_COMMENT)%></label><br />
+ <input name="notifyVote" value="5" type="checkbox" tabindex="82" id="notifyVote"<%blognotifysetting(vote)%> />
+ <label for="notifyVote"><%text(_EBLOG_NOTIFY_KARMA)%></label><br />
+ <input name="notifyNewItem" value="7" type="checkbox" tabindex="83" id="notifyNewItem"<%blognotifysetting(newitem)%> />
+ <label for="notifyNewItem"><%text(_EBLOG_NOTIFY_ITEM)%></label>
+ </td>
+ </tr><tr>
+ <td><%text(_EBLOG_MAXCOMMENTS)%> <%helplink(blogmaxcomments)%></td>
+ <td><input name="maxcomments" tabindex="90" size="3" value="<%blogsetting(maxcomments)%>" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_UPDATE)%> <%helplink(blogupdatefile)%></td>
+ <td><input name="update" tabindex="100" size="40" maxlength="60" value="<%blogsetting(updatefile)%>" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_DEFCAT)%></td>
+ <td><%defcatselect%></td>
+ </tr><tr>
+ <td>
+ <%text(_EBLOG_OFFSET)%> <%helplink(blogtimeoffset)%><br />
+ <%text(_EBLOG_STIME)%> <b><%blogtime(servertime,"%H:%M")%></b><br />
+ <%text(_EBLOG_BTIME)%> <b><%blogtime(blogtime,"%H:%M")%></b>
+ </td>
+ <td><input name="timeoffset" tabindex="120" size="3" value="<%blogsetting(timeoffset)%>" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_SEARCH)%> <%helplink(blogsearchable)%></td>
+ <td><%blogsettingyesno(searchable)%></td>
+ </tr>
+ <%pluginoptions(blog)%>
+ <tr>
+ <th colspan="2"><%text(_EBLOG_CHANGE)%></th>
+ </tr><tr>
+ <td><%text(_EBLOG_CHANGE)%></td>
+ <td><input type="submit" tabindex="130" value="<%text(_EBLOG_CHANGE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>
+ <h3><%text(_EBLOG_CAT_TITLE)%></h3>
+ <%blogcatlist%>
+ <form action="<%adminurl%>index.php" method="post">
+ <div>
+ <input name="action" value="categorynew" type="hidden" />
+ <%ticket%>
+ <input name="blogid" value="<%blogsetting(id)%>" type="hidden" />
+ <table>
+ <tr>
+ <th colspan="2"><%text(_EBLOG_CAT_CREATE)%></th>
+ </tr><tr>
+ <td><%text(_EBLOG_CAT_NAME)%></td>
+ <td><input name="cname" size="40" maxlength="40" tabindex="300" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_CAT_DESC)%></td>
+ <td><input name="cdesc" size="40" maxlength="200" tabindex="310" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_CAT_CREATE)%></td>
+ <td><input type="submit" value="<%text(_EBLOG_CAT_CREATE)%>" tabindex="320" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>
+ <h3><%text(_PLUGINS_EXTRA)%></h3>
+ <%pluginextras(blog)%>]]></part>
+ <part name="bookmarklet"><![CDATA[ <p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+ <h2><%text(_BOOKMARKLET_TITLE)%></h2>
+ <p><%text(_BOOKMARKLET_DESC1)%><%text(_BOOKMARKLET_DESC2)%><%text(_BOOKMARKLET_DESC3)%><%text(_BOOKMARKLET_DESC4)%><%text(_BOOKMARKLET_DESC5)%></p>
+ <h3><%text(_BOOKMARKLET_BOOKARKLET)%></h3>
+ <p>
+ <%text(_BOOKMARKLET_BMARKTEXT)%><small><%text(_BOOKMARKLET_BMARKTEST)%></small>
+ <br />
+ <br />
+ <a href="<%bookmarkletadmin(url)%>"><%sprinttext(_BOOKMARKLET_ANCHOR,<|%getblogsetting(name)%|>)%></a><%text(_BOOKMARKLET_BMARKFOLLOW)%>
+ </p>
+]]></part>
+ <part name="browseowncomments"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>)</p>
+ <h2><%text(_COMMENTS_YOUR)%></h2>
+ <%commentnavlist(admin/default)%>]]></part>
+ <part name="browseownitems"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a></p>
+ <h2><%text(_ITEMLIST_YOUR)%></h2>
+ <%itemnavlist(admin/default)%>]]></part>
+ <part name="categorydelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <div>
+ <%text(_CONFIRMTXT_CATEGORY)%><b><%categorysetting(name)%></b>
+ </div>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="categorydeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="blogid" value="<%requestblogid%>" />
+ <input type="hidden" name="catid" value="<%categorysetting(id)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+ </form>]]></part>
+ <part name="categoryedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=blogsettings&blogid=<%requestblogid%>">(<%text(_BACK_TO_BLOGSETTINGS)%>)</a></p>
+ <h2><%text(_EBLOG_CAT_UPDATE)%> '<%categorysetting(name)%>'</h2>
+ <form method='post' action='<%adminurl%>index.php'>
+ <div>
+ <input name="blogid" type="hidden" value="<%requestblogid%>" />
+ <input name="catid" type="hidden" value="<%categorysetting(id)%>" />
+ <input name="desturl" type="hidden" value="<%editdesturl%>" />
+ <input name="action" type="hidden" value="categoryupdate" />
+ <%ticket%>
+ <table>
+ <tr>
+ <th colspan="2"><%text(_EBLOG_CAT_UPDATE)%></th>
+ </tr><tr>
+ <td><%text(_EBLOG_CAT_NAME)%></td>
+ <td><input type="text" name="cname" value="<%categorysetting(name)%>" size="40" maxlength="40" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_CAT_DESC)%></td>
+ <td><input type="text" name="cdesc" value="<%categorysetting(desc)%>" size="40" maxlength="200" /></td>
+ </tr>
+ <%pluginoptions(category)%>
+ <tr>
+ <th colspan="2"><%text(_EBLOG_CAT_UPDATE)%></th>
+ </tr><tr>
+ <td><%text(_EBLOG_CAT_UPDATE)%></td>
+ <td><input type="submit" value="<%text(_EBLOG_CAT_UPDATE_BTN)%>" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="commentdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_COMMENT)%></p>
+ <div class="note">
+ <b><%text(_EDITC_WHO)%>:</b> <%deletecomment(author)%>
+ <br />
+ <b><%text(_EDITC_TEXT)%>:</b> <%deletecomment(body)%>
+ </div>
+ <form method="post" action="<%adminurl%>index.php"><div>
+ <input type="hidden" name="action" value="commentdeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="commentid" value="<%deletecomment(id)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div></form>]]></part>
+ <part name="commentedit"><![CDATA[<h2><%text(_EDITC_TITLE)%></h2>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="commentupdate" />
+ <%ticket%>
+ <input type="hidden" name="commentid" value="<%editcomment(id)%>" />
+ <table>
+ <tr>
+ <th colspan="2"><%text(_EDITC_TITLE)%></th>
+ </tr>
+ <tr>
+ <td><%text(_EDITC_WHO)%></td>
+ <td><%editcomment(user)%></td>
+ </tr>
+ <tr>
+ <td><%text(_EDITC_WHEN)%></td>
+ <td><%editcomment(date)%></td>
+ </tr>
+ <tr>
+ <td><%text(_EDITC_HOST)%></td>
+ <td><%editcomment(host)%></td>
+ </tr>
+ <tr>
+ <td><%text(_EDITC_URL)%></td>
+ <td><input type="text" name="url" size="30" tabindex="6" value="<%editcomment(url)%>" /></td>
+ </tr>
+ <tr>
+ <td><%text(_EDITC_EMAIL)%></td>
+ <td><input type="text" name="email" size="30" tabindex="8" value="<%editcomment(email)%>" /></td>
+ </tr>
+ <tr>
+ <td><%text(_EDITC_TEXT)%></td>
+ <td><textarea name="body" tabindex="10" rows="10" cols="50"><%editcomment(body)%></textarea></td>
+ </tr>
+ <tr>
+ <td><%text(_EDITC_EDIT)%></td>
+ <td><input type="submit" tabindex="20" value="<%text(_EDITC_EDIT)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="createitem"><![CDATA[<h2><%text(_ADD_ADDTO)%> '<%adminbloglink(admin/default)%>'</h2>
+
+<%init%>
+<script type="text/javascript" src="<%skinfile(/javascript/numbercheck.js)%>"></script>
+<%if(autosave)%><script type="text/javascript" src="<%skinfile(/javascript/xmlhttprequest.js)%>"></script><%endif%>
+
+<form id="addform" method="post" action="<%adminurl%>index.php" >
+
+<div>
+
+<input type="hidden" name="action" value="additem" />
+<input name="blogid" value="<%blogid%>" type="hidden" />
+<input type="hidden" name="draftid" value="0" />
+<%ticket%>
+
+<table>
+ <tr>
+ <th colspan="2"><%text(_ADD_CREATENEW)%></th>
+ </tr>
+ <%if(autosave)%><tr>
+ <td><%text(_AUTOSAVEDRAFT)%></td>
+ <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>
+ </tr><%endif%>
+ <tr>
+ <td><%text(_ADD_TITLE)%></td>
+ <td><input id="inputtitle" onkeyup="storeCaret(this); updPreview(title); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"
+ name="title"
+ tabindex="10"
+ size="60"
+ maxlength="160"
+ value="<%contents(title)%>"
+ /></td>
+ </tr><tr>
+ <td>
+ <%text(_ADD_BODY)%> <%helplink(additem)%>
+ </td>
+ <td>
+ <div class="jsbuttonbar">
+<!--[if IE]>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="cutThis()">
+ <img src="<%skinfile(/images/button-cut.gif)%>" title="<%text(_ADD_CUT_TT)%>(Ctrl + X)" alt="<%text(_ADD_CUT_TT)%>(Ctrl + X)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="copyThis()">
+ <img src="<%skinfile(/images/button-copy.gif)%>" title="<%text(_ADD_COPY_TT)%>(Ctrl + C)" alt="<%text(_ADD_COPY_TT)%>(Ctrl + C)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="pasteThis()">
+ <img src="<%skinfile(/images/button-paste.gif)%>" title="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" alt="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">
+ <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" alt="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">
+ <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" alt="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">
+ <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" alt="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" width="16" height="16" />
+ </span>
+<![endif]-->
+<!--[if ! IE]>-->
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">
+ <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>" alt="<%text(_ADD_BOLD_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">
+ <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>" alt="<%text(_ADD_ITALIC_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">
+ <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>" alt="<%text(_ADD_HREF_TT)%>" width="16" height="16" />
+ </span>
+<!--<![endif]-->
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignleftThis()">
+ <img src="<%skinfile(/images/button-alignleft.gif)%>" title="<%text(_ADD_ALIGNLEFT_TT)%>" alt="<%text(_ADD_ALIGNLEFT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignrightThis()">
+ <img src="<%skinfile(/images/button-alignright.gif)%>" title="<%text(_ADD_ALIGNRIGHT_TT)%>" alt="<%text(_ADD_ALIGNRIGHT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="aligncenterThis()">
+ <img src="<%skinfile(/images/button-aligncenter.gif)%>" title="<%text(_ADD_ALIGNCENTER_TT)%>" alt="<%text(_ADD_ALIGNCENTER_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="leftThis()">
+ <img src="<%skinfile(/images/button-left.gif)%>" title="<%text(_ADD_LEFT_TT)%>" alt="<%text(_ADD_LEFT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="rightThis()">
+ <img src="<%skinfile(/images/button-right.gif)%>" title="<%text(_ADD_RIGHT_TT)%>" alt="<%text(_ADD_RIGHT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="addMedia()">
+ <img src="<%skinfile(/images/button-media.gif)%>" title="<%text(_ADD_MEDIA_TT)%>" alt="<%text(_ADD_MEDIA_TT)%>" width="16" height="16" />
+ </span>
+<!--[if IE]>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="showedit()">
+ <img src="<%skinfile(/images/button-preview.gif)%>" title="<%text(_ADD_PREVIEW_TT)%>" alt="<%text(_ADD_PREVIEW_TT)%>" width="16" height="16" />
+ </span>
+<![endif]-->
+ <div class="jsbuttonend"></div>
+ </div>
+ <textarea id="inputbody" onkeyup="storeCaret(this); updPreview(body); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"
+ name="body"
+ tabindex="20"
+ cols="60"
+ rows="20"><%contents(body)%></textarea>
+ </td>
+ </tr><tr id="edit" style="display:none;">
+ <td><%text(_ADD_PREVIEW)%></td>
+ <td><b><span id="prevtitle"> </span></b><br />
+ <span id="prevbody"> </span><br />
+ <span id="prevmore"> </span><br />
+ </td>
+ </tr><tr>
+
+<%if(blogsetting, bcomments)%>
+ <td><%text(_ADD_DISABLE_COMMENTS)%></td>
+ <td>
+ <input name="closed" type="radio" tabindex="30" value="1" id="closed_yes" /><label for="closed_yes"><%text(_YES)%></label>
+ <input name="closed" type="radio" tabindex="30" value="0" checked="checked" id="closed_no" /><label for="closed_no"><%text(_NO)%></label>
+ </td>
+ </tr><tr>
+<%endif%>
+
+
+ <td><%text(_ADD_CATEGORY)%></td>
+ <td><%categories(40)%></td>
+ </tr><tr>
+ <td><%text(_SUBMIT)%></td>
+ <td>
+ <input tabindex="60" type="submit" value="<%text(_ADD_ADDITEM)%>"
+ onclick="return checkSubmit();" />
+
+ <br /><br />
+
+ <input name="actiontype" value="addnow" type="radio" checked='checked' id="act_now" tabindex="61" /><label for="act_now"><%text(_ADD_ADDNOW)%></label>
+ <br />
+ <input name="actiontype" value="addfuture" type="radio" id="act_future" tabindex="61" /><label for="act_future" ><%text(_ADD_ADDLATER)%></label> <%helplink(future)%>
+ <div class="indent">
+ <%text(_ADD_PLACE_ON)%>
+ <input id="inputyear" name="year" tabindex="63" size="4" value="<%currenttime(year)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>
+ <input id="inputmonth" name="month" tabindex="64" size="2" value="<%currenttime(mon)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>
+ <input id="inputday" name="day" tabindex="65" size="2" value="<%currenttime(mday)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_DAY)%>
+
+ <input id="inputhour" name="hour" tabindex="66" size="2" value="<%currenttime(hours)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>
+ <input id="inputminutes" name="minutes" tabindex="67" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>
+ <br /><%text(_ITEM_ADDEDITTEMPLATE_FORMAT)%>(yyyy)<%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>(dd)<%text(_ITEM_ADDEDITTEMPLATE_DAY)%> (hh)<%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>
+
+ <%if(blogsetting, ballowpast,0)%>
+ <br />
+ <%text(_ADD_NOPASTDATES)%>
+ <%endif%>
+ </div>
+ <input name="actiontype" tabindex="61" value="adddraft" type="radio" id="act_draft" /><label for="act_draft"><%text(_ADD_ADDDRAFT)%></label> <%helplink(draft)%>
+ </td>
+ </tr><tr>
+ <td><%text(_ADD_PLUGIN_EXTRAS)%></td>
+ <td>
+ <%pluginextras%>
+ </td>
+ </tr>
+ <%itemoptions%>
+ <tr>
+ <th colspan="2"><%text(_ADD_MORE)%></th>
+ </tr><tr>
+ <td><%text(_ADD_MORE)%>
+ <br /><%helplink(extended)%>
+ </td>
+ <td>
+ <div class="jsbuttonbar">
+<!--[if IE]>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="cutThis()">
+ <img src="<%skinfile(/images/button-cut.gif)%>" title="<%text(_ADD_CUT_TT)%>(Ctrl + X)" alt="<%text(_ADD_CUT_TT)%>(Ctrl + X)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="copyThis()">
+ <img src="<%skinfile(/images/button-copy.gif)%>" title="<%text(_ADD_COPY_TT)%>(Ctrl + C)" alt="<%text(_ADD_COPY_TT)%>(Ctrl + C)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="pasteThis()">
+ <img src="<%skinfile(/images/button-paste.gif)%>" title="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" alt="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">
+ <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" alt="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">
+ <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" alt="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">
+ <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" alt="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" width="16" height="16" />
+ </span>
+<![endif]-->
+<!--[if ! IE]>-->
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">
+ <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>" alt="<%text(_ADD_BOLD_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">
+ <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>" alt="<%text(_ADD_ITALIC_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">
+ <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>" alt="<%text(_ADD_HREF_TT)%>" width="16" height="16" />
+ </span>
+<!--<![endif]-->
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignleftThis()">
+ <img src="<%skinfile(/images/button-alignleft.gif)%>" title="<%text(_ADD_ALIGNLEFT_TT)%>" alt="<%text(_ADD_ALIGNLEFT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignrightThis()">
+ <img src="<%skinfile(/images/button-alignright.gif)%>" title="<%text(_ADD_ALIGNRIGHT_TT)%>" alt="<%text(_ADD_ALIGNRIGHT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="aligncenterThis()">
+ <img src="<%skinfile(/images/button-aligncenter.gif)%>" title="<%text(_ADD_ALIGNCENTER_TT)%>" alt="<%text(_ADD_ALIGNCENTER_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="leftThis()">
+ <img src="<%skinfile(/images/button-left.gif)%>" title="<%text(_ADD_LEFT_TT)%>" alt="<%text(_ADD_LEFT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="rightThis()">
+ <img src="<%skinfile(/images/button-right.gif)%>" title="<%text(_ADD_RIGHT_TT)%>" alt="<%text(_ADD_RIGHT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="addMedia()">
+ <img src="<%skinfile(/images/button-media.gif)%>" title="<%text(_ADD_MEDIA_TT)%>" alt="<%text(_ADD_MEDIA_TT)%>" width="16" height="16" />
+ </span>
+<!--[if IE]>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="showedit()">
+ <img src="<%skinfile(/images/button-preview.gif)%>" title="<%text(_ADD_PREVIEW_TT)%>" alt="<%text(_ADD_PREVIEW_TT)%>" width="16" height="16" />
+ </span>
+<![endif]-->
+ </div>
+ <textarea id="inputmore" onkeyup="storeCaret(this); updPreview(more); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"
+ name="more"
+ tabindex="70"
+ cols="60"
+ rows="20"
+ ><%contents(more)%></textarea>
+ </td>
+ </tr><tr>
+ <td><%text(_SUBMIT)%></td>
+ <td>
+ <input tabindex="60" type="submit" value="<%text(_ADD_ADDITEM)%>"
+ onclick="return checkSubmit();" />
+ <%if(autosave)%>
+ <input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"
+ onclick="autoSaveDraft();" />
+ <%endif%>
+ </td>
+ </tr>
+</table>
+
+</div>
+</form>
+<%if(autosave)%>
+<script type="text/javascript">
+ var xmlhttprequest = new Array();
+ xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
+ xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
+ var seconds = now(); // Last AutoDraft time
+ var checks = 0; // Number of checks since last AutoDraft
+ var addform = document.getElementById('addform'); // The form id
+ var goal = document.getElementById('info'); // The html div id where 'Last saved: date time' must come
+ var goalurl = '../action.php'; // The PHP file where the content must be posted to
+ var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'
+ var formtype = 'add'; // Add or edit form
+</script>
+<%endif%>]]></part>
+ <part name="createnewlog"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_EBLOG_CREATE_TITLE)%></h2>
+ <h3><%text(_ADMIN_NOTABILIA)%></h3>
+ <p><%text(_ADMIN_PLEASE_READ)%></p>
+ <p><%text(_ADMIN_HOW_TO_ACCESS)%></p>
+ <ol>
+ <li><%text(_ADMIN_SIMPLE_WAY)%></li>
+ <li><%text(_ADMIN_ADVANCED_WAY)%></li>
+ </ol>
+ <h3><%text(_ADMIN_HOW_TO_CREATE)%></h3>
+ <p><%text(_EBLOG_CREATE_TEXT)%></p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="addnewlog" />
+ <%ticket%>
+ <table>
+ <tr>
+ <td><%text(_EBLOG_NAME)%></td>
+ <td><input name="name" tabindex="10" size="40" maxlength="60" /></td>
+ </tr><tr>
+ <td>
+ <%text(_EBLOG_SHORTNAME)%>
+ <%helplink(shortblogname)%>
+ </td>
+ <td><input name="shortname" tabindex="20" maxlength="15" size="15" /></td>
+ </tr><tr>
+ <td><%text(_EBLOG_DESC)%></td>
+ <td><input name="desc" tabindex="30" maxlength="200" size="40" /></td>
+ </tr><tr>
+ <td>
+ <%text(_EBLOG_DEFSKIN)%>
+ <%helplink(blogdefaultskin)%>
+ </td>
+ <td><%defskinselect%></td>
+ </tr><tr>
+ <td>
+ <%text(_EBLOG_OFFSET)%>
+ <%helplink(blogtimeoffset)%><br />
+ <%text(_EBLOG_STIME)%> <b><%blogtime(servertime,"%H:%M")%></b>
+ </td>
+ <td><input name="timeoffset" tabindex="110" size="3" value="0" /></td>
+ </tr><tr>
+ <td>
+ <%text(_EBLOG_ADMIN)%>
+ <%helplink(teamadmin)%>
+ </td>
+ <td><%text(_EBLOG_ADMIN_MSG)%></td>
+ </tr><tr>
+ <td><%text(_EBLOG_CREATE)%></td>
+ <td><input type="submit" tabindex="120" value="<%text(_EBLOG_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="deleteblog"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_WARNINGTXT_BLOGDEL)%>
+ </p>
+ <div>
+ <%text(_CONFIRMTXT_BLOG)%><b><%blogsetting(name)%></b>
+ </div>
+ <form method="post" action="<%adminurl%>index.php"><div>
+ <input type="hidden" name="action" value="deleteblogconfirm" />
+ <%ticket%>
+ <input type="hidden" name="blogid" value="<%requestblogid%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div></form>]]></part>
+ <part name="editmembersettings"><![CDATA[<%if(superadmin)%><a href="<%adminurl%>index.php?action=usermanagement">(<%text(_MEMBERS_BACKTOOVERVIEW)%>)<%else%><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)<%endif%></a>
+ <h2><%text(_MEMBERS_EDIT)%></h2>
+ <form method="post" action="<%adminurl%>index.php" name="memberedit">
+ <div>
+ <input type="hidden" name="action" value="changemembersettings" />
+ <input type="hidden" name="memberid" value="<%editmember(id)%>" />
+ <%ticket%>
+ <table>
+ <tr>
+ <th colspan="2"><%text(_MEMBERS_EDIT)%></th>
+ </tr><tr>
+ <td>
+ <%text(_MEMBERS_DISPLAY)%> <%helplink(shortnames)%>
+ <br /><small><%text(_MEMBERS_DISPLAY_INFO)%></small>
+ </td>
+ <td><%editmember(displayname)%></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_REALNAME)%></td>
+ <td><input name="realname" tabindex="20" maxlength="60" size="40" value="<%editmember(realname)%>" /></td>
+ </tr><tr><%if(allowloginedit)%>
+ <td><%text(_MEMBERS_PWD)%></td>
+ <td><input type="password" tabindex="30" maxlength="40" size="16" name="password" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_REPPWD)%></td>
+ <td><input type="password" tabindex="35" maxlength="40" size="16" name="repeatpassword" /></td>
+ </tr><tr><%endif%>
+ <td>
+ <%text(_MEMBERS_EMAIL)%>
+ <br /><small><%text(_MEMBERS_EMAIL_EDIT)%></small>
+ </td>
+ <td><input name="email" tabindex="40" size="40" maxlength="60" value="<%editmember(email)%>" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_URL)%></td>
+ <td><input name="url" tabindex="50" size="40" maxlength="100" value="<%editmember(url)%>" /></td>
+ <%if(superadmin)%></tr><tr>
+ <td><%text(_MEMBERS_SUPERADMIN)%> <%helplink(superadmin)%></td>
+ <td><%editmember(admin)%></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_CANLOGIN)%> <%helplink(canlogin)%></td>
+ <td><%editmember(canlogin)%></td><%endif%>
+ </tr><tr>
+ <td><%text(_MEMBERS_NOTES)%></td>
+ <td><input name="notes" tabindex="80" size="40" maxlength="100" value="<%editmember(notes)%>" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_LOCALE)%> <%helplink(locale)%></td>
+ <td>
+ <select name="locale" tabindex="85">
+ <%localeselectoptions%>
+ </select>
+ </td>
+ </tr><tr>
+ <td><%text(_MEMBERS_USEAUTOSAVE)%> <%helplink(autosave)%></td>
+ <td><%editmember(autosave)%></td>
+ </tr><%if(superadmin)%><tr>
+ <td><%text(_SKINABLEADMIN_MEMBERS_ADMINSKIN)%> <%customhelplink(useadminskin)%></td>
+ <td>
+ <%adminskinselectoptions%>
+ </td>
+ </tr><%endif%>
+ <%pluginoptions(member)%>
+ <tr>
+ <th colspan="2"><%text(_MEMBERS_EDIT)%></th>
+ </tr><tr>
+ <td><%text(_MEMBERS_EDIT)%></td>
+ <td><input type="submit" tabindex="90" value="<%text(_MEMBERS_EDIT_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>
+ <h3><%text(_PLUGINS_EXTRA)%></h3>
+ <%pluginextras(member)%>]]></part>
+ <part name="insertpluginoptions"><![CDATA[<%insertpluginoptions(admin/default)%>]]></part>
+ <part name="itemcommentlist"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=itemlist&blogid=<%requestblogid%>"><%text(_BACKTOOVERVIEW)%></a>)</p>
+ <h2><%text(_COMMENTS)%></h2>
+ <%commentnavlist(admin/default)%>]]></part>
+ <part name="itemdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_ITEM)%></p>
+ <div class="note">
+ <b>"<%deleteitemtitle%>"</b>
+ <br />
+ <%deleteitembody%>
+ </div>
+ <form method="post" action="<%adminurl%>index.php"><div>
+ <input type="hidden" name="action" value="itemdeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="itemid" value="<%deleteitemid%>" />
+ <input type="submit" value="<%text(_DELETE_CONFIRM_BTN)%>" tabindex="10" />
+ </div></form>]]></part>
+ <part name="itemedit"><![CDATA[<h2><%text(_EDIT_ITEM)%></h2>
+
+<%init%>
+<script type="text/javascript" src="<%skinfile(/javascript/numbercheck.js)%>"></script>
+<%if(autosave)%><script type="text/javascript" src="<%skinfile(/javascript/xmlhttprequest.js)%>"></script><%endif%>
+
+<form id="editform" method="post" action="<%adminurl%>index.php">
+<div>
+
+<input type="hidden" name="action" value="itemupdate" />
+<input name="itemid" value="<%contents(itemid)%>" type="hidden" />
+<input type="hidden" name="draftid" value="0" />
+<%ticket%>
+
+<table><tr>
+ <th colspan="2"><%text(_EDIT_ITEM)%></th>
+</tr>
+<%if(autosave)%><tr>
+ <td><%text(_AUTOSAVEDRAFT)%></td>
+ <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>
+</tr><%endif%>
+<tr>
+ <td><%text(_EDIT_ORIG_AUTHOR)%></td>
+ <td><%contents(author)%></td>
+</tr><tr>
+ <td><%text(_ADD_TITLE)%></td>
+ <td><input id="inputtitle" onkeyup="storeCaret(this); updPreview(title); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"
+ name="title"
+ tabindex="10"
+ size="60"
+ maxlength="160"
+ value="<%contents(title)%>" />
+ </td>
+</tr><tr>
+ <td>
+ <%text(_ADD_BODY)%>
+ </td>
+ <td>
+ <div class="jsbuttonbar">
+<!--[if IE]>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="cutThis()">
+ <img src="<%skinfile(/images/button-cut.gif)%>" title="<%text(_ADD_CUT_TT)%>(Ctrl + X)" alt="<%text(_ADD_CUT_TT)%>(Ctrl + X)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="copyThis()">
+ <img src="<%skinfile(/images/button-copy.gif)%>" title="<%text(_ADD_COPY_TT)%>(Ctrl + C)" alt="<%text(_ADD_COPY_TT)%>(Ctrl + C)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="pasteThis()">
+ <img src="<%skinfile(/images/button-paste.gif)%>" title="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" alt="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">
+ <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" alt="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">
+ <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" alt="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">
+ <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" alt="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" width="16" height="16" />
+ </span>
+<![endif]-->
+<!--[if ! IE]>-->
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">
+ <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>" alt="<%text(_ADD_BOLD_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">
+ <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>" alt="<%text(_ADD_ITALIC_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">
+ <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>" alt="<%text(_ADD_HREF_TT)%>" width="16" height="16" />
+ </span>
+<!--<![endif]-->
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignleftThis()">
+ <img src="<%skinfile(/images/button-alignleft.gif)%>" title="<%text(_ADD_ALIGNLEFT_TT)%>" alt="<%text(_ADD_ALIGNLEFT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignrightThis()">
+ <img src="<%skinfile(/images/button-alignright.gif)%>" title="<%text(_ADD_ALIGNRIGHT_TT)%>" alt="<%text(_ADD_ALIGNRIGHT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="aligncenterThis()">
+ <img src="<%skinfile(/images/button-aligncenter.gif)%>" title="<%text(_ADD_ALIGNCENTER_TT)%>" alt="<%text(_ADD_ALIGNCENTER_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="leftThis()">
+ <img src="<%skinfile(/images/button-left.gif)%>" title="<%text(_ADD_LEFT_TT)%>" alt="<%text(_ADD_LEFT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="rightThis()">
+ <img src="<%skinfile(/images/button-right.gif)%>" title="<%text(_ADD_RIGHT_TT)%>" alt="<%text(_ADD_RIGHT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="addMedia()">
+ <img src="<%skinfile(/images/button-media.gif)%>" title="<%text(_ADD_MEDIA_TT)%>" alt="<%text(_ADD_MEDIA_TT)%>" width="16" height="16" />
+ </span>
+<!--[if IE]>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="showedit()">
+ <img src="<%skinfile(/images/button-preview.gif)%>" title="<%text(_ADD_PREVIEW_TT)%>" alt="<%text(_ADD_PREVIEW_TT)%>" width="16" height="16" />
+ </span>
+<![endif]-->
+ </div>
+ <textarea id="inputbody" onkeyup="storeCaret(this); updPreview(body); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"
+ name="body"
+ tabindex="20"
+ cols="60"
+ rows="20"><%contents(body)%></textarea>
+ </td>
+</tr><tr id="edit" style="display:none;">
+ <td><%text(_ADD_PREVIEW)%></td>
+ <td><b><span id="prevtitle"> </span></b><br />
+ <span id="prevbody"> </span><br />
+ <span id="prevmore"> </span><br />
+ </td>
+</tr><tr>
+
+<%if(blogsetting, bcomments)%>
+ <td>
+ <%text(_ADD_DISABLE_COMMENTS)%>
+ </td>
+ <td>
+ <input type="radio" name="closed" value="1" <%checkedonval(1,closed)%> tabindex="30" id="closed_yes" /><label for="closed_yes"><%text(_YES)%></label>
+ <input type="radio" name="closed" value="0" <%checkedonval(0,closed)%> tabindex="30" id="closed_no" /><label for="closed_no"><%text(_NO)%></label>
+ <br />
+ <small><%text(_EDIT_COMMENTSNOTE)%></small>
+ </td>
+ </tr><tr>
+<%endif%>
+
+ <td><%text(_ADD_CATEGORY)%></td>
+ <td><%categories(40)%></td>
+</tr><tr>
+ <td><%text(_EDIT_SUBMIT)%></td>
+ <td>
+
+ <input type="submit" tabindex="60" value="<%text(_EDIT_SUBMIT)%>" onclick="return checkSubmit();" />
+
+<%if(itemproperty, draft)%>
+ <br /><br />
+ <input name="actiontype" value="addnow" type="radio" id="act_now" /><label for="act_now" tabindex="61"><%text(_ADD_ADDNOW)%></label>
+ <br />
+ <input name="actiontype" value="addfuture" type="radio" id="act_future" tabindex="61" /><label for="act_future"><%text(_ADD_ADDLATER)%></label> <%helplink(future)%>
+ <div class="indent">
+ <%text(_ADD_PLACE_ON)%>
+ <input id="inputyear" name="year" tabindex="71" size="4" value="<%currenttime(year)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>
+ <input id="inputmonth" name="month" tabindex="72" size="2" value="<%currenttime(mon)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>
+ <input id="inputday" name="day" tabindex="73" size="2" value="<%currenttime(mday)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_DAY)%>
+
+ <input id="inputhour" name="hour" tabindex="74" size="2" value="<%currenttime(hours)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>
+ <input id="inputminutes" name="minutes" tabindex="75" size="2" value="<%currenttime(minutes)%>" onchange="document.forms[0].act_future.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>
+ <br /><%text(_ITEM_ADDEDITTEMPLATE_FORMAT)%>(yyyy)<%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>(dd)<%text(_ITEM_ADDEDITTEMPLATE_DAY)%> (hh)<%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>
+ <%if(blogsetting, ballowpast,0)%>
+ <br />
+ <%text(_ADD_NOPASTDATES)%>
+ <%endif%>
+ </div>
+ <input name="actiontype" value="adddraft" type="radio" checked='checked' id="act_draft" tabindex="61" /><label for="act_draft"><%text(_EDIT_BACKTODRAFTS)%></label> <%helplink(draft)%>
+ <br />
+ <input name="actiontype" value="delete" type="radio" id="act_delete" tabindex="61" /><label for="act_delete"><%text(_BMLET_DELETE)%></label>
+<%endif%>
+
+<%if(itemproperty, draft,0)%>
+ <br /><br />
+ <input name="actiontype" value="edit" type="radio" checked="checked" id="act_edit" tabindex="61" /><label for="act_edit"><%text(_BMLET_EDIT)%></label>
+ <%if(blogsetting, ballowpast)%>
+ <br />
+ <input name="actiontype" value="changedate" type="radio" id="act_changedate" tabindex="70" /><label for="act_changedate"><%text(_ADD_CHANGEDATE)%></label> <%helplink(changedate)%>
+ <div class="indent">
+ <input id="inputyear" name="year" tabindex="71" size="4" value="<%itemtime(year)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>
+ <input id="inputmonth" name="month" tabindex="72" size="2" value="<%itemtime(mon)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>
+ <input id="inputday" name="day" tabindex="73" size="2" value="<%itemtime(mday)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_DAY)%>
+
+ <input id="inputhour" name="hour" tabindex="74" size="2" value="<%itemtime(hours)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>
+ <input id="inputminutes" name="minutes" tabindex="75" size="2" value="<%itemtime(minutes)%>" onchange="document.forms[0].act_changedate.checked=true;" /><%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>
+ <br /><%text(_ITEM_ADDEDITTEMPLATE_FORMAT)%>(yyyy)<%text(_ITEM_ADDEDITTEMPLATE_YEAR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MONTH)%>(dd)<%text(_ITEM_ADDEDITTEMPLATE_DAY)%> (hh)<%text(_ITEM_ADDEDITTEMPLATE_HOUR)%>(mm)<%text(_ITEM_ADDEDITTEMPLATE_MINUTE)%>
+ </div>
+ <%endif%>
+ <input name="actiontype" value="backtodrafts" type="radio" id="act_backtodrafts" tabindex="71" /><label for="act_backtodrafts"><%text(_BMLET_BACKTODRAFTS)%></label> <%helplink(draft)%>
+ <br />
+ <input name="actiontype" value="delete" type="radio" id="act_delete" tabindex="61" /><label for="act_delete"><%text(_BMLET_DELETE)%></label>
+<%endif%>
+
+ </td>
+</tr><tr>
+ <td><%text(_ADD_PLUGIN_EXTRAS)%></td>
+ <td>
+ <%pluginextras%>
+ </td>
+</tr>
+ <%itemoptions%>
+<tr>
+ <th colspan="2"><%text(_ADD_MORE)%></th>
+</tr>
+<tr>
+ <td><%text(_ADD_MORE)%>
+ <br /><%helplink(extended)%>
+ </td>
+ <td>
+ <div class="jsbuttonbar">
+<!--[if IE]>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="cutThis()">
+ <img src="<%skinfile(/images/button-cut.gif)%>" title="<%text(_ADD_CUT_TT)%>(Ctrl + X)" alt="<%text(_ADD_CUT_TT)%>(Ctrl + X)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="copyThis()">
+ <img src="<%skinfile(/images/button-copy.gif)%>" title="<%text(_ADD_COPY_TT)%>(Ctrl + C)" alt="<%text(_ADD_COPY_TT)%>(Ctrl + C)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="pasteThis()">
+ <img src="<%skinfile(/images/button-paste.gif)%>" title="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" alt="<%text(_ADD_PASTE_TT)%>(Ctrl + V)" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">
+ <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" alt="<%text(_ADD_BOLD_TT)%>(Ctrl + Shift + B)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">
+ <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" alt="<%text(_ADD_ITALIC_TT)%>(Ctrl + Shift + I)" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">
+ <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" alt="<%text(_ADD_HREF_TT)%>(Ctrl + Shift + A)" width="16" height="16" />
+ </span>
+<![endif]-->
+<!--[if ! IE]>-->
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="boldThis()">
+ <img src="<%skinfile(/images/button-bold.gif)%>" title="<%text(_ADD_BOLD_TT)%>" alt="<%text(_ADD_BOLD_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="italicThis()">
+ <img src="<%skinfile(/images/button-italic.gif)%>" title="<%text(_ADD_ITALIC_TT)%>" alt="<%text(_ADD_ITALIC_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="ahrefThis()">
+ <img src="<%skinfile(/images/button-link.gif)%>" title="<%text(_ADD_HREF_TT)%>" alt="<%text(_ADD_HREF_TT)%>" width="16" height="16" />
+ </span>
+<!--<![endif]-->
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignleftThis()">
+ <img src="<%skinfile(/images/button-alignleft.gif)%>" title="<%text(_ADD_ALIGNLEFT_TT)%>" alt="<%text(_ADD_ALIGNLEFT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="alignrightThis()">
+ <img src="<%skinfile(/images/button-alignright.gif)%>" title="<%text(_ADD_ALIGNRIGHT_TT)%>" alt="<%text(_ADD_ALIGNRIGHT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="aligncenterThis()">
+ <img src="<%skinfile(/images/button-aligncenter.gif)%>" title="<%text(_ADD_ALIGNCENTER_TT)%>" alt="<%text(_ADD_ALIGNCENTER_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="leftThis()">
+ <img src="<%skinfile(/images/button-left.gif)%>" title="<%text(_ADD_LEFT_TT)%>" alt="<%text(_ADD_LEFT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="rightThis()">
+ <img src="<%skinfile(/images/button-right.gif)%>" title="<%text(_ADD_RIGHT_TT)%>" alt="<%text(_ADD_RIGHT_TT)%>" width="16" height="16" />
+ </span>
+ <span class="jsbuttonspacer"> </span>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="addMedia()">
+ <img src="<%skinfile(/images/button-media.gif)%>" title="<%text(_ADD_MEDIA_TT)%>" alt="<%text(_ADD_MEDIA_TT)%>" width="16" height="16" />
+ </span>
+<!--[if IE]>
+ <span class="jsbutton" onmouseover="BtnHighlight(this);" onmouseout="BtnNormal(this);" onclick="showedit()">
+ <img src="<%skinfile(/images/button-preview.gif)%>" title="<%text(_ADD_PREVIEW_TT)%>" alt="<%text(_ADD_PREVIEW_TT)%>" width="16" height="16" />
+ </span>
+<![endif]-->
+ </div>
+ <textarea id="inputmore" onkeyup="storeCaret(this); updPreview(more); doMonitor();" onclick="storeCaret(this);" onselect="storeCaret(this);"
+ name="more"
+ tabindex="90"
+ cols="60"
+ rows="20"><%contents(more)%></textarea>
+ </td>
+</tr><tr>
+ <td><%text(_SUBMIT)%></td>
+ <td>
+ <input tabindex="60" type="submit" value="<%text(_EDIT_SUBMIT)%>"
+ onclick="return checkSubmit();" />
+ <%if(autosave)%><input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"
+ onclick="autoSaveDraft();" /><%endif%>
+ </td>
+
+</tr></table>
+
+</div>
+</form>
+
+<%if(autosave)%><script type="text/javascript">
+ var xmlhttprequest = new Array();
+ xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
+ xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
+ var seconds = now(); // Last AutoDraft time
+ var checks = 0; // Number of checks since last AutoDraft
+ var addform = document.getElementById('editform'); // The form id
+ var goal = document.getElementById('info'); // The html div id where 'Last saved: date time' must come
+ var goalurl = '../action.php'; // The PHP file where the content must be posted to
+ var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'
+ var formtype = 'edit'; // Add or edit form
+</script><%endif%>]]></part>
+ <part name="itemlist"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+ <h2><%text(_ITEMLIST_BLOG)%><%adminbloglink(admin/default)%></h2>
+ <%ilistaddnew%>
+ <%itemnavlist(admin/default)%>]]></part>
+ <part name="itemmove"><![CDATA[<h2><%text(_MOVE_TITLE)%></h2>
+ <form method="post" action="<%adminurl%>index.php"><div>
+ <input type="hidden" name="action" value="itemmoveto" />
+ <input type="hidden" name="itemid" value="<%moveitemid%>" />
+ <%ticket%>
+ <%movedistselect%>
+ <input type="submit" value="<%text(_MOVE_BTN)%>" tabindex="10000" onclick="return checkSubmit();" />
+ </div></form>]]></part>
+ <part name="manage"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+ <%headmessage%>
+ <h2><%text(_MANAGE_GENERAL)%></h2>
+
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=createnewlog"><%text(_OVERVIEW_NEWLOG)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=settingsedit"><%text(_OVERVIEW_SETTINGS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=usermanagement"><%text(_OVERVIEW_MEMBERS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=actionlog"><%text(_OVERVIEW_VIEWLOG)%></a></li>
+ </ul>
+
+ <h2><%text(_MANAGE_SKINS)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=skinoverview"><%text(_OVERVIEW_SKINS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=templateoverview"><%text(_OVERVIEW_TEMPLATES)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=skinieoverview"><%text(_OVERVIEW_SKINIMPORT)%></a></li>
+ </ul>
+
+ <h2><%text(_MANAGE_EXTRA)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=backupoverview"><%text(_OVERVIEW_BACKUP)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=pluginlist"><%text(_OVERVIEW_PLUGINS)%></a></li>
+ </ul>]]></part>
+ <part name="manageteam"><![CDATA[<p><a href="<%adminurl%>index.php?action=blogsettings&blogid=<%requestblogid%>">(<%text(_BACK_TO_BLOGSETTINGS)%>)</a></p>
+ <h2><%text(_TEAM_TITLE)%><%blogsetting(name)%></h2>
+ <h3><%text(_TEAM_CURRENT)%></h3>
+ <%blogteamlist(admin/default)%>
+ <h3><%text(_TEAM_ADDNEW)%></h3>
+ <form method='post' action='<%adminurl%>index.php'>
+ <div>
+ <input type='hidden' name='action' value='teamaddmember' />
+ <input type='hidden' name='blogid' value='<%requestblogid%>' />
+
+
+ <%ticket%>
+ <table>
+ <tr>
+ <td><%text(_TEAM_CHOOSEMEMBER)%></td>
+ <td><%newmemberselect%></td>
+ </tr><tr>
+ <td><%text(_TEAM_ADMIN)%><%helplink(teamadmin)%></td>
+ <td><%inputyesno(admin,0,10020)%></td>
+ </tr><tr>
+ <td><%text(_TEAM_ADD)%></td>
+ <td><input type='submit' value='<%text(_TEAM_ADD_BTN)%>' tabindex="10030" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="memberdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_MEMBER%><b><%editmember(displayname)%></b></p>
+ <p><%text(_WARNINGTXT_NOTDELMEDIAFILES)%></p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="memberdeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="memberid" value="<%editmember(id)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+ </form>]]></part>
+ <part name="overview"><![CDATA[<%headmessage%>
+ <h2><%text(_OVERVIEW_YRBLOGS)%></h2>
+ <%yrbloglist(admin/default)%>
+ <h2><%text(_OVERVIEW_YRSETTINGS)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=editmembersettings"><%text(_OVERVIEW_EDITSETTINGS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=browseownitems"><%text(_OVERVIEW_BROWSEITEMS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=browseowncomments"><%text(_OVERVIEW_BROWSECOMM)%></a></li>
+ </ul>
+ <%if(superadmin)%><h2><%text(_OVERVIEW_MANAGEMENT)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=manage"><%text(_OVERVIEW_MANAGE)%></a></li>
+ </ul>]]></part>
+ <part name="pagefoot"><![CDATA[<%if(loggedin)%><%ifnot(adminaction,showlogin)%><h2><%text(_LOGOUT)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=logout"><%text(_LOGOUT)%></a></li>
+ </ul><%endif%><%endif%>
+ <div class="foot">
+ <a href="<%text(_ADMINPAGEFOOT_OFFICIALURL)%>">Nucleus CMS</a> © 2002- <%date(%Y)%> <%text(_ADMINPAGEFOOT_COPYRIGHT)%> - <a href="<%text(_ADMINPAGEFOOT_DONATEURL)%>"><%text(_ADMINPAGEFOOT_DONATE)%></a>
+ </div>
+ </div><!-- content -->
+ <div id="quickmenu">
+ <%if(loggedin)%><%ifnot(adminaction,showlogin)%><ul>
+ <li><a href="<%adminurl%>index.php?action=overview"><%text(_QMENU_HOME)%></a></li>
+ </ul>
+
+ <h2><%text(_QMENU_ADD)%></h2>
+ <form method="get" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="createitem" />
+ <%qmenuaddselect%>
+ </div>
+ </form>
+
+ <h2><%member(yourrealname)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=editmembersettings"><%text(_QMENU_USER_SETTINGS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=browseownitems"><%text(_QMENU_USER_ITEMS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=browseowncomments"><%text(_QMENU_USER_COMMENTS)%></a></li>
+ </ul>
+ <%if(superadmin)%><h2><%text(_QMENU_MANAGE)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=actionlog"><%text(_QMENU_MANAGE_LOG)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=settingsedit"><%text(_QMENU_MANAGE_SETTINGS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=systemoverview"><%text(_QMENU_MANAGE_SYSTEM)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=usermanagement"><%text(_QMENU_MANAGE_MEMBERS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=createnewlog"><%text(_QMENU_MANAGE_NEWBLOG)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=backupoverview"><%text(_QMENU_MANAGE_BACKUPS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=pluginlist"><%text(_QMENU_MANAGE_PLUGINS)%></a></li>
+ </ul>
+ <h2><%text(_QMENU_LAYOUT)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=skinoverview"><%text(_QMENU_LAYOUT_SKINS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=templateoverview"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=skinieoverview"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>
+ </ul>
+ <h2><%text(_SKINABLEADMIN_QMENU_LAYOUT)%></h2>
+ <ul>
+ <li><a href="<%adminurl%>index.php?action=adminskinoverview"><%text(_QMENU_LAYOUT_SKINS)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=admintemplateoverview"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>
+ <li><a href="<%adminurl%>index.php?action=adminskinieoverview"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>
+ </ul><%endif%>
+ <%quickmenu(admin/default)%>
+ <%elseif(adminaction,activate)%><h2><%text(_QMENU_ACTIVATE)%></h2><%text(_QMENU_ACTIVATE_TEXT)%>
+ <%elseif(adminaction,activatesetpwd)%><h2><%text(_QMENU_ACTIVATE)%></h2><%text(_QMENU_ACTIVATE_TEXT)%>
+ <%else%><h2><%text(_QMENU_INTRO)%></h2><%text(_QMENU_INTRO_TEXT)%><%endif%>
+ </div>
+ <!-- content / quickmenu container -->
+ <div class="clear"></div> <!-- new -->
+ </div>
+ <!-- adminwrapper --> <!-- new -->
+ </div> <!-- new -->
+ </body>
+</html>]]></part>
+ <part name="pagehead"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=<%charset%>" />
+ <title><%sitevar(name)%> - Admin</title>
+ <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%skinfile(/styles/admin_contemporary_jp.css)%>" />
+ <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%skinfile(/styles/addedit.css)%>" />
+
+ <script type="text/javascript" src="<%skinfile(/javascripts/edit.js)%>"></script>
+ <script type="text/javascript" src="<%skinfile(/javascripts/admin.js)%>"></script>
+ <script type="text/javascript" src="<%skinfile(/javascripts/compatibility.js)%>"></script>
+
+ <meta http-equiv='Pragma' content='no-cache' />
+ <meta http-equiv='Cache-Control' content='no-cache, must-revalidate' />
+ <meta http-equiv='Expires' content='-1' />
+ <%extrahead%>
+ </head>
+ <body>
+ <div id="adminwrapper">
+ <div class="header">
+ <h1><%sitevar(name)%></h1>
+ </div>
+ <div id="container">
+ <div id="content">
+ <div class="loginname">
+ <%if(loggedin)%><%text(_LOGGEDINAS)%> <%member(yourrealname)%> - <a href="<%adminurl%>index.php?action=logout"><%text(_LOGOUT)%></a><br /><a href="<%adminurl%>index.php?action=overview"><%text(_ADMINHOME)%></a> - <%else%><a href="<%adminurl%>index.php?action=showlogin" title="Log in"><%text(_NOTLOGGEDIN)%></a><br /><%endif%>
+ <a href="<%sitevar(url)%>"><%text(_YOURSITE)%></a><br />
+ (<%if(superadmin)%><a href="<%versioncheckurl%>" title="<%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE)%>"><%version%><%codename%></a><%newestcompare%><%else%><%version%><%codename%><%endif%>)
+ </div>]]></part>
+ <part name="plugindelete"><![CDATA[ <h2><%text(_DELETE_CONFIRM)%></h2>
+
+ <p><%text(_CONFIRMTXT_PLUGIN)%> <strong><%editpluginfo(name)%></strong>?</p>
+ <form method="post" action="<%adminurl%>index.php"><div>
+ <%ticket%>
+ <input type="hidden" name="action" value="plugindeleteconfirm" />
+ <input type="hidden" name="plugid" value="<%editpluginfo(id)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div></form>
+]]></part>
+ <part name="pluginhelp"><![CDATA[ <p><a href="<%adminurl%>index.php?action=pluginlist">(<%text(_PLUGS_BACK)%>)</a></p>
+ <h2><%text(_PLUGS_HELP_TITLE)%>: <%helpplugname%></h2>
+ <%pluginhelp%>
+]]></part>
+ <part name="pluginlist"><![CDATA[ <p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_PLUGS_TITLE_MANAGE)%><%helplink(plugins)%></h2>
+ <h3><%text(_PLUGS_TITLE_INSTALLED)%> <span style="font-size:smaller"><%helplink('getplugins')%><%text(_PLUGS_TITLE_GETPLUGINS)%></a></span></h3>
+ <%pluginlistlist(admin/default)%>
+ <h3><%text(_PLUGS_TITLE_UPDATE)%></h3>
+ <p><%text(_PLUGS_TEXT_UPDATE)%></p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="pluginupdate" />
+ <%ticket%>
+ <input type="submit" value="<%text(_PLUGS_BTN_UPDATE)%>" tabindex="20" />
+ </div>
+ </form>
+ <h3><%text(_PLUGS_TITLE_NEW)%></h3>
+ <%if(existsnewplugin)%><p><%text(_PLUGS_ADD_TEXT)%></p>
+ <form method='post' action='index.php'>
+
+ <div>
+ <input type='hidden' name='action' value='pluginadd' />
+ <%ticket%>
+ <select name="filename" tabindex="30">
+ <%newpluginlist%>
+ </select>
+ <input type='submit' tabindex="40" value='<%text(_PLUGS_BTN_INSTALL)%>' />
+ </div></form><%else%><p><%text(_PLUGS_NOCANDIDATES)%></p><%endif%>]]></part>
+ <part name="pluginoptions"><![CDATA[<p><a href="<%adminurl%>index.php?action=pluginlist">(<%text(_PLUGS_BACK)%>)</a></p>
+ <h2><%sprinttext(_PLUGIN_OPTIONS_TITLE,<|%geteditpluginfo(name)%|>)%></h2>
+ <%headmessage%>
+ <form action="<%adminurl%>index.php" method="post">
+
+ <div>
+ <input type="hidden" name="action" value="pluginoptionsupdate" />
+ <input type="hidden" name="plugid" value="<%editpluginfo(id)%>" />
+ <%ticket%>
+ <%editplugoptionslist%>
+ </div>
+ </form>]]></part>
+ <part name="settingsedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_SETTINGS_TITLE)%></h2>
+ <form action="<%adminurl%>index.php" method="post">
+ <div>
+ <input type="hidden" name="action" value="settingsupdate" />
+ <%ticket%>
+ <table>
+ <tr>
+ <th colspan="2"><%text(_SETTINGS_SUB_GENERAL)%></th>
+ </tr><tr>
+ <td><%text(_SETTINGS_DEFBLOG)%> <%helplink(defaultblog)%></td>
+ <td><%defblogselect%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_BASESKIN)%> <%helplink(baseskin)%></td>
+ <td><%defskinselect(global)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_ADMINMAIL)%></td>
+ <td><input name="AdminEmail" tabindex="10010" size="40" value="<%configsettingsedit(AdminEmail)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_SITENAME)%></td>
+ <td><input name="SiteName" tabindex="10020" size="40" value="<%configsettingsedit(SiteName)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_SITEURL)%></td>
+ <td><input name="IndexURL" tabindex="10030" size="40" value="<%configsettingsedit(IndexURL)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_ADMINURL)%></td>
+ <td><input name="AdminURL" tabindex="10040" size="40" value="<%configsettingsedit(AdminURL)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_PLUGINURL)%> <%helplink(pluginurl)%></td>
+ <td><input name="PluginURL" tabindex="10045" size="40" value="<%configsettingsedit(PluginURL)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_SKINSURL)%> <%helplink(skinsurl)%></td>
+ <td><input name="SkinsURL" tabindex="10046" size="40" value="<%configsettingsedit(SkinsURL)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_ACTIONSURL)%> <%helplink(actionurl)%></td>
+ <td><input name="ActionURL" tabindex="10047" size="40" value="<%configsettingsedit(ActionURL)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_LANGUAGE)%> <%helplink(language)%></td>
+ <td><select name="Locale" tabindex="10050"><%localeselectoptions%></select></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_DISABLESITE)%> <%helplink(disablesite)%></td>
+ <td>
+ <%configsettingsyesno(DisableSite, 10060)%><br />
+ <%text(_SETTINGS_DISABLESITEURL)%> <input name="DisableSiteURL" tabindex="10070" size="40" value="<%configsettingsedit(DisableSiteURL)%>" />
+ </td>
+ </tr><tr>
+ <td><%text(_SETTINGS_DIRS)%></td>
+ <td><%outputspecialdirs(nucleusdir)%><i><%text(_SETTINGS_SEECONFIGPHP)%></i></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_DBLOGIN)%></td>
+ <td><i><%text(_SETTINGS_SEECONFIGPHP)%></i></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_JSTOOLBAR)%></td>
+ <td>
+ <select name="DisableJsTools" tabindex="10075">
+ <%jstoolbaroptions%>
+ </select>
+ </td>
+ </tr><tr>
+ <td><%text(_SETTINGS_URLMODE)%> <%helplink(urlmode)%></td>
+ <td><%configsettingsedit(URLMode)%> <%text(_SETTINGS_URLMODE_HELP)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_DEBUGVARS)%> <%helplink(debugvars)%></td>
+ <td><%configsettingsyesno(DebugVars, 10078)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_DEFAULTLISTSIZE)%> <%helplink(defaultlistsize)%></td>
+ <td><input name="DefaultListSize" tabindex="10079" size="40" value="<%configsettingsedit(DefaultListSize)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_ADMINCSS)%></td>
+ <td><select name="AdminCSS" tabindex="10080"><%adminstyleselectoptions%></select></td>
+ </tr><tr>
+ <th colspan="2"><%text(_SETTINGS_MEDIA)%> <%helplink(media)%></th>
+ </tr><tr>
+ <td><%text(_SETTINGS_MEDIADIR)%></td>
+ <td>
+ <%outputspecialdirs(mediadir)%>
+ <i><%text(_SETTINGS_SEECONFIGPHP)%></i><%mediadirwarning%>
+ </td>
+ </tr><tr>
+ <td><%text(_SETTINGS_MEDIAURL)%></td>
+ <td><input name="MediaURL" tabindex="10080" size="40" value="<%configsettingsedit(MediaURL)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_ALLOWUPLOAD)%></td>
+ <td><%configsettingsyesno(AllowUpload, 10090)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_ALLOWUPLOADTYPES)%></td>
+ <td><input name="AllowedTypes" tabindex="10100" size="40" value="<%configsettingsedit(AllowedTypes)%>" />
+ </tr><tr>
+ <td><%text(_SETTINGS_MAXUPLOADSIZE)%></td>
+ <td><input name="MaxUploadSize" tabindex="10105" size="40" value="<%configsettingsedit(MaxUploadSize)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_MEDIAPREFIX)%></td>
+ <td><%configsettingsyesno(MediaPrefix, 10110)%></td>
+ </tr><tr>
+ <th colspan="2"><%text(_SETTINGS_MEMBERS)%></th>
+ </tr><tr>
+ <td><%text(_SETTINGS_CHANGELOGIN)%></td>
+ <td><%configsettingsyesno(AllowLoginEdit, 10120)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_ALLOWCREATE)%> <%helplink(allowaccountcreation)%>
+ </td>
+ <td><%configsettingsyesno(AllowMemberCreate, 10130)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_NEWLOGIN)%> <%helplink(allownewmemberlogin)%><br /><%text(_SETTINGS_NEWLOGIN2)%></td>
+ <td><%configsettingsyesno(NewMemberCanLogon, 10140)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_MEMBERMSGS)%> <%helplink(messageservice)%></td>
+ <td><%configsettingsyesno(AllowMemberMail, 10150)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_NONMEMBERMSGS)%> <%helplink(messageservice)%></td>
+ <td><%configsettingsyesno(NonmemberMail, 10155%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_PROTECTMEMNAMES)%> <%helplink(protectmemnames)%></td>
+ <td><%configsettingsyesno(ProtectMemNames, 10156)%></td>
+ </tr><tr>
+ <th colspan="2"><%text(_SETTINGS_COOKIES_TITLE)%> <%helplink(cookies)%></th>
+ </tr><tr>
+ <td><%text(_SETTINGS_COOKIEPREFIX)%></td>
+ <td><input name="CookiePrefix" tabindex="10159" size="40" value="<%configsettingsedit(CookiePrefix)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_COOKIEDOMAIN)%></td>
+ <td><input name="CookieDomain" tabindex="10160" size="40" value="<%configsettingsedit(CookieDomain)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_COOKIEPATH)%></td>
+ <td><input name="CookiePath" tabindex="10170" size="40" value="<%configsettingsedit(CookiePath)%>" /></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_COOKIESECURE)%></td>
+ <td><%configsettingsyesno(CookieSecure, 10180)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_COOKIELIFE)%></td>
+ <td><%configsettingsedit(SessionCookie)%></td>
+ </tr><tr>
+ <td><%text(_SETTINGS_LASTVISIT)%></td>
+ <td><%configsettingsyesno(LastVisit, 10200)%></td>
+ </tr><tr>
+ <th colspan="2"><%text(_SETTINGS_UPDATE)%></th>
+ </tr><tr>
+ <td><%text(_SETTINGS_UPDATE)%></td>
+ <td><input type="submit" tabindex="10210" value="<%text(_SETTINGS_UPDATE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>
+ <h2><%text(_PLUGINS_EXTRA)%></h2>
+ <%pluginextras%>]]></part>
+ <part name="showlogin"><![CDATA[<h2><%text(_LOGIN)%></h2>
+ <%headmessage%>
+ <form action="<%adminurl%>index.php" method="post"><p>
+ <%text(_LOGIN_NAME)%> <br /><input name="login" tabindex="10" />
+ <br />
+ <%text(_LOGIN_PASSWORD)%> <br /><input name="password" tabindex="20" type="password" />
+ <br />
+ <input name="action" value="login" type="hidden" />
+ <br />
+ <input type="submit" value="<%text(_LOGIN)%>" tabindex="30" />
+ <br />
+ <small>
+ <input type="checkbox" value="1" name="shared" tabindex="40" id="shared" /><label for="shared"><%text(_LOGIN_SHARED)%></label>
+ <br /><a href="forgotpassword.html"><%text(_LOGIN_FORGOT)%></a>
+ </small>
+ <%passrequestvars%>
+ </p></form>]]></part>
+ <part name="skindelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_SKIN)%><b><%editskintype(name)%></b> (<%editskintype(desc)%>)</p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="skindeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="skinid" value="<%editskintype(id)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+ </form>]]></part>
+ <part name="skinedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=skinoverview">(<%text(_SKIN_BACK)%>)</a></p>
+ <h2><%text(_SKIN_EDITONE_TITLE)%> '<%editskin(name)%>'</h2>
+ <h3><%text(_SKIN_PARTS_TITLE)%></h3>
+ <%text(_SKIN_PARTS_MSG)%>
+ <ul>
+ <li><a tabindex="10" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=index"><%text(_SKIN_PART_MAIN)%></a> <%helplink(skinpartindex)%></li>
+ <li><a tabindex="20" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=item"><%text(_SKIN_PART_ITEM)%></a> <%helplink(skinpartitem)%></li>
+ <li><a tabindex="30" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=archivelist"><%text(_SKIN_PART_ALIST)%></a> <%helplink(skinpartarchivelist)%></li>
+ <li><a tabindex="40" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=archive"><%text(_SKIN_PART_ARCHIVE)%></a> <%helplink(skinpartarchive)%></li>
+ <li><a tabindex="50" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=search"><%text(_SKIN_PART_SEARCH)%></a> <%helplink(skinpartsearch)%></li>
+ <li><a tabindex="60" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=error"><%text(_SKIN_PART_ERROR)%></a> <%helplink(skinparterror)%></li>
+ <li><a tabindex="70" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=member"><%text(_SKIN_PART_MEMBER)%></a> <%helplink(skinpartmember)%></li>
+ <li><a tabindex="75" href="<%adminurl%>index.php?action=skinedittype&skinid=<%editskin(id)%>&type=imagepopup"><%text(_SKIN_PART_POPUP)%></a> <%helplink(skinpartimagepopup)%></li>
+ </ul>
+ <h3><%text(_SKIN_PARTS_SPECIAL)%></h3>
+ <form method="get" action="<%adminurl%>index.php">
+ <input type="hidden" name="action" value="skinedittype" />
+ <input type="hidden" name="skinid" value="<%editskin(id)%>" />
+ <input name="type" tabindex="89" size="20" maxlength="20" />
+ <input type="submit" tabindex="140" value="<%text(_SKIN_CREATE)%>" onclick="return checkSubmit();" />
+ </form>
+ <%specialskinlist(admin/default)%>
+ <h3><%text(_SKIN_GENSETTINGS_TITLE)%></h3>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="skineditgeneral" />
+ <%ticket%>
+ <input type="hidden" name="skinid" value="<%editskin(id)%>" />
+ <table>
+ <tr>
+ <td><%text(_SKIN_NAME)%> <%helplink(shortnames)%></td>
+ <td><input name="name" tabindex="90" value="<%editskin(name)%>" maxlength="20" size="20" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_DESC)%></td>
+ <td><input name="desc" tabindex="100" value="<%editskin(desc)%>" maxlength="200" size="50" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_TYPE)%></td>
+ <td><input name="type" tabindex="110" value="<%editskin(type)%>" maxlength="40" size="20" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_INCLUDE_MODE)%> <%helplink(includemode)%></td>
+ <td><%editskin(mode)%></td>
+ </tr><tr>
+ <td><%text(_SKIN_INCLUDE_PREFIX)%> <%helplink(includeprefix)%></td>
+ <td><input name="inc_prefix" tabindex="130" value="<%editskin(prefix)%>" maxlength="40" size="20" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_CHANGE)%></td>
+ <td><input type="submit" tabindex="140" value="<%text(_SKIN_CHANGE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr></table>
+ </div>
+ </form>]]></part>
+ <part name="skinedittype"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=skinoverview"><%text(_SKIN_GOBACK)%></a>)</p>
+ <h2><%text(_SKIN_EDITPART_TITLE)%> '<%editskintype(name)%>': <%editskintype(skintype)%></h2>
+ <%headmessage%>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="skinupdate" />
+
+ <%ticket%>
+ <input type="hidden" name="skinid" value="<%editskintype(id)%>" />
+ <input type="hidden" name="type" value="<%editskintype(skintyperaw)%>" />
+ <input type="submit" value="<%text(_SKIN_UPDATE_BTN)%>" onclick="return checkSubmit();" />
+ <input type="reset" value="<%text(_SKIN_RESET_BTN)%>" />
+ (skin type: <%editskintype(skintype)%>)<%skintypehelp%><br />
+ <textarea class="skinedit" tabindex="10" rows="20" cols="80" name="content"><%editskintype(content)%></textarea><br />
+ <input type="submit" tabindex="20" value="<%text(_SKIN_UPDATE_BTN)%>" onclick="return checkSubmit();" />
+ <input type="reset" value="<%text(_SKIN_RESET_BTN)%>" />
+ (skin type: <%editskintype(skintype)%>)
+ <br /><br />
+ <%text(_SKIN_ALLOWEDVARS)%>
+ <%allowedskinactions%><br /><br />
+ <%text(_SKINEDIT_ALLOWEDBLOGS)%>
+ <%skineditallowedlist(blog)%>
+ <%text(_SKINEDIT_ALLOWEDTEMPLATESS)%>
+ <%skineditallowedlist(template)%><br />
+ </div>
+ </form>]]></part>
+ <part name="skiniedoimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_SKINIE_DONE)%></h2>
+
+ <ul>
+ <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>
+ <li><p><strong><%text(_SKINIE_INFO_IMPORTEDSKINS)%></strong> <%importskininfo(snames)%></p></li>
+ <li><p><strong><%text(_SKINIE_INFO_IMPORTEDTEMPLS)%></strong> <%importskininfo(tnames)%></p></li>
+ </ul>]]></part>
+ <part name="skinieimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=skinieoverview">(<%text(_BACK)%>)</a></p>
+ <h2><%text(_SKINIE_CONFIRM_TITLE)%></h2>
+ <ul>
+ <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>
+ <li><p><strong><%text(_SKINIE_INFO_SKINS)%></strong> <%importskininfo(snames)%></p></li>
+ <li><p><strong><%text(_SKINIE_INFO_TEMPLATES)%></strong> <%importskininfo(tnames)%></p></li>
+ <%if(nameclashes)%><li><p><strong style="color: red;"><%text(_SKINIE_INFO_SKINCLASH)%></strong> <%importskininfo(sclashes)%></p></li>
+ <li><p><strong style="color: red;"><%text(_SKINIE_INFO_TEMPLCLASH)%></strong> <%importskininfo(tclashes)%></p></li><%endif%>
+ </ul>
+
+ <form method="post" action="<%adminurl%>index.php"><div>
+ <input type="hidden" name="action" value="skiniedoimport" />
+ <%ticket%>
+ <input type="hidden" name="skinfile" value="<%importskininfo(skinfile)%>" />
+ <input type="hidden" name="mode" value="<%importskininfo(mode)%>" />
+ <input type="submit" value="<%text(_SKINIE_CONFIRM_IMPORT)%>" />
+ <%if(nameclashes)%><br />
+ <input type="checkbox" name="overwrite" value="1" id="cb_overwrite" /><label for="cb_overwrite"><%text(_SKINIE_CONFIRM_OVERWRITE)%></label><%endif%>
+ </div></form>]]></part>
+ <part name="skinieoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_SKINIE_TITLE_IMPORT)%></h2>
+ <p>
+ <label for="skinie_import_local"><%text(_SKINIE_LOCAL)%></label>
+ <%if(skincandidates)%><form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="skinieimport" />
+ <%ticket%>
+ <input type="hidden" name="mode" value="file" />
+ <select name="skinfile" id="skinie_import_local">
+ <%selectlocalskinfiles%>
+ </select>
+ <input type="submit" value="<%text(_SKINIE_BTN_IMPORT)%>" />
+ </div>
+ </form><%else%><%text(_SKINIE_NOCANDIDATES)%><%endif%>
+ </p>
+ <p><em><%text(_OR)%></em></p>
+ <form method="post" action="<%adminurl%>index.php">
+ <p>
+ <%ticket%>
+ <input type="hidden" name="action" value="skinieimport" />
+ <input type="hidden" name="mode" value="url" />
+ <label for="skinie_import_url"><%text(_SKINIE_FROMURL)%></label>
+ <input type="text" name="skinfile" id="skinie_import_url" size="60" value="http://" />
+ <input type="submit" value="<%text(_SKINIE_BTN_IMPORT)%>" />
+ </p>
+ </form>
+ <h2><%text(_SKINIE_TITLE_EXPORT)%></h2>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="skinieexport" />
+ <%ticket%>
+ <p><%text(_SKINIE_EXPORT_INTRO)%></p>
+ <table>
+ <tr>
+ <th colspan="2"><%text(_SKINIE_EXPORT_SKINS)%></th>
+ </tr><tr>
+ <%skinielist(skin,admin/default)%>
+ <th colspan="2"><%text(_SKINIE_EXPORT_TEMPLATES)%></th>
+ </tr><tr>
+ <%skinielist(template,admin/default)%>
+ <th colspan="2"><%text(_SKINIE_EXPORT_EXTRA)%></th>
+ </tr><tr>
+ <td colspan="2"><textarea cols="40" rows="5" name="info"></textarea></td>
+ </tr><tr>
+ <th colspan="2"><%text(_SKINIE_TITLE_EXPORT)%></th>
+ </tr><tr>
+ <td colspan="2"><input type="submit" value="<%text(_SKINIE_BTN_EXPORT)%>" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="skinoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_SKIN_EDIT_TITLE)%></h2>
+ <h3><%text(_SKIN_AVAILABLE_TITLE)%></h3>
+ <%skinoverview%>
+ <h3><%text(_SKIN_NEW_TITLE)%></h3>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input name="action" value="skinnew" type="hidden" />
+
+ <%ticket%>
+ <table>
+ <tr>
+ <td><%text(_SKIN_NAME)%> <%helplink(shortnames)%></td>
+ <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_DESC)%></td>
+ <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>
+ </tr><tr>
+ <td><%text(_SKIN_CREATE)%></td>
+ <td><input type="submit" tabindex="10030" value="<%text(_SKIN_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="skinremovetype"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_SKIN_PARTS_SPECIAL)%><b><%editskintype(skintype)%> (<%editskintype(name)%>)</b> (<%editskintype(desc)%>)</p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="skinremovetypeconfirm" />
+ <%ticket%>
+ <input type="hidden" name="skinid" value="<%editskintype(id)%>" />
+ <input type="hidden" name="type" value="<%editskintype(skintype)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+ </form>]]></part>
+ <part name="systemoverview"><![CDATA[ <h2><%text(_ADMIN_SYSTEMOVERVIEW_HEADING)%></h2>
+<%if(superadmin)%>
+ <h3><%text(_ADMIN_SYSTEMOVERVIEW_PHPANDMYSQL)%></h3>
+ <table summary="Version of PHP MySQL">
+ <tr>
+ <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_VERSIONS)%></th>
+ </tr><tr>
+ <td width="50%"><%text(_ADMIN_SYSTEMOVERVIEW_PHPVERSION)%></td>
+ <td><%systemsettings(phpversion)%></td>
+ </tr><tr>
+ <td><%text(_ADMIN_SYSTEMOVERVIEW_MYSQLVERSION)%></td>
+ <td><%systemsettings(sqlserverinfo)%> (<%systemsettings(sqlclientinfo)%>)</td>
+ </tr>
+ </table>
+ <table summary="Important PHP settings">
+ <tr>
+ <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_SETTINGS)%></th>
+ </tr><tr>
+ <td width="50%">magic_quotes_gpc</td>
+ <td><%systemsettings(magicquotesgpc)%></td>
+ </tr><tr>
+ <td width="50%">magic_quotes_runtime</td>
+ <td><%systemsettings(magicquotesruntime)%></td>
+ </tr><tr>
+ <td width="50%">register_globals</td>
+ <td><%systemsettings(registerglobals)%></td>
+ </tr>
+ </table>
+ <table summary="Information about GD library">
+ <tr>
+ <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_GDLIBRALY)%></th>
+ </tr>
+ <%systemsettings(gdinfo)%>
+ </table>
+ <table summary="special modules are loaded">
+ <tr>
+ <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_MODULES)%></th>
+ </tr><tr>
+ <td width="50%">mod_rewrite</td>
+ <td><%systemsettings(modrewrite)%></td>
+ </tr>
+ </table>
+
+ <h3><%text(_ADMIN_SYSTEMOVERVIEW_NUCLEUSSYSTEM)%></h3>
+ <table summary="Information about the used Nucleus CMS">
+ <tr>
+ <th colspan="2">Nucleus CMS</th>
+ </tr><tr>
+ <td width="50%"><%text(_ADMIN_SYSTEMOVERVIEW_NUCLEUSVERSION)%></td>
+ <td><%systemsettings(nucleusversion)%></td>
+ </tr><tr>
+ <td width="50%"><%text(_ADMIN_SYSTEMOVERVIEW_NUCLEUSPATCHLEVEL)%></td>
+ <td><%systemsettings(nucleuspatchlevel)%></td>
+ </tr>
+ </table>
+ <table summary="Important settings of the installation">
+ <tr>
+ <th colspan="2"><%text(_ADMIN_SYSTEMOVERVIEW_NUCLEUSSETTINGS)%></th>
+ </tr><tr>
+ <td width="50%">$CONF['Self']</td>
+ <td><%systemsettings(confself)%></td>
+ </tr><tr>
+ <td width="50%">$CONF['ItemURL']</td>
+ <td><%systemsettings(confitemurl)%></td>
+ </tr><tr>
+ <td width="50%">$CONF['alertOnHeadersSent']</td>
+ <td><%systemsettings(alertonheaderssent)%></td>
+ </tr>
+ </table>
+
+ <h3><%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK)%></h3>
+ <!-- Link to the online version test at the Nucleus CMS website -->
+ <%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TXT)%>
+ <a href="<%systemsettings(versioncheckurl)%>" title="<%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE)%>">
+ Nucleus CMS <%systemsettings(nucleusversion)%> <%systemsettings(nucleuscodename)%>
+ </a><br />
+<%else%>
+ <%text(_ADMIN_SYSTEMOVERVIEW_NOT_ADMIN)%>
+]]></part>
+ <part name="teamdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p>
+ <%text(_CONFIRMTXT_TEAM1)%>
+ <b>
+ <%editmember(displayname)%>
+ </b>
+ <%text(_CONFIRMTXT_TEAM2)%>
+ <b>
+ <%blogsetting(name)%>
+ </b>
+ </p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="teamdeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="memberid" value="<%editmember(id)%>" />
+ <input type="hidden" name="blogid" value="<%requestblogid%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div></form>]]></part>
+ <part name="templatedelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+ <p><%text(_CONFIRMTXT_TEMPLATE)%><b><%edittemplateinfo(name)%></b> (<%edittemplateinfo(desc)%>)</p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="templatedeleteconfirm" />
+ <%ticket%>
+ <input type="hidden" name="templateid" value="<%edittemplateinfo(id)%>" />
+ <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
+ </div>
+ </form>]]></part>
+ <part name="templateedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=templateoverview">(<%text(_TEMPLATE_BACK)%>)</a></p>
+
+ <h2><%text(_TEMPLATE_EDIT_TITLE)%> '<%edittemplateinfo(name)%>'</h2>
+ <%headmessage%>
+ <p><%text(_TEMPLATE_EDIT_MSG)%></p>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input type="hidden" name="action" value="templateupdate" />
+ <%ticket%>
+ <input type="hidden" name="templateid" value="<%edittemplateinfo(id)%>" />
+ <table>
+ <tr>
+ <th colspan="2"><%text(_TEMPLATE_SETTINGS)%></th>
+ </tr><tr>
+ <td><%text(_TEMPLATE_NAME)%> <%helplink(shortnames)%></td>
+ <td><input name="tname" tabindex="4" size="20" maxlength="20" value="<%edittemplateinfo(name)%>" /></td>
+ </tr><tr>
+ <td><%text(_TEMPLATE_DESC)%></td>
+ <td><input name="tdesc" tabindex="5" size="50" maxlength="200" value="<%edittemplateinfo(desc)%>" /></td>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_UPDATE)%></th>
+ </tr><tr>
+ <td><%text(_TEMPLATE_UPDATE)%></td>
+ <td>
+ <input type="submit" tabindex="6" value="<%text(_TEMPLATE_UPDATE_BTN)%>" onclick="return checkSubmit();" />
+ <input type="reset" tabindex="7" value="<%text(_TEMPLATE_RESET_BTN)%>" />
+ </td>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_ITEMS)%> <%helplink(templateitems)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_ITEMHEADER,ITEM_HEADER,,8)%>
+ <%edittemplateinfo(row,_TEMPLATE_ITEMBODY,ITEM,,9,1)%>
+ <%edittemplateinfo(row,_TEMPLATE_ITEMFOOTER,ITEM_FOOTER,,10)%>
+ <%edittemplateinfo(row,_TEMPLATE_MORELINK,MORELINK,morelink, 20)%>
+ <%edittemplateinfo(row,_TEMPLATE_EDITLINK, EDITLINK, editlink, 25)%>
+ <%edittemplateinfo(row,_TEMPLATE_NEW, NEW, new, 30)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_COMMENTS_ANY)%> <%helplink(templatecomments)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_CHEADER, COMMENTS_HEADER, commentheaders, 40)%>
+ <%edittemplateinfo(row,_TEMPLATE_CBODY, COMMENTS_BODY, commentbody, 50, 1)%>
+ <%edittemplateinfo(row,_TEMPLATE_CFOOTER, COMMENTS_FOOTER, commentheaders, 60)%>
+ <%edittemplateinfo(row,_TEMPLATE_CONE, COMMENTS_ONE, commentwords, 70)%>
+ <%edittemplateinfo(row,_TEMPLATE_CMANY, COMMENTS_MANY, commentwords, 80)%>
+ <%edittemplateinfo(row,_TEMPLATE_CMORE, COMMENTS_CONTINUED, commentcontinued, 90)%>
+ <%edittemplateinfo(row,_TEMPLATE_CMEXTRA, COMMENTS_AUTH, memberextra, 100)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_COMMENTS_NONE)%> <%helplink(templatecomments)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_CNONE, COMMENTS_NONE, , 110)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_COMMENTS_TOOMUCH)%> <%helplink(templatecomments)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_CTOOMUCH, COMMENTS_TOOMUCH, , 120)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_ARCHIVELIST)%> <%helplink(templatearchivelists)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_AHEADER, ARCHIVELIST_HEADER, , 130)%>
+ <%edittemplateinfo(row,_TEMPLATE_AITEM, ARCHIVELIST_LISTITEM, , 140)%>
+ <%edittemplateinfo(row,_TEMPLATE_AFOOTER, ARCHIVELIST_FOOTER, , 150)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_BLOGLIST)%> <%helplink(templatebloglists)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_BLOGHEADER, BLOGLIST_HEADER, , 160)%>
+ <%edittemplateinfo(row,_TEMPLATE_BLOGITEM, BLOGLIST_LISTITEM, , 170)%>
+ <%edittemplateinfo(row,_TEMPLATE_BLOGFOOTER, BLOGLIST_FOOTER, , 180)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_CATEGORYLIST)%> <%helplink(templatecategorylists)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_CATHEADER, CATLIST_HEADER, , 190)%>
+ <%edittemplateinfo(row,_TEMPLATE_CATITEM, CATLIST_LISTITEM, , 200)%>
+ <%edittemplateinfo(row,_TEMPLATE_CATFOOTER, CATLIST_FOOTER, , 210)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_DATETIME)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_DHEADER, DATE_HEADER, dateheads, 220)%>
+ <%edittemplateinfo(row,_TEMPLATE_DFOOTER, DATE_FOOTER, dateheads, 230)%>
+ <%edittemplateinfo(row,_TEMPLATE_DFORMAT, FORMAT_DATE, datetime, 240)%>
+ <%edittemplateinfo(row,_TEMPLATE_TFORMAT, FORMAT_TIME, datetime, 250)%>
+ <%edittemplateinfo(row,_TEMPLATE_LOCALE, LOCALE, locale, 260)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_IMAGE)%> <%helplink(templatepopups)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_PCODE, POPUP_CODE, , 270)%>
+ <%edittemplateinfo(row,_TEMPLATE_ICODE, IMAGE_CODE, , 280)%>
+ <%edittemplateinfo(row,_TEMPLATE_MCODE, MEDIA_CODE, , 290)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_SEARCH)%></th>
+ <%edittemplateinfo(row,_TEMPLATE_SHIGHLIGHT, SEARCH_HIGHLIGHT, highlight,300)%>
+ <%edittemplateinfo(row,_TEMPLATE_SNOTFOUND, SEARCH_NOTHINGFOUND, nothingfound,310)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_PLUGIN_FIELDS)%></th>
+ <%edittemplateinfo(extratemplate,admin/default)%>
+ </tr><tr>
+ <th colspan="2"><%text(_TEMPLATE_UPDATE)%></th>
+ </tr><tr>
+ <td><%text(_TEMPLATE_UPDATE)%></td>
+ <td>
+ <input type="submit" tabindex="800" value="<%text(_TEMPLATE_UPDATE_BTN)%>" onclick="return checkSubmit();" />
+ <input type="reset" tabindex="810" value="<%text(_TEMPLATE_RESET_BTN)%>" />
+ </td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="templateoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_TEMPLATE_TITLE)%></h2>
+ <h3><%text(_TEMPLATE_AVAILABLE_TITLE)%></h3>
+ <%templateoverview%>
+ <h3><%text(_TEMPLATE_NEW_TITLE)%></h3>
+ <form method="post" action="<%adminurl%>index.php">
+ <div>
+ <input name="action" value="templatenew" type="hidden" />
+ <%ticket%>
+ <table>
+ <tr>
+ <td><%text(_TEMPLATE_NAME)%> <%helplink(shortnames)%></td>
+ <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>
+ </tr><tr>
+ <td><%text(_TEMPLATE_DESC)%></td>
+ <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>
+ </tr><tr>
+ <td><%text(_TEMPLATE_CREATE)%></td>
+ <td><input type="submit" tabindex="10030" value="<%text(_TEMPLATE_CREATE_BTN)%>" onclick="return checkSubmit();" /></td>
+ </tr>
+ </table>
+ </div>
+ </form>]]></part>
+ <part name="usermanagement"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+ <h2><%text(_MEMBERS_TITLE)%></h2>
+ <h3><%text(_MEMBERS_CURRENT)%></h3>
+ <%editmemberlist(admin/default)%>
+ <h3><%text(_MEMBERS_NEW)%></h3>
+ <form method="post" action="<%adminurl%>index.php" name="memberedit">
+ <div>
+ <input type="hidden" name="action" value="memberadd" />
+ <%ticket%>
+ <table><tr>
+ <th colspan="2"><%text(_MEMBERS_NEW)%></th>
+ </tr><tr>
+ <td>
+ <%text(_MEMBERS_DISPLAY)%> <%helplink(shortnames)%>
+ <br /><small><%text(_MEMBERS_DISPLAY_INFO)%></small>
+ </td>
+ <td><input tabindex="10010" name="name" size="32" maxlength="32" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_REALNAME)%></td>
+ <td><input name="realname" tabindex="10020" size="40" maxlength="60" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_PWD)%></td>
+ <td><input name="password" tabindex="10030" size="16" maxlength="40" type="password" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_REPPWD)%></td>
+ <td><input name="repeatpassword" tabindex="10035" size="16" maxlength="40" type="password" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_EMAIL)%></td>
+ <td><input name="email" tabindex="10040" size="40" maxlength="60" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_URL)%></td>
+ <td><input name="url" tabindex="10050" size="40" maxlength="100" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_SUPERADMIN)%> <%helplink(superadmin)%></td>
+ <td><%inputyesno(admin,1,10060)%> </td>
+ </tr><tr>
+ <td><%text(_MEMBERS_CANLOGIN)%> <%helplink(canlogin)%></td>
+ <td><%inputyesno(canlogin,1,10070)%></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_NOTES)%></td>
+ <td><input name="notes" maxlength="100" size="40" tabindex="10080" /></td>
+ </tr><tr>
+ <td><%text(_MEMBERS_NEW)%></td>
+ <td><input type="submit" value="<%text(_MEMBERS_NEW_BTN)%>" tabindex="10090" onclick="return checkSubmit();" /></td>
+ </tr></table>
+ </div>
+ </form>]]></part>
+ </skin>
+ <template name="admin/default">
+ <description><![CDATA[デフォルト管理画面用テンプレート]]></description>
+ <part name="PLUGIN_QUICKMENU_TITLE"><![CDATA[<h2><%text(_QMENU_PLUGINS)%></h2>
+]]></part>
+ <part name="PLUGIN_QUICKMENU_HEAD"><![CDATA[<ul>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD"><![CDATA[<th><%coltime%></th><th><%colmesg%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY"><![CDATA[<td><%timestamp%></td><td><%message%></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD"><![CDATA[<th><%iprange%></th><th><%reason%></th><th><%colact%></th>]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY"><![CDATA[<td><%iprange%></td>
+<td><%reason%></td>
+<td><a href="<%adminurl%>index.php?action=banlistdelete&blogid=<%blogid%>&iprange=<%iprange%>"><%delbtn%></a></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD"><![CDATA[<th><%colname%></th><th><%coldesc%></th><th colspan="3"><%colact%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY"><![CDATA[<td><%skinname%><br /><br />
+<%skintypelabel%> <%skintype%><br />
+<%incmodelabel%> <%incmode%><br />
+<%incpreflabel%> <%incpref%><br />
+<%skinthumb%>
+<%readme%></td>
+<td class="availableSkinTypes"><%skindesc%><%skinparts%></td>
+<td style="white-space:nowrap">
+<a href="<%adminurl%>index.php?action=skinedit&skinid=<%skinid%>" tabindex="<%tabindex%>"><%editbtn%>
+</a></td>
+<td style="white-space:nowrap">
+<a href="<%cloneurl%>" tabindex="<%tabindex%>"><%clonebtn%>
+</a></td>
+<td style="white-space:nowrap">
+<a href="<%adminurl%>index.php?action=skindelete&skinid=<%skinid%>" tabindex="<%tabindex%>"><%delbtn%>
+</a></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM"><![CDATA[<td>
+<a href="<%adminurl%>index.php?action=blogsettings&blogid=<%blogid%>" title="<%ttsettingtext%>"><%settingtext%></a>
+</td>
+<td>
+<a href="<%adminurl%>index.php?action=banlist&blogid=<%blogid%>" title="<%ttbanstext%>"><%banstext%></a>
+</td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_BLIST_BD_SADM"><![CDATA[<td>
+<a href="<%adminurl%>index.php?action=deleteblog&blogid=<%blogid%>" title="<%ttdeletetext%>"><%deletetext%></a>
+</td>]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD"><![CDATA[<th><%colshortname%></th><th><%colblogname%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY"><![CDATA[<td><%bshortname%></td><td><%blogname%></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD"><![CDATA[<th><%colname%></th><th><%coldesc%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY"><![CDATA[<td><%name%></td><td><%desc%></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD"><![CDATA[<th><%colname%></th><th><%coldesc%></th><th colspan="2"><%colact%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY"><![CDATA[<td><input type="checkbox" id="batch<%batchid%>" name="batch[<%batchid%>]" value="<%catid%>" />
+<label for="batch<%batchid%>"><%catname%></label>
+</td>
+<td><%catdesc%></td>
+<td><a href="<%adminurl%>index.php?action=categorydelete&blogid=<%blogid%>&catid=<%catid%>" tabindex="<%tabindex%>">
+<%delbtn%></a></td>
+<td><a href="<%adminurl%>index.php?action=categoryedit&blogid=<%blogid%>&catid=<%catid%>" tabindex="<%tabindex%>">
+<%editbtn%></a></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD"><![CDATA[<th><%colname%></th><th><%coldesc%></th><th colspan="3"><%colact%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY"><![CDATA[<td><%templatename%></td>
+<td><%templatedesc%></td>
+<td style="white-space:nowrap">
+<a href="<%adminurl%>index.php?action=templateedit&templateid=<%templateid%>" tabindex="<%tabindex%>"><%editbtn%>
+</a></td>
+<td style="white-space:nowrap">
+<a href="<%cloneurl%>" tabindex="<%tabindex%>"><%clonebtn%>
+</a></td>
+<td style="white-space:nowrap">
+<a href="<%adminurl%>index.php?action=templatedelete&templateid=<%templateid%>" tabindex="<%tabindex%>"><%delbtn%>
+</a></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD"><![CDATA[<th><%colblog%></th><th><%coldesc%></th><th colspan="2"><%colact%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY"><![CDATA[<td><%bshortname%></td>
+<td><%ititle%></td>
+<td><a href="<%adminurl%>index.php?action=itemedit&itemid=<%itemid%>"><%editbtn%></a></td>
+<td><a href="<%adminurl%>index.php?action=itemdelete&itemid=<%itemid%>"><%delbtn%></a></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN"><![CDATA[<td style="white-space:nowrap"><a href="<%adminurl%>index.php?action=banlistnewfromitem&itemid=<%itemid%>&ip=<%banip%>" title="<%banhost%>"><%banbtn%></a></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD"><![CDATA[<th><%blognames%></th><th colspan="8"><%actionshead%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY"><![CDATA[<td title="blogid:<%blogid%> shortname:<%shortname%>">
+<a href="<%blogurl%>"><img src="<%skinfile(/images/globe.gif)%>" width="13" height="13" alt="<%iconalt%>" /></a> <%blogname%>
+</td>
+<td>
+<a href="<%adminurl%>index.php?action=createitem&blogid=<%blogid%>" title="<%ttaddtext%>"><%addtext%></a>
+</td>
+<td>
+<a href="<%adminurl%>index.php?action=itemlist&blogid=<%blogid%>" title="<%ttedittext%>"><%edittext%></a>
+</td>
+<td>
+<a href="<%adminurl%>index.php?action=blogcommentlist&blogid=<%blogid%>" title="<%ttcommenttext%>"><%commenttext%></a>
+</td>
+<td>
+<a href="<%adminurl%>index.php?action=bookmarklet&blogid=<%blogid%>" title="<%ttbmlettext%>"><%bmlettext%></a>
+</td>]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD"><![CDATA[<th><%colinfo%></th><th><%colcontent%></th><th colspan="3"><%colaction%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY"><![CDATA[<td><%commentdate%><br /><%commentator%><br /><%commentsite%><br /><%commentmail%><br /></td>
+<td><input type="checkbox" id="batch<%batchid%>" name="batch[<%batchid%>]" value="<%commentid%>" />
+<label for="batch<%batchid%>"><%commentbody%></label></td>
+<td style="white-space:nowrap">
+<a href="<%adminurl%>index.php?action=commentedit&commentid=<%commentid%>"><%editbtn%></a></td>
+<td style="white-space:nowrap">
+<a href="<%adminurl%>index.php?action=commentdelete&commentid=<%commentid%>"><%delbtn%></a></td>
+<%addbanlist%>]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD"><![CDATA[<input type="password" size="40" maxlength="128" name="<%varname%>" value="<%value%>" />
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP"><![CDATA[<select name="<%varname%>">
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO"><![CDATA[<option value="<%value%>"<%selected%>><%optname%></option>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC"><![CDATA[</select>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA"><![CDATA[<textarea class="pluginoption" cols="30" rows="5" name="<%varname%>"<%readonly%>><%value%></textarea>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT"><![CDATA[<input type="text" size="40" maxlength="128" name="<%varname%>" value="<%value%>"<%datatype%><%readonly%> />
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT"><![CDATA[<%extra%></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT"><![CDATA[<tr>
+<th colspan="2"><%savetext%></th>
+</tr><tr>\n<td><%savetext%></td>
+<td><input type="submit" value="<%savetext%>" /></td>
+</tr>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD"><![CDATA[<th><%colinfo%></th><th><%colcontent%></th><th style="white-space:nowrap"><%colaction%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY"><![CDATA[<td<%cssclass%>>
+<%bshortlabel%> <%bshortnameval%><br />
+<%categorylabel%> <%categorynameval%><br />
+<%authorlabel%> <%authornameval%><br />
+<%itemdatelabel%> <%itemdateval%><br />
+<%itemtimelabel%> <%itemtimeval%>
+</td>
+<td<%cssclass%>>
+<input type="checkbox" id="batch<%batchid%>" name="batch<%batchid%>" value="<%itemid%>" />
+<label for="batch<%batchid%>"><b><%itemtitle%></b></label><br />
+<%itembody%></td>
+<td style="white-space:nowrap"<%cssclass%>>
+<a href="<%adminurl%>index.php?action=itemedit&itemid=<%itemid%>"><%editbtn%></a><br />
+<%camount%>
+<a href="<%adminurl%>index.php?action=itemmove&itemid=<%itemid%>"><%movebtn%></a><br />
+<a href="<%adminurl%>index.php?action=itemdelete&itemid=<%itemid%>"><%delbtn%></a>
+</td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD"><![CDATA[<th><%colinfo%></th><th><%colvalue%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND"><![CDATA[<br /><br /><%deplistlbl%><br /><%dependlist%>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ"><![CDATA[<br /><br /><%deprlstlbl%><br /><%depreqlist%>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE"><![CDATA[<td colspan="2"><%noplugalert%></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN"><![CDATA[<td>
+<a href="<%actionupurl%>" tabindex="<%tabindex%>"><%actionuptxt%></a><br />
+<a href="<%actiondownurl%>" tabindex="<%tabindex%>"><%actiondowntxt%></a><br />
+<a href="<%actuninsturl%>" tabindex="<%tabindex%>"><%actuninsttxt%></a><br />
+<%plugadminurl%>
+<%plughelpurl%>
+<%plugoptsetting%>
+</td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY"><![CDATA[<td><%description%></td>
+<td>]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO"><![CDATA[<input type="radio" name="<%name%>" value="<%yesval%>"<%yescheckedval%> id="<%yesid%>" />
+<label for="<%yesid%>"><%yesvaltext%></label>
+<input type="radio" name="<%name%>" value="<%noval%>"<%nocheckedval%> id="<%noid%>"<%disabled%> />
+<label for="<%noid%>"><%novaltext%></label>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL"><![CDATA[<a href="<%actoptionurl%>" tabindex="<%tabindex%>"><%actoptiontxt%></a><br />
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN"><![CDATA[<a href="<%actadminurl%>" tabindex="<%tabindex%>"><%actadmintxt%></a><br />
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP"><![CDATA[<a href="<%acthelpurl%>" tabindex="<%tabindex%>"><%acthelptxt%></a><br />
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL"><![CDATA[<a href="<%plugurl%>" tabindex="<%tabindex%>"><%plugsite%></a>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD"><![CDATA[<th><%colinfo%></th>
+<th><%coldesc%></th>
+<th style=\"white-space:nowrap\"><%colactions%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST"><![CDATA[<br /><br /><%evntlstlbl%><br /><%eventlist%>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE"><![CDATA[<br /><br /><strong><%updatealert%></strong>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY"><![CDATA[<td>
+<strong><%plugname%></strong><br />
+<%autherlabel%> <%plugauther%><br />
+<%versionlabel%> <%plugversion%><br />
+<%pluggeturl%><br />
+</td>
+<td>
+<%desclabel%><br /><%plugdesc%>
+<%eventlist%>
+<%needupdate%>
+<%dependlist%>
+<%depreqlist%>
+</td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD"><![CDATA[<th><%colmembername%></th>
+<th><%colmemberrname%></th>
+<th><%colteamadmin%><%helplink(teamadmin)%></th>
+<th colspan="2"><%colactions%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY"><![CDATA[<td>
+<input type="checkbox" id="batch<%id%>" name="batch[<%id%>]" value="<%memberid%>" />
+<label for=""batch<%id%>">
+<a href="mailto:<%mailaddress%>" tabindex="<%tabindex%>"><%name%></a>
+</label>
+</td>
+<td><%realname%></td>
+<td><%admin%></td>
+<td><a href="<%adminurl%>index.php?action=teamdelete&memberid=<%memberid%>&blogid=<%blogid%>" tabindex="<%tabindex%>"><%deletebtn%></a></td>
+<td><a href="<%chadminurl%>" tabindex="<%tabindex%>"><%chadminbtn%></a></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY"><![CDATA[<td>
+<input type="checkbox" id="batch<%id%>" name="batch[<%id%>]" value="<%memberid%>" />
+<label for=""batch<%id%>">
+<a href="mailto:<%mailaddress%>" tabindex="<%tabindex%>"><%name%></a>
+</label>
+</td>
+<td><%realname%></td>
+<td><a href="<%url%>" tabindex="<%tabindex%>"><%url%></a></td>
+<td><%admin%></td>
+<td><%login%></td>
+<td><a href="<%adminurl%>index.php?action=memberedit&memberid=<%memberid%>" tabindex="<%tabindex%>"><%editbtn%></a></td>
+<td><a href="<%adminurl%>index.php?action=memberdelete&memberid=<%memberid%>" tabindex="<%tabindex%>"><%deletebtn%></a></td>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_FOOT"><![CDATA[<%typefoot%>
+</tbody></table>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD"><![CDATA[<th><%colmembername%></th>
+<th><%colmemberrname%></th>
+<th><%colmemberurl%></th>
+<th><%colmemberadmin%><%helplink(superadmin)%></th>
+<th><%colmemberlogin%><%helplink(canlogin)%></th>
+<th colspan="2"><%colactions%></th>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_SELECT_FOOT"><![CDATA[</select>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_HEAD"><![CDATA[<table>
+<thead><tr><%typehead%></tr></thead><tbody>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_TABLE_BODY"><![CDATA[<tr onmouseover="focusRow(this);" onmouseout="blurRow(this);">
+<%typebody%>
+</tr>
+]]></part>
+ <part name="SKINIE_EXPORT_LIST"><![CDATA[<td><input type="checkbox" name="<%typeid%>" id="<%expid%>" /><label for="<%expid%>"><%expname%></label></td>
+<td><%expdesc%></td>
+</tr><tr>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_SELECT_HEAD"><![CDATA[<select<%name%><%tabindex%><%javascript%>>\n<%extraoption%>
+]]></part>
+ <part name="SHOWLIST_LISTPLUG_SELECT_BODY"><![CDATA[<option value="<%value%>"<%selected%><%title%>><%option%></option>
+]]></part>
+ <part name="ADMIN_SPECIALSKINLIST_HEAD"><![CDATA[<ul>
+]]></part>
+ <part name="ADMIN_SPECIALSKINLIST_BODY"><![CDATA[<li><a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=adminskinedittype&skinid=<%skinid%>&type=<%skintype%>"><%skintype%></a> (<a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=adminskinremovetype&skinid=<%skinid%>&type=<%skintype%>">remove</a>)</li>
+]]></part>
+ <part name="ADMIN_SPECIALSKINLIST_FOOT"><![CDATA[</ul>]]></part>
+ <part name="INPUTYESNO_TEMPLATE_NORMAL"><![CDATA[<input type="radio" name="<%name%>" value="<%yesval%>"<%yescheckedval%> id="<%yesid%>" />
+<label for="<%yesid%>"><%yesvaltext%></label>
+<input type="radio" name="<%name%>" value="<%noval%>"<%nocheckedval%> id="<%noid%>"<%disabled%> />
+<label for="<%noid%>"><%novaltext%></label>]]></part>
+ <part name="SYSTEMINFO_GDSETTINGS"><![CDATA[<tr>
+ <td width="50%"><%key%></td><td><%value%></td>
+</tr>]]></part>
+ <part name="BANLIST_DELETED_LIST"><![CDATA[<li><%blogname%></li>
+]]></part>
+ <part name="INSERT_PLUGOPTION_TITLE"><![CDATA[<tr><th colspan="2"><%sprinttext(_PLUGIN_OPTIONS_TITLE, <|%insertpluginfo(name)%|>)%></th></tr>
+]]></part>
+ <part name="INSERT_PLUGOPTION_BODY"><![CDATA[<tr><%listplugplugoptionrow(admin/default)%></tr>
+]]></part>
+ <part name="INPUTYESNO_TEMPLATE_ADMIN"><![CDATA[<input onclick="selectCanLogin(true);" type="radio" name="<%name%>" value="<%yesval%>"<%yescheckedval%> id="<%yesid%>" />
+<label for="<%yesid%>"><%yesvaltext%></label>
+<input onclick="selectCanLogin(false);" type="radio" name="<%name%>" value="<%noval%>"<%nocheckedval%> id="<%noid%>"<%disabled%> />
+<label for="<%noid%>"><%novaltext%></label>]]></part>
+ <part name="SPECIALSKINLIST_FOOT"><![CDATA[</ul>]]></part>
+ <part name="SPECIALSKINLIST_BODY"><![CDATA[<li><a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=skinedittype&skinid=<%skinid%>&type=<%skintype%>"><%skintype%></a> (<a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=skinremovetype&skinid=<%skinid%>&type=<%skintype%>">remove</a>)</li>
+]]></part>
+ <part name="SPECIALSKINLIST_HEAD"><![CDATA[<ul>
+]]></part>
+ <part name="TEMPLATE_EDIT_ROW_TAIL"><![CDATA[</textarea>
+ </td>
+]]></part>
+ <part name="TEMPLATE_EDIT_EXPLUGNAME"><![CDATA[</tr><tr>
+ <th colspan="2"><%explugtplname%></th>
+]]></part>
+ <part name="TEMPLATE_EDIT_ROW_HEAD"><![CDATA[</tr><tr>
+ <td>
+ <%description%><%help%>
+ </td>
+ <td id="td<%count%>">
+ <textarea class="templateedit" name="<%name%>" tabindex="<%tabindex%>" cols="50" rows="<%rows%>" id="textarea<%count%>">]]></part>
+ <part name="ADMIN_BATCHLIST"><![CDATA[<li><%text(_BATCH_EXECUTING)%<b><%adminbatchaction%></b><%batchlisttype%> <b><%batchid%></b>...<b><%batchlistmsg%></b></li>
+]]></part>
+ <part name="ADMIN_BLOGLINK"><![CDATA[<a href="<%url%>" title="<%adminbloglinktitle%>"><%blogname%></a>]]></part>
+ <part name="ADMIN_CUSTOMHELPLINK_ANCHOR"><![CDATA[<a href="<%helpurl%>#<%helptarget%>" title="<%title%>" <%onclick%>>]]></part>
+ <part name="ADMINSKINTYPELIST_FOOT"><![CDATA[ </ul>
+]]></part>
+ <part name="ADMIN_CUSTOMHELPLINK_ICON"><![CDATA[<img src="<%iconurl%>" <%width%><%height%>alt="<%alt%>" title="<%title%>" /></a>]]></part>
+ <part name="ADMINSKINTYPELIST_BODY"><![CDATA[<li><a tabindex="<%tabindex%>" href="<%adminurl%>index.php?action=adminskinedittype&skinid=<%skinid%>&type=<%skintype%>"><%name%></a> <%help%></li>
+]]></part>
+ <part name="ADMINSKINTYPELIST_HEAD"><![CDATA[ <ul>
+]]></part>
+ <part name="PLUGIN_QUICKMENU_BODY"><![CDATA[<li><a href="<%plugadminurl%>" title="<%plugadmintooltip%>"><%plugadmintitle%></a></li>
+]]></part>
+ <part name="PLUGIN_QUICKMENU_FOOT"><![CDATA[</ul>
+]]></part>
+ </template>
+</nucleusskin>
--- /dev/null
+/*
+ This stylesheet serves to make item previews look nicer, and to markup the
+ buttonbar
+
+ $Id: addedit.css 757 2005-08-12 07:29:40Z dekarma $
+*/
+
+.leftbox, .rightbox {
+ margin: 3px;
+ padding: 3px;
+ font-size: larger;
+ width: 20%;
+}
+.leftbox {
+ float: left;
+ border-right: 2px solid #888;
+}
+.rightbox {
+ float: right;
+ border-left: 2px solid #888;
+}
+
+/* markup buttons */
+.jsbuttonbar {
+ padding: 3px;
+ cursor: default;
+}
+
+.jsbutton {
+ float: left;
+ padding: 3px;
+ margin-right: 4px;
+ height: 16px;
+ width: 16px;
+ border: 1px solid #dddddd;
+ background-color: white;
+}
+
+.jsbuttonspacer {
+ float: left;
+ width: 10px;
+}
+
+.jsbuttonend {
+ clear: both;
+}
--- /dev/null
+/*@charset 'UTF-8';*/
+
+/*
+ admin area style
+
+ $Id: admin.css 1261 2008-05-22 20:32:43Z kaigreve $
+*/
+
+body {
+ background: #fff url(contemporary/background.png) repeat-x;
+}
+
+body, td, th, a, li, ul, textarea {
+ color: #333
+ font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
+}
+
+/* basic link appearance */
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/* textareas */
+textarea {
+ font-size: small;
+ width: 95%;
+}
+
+/* textareas for skin/template editing have monospace fonts */
+textarea.skinedit, textarea.templateedit {
+ font-family: monospace;
+ font-size: medium;
+}
+
+/* images */
+img {
+ border: none;
+}
+
+img.skinpreview {
+ border: 1px solid #ccc;
+}
+
+/* forms */
+form {
+ margin-bottom: 0px;
+}
+
+label {
+ cursor: pointer;
+}
+
+input.transparent {
+ background-color: transparent;
+}
+
+/* preformatted text */
+pre {
+ margin-left: 10px;
+}
+
+/* a div that has an indent */
+div.indent {
+ margin-left: 40px;
+}
+
+.skip {
+ display: none;
+}
+
+.error {
+ color: red;
+ font-size: 1.2em;
+}
+
+/* header */
+h1 {
+ text-align: right;
+ font-size: 30px;
+ font-weight: 900;
+ letter-spacing: 0.1em;
+ /*color: #0001AA; */
+ color: #596d9d;
+ margin: 0 0 5px 135px;
+ height: 35px;
+ /*display: none; hide the header if you don't want it*/
+
+}
+
+/* quick menu on left */
+/*
+ It's a real pain getting this absolute positioning to work correctly
+ in all browsers. IE in particular seems to have a lot of trouble, even
+ when a valid doctype is present. Because of the way it is solved currently,
+ the top of the quickmenu and the contents will not line up
+*/
+#quickmenu {
+ position: absolute;
+ overflow: hidden;
+
+ top: 10px;
+ left: 10px;
+
+ width: 150px;
+ margin: 0px;
+ padding: 0px;
+
+ font-size:9pt;/*add yotaka 090323*/
+ color:#333;/* add */
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: #bbb;
+
+ background: #ffffff url(quickb.jpg) top left fixed repeat-y;
+}
+
+#quickmenu ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+#quickmenu li {
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ border-bottom: 1px solid #ccc;
+}
+
+#quickmenu p {
+ padding: 5px;
+ margin: 0px;
+ text-align: justify;
+}
+
+#quickmenu a {
+ display: block;
+ padding: 5px;
+ font-size: 1em;
+ line-height: 1.5;
+ text-decoration: none;
+}
+
+#quickmenu a:hover {
+ background: #ffffff url(quickb-hover.jpg) top left fixed repeat-y;
+ color: #333;
+ letter-spacing: 1px;
+}
+
+#quickmenu h2 {
+ font-size: small;
+ text-align: center;
+ padding: 1px 0px 1px 0px;
+ margin: 0px;
+ border-bottom: 1px solid #bbb;
+ background-color: #ddd;
+ color: #333;
+}
+
+#quickmenu form {
+ margin: 0;
+ padding: 5px;
+ text-align: center;
+}
+
+#quickmenu option {
+ font-size: 0.9em;
+}
+
+.loginname {
+ float: right;
+ font-size: small;
+ text-align: right;
+ line-height: normal;
+ padding-left: 5px;
+ background-color: white;
+}
+
+/* page content */
+#content {
+ margin-left: 163px;
+ font-style: normal;
+ text-decoration: none;
+ color: #333;
+ text-align: justify;
+ line-height: 13pt;
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: #bbb;
+
+ /* rounded borders in gecko-based browsers? why not :) */
+ -moz-border-radius: 10px;
+
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ padding: 10px 10px 0 10px;
+
+ background-color: white;
+
+}
+
+#content h2 {
+ color: #596d9d;
+
+ border-color: gray;
+ border-style: dashed;
+ border-width: 0px 0px 1px 0px;
+
+ font-size: large;
+ line-height: 120%;
+
+ text-decoration: none;
+ font-weight: bold;
+}
+
+#content h3 {
+ border-color: gray;
+ border-style: dotted;
+ border-width: 0px 0px 1px 0px;
+ font-size: medium;
+ font-weight: normal;
+ line-height: 120%;
+
+ color: gray;
+ padding-left: 20px;
+}
+
+#content .note, pre {
+ background-color: #ddd;
+ padding: 5px;
+}
+
+/*
+ font size tricks, to make it work in all browsers
+
+ See:
+ http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html
+
+ (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser)
+ #content should be 'small' (in standard-compliant browsers)
+
+*/
+
+#content {
+ font-size: small;
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ font-size: small;
+}
+html>body #content { font-size: small; }
+
+/* tables */
+div#content table {
+ border: none;
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+div#content table tbody tr {
+ background-color: #FFFFFF;
+}
+
+div#content table tbody tr:hover {
+ background-color: #F5F5F5;
+}
+
+div#content table thead tr th {
+ border: none;
+ background-color: #BBBBCC;
+ color: #000000;
+ font-size: small;
+}
+
+div#content table thead th,
+div#content table tbody td {
+ padding: 4px;
+ empty-cells: show;
+}
+
+div#content table.systemoverview thead th,
+div#content table.systemoverview tbody td {
+ width: 50%;
+}
+
+div#content table tbody tr td {
+ border: 1px solid #ddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+div#content table tbody tr td a:link,
+div#content table tbody tr td a:visited {
+ text-decoration: underline;
+ color: black;
+ font-weight: normal;
+}
+
+div#content table tbody tr td a:hover {
+ color: #1D3565;
+ text-decoration: underline;
+}
+
+div#content table tbody tr td.draft,
+div#content table tbody tr td.future {
+ background-color: #FFFFEE;
+}
+
+div#content table.navigation td,
+div#content table.navigation th {
+ border: none;
+}
+
+div#content table tbody td h3 {
+ padding: 0px;
+ margin: 0px 0px 2em 0px;
+ border: 0px;
+ color: #000000;
+ font-size: small;
+ font-weight: normal;
+ line-height: 13pt;
+}
+
+div#content table tbody td h3#base_skin {
+ font-weight: bold;
+}
+
+/* definitive list */
+div#content table tbody tr td dl {
+ margin: 0px;
+ padding: 0px;
+}
+
+div#content table tbody tr td:first-child dl dt {
+ margin: 0px;
+ padding: 0px 5px 0px 0px;
+ display: inline;
+ float: left;
+ clear: both;
+}
+
+div#content table tbody tr td:first-child dl dd {
+ margin: 0px;
+ padding: 0px;
+ display: block;
+}
+
+div#content table tbody tr td dl dd {
+ margin: 0px 0px 1em 0px;
+}
+
+/* unorderd list */
+div#content table tbody tr td ul {
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+}
+
+div#content table tbody tr td ul li {
+ margin: 0px;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+.batchoperations {
+ background-color: #EEEEFF;
+ width: auto;
+ padding: 5px;
+ text-align: right;
+}
+
+/* footer */
+div.foot {
+ padding: 2px 0px 2px 10px;
+ margin:10px -10px 0 -10px;
+ text-align: center;
+}
--- /dev/null
+@charset 'UTF-8';
+
+/*
+ admin area style
+
+ $Id$
+ $NucleusJP: admin.css,v 1.6 2006/07/17 20:03:45 kimitake Exp $
+*/
+
+body {
+ background: #ffffff url(contemporary_jp/background.png) repeat-x;
+
+}
+
+body, td, th, a, li, ul, textarea {
+/* color: #000; modify */
+ color: #333;
+/* font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;*/
+/* font-family: "Hiragino Kaku Gothic Pro W3", "Meiryo", "MS PGothic", "Osaka", "IPA UIGothic", "IPA mona UIGothic", "VL PGothic", "Sazanami Gothic", "DynaLab-dfghsgothic w5-jisx0208.1990-0", "DynaLab-dfggothic w5-iso8859-1", "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif; */
+ font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "MS Pゴシック", "MS PGothic", "IPA UIGothic", "IPA mona UIGothic", "VL PGothic", "Sazanami Gothic", "DynaLab-dfghsgothic w5-jisx0208.1990-0", "DynaLab-dfggothic w5-iso8859-1", "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
+}
+
+/* basic link appearance */
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/* textareas */
+textarea {
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+
+ line-height:145%;/* add */
+ padding:5px;/* add */
+
+/* font-family: "Hiragino Kaku Gothic Pro W3", "MS PGothic", "Osaka", sans-serif;
+}
+
+*>textarea {*/
+ width: 95%;
+}
+
+/* textareas for skin/template editing have monospace fonts */
+textarea.skinedit, textarea.templateedit {
+/* font-family: "Hiragino Kaku Gothic Pro W3", "MS PGothic", "Osaka", monospace;
+/* except MacIE \*//*
+ font-family: monospace;
+/* end */
+/* font-size: medium;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+}
+
+/* add start */
+textarea#inputbody,textarea#inputmore {
+ width:500px;
+ margin:5px 3px;
+}
+
+textarea.pluginoption {
+ width:420px;
+}
+/* add end */
+
+/* images */
+img {
+ border: none;
+}
+
+img.skinpreview {
+ border: 1px solid #ccc;
+}
+
+/* forms */
+form {
+ margin-bottom: 0px;
+}
+
+label {
+ cursor: pointer;
+}
+
+input.transparent {
+ background-color: transparent;
+}
+
+/* preformatted text */
+pre {
+ margin-left: 10px;
+}
+
+/* a div that has an indent */
+div.indent {
+ margin-left: 40px;
+}
+
+.skip {
+ display: none;
+}
+
+.error {
+ color: red;
+ /*font-size: 1.2em;*//*mod yotaka 090323*/
+ font-size: 14pt; /*add yotaka 090323*/
+}
+
+/* header */
+h1 {
+ text-align: right;
+/* font-size: 30px;*//*mod yotaka 090323*/
+ font-size:24pt;/*add yotaka 090323*/
+ font-weight: 900;
+ letter-spacing: 0.1em;
+/* color: #0001AA;*/
+ color: #596d9d;
+ margin: 0 0 5px 135px;
+ height: 35px;
+/* display: none; hide the header if you don't want it*/
+
+}
+
+/* quick menu on left */
+/*
+ It's a real pain getting this absolute positioning to work correctly
+ in all browsers. IE in particular seems to have a lot of trouble, even
+ when a valid doctype is present. Because of the way it is solved currently,
+ the top of the quickmenu and the contents will not line up
+*/
+#quickmenu {
+ position: absolute;
+ overflow: hidden;
+
+ top: 10px;
+ left: 10px;
+
+ width: 150px;
+ margin: 0px;
+ padding: 0px;
+
+/* font-size: 70%;*/
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size:9pt;/*add yotaka 090323*/
+ color:#333;/* add */
+
+ border-width: 1px;
+ border-style: solid;
+/* border-color: black; modify */
+ border-color: #bbb;
+
+ background: #ffffff url(contemporary_jp/quickb.jpg) top left fixed repeat-y;
+}
+
+#quickmenu ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+#quickmenu li {
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ border-bottom: 1px solid #ccc;
+}
+
+#quickmenu p {
+ padding: 5px;
+ margin: 0px;
+ text-align: justify;
+}
+
+#quickmenu a {
+ display: block;
+ padding: 5px;
+ /*font-size: 1em;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ line-height: 1.5em;
+ text-decoration: none;
+/* font-family: verdana, lucida, arial, helvetica, sans-serif;
+}
+
+*>#quickmenu a {
+ font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
+*/
+}
+
+#quickmenu a:hover {
+ background: #ffffff url(contemporary_jp/quickb-hover.jpg) top left fixed repeat-y;
+/* color: #000; modify */
+ color: #333;
+ letter-spacing: 1px;
+ white-space: nowrap; /* add */
+}
+
+#quickmenu h2 {
+ /*font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ text-align: center;
+ padding: 1px 0px 1px 0px;
+ margin: 0px;
+ border-bottom: 1px solid #bbb;
+ background-color: #ddd;
+/* color: #000; modify */
+ color: #333;
+}
+
+#quickmenu form {
+ margin: 0;
+ padding: 5px;
+ text-align: center;
+}
+
+#quickmenu option {
+/* font-size: 0.9em;*//*mod yotaka 090323*/
+ font-size: 8pt;/*add yotaka 090323*/
+}
+
+.loginname {
+ float: right;
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ text-align: right;
+ line-height: normal;
+ padding-left: 5px;
+ background-color: white;
+}
+
+/* page content */
+#content {
+ margin-left:163px;
+ font-style: normal;
+ text-decoration: none;
+/* color: black; modify */
+ color: #333;
+ text-align: justify;
+ line-height: 13pt;
+
+ border-width: 1px;
+ border-style: solid;
+/* border-color: black; modify */
+ border-color: #bbb;
+
+/* rounded borders in gecko-based browsers? why not :) */
+ -moz-border-radius: 10px;
+
+/* rounded borders in webkit-based browsers? why not :) */
+ -webkit-border-radius: 10px;
+
+/* rounded borders in css3-based browsers? why not :) */
+ border-radius: 10px;
+
+ padding: 10px 10px 0 10px;
+
+ background-color: white;
+
+}
+
+#content h2 {
+ color: #596d9d;
+
+ border-color: gray;
+ border-style: dashed;
+ border-width: 0px 0px 1px 0px;
+
+ /*font-size: large;
+ line-height: 120%;*//*mod yotaka 090323*/
+ font-size: 10pt;/*add yotaka 090323*/
+ line-height: 20px;/*add yotaka 090323*/
+
+ text-decoration: none;
+ font-weight: bold;
+ letter-spacing: 2px;/* add */
+ margin-top:20px;/*add yotaka 090323*/
+}
+
+#content h3 {
+/* border-color: gray;
+ border-style: dotted;
+ border-width: 0px 0px 1px 0px; modify */
+
+ border-color: #596d9d;
+ border-style: solid;
+ border-width: 0px 0px 0px 5px;
+
+/* font-size: medium;*/
+ font-size: 10pt;
+ font-weight: normal;
+ line-height: 120%;
+
+/* color: gray;
+ padding-left: 20px;
+ letter-spacing: 2; modify */
+
+ color: #596d9d;
+ padding-left: 8px;
+ letter-spacing: 2px;
+ margin-left:5px;/* add */
+}
+
+/* add start */
+#content ul {
+ line-height:1.5em;
+/* list-style-type:square;*/
+ margin:0 0 0.5em 30px;
+ padding:0;
+ list-style-image:url(contemporary_jp/bullet.gif);
+}
+/* add end */
+
+#content .note, pre {
+ background-color: #ddd;
+ padding: 5px;
+}
+
+#content li a{
+ font-size: 9pt;/*add yotaka 090323*/
+}
+
+/*
+ font size tricks, to make it work in all browsers
+
+ See:
+ http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html
+
+ (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser)
+ #content should be 'small' (in standard-compliant browsers)
+
+*/
+
+#content {
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ /*font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+}
+html>body #content {
+ /*font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+}
+
+/* tables */
+table {
+ border: none;
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+th {
+/* background-color: #bbc; modify */
+ background-color: #ddd;
+/* color: #000; modify */
+ color: #333;
+ /*font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ letter-spacing:1px;/* add */
+}
+
+th, td {
+ padding: 4px;
+ empty-cells: show;
+ border: 1px solid #ddd; /* add */
+}
+
+td {
+ background-color: #fff;
+/* border: 1px solid #ddd;*/
+/* font-size: small;*//*mod yotaka 090323*/
+ font-size: 9pt;/*add yotaka 090323*/
+ vertical-align: top;
+ text-align: left;
+}
+
+td a:link, td a:visited {
+ text-decoration: underline;
+/* color: black; modify */
+ color: #333;
+ font-weight: normal;
+}
+
+td a:hover {
+ color: #1D3565;
+ text-decoration: underline;
+}
+td.draft {
+ background-color: #ffe;
+}
+td.future {
+ background-color: #fff7f1;
+}
+tr.highlighted td {
+ background-color: green;
+}
+
+table.navigation td, table.navigation th {
+ border: none;
+}
+
+.batchoperations {
+ background-color: #ebebf2;
+ width: auto;
+ padding: 5px;
+ text-align: right;
+}
+
+/* plugin list */
+#content table ul.list_comment_info,
+#content table ul.list_item_info,
+#content table ul.list_item_action,
+#content table ul.plugin_info,
+#content table ul.pluginlist_actions {
+ list-style-type: none;
+ list-style-image: none;
+ margin: 0 0 0.5em 5px;
+ line-height:1.1em;
+}
+
+.plugin_name {
+ font-weight: bold;
+}
+
+.plugin_desc h4 {
+ margin: 0;
+}
+
+.plugin_desc p {
+ margin-top: 0;
+}
+
+/* item list */
+#content table label.list_item_title {
+/* font-size: 1.1em;*//*mod yotaka 090323*/
+ font-size: 10pt;/*mod yotaka 090323*/
+ font-weight: bold;
+}
+
+.list_item_info_th {
+ width: 130px;
+}
+
+/* footer */
+.foot {
+ padding: 2px 0px 2px 10px;
+ margin:10px -10px 0 -10px;
+ text-align: center;
+}
+
+table .availableSkinTypes ul li {
+ list-style: none;
+}
--- /dev/null
+/*
+ admin area style
+
+ $Id: admin_original.css 1652 2012-02-11 06:02:05Z sakamocchi $
+*/
+
+body {
+ background: #ffffff;
+}
+
+body, td, th, a, li, ul, textarea {
+ color: #000;
+ font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
+}
+
+/* basic link appearance */
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/* textareas */
+textarea {
+ font-size: small;
+ width: 95%;
+}
+
+/* textareas for skin/template editing have monospace fonts */
+textarea.skinedit, textarea.templateedit {
+ font-family: monospace;
+ font-size: medium;
+}
+
+/* images */
+img {
+ border: none;
+}
+
+img.skinpreview {
+ border: 1px solid #ccc;
+}
+
+/* forms */
+form {
+ margin-bottom: 0px;
+}
+
+label {
+ cursor: pointer;
+}
+
+input.transparent {
+ background-color: transparent;
+}
+
+/* preformatted text */
+pre {
+ margin-left: 10px;
+}
+
+/* a div that has an indent */
+div.indent {
+ margin-left: 40px;
+}
+
+.skip {
+ display: none;
+}
+
+.error {
+ color: red;
+ font-size: 1.2em;
+}
+
+/* header */
+h1 {
+ text-align: right;
+ font-size: 30px;
+ font-weight: 900;
+ letter-spacing: 0.1em;
+ /*color: #0001AA; */
+ color: #596d9d;
+ margin: 0 0 5px 135px;
+ height: 35px;
+ /*display: none; hide the header if you don't want it*/
+}
+
+/* quick menu on left */
+/*
+ It's a real pain getting this absolute positioning to work correctly
+ in all browsers. IE in particular seems to have a lot of trouble, even
+ when a valid doctype is present. Because of the way it is solved currently,
+ the top of the quickmenu and the contents will not line up
+*/
+#quickmenu {
+ position: absolute;
+ overflow: hidden;
+
+ top: 10px;
+ left: 10px;
+
+ width: 110px;
+ margin: 0px;
+ padding: 0px;
+
+ font-size: 70%;
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: black;
+
+ background: #ffffff url(quickb.jpg) top left fixed repeat-y;
+}
+
+#quickmenu ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+#quickmenu li {
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ border-bottom: 1px solid #ccc;
+}
+
+#quickmenu p {
+ padding: 5px;
+ margin: 0px;
+ text-align: justify;
+}
+
+#quickmenu a {
+ display: block;
+ padding: 5px;
+ font-size: 1em;
+ line-height: 1.5em;
+ text-decoration: none;
+}
+
+#quickmenu a:hover {
+ background: #ffffff url(quickb-hover.jpg) top left fixed repeat-y;
+ color: #000;
+ letter-spacing: 1px;
+}
+
+#quickmenu h2 {
+ font-size: small;
+ text-align: center;
+ padding: 1px 0px 1px 0px;
+ margin: 0px;
+ border-bottom: 1px solid #bbb;
+ background-color: #ddd;
+ color: #000;
+}
+
+#quickmenu form {
+ margin: 0;
+ padding: 5px;
+ text-align: center;
+}
+
+#quickmenu option {
+ font-size: 0.9em;
+}
+
+.loginname {
+ float: right;
+ font-size: small;
+ text-align: right;
+ line-height: normal;
+ padding-left: 5px;
+ background-color: white;
+}
+
+/* page content */
+#content {
+ margin-left: 135px;
+ font-style: normal;
+ text-decoration: none;
+ color: black;
+ text-align: justify;
+ line-height: 13pt;
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: black;
+
+ /* rounded borders */
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+
+ padding: 10px 10px 0 10px;
+
+ background-color: white;
+}
+
+#content h2 {
+ color: #596d9d;
+
+ border-color: gray;
+ border-style: dashed;
+ border-width: 0px 0px 1px 0px;
+
+ font-size: large;
+ line-height: 120%;
+
+ text-decoration: none;
+ font-weight: bold;
+}
+
+#content h3 {
+ border-color: gray;
+ border-style: dotted;
+ border-width: 0px 0px 1px 0px;
+ font-size: medium;
+ font-weight: normal;
+ line-height: 120%;
+
+ color: gray;
+ padding-left: 20px;
+}
+
+#content .note, pre {
+ background-color: #ddd;
+ padding: 5px;
+}
+
+/*
+ font size tricks, to make it work in all browsers
+
+ See:
+ http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html
+
+ (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser)
+ #content should be 'small' (in standard-compliant browsers)
+
+*/
+
+#content {
+ font-size: small;
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ font-size: small;
+}
+html>body #content { font-size: small; }
+
+/* tables */
+div#content table {
+ border: none;
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+div#content table tbody tr {
+ background-color: #FFFFFF;
+}
+
+div#content table tbody tr:hover {
+ background-color: #F5F5F5;
+}
+
+div#content table thead tr th {
+ border: none;
+ background-color: #BBBBCC;
+ color: #000000;
+ font-size: small;
+}
+
+div#content table thead th,
+div#content table tbody td {
+ padding: 4px;
+ empty-cells: show;
+}
+
+/* systemconfig column */
+div#content table.systemoverview thead th,
+div#content table.systemoverview tbody td {
+ width: 50%;
+}
+
+div#content table tbody tr td {
+ border: 1px solid #ddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+div#content table tbody tr td a:link,
+div#content table tbody tr td a:visited {
+ text-decoration: underline;
+ color: black;
+ font-weight: normal;
+}
+
+div#content table tbody tr td a:hover {
+ color: #1D3565;
+ text-decoration: underline;
+}
+
+div#content table tbody tr td.draft,
+div#content table tbody tr td.future {
+ background-color: #FFFFEE;
+}
+
+div#content table.navigation td,
+div#content table.navigation th {
+ border: none;
+}
+
+div#content table tbody td h3 {
+ padding: 0px;
+ margin: 0px 0px 2em 0px;
+ border: 0px;
+ color: #000000;
+ font-size: small;
+ font-weight: normal;
+ line-height: 13pt;
+}
+
+div#content table tbody td h3#base_skin {
+ font-weight: bold;
+}
+
+/* definitive list */
+div#content table tbody tr td dl {
+ margin: 0px;
+ padding: 0px;
+}
+
+div#content table tbody tr td:first-child dl dt {
+ margin: 0px;
+ padding: 0px 5px 0px 0px;
+ display: inline;
+ float: left;
+ clear: both;
+}
+
+div#content table tbody tr td:first-child dl dd {
+ margin: 0px;
+ padding: 0px;
+ display: block;
+}
+
+div#content table tbody tr td dl dd {
+ margin: 0px 0px 1em 0px;
+}
+
+/* unorderd list */
+div#content table tbody tr td ul {
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+}
+
+div#content table tbody tr td ul li {
+ margin: 0px;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+.batchoperations {
+ background-color: #EEEEFF;
+ width: auto;
+ padding: 5px;
+ text-align: right;
+}
+
+/* footer */
+div.foot {
+ padding: 2px 0px 2px 10px;
+ margin:10px -10px 0 -10px;
+ text-align: center;
+}
--- /dev/null
+/*
+ style definitions for the bookmarklet
+
+ $Id: bookmarklet.css 1277 2008-10-22 08:43:59Z shizuki $
+*/
+
+body {
+ font-size: small;
+ background: #fff;
+ color: #000;
+ font-family: "Trebuchet MS",Trebuchet,"Bitstream Vera Sans",verdana,lucida,arial,helvetica,sans-serif
+}
+
+h1 {
+ border-bottom: 1px dotted gray;
+ font-size: medium;
+ color: #596d9d;
+}
+
+/*
+ Hide switch buttons initially, we'll enable them again if we are sure
+ the browser supports DOM
+*/
+#switchbuttons {
+ display: none;
+}
+/*
+ Hide preview also when no DOM is supported
+*/
+#preview {
+ display: none;
+}
+
+.buttonbar {
+ margin-bottom: 5px;
+ background: rgb(187, 187, 204);
+ padding: 3px;
+}
+
+.buttonbar input {
+ background: #C5C5D3;
+ border: 1px solid #CACAD7;
+ border-right: 2px solid #8E8EAB;
+ border-bottom: 2px solid #8E8EAB;
+ color: #000000;
+ font-family: "Trebuchet MS",Trebuchet,"Bitstream Vera Sans",verdana,lucida,arial,helvetica,sans-serif;
+ font-weight: bold;
+}
+
+.contentblock {
+ /*background: #ddd;*/
+/* height: 400px;*/
+ height: 450px;
+ overflow: auto; /* temporary removed, to make the select box work in Mozilla */
+ padding: 1px;
+ margin: 0px;
+ vertical-align: top;
+}
+
+.shortcuts {
+ float: right;
+ text-align: right;
+ font-size: x-small;
+}
+
+#options {
+ margin-top:-15px;
+ }
+#options h2 {
+ margin:15px 0 0 0;
+}
+
+h2 {
+ font-size: 1.5em;
+ color: gray;
+ margin-top: 0px;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ margin-top: 0px;
+}
+
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+img {
+ border: none;
+}
+
+.indent {
+ margin-left: 40px;
+}
+
+label { cursor: pointer; }
+
+table {
+ border: none;
+ width: 95%;
+ border-collapse: collapse;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+th {
+ background: #bbc;
+ color: #000;
+ font-size: small;
+}
+
+th, td {
+ padding: 4px;
+ empty-cells: show;
+}
+
+td {
+ background: #fff;
+ border: 1px solid #ddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+td a:link, td a:visited {
+ text-decoration: underline;
+ color: black;
+ font-weight: normal;
+}
+td a:hover {
+ color: #1D3565;
+ text-decoration: underline;
+}
+
+td.draft, td.future {
+ background: #ffe;
+}
+
+tr.highlighted td {
+ background: green;
+}
+
+ul.nobullets {
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
+}
\ No newline at end of file
--- /dev/null
+/*
+ documentation style
+
+ $Id: manual.css 757 2005-08-12 07:29:40Z dekarma $
+*/
+
+body {
+ background-color: #fff;
+ color: #000;
+ font-family: verdana, arial;
+ font-size: small;
+}
+
+@media screen {
+ body {
+ margin-left: 10%;
+ margin-right: 10%;
+ }
+}
+
+@media print {
+ pre, .note, td, th {
+ border: 1px dashed gray;
+ }
+}
+
+img {
+ border: none;
+}
+
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+a: hover {
+ text-decoration: underline;
+}
+
+.heading {
+ text-align: center;
+ font-size: xx-large;
+ font-weight: bold;
+ color: gray;
+}
+
+.heading i {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ font-size: small;
+ font-style: normal;
+ font-weight: normal;
+}
+
+p:first-letter {
+ font-size: large;
+}
+
+p {
+ text-indent: 20px;
+}
+
+h1 {
+ border-bottom: 1px dotted gray;
+ font-size: x-large;
+ color: #596d9d;
+}
+
+h2 {
+ color: gray;
+ font-size: large;
+ margin-left: 20px;
+ text-indent: 10px;
+ border-bottom: 1px solid #ddd;
+}
+
+pre, .note, .faq .answer {
+ background-color: #ddd;
+ padding: 10px;
+ font-size: small;
+}
+
+.screenshot {
+ text-align: center;
+ background-color: #ddd;
+ padding: 10px;
+}
+
+.faq .question {
+ font-weight: bold;
+ margin-bottom: 0px;
+}
+
+.faq .answer {
+
+}
+
+.faq {
+ margin-bottom: 20px;
+}
+
+table {
+ border: none;
+}
+
+th {
+ background-color: linen;
+ font-size: medium;
+}
+
+th, td {
+ padding: 5px;
+}
+
+td {
+ background-color: #dddddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+input, select, option, textarea {
+ background-color: transparent;
+}
+
+.deprecated {
+ border: 3px solid red;
+ padding: 5px;
+ font-size: medium;
+}
+
+tt, code, samp {
+ font-size: small;
+}
+
+.warning {
+ color: red;
+}
+.ok {
+ color: green;
+}
+
+acronym, abbr {
+ border-bottom: 1px dotted gray;
+ cursor: help;
+}
+
+label {
+ cursor: hand;
+}
--- /dev/null
+/*
+ media library popup
+
+ $Id: popups.css 757 2005-08-12 07:29:40Z dekarma $
+*/
+
+body {
+ font-family: verdana, arial;
+ font-size: small;
+ background-color: #fff;
+ color: #000;
+}
+
+img {
+ border: none;
+}
+
+a:link, a:visited {
+ color: #1D3565;
+ font-weight: bold;
+ text-decoration: none;
+}
+a:hover {
+ text-decoration: underline;
+}
+
+.heading {
+ text-align: center;
+ font-size: xx-large;
+ font-weight: bold;
+ color: gray;
+}
+
+.heading i {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ font-size: small;
+ font-style: normal;
+ font-weight: normal;
+}
+
+p {
+ text-indent: 20px;
+}
+
+h1 {
+ border-bottom: 1px dotted gray;
+ font-size: x-large;
+ color: #596d9d;
+}
+
+h2 {
+ color: gray;
+ font-size: large;
+ margin-left: 20px;
+ text-indent: 10px;
+ border-bottom: 1px solid #ddd;
+}
+
+pre, .note, .faq .answer {
+ background-color: #ddd;
+ padding: 10px;
+ font-size: small;
+}
+
+.faq .question {
+ font-weight: bold;
+ margin-bottom: 0px;
+}
+
+.faq .answer {
+
+}
+
+.faq {
+ margin-bottom: 20px;
+}
+
+table {
+ border: none;
+}
+
+th {
+ background-color: linen;
+ font-size: medium;
+}
+
+th, td {
+ padding: 5px;
+}
+
+td {
+ background-color: #dddddd;
+ font-size: small;
+ vertical-align: top;
+ text-align: left;
+}
+
+label {
+ cursor: pointer;
+}
\ No newline at end of file
}
}
-global $StartTime, $SQLCount;
+global $StartTime;
$loadtime = getmtime() - $StartTime;
-printf("%.3f sec/%d queries", $loadtime, $SQLCount);
+printf("%.3f sec/%d queries", $loadtime, DB::getExecCount());