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 ...
随机推荐
- 【题解】NOIP2018 填数游戏
题目戳我 \(\text{Solution:}\) 题目标签是\(dp,\)但是纯暴力打表找规律可以有\(65\)分. 首先是对于\(O(2^{nm}*nm)\)的暴力搜索,显然都会. 考虑几条性质: ...
- 【题解】【POI2000】病毒
题目链接 这题让我们构造一个无限长的,不包括给定字符串的01串. 把给定字符串放到\(AC\)自动机上,在结尾处打上标记. 发现,如果我们要构造一个无限长的串,必然要有一个环. 那么这个环上就一定不能 ...
- Navicat连接MySQL报错-2059
解释原因:据说,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是 ...
- 《To C产品经理进阶》
我所说的,都是错的. To C产品设计和To B产品设计对一个优秀的产品经理的洞察能力.架构能力有共通的要求. 实际产品设计过程中,To C产品往往是从商业思维思考,侧重用户研究,思考用户心智,由产品 ...
- RESTfull是什么
经常做接口测试,会看很多接口文档,那怎么识别研发的接口设计是否足够规范,是否符合一些行业标准或准则.那认识了解RESTfull,可以让我们更具有专业性.让我们对接口文档的阅.接口合理性设计识别,做到有 ...
- 萌新学python
python python安装 进入官网http://www.python.org/download/ 下载 我下的是3.6.6大家可以根据需要下载(3.x和2.x不兼容请小心) 之后安装就可以了 p ...
- ansible-playbook文件复用
1. ansible-playbook文件复用 1.1) include 和 import区别 include(动态):在运行时导入 --list-tags,--list-tasks不会显示到输出 ...
- MeteoInfoLab脚本示例:AMSR-E卫星数据投影
AMSR-E(http://nsidc.org/data/amsre/index.html)数据中的Land3数据是HDF-EOS4格式,投影是Cylindrical_Equal_Area.这里示例读 ...
- 485hub
485hub 485hub ZLAN9480A是一款可通过一路RS485主口扩展出8路RS485从口的工业级隔离型8口RS485集线器.可以有效的实现RS485网络的中继.扩展与隔离. ZLAN948 ...
- Jmeter设计压力测试场景
1.哪些业务需要做压力测试? 比较常用的功能模块 单一业务场景或者多业务场景 项目需要做的业务场景 2.压力测试的并发数是多少? 有预期的数值?一次性达到?有上次性能测试的结果值? 无预期的数值?只有 ...