From 6c49eddcba48240035341a492f7abe4478788406 Mon Sep 17 00:00:00 2001 From: SecretR Date: Wed, 28 Nov 2012 09:35:06 +0200 Subject: [PATCH] 3rd party legacy code fix attempt --- e107_admin/auth.php | 3 ++- e107_admin/footer.php | 12 ++++++++++++ e107_handlers/admin_ui.php | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/e107_admin/auth.php b/e107_admin/auth.php index 562bdee0d..c55e13833 100644 --- a/e107_admin/auth.php +++ b/e107_admin/auth.php @@ -36,7 +36,8 @@ if (ADMIN) $asuser = e107::getSystemUser(e107::getUser()->getSessionDataAs(), false); e107::getMessage()->addInfo('Successfully logged in as '.($asuser && $asuser->getValue('name') ? $asuser->getValue('name') : 'unknown'). ' [logout]'); } - require_once (e_ADMIN."header.php"); + // NEW, legacy 3rd party code fix, header called inside the footer o.O + if(deftrue('e_ADMIN_UI')) require_once (e_ADMIN."header.php"); } /* diff --git a/e107_admin/footer.php b/e107_admin/footer.php index c473f1fd7..74c26ced1 100644 --- a/e107_admin/footer.php +++ b/e107_admin/footer.php @@ -21,6 +21,18 @@ $In_e107_Footer = TRUE; // For registered shutdown function global $error_handler,$db_time,$ADMIN_FOOTER; +// Legacy fix - call header if not already done, mainly fixing left side menus to work proper +if(!deftrue('e_ADMIN_UI') && !deftrue('ADMIN_AREA')) +{ + // close the old buffer + $content = ob_get_contents(); + ob_get_clean(); + // open new + ob_start(); + require_once(e_ADMIN.'header.php'); + echo $content; +} + // Clean session shutdown e107::getSession()->shutdown(); diff --git a/e107_handlers/admin_ui.php b/e107_handlers/admin_ui.php index 7cecf5c2e..930e938b4 100644 --- a/e107_handlers/admin_ui.php +++ b/e107_handlers/admin_ui.php @@ -1011,6 +1011,11 @@ class e_admin_dispatcher */ public function __construct($request = null, $response = null, $auto_observe = true) { + // we let know some admin routines we are in UI mod - related with some legacy checks and fixes + if(!defined('e_ADMIN_UI')) + { + define('e_ADMIN_UI', true); + } if(null === $request || !is_object($request)) { $request = new e_admin_request($request);