Now getCurrentTheme() does check if 'theme' is provided in POST data or URL, by POST...
authorRoland Häder <roland@mxchange.org>
Mon, 19 Sep 2011 17:56:33 +0000 (17:56 +0000)
committerRoland Häder <roland@mxchange.org>
Mon, 19 Sep 2011 17:56:33 +0000 (17:56 +0000)
inc/functions.php
inc/stylesheet.php

index eb353b44819bc5e9806ceb095cf9169359917b98..e768c7e02e630b837283730f0b28c489beb825e6 100644 (file)
@@ -534,6 +534,12 @@ function makeTime ($hours, $minutes, $seconds, $stamp) {
 
 // Redirects to an URL and if neccessarry extends it with own base URL
 function redirectToUrl ($url, $allowSpider = true) {
+       // Is the output mode -2?
+       if (getScriptOutputMode() == -2) {
+               // This is always (!) an AJAX request and shall not be redirected
+               return;
+       } // END - if
+
        // Remove {%url=
        if (substr($url, 0, 6) == '{%url=') {
                $url = substr($url, 6, -2);
@@ -1048,11 +1054,17 @@ function getCurrentTheme () {
        // The default theme is 'default'... ;-)
        $ret = 'default';
 
-       // Do we have ext-theme installed and active?
-       if (isExtensionActive('theme')) {
+       // Do we have ext-theme installed and active or is 'theme' in URL or POST data?
+       if ((isPostRequestElementSet('theme')) && (isIncludeReadable(sprintf("theme/%s/theme.php", postRequestElement('theme'))))) {
+               // Use value from POST data
+               $ret = postRequestElement('theme');
+       } elseif ((isGetRequestElementSet('theme')) && (isIncludeReadable(sprintf("theme/%s/theme.php", getRequestElement('theme'))))) {
+               // Use value from GET data
+               $ret = getRequestElement('theme');
+       } elseif (isExtensionActive('theme')) {
                // Call inner method
                $ret = getActualTheme();
-       } // END - if
+       }
 
        // Return theme value
        return $ret;
index 715bf8fc4cf23fd531bd8670b231d45a49c12848..ab881f0286af756132e5ca2f1ecd2bd2f7d6e9b3 100644 (file)
@@ -108,13 +108,7 @@ if ((isCssOutputMode()) || (getConfig('css_php') == 'DIRECT')) {
        $OUT = '<link rel="stylesheet" type="text/css" href="{%url=css.php';
        if ((isInstallationPhase())) {
                // Default theme first
-               $newTheme = 'default';
-               if (isPostRequestElementSet('theme')) {
-                       $newTheme = postRequestElement('theme');
-               } elseif (isGetRequestElementSet('theme')) {
-                       $newTheme = getRequestElement('theme');
-               }
-               $OUT .= '?theme=' . $newTheme . '&amp;installing=1';
+               $OUT .= '?theme=' . getCurrentTheme() . '&amp;installing=1';
        } else {
                // Add SVN revision to bypass caching problems
                $OUT .= '?rev=' . getCurrentRepositoryRevision();