qa-ifish7/web/Application/Admin/Controller/UserController.class.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("操作成功");
}
}
}