예제 #1
0
 public function showSidebar($allowed_routes)
 {
     $module_array = App\Module::orderBy('order', 'DESC')->get();
     $menu = "";
     foreach ($module_array as $key => $value) {
         $number = 0;
         $ul = "";
         foreach ($value->feature as $feature) {
             $li = "";
             $route = json_decode($feature->url_action);
             if ($route == NULL) {
                 $route = $feature->url_action;
             } else {
                 $route = $route[0];
             }
             if ($feature->is_menu && $feature->parent_id == 0 && in_array($route, $allowed_routes)) {
                 $link = Route::has($route) ? route($route) : "#";
                 $items = FeatureNode::defaultOrder()->descendantsOf($feature->id);
                 $items->linkNodes();
                 $items = $items->toTree();
                 $li = $this->getMenuchildren($items, $allowed_routes, $number);
                 if ($number >= 1) {
                     $li = "<li><a href='{$link}'>{$feature->name_feature}<i class='fa fa-angle-left pull-right'></i></a><ul class='treeview-menu'>{$li}</ul></li>";
                 } else {
                     $li = "";
                 }
             }
             $ul .= $li;
         }
         $menu .= $ul;
     }
     return $menu;
 }