예제 #1
0
파일: user.php 프로젝트: dalinhuang/zotop
 /**
  * 写入登陆信息
  *
  */
 public function login($data = array())
 {
     $data = array_merge($this->bind(), (array) $data);
     $data = zotop::filter('zotop.user.login', $data);
     //刷新信息
     $this->refresh();
     //记录用户数据
     zotop::user($data);
     zotop::log('login', zotop::t('用户 <b>{$username}</b> 于 {$time} 登陆成功', array('username' => $data['username'], 'time' => TIME)));
     return true;
 }
예제 #2
0
파일: user.php 프로젝트: dalinhuang/zotop
 /**
  * 写入登陆信息
  *
  */
 public function login($data = array())
 {
     $username = $data['username'];
     $password = $data['password'];
     if (empty($username)) {
         $this->error(zotop::t('请输入登陆账户名称'));
         return false;
     }
     if (empty($password)) {
         $this->error(zotop::t('请输入登陆账户密码'));
         return false;
     }
     if (!$this->isValidUserName($username)) {
         $this->error(zotop::t('请输入有效的账户名称'));
         return false;
     }
     if (!$this->isValidPassword($password)) {
         $this->error(zotop::t('请输入有效的账户密码'));
         return false;
     }
     //检查账户是否存在
     if (!$this->isExist(array('username', '=', $username))) {
         $this->error(zotop::t('账户`{$username}`不存在,请检查是否输入有误!', $data));
         return false;
     }
     //加密密码
     $password = $this->password($password);
     //读取用户
     $user = $this->db()->where(array('username', '=', $username))->where(array('password', '=', $password))->getRow();
     //验证
     if ($user == false) {
         $this->error(zotop::t('账户密码`{$password}`错误,请检查是否输入有误!', $data));
         return false;
     }
     //刷新信息
     $this->refresh($user['id']);
     //记录用户数据
     zotop::user($user);
     zotop::cookie('username', $username, 3600);
     zotop::log('login', zotop::t('用户 <b>{$username}</b> 于 {$time} 登陆成功', array('username' => $username, 'time' => TIME)));
     return true;
 }