public function update(App_Account_LoginSessionDm $dm) { if (true !== ($r = $dm->beforeUpdate())) { return $r; } App_Account_LoginSessionBo::unsetInstance($dm->getSessionId()); //todo return $this->_loadDao()->update($dm->getSessionId(), $dm->getData()); }
/** * 更新过期时间 * @param unknown_type $sessionId * @return boolean */ public function updateExpire($sessionId) { if (rand(1, 2) == 1) { $expire = $this->_getLoginSessionService()->getCooieExpire() + Pw::getTime(); $dm = new App_Account_LoginSessionDm($sessionId); $dm->setExpire($expire); $this->_getLoginSessionDs()->update($dm); $this->sessionInfo['expire'] = intval($expire); } return true; }
public function updateLoginSession($sessionId, $sessionData) { if ('' == $sessionId) { return false; } $this->_collectLoginSessionGarbage(); $sessionInfo = App_Account_LoginSessionBo::getInstance($sessionId)->getSession(); $sessionInfoOld = $sessionInfo; $sessionInfo['sessiondata'] = is_array($sessionInfo['sessiondata']) ? $sessionInfo['sessiondata'] : array(); $sessionData = is_array($sessionData) ? $sessionData : array(); $sessionData = array_merge($sessionInfo['sessiondata'], $sessionData); if ($sessionInfoOld) { $dm = new App_Account_LoginSessionDm($sessionId); $dm->setSessionData(serialize($sessionData)); return $this->_getLoginSessionDs()->update($dm); } else { $dm = new App_Account_LoginSessionDm(); $dm->setSessionId($sessionId)->setExpire($this->cookieExpire + Pw::getTime())->setSessionData(serialize($sessionData)); return $this->_getLoginSessionDs()->add($dm); } }