From 68411cc903a1fedd5014763f55f3925c5a971b0f Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 23 Oct 2009 17:58:55 -0700 Subject: Allow themes to override event handlers. In gallery::ready() grab the server PATH_INFO and pass it to the theme::load_themes method. If it starts with \"/admin\", then set the theme to the active admin theme, otherwise set it to the active site theme. Fixes ticket #841: Themes cannot overload event classes." --- modules/gallery/helpers/gallery_event.php | 1 + modules/gallery/helpers/theme.php | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'modules/gallery/helpers') diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php index e0de2152..d45f5316 100644 --- a/modules/gallery/helpers/gallery_event.php +++ b/modules/gallery/helpers/gallery_event.php @@ -23,6 +23,7 @@ class gallery_event_Core { * Initialization. */ static function gallery_ready() { + theme::load_themes(Input::instance()->server("PATH_INFO")); user::load_user(); locales::set_request_locale(); } diff --git a/modules/gallery/helpers/theme.php b/modules/gallery/helpers/theme.php index fb8f7ca7..5588fbce 100644 --- a/modules/gallery/helpers/theme.php +++ b/modules/gallery/helpers/theme.php @@ -28,14 +28,13 @@ class theme_Core { * Load the active theme. This is called at bootstrap time. We will only ever have one theme * active for any given request. */ - static function load_themes() { + static function load_themes($path) { $modules = Kohana::config("core.modules"); - if (Router::$controller == "admin") { + if (strpos($path, "/admin") === 0) { array_unshift($modules, THEMEPATH . module::get_var("gallery", "active_admin_theme")); } else { array_unshift($modules, THEMEPATH . module::get_var("gallery", "active_site_theme")); } - Kohana::config_set("core.modules", $modules); } -- cgit v1.2.3