Exemple #1
0
 public function handle($request, Clousure $next)
 {
     $routeAs = route::currentRouteName();
     $currentPermission = shopAuth::getSellerPermission();
     //$currentPermission = false 表示为店主不用判断权限
     //获取当前用户的路由权限
     if ($currentPermission && !in_array($routeAs, $currentPermission)) {
         if (request::ajax()) {
             return response::json(array('error' => true, 'message' => '无操作权限'));
         } else {
             return redirect::action('topshop_ctl_index@nopermission');
         }
     }
     return $next($request);
 }
Exemple #2
0
 /**
  * @brief 获取到商家中心的导航菜单和左边栏菜单
  *
  * @return array $res
  */
 private function __getMenu()
 {
     $currentPermission = shopAuth::getSellerPermission();
     $defaultActionName = route::current()->getActionName();
     $shopMenu = config::get('shop');
     $shortcutMenuAction = $this->getShortcutMenu();
     $sidebar['commonUser']['label'] = '常用菜单';
     $sidebar['commonUser']['shortcutMenu'] = true;
     $sidebar['commonUser']['active'] = true;
     //是否展开
     $sidebar['commonUser']['icon'] = 'glyphicon glyphicon-heart';
     //$sidebar['commonUser']['menu'] = $commonUserMenu;
     foreach ((array) $shopMenu as $menu => $row) {
         if ($row['display'] === false) {
             continue;
         }
         foreach ((array) $row['menu'] as $k => $params) {
             //编辑常用菜单使用
             if ($params['display'] !== false && (!$currentPermission || in_array($params['as'], $currentPermission))) {
                 $allMenu[$menu]['label'] = $row['label'];
                 if (in_array($params['action'], $shortcutMenuAction)) {
                     $sidebar['commonUser']['menu'][] = $params;
                     $params['isShortcutMenu'] = true;
                 }
                 $allMenu[$menu]['menu'][] = $params;
             }
             if ($row['shopIndex'] || !$currentPermission || $params['display'] && in_array($params['as'], $currentPermission)) {
                 if (!$navbar[$menu]) {
                     $navbar[$menu]['label'] = $row['label'];
                     $navbar[$menu]['icon'] = $row['icon'];
                     $navbar[$menu]['action'] = $navbar[$menu]['action'] ? $navbar[$menu]['action'] : $params['action'];
                     $navbar[$menu]['default'] = false;
                 }
             }
             //如果为当前的路由则高亮
             if (!$navbar[$menu]['default'] && $params['action'] == $defaultActionName && $navbar[$menu]) {
                 $navbar[$menu]['default'] = true;
                 $selectMenu = $menu;
             }
         }
         if (!$row['shopIndex'] && $selectMenu == $menu) {
             foreach ((array) $row['menu'] as $k => $params) {
                 $sidebar[$menu]['active'] = true;
                 $sidebar[$menu]['label'] = $row['label'];
                 $sidebar[$menu]['icon'] = $row['icon'];
                 if (!$currentPermission || in_array($params['as'], $currentPermission)) {
                     $params['default'] = $params['action'] == $defaultActionName ? true : false;
                     $sidebar[$menu]['menu'][] = $params;
                 }
             }
         }
     }
     $res['all'] = $allMenu;
     $res['navbar'] = $navbar;
     $res['sidebar'] = $sidebar;
     return $res;
 }