X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-theme_edit.php;h=30aa9d12e2a19179d3268d66be0b663aed2887e1;hp=f3557895ac852b753d9430adeef9cda149784464;hb=b8c86fa12322603c24a88ea2b0fd3dbeba612752;hpb=3299d3eba008bfd2450d0f19d072126f98c78e1e diff --git a/inc/modules/admin/what-theme_edit.php b/inc/modules/admin/what-theme_edit.php index f3557895ac..30aa9d12e2 100644 --- a/inc/modules/admin/what-theme_edit.php +++ b/inc/modules/admin/what-theme_edit.php @@ -32,50 +32,61 @@ ************************************************************************/ // Some security stuff... -if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!is_admin())) { +if ((!defined('__SECURITY')) || (!IS_ADMIN())) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); +} elseif (!EXT_IS_ACTIVE("theme")) { + addFatalMessage(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "theme"); + return; } // Add description as navigation point -ADD_DESCR("admin", basename(__FILE__)); - -global $CurrTheme; +ADD_DESCR("admin", __FILE__); // Check for selected themes $SEL = 0; -if (!empty($_POST['sel'])) $SEL = SELECTION_COUNT($_POST['sel']); +if (REQUEST_ISSET_POST(('sel'))) $SEL = SELECTION_COUNT(REQUEST_POST('sel')); if ($SEL > 0) { $OUT = ""; - foreach ($_POST['sel'] as $id=>$sel) { + foreach (REQUEST_POST('sel') as $id => $sel) { $SQL = ""; // Shall I de-/activate or delete themes? - if (isset($_POST['status'])) { + if (REQUEST_ISSET_POST(('status'))) { // Change status - if ($_POST['active'][$id] == 'Y') { - $SQL = "UPDATE "._MYSQL_PREFIX."_themes SET theme_active='N' WHERE id='".$id."' LIMIT 1"; + if (REQUEST_POST('active', $id) == "Y") { + $SQL = "UPDATE `{!_MYSQL_PREFIX!}_themes` SET theme_active='N' WHERE id='".$id."' LIMIT 1"; } else { - $SQL = "UPDATE "._MYSQL_PREFIX."_themes SET theme_active='Y' WHERE id='".$id."' LIMIT 1"; + $SQL = "UPDATE `{!_MYSQL_PREFIX!}_themes` SET theme_active='Y' WHERE id='".$id."' LIMIT 1"; } - $OUT = ADMIN_THEMES_UPDATED; - } elseif (isset($_POST['del'])) { + $OUT = getMessage('ADMIN_THEMES_UPDATED'); + } elseif (REQUEST_ISSET_POST(('del'))) { // Delete themes - $SQL = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_themes WHERE id='".$id."' LIMIT 1"; - $OUT = ADMIN_THEMES_DELETED; + $SQL = "DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_themes` WHERE id='".$id."' LIMIT 1"; + $OUT = getMessage('ADMIN_THEMES_DELETED'); } // Run SQL command? - if (!empty($SQL)) $result = SQL_QUERY($SQL, __FILE__, __LINE__); + if (!empty($SQL)) { + // Run it + $result = SQL_QUERY($SQL, __FILE__, __LINE__); + + // Rebuild cache + REBUILD_CACHE("themes", "them"); + } // END - if } // Output generated? - if (empty($OUT)) ADMIN_THEME_NO_OUTPUT; -} elseif (!empty($_GET['default_theme'])) { + if (empty($OUT)) $OUT = getMessage('ADMIN_THEME_NO_OUTPUT'); +} elseif (REQUEST_ISSET_GET(('default_theme'))) { // Escape string from input - $POST['default_theme'] = SQL_ESCAPE($_GET['default_theme']); + $POST['default_theme'] = REQUEST_GET(('default_theme')); // Set session - set_session("mxchange_theme", $POST['default_theme']); + set_session('mxchange_theme', $POST['default_theme']); + + // Set it in config and current theme as well + $GLOBALS['curr_theme'] = $POST['default_theme']; + setConfigEntry('default_theme', $POST['default_theme']); // Save theme ADMIN_SAVE_SETTINGS($POST); @@ -86,17 +97,20 @@ $THEME_MODE = "test"; // Generate output lines for the template $OUT = ""; $SW = 2; -$result = SQL_QUERY("SELECT id, theme_path, theme_active, theme_ver FROM "._MYSQL_PREFIX."_themes ORDER BY theme_path", __FILE__, __LINE__); -if (SQL_NUMROWS($result) > 0) -{ - while(list($id, $unix, $active, $ver) = SQL_FETCHROW($result)) - { +$result = SQL_QUERY("SELECT id, theme_path, theme_active, theme_ver, theme_name FROM `{!_MYSQL_PREFIX!}_themes` ORDER BY theme_path", __FILE__, __LINE__); +if (SQL_NUMROWS($result) > 0) { + while (list($id, $unix, $active, $ver, $name) = SQL_FETCHROW($result)) { + // Construct IFN + $INC = sprintf("theme/%s/theme.php", + $unix + ); + // Load theme in test mode - require(PATH."theme/".$unix."/theme.php"); + LOAD_INC($INC); // Is the loaded theme name != current theme name? $LINK = $unix; - if ($unix != $CurrTheme) $LINK = "".$unix.""; + if ($unix != GET_CURR_THEME()) $LINK = "".$unix.""; // Prepare data for the row template $content = array( @@ -104,9 +118,9 @@ if (SQL_NUMROWS($result) > 0) 'id' => $id, 'active' => $active, 'link' => $LINK, - 'name' => $THEME_NAME, + 'name' => $name, 'is_act' => TRANSLATE_YESNO($active), - 'email' => "".$THEME_AUTHOR."", + 'email' => "".$THEME_AUTHOR."", 'url_link' => DEREFERER($THEME_URL), 'url_title' => $THEME_URL, 'ver' => $ver, @@ -121,11 +135,11 @@ if (SQL_NUMROWS($result) > 0) SQL_FREERESULT($result); } else { // No themes found??? - $OUT .= " - - ".LOAD_TEMPLATE("admin_settings_saved", true, ADMIN_NO_THEMES_FOUND)." - -\n"; + $OUT .= " + + ".LOAD_TEMPLATE("admin_settings_saved", true, getMessage('ADMIN_NO_THEMES_FOUND'))." + +\n"; } define('__THEME_LIST', $OUT);