Thinkphp3.2 cms之角色开发
一、角色管理开发
<?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之角色开发的更多相关文章
- 简易版CMS后台管理系统开发流程
目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...
- ThinkPHP项目CMS内容管理系统开发视频教程【20课】(3.02GB)
ThinkPHP背景介绍: ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业级应用开发而诞生的. ...
- 【Q】类和对象:游戏角色开发(角色介绍)
案例情景:某公司要开发新游戏,请用面向对象的思想设计英雄类.怪物类和武器类. 编写测试类,创建英雄对象.怪物对象和武器对象,并输出各自的信息. 其中设定分别如下: 1.英雄类 属性:英雄名字.生命值. ...
- Day01_搭建环境&CMS服务端开发
学成在线 第1天 讲义-项目概述 CMS接口开发 1 项目的功能构架 1.1 项目背景 受互联网+概念的催化,当今中国在线教育市场的发展可谓是百花齐放.如火如荼. 按照市场领域细分为:学前教育.K12 ...
- Thinkphp3.2 cms之权限管理
五.权限管理 <?php namespace Admin\Controller; use Think\Controller; class CommonController extends Con ...
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_01-项目概述-功能构架-项目背景
这个就是博学谷下的 在线教育平台
- Thinkphp3.2 cms之分类管理
四.分类管理 <?php namespace Admin\Controller; use Think\Controller; class CateController extends Contr ...
- Thinkphp3.2 cms之登陆模块
<?php /** * Created by dreamcms. * User: Administrator * Date: 2016/9/5 * Time: 17:15 */ namespac ...
- Thinkphp3.2 cms之文章模块
二.文章模块 <?php namespace Admin\Controller; use Think\Controller; class NewController extends Common ...
随机推荐
- Arduino 跑马灯
参考: 1. https://blog.csdn.net/hunhun1122/article/details/70254606 2. http://www.51hei.com/arduino/392 ...
- JavaScript按钮排他思想
要求: 有一系列按钮,要求每单击其中一个,该按钮改变样式(以背景颜色为例),其他按钮恢复保持默认样式. 实现思路: 获取所有按钮元素 首先先把其他按钮的背景颜色去掉 再单独设置自己的样式 代码实现: ...
- JavaScript返回当前的时分秒
要求: 封装一个函数返回当前的时分秒 格式 08:08:08 代码实现: function getTimer() { var time = new Date(); var h = time.getHo ...
- angular http 跨域访问
1.在跟目录中创建配置文件:proxy.config.json ,文件内容如下: { "/api": { "target": "http://192. ...
- shell-脚本的执行
1. shell脚本的执行 当shell脚本以非交互的方式运行时,它会先查找环境变量ENV,该变量指定了一个环境文件(通常是.bashrc),然后从该环境变量文件开始执行,当读取了ENV文件后,she ...
- ansible-playbook-jinja2管理nginx配置文件
1. 案例1:创建jinja2的nginx的主配置文件 1) 编写jinja2的nginx的主配置文件 1 [root@test-1 jinja2]# vim /ansible/jinja2/tes ...
- ansible-playbook定义变量与使用
1. ansible-playbook变量定义与使用 命令行 在Inventory中定义 在Playbook中定义 在Role中定义 注册变量(register) 系统信息变量(facts) 2. 在 ...
- 重装Windows系统 入门详解 - 基础教程
重装Windows系统 入门详解 - 基础教程 JERRY_Z. ~ 2020 / 10 / 13 转载请注明出处!️ 目录 重装Windows系统 入门详解 - 基础教程 一.说明 二.具体步骤 ( ...
- DM9000时序设置
想了解一下DM9000的移植修改原理,所以分析了一下时序图和引脚连接 首先看一下DM9000的引脚和MINI2440的引脚连接 DM9000 MINI2440 功能描述 SD0 DA ...
- 【idea&spring mvc】搭建简易的spring mvc项目(基于maven)!
一.创建项目 1.打开idea,file--new--project 2.按照步骤①②③④操作 3.输入包名,并点击下一步 4.选择下载包的maven的setting.xml配置路径和包的存放地,然后 ...