summaryrefslogtreecommitdiff
path: root/core/controllers/admin_themes.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/controllers/admin_themes.php')
-rw-r--r--core/controllers/admin_themes.php19
1 files changed, 17 insertions, 2 deletions
diff --git a/core/controllers/admin_themes.php b/core/controllers/admin_themes.php
index 6641221f..8943f588 100644
--- a/core/controllers/admin_themes.php
+++ b/core/controllers/admin_themes.php
@@ -21,12 +21,27 @@ class Admin_Themes_Controller extends Admin_Controller {
public function index() {
$view = new Admin_View("admin.html");
$view->content = new View("admin_themes.html");
- $themes = scandir(THEMEPATH);
- $view->content->themes = array_diff($themes, array(".", "..", ".svn"));
+ $themeDir = scandir(THEMEPATH);
+ $themes = array();
+ foreach ($themeDir as $theme_name) {
+ if (substr($theme_name, 0, 1) == ".") continue;
+ $file = THEMEPATH . $theme_name . "/theme.info";
+ $theme_info = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
+ $details = theme::get_edit_form_admin($theme_info);
+ $theme_info['details'] = $details;
+ $themes[$theme_name] = $theme_info;
+ }
+ $view->content->themes = $themes;
$view->content->active = module::get_var("core", "active_theme");
print $view;
}
+ public function edit($theme_name) {
+ $file = THEMEPATH . $theme_name . "/theme.info";
+ $theme_info = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
+ print theme::get_edit_form_admin($theme_info);
+ }
+
public function save() {
access::verify_csrf();
$theme = $this->input->post("theme");