From b80cbf0db8e7ac7e11ea2bb49bbf3efd79f4fadf Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Thu, 17 Mar 2011 16:53:24 +0100 Subject: [PATCH] Xnet accounts activation. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Jacob --- htdocs/javascript/xorg.js | 2 +- modules/xnet.php | 32 ++++++++++++++++++++++++++++++++ templates/platal/password.tpl | 14 ++++++++------ templates/xnet/account.mail.tpl | 2 +- templates/xnet/register.success.tpl | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 78 insertions(+), 8 deletions(-) create mode 100644 templates/xnet/register.success.tpl diff --git a/htdocs/javascript/xorg.js b/htdocs/javascript/xorg.js index 4837da9..b262759 100644 --- a/htdocs/javascript/xorg.js +++ b/htdocs/javascript/xorg.js @@ -590,7 +590,7 @@ function hashResponse(password1, password2, hasConfirmation) { return false; } - alert("Le mot de passe que tu as rentré va être chiffré avant de nous parvenir par Internet ! Ainsi il ne circulera pas en clair."); + alert("Le mot de passe va être chiffré avant de nous parvenir par Internet ! Ainsi il ne circulera pas en clair."); $('[name=' + password1 + ']').val(''); $('[name=pwhash]').val(hash_encrypt(pw1)); return true; diff --git a/modules/xnet.php b/modules/xnet.php index 627824c..607b30c 100644 --- a/modules/xnet.php +++ b/modules/xnet.php @@ -34,6 +34,7 @@ class XnetModule extends PLModule 'photo' => $this->make_hook('photo', AUTH_MDP), 'autologin' => $this->make_hook('autologin', AUTH_MDP), 'login/ext' => $this->make_hook('login_ext', AUTH_PUBLIC), + 'register/ext' => $this->make_hook('register_ext', AUTH_PUBLIC), 'edit' => $this->make_hook('edit', AUTH_MDP, 'user'), 'Xnet' => $this->make_wiki_hook(), @@ -235,6 +236,37 @@ class XnetModule extends PLModule } } + function handler_register_ext($page, $hash = null) + { + XDB::execute('DELETE FROM register_pending_xnet + WHERE DATE_SUB(NOW(), INTERVAL 1 MONTH) > date'); + $res = XDB::fetchOneAssoc('SELECT uid, hruid + FROM register_pending_xnet + WHERE hash = {?}', + $hash); + + if (is_null($hash) || is_null($res)) { + $page->trigErrorRedirect('Cette adresse n\'existe pas ou n\'existe plus sur le serveur.', ''); + } + + if (Post::has('pwhash') && Post::t('pwhash')) { + XDB::query('UPDATE accounts + SET password = {?}, state = \'active\' + WHERE uid = {?} AND state = \'pending\' AND type = \'xnet\'', + Post::t('pwhash'), $res['uid']); + XDB::query('DELETE FROM register_pending_xnet + WHERE uid = {?}', + $res['uid']); + + S::logger($res['uid'])->log('passwd', ''); + $page->changeTpl('xnet/register.success.tpl'); + $page->assign('hruid', $res['hruid']); + } else { + $page->changeTpl('platal/password.tpl'); + $page->assign('xnet', true); + } + } + function handler_edit(&$page) { global $globals; diff --git a/templates/platal/password.tpl b/templates/platal/password.tpl index d84d193..a0632cd 100644 --- a/templates/platal/password.tpl +++ b/templates/platal/password.tpl @@ -22,21 +22,21 @@

- Changer de mot de passe + {if t($xnet)}Création du mot de passe{else}Changer de mot de passe{/if}

- Ton mot de passe doit faire au moins 6 caractères et comporter deux types de + Le mot de passe doit faire au moins 6 caractères et comporter deux types de caractères parmi les suivants : lettres minuscules, lettres majuscules, chiffres, caractères spéciaux. Attention au type de clavier que tu utilises (qwerty ?) et aux majuscules/minuscules.

- Pour une sécurité optimale, ton mot de passe circule de manière chiffrée (https) et est + Pour une sécurité optimale, le mot de passe circule de manière chiffrée (https) et est stocké chiffré irréversiblement sur nos serveurs.


- {icon name=lock} Saisie du nouveau mot de passe + {icon name=lock} Saisie du {if !t($xnet)}nouveau {/if}mot de passe
{xsrf_token_field} @@ -50,7 +50,7 @@
- Retape-le une fois : + Confirmation : @@ -67,13 +67,14 @@
- +
+{if !t($xnet)}

Note bien qu'il s'agit là du mot de passe te permettant de t'authentifier sur le site {#globals.core.sitename#} ; le mot de passe te permettant d'utiliser le serveur activé l'accès SMTP et NNTP) est indépendant de celui-ci et tu peux le modifier ici.

+{/if} {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *} diff --git a/templates/xnet/account.mail.tpl b/templates/xnet/account.mail.tpl index 5dc56d3..cdea70d 100644 --- a/templates/xnet/account.mail.tpl +++ b/templates/xnet/account.mail.tpl @@ -38,7 +38,7 @@ mot de passe : celui que vous choisirez Vous pouvez, dès à présent et pendant une période d'un mois, activer votre compte en cliquant sur le lien suivant : -http://www.polytechnique.net/register/{$hash} +http://www.polytechnique.net/register/ext/{$hash} Si le lien ne fonctionne pas, copiez intégralement ce lien dans la barre d'adresse de votre navigateur. diff --git a/templates/xnet/register.success.tpl b/templates/xnet/register.success.tpl new file mode 100644 index 0000000..f545dbf --- /dev/null +++ b/templates/xnet/register.success.tpl @@ -0,0 +1,36 @@ +{**************************************************************************} +{* *} +{* Copyright (C) 2003-2011 Polytechnique.org *} +{* http://opensource.polytechnique.org/ *} +{* *} +{* This program is free software; you can redistribute it and/or modify *} +{* it under the terms of the GNU General Public License as published by *} +{* the Free Software Foundation; either version 2 of the License, or *} +{* (at your option) any later version. *} +{* *} +{* This program is distributed in the hope that it will be useful, *} +{* but WITHOUT ANY WARRANTY; without even the implied warranty of *} +{* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *} +{* GNU General Public License for more details. *} +{* *} +{* You should have received a copy of the GNU General Public License *} +{* along with this program; if not, write to the Free Software *} +{* Foundation, Inc., *} +{* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *} +{* *} +{**************************************************************************} + +

Activation du compte et création du mot de passe

+ +

+Mot de passe enregistré le {$smarty.now|date_format} +

+

+ Votre compte est maintenant activé et votre passe créé. Vous pouvez donc + profiter dès à présent des multiples fonctionnalités de Polytechnique.net. +

+

+ Pour rappel, votre identifiant est : {$hruid} +

+ +{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *} -- 2.1.4