diff options
author | shadlaws <shad@shadlaws.com> | 2013-03-11 11:40:15 +0100 |
---|---|---|
committer | shadlaws <shad@shadlaws.com> | 2013-03-11 11:40:15 +0100 |
commit | c137740e267bdcb6af58c839d0790399d625f41b (patch) | |
tree | dbbedeacd1f689678588aaf15217e0def5790505 | |
parent | 4d631a4cad515984fd202fbaa124b6a01f156379 (diff) |
#2050 - Update Admin_View to handle events like Theme_View.
- changed Admin_View event handling to reflect that of Theme_View
(gallery_theme gets called first, admin theme gets called last,
debug mode isn't called for body_attributes and gets g-clear-fix)
-rw-r--r-- | modules/gallery/libraries/Admin_View.php | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php index 62645d18..ba348d7a 100644 --- a/modules/gallery/libraries/Admin_View.php +++ b/modules/gallery/libraries/Admin_View.php @@ -93,7 +93,28 @@ class Admin_View_Core extends Gallery_View { case "body_attributes": case "html_attributes": $blocks = array(); + if (method_exists("gallery_theme", $function)) { + switch (count($args)) { + case 0: + $blocks[] = gallery_theme::$function($this); + break; + case 1: + $blocks[] = gallery_theme::$function($this, $args[0]); + break; + case 2: + $blocks[] = gallery_theme::$function($this, $args[0], $args[1]); + break; + default: + $blocks[] = call_user_func_array( + array("gallery_theme", $function), + array_merge(array($this), $args)); + } + } + foreach (module::active() as $module) { + if ($module->name == "gallery") { + continue; + } $helper_class = "{$module->name}_theme"; if (class_exists($helper_class) && method_exists($helper_class, $function)) { $blocks[] = call_user_func_array( @@ -102,15 +123,22 @@ class Admin_View_Core extends Gallery_View { } } + $helper_class = theme::$admin_theme_name . "_theme"; + if (class_exists($helper_class) && method_exists($helper_class, $function)) { + $blocks[] = call_user_func_array( + array($helper_class, $function), + array_merge(array($this), $args)); + } + if (Session::instance()->get("debug")) { - if ($function != "admin_head") { + if ($function != "admin_head" && $function != "body_attributes") { array_unshift( - $blocks, "<div class=\"g-annotated-theme-block g-annotated-theme-block_$function\">" . + $blocks, + "<div class=\"g-annotated-theme-block g-annotated-theme-block_$function g-clear-fix\">" . "<div class=\"title\">$function</div>"); $blocks[] = "</div>"; } } - return implode("\n", $blocks); default: |