예제 #1
0
 public function choose($type, $theme_name)
 {
     access::verify_csrf();
     $info = theme::get_info($theme_name);
     if ($type == "admin" && $info->admin) {
         module::set_var("gallery", "active_admin_theme", $theme_name);
         message::success(t("Successfully changed your admin theme to <b>%theme_name</b>", array("theme_name" => $info->name)));
     } else {
         if ($type == "site" && $info->site) {
             module::set_var("gallery", "active_site_theme", $theme_name);
             message::success(t("Successfully changed your Gallery theme to <b>%theme_name</b>", array("theme_name" => $info->name)));
         }
     }
     url::redirect("admin/themes");
 }
예제 #2
0
 /**
  * Attempts to load a view and pre-load view data.
  *
  * @throws  Kohana_Exception  if the requested view cannot be found
  * @param   string  $name view name
  * @param   string  $page_type page type: collection, item, or other
  * @param   string  $page_subtype page sub type: album, photo, tags, etc
  * @param   string  $theme_name view name
  * @return  void
  */
 public function __construct($name, $page_type, $page_subtype)
 {
     parent::__construct($name);
     $this->theme_name = module::get_var("gallery", "active_site_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->item = null;
     $this->tag = null;
     $this->set_global(array("theme" => $this, "theme_info" => theme::get_info($this->theme_name), "user" => identity::active_user(), "page_type" => $page_type, "page_subtype" => $page_subtype, "page_title" => null));
     if (module::get_var("gallery", "maintenance_mode", 0)) {
         if (identity::active_user()->admin) {
             message::warning(t("This site is currently in maintenance mode.  Visit the <a href=\"%maintenance_url\">maintenance page</a>", array("maintenance_url" => url::site("admin/maintenance"))));
         } else {
             message::warning(t("This site is currently in maintenance mode."));
         }
     }
 }