X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-themes.php;h=d238500bb59edb567c8a6d2b9c4f440514c15907;hp=87785380106e65320609deb7c294261cb8adb8bd;hb=b8c86fa12322603c24a88ea2b0fd3dbeba612752;hpb=0e899620c7a065952d6787c236fb2b33ae337d6a diff --git a/inc/modules/member/what-themes.php b/inc/modules/member/what-themes.php index 8778538010..d238500bb5 100644 --- a/inc/modules/member/what-themes.php +++ b/inc/modules/member/what-themes.php @@ -32,33 +32,32 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ +if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); -} - elseif (!IS_LOGGED_IN()) -{ +} elseif (!IS_MEMBER()) { LOAD_URL("modules.php?module=index"); +} elseif ((!EXT_IS_ACTIVE("theme")) && (!IS_ADMIN())) { + addFatalMessage(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "theme"); + return; } // Add description as navigation point -ADD_DESCR("member", basename(__FILE__)); +ADD_DESCR("member", __FILE__); -if (!empty($_POST['member_theme'])) -{ +if (REQUEST_ISSET_POST(('member_theme'))) { // Save theme to member's profile - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET curr_theme='%s' WHERE userid=%d LIMIT 1", - array($_POST['member_theme'], $GLOBALS['userid']), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET curr_theme='%s' WHERE userid=%s LIMIT 1", + array(REQUEST_POST('member_theme'), $GLOBALS['userid']), __FILE__, __LINE__); // Set new theme for guests - $NewTheme = $_POST['member_theme']; + $newTheme = SQL_ESCAPE(REQUEST_POST('member_theme')); // Change to new theme - set_session("mxchange_theme", $NewTheme, (time() + 60*60*24*365), COOKIE_PATH); + set_session('mxchange_theme', $newTheme); // Theme saved! - LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_THEME_SAVED); + LOAD_TEMPLATE("admin_settings_saved", false, getMessage('MEMBER_THEME_SAVED')); } // Initialize array @@ -72,33 +71,26 @@ $THEMES = array( ); // Read directory "themes" -$handle = opendir(PATH."theme/") or mxchange_die("Cannot read themes dir!"); -while ($dir = readdir($handle)) -{ +$handle = opendir(constant('PATH')."theme/") or mxchange_die("Cannot read themes dir!"); +while ($entry = readdir($handle)) { // Construct absolute theme.php file name - $theme = PATH."theme/".$dir."/"."theme.php"; - - // Test it... - $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_themes WHERE theme_path='%s' AND theme_active='Y' LIMIT 1", - array($dir), __FILE__, __LINE__); - - if (($dir != ".") && ($dir != "..") && (file_exists($theme)) && (is_readable($theme)) && (SQL_NUMROWS($result) == 1)) - { - // Free memory - SQL_FREERESULT($result); + $INC = sprintf("theme/%s/theme.php", $entry); + if (($entry != ".") && ($entry != "..") && (INCLUDE_READABLE($INC)) && (THEME_IS_ACTIVE($entry))) { // Found a valid directory so let's load it's theme.php file - include($theme); + LOAD_INC($INC); // Add found theme to array - $THEMES['theme_unix'][] = $dir; + $THEMES['theme_unix'][] = $entry; $THEMES['theme_name'][] = $THEME_NAME; $THEMES['theme_author'][] = $THEME_AUTHOR; $THEMES['theme_email'][] = $THEME_EMAIL; $THEMES['theme_url'][] = $THEME_URL; $THEMES['theme_ver'][] = $THEME_VERSION; - } -} + } // END - if +} // END - while + +// Close directory closedir($handle); // Sort array by Uni* name @@ -106,35 +98,34 @@ array_pk_sort($THEMES, array("theme_name")); // Generate output lines for the template $OUT = ""; $SW = 2; -foreach ($THEMES['theme_unix'] as $key=>$unix) -{ +foreach ($THEMES['theme_unix'] as $key => $unix) { $default = ""; - if (get_session('mxchange_theme') == $unix) $default = " checked selected"; + if (get_session('mxchange_theme') == $unix) $default = " selected=\"selected\""; // Add row - $OUT .= " - - - - ".$THEMES['theme_name'][$key]." - - ".$THEMES['theme_author'][$key]." - - - ".$THEMES['theme_url'][$key]." - - v".$THEMES['theme_ver'][$key]." -\n"; + $OUT .= " + + + + ".$THEMES['theme_name'][$key]." + + ".$THEMES['theme_author'][$key]." + + + ".$THEMES['theme_url'][$key]." + + v".$THEMES['theme_ver'][$key]." +\n"; $SW = 3 - $SW; } -if (empty($OUT)) -{ + +if (empty($OUT)) { // No themes found??? - $OUT = " - - ".LOAD_TEMPLATE("admin_settings_saved", true, MEMBER_NO_THEMES_FOUND)." - -\n"; + $OUT = " + + ".LOAD_TEMPLATE("admin_settings_saved", true, getMessage('MEMBER_NO_THEMES_FOUND'))." + +\n"; } define('__THEME_LIST', $OUT);