/** * 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(); } } }
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'); }
public function generateToken() { $token = new Token($this->ds); $token->setUser($this); return $token; }