X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fxnet.php;h=6964996b128a81aa2deecb86b33b45c04e370463;hb=92ac93ec91a6e7b0f00fd21c6d19c31d46fe9f52;hp=2b51821a7ff0d7a1f5fdde302f64f6f59c868606;hpb=950c9968a3418444928e9ed0aa0b257b8b52634f;p=platal.git diff --git a/modules/xnet.php b/modules/xnet.php index 2b51821..6964996 100644 --- a/modules/xnet.php +++ b/modules/xnet.php @@ -27,13 +27,15 @@ class XnetModule extends PLModule 'index' => $this->make_hook('index', AUTH_PUBLIC), 'exit' => $this->make_hook('exit', AUTH_PUBLIC), - 'admin' => $this->make_hook('admin', AUTH_MDP, 'admin'), + 'admin' => $this->make_hook('admin', AUTH_PASSWD, 'admin'), 'groups' => $this->make_hook('groups', AUTH_PUBLIC), 'groupes.php' => $this->make_hook('groups2', AUTH_PUBLIC), 'plan' => $this->make_hook('plan', AUTH_PUBLIC), - 'photo' => $this->make_hook('photo', AUTH_MDP, 'groups'), - 'autologin' => $this->make_hook('autologin', AUTH_MDP, 'groups'), - 'edit' => $this->make_hook('edit', AUTH_MDP, 'groups'), + // Should be removed in a future release as links will have expired anyway. + 'register/ext' => $this->make_hook('register_ext', AUTH_PUBLIC), + 'photo' => $this->make_hook('photo', AUTH_PASSWD, 'groups'), + 'autologin' => $this->make_hook('autologin', AUTH_PASSWD, 'groups'), + 'edit' => $this->make_hook('edit', AUTH_PASSWD, 'groups'), 'Xnet' => $this->make_wiki_hook(), ); } @@ -248,33 +250,47 @@ class XnetModule extends PLModule } } + require_once 'emails.inc.php'; + require_once 'name.func.inc.php'; + // Update user info - $full_name = Post::t('firstname') . ' ' . Post::t('lastname'); - $directory_name = mb_strtoupper(Post::t('lastname')) . ' ' . Post::t('firstname'); + $lastname = capitalize_name(Post::t('lastname')); + $firstname = capitalize_name(Post::t('firstname')); + $full_name = build_full_name($firstname, $lastname); + $directory_name = build_directory_name($firstname, $lastname); + $sort_name = build_sort_name($firstname, $lastname); XDB::query('UPDATE accounts - SET full_name = {?}, directory_name = {?}, display_name = {?}, - firstname = {?}, lastname = {?}, sex = {?}, email = {?} + SET full_name = {?}, directory_name = {?}, sort_name = {?}, display_name = {?}, + firstname = {?}, lastname = {?}, sex = {?} WHERE uid = {?}', - $full_name, $directory_name, Post::t('display_name'), + $full_name, $directory_name, $sort_name, Post::t('display_name'), Post::t('firstname'), Post::t('lastname'), - (Post::t('sex') == 'male') ? 'male' : 'female', Post::t('email'), $user->id()); - if (XDB::affectedRows()) { - require_once 'emails.inc.php'; - if (require_email_update($user, Post::t('email'))) { + (Post::t('sex') == 'male') ? 'male' : 'female', $user->id()); + + // Updates email. + $new_email = strtolower(Post::t('email')); + if (require_email_update($user, $new_email)) { + XDB::query('UPDATE accounts + SET email = {?} + WHERE uid = {?}', + $new_email, $user->id()); $listClient = new MMList(S::user()); - $listClient->change_user_email($user->forlifeEmail(), Post::t('email')); - update_alias_user($user->forlifeEmail(), Post::t('email')); - } - $user = User::getWithUID($user->id()); - S::set('user', $user); - $page->trigSuccess('Données mises à jour.'); + $listClient->change_user_email($user->forlifeEmail(), $new_email); + update_alias_user($user->forlifeEmail(), $new_email); } + $user = User::getWithUID($user->id()); + S::set('user', $user); + $page->trigSuccess('Données mises à jour.'); } $page->addJsLink('password.js'); $page->assign('user', $user); } + function handler_register_ext($page, $hash = null) + { + http_redirect(Platal::globals()->xnet->xorg_baseurl . 'register/ext/' . $hash); + } } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: