/** * 初始话当前用户 */ protected function _initUser() { $_cOnlinetime = Wekit::C('site', 'onlinetime') * 60; if (!($lastvisit = Pw::getCookie('lastvisit'))) { $this->onlinetime = 0; $this->lastvisit = WEKIT_TIMESTAMP; $this->lastRequestUri = ''; } else { list($this->onlinetime, $this->lastvisit, $this->lastRequestUri) = explode("\t", $lastvisit); ($onlinetime = WEKIT_TIMESTAMP - $this->lastvisit) < $_cOnlinetime && ($this->onlinetime += $onlinetime); } $user = $this->getLoginUser(); if ($user->isExists() && WEKIT_TIMESTAMP - $user->info['lastvisit'] > min(1800, $_cOnlinetime)) { Wind::import('SRV:user.dm.PwUserInfoDm'); $dm = new PwUserInfoDm($user->uid); $dm->setLastvisit(WEKIT_TIMESTAMP)->setLastActiveTime(WEKIT_TIMESTAMP); if ($this->onlinetime > 0) { $dm->addOnline($this->onlinetime > $_cOnlinetime * 1.2 ? $_cOnlinetime : $this->onlinetime); } Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA); $this->onlinetime = 0; } Pw::setCookie('lastvisit', $this->onlinetime . "\t" . WEKIT_TIMESTAMP . "\t" . $this->requestUri, 31536000); }
/** * 初始话当前用户 */ protected function _initUser() { $requestUri = Wind::getComponent('request')->getRequestUri(); $_cOnlinetime = Wekit::C('site', 'onlinetime') * 60; if (!($lastvisit = Pw::getCookie('lastvisit'))) { $onlinetime = 0; $lastvisit = WEKIT_TIMESTAMP; $lastRequestUri = ''; } else { list($onlinetime, $lastvisit, $lastRequestUri) = explode("\t", $lastvisit); ($thistime = WEKIT_TIMESTAMP - $lastvisit) < $_cOnlinetime && ($onlinetime += $thistime); } $user = $this->getLoginUser(); if ($user->isExists()) { $today = Pw::str2time(Pw::time2str(Pw::getTime(), 'Y-m-d')); if ($user->info['lastvisit'] && $today > $user->info['lastvisit']) { /* @var $loginSrv PwLoginService */ $loginSrv = Wekit::load('SRV:user.srv.PwLoginService'); $loginSrv->welcome($user, Wind::getComponent('request')->getClientIp()); } elseif (WEKIT_TIMESTAMP - $user->info['lastvisit'] > min(1800, $_cOnlinetime)) { Wind::import('SRV:user.dm.PwUserInfoDm'); $dm = new PwUserInfoDm($user->uid); $dm->setLastvisit(WEKIT_TIMESTAMP)->setLastActiveTime(WEKIT_TIMESTAMP); if ($onlinetime > 0) { $dm->addOnline($onlinetime > $_cOnlinetime * 1.2 ? $_cOnlinetime : $onlinetime); } Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA); $onlinetime = 0; } } Pw::setCookie('lastvisit', $onlinetime . "\t" . WEKIT_TIMESTAMP . "\t" . $requestUri, 31536000); $obj = new stdClass(); $obj->lastvisit = $lastvisit; $obj->requestUri = $requestUri; $obj->lastRequestUri = $lastRequestUri; Wekit::setV('lastvist', $obj); }