예제 #1
0
 public function distribute($role_id)
 {
     //实例化对象
     $role = new \Model\RoleModel();
     if (!empty($_POST)) {
         //调用子model方法实现数据制作并存入数据库
         $z = $role->saveAuth($_POST['auth_id'], $_POST['role_id']);
         if ($z) {
             $this->redirect('showlist', array(), 2, '分配权限成功');
         }
     }
     //获得对应权限
     $auth = D('auth');
     $auth_infoA = $auth->where('auth_level=0')->select();
     //顶级权限
     $auth_infoB = $auth->where('auth_level=1')->select();
     //次顶级权限
     //根据$role_id 查询分配权限的角色信息
     $role_info = D('role')->find($role_id);
     //勾选已有权限
     $auth_arr = explode(",", $role_info['role_auth_ids']);
     $this->assign('auth_arr', $auth_arr);
     $this->assign('auth_infoA', $auth_infoA);
     $this->assign('auth_infoB', $auth_infoB);
     $this->assign('role_info', $role_info);
     $this->display();
 }
예제 #2
0
    function distribute($role_id){
        if(!empty($_POST)){
            //利用RoleModel模型里边的一个专门方法实现权限分配
            $role = new \Model\RoleModel();
            //saveAuth接收到一维数组信息
            $z = $role -> saveAuth($_POST['authname'], $role_id);
            if($z){
                $this -> success('分配权限成功!',U('showlist'));
            } else {
                $this -> error('分配权限失败!',U('showlist'));
            }
        } else {
            //根据$role_id查询对应的角色名字
            $rinfo = D("Role")->getByRole_id($role_id);
            $this -> assign('role_name', $rinfo['role_name']);

            //查询全部的权限信息,放入模板显示并进行权限分配
            $pauth_info = D('Auth')->where('auth_level=0')->select(); //父级权限
            $sauth_info = D('Auth')->where('auth_level=1')->select(); //次父级权限
            $tauth_info = D('Auth')->where('auth_level=2')->select(); //次次父级权限

            //把当前角色对应的权限信息给查询出来
            $authinfo = D("Role")->getByRole_id($role_id);
            $auth_ids_arr = explode(',',$authinfo['role_auth_ids']); //数组auth_id 信息
            
            
            $this -> assign('auth_ids_arr', $auth_ids_arr);
            $this -> assign('pauth_info',$pauth_info);
            $this -> assign('sauth_info',$sauth_info);
            $this -> assign('tauth_info',$tauth_info);

            $this -> display();
        }
    }
예제 #3
0
 public function distribute($id)
 {
     if (!empty($_POST)) {
         // print_r($_POST); // Array ( [authname] => Array ( [0] => 1 [1] => 7 [2] => 8 ) )
         // 收集数据
         // 利用RoleModel 模型里边的一个专门方法实现权限分配
         $role = new \Model\RoleModel();
         // saveAuth 接收到一维数组信息
         $z = $role->saveAuth($_POST['authname'], $id);
         if ($z) {
             $this->success('分配权限成功', U('list'));
         } else {
             $this->error('分配权限失败', U('list'));
         }
     } else {
         // 根据 id 查询对应的角色名字
         //$rinfo = D('Role') -> getByRole_id($id);
         $rinfo = D('Role')->where("id={$id}")->find();
         $this->assign('name', $rinfo['name']);
         // 查询全部的权限信息 放入模板显示并进行权限分配
         // SELECT * FROM `yhd_auth` WHERE ( level=0 )
         $pinfo = D('Auth')->where("level=0")->select();
         // 父级权限
         $sinfo = D('Auth')->where("level=1")->select();
         // 次父级权限
         $tinfo = D('Auth')->where("level=2")->select();
         // 次次父级权限
         // 把当前角色对应的权限信息给查询出来
         //$authinfo = D('Role') -> getByRole_id($id);
         $authinfo = D('Role')->where("id={$id}")->find();
         // $auth_ids = $authinfo['auth_ids'];
         // $auth_ids_arr = explode(',', $auth_ids);
         // 合并二个语句 将1,6,7,8 转换数组
         $auth_ids_arr = explode(',', $authinfo['auth_ids']);
         //show_bug($auth_ids_arr);
         $this->assign('auth_ids_arr', $auth_ids_arr);
         $this->assign('pinfo', $pinfo);
         $this->assign('sinfo', $sinfo);
         $this->assign('tinfo', $tinfo);
         $this->display();
     }
 }