1
0
mirror of https://github.com/e107inc/e107.git synced 2025-03-14 01:19:44 +01:00

Menu Manager fix for old themes that contain includes.

This commit is contained in:
Cameron 2017-01-30 11:46:38 -08:00
parent 0bc1f78a7c
commit 6531a68e00
2 changed files with 19 additions and 2 deletions

View File

@ -1402,7 +1402,7 @@ if(!isset($_E107['no_menus']))
if(e_ADMIN_AREA)
{
$sql->db_Mark_Time('Loading Admin Theme');
if(file_exists(THEME.'admin_theme.php')&&(strpos(e_SELF.'?'.e_QUERY, $ADMIN_DIRECTORY.'menus.php?configure')===FALSE)) // no admin theme when previewing.
if(file_exists(THEME.'admin_theme.php') && !deftrue('e_MENUMANAGER_ACTIVE')) // no admin theme when previewing.
{
require_once (THEME.'admin_theme.php');
}

View File

@ -763,6 +763,7 @@ class e_menu_layout
$CUSTOMHEADER = null;
$CUSTOMFOOTER = null;
$file = e_THEME.$theme."/theme.php";
if(!is_readable($file))
@ -773,7 +774,23 @@ class e_menu_layout
e107::set('css_enabled',false);
e107::set('js_enabled',false);
require($file);
$themeFileContent = file_get_contents($file);
$srch = array('<?php','?>');
$themeFileContent = preg_replace('/\(\s?THEME\s?\./', '( e_THEME. "'.$theme.'/" .', str_replace($srch, '', $themeFileContent));
try
{
@eval($themeFileContent);
}
catch (ParseError $e)
{
echo "<div class='alert alert-danger'>Couldn't parse theme.php: ". $e->getMessage()." </div>";
}
// @eval($themeFileContent);
e107::set('css_enabled',true);
e107::set('js_enabled',true);