diff --git a/application/classes/Menu.php b/application/classes/Menu.php index c2614a98..1b1e84d3 100644 --- a/application/classes/Menu.php +++ b/application/classes/Menu.php @@ -23,7 +23,49 @@ class Menu { if (empty($result[$mmo->id])) $result[$mmo->id] = $mmo; + return static::collapse($result); + } + + private static function collapse(array $array) { + $result = array(); + + foreach ($array as $item) { + if (isset($result[$item->module->name])) { + if (! is_array($result[$item->module->name])) + $result[$item->module->name] = array($result[$item->module->name]); + + array_push($result[$item->module->name],$item); + + continue; + + } else { + $result[$item->module->name] = $item; + } + } + return $result; } + + public static function ul(array $result,array $append=NULL,$sub=FALSE) { + $output = $sub ? '