WP File Manager
Current Path:
/
home
/
itutorethiopia
/
public_html
/
app
/
Http
/
Controllers
/
bsetec
/
Name
Action
..
ConfigController.php
Edit
DashboardController.php
Edit
MenuController.php
Edit
ModuleController.php
Edit
TablesController.php
Edit
blog
Editing: MenuController.php
<?php namespace App\Http\Controllers\bsetec; use App\Models\bsetec\Menu; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Validator, Input, Redirect; class MenuController extends Controller { public function __construct() { $this->model = new Menu(); $this->info = $this->model->makeInfo( 'menu'); $this->access = $this->model->validAccess($this->info['id']); } public function getIndex( Request $request ,$id = null ) { $pos = (!is_null($request->input('pos')) ? $request->input('pos') : 'top' ); $row = \DB::table('menu')->where('menu_id',$id)->get(); if(count($row)>=1) { $rows = $row[0]; $this->data['row'] = (array) $rows; $this->data['menu_lang'] = json_decode($rows->menu_lang,true); } else { $this->data['row'] = array( 'menu_id' => '', 'parent_id' => '', 'menu_name' => '', 'menu_type' => '', 'url' => '', 'module' => '', 'position' => '', 'menu_icons' => '', 'active' => '', 'allow_guest' => '', 'access_data' => '', ); $this->data['menu_lang'] = array(); } //echo '<pre>';print_r($this->data);echo '</pre>'; exit; $this->data['menus'] = \SiteHelpers::menus( $pos ,'all', true); $this->data['modules'] = \DB::table('module')->where('module_type','!=','core')->get(); $this->data['groups'] = \DB::select(" SELECT * FROM ".\bsetecHelpers::getdbprefix()."groups "); $this->data['pages'] = \DB::select(" SELECT * FROM ".\bsetecHelpers::getdbprefix()."pages "); $this->data['active'] = $pos; return view('bsetec.menu.index',$this->data); } function postSaveorder( Request $request, $id =0) { $rules = array( 'reorder' => 'required' ); $validator = Validator::make($request->all(), $rules); if ($validator->passes()) { $menus = json_decode($request->input('reorder'),true); $child = array(); $a=0; foreach($menus as $m) { if(isset($m['children'])) { $b=0; foreach($m['children'] as $l) { if(isset($l['children'])) { $c=0; foreach($l['children'] as $l2) { $level3[] = $l2['id']; \DB::table('menu')->where('menu_id','=',$l2['id']) ->update(array('parent_id'=> $l['id'],'ordering'=>$c)); $c++; } } \DB::table('menu')->where('menu_id','=', $l['id']) ->update(array('parent_id'=> $m['id'],'ordering'=>$b)); $b++; } } \DB::table('menu')->where('menu_id','=', $m['id']) ->update(array('parent_id'=>'0','ordering'=>$a)); $a++; } return Redirect::to('bsetec/menu') ->with('messagetext', 'Data Has Been Save Successfull')->with('msgstatus','success'); } else { return Redirect::to('bsetec/menu') ->with('messagetext', 'The following errors occurred')->with('msgstatus','error'); } } function postSave( Request $request, $id =0) { $rules = array( 'menu_name' => 'required', 'active' => 'required', 'menu_type' => 'required', 'position' => 'required', 'groups' =>'required', ); $message = array( 'groups.required' =>'The groups access is required.', ); $pos = $request->input('position'); $validator = Validator::make($request->all(), $rules,$message); if ($validator->passes()) { $data = $this->validatePost('menu'); if(CNF_MULTILANG ==1) { $lang = \SiteHelpers::langOption(); $language =array(); foreach($lang as $l) { if($l['folder'] !='en'){ $menu_lang = (isset($_POST['language_title'][$l['folder']]) ? $_POST['language_title'][$l['folder']] : ''); $language['title'][$l['folder']] = $menu_lang; } } $data['menu_lang'] = json_encode($language); } $arr = array(); $brr = array(); $groups = \DB::table('groups')->get(); $gro = $_POST['groups']; foreach ($gro as $key => $value) { if($value == 1){ $brr["1"] = "1"; } elseif ($value == 2) { $brr["2"] = "1"; } elseif ($value == 3) { $brr["3"] = "1"; } } foreach($groups as $g) { $arr[$g->group_id] = (isset($brr[$g->group_id]) ? "1" : "0" ); } $data['access_data'] = json_encode($arr); $data['allow_guest'] = $request->input('allow_guest'); //menu url type if($request->get('menu_type') =='external'){ $data['url'] = $request->get('url'); $data['module'] = ''; }else{ $data['module'] = $request->get('module'); $data['url'] = ''; } $menus = Menu::find($request->input('menu_id')); if(!$menus && $request->input('menu_id') !=0){ return Redirect::to("home/nodatafound")->with('messagetext', 'Data Removed')->with('msgstatus', 'error'); } $this->model->insertRow($data , $request->input('menu_id')); return Redirect::to('bsetec/menu?pos='.$pos) ->with('messagetext', 'Data Has Been Save Successfull')->with('msgstatus','success'); } else { return Redirect::to('bsetec/menu?pos='.$pos) ->with('messagetext', 'The following errors occurred')->with('msgstatus','error')->withErrors($validator)->withInput(); } } public function getDestroy($id) { // delete multipe rows $menus = \DB::table('menu')->where('parent_id','=',$id)->get(); foreach($menus as $row) { $this->model->destroy($row->menu_id); } $this->model->destroy($id); return Redirect::to('bsetec/menu') ->with('messagetext', 'Successfully deleted row!')->with('msgstatus','success'); } }