qa-ifish7/web/Application/Admin/Controller/PublicController.class.php

101 lines
3.7 KiB
PHP

<?php
namespace Admin\Controller;
use Think\Controller;
class PublicController extends Controller {
public function login(){
if(IS_POST){
$captcha = I('post.captcha','');
$verify = new \Think\Verify();
if($verify->check($captcha)){
$info=$this->checkNamePwd(I('post.user_name'),I('post.user_password'));
if(!$info){
$this->loginLog(0,0);
$this->error("用户名或密码错误");
}elseif(!$info[status]){
$this->error("账户被禁用");
}elseif(!$info[is_admin]){
$this->error("非法登陆");
}else{
//登录成功
$this->loginLog($info['user_id'],1);
//设置session
session("user_id",$info['user_id']);
session("is_admin",$info['is_admin']);
session("user_name",$info['user_name']);
session("last_login_time",$info['last_login_time']);//上次登陆时间
//保存rule对应的栏目id到session里
$role_user=M("role_user")->where(array("user_id"=>$info["user_id"]))->select();
foreach($role_user as $v){
$roleData=M("role")->find($v["role_id"]);
$role[info_checked].=$roleData[info_checked];
$role[info_view].=$roleData[info_view];
$role[info_add].=$roleData[info_add];
$role[info_editor].=$roleData[info_editor];
$role[info_delete].=$roleData[info_delete];
}
session("role",$role);
//记录最后的登陆信息
$up_arr=array(
"last_login_ip"=>get_client_ip(),
"last_login_time"=>time(),
"login_num"=>$info['login_num']+1,
"user_id"=>$info['user_id'],
);
M("user")->save($up_arr);
//
//
$this->success(U("Task/index"));
}
}else{
$this->error("验证码错误");
}
}else{
$this->display();
}
}
//
final private function checkNamePwd($name,$pwd){
$info=M("user")->where(array("user_name"=>$name))->find();
if($info){
$md6_pwd=md6($pwd);//自定义md6加密
if($info['user_password']==$md6_pwd){
return $info;
}else{
return false;
}
}else{
return false;
}
}
//验证码
public function veryfyImg(){
$Verify = new \Think\Verify();
$Verify->fontSize = 25;
$Verify->length = 4;
$Verify->useNoise = false;
$Verify->codeSet = '0123456789';
$Verify->imageW = 250;
$Verify->imageH = 62;
$Verify->entry();
}
//退出登陆
function logout(){
session_destroy();
$this->redirect('login');
}
//百度编辑器
public function ueditor(){
$data = new \Org\Util\Ueditor();
echo $data->output();
exit;
}
//登录日志
public function loginLog($userid=0,$status){
$data["userid"]=$userid;
$data["username"]=I('post.user_name');
$data["addtime"]=time();
$data["status"]=$status;
$data["ip"]=get_client_ip();
M("user_login_log")->add($data);
}
}