/**
  * @see sfFilter
  */
 public function execute($filterChain)
 {
     $cookieName = sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember');
     if ($this->isFirstCall() && $this->context->getUser()->isAnonymous() && ($cookie = $this->context->getRequest()->getCookie($cookieName))) {
         $criteria = new Criteria();
         $criteria->add(sfGuardRememberKeyPeer::REMEMBER_KEY, $cookie);
         if ($rk = sfGuardRememberKeyPeer::doSelectOne($criteria)) {
             $smintUserId = $this->context->getRequest()->getCookie('sfSmintUserId');
             $currentSmintUser = SmintUserPeer::retrieveByPK($smintUserId);
             if (!is_null($currentSmintUser)) {
                 // add smint user info to session
                 $this->context->getUser()->setAttribute('userid', $currentSmintUser->getId());
                 $this->context->getUser()->setAttribute('username', $currentSmintUser->getUsername());
                 $this->context->getUser()->setAttribute('name', $currentSmintUser->getName());
                 $this->context->getUser()->setAttribute('email', $currentSmintUser->getEmail());
                 $this->context->getUser()->setAttribute('organization', $currentSmintUser->getOrganization());
                 $this->context->getUser()->setAttribute('ip', $this->context->getRequest()->getHttpHeader('addr', 'remote'));
                 // log user login
                 UserLoginsPeer::login();
                 // sfGuard login check
                 $this->context->getUser()->signIn($rk->getsfGuardUser());
             }
         }
     }
     $filterChain->execute();
 }
 /**
  * @see sfFilter
  */
 public function execute($filterChain)
 {
     $cookieName = sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember');
     if ($this->isFirstCall() && $this->context->getUser()->isAnonymous() && ($cookie = $this->context->getRequest()->getCookie($cookieName))) {
         $criteria = new Criteria();
         $criteria->add(sfGuardRememberKeyPeer::REMEMBER_KEY, $cookie);
         if ($rk = sfGuardRememberKeyPeer::doSelectOne($criteria)) {
             $this->context->getUser()->signIn($rk->getsfGuardUser(), true);
         }
     }
     $filterChain->execute();
 }
 public function execute($filterChain)
 {
     if ($this->isFirstCall() and !$this->getContext()->getUser()->isAuthenticated()) {
         if ($cookie = $this->getContext()->getRequest()->getCookie(sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember'))) {
             $c = new Criteria();
             $c->add(sfGuardRememberKeyPeer::REMEMBER_KEY, $cookie);
             $rk = sfGuardRememberKeyPeer::doSelectOne($c);
             if ($rk && $rk->getSfGuardUser()) {
                 $this->getContext()->getUser()->signIn($rk->getSfGuardUser());
             }
         }
     }
     parent::execute($filterChain);
 }
 /**
  * @see sfFilter
  */
 public function execute($filterChain)
 {
     $cookieName = sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember');
     if ($this->isFirstCall()) {
         // deprecated notice
         $this->context->getEventDispatcher()->notify(new sfEvent($this, 'application.log', array(sprintf('The filter "%s" is deprecated. Use "sfGuardRememberMeFilter" instead.', __CLASS__), 'priority' => sfLogger::NOTICE)));
         if ($this->context->getUser()->isAnonymous() && ($cookie = $this->context->getRequest()->getCookie($cookieName))) {
             $criteria = new Criteria();
             $criteria->add(sfGuardRememberKeyPeer::REMEMBER_KEY, $cookie);
             if ($rk = sfGuardRememberKeyPeer::doSelectOne($criteria)) {
                 $this->context->getUser()->signIn($rk->getsfGuardUser(), true);
             }
         }
     }
     parent::execute($filterChain);
 }
Exemple #5
0
 /**
  * Returns true if user is authenticated.
  *
  * @return boolean
  */
 public function isAuthenticated()
 {
     if (!$this->authenticated) {
         if ($cookie = sfContext::getInstance()->getRequest()->getCookie(sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember'))) {
             $c = new Criteria();
             $c->add(sfGuardRememberKeyPeer::REMEMBER_KEY, $cookie);
             $rk = sfGuardRememberKeyPeer::doSelectOne($c);
             if ($rk && $rk->getSfGuardUser()) {
                 $this->signIn($rk->getSfGuardUser());
             }
         }
     }
     return $this->authenticated;
 }
 /**
  *
  * @param string $cookie
  * @return sfGuardUser
  * @author fabriceb
  * @since Aug 10, 2009
  */
 public function retrieveSfGuardUserByCookie($cookie)
 {
     $c = new Criteria();
     $c->add(sfGuardRememberKeyPeer::REMEMBER_KEY, $cookie);
     $rk = sfGuardRememberKeyPeer::doSelectOne($c);
     if ($rk) {
         return $rk->getSfGuardUser();
     }
     return null;
 }