diff options
Diffstat (limited to 'core/controllers')
-rw-r--r-- | core/controllers/admin.php | 37 | ||||
-rw-r--r-- | core/controllers/admin_dashboard.php | 25 |
2 files changed, 40 insertions, 22 deletions
diff --git a/core/controllers/admin.php b/core/controllers/admin.php index 9147059b..30e65886 100644 --- a/core/controllers/admin.php +++ b/core/controllers/admin.php @@ -25,32 +25,25 @@ class Admin_Controller extends Controller { parent::__construct(); } - public function index() { - $theme_name = module::get_var("core", "active_admin_theme", "admin_default"); - $template = new Admin_View("admin.html", $theme_name); - $template->content = new View("dashboard.html"); - print $template; - } - - public function __call($page_name, $args) { - $theme_name = module::get_var("core", "active_admin_theme", "admin_default"); - // For now, we have only two legal pages. - // @todo get these pages from the modules - switch($page_name) { - case "users": - $view = new Admin_View("users.html", $theme_name); - $view->users = ORM::factory("user")->find_all(); - break; + public function __call($controller_name, $args) { + if ($controller_name == "index") { + $controller_name = "dashboard"; + } - case "dashboard": - $view = new Admin_View("dashboard.html", $theme_name); - break; + $controller = "Admin_{$controller_name}_Controller"; + $controller = new $controller; - default: - Kohana::show_404(); + if ($args) { + $method = array_unshift($args); + } else { + $method = "index"; } - print $view; + $theme_name = module::get_var("core", "active_admin_theme", "admin_default"); + $template = new Admin_View("admin.html", $theme_name); + $template->content = + call_user_func_array(array(new $controller, $method), $args); + print $template; } } diff --git a/core/controllers/admin_dashboard.php b/core/controllers/admin_dashboard.php new file mode 100644 index 00000000..7d752495 --- /dev/null +++ b/core/controllers/admin_dashboard.php @@ -0,0 +1,25 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 Bharat Mediratta + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + */ +class Admin_Dashboard_Controller extends Controller { + public function index() { + return new View("admin_dashboard.html"); + } +} + |