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; }
/** * Show tree , use send data from client ajax * @param [int] $id * @return void */ public function showTree($id) { $features = Feature::where('module_id', '=', $id)->where('parent_id', '=', 0)->get(); if (count($features) == 0) { echo ""; } else { echo "<table class='tree table'>"; foreach ($features as $k_fea => $val_fea) { echo "<tr class='treegrid-" . $val_fea->id . "'><td>" . $val_fea->name_feature . "</td></tr>"; $items = FeatureNode::descendantsOf($val_fea->id); $items->linkNodes(); $items = $items->toTree(); echo $this->echoRecurTreeView($items); } echo "</table>"; } }