theme_name = module::get_var("gallery", "active_admin_theme"); if (user::active()->admin) { $this->theme_name = Input::instance()->get("theme", $this->theme_name); } $this->sidebar = ""; $this->set_global("theme", $this); $this->set_global("user", user::active()); } public function admin_menu($menu=null) { if (!$menu) { $menu = Menu::factory("root"); } $menu ->append(Menu::factory("link") ->id("dashboard") ->label(t("Dashboard")) ->url(url::site("admin"))) ->append(Menu::factory("submenu") ->id("settings_menu") ->label(t("Settings")) ->append(Menu::factory("link") ->id("graphics_toolkits") ->label(t("Graphics")) ->url(url::site("admin/graphics"))) ->append(Menu::factory("link") ->id("languages") ->label(t("Languages")) ->url(url::site("admin/languages"))) ->append(Menu::factory("link") ->id("l10n_mode") ->label(Session::instance()->get("l10n_mode", false) ? t("Stop translating") : t("Start translating")) ->url(url::site("l10n_client/toggle_l10n_mode?csrf=" . access::csrf_token()))) ->append(Menu::factory("link") ->id("advanced") ->label(t("Advanced")) ->url(url::site("admin/advanced_settings")))) ->append(Menu::factory("link") ->id("modules") ->label(t("Modules")) ->url(url::site("admin/modules"))) ->append(Menu::factory("submenu") ->id("content_menu") ->label(t("Content"))) ->append(Menu::factory("submenu") ->id("appearance_menu") ->label(t("Appearance")) ->append(Menu::factory("link") ->id("themes") ->label(t("Theme Choice")) ->url(url::site("admin/themes"))) ->append(Menu::factory("link") ->id("theme_options") ->label(t("Theme Options")) ->url(url::site("admin/theme_options")))) ->append(Menu::factory("submenu") ->id("statistics_menu") ->label(t("Statistics"))) ->append(Menu::factory("link") ->id("maintenance") ->label(t("Maintenance")) ->url(url::site("admin/maintenance"))); module::event("admin_menu", $menu, $this); $menu->compact(); return $menu; } /** * 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": $blocks = array(); foreach (module::active() as $module) { $helper_class = "{$module->name}_theme"; if (method_exists($helper_class, $function)) { $blocks[] = call_user_func_array( array($helper_class, $function), array_merge(array($this), $args)); } } if ($function == "admin_head") { array_unshift($blocks, $this->combine_files($this->css, "css")); array_unshift($blocks, $this->combine_files($this->scripts, "javascript")); } if (Session::instance()->get("debug")) { if ($function != "admin_head") { array_unshift( $blocks, "
" . "
$function
"); $blocks[] = "
"; } } return implode("\n", $blocks); default: throw new Exception("@todo UNKNOWN_THEME_FUNCTION: $function"); } } }