diff options
-rw-r--r-- | core/libraries/Menu.php | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/libraries/Menu.php b/core/libraries/Menu.php index 6cc877cb..8f15e942 100644 --- a/core/libraries/Menu.php +++ b/core/libraries/Menu.php @@ -130,6 +130,21 @@ class Menu_Core extends Menu_Element { } /** + * Add a new element to this menu + */ + public function add_after($target_id, $new_menu_element) { + $copy = array(); + foreach ($this->elements as $id => $menu_element) { + $copy[$id] = $menu_element; + if ($id == $target_id) { + $copy[$target_id] = $new_menu_element; + } + } + $this->elements = $copy; + return $this; + } + + /** * Retrieve a Menu_Element by id */ public function get($id) { |