Example #1
0
 public function GetSRegDataForRequest(User $user)
 {
     require_once 'Auth/OpenID/SReg.php';
     // Other common SReg fields we could fill are:
     //   dob, country, language, timezone.
     $sreg_request = Auth_OpenID_SRegRequest::fromOpenIDRequest($this->request);
     return Auth_OpenID_SRegResponse::extractResponse($sreg_request, array('fullname' => $user->fullName(), 'nickname' => $user->displayName(), 'email' => $user->bestEmail(), 'gender' => $user->isFemale() ? 'F' : 'M'));
 }
Example #2
0
 function manage_ping($page, $id)
 {
     if (S::logged()) {
         $res = XDB::query("SELECT uid, description FROM laf WHERE oid = {?}", $id)->fetchOneAssoc();
         $user = new User($res['uid']);
         $user->select(array(User::SELECT_BASE => array()));
         $message = 'Un message a été envoyé à ' . $user->displayName() . ' (' . $user->bestEmail() . ') pour lui signaler que tu as retrouvé son objet.';
         $page->assign('message', $message);
         $mail = new FrankizMailer("lostandfound/mail.tpl");
         $mail->assign('object', $res);
         $mail->assign('user', S::user());
         $mail->assign('type', 'ping');
         $mail->SetFrom(S::user()->bestEmail(), S::user()->displayName());
         $mail->AddAddress($user->bestEmail(), $user->displayName());
         $mail->subject('[Frankiz] Objet perdu');
         $mail->send(false);
     } else {
         $page->assign('not_logged', 'true');
     }
 }
Example #3
0
 public function handler_recovery($page)
 {
     global $globals;
     $page->addCssLink('profile.css');
     $page->changeTpl('profile/recovery.tpl');
     $page->assign('title', 'Nouveau mot de passe');
     // Step 1 : Ask the email
     $page->assign('step', 'ask');
     // Step 2 : Send the recovery mail
     if (Env::t('mail', '') != '') {
         // TODO: Accept forlife too
         list($forlife, $domain) = explode('@', Env::t('mail'), 2);
         $uf = new UserFilter(new UFC_Forlife($forlife, $domain));
         $user = $uf->get(true);
         if (!$user) {
             $page->assign('error', 'true');
             return;
         }
         $user->select(UserSelect::base());
         $page->assign('email', Env::t('mail'));
         $mail = new FrankizMailer('profile/recovery.mail.tpl');
         $hash = rand_url_id();
         $user->hash($hash);
         $mail->assign('hash', $hash);
         $mail->assign('uid', $user->id());
         $mail->SetFrom($globals->mails->web, 'Les Webmestres de Frankiz');
         $mail->AddAddress($user->bestEmail(), $user->displayName());
         $mail->subject('[Frankiz] Changement de mot de passe');
         $mail->Send($user->isEmailFormatHtml());
         $page->assign('step', 'mail');
     }
     // Step 2 : Send a new password
     if (Env::v('hash', '') != '' && Env::v('uid', '') != '') {
         $user = new User(Env::v('uid'));
         $user->select(UserSelect::base());
         if (Env::v('hash') == $user->hash()) {
             // TODO: log the session opening
             $mail = new FrankizMailer('profile/recovery_new.mail.tpl');
             $new = rand_url_id();
             $user->hash('');
             $user->password($new);
             $mail->assign('new_password', $new);
             $mail->SetFrom($globals->mails->web, 'Les Webmestres de Frankiz');
             $mail->AddAddress($user->bestEmail(), $user->displayName());
             $mail->subject('[Frankiz] Nouveau mot de passe');
             $mail->Send($user->isEmailFormatHtml());
             $page->assign('step', 'password');
         } else {
             $page->assign('step', 'expired');
         }
     }
 }