X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-themes.php;h=bc4276c120d13fbdf3e417a72dd40b62d60bf884;hp=5e6a5fcfc77c54fa20e9fab2c7fd36810abd552a;hb=3e2e8ea82079f4e76b8add38efccf6c24afda507;hpb=3c4fbc22e3c04348734182d4d29bfef7eb050aa6 diff --git a/inc/modules/member/what-themes.php b/inc/modules/member/what-themes.php index 5e6a5fcfc7..bc4276c120 100644 --- a/inc/modules/member/what-themes.php +++ b/inc/modules/member/what-themes.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Design-Auswahl fuer Mitglieder * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * 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 * @@ -33,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()) { - LOAD_URL("modules.php?module=index"); -} elseif ((!EXT_IS_ACTIVE("theme")) && (!IS_ADMIN())) { - ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "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 (!empty($_POST['member_theme'])) { +if (isPostRequestElementSet('member_theme')) { // Save theme to member's profile - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET curr_theme='%s' WHERE userid=%s 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(postRequestElement('member_theme'), getUserId()), __FILE__, __LINE__); // Set new theme for guests - $newTheme = SQL_ESCAPE($_POST['member_theme']); + $newTheme = SQL_ESCAPE(postRequestElement('member_theme')); // Change to new theme - set_session("mxchange_theme", $newTheme); + setTheme($newTheme); // Theme saved! - LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_THEME_SAVED); -} + loadTemplate('admin_settings_saved', false, getMessage('MEMBER_THEME_SAVED')); +} // END - if // Initialize array $THEMES = array( @@ -71,66 +77,68 @@ $THEMES = array( ); // Read directory "themes" -$handle = opendir(PATH."theme/") or mxchange_die("Cannot read themes dir!"); -while ($entry = readdir($handle)) { - // Construct absolute theme.php file name - $theme = sprintf("%stheme/%s/theme.php", PATH, $entry); +$includes = getArrayFromDirectory('theme/', '', false, true, array('css', 'images')); + +// Walk through all entries and add it +foreach ($includes as $inc) { + // Get directory from it + $dir = basename(dirname($inc)); - if (($entry != ".") && ($entry != "..") && (FILE_READABLE($theme)) && (THEME_IS_ACTIVE($entry))) { + // Is the theme active, then include it + if (isThemeActive($dir)) { // Found a valid directory so let's load it's theme.php file - include($theme); + loadInclude($inc); // Add found theme to array - $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; + $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']; + $THEMES['theme_url'][] = $GLOBALS['theme_data']['url']; + $THEMES['theme_ver'][] = $GLOBALS['theme_data']['version']; } // 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; +$OUT = ''; $SW = 2; foreach ($THEMES['theme_unix'] as $key => $unix) { - $default = ""; - if (get_session('mxchange_theme') == $unix) $default = " checked selected"; + $default = ''; + if (getCurrentTheme() == $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; -} +} // END - foreach if (empty($OUT)) { - // No themes found??? - $OUT = " - - ".LOAD_TEMPLATE("admin_settings_saved", true, MEMBER_NO_THEMES_FOUND)." - -\n"; -} -define('__THEME_LIST', $OUT); + // No themes found??? + $OUT = " + + ".loadTemplate('admin_settings_saved', true, getMessage('MEMBER_NO_THEMES_FOUND'))." + +\n"; +} // END - if // Load template -LOAD_TEMPLATE("member_themes"); +loadTemplate('member_themes', false, $OUT); -// +// [EOF] ?>