* $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 - 2009 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-}
+} // END - if
// Create a selection box with installed and activated themes or all if admin
function generateThemeSelectionBox () {
$mod = getModule();
// Construction URL
- $formAction = "{%url=modules.php?module=" . $mod;
- if (!empty($what)) $formAction .= "&what=" . $what;
- $formAction = '%}';
+ $formAction = '{%url=modules.php?module='. $mod;
+ if (!empty($what)) $formAction .= '&what=' . $what;
+ $formAction .= '%}';
// Initialize array
$themesArray = array(
if (isAdmin()) $add = '';
// Select all themes we want
- $result = SQL_QUERY("SELECT
- `theme_path`, `theme_name`
+ $result = SQL_QUERY('SELECT
+ `theme_path`,`theme_name`
FROM
`{?_MYSQL_PREFIX?}_themes`
-".$add."
+' . $add . '
ORDER BY
- `theme_name` ASC", __FILE__, __LINE__);
+ `theme_name` ASC', __FUNCTION__, __LINE__);
// Load all themes
while ($content = SQL_FETCHARRAY($result)) {
SQL_FREERESULT($result);
// Construct selection form for the box template
+ // @TODO Can't this be rewritten to an API function?
$OUT = '';
foreach ($themesArray['theme_unix'] as $key => $theme) {
- $OUT .= " <option value=\"".$theme."\"";
+ $OUT .= ' <option value="' . $theme . '"';
if ($theme == getCurrentTheme()) $OUT .= ' selected="selected"';
- $OUT .= ">".$themesArray['theme_name'][$key]."</option>\n";
+ $OUT .= '>' . $themesArray['theme_name'][$key] . '</option>';
} // END - foreach
// Remember content
$cver = '?.?';
// Is the cache entry there?
- if (isset($GLOBALS['cache_array']['themes']['theme_ver'][$name])) {
+ if (isset($GLOBALS['cache_array']['themes']['theme_version'][$name])) {
// Get the version from cache
- $cver = $GLOBALS['cache_array']['themes']['theme_ver'][$name];
+ $cver = $GLOBALS['cache_array']['themes']['theme_version'][$name];
// Count up
incrementStatsEntry('cache_hits');
- } elseif (getExtensionVersion('cache') != '0.1.8') {
+ } elseif (isExtensionInstalledAndNewer('cache', '0.1.8')) {
// Load version from database
$result = SQL_QUERY_ESC("SELECT `theme_ver` FROM `{?_MYSQL_PREFIX?}_themes` WHERE `theme_path`='%s' LIMIT 1",
array($name), __FUNCTION__, __LINE__);
// Count up
incrementStatsEntry('cache_hits');
- } elseif (getExtensionVersion('cache') != '0.1.8') {
+ } elseif (isExtensionInstalledAndNewer('cache', '0.1.8')) {
// Check if current theme is already imported or not
$result = SQL_QUERY_ESC("SELECT `theme_active` FROM `{?_MYSQL_PREFIX?}_themes` WHERE `theme_path`='%s' AND `theme_active`='Y' LIMIT 1",
array($name), __FUNCTION__, __LINE__);
// Count up
incrementStatsEntry('cache_hits');
- } elseif (getExtensionVersion('cache') != '0.1.8') {
+ } elseif (isExtensionInstalledAndNewer('cache', '0.1.8')) {
// Check if current theme is already imported or not
$result = SQL_QUERY_ESC("SELECT `theme_name` FROM `{?_MYSQL_PREFIX?}_themes` WHERE `theme_path`='%s' AND `theme_active`='Y' LIMIT 1",
array($name), __FUNCTION__, __LINE__);
// Load default theme if not empty from configuration
if ((isConfigEntrySet('default_theme')) && (getConfig('default_theme') != '')) $ret = getConfig('default_theme');
- if (!isSessionVariableSet('mxchange_theme')) {
+ if (!isSessionVariableSet('mailer_theme')) {
// Set default theme
setTheme($ret);
- } elseif ((isSessionVariableSet('mxchange_theme')) && (isExtensionInstalledAndNewer('sql_patches', '0.1.4'))) {
+ } elseif ((isSessionVariableSet('mailer_theme')) && (isExtensionInstalledAndNewer('sql_patches', '0.1.4'))) {
//die("<pre>".print_r($GLOBALS['cache_array']['themes'], true)."</pre>");
// Get theme from cookie
- $ret = getSession('mxchange_theme');
+ $ret = getSession('mailer_theme');
// Is it valid?
if ((!isExtensionActive('theme')) || (getThemeId($ret) == '0')) {
// Fix it to default
$ret = 'default';
} // END - if
- } elseif ((!isInstalled()) && ((isInstalling()) || (getOutputMode() == true)) && ((isGetRequestElementSet('theme')) || (isPostRequestElementSet('theme')))) {
+ } elseif ((!isInstalled()) && ((isInstalling()) || (isHtmlOutputMode())) && ((isGetRequestElementSet('theme')) || (isPostRequestElementSet('theme')))) {
// Prepare filename for checking
$themeFile = sprintf("theme/%s/theme.php", getRequestElement('theme'));
if ((isGetRequestElementSet('theme')) && (isIncludeReadable($theme))) {
// Set cookie from URL data
setTheme(getRequestElement('theme'));
- } elseif (isIncludeReadable(sprintf("theme/%s/theme.php", secureString(postRequestElement('theme'))))) {
+ } elseif (isIncludeReadable(sprintf("theme/%s/theme.php", postRequestElement('theme')))) {
// Set cookie from posted data
- setTheme(secureString(postRequestElement('theme')));
+ setTheme(postRequestElement('theme'));
}
// Set return value
- $ret = getSession('mxchange_theme');
+ $ret = getSession('mailer_theme');
} else {
// Invalid design, reset cookie
setTheme($ret);
return $ret;
}
-// Setter for theme in session
+/**
+ * Setter for theme in session (This setter does return the success of
+ * setSession() which is required e.g. for destroySponsorSession().
+ */
function setTheme ($newTheme) {
- setSession('mxchange_theme', $newTheme);
+ return setSession('mailer_theme', $newTheme);
}
// Get id from theme
return $id;
}
-///////////////////////////////////////////////////////////////////////////////
-// Only filter functions
-///////////////////////////////////////////////////////////////////////////////
-
-// Filter for generic handling of theme change
-function FILTER_HANDLE_THEME_CHANGE () {
- // Check if new theme is selcted
- if ((isPostRequestElementSet('new_theme')) && (postRequestElement('new_theme') != getCurrentTheme())) {
- // Set new theme for guests
- $newTheme = postRequestElement('new_theme');
-
- // Change to new theme
- setTheme($newTheme);
-
- // Remove current from array
- removeIncludeFromPool('theme', sprintf("theme/%s/theme.php", getCurrentTheme()));
-
- // Add new theme
- addIncludeToPool('theme', sprintf("theme/%s/theme.php", $newTheme));
- } // END - if
-}
-
-// Filter for settings theme from user profile, must be executed only if FILTER_FETCH_USER_DATA() ran before
-function FILTER_SET_USERS_THEME () {
- // Is the user data valid?
- if (!isMember()) {
- // Do only run for logged in members
- debug_report_bug('Please only run this filter for logged in users.');
- } // END - if
-
- // Change to new theme
- setTheme(getUserData('curr_theme'));
-}
-
// [EOF]
?>