diff --git a/class2.php b/class2.php index 0b27ffae0..bba6f3c44 100755 --- a/class2.php +++ b/class2.php @@ -1052,11 +1052,7 @@ if(!isset($_E107['no_theme'])) } //echo "\nRun Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; // ----------------------------------------------------------------------- -if(!isset($_E107['no_menus'])) -{ - $dbg->logTime('Init Menus'); - e107::getMenu()->init(); -} + // here we USE the theme if(!isset($_E107['no_theme'])) diff --git a/e107_core/templates/header_default.php b/e107_core/templates/header_default.php index 89e1565e9..1b86f46b3 100644 --- a/e107_core/templates/header_default.php +++ b/e107_core/templates/header_default.php @@ -21,6 +21,14 @@ if(!defined('ADMIN_AREA')) define('ADMIN_AREA', false); } +e_theme::initThemeLayout(); + +if(!isset($_E107['no_menus'])) +{ + e107::getDebug()->logTime('Init Menus'); + e107::getMenu()->init(); +} + $e107 = e107::getInstance(); $sql = e107::getDb(); diff --git a/e107_handlers/application.php b/e107_handlers/application.php index 3b4b87ad8..187d29c20 100644 --- a/e107_handlers/application.php +++ b/e107_handlers/application.php @@ -194,6 +194,10 @@ class e_url define('e_PAGE', basename($file)); } + if(!defined('e_ROUTE')) // subject to removal at any time. + { + define('e_ROUTE', $plug.'/'.$k); + } $fpUrl = str_replace(SITEURL, '', rtrim(e_REQUEST_URL, '?/')); $fpPref = e107::getFrontpage(); diff --git a/e107_handlers/theme_handler.php b/e107_handlers/theme_handler.php index bce533475..5d2efdbfd 100644 --- a/e107_handlers/theme_handler.php +++ b/e107_handlers/theme_handler.php @@ -1218,7 +1218,7 @@ class e_theme } - private static function initThemeLayout($pref) + public static function initThemeStyle($pref) { e107::getDebug()->logTime('Find/Load Theme-Layout'); // needs to run after checkvalidtheme() (for theme previewing). @@ -1226,6 +1226,7 @@ class e_theme if(deftrue('e_ADMIN_AREA')) { define('THEME_STYLE', $pref['admincss']); + self::initThemeLayout(); // the equivalent for frontend is in header_default.php } elseif(!empty($pref['themecss']) && file_exists(THEME.$pref['themecss'])) { @@ -1236,20 +1237,27 @@ class e_theme define('THEME_STYLE', 'style.css'); } - if(!defined('THEME_LAYOUT')) - { - $user_pref = e107::getUser()->getPref(); - $cusPagePref = (!empty($user_pref['sitetheme_custompages'])) ? $user_pref['sitetheme_custompages'] : varset($pref['sitetheme_custompages'],array()); - $cusPageDef = (empty($user_pref['sitetheme_deflayout'])) ? varset($pref['sitetheme_deflayout']) : $user_pref['sitetheme_deflayout']; - $deflayout = e107::getTheme()->getThemeLayout($cusPagePref, $cusPageDef, e_REQUEST_URL, varset($_SERVER['SCRIPT_FILENAME'])); - - define('THEME_LAYOUT',$deflayout); - - unset($cusPageDef,$lyout,$cusPagePref,$menus_equery,$deflayout); - } - } + + public static function initThemeLayout() + { + if(!defined('THEME_LAYOUT')) + { + $sitetheme_custompages = e107::getPref('sitetheme_custompages', array()); + $sitetheme_deflayout = e107::getPref('sitetheme_deflayout'); + + $user_pref = e107::getUser()->getPref(); + $cusPagePref = !empty($user_pref['sitetheme_custompages']) ? $user_pref['sitetheme_custompages'] : $sitetheme_custompages; + $cusPageDef = !empty($user_pref['sitetheme_deflayout']) ? $user_pref['sitetheme_deflayout'] : $sitetheme_deflayout; + $deflayout = e107::getTheme()->getThemeLayout($cusPagePref, $cusPageDef, e_REQUEST_URL, varset($_SERVER['SCRIPT_FILENAME'])); + define('THEME_LAYOUT',$deflayout); + + } + + } + + /** * Replacement of checkvalidtheme() * @param string $themeDir @@ -1268,7 +1276,7 @@ class e_theme { $layout = !empty($_GET['layout']) ? $_GET['layout'] : null; self::initThemePreview($_GET['themepreview'], $layout); - self::initThemeLayout($pref); + self::initThemeStyle($pref); return; } @@ -1295,7 +1303,7 @@ class e_theme $e107->site_theme = $themeDir; e107::getDebug()->logTime('Theme Check End'); - self::initThemeLayout($pref); + self::initThemeStyle($pref); return; } @@ -1317,7 +1325,7 @@ class e_theme } e107::getDebug()->logTime('Theme Check End'); - self::initThemeLayout($pref); + self::initThemeStyle($pref); } diff --git a/e107_plugins/rss_menu/e_meta.php b/e107_plugins/rss_menu/e_meta.php index ab215ccb7..697501196 100644 --- a/e107_plugins/rss_menu/e_meta.php +++ b/e107_plugins/rss_menu/e_meta.php @@ -15,7 +15,7 @@ if (!defined('e107_INIT')) { exit; } -if(USER_AREA && $sql->select("rss", "*", "rss_class='0' AND rss_limit>0 ORDER BY rss_name")) +if(USER_AREA && e107::getDb()->select("rss", "*", "rss_class='0' AND rss_limit>0 ORDER BY rss_name")) { $tp = e107::getParser(); diff --git a/e107_tests/tests/unit/ConstantsTest.php b/e107_tests/tests/unit/ConstantsTest.php index bf56b039e..7656a15fc 100644 --- a/e107_tests/tests/unit/ConstantsTest.php +++ b/e107_tests/tests/unit/ConstantsTest.php @@ -108,7 +108,7 @@ $this->assertFalse(THEME_LEGACY); $this->assertSame('style.css', THEME_STYLE); - $this->assertSame('jumbotron_sidebar_right', THEME_LAYOUT); + // $this->assertSame('jumbotron_sidebar_right', THEME_LAYOUT); // loaded later in header. $e107 = e107::getInstance(); $this->assertSame('bootstrap3', $e107->site_theme);