コード例 #1
0
 protected function setMenu()
 {
     Menu::modify('adminlte-sidebar', function ($menu) {
         $menu->dropdown('Configurações', function ($sub) {
             $sub->route('admin.mmails.index', 'Formulários', [], 200, ['icon' => 'fa fa-minus', 'active' => function () {
                 return checkActive(route('admin.mmails.index'));
             }])->hideWhen(function () {
                 return checkRule('admin.mmails.index');
             });
             $sub->route('admin.maudit.index', 'Logs', [], 210, ['icon' => 'fa fa-minus', 'active' => function () {
                 return checkActive(route('admin.maudit.index'));
             }])->hideWhen(function () {
                 return checkRule('admin.maudit.index');
             });
             $sub->route('admin.mcache.index', 'Cache', [], 220, ['icon' => 'fa fa-minus', 'active' => function () {
                 return checkActive(route('admin.mcache.index'));
             }])->hideWhen(function () {
                 return checkRule('admin.mcache.index');
             });
         }, 2, ['icon' => 'fa fa-cogs'])->hideWhen(function () {
             return checkRule(['admin.maudit.index', 'admin.mcache.index', 'admin.mmails.index']);
         });
     });
     Menu::modify('adminlte-permissions', function ($menu) {
         $menu->url('admin.mmails.index', 'Formulários', 200);
         $menu->url('admin.maudit.index', 'Logs', 210, ['except' => ['create', 'edit', 'destroy', 'trash']]);
         $menu->url('admin.mcache.index', 'Cache', 220, ['except' => ['create', 'edit', 'destroy', 'trash']]);
     });
 }
コード例 #2
0
 protected function setMenu()
 {
     Menu::create('adminlte-sidebar', function ($menu) {
         $menu->setView('vendor.pingpong.menus.adminlte.default');
         $menu->dropdown('Usuários', function ($sub) {
             $sub->route('admin.users.index', 'Usuários', [], 1, ['icon' => 'fa fa-minus', 'active' => function () {
                 return checkActive(route('admin.users.index'));
             }])->hideWhen(function () {
                 return checkRule('admin.users.index');
             });
             $sub->route('admin.roles.index', 'Grupos', [], 1, ['icon' => 'fa fa-minus', 'active' => function () {
                 return checkActive(route('admin.roles.index'));
             }])->hideWhen(function () {
                 return checkRule('admin.roles.index');
             });
         }, 1, ['icon' => 'fa fa-users'])->hideWhen(function () {
             return checkRule(['admin.users.index', 'admin.roles.index']);
         });
     });
     Menu::create('adminlte-permissions', function ($menu) {
         $menu->setView('vendor.pingpong.menus.adminlte.permissions');
         $menu->url('admin.users', 'Usuários', ['']);
         $menu->url('admin.roles', 'Grupos', ['']);
     });
 }
コード例 #3
0
ファイル: VerifyRules.php プロジェクト: mixdinternet/admix
 public function handle($request, Closure $next)
 {
     $actions = $request->route()->getAction();
     if (!isset($actions['as'])) {
         return redirect()->route('admin.notFound');
     }
     $rule = str_replace(['.store', '.update', '.restore'], ['.create', '.edit', '.trash'], $actions['as']);
     if (checkRule($rule)) {
         return redirect()->route('admin.notFound');
     }
     return $next($request);
 }
コード例 #4
0
 protected function setMenu()
 {
     Menu::modify('adminlte-sidebar', function ($menu) {
         $menu->route('admin.banners.index', config('mbanners.name', 'Banners'), [], config('mbanners.order', 30), ['icon' => config('mbanners.icon', 'fa fa-image'), 'active' => function () {
             return checkActive(route('admin.banners.index'));
         }])->hideWhen(function () {
             return checkRule('admin.banners.index');
         });
     });
     Menu::modify('adminlte-permissions', function ($menu) {
         $menu->url('admin.banners', config('mbanners.name', 'Banners'), config('mbanners.order', 30));
     });
 }
コード例 #5
0
 protected function setMenu()
 {
     Menu::modify('adminlte-sidebar', function ($menu) {
         $menu->route('admin.maudit.index', 'Logs', [], 210, ['icon' => 'fa fa-tasks', 'active' => function () {
             return checkActive(route('admin.maudit.index'));
         }])->hideWhen(function () {
             return checkRule('admin.maudit.index');
         });
     });
     Menu::modify('adminlte-permissions', function ($menu) {
         $menu->url('admin.maudit.index', 'Logs', 210, ['except' => ['create', 'edit', 'destroy', 'trash']]);
     });
 }
コード例 #6
0
 protected function setMenu()
 {
     Menu::modify('adminlte-sidebar', function ($menu) {
         $menu->route('admin.mmails.index', 'Envios', [], 210, ['icon' => 'fa fa-paper-plane', 'active' => function () {
             return checkActive(route('admin.mmails.index'));
         }])->hideWhen(function () {
             return checkRule('admin.mmails.index');
         });
     });
     Menu::modify('adminlte-permissions', function ($menu) {
         $menu->url('admin.mmails.index', 'Envios', 210);
     });
 }
コード例 #7
0
 protected function setMenu()
 {
     Menu::modify('adminlte-sidebar', function ($menu) {
         $menu->route('admin.articles.index', config('marticles.name', 'Artigos'), [], config('marticles.order', 20), ['icon' => config('marticles.icon', 'fa fa-file-text'), 'active' => function () {
             return checkActive(route('admin.articles.index'));
         }])->hideWhen(function () {
             return checkRule('admin.articles.index');
         });
     });
     Menu::modify('adminlte-permissions', function ($menu) {
         $menu->url('admin.articles', config('marticles.name', 'Artigos'), config('marticles.order', 20));
     });
 }
コード例 #8
0
 /**
  * 系统管理员信息初始化
  *
  * @access private
  * @return void
  */
 private function initWeb($info)
 {
     if (!IS_GET) {
         return false;
     }
     // 通用表单的控制开关
     $this->assign('add_button', checkRule('__MODULE__/__CONTROLLER__/add', $this->mid));
     $this->assign('del_button', checkRule('__MODULE__/__CONTROLLER__/del', $this->mid));
     $this->assign('search_button', checkRule('__MODULE__/__CONTROLLER__/search', $this->mid));
     $this->assign('check_all', checkRule('__MODULE__/__CONTROLLER__/del', $this->mid));
     $this->assign('top_more_button', $this->top_more_button);
     $index_1 = strtolower(MODULE_NAME . '/*/*');
     $index_2 = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/*');
     $index_3 = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME);
     // 当前用户信息
     $access = array_map('trim', explode("\n", C('access')));
     $access = array_map('strtolower', $access);
     $access = array_flip($access);
     $guest_login = isset($access[$index_1]) || isset($access[$index_2]) || isset($access[$index_3]) || $index_1 == 'admin/*/*' || $index_3 == 'home/addons/execute' || $index_2 == 'home/user/*';
     if (IS_GET && !is_login() && !$guest_login) {
         Cookie('__forward__', $_SERVER['REQUEST_URI']);
         redirect(U('home/user/login', array('from' => 6)));
     }
     // 判断公众号是否初始化、审核,跳转到对应的页面
     if (IS_GET && !$guest_login && $index_2 != 'home/public/*') {
         if ($GLOBALS['myinfo']['is_init'] == 0) {
             redirect(U('home/Public/add', array('from' => 1)));
         } else {
             if ($GLOBALS['myinfo']['is_audit'] == 0 && !C('REG_AUDIT')) {
                 redirect(U('home/Public/waitAudit'));
             }
         }
     }
     // 在开启泛域名下必须先配置自定义域名才能用
     if (C('DIV_DOMAIN') && is_login() && $index_2 != 'home/public/*' && (empty($info['domain']) || $GLOBALS['mid'] != 1 && $info['domain'] == 'demo')) {
         redirect(U('home/Public/step_0', array('from' => 1)));
     }
     /* 管理中心的导航 */
     $menus = D('Common/ManagerMenu')->get($this->mid);
     $this->assign($menus);
     $this->assign('reg_audit_switch', C('REG_AUDIT'));
 }
コード例 #9
0
 /**
  * 获取控制器菜单数组,二级菜单元素位于一级菜单的'_child'元素中
  * @author 朱亚杰  <*****@*****.**>
  */
 public final function getMenus($controller = CONTROLLER_NAME)
 {
     $menus = session('ADMIN_MENU_LIST.' . $controller);
     if (empty($menus)) {
         // 获取主菜单
         $where['pid'] = 0;
         $where['hide'] = 0;
         if (!C('DEVELOP_MODE')) {
             // 是否开发者模式
             $where['is_dev'] = 0;
         }
         $menus['main'] = M('menu')->where($where)->order('sort asc')->field('id,title,url')->select();
         $menus['child'] = array();
         //设置子节点
         foreach ($menus['main'] as $key => $item) {
             // 判断主菜单权限
             if (!IS_ROOT && !checkRule(strtolower(MODULE_NAME . '/' . $item['url']), null)) {
                 unset($menus['main'][$key]);
                 continue;
                 //继续循环
             }
             if (strtolower(CONTROLLER_NAME . '/' . ACTION_NAME) == strtolower($item['url'])) {
                 $menus['main'][$key]['class'] = 'current';
             }
         }
         // 查找当前子菜单
         $pid = M('menu')->where("pid !=0 AND url like '%{$controller}/" . ACTION_NAME . "%'")->getField('pid');
         if (!$pid) {
             $pid = session('admin_menu_pid');
         }
         if ($pid) {
             session('admin_menu_pid', $pid);
             // 查找当前主菜单
             $nav = M('menu')->find($pid);
             if ($nav['pid']) {
                 $nav = M('menu')->find($nav['pid']);
             }
             foreach ($menus['main'] as $key => $item) {
                 // 获取当前主菜单的子菜单项
                 if ($item['id'] == $nav['id']) {
                     $menus['main'][$key]['class'] = 'current';
                     //生成child树
                     $groups = M('menu')->where(array('group' => array('neq', ''), 'pid' => $item['id']))->distinct(true)->getField("group", true);
                     //获取二级分类的合法url
                     $where = array();
                     $where['pid'] = $item['id'];
                     $where['hide'] = 0;
                     if (!C('DEVELOP_MODE')) {
                         // 是否开发者模式
                         $where['is_dev'] = 0;
                     }
                     $second_urls = M('menu')->where($where)->getField('id,url');
                     if (!IS_ROOT) {
                         // 检测菜单权限
                         $to_check_urls = array();
                         foreach ($second_urls as $key => $to_check_url) {
                             if (stripos($to_check_url, MODULE_NAME) !== 0) {
                                 $rule = MODULE_NAME . '/' . $to_check_url;
                             } else {
                                 $rule = $to_check_url;
                             }
                             if (checkRule($rule, null)) {
                                 $to_check_urls[] = $to_check_url;
                             }
                         }
                     }
                     // 按照分组生成子菜单树
                     foreach ($groups as $g) {
                         $map = array('group' => $g);
                         if (isset($to_check_urls)) {
                             if (empty($to_check_urls)) {
                                 // 没有任何权限
                                 continue;
                             } else {
                                 $map['url'] = array('in', $to_check_urls);
                             }
                         }
                         $map['pid'] = $item['id'];
                         $map['hide'] = 0;
                         if (!C('DEVELOP_MODE')) {
                             // 是否开发者模式
                             $map['is_dev'] = 0;
                         }
                         $menuList = M('menu')->where($map)->field('id,pid,title,url,tip')->order('sort asc')->select();
                         $menus['child'][$g] = list_to_tree($menuList, 'id', 'pid', 'operater', $item['id']);
                     }
                 }
             }
         }
         session('ADMIN_MENU_LIST.' . $controller, $menus);
     }
     return $menus;
 }