]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/menu.php
Merge branch 'nightly' into 'nightly'
[quix0rs-gnu-social.git] / lib / menu.php
index b92b37dbb1b3e788d852d74c62509e2b600a6c1c..236e99263d0bc418b18cb063f56c7b7eed938196 100644 (file)
@@ -56,7 +56,7 @@ class Menu extends Widget
      *
      * @param Action $action current action, used for output
      */
-    function __construct($action=null)
+    function __construct(Action $action=null)
     {
         parent::__construct($action);
 
@@ -104,7 +104,7 @@ class Menu extends Widget
         }
     }
     
-    function item($actionName, $args, $label, $description, $id=null)
+    function item($actionName, array $args, $label, $description, $id=null, $cls=null)
     {
         if (empty($id)) {
             $id = $this->menuItemID($actionName, $args);
@@ -116,10 +116,11 @@ class Menu extends Widget
                              $label,
                              $description,
                              $this->isCurrent($actionName, $args),
-                             $id);
+                             $id,
+                             $cls);
     }
 
-    function isCurrent($actionName, $args)
+    function isCurrent($actionName, array $args)
     {
         if ($actionName != $this->actionName) {
             return false;
@@ -149,9 +150,12 @@ class Menu extends Widget
 
     function submenu($label, $menu)
     {
-        $this->action->elementStart('li');
-        $this->action->element('h3', null, $label);
-        $menu->show();
-        $this->action->elementEnd('li');
+        if (Event::handle('StartSubMenu', array($this->action, $menu, $label))) {
+            $this->action->elementStart('li');
+            $this->action->element('h3', null, $label);
+            $menu->show();
+            $this->action->elementEnd('li');
+            Event::handle('EndSubMenu', array($this->action, $menu, $label));
+        }
     }
 }