From aee3efe972317b49329703e354cc1d90afdf9488 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 20 Dec 2008 00:52:20 +0000 Subject: Create a pattern for admin dashboard blocks and make the "welcome" block. --- core/libraries/Admin_View.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'core/libraries') diff --git a/core/libraries/Admin_View.php b/core/libraries/Admin_View.php index 4957fdce..548a4355 100644 --- a/core/libraries/Admin_View.php +++ b/core/libraries/Admin_View.php @@ -59,4 +59,27 @@ class Admin_View_Core extends View { print $menu; } + + /** + * Handle all theme functions that insert module content. + */ + public function __call($function, $args) { + switch ($function) { + case "dashboard_blocks": + $function = "admin_$function"; + $blocks = array(); + foreach (module::installed() as $module) { + $helper_class = "{$module->name}_block"; + if (method_exists($helper_class, $function)) { + $blocks[] = call_user_func_array( + array($helper_class, $function), + array_merge(array($this), $args)); + } + } + return implode("\n", $blocks); + + default: + throw new Exception("@todo UNKNOWN_THEME_FUNCTION: $function"); + } + } } \ No newline at end of file -- cgit v1.2.3