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();
        }
    }
 function distribute()
 {
     //获取角色信息
     $role_data = D('role')->where('role_id=' . $_GET['role_id'])->select();
     if (!empty($_POST)) {
         $role_M = new \Model\RoleModel();
         $r = $role_M->RoleUpdata($role_data[0]['role_id'], $_POST);
         if ($r) {
             $this->success('权限修改成功', U('showlist'));
         } else {
             $this->error('权限修改失败', U('showlist'));
         }
     } else {
         //获取所有的顶级权限
         $auth_top = D()->table('sw_auth')->where('auth_level=0')->select();
         //获取所有的次级权限
         $auth_ci = D()->table('sw_auth')->where('auth_level=1')->select();
         //show_bug($role_data['role_name']);
         //将角色权限ids转换成数组
         $role_auth_ids_arr = explode(',', $role_data[0]['role_auth_ids']);
         $this->assign('role_auth_ids_arr', $role_auth_ids_arr);
         $this->assign('role_name', $role_data[0]['role_name']);
         $this->assign('auth_top', $auth_top);
         $this->assign('auth_ci', $auth_ci);
         $this->display();
     }
 }
 public function update($role_id)
 {
     $role_id = $role_id + 0;
     $model = new \Model\RoleModel();
     if (IS_POST) {
         if ($data = $model->create(I('post.'), 2)) {
             if ($model->save($data) !== false) {
                 $this->success('修改角色成功', U('showlist'), 1);
                 exit;
             }
             $this->error('修改角色失败');
         }
         $this->error($model->getError());
     }
     //获取所有的权限
     $priv_model = new \Model\PrivilegeModel();
     $priv_list = $priv_model->getTree();
     $this->assign('priv_list', $priv_list);
     //获取要修改角色的信息
     $role_info = $model->find($role_id);
     $this->assign('role_info', $role_info);
     $priv_info = M('RolePrivilege')->where("role_id={$role_id}")->select();
     $this->assign('priv_info', $priv_info);
     $this->display();
 }
Exemple #4
0
 public function update($role_id)
 {
     $role = new \Model\RoleModel();
     if (!empty($_POST)) {
         //搜集所有字段
         if ($role->save($_POST)) {
             $this->redirect('showlist', array(), 2, "修改角色成功");
         }
     }
     $info = $role->find($role_id);
     $this->assign('info', $info);
     $this->display();
 }
 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();
     }
 }