From: Roland Häder Date: Thu, 18 Dec 2008 16:45:30 +0000 (+0000) Subject: Major fixes in filters/extensions, other improvements: X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=commitdiff_plain;h=0f9689b7d070311251abdc1dc3c5f970a4227021 Major fixes in filters/extensions, other improvements: - Major bug in filter removal fixed (was rewritten to use own filter 'run_sqls') - Removed guest menu from SQL files and added to ext-online.php - Filters added to same extension - UPDATE_LOGIN_DATA() rewritten as filter - Some documents updated - Admin footer template now with closing "li" tags and title attribute for guest area link --- diff --git a/.gitattributes b/.gitattributes index c7bc9ac223..7e9f6da89c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -225,6 +225,7 @@ inc/libs/html_mail_functions.php -text inc/libs/mediadata_functions.php -text inc/libs/newsletter_functions.php -text inc/libs/nickname_functions.php -text +inc/libs/online_functions.php -text inc/libs/optimize_functions.php -text inc/libs/order_functions.php -text inc/libs/payout_functions.php -text diff --git a/DOCS/de/EXTENSIONS.txt b/DOCS/de/EXTENSIONS.txt index a1bb30843e..ca38d1327c 100644 --- a/DOCS/de/EXTENSIONS.txt +++ b/DOCS/de/EXTENSIONS.txt @@ -96,8 +96,8 @@ dann koennen Sie am wenigsten falsch machen. Viel Erfolg!!! -Und wenn Sie nicht weiterkommen, melden Sie sich bitte im Forum! +Und wenn Sie nicht weiterkommen, melden Sie sich bitte im Forum oder im Bug-Tracker! -http://forum.mxchange.org +http://forum.mxchange.org - http://bugs.mxchange.org [EOF] diff --git a/DOCS/de/README.txt b/DOCS/de/README.txt index da1fef1739..ccef51a39d 100644 --- a/DOCS/de/README.txt +++ b/DOCS/de/README.txt @@ -146,6 +146,10 @@ immer mein Forum, welches Sie hier finden koennen: http://forum.mxchange.org +Auch sollten Sie meinen Bug-Tracker aufsuchen und dort Fehlermeldungen posten: + +http://bugs.mxchange.org + Alle wichtigen Kontaktdaten finden Sie im Impressum: http://www.mxchange.org oder diff --git a/DOCS/en/EXTENSIONS.txt b/DOCS/en/EXTENSIONS.txt index 6b71863812..63a933e790 100644 --- a/DOCS/en/EXTENSIONS.txt +++ b/DOCS/en/EXTENSIONS.txt @@ -1,18 +1,5 @@ -Info-Datei zum Einspielen von Erweiterungen -=========================================== +Not yet translated! :( -Im Grunde genommen koennen Sie beim Updaten von Erweiterungen so vorgehen, -wie Sie es vom Upgraden des gesamten Script her kennen: - -- Eigen geaenderte Templates/CSS-Dateien sichern -- Alles (bis auf DOCS-Verzeichnis) hochladen -- Gesicherte Dateien wieder hochladen. -- In Adminbereich einloggen und nach Update-Aufgaben gucken - -Viel Erfolg!!! - -Und wenn Sie nicht weiterkommen, melden Sie sich bitte im Forum: - -http://forum.mxchange.org +http://forum.mxchange.org - http://bugs.mxchange.org [EOF] diff --git a/inc/databases.php b/inc/databases.php index 0f418377e2..3968665986 100644 --- a/inc/databases.php +++ b/inc/databases.php @@ -114,7 +114,7 @@ define('USAGE_BASE', "usage"); define('SERVER_URL', "http://www.mxchange.org"); // Current SVN revision -define('CURR_SVN_REVISION', "651"); +define('CURR_SVN_REVISION', "652"); // Take a prime number which is long (if you know a longer one please try it out!) define('_PRIME', 591623); diff --git a/inc/extensions.php b/inc/extensions.php index df5e51e9e6..5686e7c0ed 100644 --- a/inc/extensions.php +++ b/inc/extensions.php @@ -126,7 +126,7 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = "", $EXT_VER = "", $dry_run // Registeres an extension and possible update depencies function EXTENSION_REGISTER ($ext_name, $task_id, $dry_run = false, $logout = true) { global $UPDATE_NOTES, $_CONFIG, $INC_POOL, $cacheInstance; - global $EXT_VER_HISTORY, $SQLs, $NOTES, $EXT_ALWAYS_ACTIVE, $EXT_VERSION; + global $EXT_VER_HISTORY, $NOTES, $EXT_ALWAYS_ACTIVE, $EXT_VERSION; global $EXT_UPDATE_DEPENDS; // This shall never do a non-admin user! @@ -299,31 +299,12 @@ function EXTENSION_RUN_SQLS ($ext_id, $load_mode) { // Load extension in detected mode //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, ":ext_name[{$ext_id}]={$ext_name}"); - LOAD_EXTENSION($ext_name, $load_mode, false, $SQLs); + LOAD_EXTENSION($ext_name, $load_mode, "", false, $SQLs); //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, ":SQLs::count=".count($SQLs).""); if ((is_array($SQLs) && (sizeof($SQLs) > 0))) { // Run SQL commands... - foreach ($SQLs as $sql) { - // Trim spaces away which we don't need - $sql = trim($sql); - - // Is there still an SQL query? - if (!empty($sql)) { - // Do we have an "ALTER TABLE" command? - //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, ":SQL={$SQL}"); - if (substr(strtolower($sql), 0, 11) == "alter table") { - // Analyse the alteration command - SQL_ALTER_TABLE($sql, __FILE__, __LINE__); - } else { - // Run regular SQL command - $result = SQL_QUERY($sql, __FILE__, __LINE__, false); - } - - // An SQL has been executed - $sqlRan = true; - } // END - if - } // END - foreach + RUN_FILTER('run_sqls'); // Removal mode? if ($load_mode == "remove") { @@ -440,7 +421,7 @@ function GET_EXT_VERSION ($ext_name) { function EXTENSION_UPDATE ($ext_name, $ext_ver, $dry_run = false) { // This shall never do a non-admin user! global $cacheInstance, $_CONFIG, $UPDATE_NOTES, $NOTES, $EXT_VER_HISTORY; - global $EXT_UPDATE_DEPENDS, $EXT_VERSION, $INC_POOL, $SQLs, $cacheArray; + global $EXT_UPDATE_DEPENDS, $EXT_VERSION, $INC_POOL, $cacheArray; // Init arrays $SQLs = array(); $INC_POOL = array(); diff --git a/inc/extensions/ext-online.php b/inc/extensions/ext-online.php index 37eedd0c14..fc80760540 100644 --- a/inc/extensions/ext-online.php +++ b/inc/extensions/ext-online.php @@ -38,13 +38,13 @@ if (!defined('__SECURITY')) { } // Version number -$EXT_VERSION = "0.0.4"; +$EXT_VERSION = "0.0.5"; // Auto-set extension version if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION; // Version history array (add more with , "0.1" and so on) -$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4"); +$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5"); switch ($EXT_LOAD_MODE) { @@ -74,6 +74,10 @@ case "remove": // Do stuff when removing extension // SQL commands to run $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_online"; $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE what='usr_online' LIMIT 1"; + $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_guest_menu` WHERE action='online' LIMIT 1"; + + // Unregister filter + UNREGISTER_FILTER('init', 'UPDATE_ONLINE_LIST', true, !$dry_run); break; case "activate": // Do stuff when admin activates this extension @@ -108,6 +112,16 @@ case "update": // Update an extension // Update notes (these will be set as task text!) $UPDATE_NOTES = "Erstellung der Datenbanktabelle "._MYSQL_PREFIX."_online in diese Erweiterung ausgelagert."; break; + + case "0.0.5": // SQL queries for v0.0.5 + $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('online',NULL,'Jetzt Online','2','Y','N')"; + + // Register filter + REGISTER_FILTER('init', 'UPDATE_ONLINE_LIST', false, true, !$dry_run); + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Hinzufügen des Menüpunktes "Jetzt Online" wird nun von dieser Erweiterung erledigt. Filter hinzugefügt."; + break; } break; diff --git a/inc/filters.php b/inc/filters.php index c0b3702d2e..79f0ef4c6e 100644 --- a/inc/filters.php +++ b/inc/filters.php @@ -102,6 +102,9 @@ ORDER BY `filter_id` ASC", __FILE__, __LINE__); SQL_FREERESULT($result); } // END - if + // Init filters + REGISTER_FILTER('init', 'UPDATE_LOGIN_DATA'); + // Login failtures handler REGISTER_FILTER('post_youhere_line', 'CALL_HANDLER_LOGIN_FAILTURES'); @@ -161,10 +164,12 @@ function REGISTER_FILTER ($filterName, $filterFunction, $silentAbort = true, $fo // "Unregisters" a filter from the given chain function UNREGISTER_FILTER ($filterName, $filterFunction, $force = false, $remove = true) { - global $filters, $counter; + global $filters, $counter, $loadedFilters; - // Extend the filter function name - $filterFunction = sprintf("FILTER_%s", strtoupper($filterFunction)); + // Extend the filter function name only if not loaded from database + if (!isset($loadedFilters[$filterName][$filterFunction])) { + $filterFunction = sprintf("FILTER_%s", strtoupper($filterFunction)); + } // END - if // Is that filter there? if ((!isset($filters[$filterName][$filterFunction])) && (!$force)) { @@ -291,7 +296,7 @@ function FILTER_FLUSH_FILTERS () { $removeSQL = substr($removeSQL, 0, -2) . "LIMIT ".$removed; // And run it - $removeSQL; + $SQLs[] = $removeSQL; } // END - if // Shall we update usage counters (ONLY FOR DEBUGGING!) @@ -430,5 +435,52 @@ function FILTER_RUN_SQLS ($dry_run) { } } +// Filter for updating/validating login data +function FILTER_UPDATE_LOGIN_DATA () { + global $LAST; + if (!is_array($LAST)) $LAST = array(); + + // Recheck if logged in + if (!IS_MEMBER()) return false; + + // Secure user ID + $GLOBALS['userid'] = bigintval(get_session('userid')); + + // Extract last online time (life) and how long is auto-login valid (time) + $newl = time() + bigintval(get_session('lifetime')); + + // Load last module and last online time + $result = SQL_QUERY_ESC("SELECT last_module, last_online FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__); + if (SQL_NUMROWS($result) == 1) { + // Load last module and online time + list($mod, $onl) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + // Maybe first login time? + if (empty($mod)) $mod = "login"; + + if (set_session("userid", $GLOBALS['userid'], $newl, COOKIE_PATH) && set_session("u_hash", get_session('u_hash'), $newl, COOKIE_PATH) && set_session("lifetime", bigintval(get_session('lifetime')), $newl, COOKIE_PATH)) { + // This will be displayed on welcome page! :-) + if (empty($LAST['module'])) { + $LAST['module'] = $mod; $LAST['online'] = $onl; + } // END - if + + // "what" not set? + if (empty($GLOBALS['what'])) { + // Fix it to default + $GLOBALS['what'] = "welcome"; + if (getConfig('index_home') != "") $GLOBALS['what'] = getConfig('index_home'); + } // END - if + + // Update last module / online time + $result = SQL_QUERY_ESC("UPDATE `"._MYSQL_PREFIX."_user_data` SET last_module='%s', last_online=UNIX_TIMESTAMP(), REMOTE_ADDR='%s' WHERE userid=%s LIMIT 1", + array($GLOBALS['what'], GET_REMOTE_ADDR(), $GLOBALS['userid']), __FILE__, __LINE__); + } + } else { + // Destroy session, we cannot update! + destroy_user_session(); + } +} + // ?> diff --git a/inc/libs/online_functions.php b/inc/libs/online_functions.php new file mode 100644 index 0000000000..02c0b41663 --- /dev/null +++ b/inc/libs/online_functions.php @@ -0,0 +1,131 @@ +"; + debug_print_backtrace(); + die(""); + } // END - if + + // Initialize variables + $uid = 0; $rid = 0; $MEM = "N"; $ADMIN = "N"; + + // Valid userid? + if ((!empty($GLOBALS['userid'])) && ($GLOBALS['userid'] > 0) && (IS_MEMBER())) { + // Is valid user + $uid = bigintval($GLOBALS['userid']); + $MEM = "Y"; + } // END - if + + if (IS_ADMIN()) { + // Is administrator + $ADMIN = "Y"; + } // END - if + + if (!empty($GLOBALS['refid'])) { + // Read cookie + $rid = bigintval($GLOBALS['refid']); + } // END - if + + // Now search for the user + $result = SQL_QUERY_ESC("SELECT timestamp FROM "._MYSQL_PREFIX."_online WHERE sid='%s' LIMIT 1", + array($PHPSESSID), __FILE__, __LINE__); + + // Entry found? + if (SQL_NUMROWS($result) == 1) { + // Then update it + SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_online SET +module='%s', +action='%s', +what='%s', +userid=%s, +refid=%s, +is_member='%s', +is_admin='%s', +timestamp=UNIX_TIMESTAMP(), +ip='%s' +WHERE sid='%s' LIMIT 1", + array( + $GLOBALS['module'], + $GLOBALS['action'], + $GLOBALS['what'], + $uid, + $rid, + $MEM, + $ADMIN, + GET_REMOTE_ADDR(), + $PHPSESSID + ), __FILE__, __LINE__ + ); + } else { + // No entry does exists so we simply add it! + SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_online (module, action, what, userid, refid, is_member, is_admin, timestamp, sid, ip) VALUES ('%s','%s','%s', %s, %s, '%s','%s', UNIX_TIMESTAMP(), '%s','%s')", + array( + $GLOBALS['module'], + $GLOBALS['action'], + $GLOBALS['what'], + $uid, + $rid, + $MEM, + $ADMIN, + $PHPSESSID, + GET_REMOTE_ADDR() + ), __FILE__, __LINE__ + ); + } + + // Free result + SQL_FREERESULT($result); + + // Purge old entries + $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_online WHERE timestamp <= (UNIX_TIMESTAMP() - %s)", + array(getConfig('online_timeout')), __FILE__, __LINE__); +} + +// +?> diff --git a/inc/modules/admin/what-extensions.php b/inc/modules/admin/what-extensions.php index d1d373d2ba..2446b3df90 100644 --- a/inc/modules/admin/what-extensions.php +++ b/inc/modules/admin/what-extensions.php @@ -165,9 +165,9 @@ if (!empty($_GET['reg_ext'])) { if (getConfig('verbose_sql') == "Y") { // Load SQL commands in remove mode - if (LOAD_EXTENSION($ext_name, "remove", "", true)) { + if (LOAD_EXTENSION($ext_name, "remove", "", true, $SQLs)) { // Generate extra table with loaded SQL commands - $VERBOSE_OUT = EXTENSION_VERBOSE_TABLE(); + $VERBOSE_OUT = EXTENSION_VERBOSE_TABLE($SQLs); } // END - if } // END - if diff --git a/inc/mysql-connect.php b/inc/mysql-connect.php index fc86b7eb4a..3d00c3ca46 100644 --- a/inc/mysql-connect.php +++ b/inc/mysql-connect.php @@ -173,6 +173,9 @@ if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndT // Session management require_once(PATH."inc/session.php"); + // Init filter system + INIT_FILTER_SYSTEM(); + // Run daily reset require_once(PATH."inc/check-reset.php"); @@ -195,11 +198,8 @@ if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndT $GLOBALS['what'] = ""; } - // Secure and validate user ID from cookie - UPDATE_LOGIN_DATA(); - - // Update online list - UPDATE_ONLINE_LIST($PHPSESSID, $GLOBALS['module'], $GLOBALS['action'], $GLOBALS['what']); + // Run the init filter chain + RUN_FILTER('init'); // Set default 'what' value //* DEBUG: */ echo "-".$GLOBALS['module']."/".$GLOBALS['what']."-
\n"; @@ -303,9 +303,6 @@ if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndT } // END - if } -// Init filter system -INIT_FILTER_SYSTEM(); - // Any fatal messages? if (!is_array($FATAL)) $FATAL = array(); if (((sizeof($FATAL) > 0) || (!empty($FATAL[0]))) && (isBooleanConstantAndTrue('mxchange_installed')) && (!defined('mxchange_installing')) && ($CSS != "1")) { diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index ec8d7ce688..45f3a8ec42 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -656,52 +656,6 @@ function IS_MEMBER() return $ret; } // -function UPDATE_LOGIN_DATA () { - global $LAST, $_CONFIG; - if (!is_array($LAST)) $LAST = array(); - - // Recheck if logged in - if (!IS_MEMBER()) return false; - - // Secure user ID - $GLOBALS['userid'] = bigintval(get_session('userid')); - - // Extract last online time (life) and how long is auto-login valid (time) - $newl = time() + bigintval(get_session('lifetime')); - - // Load last module and last online time - $result = SQL_QUERY_ESC("SELECT last_module, last_online FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { - // Load last module and online time - list($mod, $onl) = SQL_FETCHROW($result); - SQL_FREERESULT($result); - - // Maybe first login time? - if (empty($mod)) $mod = "login"; - - if (set_session("userid", $GLOBALS['userid'], $newl, COOKIE_PATH) && set_session("u_hash", get_session('u_hash'), $newl, COOKIE_PATH) && set_session("lifetime", bigintval(get_session('lifetime')), $newl, COOKIE_PATH)) { - // This will be displayed on welcome page! :-) - if (empty($LAST['module'])) { - $LAST['module'] = $mod; $LAST['online'] = $onl; - } // END - if - - // "what" not set? - if (empty($GLOBALS['what'])) { - // Fix it to default - $GLOBALS['what'] = "welcome"; - if (getConfig('index_home') != "") $GLOBALS['what'] = getConfig('index_home'); - } // END - if - - // Update last module / online time - $result = SQL_QUERY_ESC("UPDATE `"._MYSQL_PREFIX."_user_data` SET last_module='%s', last_online=UNIX_TIMESTAMP(), REMOTE_ADDR='%s' WHERE userid=%s LIMIT 1", - array($GLOBALS['what'], GET_REMOTE_ADDR(), $GLOBALS['userid']), __FILE__, __LINE__); - } - } else { - // Destroy session, we cannot update! - destroy_user_session(); - } -} -// function VALIDATE_MENU_ACTION ($MODE, $act, $wht, $UPDATE=false) { $ret = false; @@ -1329,75 +1283,7 @@ function UPDATE_REF_COUNTER ($uid) { UPDATE_REFBACK_TABLE($uid); } // END - if } -// Updates/extends the online list -function UPDATE_ONLINE_LIST($SID, $mod, $act, $wht) { - global $_CONFIG; - // Do not update online list when extension is deactivated - if (!EXT_IS_ACTIVE("online", true)) return; - - // Empty session? - if (empty($SID)) { - // This is invalid here! - print "Invalid session. Backtrace:
";
-		debug_print_backtrace();
-		die("
"); - } // END - if - - // Initialize variables - $uid = 0; $rid = 0; $MEM = "N"; $ADMIN = "N"; - - // Valid userid? - if ((!empty($GLOBALS['userid'])) && ($GLOBALS['userid'] > 0) && (IS_MEMBER())) { - // Is valid user - $uid = bigintval($GLOBALS['userid']); - $MEM = "Y"; - } // END - if - - if (IS_ADMIN()) { - // Is administrator - $ADMIN = "Y"; - } // END - if - - if (isSessionVariableSet('refid')) { - // Check cookie - if (get_session('refid') > 0) $rid = bigintval($GLOBALS['refid']); - } // END - if - - // Now search for the user - $result = SQL_QUERY_ESC("SELECT timestamp FROM "._MYSQL_PREFIX."_online -WHERE sid='%s' LIMIT 1", - array($SID), __FILE__, __LINE__); - - // Entry found? - if (SQL_NUMROWS($result) == 1) { - // Then update it - SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_online SET -module='%s', -action='%s', -what='%s', -userid=%s, -refid=%s, -is_member='%s', -is_admin='%s', -timestamp=UNIX_TIMESTAMP() -WHERE sid='%s' LIMIT 1", - array($mod, $act, $wht, $uid, $rid, $MEM, $ADMIN, $SID), __FILE__, __LINE__ - ); - } else { - // No entry does exists so we simply add it! - SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_online (module, action, what, userid, refid, is_member, is_admin, timestamp, sid, ip) VALUES ('%s','%s','%s', %s, %s, '%s','%s', UNIX_TIMESTAMP(), '%s','%s')", - array($mod, $act, $wht, $uid, $rid, $MEM, $ADMIN, $SID, GET_REMOTE_ADDR()), __FILE__, __LINE__ - ); - } - - // Free result - SQL_FREERESULT($result); - - // Purge old entries - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_online WHERE timestamp <= (UNIX_TIMESTAMP() - %s)", - array(getConfig('online_timeout')), __FILE__, __LINE__); -} // OBSOLETE: Sends out mail to all administrators function SEND_ADMIN_EMAILS ($subj, $msg) { // Load all admin email addresses @@ -1412,6 +1298,7 @@ function SEND_ADMIN_EMAILS ($subj, $msg) { // Really simple... ;-) } + // Get ID number from administrator's login name function GET_ADMIN_ID ($login) { global $cacheArray, $_CONFIG; diff --git a/install/menu-de.sql b/install/menu-de.sql index 840c381fe0..d3046bb56c 100644 --- a/install/menu-de.sql +++ b/install/menu-de.sql @@ -110,6 +110,5 @@ INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUE INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc','extensions','Erweiterungen','Erweiterungen installieren, updaten, sperren, löschen usw.','8'); INSERT INTO `mxchange_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','stats','Statistiken','7','Y','N'); -INSERT INTO `mxchange_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('online',NULL,'Jetzt Online','2','Y','N'); INSERT INTO `mxchange_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('admin',NULL,'Administrative Links','3','N','N'); INSERT INTO `mxchange_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('admin','admin','Zum Admin-Bereich','4','N','N'); diff --git a/install/menu-en.sql b/install/menu-en.sql index 840c381fe0..d3046bb56c 100644 --- a/install/menu-en.sql +++ b/install/menu-en.sql @@ -110,6 +110,5 @@ INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUE INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc','extensions','Erweiterungen','Erweiterungen installieren, updaten, sperren, löschen usw.','8'); INSERT INTO `mxchange_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','stats','Statistiken','7','Y','N'); -INSERT INTO `mxchange_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('online',NULL,'Jetzt Online','2','Y','N'); INSERT INTO `mxchange_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('admin',NULL,'Administrative Links','3','N','N'); INSERT INTO `mxchange_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('admin','admin','Zum Admin-Bereich','4','N','N'); diff --git a/templates/de/html/admin/admin_footer.tpl b/templates/de/html/admin/admin_footer.tpl index 6c67149e45..abe32fa3a1 100644 --- a/templates/de/html/admin/admin_footer.tpl +++ b/templates/de/html/admin/admin_footer.tpl @@ -1,9 +1,9 @@