From 96cbfe23a6031fc8fb87aadb37fec2e4e479bc0c Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Tue, 3 Nov 2009 14:03:36 -0800 Subject: Respect the "theme" variable if we're an admin. This requires us to change the order of operations in gallery_event::gallery_ready() so that we load users before themes. Fixes ticket #836. --- modules/gallery/helpers/gallery_event.php | 2 +- modules/gallery/helpers/theme.php | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'modules/gallery/helpers') diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php index 67a6f41f..e3cb6a9b 100644 --- a/modules/gallery/helpers/gallery_event.php +++ b/modules/gallery/helpers/gallery_event.php @@ -23,8 +23,8 @@ class gallery_event_Core { * Initialization. */ static function gallery_ready() { - theme::load_themes(); identity::load_user(); + theme::load_themes(); locales::set_request_locale(); } diff --git a/modules/gallery/helpers/theme.php b/modules/gallery/helpers/theme.php index 64e919e3..da57a37e 100644 --- a/modules/gallery/helpers/theme.php +++ b/modules/gallery/helpers/theme.php @@ -30,13 +30,16 @@ class theme_Core { */ static function load_themes() { $path = Input::instance()->server("PATH_INFO"); + $input = Input::instance(); if (empty($path)) { - $path = "/" . Input::instance()->get("kohana_uri"); + $path = "/" . $input->get("kohana_uri"); } - $theme_name = module::get_var( - "gallery", - !strncmp($path, "/admin", 6) ? "active_admin_theme" : "active_site_theme"); + if (!(identity::active_user()->admin && $theme_name = $input->get("theme"))) { + $theme_name = module::get_var( + "gallery", + !strncmp($path, "/admin", 6) ? "active_admin_theme" : "active_site_theme"); + } $modules = Kohana::config("core.modules"); array_unshift($modules, THEMEPATH . $theme_name); Kohana::config_set("core.modules", $modules); -- cgit v1.2.3