* $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 *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
// 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
+ $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__);
// Fix it to default
$ret = 'default';
} // END - if
- } elseif ((!isInstalled()) && ((isInstalling()) || (getOutputMode() == true)) && ((isGetRequestElementSet('theme')) || (isPostRequestElementSet('theme')))) {
+ } elseif ((!isInstalled()) && ((isInstalling()) || (isHtmlOutputMode())) && ((isGetRequestParameterSet('theme')) || (isPostRequestParameterSet('theme')))) {
// Prepare filename for checking
- $themeFile = sprintf("theme/%s/theme.php", getRequestElement('theme'));
+ $themeFile = sprintf("theme/%s/theme.php", getRequestParameter('theme'));
// Installation mode active
- if ((isGetRequestElementSet('theme')) && (isIncludeReadable($theme))) {
+ if ((isGetRequestParameterSet('theme')) && (isIncludeReadable($theme))) {
// Set cookie from URL data
- setTheme(getRequestElement('theme'));
- } elseif (isIncludeReadable(sprintf("theme/%s/theme.php", secureString(postRequestElement('theme'))))) {
+ setTheme(getRequestParameter('theme'));
+ } elseif (isIncludeReadable(sprintf("theme/%s/theme.php", secureString(postRequestParameter('theme'))))) {
// Set cookie from posted data
- setTheme(secureString(postRequestElement('theme')));
+ setTheme(secureString(postRequestParameter('theme')));
}
// Set return value
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('mxchange_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())) {
+ if ((isPostRequestParameterSet('new_theme')) && (postRequestParameter('new_theme') != getCurrentTheme())) {
// Set new theme for guests
- $newTheme = postRequestElement('new_theme');
+ $newTheme = postRequestParameter('new_theme');
// Change to new theme
setTheme($newTheme);
// Add new theme
addIncludeToPool('theme', sprintf("theme/%s/theme.php", $newTheme));
+
+ // Redirect to same URL
+ redirectToRequestUri();
} // END - if
}
// 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.');
+ debug_report_bug(__FUNCTION__, __LINE__, 'Please only run this filter for logged in users.');
} // END - if
// Change to new theme