diff options
Diffstat (limited to 'modules/gallery')
| -rw-r--r-- | modules/gallery/helpers/theme.php | 17 | ||||
| -rw-r--r-- | modules/gallery/libraries/Admin_View.php | 6 | ||||
| -rw-r--r-- | modules/gallery/libraries/Theme_View.php | 6 | 
3 files changed, 13 insertions, 16 deletions
diff --git a/modules/gallery/helpers/theme.php b/modules/gallery/helpers/theme.php index 16ed104e..efc9b9e6 100644 --- a/modules/gallery/helpers/theme.php +++ b/modules/gallery/helpers/theme.php @@ -24,6 +24,8 @@   * Note: by design, this class does not do any permission checking.   */  class theme_Core { +  public static $active_theme; +    /**     * Load the active theme.  This is called at bootstrap time.  We will only ever have one theme     * active for any given request. @@ -35,15 +37,22 @@ class theme_Core {        $path = "/" . $input->get("kohana_uri");      } +    $is_admin = $path == "/admin" || !strncmp($path, "/admin/", 7); +    $setting_name = $is_admin ? "active_admin_theme" : "active_site_theme";      if (!(identity::active_user()->admin && $theme_name = $input->get("theme"))) { -      $theme_name = module::get_var( -        "gallery", -        $path == "/admin" || !strncmp($path, "/admin/", 7) ? -          "active_admin_theme" : "active_site_theme"); +      $theme_name = module::get_var("gallery", $setting_name); + +      if (!file_exists(THEMEPATH . $theme_name)) { +        Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme."); +        $theme_name = $is_admin ? "admin_wind" : "wind"; +        module::set_var("gallery", $setting_name, $theme_name); +      }      }      $modules = Kohana::config("core.modules");      array_unshift($modules, THEMEPATH . $theme_name);      Kohana::config_set("core.modules", $modules); + +    self::$active_theme = $theme_name;    }    static function get_edit_form_admin() { diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php index cbb781a1..a990e4ca 100644 --- a/modules/gallery/libraries/Admin_View.php +++ b/modules/gallery/libraries/Admin_View.php @@ -27,12 +27,6 @@ class Admin_View_Core extends Gallery_View {     * @return  void     */    public function __construct($name) { -    $theme_name = module::get_var("gallery", "active_admin_theme"); -    if (!file_exists(THEMEPATH . $theme_name)) { -      module::set_var("gallery", "active_admin_theme", "admin_wind"); -      theme::load_themes(); -      Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme."); -    }      parent::__construct($name);      $this->theme_name = module::get_var("gallery", "active_admin_theme"); diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php index b64deab9..817a46ad 100644 --- a/modules/gallery/libraries/Theme_View.php +++ b/modules/gallery/libraries/Theme_View.php @@ -29,12 +29,6 @@ class Theme_View_Core extends Gallery_View {     * @return  void     */    public function __construct($name, $page_type, $page_subtype) { -    $theme_name = module::get_var("gallery", "active_site_theme"); -    if (!file_exists(THEMEPATH . $theme_name)) { -      module::set_var("gallery", "active_site_theme", "wind"); -      theme::load_themes(); -      Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme."); -    }      parent::__construct($name);      $this->theme_name = module::get_var("gallery", "active_site_theme");  | 
