/**
  * Crea un Controlador para el menu
  *
  */
 public function create()
 {
     //Datos del select
     $perfiles = new Perfil();
     $this->perfiles = $perfiles->find('order: nombre');
     $menus = new Menus();
     $this->menus = $menus->find('order: nombre');
     /**
      * Se verifica si el usuario envio el form (submit) y si ademas
      * dentro del array POST existe uno llamado "controllers"
      * el cual aplica la autocarga de objeto para guardar los
      * datos enviado por POST utilizando autocarga de objeto
      */
     if (Input::hasPost('controllers')) {
         /**
          * se le pasa al modelo por constructor los datos del form y ActiveRecord recoge esos datos
          * y los asocia al campo correspondiente siempre y cuando se utilice la convención
          * model.campo
          */
         $controller = new Controlador(Input::post('controllers'));
         //En caso que falle la operación
         if (!$controller->save()) {
             Flash::error('Falló Operación');
             //se hacen persistente los datos en el formulario
             $this->controllers = Input::post('controllers');
             /**
              * NOTA: para que la autocarga aplique de forma correcta, es necesario que llame a la variable de instancia
              * igual como esta el model de la vista, en este caso el model es "controllers"
              */
         }
     }
 }
 public function getMenuAction()
 {
     $fid = $this->request->getPost('fid');
     $data = '';
     $Menus = Menus::find(array("fid='" . $fid . "'"));
     $MLang = $this->inc->getLang('menus');
     foreach ($Menus as $val) {
         $data[] = array('id' => $val->id, 'title' => $MLang->_($val->title));
     }
     echo json_encode($data);
 }
Exemple #3
0
 /**
  * Eliminar un menu
  *
  * @param int $id
  */
 public function del($id = null)
 {
     $menus = new Menus();
     if ($id) {
         //Buscando el Objeto a Borrar
         $menu = $menus->find($id);
         if (!$menu->delete()) {
             Flash::error('Falló Operación');
         }
     }
     //enrutando al index para listar los menus
     Router::redirect('admin/menus/');
 }
 public function permAction()
 {
     $Lang = $this->inc->getLang('menus');
     $html = '';
     $permArr = $this->splitPerm($this->request->getPost('perm'));
     $actionM = MenuAction::find();
     $menu1 = Menus::find('fid=0');
     foreach ($menu1 as $m1) {
         $ck = isset($permArr[$m1->id]) ? 'checked' : '';
         $title1 = $Lang->_($m1->title);
         $html .= '<div id="oneMenuPerm" class="perm">';
         $html .= '    <span class="text1"><input type="checkbox" value="' . $m1->id . '" ' . $ck . ' /></span>';
         $html .= '    <span>[<a href="#">-</a>] ' . $title1 . '</span>';
         $html .= '</div>';
         $menu2 = Menus::find('fid=' . $m1->id);
         foreach ($menu2 as $m2) {
             $ck = isset($permArr[$m2->id]) ? 'checked' : '';
             $title2 = $Lang->_($m2->title);
             $html .= '<div id="twoMenuPerm" class="perm">';
             $html .= '    <span class="text2"><input type="checkbox" value="' . $m2->id . '" ' . $ck . ' /></span>';
             $html .= '    <span>[<a href="#">-</a>] ' . $title2 . '</span>';
             $html .= '</div>';
             $menu3 = Menus::find('fid=' . $m2->id);
             foreach ($menu3 as $m3) {
                 $ck = isset($permArr[$m3->id]) ? 'checked' : '';
                 $title3 = $Lang->_($m3->title);
                 $html .= '<div id="threeMenuPerm" class="perm perm_action">';
                 $html .= '      <span class="text3"><input type="checkbox" name="threeMenuPerm" value="' . $m3->id . '" ' . $ck . ' /></span>';
                 $html .= '      <span>[<a href="#">-</a>] ' . $title3 . '</span>';
                 $html .= '  <span id="actionPerm_' . $m3->id . '"> ( ';
                 foreach ($actionM as $val) {
                     if (intval($m3->perm) & intval($val->perm)) {
                         $ck = @$permArr[$m3->id] & intval($val->perm) ? 'checked' : '';
                         $name = $Lang->_($val->name);
                         $html .= '<span><input type="checkbox" value="' . $val->perm . '" ' . $ck . ' /></span><span class="text">' . $name . '</span>';
                     }
                 }
                 $html .= ')</span>';
                 $html .= '</div>';
             }
         }
     }
     $this->view->setVar('menusHtml', $html);
     $this->view->pick("system/admin/perm");
 }
 public function menuitems($menuid)
 {
     $menu = Menus::find($menuid);
     $menuitems = $menu->menuitems;
     $this->layout->content = View::make('laracms/views/menus/menuitems')->with('menuitems', $menuitems)->with('menu', $menu);
 }
Exemple #6
0
}, 1);
Event::listen('backend.header.create', function () {
    return array('laracms/extends/backend/header');
}, 1);
Event::listen('laracms.pages.all', function ($params) {
    return Pages::all();
}, 1);
Event::listen('laracms.main.content', function ($params) {
    return Config::get('cms.controller.content');
}, 1);
Event::listen('laracms.pages.last', function ($params) {
    return Pages::orderby('created_at', 'desc')->first();
}, 1);
Event::listen('laracms.menus.specific', function ($params) {
    $specific = Cache::remember('laracms_specific_menu_' . $params['menuid'], 60, function () use($params) {
        $menu = Menus::find($params['menuid']);
        $it = $menu->menuitems;
        $items = array();
        $content = Event::fire('laracms.collect.content.types');
        foreach ($it as $k => $ti) {
            $items[$k] = $ti;
            $subs = array();
            if ($ti->model != '') {
                $model = $ti->model;
                foreach ($content as $ptype) {
                    foreach ($ptype as $ctype) {
                        if ($model == $ctype['model']) {
                            $slug = $ctype['slug'];
                        }
                    }
                }
Exemple #7
0
 public function getMenus()
 {
     $Lang = $this->inc->getLang('menus');
     $permArr = $this->session->get('Admin');
     $Cname = $this->dispatcher->getControllerName();
     $FID = $this->getFID($Cname);
     $M1 = 0;
     $M2 = 0;
     $One = Menus::find(array("fid = :fid:", 'bind' => array('fid' => '0'), 'order' => 'sort'));
     foreach ($One as $val1) {
         if (isset($permArr['perm_s'][$val1->url])) {
             $data[$M1] = array('id' => $val1->id, 'title' => $Lang->_($val1->title), 'url' => $val1->url, 'ico' => $val1->ico);
             $Two = Menus::find(array("fid = :fid:", 'bind' => array('fid' => $val1->id), 'order' => 'sort'));
             foreach ($Two as $val2) {
                 if (isset($permArr['perm_s'][$val2->url])) {
                     if ($val1->id == $FID['FID1']) {
                         $data[$M1]['menus'][$M2] = array('id' => $val2->id, 'title' => $Lang->_($val2->title), 'url' => $val2->url, 'ico' => $val2->ico);
                         $three = Menus::find(array("fid = :fid:", 'bind' => array('fid' => $val2->id), 'order' => 'sort'));
                         foreach ($three as $val3) {
                             if (isset($permArr['perm_s'][$val3->url])) {
                                 $data[$M1]['menus'][$M2]['menus'][] = array('id' => $val3->id, 'title' => $Lang->_($val3->title), 'url' => $val3->url, 'ico' => $val3->ico);
                             }
                         }
                     } else {
                         $data[$M1]['menus'] = FALSE;
                     }
                     $M2++;
                 }
             }
             $M1++;
         }
     }
     $this->Ctitle = $Lang->_($FID['Ctitle']);
     $action = $this->actionMenus($permArr['perm_s'][$Cname], $Cname, $Lang);
     return array('Date' => $data, 'FID' => $FID, 'Ctitle' => $this->Ctitle, 'action' => $action);
 }
 public function getMenuAction()
 {
     $fid = $this->request->getPost('fid');
     $data = '';
     $Menus = Menus::find(array("fid='" . $fid . "'"));
     $MLang = $this->inc->getLang('menus');
     foreach ($Menus as $val) {
         $data[] = array('id' => $val->id, 'title' => $MLang->_($val->title));
     }
     return $this->response->setJsonContent($data);
 }