| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | 
							- <?php
 
- // +----------------------------------------------------------------------
 
- // | Tplay [ WE ONLY DO WHAT IS NECESSARY ]
 
- // +----------------------------------------------------------------------
 
- // | Copyright (c) 2017 http://tplay.pengyichen.com All rights reserved.
 
- // +----------------------------------------------------------------------
 
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
 
- // +----------------------------------------------------------------------
 
- // | Author: 听雨 < 389625819@qq.com >
 
- // +----------------------------------------------------------------------
 
- namespace app\admin\controller;
 
- use app\admin\controller\base\Permissions;
 
- use think\Db;
 
- use think\Session;
 
- class Index extends Permissions
 
- {
 
-     public function index()
 
-     {
 
-         $menu = Db::name('admin_menu')->where(['is_display' => 1])->order('orders asc')->select();
 
-         //删除不在当前角色权限里的菜单,实现隐藏
 
-         $admin_cate = Session::get(self::ADMIN_CATE_ID);
 
-         $permissions = Db::name('admin_cate')->where(['id' => $admin_cate])->value('permissions');
 
-         $permissions = explode(',', $permissions);
 
-         foreach ($menu as $k => $val) {
 
-             if ($val['type'] == 1 and $val['is_display'] == 1 and !in_array($val['id'], $permissions)) {
 
-                 unset($menu[$k]);
 
-             }
 
-         }
 
-         //添加url
 
-         foreach ($menu as $key => $value) {
 
-             if (empty($value['parameter'])) {
 
-                 $url = url($value['module'] . '/' . $value['controller'] . '/' . $value['function']);
 
-             } else {
 
-                 $url = url($value['module'] . '/' . $value['controller'] . '/' . $value['function'], $value['parameter']);
 
-             }
 
-             $menu[$key]['url'] = $url;
 
-         }
 
-         $menus = $this->menulist($menu);
 
-         $this->assign('menus', $menus);
 
-         $admin = Db::name('admin')->where('id', Session::get(self::ADMIN_ID))->find();
 
-         $this->assign('admin', $admin);
 
-         return $this->fetch();
 
-     }
 
-     protected function menulist($menu)
 
-     {
 
-         $menus = array();
 
-         //先找出顶级菜单
 
-         foreach ($menu as $k => $val) {
 
-             if ($val['pid'] == 0) {
 
-                 $menus[$k] = $val;
 
-             }
 
-         }
 
-         //通过顶级菜单找到下属的子菜单
 
-         foreach ($menus as $k => $val) {
 
-             foreach ($menu as $key => $value) {
 
-                 if ($value['pid'] == $val['id']) {
 
-                     $menus[$k]['list'][] = $value;
 
-                 }
 
-             }
 
-         }
 
-         //三级菜单
 
-         foreach ($menus as $k => $val) {
 
-             if (isset($val['list'])) {
 
-                 foreach ($val['list'] as $ks => $vals) {
 
-                     foreach ($menu as $key => $value) {
 
-                         if ($value['pid'] == $vals['id']) {
 
-                             $menus[$k]['list'][$ks]['list'][] = $value;
 
-                         }
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         return $menus;
 
-     }
 
-     /**
 
-      * 管理员退出,清除session
 
-      */
 
-     public function logout()
 
-     {
 
-         Session::delete(self::ADMIN_ID);
 
-         Session::delete(self::ADMIN_NAME);
 
-         Session::delete(self::ADMIN_CATE_ID);
 
-         if (Session::has(self::ADMIN_ID) or Session::has(self::ADMIN_CATE_ID)) {
 
-             $this->error('退出失败');
 
-         } else {
 
-             $this->success('正在退出...', 'admin/common/login');
 
-         }
 
-     }
 
- }
 
 
  |