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')); }
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'); } }
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'); } } }