X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ftheme-manager.php;h=d03bbfa7c265e422b21482cb431be4ecf17f9b60;hp=d591bbbfcd76967a8e51d270b1afa5f332df1e4b;hb=49654afc3fc819c4a9e65be2d870782f5e33e60d;hpb=58b29a924c48e7c1ce38c435c92e541b53984c56 diff --git a/inc/theme-manager.php b/inc/theme-manager.php index d591bbbfcd..d03bbfa7c2 100644 --- a/inc/theme-manager.php +++ b/inc/theme-manager.php @@ -38,7 +38,10 @@ if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) require($INC); } -// +// Always make sure the session management is initialized first +require_once(PATH."inc/session.php"); + +// Get current theme name function GET_CURR_THEME() { global $INC_POOL, $_CONFIG, $CSS; @@ -48,15 +51,15 @@ function GET_CURR_THEME() { // Load default theme if not empty from configuration if (!empty($_CONFIG['default_theme'])) $ret = $_CONFIG['default_theme']; - if (empty($_SESSION['mxchange_theme'])) { + if (!isSessionVariableSet('mxchange_theme')) { // Set default theme - set_session("mxchange_theme", $ret, (time() + 60*60*24*365), COOKIE_PATH); - } elseif ((!empty($_SESSION['mxchange_theme'])) && (GET_EXT_VERSION("sql_patches") >= "0.1.4")) { + set_session("mxchange_theme", $ret); + } elseif ((isSessionVariableSet('mxchange_theme')) && (GET_EXT_VERSION("sql_patches") >= "0.1.4")) { // Get theme from cookie - $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_themes WHERE theme_path='%s' LIMIT 1", array($_SESSION['mxchange_theme']), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_themes WHERE theme_path='%s' LIMIT 1", array(get_session('mxchange_theme')), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Design is valid! - $ret = $_SESSION['mxchange_theme']; + $ret = get_session('mxchange_theme'); } // Free memory @@ -68,19 +71,17 @@ function GET_CURR_THEME() { // Installation mode active if ((!empty($_GET['theme'])) && (file_exists($theme)) && (is_readable($theme))) { // Set cookie from URL data - set_session("mxchange_theme", $_GET['theme'], (time() + 60*60*24*365), COOKIE_PATH); - $_SESSION['mxchange_theme'] = $_GET['theme']; + set_session("mxchange_theme", $_GET['theme']); } elseif (file_exists(PATH."theme/".$_POST['theme']."/theme.php")) { // Set cookie from posted data - set_session("mxchange_theme", $_POST['theme'], (time() + 60*60*24*365), COOKIE_PATH); - $_SESSION['mxchange_theme'] = $_POST['theme']; + set_session("mxchange_theme", $_POST['theme']); } // Set return value - $ret = $_SESSION['mxchange_theme']; + $ret = get_session('mxchange_theme'); } else { // Invalid design, reset cookie - set_session("mxchange_theme", $ret, (time() + 60*60*24*365), COOKIE_PATH); + set_session("mxchange_theme", $ret); } // Add (maybe) found theme.php file to inclusion list @@ -93,10 +94,9 @@ function GET_CURR_THEME() { return $ret; } -function THEME_SELECTION_BOX($mod, $act, $wht, $result) -{ +function THEME_SELECTION_BOX($mod, $act, $wht, $result) { // Construction URL - global $CurrTheme; + global $currTheme; $FORM = URL."/modules.php?module=".$mod; if (!empty($act)) $FORM .= "&action=".$act; if (!empty($wht)) $FORM .= "&what=".$wht; @@ -109,30 +109,27 @@ function THEME_SELECTION_BOX($mod, $act, $wht, $result) ); // Load all themes - while(list($theme) = SQL_FETCHROW($result)) - { + while(list($theme) = SQL_FETCHROW($result)) { // Load it's theme.php file - $INC = PATH."theme/".$theme."/theme.php"; - if (file_exists($INC)) - { + $INC = sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($theme)); + if ((file_exists($INC)) && (is_readable($INC))) { // And save all data in array - include($INC); + require($INC); $THEMES['theme_unix'][] = $theme; $THEMES['theme_name'][] = $THEME_NAME; - } - } + } // END - if + } // END - while // Sort whole array by title array_pk_sort($THEMES, array("theme_name")); // Construct selection form for the box template $OUT = ""; - foreach ($THEMES['theme_unix'] as $key=>$theme) - { + foreach ($THEMES['theme_unix'] as $key => $theme) { $OUT .= "