theme_name = module::get_var("gallery", "active_admin_theme"); if (identity::active_user()->admin) { $theme_name = Input::instance()->get("theme"); if ($theme_name && file_exists(THEMEPATH . $theme_name) && strpos(realpath(THEMEPATH . $theme_name), THEMEPATH) == 0) { $this->theme_name = $theme_name; } } $this->sidebar = ""; $this->set_global(array("theme" => $this, "user" => identity::active_user(), "page_type" => "admin", "page_subtype" => $name, "page_title" => null)); } public function admin_menu() { $menu = Menu::factory("root"); module::event("admin_menu", $menu, $this); $settings_menu = $menu->get("settings_menu"); uasort($settings_menu->elements, array("Menu", "title_comparator")); return $menu->render(); } public function user_menu() { $menu = Menu::factory("root") ->css_id("g-login-menu") ->css_class("g-inline ui-helper-clear-fix"); module::event("user_menu", $menu, $this); return $menu->render(); } /** * Print out any site wide status information. */ public function site_status() { return site_status::get(); } /** * Print out any messages waiting for this user. */ public function messages() { return message::get(); } /** * Handle all theme functions that insert module content. */ public function __call($function, $args) { switch ($function) { case "admin_credits"; case "admin_footer": case "admin_header_top": case "admin_header_bottom": case "admin_page_bottom": case "admin_page_top": case "admin_head": case "body_attributes": case "html_attributes": $blocks = array(); if (method_exists("gallery_theme", $function)) { switch (count($args)) { case 0: $blocks[] = gallery_theme::$function($this); break; case 1: $blocks[] = gallery_theme::$function($this, $args[0]); break; case 2: $blocks[] = gallery_theme::$function($this, $args[0], $args[1]); break; default: $blocks[] = call_user_func_array( array("gallery_theme", $function), array_merge(array($this), $args)); } } foreach (module::active() as $module) { if ($module->name == "gallery") { continue; } $helper_class = "{$module->name}_theme"; if (class_exists($helper_class) && method_exists($helper_class, $function)) { $blocks[] = call_user_func_array( array($helper_class, $function), array_merge(array($this), $args)); } } $helper_class = theme::$admin_theme_name . "_theme"; if (class_exists($helper_class) && method_exists($helper_class, $function)) { $blocks[] = call_user_func_array( array($helper_class, $function), array_merge(array($this), $args)); } if (Session::instance()->get("debug")) { if ($function != "admin_head" && $function != "body_attributes") { array_unshift( $blocks, "