コード例 #1
0
ファイル: Menu.php プロジェクト: Ognestraz/lumen-admin
 public function inMenu()
 {
     $inMenu = array();
     if ($this->id) {
         $menuSite = \Model\Menu::where('element_id', $this->id)->where('module', 'site')->get();
         foreach ($menuSite as $m) {
             $node = $m->rootNode();
             if (!empty($node)) {
                 $inMenu[$node] = true;
             }
         }
     }
     $menu = \Model\Menu::where('parent', 0)->get();
     $return = array();
     foreach ($menu as $m) {
         $return[] = array('menu' => $m, 'checked' => isset($inMenu[$m->id]));
     }
     return $return;
 }
コード例 #2
0
ファイル: Menu.php プロジェクト: Ognestraz/lumen-admin
 protected function _record($model, $action)
 {
     parent::_record($model, $action);
     $module = $this->modelName;
     if (Input::get('inmenu') && is_array(Input::get('menu'))) {
         $menuSite = \Model\Menu::where('element_id', $this->result['model']['id'])->where('module', $module)->get();
         $inMenu = array();
         $isMenu = array();
         foreach ($menuSite as $m) {
             $inMenu[$m->id] = $m->rootNode();
             if (in_array($inMenu[$m->id], Input::get('menu'))) {
                 $isMenu[] = $inMenu[$m->id];
                 $menu = $m;
                 $menu->module = $module;
                 $menu->name = $this->result['model']['name'];
                 $menu->path = $this->result['model']['path'];
                 $model->menu()->save($menu);
             } else {
                 $m->forceDelete();
             }
         }
         $newMenu = array_diff(Input::get('menu'), $isMenu);
         foreach ($newMenu as $mn) {
             $menu = new \Model\Menu();
             $menu->module = $module;
             $menu->name = $this->result['model']['name'];
             $menu->path = $this->result['model']['path'];
             $menu->parent = $mn;
             if ($this->result['model']['parent']) {
                 $parent = \Model\Menu::where('element_id', $this->result['model']['parent'])->where('module', $module)->get();
                 foreach ($parent as $m) {
                     $node = $m->rootNode();
                     if ($node == $mn) {
                         $menu->parent = $m->id;
                     }
                 }
             }
             $model->menu()->save($menu);
         }
     }
     return $this->result();
 }