一、角色管理开发

<?php

namespace Admin\Controller;
use Think\Controller; 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(); } } }

Thinkphp3.2 cms之角色开发的更多相关文章

  1. 简易版CMS后台管理系统开发流程

    目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...

  2. ThinkPHP项目CMS内容管理系统开发视频教程【20课】(3.02GB)

    ThinkPHP背景介绍:     ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业级应用开发而诞生的. ...

  3. 【Q】类和对象:游戏角色开发(角色介绍)

    案例情景:某公司要开发新游戏,请用面向对象的思想设计英雄类.怪物类和武器类. 编写测试类,创建英雄对象.怪物对象和武器对象,并输出各自的信息. 其中设定分别如下: 1.英雄类 属性:英雄名字.生命值. ...

  4. Day01_搭建环境&CMS服务端开发

    学成在线 第1天 讲义-项目概述 CMS接口开发 1 项目的功能构架 1.1 项目背景 受互联网+概念的催化,当今中国在线教育市场的发展可谓是百花齐放.如火如荼. 按照市场领域细分为:学前教育.K12 ...

  5. Thinkphp3.2 cms之权限管理

    五.权限管理 <?php namespace Admin\Controller; use Think\Controller; class CommonController extends Con ...

  6. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_01-项目概述-功能构架-项目背景

    这个就是博学谷下的 在线教育平台

  7. Thinkphp3.2 cms之分类管理

    四.分类管理 <?php namespace Admin\Controller; use Think\Controller; class CateController extends Contr ...

  8. Thinkphp3.2 cms之登陆模块

    <?php /** * Created by dreamcms. * User: Administrator * Date: 2016/9/5 * Time: 17:15 */ namespac ...

  9. Thinkphp3.2 cms之文章模块

    二.文章模块 <?php namespace Admin\Controller; use Think\Controller; class NewController extends Common ...

随机推荐

  1. P 3396 哈希冲突 根号分治

    Link 据说这是一道论文题????.具体论文好像是 集训队论文<根号算法--不只是分块> 根号分治的裸题. 首先我们考虑暴力怎么打. 先预处理出每个模数的答案,之后再 O(1) 的回答, ...

  2. java安全编码指南之:lock和同步的正确使用

    目录 简介 使用private final object来作为lock对象 不要synchronize可被重用的对象 不要sync Object.getClass() 不要sync高级并发对象 不要使 ...

  3. 翻了翻element-ui源码,发现一个很实用的指令clickoutside

    前言 指令(directive)在 vue 开发中是一项很实用的功能,指令可以绑定到某一元素或组件,使功能的颗粒度更精细.今天在翻 element-ui 的源码时,发现一个还挺实用的工具指令,跟大伙分 ...

  4. JavaCV FFmpeg H264编码

    上次成功通过FFmpeg采集摄像头的YUV数据,这次针对上一次的程序进行了改造,使用H264编码采集后的数据. (传送门) JavaCV FFmpeg采集摄像头YUV数据 采集摄像头数据是一个解码过程 ...

  5. git 上传文件到 gitee 码云远程仓库

    一 , 想将码云仓库里面的代码,抓取下来 1.git remote add origin 地址 2. git remote -v 3. it pull  origin master 二 , 将自己创建 ...

  6. angular http 跨域访问

    1.在跟目录中创建配置文件:proxy.config.json ,文件内容如下: { "/api": { "target": "http://192. ...

  7. 利用babel工具将es6语法转换成es5,Object.assign方法报错

    一.新建工程初始化项目 1.新建工程文件夹这里起名叫做es6,然后在里面创建两个文件夹分别为src .dist如下图:(src为待转换es6 js存放目录,dist为编译完成后的es5 js存放目录) ...

  8. MeteoInfoLab脚本示例:中文处理

    在脚本中使用中文需要指明是unicode编码,即在含有中文的字符串前加u,比如:u'中文'.还需要将字体指定为一种中文字体.详见下面的例子.脚本程序: x = [1,2,3,4] y = [1,4,9 ...

  9. python 读取文件时报错UnicodeDecodeError

    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib ...

  10. Mysql数据库分布式事务XA详解

    XA事务简介 XA 事务的基础是两阶段提交协议.需要有一个事务协调者来保证所有的事务参与者都完成了准备工作(第一阶段).如果协调者收到所有参与者都准备好的消息,就会通知所有的事务都可以提交了(第二阶段 ...