102 lines
3.5 KiB
PHP
102 lines
3.5 KiB
PHP
<?php
|
|
namespace Admin\Controller;
|
|
use Think\Controller;
|
|
class UserController extends AdminController{
|
|
public function index(){
|
|
$tab=D('User');
|
|
$result=$tab->relation(true)->select();
|
|
$this->data=$result;
|
|
$this->display();
|
|
}
|
|
public function add(){
|
|
$tab=D('user');
|
|
if(IS_POST){
|
|
$data=$tab->create();
|
|
if($data){
|
|
$data['user_password']=md6($data['user_password']);
|
|
$data['is_admin']=1;
|
|
$user_id=$tab->field("user_name,user_password,status")->add($data);
|
|
D("UserLog")->add("add",$tab->getTableName(),$user_id);
|
|
if($user_id){
|
|
//更新user_role表
|
|
$role=array( "role_id"=>$_POST['role_id'], "user_id"=>$user_id);
|
|
M("role_user")->add($role);
|
|
$this->success("操作成功",U('index'));
|
|
}else{
|
|
$this->error('操作失败');
|
|
}
|
|
}else{
|
|
$this->error($tab->getError());
|
|
}
|
|
}else{
|
|
//角色列表
|
|
$role=M("role")->select();
|
|
$this->assign("role",$role);
|
|
//
|
|
$this->display();
|
|
}
|
|
}
|
|
public function editor(){
|
|
$tab=D('User');
|
|
if(IS_POST){
|
|
if(!$_POST['user_password']){
|
|
unset($_POST['user_password']);
|
|
}
|
|
$data=$tab->create($_POST);
|
|
if($data){
|
|
if($_POST['user_password']){
|
|
$data['user_password']=md6($data['user_password']);
|
|
}
|
|
$tab->save($data);
|
|
D("UserLog")->add("update",$tab->getTableName(),$data[user_id]);
|
|
//更新user_role表
|
|
//清空之前内容
|
|
$user_id=$data['user_id'];
|
|
M("role_user")->where("user_id='$user_id'")->delete();
|
|
//重新更新内容
|
|
$role=array( "role_id"=>$_POST['role_id'], "user_id"=>$user_id);
|
|
M("role_user")->add($role);
|
|
$this->success("操作成功",U('index'));
|
|
}else{
|
|
$this->error($tab->getError());
|
|
}
|
|
} else {
|
|
$user_id=I("get.user_id",0,'intval');
|
|
$had_role=array();
|
|
if($user_id){
|
|
$this->r=$tab->find($user_id);
|
|
$had_role=M("role_user")->where("user_id='$user_id'")->getField('role_id',true);
|
|
}
|
|
//
|
|
$role_arr=array();
|
|
$role=M("role")->select();
|
|
foreach($role as $v){
|
|
if(in_array($v['id'],$had_role)){
|
|
$v['is_checked']=1;
|
|
}else{
|
|
$v['is_checked']=0;
|
|
}
|
|
$role_arr[]=$v;
|
|
}
|
|
$this->role=$role_arr;
|
|
$this->display();
|
|
}
|
|
}
|
|
//删除
|
|
public function del(){
|
|
$user_id=I("get.user_id",0,'intval');
|
|
$user_name=M("user")->where(array("user_id"=>$user_id))->getField("user_name");
|
|
if($user_id==C("USER_ADMINISTRATOR")){
|
|
$this->error("超级管理员禁止删除");
|
|
}
|
|
if($user_id){
|
|
//删除suer表
|
|
M("user")->delete($user_id);
|
|
//删除role_user表
|
|
M("role_user")->where(array("user_id"=>$user_id))->delete();
|
|
D("UserLog")->add("delete","db_user",$user_id);
|
|
$this->success("操作成功");
|
|
}
|
|
}
|
|
|
|
} |