zoukankan      html  css  js  c++  java
  • Thinkphp3.2 cms之角色开发

    一、角色管理开发

    <?php
    
    
    namespace AdminController;
    use ThinkController;
    
    class SystemController extends CommonController{
    
        public  function Role_Index(){
            $Role_list=D('role')->select();
            $this->assign('Role_list',$Role_list);
            $this->display("role");
        }
    
        /***
         * 角色添加
         */
        public function Role_Add(){
            $data['r_name']=I('post.r_name','','htmlspecialchars');
            $data['r_pid']=I('post.r_name','0','htmlspecialchars');
    
    
            $Role_add=D('role')->add($data);
    
            if(isset($Role_add)){
                $this->success("添加成功");
            }else{
                $this->error("添加失败");
            }
        }
    
        /**
         * @param int $id
         * 删除角色
         */
        public function Role_Del($id=0){
    
            $r_del=D('role')->where(array('r_id'=>$id))->delete();
            if(isset($r_del)){
                $this->success("删除成功");
            }else{
                $this->error("删除失败");
            }
        }
    
        public function Role_Update($id=0){
            if(IS_POST) {
                $data['r_name'] = I('post.r_name', '', 'htmlspecialchars');
                $data['r_pid'] = I('post.r_name', '0', 'htmlspecialchars');
                $r_save = D('role')->where(array('r_id' => I('post.id')))->save($data);
               if(isset($r_save)){
                   $this->success("修改成功");
               }else{
                   $this->error("修改失败");
               }
    
    
            }else{
                $role_update=D('role')->where(array('r_id'=>$id))->find();
                $this->assign('role_update',$role_update);
                $this->display('RoleEdit');
            }
    
        }
    
        /**
         * 权限管理
         */
        public function Auth_Index(){
            $Auth_node=D('node')->select();
            $this->assign('auth_node',$Auth_node);
            $this->display('auth');
        }
    
        /**
         * 权限添加
         */
    
        public function Auth_Add(){
    
            $data=$this->Auth_Data();
            $auth_add=D('node')->add($data);
            if($auth_add){
                $this->success("添加成功");
            }else{
                $this->error("添加失败");
            }
    
        }
    
        public function Auth_Data(){
            $data['n_name']=I('post.n_name','','htmlspecialchars');
            $data['n_g']=ucfirst(I('post.n_g','','htmlspecialchars'));
            $data['n_m']=ucfirst(I('post.n_m','','htmlspecialchars'));
            $data['n_a']=ucfirst(I('post.n_a','','htmlspecialchars'));
            $data['n_pid']=I('post.n_pid');
            $data['n_sort']=I('post.n_sort');
    
            return $data;
    
        }
    
        /**
         * 角色权限设置
         */
        public function AuthRole_Setting($id=0){
            $Auth_node=D('node')->select();
            $Role_list=D('role')->where(array('r_id'=>$id))->find();
            $Node_Access=M('node_access')->where(array('r_id'=>$id))->find();
            $this->assign('auth_node',$Auth_node);
            $this->assign('role_list',$Role_list);
            $this->assign('node_access',$Node_Access);
            $this->display('AuthSetting');
        }
    
        /**
         * 角色权限添加
         */
        public function AuthRoleSetting_Add(){
            $data['r_id']=I('post.r_id');
            $n_id=I('post.new_rules');
            $data['n_id'] = implode(',', $n_id);
            $Node_role_find=D('node_access')->where(array('r_id'=>$data['r_id']))->find();
            $Node_role_access=empty($Node_role_find)?D('node_access')->add($data):D('node_access')->where(array('r_id'=>$data['r_id']))->save($data);
            if($Node_role_access!=false){
                $this->success("配置成功");
            }else{
                $this->error("配置失败");
            }
    
        }
    
        /**
         * 权限的删除
         */
        public function Auth_Del($id=0){
            $auth_del=M('node')->where(array('n_id'=>$id))->delete();
        }
    
        /**
         * 权限修改
         */
        public function Auth_SaveIndex()
        {
            $this->display("authsave");
    
        }
    
        /**
         * 测试
         */
    //    public function disubs(){
    //        $data=D('node')->field('n_id,n_name')->where('n_pid=0')->select();
    //        foreach($data as $k=>$v){
    //            $data[$k]['sub']=D('node')->field('n_id,n_name')->where('n_pid='.$v['n_id'])->select();
    //        }
    //        var_dump($data);
    //
    //    }
    
        public function User_Index(){
            $Role_list=D('role')->select();  //角色id
            $User_list=M('login')->select(); //用户id
            $Role_user=M('role_user')->select(); //角色和用户共同id
            foreach($User_list as $k=>$v){
                $role=M('role_user')->where(array('user_id'=>$v['uid']))->join('m_role on m_role_user.role_id=m_role.r_id')->select();
                $User_list[$k]['role_name']=$role[0]['r_name'];
            }
            $this->assign('role_list',$Role_list);
            $this->assign('user_list',$User_list);
            $this->assign('role_user',$Role_user);
            $this->display("UserIndex");
    
    
    
    
        }
    
        public function User_Data(){
            $data['uname']=I('post.uname','','htmlspecialchars');
            $data['upasswd']=I('post.upasswd','','htmlspecialchars');
            $data['state']=I('post.state','0','htmlspecialchars');
    
            return $data;
        }
    
        public function User_Add(){
    
            if(IS_POST){
                $data=$this->User_Data();
                $User_Add=M('login')->add($data);
                if($User_Add){
                    $role['role_id']= I('post.role_id');
                    $role['user_id']=$User_Add;
                    M('role_user')->add($role);
                    $this->success("添加成功");
                }
            }
        }
    
        public function User_Del($id=0){
            $User_del=M('login')->where(array('uid'=>I('get.uid')))->delete();
    
            if($User_del){
                $this->success("删除成功");
            }else{
                $this->error("删除失败");
            }
        }
    
        public function ceshi(){
            $User_list=M('login')->select(); //用户id
            foreach($User_list as $k=>$v){
                $role=M('role_user')->where(array('user_id'=>$v['uid']))->join('m_role on m_role_user.role_id=m_role.r_id')->select();
                $User_list[$k]['role_name']=$role[0]['r_name'];
            }
            $this->admin=M('node_access')->where(array('r_id'=>2))->find();
            foreach($this->admin as $val){
                $map=explode(",",$val);
            }
    
           for($i=0;$i<count($map);$i++)
           {
               $menu[]=D('node')->where(array("n_id"=>$map[$i]))->select();
    
    
           }
    
    
    
    
    
        }
    
    
    
    
    
    
    
    
    }
  • 相关阅读:
    [树形DP]Luogu P1131 [ZJOI2007]时态同步
    [状压DP]JZOJ 1303 骑士
    [DFS]JZOJ 1301 treecut
    [最小费用最大流]JZOJ 4802 探险计划
    [KMP][倍增求LCA]JZOJ 4669 弄提纲
    [DP]JZOJ 1758 过河
    列表生成式和生成器表达式
    协程函数
    生成器
    迭代器
  • 原文地址:https://www.cnblogs.com/mengluo/p/8858510.html
Copyright © 2011-2022 走看看