From 086762b9606889fbda59d946b7b557d764ec2c0e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Thu, 29 Oct 2009 03:23:49 +0000 Subject: [PATCH] More filters created, TODOs.txt updated, config_mediadata fixed --- DOCS/TODOs.txt | 19 ++- inc/extensions/ext-other.php | 15 ++- inc/extensions/ext-uberwach.php | 11 +- inc/filter-functions.php | 9 ++ inc/filters.php | 117 ++++++++++++++++++ inc/footer.php | 39 +----- inc/functions.php | 85 ------------- inc/libs/other_functions.php | 9 ++ inc/libs/uberwach_functions.php | 13 +- inc/modules/guest/what-login.php | 2 +- inc/mysql-connect.php | 5 +- inc/mysql-manager.php | 7 -- install.php | 4 +- mailid_top.php | 8 +- .../de/html/admin/admin_config_mediadata.tpl | 4 +- templates/de/html/page_footer.tpl | 1 + 16 files changed, 189 insertions(+), 159 deletions(-) diff --git a/DOCS/TODOs.txt b/DOCS/TODOs.txt index 779093bcdf..96ecd6353a 100644 --- a/DOCS/TODOs.txt +++ b/DOCS/TODOs.txt @@ -15,7 +15,6 @@ ./inc/extensions/ext-yoomedia.php:55:// @TODO Only deprecated when 'network' is ready! setExtensionDeprecated('Y'); ./inc/extensions-functions.php:370:// @TODO Change from ext_id to ext_name (not just even the variable! ;-) ) ./inc/extensions-functions.php:481: // @TODO Extension is loaded, what next? -./inc/footer.php:47: // @TODO Rewrite these all into filters ./inc/functions.php:1346: // @TODO Remove this if() block if all is working fine ./inc/functions.php:222: // @TODO Remove this sanity-check if all is fine ./inc/functions.php:225: // @TODO Try to rewrite all $DATA to $content @@ -166,9 +165,9 @@ ./inc/modules/member/what-unconfirmed.php:132: // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() ./inc/modules/order.php:75: // @TODO Unused: 2,4 ./inc/monthly/monthly_bonus.php:70: // @TODO Rewrite this to a filter -./inc/mysql-manager.php:1599: // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() -./inc/mysql-manager.php:1807: // @TODO Rewrite this to $content = SQL_FETCHARRAY() -./inc/mysql-manager.php:2123: // @TODO This can be somehow rewritten +./inc/mysql-manager.php:1592: // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() +./inc/mysql-manager.php:1800: // @TODO Rewrite this to $content = SQL_FETCHARRAY() +./inc/mysql-manager.php:2116: // @TODO This can be somehow rewritten ./inc/mysql-manager.php:220: // @TODO Nothing helped??? ./inc/mysql-manager.php:255: // @TODO Rewrite this to a filter ./inc/mysql-manager.php:576: // @TODO Try to rewrite this to one or more functions @@ -181,12 +180,12 @@ ./mailid.php:135: // @TODO Rewrite this to a filter ./mailid.php:215: // @TODO Rewrite this to a dynamic include or so ./mailid.php:94: // @TODO Rewrite this to a filter -./mailid_top.php:135: // @TODO Rewrite this to a filter -./mailid_top.php:182: // @TODO Rewrite this to a filter -./mailid_top.php:189: // @TODO Rewrite this to a filter -./mailid_top.php:225: // @TODO Rewrite these blocks to filter -./mailid_top.php:260: // @TODO Try to rewrite the following unset() -./mailid_top.php:92: // @TODO Rewrite this to a filter +./mailid_top.php:139: // @TODO Rewrite this to a filter +./mailid_top.php:186: // @TODO Rewrite this to a filter +./mailid_top.php:193: // @TODO Rewrite this to a filter +./mailid_top.php:229: // @TODO Rewrite these blocks to filter +./mailid_top.php:264: // @TODO Try to rewrite the following unset() +./mailid_top.php:96: // @TODO Rewrite this to a filter ./view.php:72: // @TODO No banner found, output some default banner ### ### DEPRECATION FOLLOWS: ### ### ./inc/functions.php:249: // @DEPRECATED Try to rewrite the if() condition diff --git a/inc/extensions/ext-other.php b/inc/extensions/ext-other.php index fd0c94b00a..5d0472bdad 100644 --- a/inc/extensions/ext-other.php +++ b/inc/extensions/ext-other.php @@ -42,10 +42,10 @@ if (!defined('__SECURITY')) { } // END - if // Version number -setThisExtensionVersion('0.2.3'); +setThisExtensionVersion('0.2.4'); // Version history array (add more with , '0.1.0' and so on) -setExtensionVersionHistory(array('0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3')); +setExtensionVersionHistory(array('0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4')); // Keep this extension always active! setExtensionAlwaysActive('Y'); @@ -59,6 +59,9 @@ switch (getExtensionMode()) { case 'remove': // Do stuff when removing extension // SQL commands to run addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='config_other'"); + + // Unregister filter + unregisterFilter('page_footer', 'DISPLAY_DEBUG_SQL', false, true, getExtensionDryRun()); break; case 'activate': // Do stuff when admin activates this extension @@ -210,6 +213,14 @@ switch (getExtensionMode()) { // Update notes (these will be set as task text!) setExtensionUpdateNotes("Fehlende Konfiguration hinzugefügt."); break; + + case '0.2.4': // SQL queries for v0.2.4 + // Register filter + registerFilter('page_footer', 'DISPLAY_DEBUG_SQL', false, true, getExtensionDryRun()); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Filter zum Anzeigen (Debug) von ausgeführten SQL-Anweisungen hinzugefügt."); + break; } break; diff --git a/inc/extensions/ext-uberwach.php b/inc/extensions/ext-uberwach.php index 4d25dc9836..ed1ea89b50 100644 --- a/inc/extensions/ext-uberwach.php +++ b/inc/extensions/ext-uberwach.php @@ -42,10 +42,10 @@ if (!defined('__SECURITY')) { } // Version number -setThisExtensionVersion('0.0'); +setThisExtensionVersion('0.0.1'); // Version history array (add more with , '0.1.0' and so on) -setExtensionVersionHistory(array('0.0')); +setExtensionVersionHistory(array('0.0', '0.0.1')); switch (getExtensionMode()) { case 'register': // Do stuff when installation is running (modules.php?module=admin is called) @@ -53,7 +53,8 @@ switch (getExtensionMode()) { break; case 'remove': // Do stuff when removing extension - // SQL commands to run + // Unregister filter + unregisterFilter('page_footer', 'DISPLAY_UBERWACH_SNIPPET', false, true, getExtensionDryRun()); break; case 'activate': // Do stuff when admin activates this extension @@ -67,10 +68,10 @@ switch (getExtensionMode()) { case 'update': // Update an extension switch (getCurrentExtensionVersion()) { case '0.0.1': // SQL queries for v0.0.1 - addExtensionSql(''); + registerFilter('page_footer', 'DISPLAY_UBERWACH_SNIPPET', false, true, getExtensionDryRun()); // Update notes (these will be set as task text!) - setExtensionUpdateNotes(''); + setExtensionUpdateNotes("Filter zum Anzeigen des Snippets hinzugefügt"); break; } // END - switch break; diff --git a/inc/filter-functions.php b/inc/filter-functions.php index d76cad43ed..7c88b79ca9 100644 --- a/inc/filter-functions.php +++ b/inc/filter-functions.php @@ -127,6 +127,7 @@ ORDER BY registerFilter('init', 'TRIGGER_SENDING_POOL'); registerFilter('init', 'DETERMINE_USERNAME'); registerFilter('init', 'DETERMINE_WHAT_ACTION'); + registerFilter('init', 'COUNT_MODULE'); registerFilter('init', 'UPDATE_LOGIN_DATA'); registerFilter('init', 'ACTIVATE_EXCHANGE'); @@ -174,6 +175,14 @@ ORDER BY // Exclude some users registerFilter('exclude_users', 'HTML_INCLUDE_USERS'); + + // Handling of fatal errors + registerFilter('handle_fatal_errors', 'HANDLE_FATAL_ERRORS'); + + // Page footer filters + registerFilter('page_footer', 'HANDLE_FATAL_ERRORS'); + registerFilter('page_footer', 'DISPLAY_COPYRIGHT'); + registerFilter('page_footer', 'DISPLAY_PARSING_TIME'); } // "Registers" a new filter function diff --git a/inc/filters.php b/inc/filters.php index 5b007f3d21..a91dee3e0f 100644 --- a/inc/filters.php +++ b/inc/filters.php @@ -696,5 +696,122 @@ function FILTER_INIT_RANDOM_NUMBER () { setConfigEntry('CACHE_BUSTER', getConfig('RAND_NUMBER')); } +// Update module counter +function FILTER_COUNT_MODULE () { + // Do count all other modules but not accesses on CSS file css.php! + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `clicks`=`clicks`+1 WHERE `module`='%s' LIMIT 1", + array(getModule()), __FUNCTION__, __LINE__); +} + +// Handles fatal errors +function FILTER_HANDLE_FATAL_ERRORS () { + // Do we have errors to handle and right output mode? + if ((getTotalFatalErrors() == 0) || (getOutputMode() != 0)) { + // Abort executing here + return false; + } // END - if + + // Set content type + setContentType('text/html'); + + // Load config here + loadIncludeOnce('inc/load_config.php'); + + // Set unset variable + if (empty($check)) $check = ''; + + // Default is none + $content = ''; + + // Installation phase or regular mode? + if ((isInstallationPhase())) { + // While we are installing ouput other header than while it is installed... :-) + $OUT = ''; + foreach (getFatalArray() as $key => $value) { + // Prepare content for the template + $content = array( + 'key' => ($key + 1), + 'value' => $value + ); + + // Load row template + $OUT .= loadTemplate('install_fatal_row', true, $content); + } + + // Load main template + $content = loadTemplate('install_fatal_table', true, $OUT); + } elseif (isInstalled()) { + // Display all runtime fatal errors + $OUT = ''; + foreach (getFatalArray() as $key => $value) { + // Prepare content for the template + $content = array( + 'key' => ($key + 1), + 'value' => $value + ); + + // Load row template + $OUT .= loadTemplate('runtime_fatal_row', true, $content); + } + + // Load main template + $content = loadTemplate('runtime_fatal_table', true, $OUT); + } + + // Message to regular users (non-admin) + $CORR = getMessage('FATAL_REPORT_ERRORS'); + + // PHP warnings fixed + if ($check == 'done') { + if (isAdmin()) $CORR = getMessage('FATAL_CORRECT_ERRORS'); + } // END - if + + // Remember all in array + $content = array( + 'rows' => $content, + 'corr' => $CORR + ); + + // Load footer + loadIncludeOnce('inc/header.php'); + + // Load main template + loadTemplate('fatal_errors', false, $content); + + // Delete all to prevent double-display + initFatalMessages(); + + // Load footer + loadIncludeOnce('inc/footer.php'); + + // Abort here + shutdown(); +} + +// Filter for displaying copyright line +function FILTER_DISPLAY_COPYRIGHT () { + // Shall we display the copyright notice? + if ((!isGetRequestElementSet('frame')) && (basename($_SERVER['PHP_SELF']) != 'mailid_top.php') && ((getConfig('WRITE_FOOTER') == 'Y') || (isInstalling())) && ($GLOBALS['header_sent'] == 2)) { + // Backlink enabled? + if ((getConfig('ENABLE_BACKLINK') == 'Y') || (isInstalling())) { + // Copyright with backlink, thanks! :-) + loadTemplate('copyright_backlink'); + } else { + // No backlink in Copyright note + loadTemplate('copyright'); + } + } // END - if +} + +// Filter for displaying parsing time +function FILTER_DISPLAY_PARSING_TIME () { + // Shall we display the parsing time and number of queries? + // 1234 5 54 4 5 5 4 4 5 543 3 4432 2 33 2 2 21 + if ((((isExtensionInstalledAndNewer('sql_patches', '0.4.1')) && (getConfig('show_timings') == 'Y') && (!isGetRequestElementSet('frame'))) || (isInstallationPhase())) && (getOutputMode() == 0) && ($GLOBALS['header_sent'] == 2)) { + // Then display it here + displayParsingTime(); + } // END - if +} + // [EOF] ?> diff --git a/inc/footer.php b/inc/footer.php index d4f6a4d1d7..9907b0608f 100644 --- a/inc/footer.php +++ b/inc/footer.php @@ -44,46 +44,11 @@ if (!defined('__SECURITY')) { // Footer disabled or already sent? // 1234 5 54 45 5 5 543 3 321 if ((((!isset($GLOBALS['footer_sent'])) || (($GLOBALS['footer_sent'] != 1) && ($GLOBALS['footer_sent'] != 2))) && (getOutputMode() != 1))) { - // @TODO Rewrite these all into filters - // Handle fatal errors - handleFatalErrors(); - - // Shall we display the copyright notice? - if ((!isGetRequestElementSet('frame')) && (basename($_SERVER['PHP_SELF']) != 'mailid_top.php') && ((getConfig('WRITE_FOOTER') == 'Y') || (isInstalling())) && ($GLOBALS['header_sent'] == 2)) { - // Backlink enabled? - if ((getConfig('ENABLE_BACKLINK') == 'Y') || (isInstalling())) { - // Copyright with backlink, thanks! :-) - loadTemplate('copyright_backlink'); - } else { - // No backlink in Copyright note - loadTemplate('copyright'); - } - } // END - if - - // Shall we display the parsing time and number of queries? - // 1234 5 54 4 5 5 4 4 5 543 3 4432 2 33 2 2 21 - if ((((isExtensionInstalledAndNewer('sql_patches', '0.4.1')) && (getConfig('show_timings') == 'Y') && (!isGetRequestElementSet('frame'))) || (isInstallationPhase())) && (getOutputMode() == 0) && ($GLOBALS['header_sent'] == 2)) { - // Then display it here - displayParsingTime(); - } // END - if - - // Shall we display SQL queries? - if ((isAdmin()) && (isExtensionInstalledAndNewer('other', '0.2.2')) && (getConfig('display_debug_sqls') == 'Y') && (!isGetRequestElementSet('frame')) && ($GLOBALS['header_sent'] == 2)) { - // Then display it here - displayDebugSqls(); - } // END - if - - // Shall we include the uberwach snippet? - if ((!isGetRequestElementSet('frame')) && (isExtensionActive('uberwach')) && (getModule() != 'admin') && ($GLOBALS['header_sent'] == 2)) { - // Then display it here - loadUberwachSnippet(); - } // END - if + // Run the filter, sweet huh? + runFilterChain('page_footer'); // Load page footer loadTemplate('page_footer'); - - // And the last closing HTML tag - outputHtml(''); } // END - if // Footer has been reached diff --git a/inc/functions.php b/inc/functions.php index c7064dccf7..e50b598ef3 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -3521,91 +3521,6 @@ function getMessageFromIndexedArray ($message, $pos, $array) { return $ret; } -// Handles fatal errors -function handleFatalErrors () { - // Do we have errors to handle and right output mode? - if ((getTotalFatalErrors() == 0) || (getOutputMode() != 0)) { - // Abort executing here - return false; - } // END - if - - // Set content type - setContentType('text/html'); - - // Load config here - loadIncludeOnce('inc/load_config.php'); - - // Set unset variable - if (empty($check)) $check = ''; - - // Default is none - $content = ''; - - // Installation phase or regular mode? - if ((isInstallationPhase())) { - // While we are installing ouput other header than while it is installed... :-) - $OUT = ''; - foreach (getFatalArray() as $key => $value) { - // Prepare content for the template - $content = array( - 'key' => ($key + 1), - 'value' => $value - ); - - // Load row template - $OUT .= loadTemplate('install_fatal_row', true, $content); - } - - // Load main template - $content = loadTemplate('install_fatal_table', true, $OUT); - } elseif (isInstalled()) { - // Display all runtime fatal errors - $OUT = ''; - foreach (getFatalArray() as $key => $value) { - // Prepare content for the template - $content = array( - 'key' => ($key + 1), - 'value' => $value - ); - - // Load row template - $OUT .= loadTemplate('runtime_fatal_row', true, $content); - } - - // Load main template - $content = loadTemplate('runtime_fatal_table', true, $OUT); - } - - // Message to regular users (non-admin) - $CORR = getMessage('FATAL_REPORT_ERRORS'); - - // PHP warnings fixed - if ($check == 'done') { - if (isAdmin()) $CORR = getMessage('FATAL_CORRECT_ERRORS'); - } // END - if - - // Remember all in array - $content = array( - 'rows' => $content, - 'corr' => $CORR - ); - - // Load footer - loadIncludeOnce('inc/header.php'); - - // Load main template - loadTemplate('fatal_errors', false, $content); - - // Delete all to prevent double-display - initFatalMessages(); - - // Load footer - loadIncludeOnce('inc/footer.php'); - - // Abort here - shutdown(); -} - // Print code with line numbers function linenumberCode ($code) { if (!is_array($code)) $codeE = explode("\n", $code); else $codeE = $code; diff --git a/inc/libs/other_functions.php b/inc/libs/other_functions.php index 4cc7b7cf03..cc518c0718 100644 --- a/inc/libs/other_functions.php +++ b/inc/libs/other_functions.php @@ -65,5 +65,14 @@ function displayDebugSqls () { loadTemplate('admin_other_sqls', false, $OUT); } +// Filter for debugging SQLs +function FILTER_DISPLAY_DEBUG_SQL () { + // Shall we display SQL queries? + if ((isAdmin()) && (isExtensionInstalledAndNewer('other', '0.2.2')) && (getConfig('display_debug_sqls') == 'Y') && (!isGetRequestElementSet('frame')) && ($GLOBALS['header_sent'] == 2)) { + // Then display it here + displayDebugSqls(); + } // END - if +} + // [EOF] ?> diff --git a/inc/libs/uberwach_functions.php b/inc/libs/uberwach_functions.php index 8539e5c8b9..8f2a8e789a 100644 --- a/inc/libs/uberwach_functions.php +++ b/inc/libs/uberwach_functions.php @@ -39,7 +39,7 @@ // Some security stuff... if (!defined('__SECURITY')) { die(); -} +} // END - if // Loads the snippet for the uberwach action function loadUberwachSnippet () { @@ -47,5 +47,14 @@ function loadUberwachSnippet () { loadTemplate('uberwach_snippet'); } -// +// Filter for displaying uberwach snippet +function FILTER_DISPLAY_UBERWACH_SNIPPET () { + // Shall we include the uberwach snippet? + if ((!isGetRequestElementSet('frame')) && (isExtensionActive('uberwach')) && (getModule() != 'admin') && ($GLOBALS['header_sent'] == 2)) { + // Then display it here + loadUberwachSnippet(); + } // END - if +} + +// [EOF] ?> diff --git a/inc/modules/guest/what-login.php b/inc/modules/guest/what-login.php index 03c05a6a87..b8bc4b148b 100644 --- a/inc/modules/guest/what-login.php +++ b/inc/modules/guest/what-login.php @@ -133,7 +133,7 @@ if (!empty($URL)) { // URL was constructed if (getTotalFatalErrors() > 0) { // Handle fatal errors - handleFatalErrors(); + runFilterChain('handle_fatal_errors'); } else { // Load URL redirectToUrl($URL); diff --git a/inc/mysql-connect.php b/inc/mysql-connect.php index e0914d2dd2..d29d479a65 100644 --- a/inc/mysql-connect.php +++ b/inc/mysql-connect.php @@ -115,9 +115,6 @@ if ((!isInstalling()) && (!isInstallationPhase())) { // Check module for permissions $checkModule = checkModulePermissions(); - // Cound module here - countModuleHit(getModule()); - // Admin module should be accessable by guests to login if ((getModule() == 'admin') && ($checkModule == 'admin_only')) { // This is fine and can be ignored @@ -183,7 +180,7 @@ if ((!isInstalling()) && (!isInstallationPhase())) { } // Handle fatal errors -handleFatalErrors(); +runFilterChain('handle_fatal_errors'); // [EOF] ?> diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index a82071dc9d..e377a6b3c1 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -939,13 +939,6 @@ function sendModeMails ($mod, $modes) { loadTemplate('admin_settings_saved', false, $content); } -// Update module counter -function countModuleHit($mod) { - // Do count all other modules but not accesses on CSS file css.php! - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `clicks`=`clicks`+1 WHERE `module`='%s' LIMIT 1", - array($mod), __FUNCTION__, __LINE__); -} - // Get action value from mode (admin/guest/member) and what-value function getModeAction ($mode, $what) { // Init status diff --git a/install.php b/install.php index 79e5d2f6d0..2add71b7be 100644 --- a/install.php +++ b/install.php @@ -88,13 +88,13 @@ if ((isInstalled()) && (getRequestElement('page' != 'finished'))) { loadIncludeOnce('inc/header.php'); // Handle fatal errors -handleFatalErrors(); +runFilterChain('handle_fatal_errors'); // Here start's our installtion stuff loadIncludeOnce('inc/install-inc.php'); // Handle fatal errors again -handleFatalErrors(); +runFilterChain('handle_fatal_errors'); // Load main installation table loadTemplate('install_main', false, $GLOBALS['install_content']); diff --git a/mailid_top.php b/mailid_top.php index dc8fb61b85..c5fab11c92 100644 --- a/mailid_top.php +++ b/mailid_top.php @@ -55,20 +55,21 @@ setContentType('text/html'); // Is the extension active redirectOnUninstalledExtension('mailid'); -// Secure all data +// Init variables $url_userid = 0; $url_bid = 0; $url_mid = 0; $code = 0; $mode = ''; +// Secure all data if (isGetRequestElementSet('userid')) $url_userid = bigintval(getRequestElement('userid')); if (isGetRequestElementSet('mailid')) $url_mid = bigintval(getRequestElement('mailid')); if (isGetRequestElementSet('bonusid')) $url_bid = bigintval(getRequestElement('bonusid')); if (isGetRequestElementSet('code')) $code = bigintval(getRequestElement('code')); if (isGetRequestElementSet('mode')) $mode = getRequestElement('mode'); -// 01 1 12 2 2 21 1 22 10 +// 01 1 12 2 2 21 1 22 10 if (($url_userid) > 0 && (($url_mid > 0) || ($url_bid > 0)) && (getTotalFatalErrors() == 0)) { // No image? Then output header if ($mode != 'img') loadIncludeOnce('inc/header.php'); @@ -89,6 +90,9 @@ if (($url_userid) > 0 && (($url_mid > 0) || ($url_bid > 0)) && (getTotalFatalErr list($lid, $ltype) = SQL_FETCHROW($result); SQL_FREERESULT($result); + // Init result here with invalid to avoid possible missing variable + $result_mailid = false; + // @TODO Rewrite this to a filter switch ($ltype) { case 'NORMAL': diff --git a/templates/de/html/admin/admin_config_mediadata.tpl b/templates/de/html/admin/admin_config_mediadata.tpl index 0d30c410a1..df6714ad9e 100644 --- a/templates/de/html/admin/admin_config_mediadata.tpl +++ b/templates/de/html/admin/admin_config_mediadata.tpl @@ -13,7 +13,7 @@   {--ADMIN_MEDIADATA_MT_START--}:   - {?__MT_START?} + $content[mt_start]   @@ -24,7 +24,7 @@ {--ADMIN_MEDIADATA_MT_STAGE--}:   + class="admin_normal" value="{?mt_stage?}" size="6" maxlength="20" />   diff --git a/templates/de/html/page_footer.tpl b/templates/de/html/page_footer.tpl index dfc2e8ac88..9943ff0f85 100644 --- a/templates/de/html/page_footer.tpl +++ b/templates/de/html/page_footer.tpl @@ -1,2 +1,3 @@ + -- 2.39.2