/** * 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>"; } }
/** * Create menu * * @param [array] $arrparent * @param [int] $id * @param [array] $url * @param [string] $name * @return [string] */ public function createParent($arrparent, $id, $url, $name) { $str = ""; $features = \App\Feature::where('parent_id', '=', $id)->get(); array_push($this->check_feature, $id); if (count($features) > 0) { $str = "<li class='treeview'><a href='{$url}'><i class=''></i> {$name} <i class='fa fa-angle-left pull-right'></i></a><ul class='treeview-menu'>"; $newstr = ""; $number = 0; foreach ($features as $feature) { if ($feature->is_menu == 1 && in_array(array($feature->id => $feature->url_action), $this->listfeaturegroup) && !in_array($feature->id, $this->check_feature)) { $number++; array_push($this->check_feature, $feature->id); $fj = json_decode($feature->url_action); $link = ""; if ($fj == NULL) { $link = route($feature->url_action); } else { $link = route($fj[0]); } $newstr .= $this->createParent($arrparent, $feature->id, $link, $feature->name_feature); } } if ($number == 1) { $str = $newstr; } else { if ($newstr == "") { $str = "<li><a href='{$url}'><i class=''></i>{$name}</a></li>"; } else { $str .= $newstr . "</ul></li>"; } } } else { $str = "<li><a href='{$url}'><i class=''></i>{$name}</a></li>"; } return $str; }
public function upload_feature(Request $request) { $this->validate($request, Feature::rules()); $feature = Feature::where('id', $request->feature_id)->first(); $feature->href = $request->href; $feature->btnclass = $request->btnclass; $feature->innerhtml = $request->innerhtml; $feature->save(); session()->flash('message', '功能更新成功'); return Redirect::back(); }
/** * Post feature * @return [string] */ public function postFeature() { $id = isset($_GET['id']) ? (int) $_GET['id'] : false; $id_feature = isset($_GET['id_feature']) ? (int) $_GET['id_feature'] : false; $features = Feature::where('module_id', '=', $id)->get(); $data = array(); foreach ($features as $key => $value) { if ($value->id == $id_feature) { continue; } $item = array("id" => $value->id, "name" => $value->name_feature); array_push($data, $item); } echo json_encode($data); //return View('features.addfeature', compact('feature')); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(UpdateFeatureFromRequest $request, $id) { try { $inputs = $request->all(); $feature = Feature::find($id); if ($feature->module != $inputs['module']) { $module_exists = Feature::where('module', $inputs['module'])->exists(); if ($module_exists) { return Redirect::to('/crm/feature/')->withMessage(Generate::error_message('Fail', 'Module name already exists.')); } } $feature->update($inputs); return Redirect::to('/crm/feature/' . $id)->withMessage(Generate::success_message('Success', 'Updated Successfully')); } catch (Exception $e) { //redirect to the url you wan along with the message return Redirect::to('/crm/feature/')->withMessage(Generate::error_message('Fail', 'Failed to update.')); } }
public static function getPermissionsByModule($module, $position) { //get the permission by their module... return Feature::where('module', $module)->first()->permissions()->where('position', $position)->get(); }