12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php namespace App\Http\Controllers\Admin;
- use Illuminate\Support\Facades\DB;
- /**
- * 后台控制器
- *
- * @author 刘相欣
- *
- * */
- class Auth extends Admin{
-
- /**
- * 获得菜单
- *
- * */
- protected function getMenu($module = '')
- {
- // 获得菜单,如果不是管理员,获得需要验证的菜单
- $adminMenu = in_array(admin('uid'), explode(',', config('administrator'))) ? $this->getAdminMenu($module) : $this->getAuthMenu($module);
- // 菜单树形
- $adminMenu = list_to_tree($adminMenu, 'id', 'pid', 'children', 0);
-
- // 分配数据
- $this->assign('adminMenu', $adminMenu);
-
- // 返回结果
- return $adminMenu;
- }
- /**
- * 获得管理员菜单
- *
- * */
- protected function getAdminMenu($module)
- {
- // 查询条件
- $map['type'] = 'nav';
- $map['status'] = '1';
- if ($module) $map['module'] = $module;
- // 返回菜单数据
- return DB::table('menu')->where($map)->orderBy('sort_order')->get()->toArray();
- }
- /**
- * 获得验证菜单
- *
- * */
- protected function getAuthMenu($module)
- {
- // 查询条件
- $map = [];
- $map[] = ['menu.type', '=', 'nav'];
- $map[] = ['menu.status', '=', '1'];
- if ($module) $map[] = ['menu.module', '=', $module];
- // 返回菜单数据
-
- $menu = Db::table('menu')
- ->join('auth_rule', 'menu.id','=','auth_rule.menu_id')
- ->where($map)
- ->whereIn('auth_rule.group_id',admin('group_id'))
- ->orderBy('menu.sort_order')
- ->orderBy('menu.id')->groupBy('menu.id')->select(['menu.id','menu.pid','menu.module','menu.title','menu.url','menu.icon'])->get()->toArray();
-
- return $menu;
- }
-
- }
|