diff options
author | Bharat Mediratta <bharat@menalto.com> | 2008-12-18 07:32:34 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2008-12-18 07:32:34 +0000 |
commit | c67234974d578cacfd354b103e1f166e8ea2c426 (patch) | |
tree | 208c16cc8a8d43e60e69b497cfe193d97f885974 /core | |
parent | aed68bfa9f68bfbc5df09135bec371b98a579671 (diff) |
Refactor site admin menu into a theme function and build the menus in
the various modules. In the process, rename xxx_menu::site_navigation() to just
xxx_menu::site(). And add xxx_menu::admin().
The menus are the same as before, but I changed the HTML to be
consistent with the way that we do it in the regular site, and this
broke the superfish styles. I don't know how to fix this.. help me
Chad!
Diffstat (limited to 'core')
-rw-r--r-- | core/helpers/core_menu.php | 106 | ||||
-rw-r--r-- | core/libraries/Admin_View.php | 17 | ||||
-rw-r--r-- | core/libraries/Theme_View.php | 8 |
3 files changed, 91 insertions, 40 deletions
diff --git a/core/helpers/core_menu.php b/core/helpers/core_menu.php index c375e8b1..674c73e2 100644 --- a/core/helpers/core_menu.php +++ b/core/helpers/core_menu.php @@ -18,18 +18,16 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class core_menu_Core { - public static function site_navigation($menu, $theme) { - $menu->append( - Menu::factory("link") - ->id("home") - ->label(_("Home")) - ->url(url::base())); - - $menu->append( - Menu::factory("link") - ->id("browse") - ->label(_("Browse")) - ->url(url::site("albums/1"))); + public static function site($menu, $theme) { + $menu + ->append(Menu::factory("link") + ->id("home") + ->label(_("Home")) + ->url(url::base())) + ->append(Menu::factory("link") + ->id("browse") + ->label(_("Browse")) + ->url(url::site("albums/1"))); $item = $theme->item(); @@ -41,34 +39,70 @@ class core_menu_Core { } if ($item && access::can("edit", $item)) { - $menu->append( - Menu::factory("submenu") - ->id("options_menu") - ->label(_("Options")) - ->append( - Menu::factory("dialog") - ->id("add_item") - ->label(_("Add an item")) - ->url(url::site("form/add/photos/$item->id"))) - ->append( - Menu::factory("dialog") - ->id("add_album") - ->label(_("Add album")) - ->url(url::site("form/add/albums/$item->id")))); + $menu->append(Menu::factory("submenu") + ->id("options_menu") + ->label(_("Options")) + ->append(Menu::factory("dialog") + ->id("add_item") + ->label(_("Add an item")) + ->url(url::site("form/add/photos/$item->id"))) + ->append(Menu::factory("dialog") + ->id("add_album") + ->label(_("Add album")) + ->url(url::site("form/add/albums/$item->id")))); - $admin_menu->append( - Menu::factory("dialog") - ->id("edit") - ->label(_("Edit")) - ->url(url::site("form/edit/{$item->type}s/$item->id"))); + $admin_menu->append(Menu::factory("dialog") + ->id("edit") + ->label(_("Edit")) + ->url(url::site("form/edit/{$item->type}s/$item->id"))); } if (user::active()->admin) { - $admin_menu->append( - Menu::factory("link") - ->id("site_admin") - ->label(_("Site Admin")) - ->url(url::site("admin"))); + $admin_menu->append(Menu::factory("link") + ->id("site_admin") + ->label(_("Site Admin")) + ->url(url::site("admin"))); } } + + public static function admin($menu, $theme) { + $menu + ->append(Menu::factory("link") + ->id("dashboard") + ->label(_("Dashboard")) + ->url(url::site("admin/dashboard"))) + ->append(Menu::factory("link") + ->id("general_settings") + ->label(_("General Settings")) + ->url("#")) + ->append(Menu::factory("submenu") + ->id("content_menu") + ->label(_("Content"))) + ->append(Menu::factory("link") + ->id("modules") + ->label(_("Modules")) + ->url("#")) + ->append(Menu::factory("submenu") + ->id("presentation_menu") + ->label(_("Presentation")) + ->append(Menu::factory("link") + ->id("themes") + ->label(_("Themes")) + ->url("#")) + ->append(Menu::factory("link") + ->id("image_sizes") + ->label(_("Image Sizes")) + ->url("#"))) + ->append(Menu::factory("submenu") + ->id("users_groups_menu") + ->label(_("Users/Groups"))) + ->append(Menu::factory("link") + ->id("maintenance") + ->label(_("Maintenance")) + ->url("#")) + ->append(Menu::factory("link") + ->id("statistics") + ->label(_("Statistics")) + ->url("#")); + } } diff --git a/core/libraries/Admin_View.php b/core/libraries/Admin_View.php index 37ac10d1..4957fdce 100644 --- a/core/libraries/Admin_View.php +++ b/core/libraries/Admin_View.php @@ -42,4 +42,21 @@ class Admin_View_Core extends View { public function display($page_name, $view_class="View") { return new $view_class($page_name); } + + public function admin_menu() { + $menu = new Menu(true); + core_menu::admin($menu, $this); + + foreach (module::installed() as $module) { + if ($module->name == "core") { + continue; + } + $class = "{$module->name}_menu"; + if (method_exists($class, "admin")) { + call_user_func_array(array($class, "admin"), array(&$menu, $this)); + } + } + + print $menu; + } }
\ No newline at end of file diff --git a/core/libraries/Theme_View.php b/core/libraries/Theme_View.php index 933fa2c0..02609063 100644 --- a/core/libraries/Theme_View.php +++ b/core/libraries/Theme_View.php @@ -57,17 +57,17 @@ class Theme_View_Core extends View { return new $view_class($page_name); } - public function site_navigation() { + public function site_menu() { $menu = new Menu(true); - core_menu::site_navigation($menu, $this); + core_menu::site($menu, $this); foreach (module::installed() as $module) { if ($module->name == "core") { continue; } $class = "{$module->name}_menu"; - if (method_exists($class, "site_navigation")) { - call_user_func_array(array($class, "site_navigation"), array(&$menu, $this)); + if (method_exists($class, "site")) { + call_user_func_array(array($class, "site"), array(&$menu, $this)); } } |