本来是想通过 $user->login(判断是否第一次登录,
但是假如用户昨天并没有退出,换句话说,今天不需要重
新登录的话 那么 $user->login 的数据----也就是登录时间
就没有变化,所以用 $user->login 是不对的)
我只好用rules中的 user is going to view a page 事件
而不是使用 用户已登录 事件
//这是判断用户的每天的第一次登录 的 rule 条件
function judge_first_login_everyday()
{
global $user;
$todayStart = strtotime(date('Y-m-d'));
//假如是未登录用户的话 就返回假
if($user->uid<=0)
{
return false;
}
$accessCount = db_result(db_query("select count(timestamp) from {accesslog} where uid=%d and timestamp>=%d ",$user->uid,$todayStart));
$accessCount = intval($accessCount);
//假如当前这个页面的访问时间大于当前天的0点0时0分;
//假如次数等于1,就是第一次访问
if($accessCount===1){
return true;
}
else{//就说明今天已经访问过了,就让条件变假了 换句话说,就是不让它增加积分了
return false;
}
}