/**
  * Saves all tokens from session to database
  * 
  * @param sfEvent $event 
  * @return void
  */
 public static function saveTokenForUser(sfEvent $event)
 {
     foreach ($event->getSubject()->getAttributeHolder()->getNamespaces() as $namespace) {
         if (substr($namespace, 0, 18) == 'sfCacophonyPlugin/') {
             $t = Doctrine_Core::getTable('Token')->findOneByUserAndProvider($event->getSubject()->getGuardUser(), substr($namespace, 18));
             if (!$t) {
                 $t = new Token();
             }
             $me = $event->getSubject()->getAttribute('me', null, $namespace);
             $t->setProvidersUserId($me['providers_user_id']);
             $t->setContent($event->getSubject()->getAttribute('accessToken', null, $namespace));
             $t->setProvider(substr($namespace, 18));
             $t->setUser($event->getSubject()->getGuardUser());
             $t->save();
         }
     }
 }
Ejemplo n.º 2
0
	public function sendRecoverMail(){
		global $config;
		$user = DAO::getOne("User", "mail = '".$_POST['email']."'");
		
		if ($user == null){
			return $this->_showMessage("Impossible de trouver un utilisateur correspondant à cet email : ".$_POST['email'], 'warning');
		}

		$token = new Token();
		$t = md5(uniqid(rand(), true));
		$token->setToken($t);
		$token->setUser($user);
		DAO::insert($token);
	
		$this->sendMail("<a href='".$config['siteUrl']."Support/resetPassword/".$t."'>Cliquez ici pour réintialiser votre mot de passe et en choisir un nouveau</a>", $user->getMail());
		
		return $this->_showMessage("Un mail vous a  été envoyé avec un lien permettant de réintialiser votre mot de passe...", 'success');
	}
Ejemplo n.º 3
0
 public function generateToken()
 {
     $token = new Token($this->ds);
     $token->setUser($this);
     return $token;
 }