예제 #1
0
 public static function navigationdata()
 {
     $testlist = array();
     $returndata = array();
     $navheader = Header::order_by('step', 'asc')->get();
     foreach ($navheader as $key => $value) {
         $returndata[$key]['header'] = $value->navheader;
         $returndata[$key]['moduleid'] = $value->navheaderid;
         $testlist = Header::find($value->navheaderid)->navpages()->order_by('parentstep', 'asc')->get();
         foreach ($testlist as $ckey => $cvalue) {
             $parent = Page::find($cvalue->modulpageid);
             if (!empty($parent) && $cvalue->parentid == NULL) {
                 $returndata[$key]['parent'][$ckey]['alias'] = $parent->actionalias;
                 $returndata[$key]['parent'][$ckey]['pageid'] = $cvalue->navpageid;
                 $returndata[$key]['parent'][$ckey]['path'] = $parent->modul . '/' . $parent->controller . '/' . $parent->action;
                 $child = Link::where('parentid', '=', $cvalue->navpageid)->get();
                 if (!empty($child)) {
                     foreach ($child as $childkey => $childvalue) {
                         $childpage = Page::find($childvalue->modulpageid);
                         $returndata[$key]['parent'][$ckey]['child'][$childkey]['alias'] = $childpage->actionalias;
                         $returndata[$key]['parent'][$ckey]['child'][$childkey]['childid'] = $childvalue->navpageid;
                         $returndata[$key]['parent'][$ckey]['child'][$childkey]['path'] = $childpage->controller . '/' . $childpage->action;
                     }
                 }
             }
         }
     }
     return $returndata;
 }
예제 #2
0
 public static function setPages($component)
 {
     $ctrlArrangment = count($component) + 1;
     foreach ($component as $modul => $modulcontents) {
         unset($modulcontents['id']);
         $ctrlArrangment = count($modulcontents) + 1;
         foreach ($modulcontents as $submodul => $submodulcontents) {
             if ($submodulcontents['id'] == null) {
                 $menu = new Page();
             } else {
                 $menu = Page::find($submodulcontents['id']);
             }
             if (isset($submodulcontents['remove']) && $submodulcontents['remove'] == 1) {
                 Page::find($submodulcontents['id'])->delete();
                 unset($submodulcontents['remove']);
             } else {
                 $menu->modul = $modul;
                 $menu->controller = $submodul;
                 // $menu->controlleralias = $submodulcontents['controlleralias'];
                 $menu->visible = isset($submodulcontents['show']) && $submodulcontents['show'] == 'on' ? 1 : 0;
                 $menu->auth = isset($submodulcontents['auth']) && $submodulcontents['auth'] == 'on' ? 1 : 0;
                 $menu->admin = isset($submodulcontents['admin']) && $submodulcontents['admin'] == 'on' ? 1 : 0;
                 $menu->arrangement = isset($submodulcontents['arrangement']) ? $submodulcontents['arrangement'] : $ctrlArrangment;
                 $menu->save();
                 unset($submodulcontents['arrangement']);
                 unset($submodulcontents['controlleralias']);
                 unset($submodulcontents['show']);
                 unset($submodulcontents['auth']);
                 unset($submodulcontents['admin']);
             }
             unset($submodulcontents['id']);
             $actionArrangment = count($submodulcontents) + 1;
             foreach ($submodulcontents as $action => $actioncontents) {
                 if ($actioncontents['id'] == null) {
                     $menu = new Page();
                 } else {
                     $menu = Page::find($actioncontents['id']);
                 }
                 if (isset($actioncontents['remove']) && $actioncontents['remove'] == 1) {
                     Page::find($actioncontents['id'])->delete();
                 } else {
                     $menu->modul = $modul;
                     $menu->controller = $submodul;
                     $menu->action = $action;
                     $menu->actionalias = $actioncontents['actionalias'];
                     $menu->visible = isset($actioncontents['show']) && $actioncontents['show'] == 'on' ? 1 : 0;
                     $menu->auth = isset($actioncontents['auth']) && $actioncontents['auth'] == 'on' ? 1 : 0;
                     $menu->admin = isset($actioncontents['admin']) && $actioncontents['admin'] == 'on' ? 1 : 0;
                     $menu->arrangement = isset($actioncontents['arrangement']) ? $actioncontents['arrangement'] : $actionArrangment;
                     $menu->save();
                 }
                 unset($submodulcontents[$action]);
                 $actionArrangment++;
             }
             $ctrlArrangment++;
         }
     }
 }
예제 #3
0
 public function post_deletemodule()
 {
     $input = Input::get();
     $header = Header::find($input['id']);
     $head = $header->navheader;
     $header->delete();
     $desc = Link::where('navheaderid', '=', $input['id'])->get();
     Link::where('navheaderid', '=', $input['id'])->delete();
     Log::write('System', 'Delete Navigation Module ' . $head . ' by ' . Auth::user()->username);
     foreach ($desc as $key => $value) {
         $page = Page::find($value->modulpageid)->actionalias;
         Log::write('System', 'Delete Navigation Page ' . $head . '/' . $page . ' by ' . Auth::user()->username);
     }
     return Menu::navTree();
 }