X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-themes.php;h=bc4276c120d13fbdf3e417a72dd40b62d60bf884;hb=e6d0294f587cab6b74f689ecdf2ebb3cf2b09e25;hp=fa3e614a33fc0383bdde5351f1bef10e7617489e;hpb=f577a47a8149d34039aa3c4921c35a38fcb2f2a3;p=mailer.git diff --git a/inc/modules/member/what-themes.php b/inc/modules/member/what-themes.php index fa3e614a33..bc4276c120 100644 --- a/inc/modules/member/what-themes.php +++ b/inc/modules/member/what-themes.php @@ -17,7 +17,7 @@ * Needs to be in all Files and every File needs "svn propset * * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -38,32 +38,33 @@ // Some security stuff... if (!defined('__SECURITY')) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php'; - require($INC); -} elseif (!IS_MEMBER()) { - redirectToUrl('modules.php?module=index'); -} elseif ((!EXT_IS_ACTIVE('theme')) && (!IS_ADMIN())) { - addFatalMessage(__FILE__, __LINE__, generateExtensionInactiveMessage('theme')); - return; + die(); +} elseif (!isMember()) { + redirectToIndexMemberOnlyModule(); } // Add description as navigation point -ADD_DESCR('member', __FILE__); +addMenuDescription('member', __FILE__); + +if ((!isExtensionActive('theme')) && (!isAdmin())) { + loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('theme')); + return; +} // END - if -if (REQUEST_ISSET_POST(('member_theme'))) { +if (isPostRequestElementSet('member_theme')) { // Save theme to member's profile - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET curr_theme='%s' WHERE userid=%s LIMIT 1", - array(REQUEST_POST('member_theme'), getUserId()), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `curr_theme`='%s' WHERE `userid`=%s LIMIT 1", + array(postRequestElement('member_theme'), getUserId()), __FILE__, __LINE__); // Set new theme for guests - $newTheme = SQL_ESCAPE(REQUEST_POST('member_theme')); + $newTheme = SQL_ESCAPE(postRequestElement('member_theme')); // Change to new theme - setSession('mxchange_theme', $newTheme); + setTheme($newTheme); // Theme saved! - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('MEMBER_THEME_SAVED')); -} + loadTemplate('admin_settings_saved', false, getMessage('MEMBER_THEME_SAVED')); +} // END - if // Initialize array $THEMES = array( @@ -76,17 +77,20 @@ $THEMES = array( ); // Read directory "themes" -$handle = opendir(constant('PATH')."theme/") or app_die(__FILE__, __LINE__, "Cannot read themes dir!"); -while ($entry = readdir($handle)) { - // Construct absolute theme.php file name - $INC = sprintf("theme/%s/theme.php", $entry); +$includes = getArrayFromDirectory('theme/', '', false, true, array('css', 'images')); - if ((!isDirectory($entry)) && (isIncludeReadable($INC)) && (isThemeActive($entry))) { +// Walk through all entries and add it +foreach ($includes as $inc) { + // Get directory from it + $dir = basename(dirname($inc)); + + // Is the theme active, then include it + if (isThemeActive($dir)) { // Found a valid directory so let's load it's theme.php file - loadInclude($INC); + loadInclude($inc); // Add found theme to array - $THEMES['theme_unix'][] = $entry; + $THEMES['theme_unix'][] = $dir; $THEMES['theme_name'][] = $GLOBALS['theme_data']['name']; $THEMES['theme_author'][] = $GLOBALS['theme_data']['author']; $THEMES['theme_email'][] = $GLOBALS['theme_data']['email']; @@ -95,17 +99,17 @@ while ($entry = readdir($handle)) { } // END - if } // END - while -// Close directory -closedir($handle); +// Remove last theme data +unset($GLOBALS['theme_data']); // Sort array by Uni* name -array_pk_sort($THEMES, array("theme_name")); +array_pk_sort($THEMES, array('theme_name')); // Generate output lines for the template $OUT = ''; $SW = 2; foreach ($THEMES['theme_unix'] as $key => $unix) { $default = ''; - if (getSession('mxchange_theme') == $unix) $default = ' selected="selected"'; + if (getCurrentTheme() == $unix) $default = ' selected="selected"'; // Add row $OUT .= "