X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fadmin.php;h=a2d5d59adb9127274c9a6501d10118dbf40eef22;hb=674333e7f1f4ad1e06626c16138eeb4b755f9f7e;hp=ad07d0eb52894f1c2f87acd360afddf725a1fe45;hpb=e26ac9a373ea41dd3bbeb9bc112ef994a7ff8eb4;p=platal.git diff --git a/modules/admin.php b/modules/admin.php index ad07d0e..a2d5d59 100644 --- a/modules/admin.php +++ b/modules/admin.php @@ -24,38 +24,38 @@ class AdminModule extends PLModule function handlers() { return array( - 'phpinfo' => $this->make_hook('phpinfo', AUTH_MDP, 'admin'), + 'phpinfo' => $this->make_hook('phpinfo', AUTH_PASSWD, 'admin'), 'get_rights' => $this->make_hook('get_rights', AUTH_COOKIE, 'admin'), 'set_skin' => $this->make_hook('set_skin', AUTH_COOKIE, 'admin'), - 'admin' => $this->make_hook('default', AUTH_MDP, 'admin'), - 'admin/dead-but-active' => $this->make_hook('dead_but_active', AUTH_MDP, 'admin'), - 'admin/deaths' => $this->make_hook('deaths', AUTH_MDP, 'admin'), - 'admin/downtime' => $this->make_hook('downtime', AUTH_MDP, 'admin'), - 'admin/homonyms' => $this->make_hook('homonyms', AUTH_MDP, 'admin'), - 'admin/logger' => $this->make_hook('logger', AUTH_MDP, 'admin'), - 'admin/logger/actions' => $this->make_hook('logger_actions', AUTH_MDP, 'admin'), - 'admin/postfix/blacklist' => $this->make_hook('postfix_blacklist', AUTH_MDP, 'admin'), - 'admin/postfix/delayed' => $this->make_hook('postfix_delayed', AUTH_MDP, 'admin'), - 'admin/postfix/regexp_bounces' => $this->make_hook('postfix_regexpsbounces', AUTH_MDP, 'admin'), - 'admin/postfix/whitelist' => $this->make_hook('postfix_whitelist', AUTH_MDP, 'admin'), - 'admin/mx/broken' => $this->make_hook('mx_broken', AUTH_MDP, 'admin'), - 'admin/skins' => $this->make_hook('skins', AUTH_MDP, 'admin'), - 'admin/user' => $this->make_hook('user', AUTH_MDP, 'admin'), - 'admin/add_accounts' => $this->make_hook('add_accounts', AUTH_MDP, 'admin'), - 'admin/validate' => $this->make_hook('validate', AUTH_MDP, 'admin,edit_directory'), - 'admin/validate/answers' => $this->make_hook('validate_answers', AUTH_MDP, 'admin'), - 'admin/wiki' => $this->make_hook('wiki', AUTH_MDP, 'admin'), - 'admin/ipwatch' => $this->make_hook('ipwatch', AUTH_MDP, 'admin'), - 'admin/icons' => $this->make_hook('icons', AUTH_MDP, 'admin'), - 'admin/geocoding' => $this->make_hook('geocoding', AUTH_MDP, 'admin'), - 'admin/accounts' => $this->make_hook('accounts', AUTH_MDP, 'admin'), - 'admin/account/watch' => $this->make_hook('account_watch', AUTH_MDP, 'admin'), - 'admin/account/types' => $this->make_hook('account_types', AUTH_MDP, 'admin'), - 'admin/xnet_without_group' => $this->make_hook('xnet_without_group', AUTH_MDP, 'admin'), - 'admin/jobs' => $this->make_hook('jobs', AUTH_MDP, 'admin,edit_directory'), - 'admin/profile' => $this->make_hook('profile', AUTH_MDP, 'admin,edit_directory'), - 'admin/phd' => $this->make_hook('phd', AUTH_MDP, 'admin'), - 'admin/add_secondary_edu' => $this->make_hook('add_secondary_edu', AUTH_MDP, 'admin') + 'admin' => $this->make_hook('default', AUTH_PASSWD, 'admin'), + 'admin/dead-but-active' => $this->make_hook('dead_but_active', AUTH_PASSWD, 'admin'), + 'admin/deaths' => $this->make_hook('deaths', AUTH_PASSWD, 'admin'), + 'admin/downtime' => $this->make_hook('downtime', AUTH_PASSWD, 'admin'), + 'admin/homonyms' => $this->make_hook('homonyms', AUTH_PASSWD, 'admin'), + 'admin/logger' => $this->make_hook('logger', AUTH_PASSWD, 'admin'), + 'admin/logger/actions' => $this->make_hook('logger_actions', AUTH_PASSWD, 'admin'), + 'admin/postfix/blacklist' => $this->make_hook('postfix_blacklist', AUTH_PASSWD, 'admin'), + 'admin/postfix/delayed' => $this->make_hook('postfix_delayed', AUTH_PASSWD, 'admin'), + 'admin/postfix/regexp_bounces' => $this->make_hook('postfix_regexpsbounces', AUTH_PASSWD, 'admin'), + 'admin/postfix/whitelist' => $this->make_hook('postfix_whitelist', AUTH_PASSWD, 'admin'), + 'admin/mx/broken' => $this->make_hook('mx_broken', AUTH_PASSWD, 'admin'), + 'admin/skins' => $this->make_hook('skins', AUTH_PASSWD, 'admin'), + 'admin/user' => $this->make_hook('user', AUTH_PASSWD, 'admin'), + 'admin/add_accounts' => $this->make_hook('add_accounts', AUTH_PASSWD, 'admin'), + 'admin/validate' => $this->make_hook('validate', AUTH_PASSWD, 'admin,edit_directory'), + 'admin/validate/answers' => $this->make_hook('validate_answers', AUTH_PASSWD, 'admin'), + 'admin/wiki' => $this->make_hook('wiki', AUTH_PASSWD, 'admin'), + 'admin/ipwatch' => $this->make_hook('ipwatch', AUTH_PASSWD, 'admin'), + 'admin/icons' => $this->make_hook('icons', AUTH_PASSWD, 'admin'), + 'admin/geocoding' => $this->make_hook('geocoding', AUTH_PASSWD, 'admin'), + 'admin/accounts' => $this->make_hook('accounts', AUTH_PASSWD, 'admin'), + 'admin/account/watch' => $this->make_hook('account_watch', AUTH_PASSWD, 'admin'), + 'admin/account/types' => $this->make_hook('account_types', AUTH_PASSWD, 'admin'), + 'admin/xnet_without_group' => $this->make_hook('xnet_without_group', AUTH_PASSWD, 'admin'), + 'admin/jobs' => $this->make_hook('jobs', AUTH_PASSWD, 'admin,edit_directory'), + 'admin/profile' => $this->make_hook('profile', AUTH_PASSWD, 'admin,edit_directory'), + 'admin/phd' => $this->make_hook('phd', AUTH_PASSWD, 'admin'), + 'admin/add_secondary_edu' => $this->make_hook('add_secondary_edu', AUTH_PASSWD, 'admin') ); } @@ -518,10 +518,11 @@ class AdminModule extends PLModule if (Post::t('comment') != $user->comment) { $to_update['comment'] = Post::blank('comment') ? null : Post::t('comment'); } - if (require_email_update($user, Post::t('email'))) { - $to_update['email'] = Post::t('email'); - $listClient->change_user_email($user->forlifeEmail(), Post::t('email')); - update_alias_user($user->forlifeEmail(), Post::t('email')); + $new_email = strtolower(Post::t('email')); + if (require_email_update($user, $new_email)) { + $to_update['email'] = $new_email; + $listClient->change_user_email($user->forlifeEmail(), $new_email); + update_alias_user($user->forlifeEmail(), $new_email); } } if (!empty($to_update)) { @@ -592,7 +593,7 @@ class AdminModule extends PLModule $redirect = ($registered ? new Redirect($user) : null); if (Post::has('add_fwd')) { $email = Post::t('email'); - if (!isvalid_email_redirection($email)) { + if (!isvalid_email_redirection($email, $user)) { $page->trigError("Email non valide: $email"); } else { $redirect->add_email($email); @@ -814,6 +815,7 @@ class AdminModule extends PLModule $page->changeTpl('admin/add_accounts.tpl'); if (Env::has('add_type') && Env::has('people')) { + static $titles = array('male' => 'M', 'female' => 'MLLE'); $lines = explode("\n", Env::t('people')); $separator = Env::t('separator'); $promotion = Env::i('promotion'); @@ -872,9 +874,10 @@ class AdminModule extends PLModule continue; } - XDB::execute('INSERT INTO profiles (hrpid, xorg_id, ax_id, birthdate_ref, sex) - VALUES ({?}, {?}, {?}, {?}, {?})', - $infos['hrid'], $xorgId, (isset($infos[5]) ? $infos[5] : null), $birthDate, $sex); + XDB::execute('INSERT INTO profiles (hrpid, xorg_id, ax_id, birthdate_ref, sex, title) + VALUES ({?}, {?}, {?}, {?}, {?}, {?})', + $infos['hrid'], $xorgId, (isset($infos[5]) ? $infos[5] : null), + $birthDate, $sex, $titles[$sex]); $pid = XDB::insertId(); XDB::execute('INSERT INTO profile_public_names (pid, lastname_initial, lastname_main, firstname_initial, firstname_main) VALUES ({?}, {?}, {?}, {?}, {?})',