1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-03 13:17:24 +02:00

Changed load order of Menus and Theme Layout detection.

This commit is contained in:
Cameron
2021-02-13 18:55:44 -08:00
parent 3bb541a6d9
commit b0300f93bf
6 changed files with 39 additions and 23 deletions

View File

@@ -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']))

View File

@@ -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();

View File

@@ -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();

View File

@@ -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');
}
}
public static function initThemeLayout()
{
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']));
$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);
unset($cusPageDef,$lyout,$cusPagePref,$menus_equery,$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);
}

View File

@@ -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();

View File

@@ -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);