X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-theme_edit.php;h=e1e60490fe0c846ca50d7c47b8c3ef4a07537380;hp=9fc626ce0518409610668348505c7fd6534102af;hb=49acdb7a7adbcf25a8e8683b5581bfcec72b23bd;hpb=e1653405d28923c78b2e292125306ccf61138f24 diff --git a/inc/modules/admin/what-theme_edit.php b/inc/modules/admin/what-theme_edit.php index 9fc626ce05..e1e60490fe 100644 --- a/inc/modules/admin/what-theme_edit.php +++ b/inc/modules/admin/what-theme_edit.php @@ -1,7 +1,7 @@ 0) -{ - $OUT = ""; - foreach ($_POST['sel'] as $id=>$sel) - { - $SQL = ""; +if (ifPostContainsSelections()) { + $OUT = ''; + foreach (postRequestElement('sel') as $id => $sel) { + $sql = ''; // Shall I de-/activate or delete themes? - if (isset($_POST['status'])) - { + if (isPostRequestElementSet('status')) { // Change status - if ($_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"; + if (postRequestElement('active', $id) == 'Y') { + $sql = "UPDATE `{?_MYSQL_PREFIX?}_themes` SET `theme_active`='N' WHERE `id`=%s LIMIT 1"; + } else { + $sql = "UPDATE `{?_MYSQL_PREFIX?}_themes` SET `theme_active`='Y' WHERE `id`=%s LIMIT 1"; } - $OUT = ADMIN_THEMES_UPDATED; - } - elseif (isset($_POST['del'])) - { + $OUT = '{--ADMIN_THEMES_UPDATED--}'; + } elseif (isFormSent('delete')) { // 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`=%s LIMIT 1"; + $OUT = '{--ADMIN_THEMES_DELETED--}'; } // Run SQL command? - if (!empty($SQL)) $result = SQL_QUERY($SQL, __FILE__, __LINE__); - } + if (!empty($sql)) { + // Run it + $result = sqlQueryEscaped($sql, array(bigintval($id)), __FILE__, __LINE__); + + // Rebuild cache + rebuildCache('themes', 'themes'); + } // END - if + } // END - foreach // Output generated? - if (empty($OUT)) ADMIN_THEME_NO_OUTPUT; -} - elseif (!empty($_GET['default_theme'])) -{ + if (empty($OUT)) $OUT = '{--ADMIN_THEME_NO_OUTPUT--}'; +} elseif (isGetRequestElementSet('default_theme')) { + // Escape string from input + $postData['default_theme'] = getRequestElement('default_theme'); + + // Set session + setMailerTheme($postData['default_theme']); + + // Set it in config and current theme as well + setConfigEntry('default_theme', $postData['default_theme']); + // Save theme - $POST['default_theme'] = $_GET['default_theme']; - @setcookie("mxchange_theme", $POST['default_theme'], (time() + 60*60*24*365), COOKIE_PATH); - $_COOKIE['mxchange_theme'] = $POST['default_theme']; - ADMIN_SAVE_SETTINGS($POST, "_config", "config='0'"); + adminSaveSettings($postData); } +// Init rows +$OUT = ''; + // Switch to testing mode -$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)) - { - // Load theme in test mode - require(PATH."theme/".$unix."/theme.php"); - - // Is the loaded theme name != current theme name? - $LINK = $unix; - if ($unix != $CurrTheme) $LINK = "".$unix.""; - - // Prepare data for the row template - $content = array( - 'sw' => $SW, - 'id' => $id, - 'active' => $active, - 'link' => $LINK, - 'name' => $THEME_NAME, - 'is_act' => TRANSLATE_YESNO($active), - 'email' => "".$THEME_AUTHOR."", - 'url_link' => DEREFERER($THEME_URL), - 'url_title' => $THEME_URL, - 'ver' => $ver, - ); - - // Load row template and switch color - $OUT .= LOAD_TEMPLATE("admin_theme_edit_row", true, $content); - $SW = 3 - $SW; - } +$GLOBALS['theme_mode'] = 'test'; + +$result = sqlQuery("SELECT + `id`, + `theme_path`, + `theme_active`, + `theme_ver` AS `theme_version`, + `theme_name` +FROM + `{?_MYSQL_PREFIX?}_themes` +ORDER BY + `theme_path` ASC", __FILE__, __LINE__); + +if (!ifSqlHasZeroNumRows($result)) { + while ($content = sqlFetchArray($result)) { + // Is the theme readable? + if (isThemeReadable($content['theme_path'])) { + // Load theme in test mode + loadInclude(sprintf('theme/%s/theme.php', $content['theme_path'])); + + // Copy data from theme to content + $content['theme_url'] = $GLOBALS['theme_data']['url']; + + // Is the loaded theme name != current theme name? + $content['link'] = $content['theme_path']; + if ($content['theme_path'] != getCurrentTheme()) { + $content['link'] = '' . $content['theme_path'] . ''; + } // END - if + + // Prepare data for the row template + $content['email'] = ' + ' . displayMessage('{--ADMIN_NO_THEMES_FOUND--}', TRUE) . ' + +'; } - else -{ - // No themes found??? - $OUT .= " - - ".LOAD_TEMPLATE("admin_settings_saved", true, ADMIN_NO_THEMES_FOUND)." - -\n"; -} - -define('__THEME_LIST', $OUT); // Load template -LOAD_TEMPLATE("admin_theme_edit"); +loadTemplate('admin_edit_theme', FALSE, $OUT); -// +// [EOF] ?>