1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-03 21:27:25 +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"; //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 // here we USE the theme
if(!isset($_E107['no_theme'])) if(!isset($_E107['no_theme']))

View File

@@ -21,6 +21,14 @@ if(!defined('ADMIN_AREA'))
define('ADMIN_AREA', false); define('ADMIN_AREA', false);
} }
e_theme::initThemeLayout();
if(!isset($_E107['no_menus']))
{
e107::getDebug()->logTime('Init Menus');
e107::getMenu()->init();
}
$e107 = e107::getInstance(); $e107 = e107::getInstance();
$sql = e107::getDb(); $sql = e107::getDb();

View File

@@ -194,6 +194,10 @@ class e_url
define('e_PAGE', basename($file)); 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, '?/')); $fpUrl = str_replace(SITEURL, '', rtrim(e_REQUEST_URL, '?/'));
$fpPref = e107::getFrontpage(); $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). 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')) if(deftrue('e_ADMIN_AREA'))
{ {
define('THEME_STYLE', $pref['admincss']); 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'])) elseif(!empty($pref['themecss']) && file_exists(THEME.$pref['themecss']))
{ {
@@ -1236,20 +1237,27 @@ class e_theme
define('THEME_STYLE', 'style.css'); define('THEME_STYLE', 'style.css');
} }
}
public static function initThemeLayout()
{
if(!defined('THEME_LAYOUT')) if(!defined('THEME_LAYOUT'))
{ {
$user_pref = e107::getUser()->getPref(); $sitetheme_custompages = e107::getPref('sitetheme_custompages', array());
$cusPagePref = (!empty($user_pref['sitetheme_custompages'])) ? $user_pref['sitetheme_custompages'] : varset($pref['sitetheme_custompages'],array()); $sitetheme_deflayout = e107::getPref('sitetheme_deflayout');
$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']));
$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); define('THEME_LAYOUT',$deflayout);
unset($cusPageDef,$lyout,$cusPagePref,$menus_equery,$deflayout); }
} }
}
/** /**
* Replacement of checkvalidtheme() * Replacement of checkvalidtheme()
* @param string $themeDir * @param string $themeDir
@@ -1268,7 +1276,7 @@ class e_theme
{ {
$layout = !empty($_GET['layout']) ? $_GET['layout'] : null; $layout = !empty($_GET['layout']) ? $_GET['layout'] : null;
self::initThemePreview($_GET['themepreview'], $layout); self::initThemePreview($_GET['themepreview'], $layout);
self::initThemeLayout($pref); self::initThemeStyle($pref);
return; return;
} }
@@ -1295,7 +1303,7 @@ class e_theme
$e107->site_theme = $themeDir; $e107->site_theme = $themeDir;
e107::getDebug()->logTime('Theme Check End'); e107::getDebug()->logTime('Theme Check End');
self::initThemeLayout($pref); self::initThemeStyle($pref);
return; return;
} }
@@ -1317,7 +1325,7 @@ class e_theme
} }
e107::getDebug()->logTime('Theme Check End'); e107::getDebug()->logTime('Theme Check End');
self::initThemeLayout($pref); self::initThemeStyle($pref);
} }

View File

@@ -15,7 +15,7 @@
if (!defined('e107_INIT')) { exit; } 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(); $tp = e107::getParser();

View File

@@ -108,7 +108,7 @@
$this->assertFalse(THEME_LEGACY); $this->assertFalse(THEME_LEGACY);
$this->assertSame('style.css', THEME_STYLE); $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(); $e107 = e107::getInstance();
$this->assertSame('bootstrap3', $e107->site_theme); $this->assertSame('bootstrap3', $e107->site_theme);