Пример #1
0
 /**
  * Sets the 'remember me' cookie and stores the hash in the db.
  *
  * @param myUser $userSf
  * @param PcUser $userApp - the user trying to login
  */
 private static function setRememberMeCookie(myUser $userSf, PcUser $userApp)
 {
     $secret = sfConfig::get('app_rememberMe_secret');
     $timeout = sfConfig::get('app_rememberMe_timeout');
     $cookieName = sfConfig::get('app_rememberMe_cookieName');
     $userId = $userSf->getAttribute('userid');
     if (!is_int($userId)) {
         throw new sfException('Couldn\'t set the rememberme cookie properly - userId invalid.');
     }
     $now = time();
     $cookieValue = md5($userApp->getId() . $secret . $now);
     $rememberMeEntry = new PcRemembermeKey();
     $rememberMeEntry->setUserId($userApp->getId())->setRemembermeKey($cookieValue)->save();
     $sfContext = sfContext::getInstance();
     $sfContext->getResponse()->setCookie($cookieName, $cookieValue, $now + $timeout);
 }