admin) { $admin_themes[$theme_name] = $theme_info; } else { $themes[$theme_name] = $theme_info; } } $view = new Admin_View("admin.html"); $view->content = new View("admin_themes.html"); $view->content->themes = $themes; $view->content->admin_themes = $admin_themes; $view->content->active = module::get_var("core", "active_theme"); $view->content->active_admin = module::get_var("core", "active_admin_theme"); print $view; } public function edit_form($theme_name) { $file = THEMEPATH . $theme_name . "/theme.info"; $theme_info = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS); $theme_info['id'] = $theme_name; print theme::get_edit_form_admin($theme_info); } public function edit($theme_name) { $file = THEMEPATH . $theme_name . "/theme.info"; $theme_info = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS); $theme_info['id'] = $theme_name; $form = theme::get_edit_form_admin($theme_info); $valid = $form->validate(); if ($valid) { foreach (array("page_size", "thumb_size", "resize_size") as $param) { $val = theme::get_var($theme_name, $param); $input_val = $form->edit_theme->{$param}->value; if ($val != $input_val) { module::set_var($theme_name, $param, $input_val); } } print json_encode(array("result" => "success", "message" => t("Theme was successfully updated"))); } else { print json_encode(array("result" => "error", "message" => t("Error saving theme values"))); } } public function save() { access::verify_csrf(); $theme = $this->input->post("themes"); if ($theme != module::get_var("core", "active_theme")) { module::set_var("core", "active_theme", $theme); message::success(t("Updated Theme")); log::success("graphics", t("Changed theme to {{theme_name}}", array("theme_name" => $theme))); } url::redirect("admin/themes"); } }