1、修改这个文件 /var/Widget/User.php
代码语言:javascript复制①、增加一个属性,用来存放当前登录用户是否过期的状态
/**
* 是否已经登录
*
* @access private
* @var boolean
*/
private $_hasLogin = NULL;
②、增加一个方法,用来处理过期逻辑
代码语言:javascript复制 /**
* 判断用户是否过期
*
* @access public
* @return boolean
*/
public function hasExtime()
{
if (NULL !== $this->_hasExtime) {
return $this->_hasExtime;
} else {
$cookieUid = Typecho_Cookie::get('__typecho_uid');
if (NULL !== $cookieUid) {
/** 验证登陆 */
$user = $this->db->fetchRow($this->db->select()->from('table.users')
->where('uid = ?', intval($cookieUid))
->limit(1));
if($user['exp_time']>time()){
return ($this->_hasExtime = true);
}
}
return ($this->_hasExtime = false);
}
}
代码语言:javascript复制2、以上两个内容新增以后,就可以在需要判断用户是否过期的地方调用,案例如下
if($this->user->hasExtime()){
echo '未过期';
}else{
echo '已过期';
}