X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Femails.inc.php;fp=include%2Femails.inc.php;h=a22adb56920fbc61476d1482db6de6d5172be040;hb=8a41e7f9824e57509e00e73c2e32d2801e949e40;hp=bd24d3ead5bccd6e28aeb301974d52288285e48d;hpb=7e2982c93d26ae7741f903e172633feab8c241e3;p=platal.git diff --git a/include/emails.inc.php b/include/emails.inc.php index bd24d3e..a22adb5 100644 --- a/include/emails.inc.php +++ b/include/emails.inc.php @@ -30,7 +30,20 @@ function require_email_update(User $user, $new_email) { Platal::assert(!is_null($user), 'User cannot be null.'); - return !$user->checkPerms(User::PERM_MAIL) && strtolower($new_email) != strtolower($user->forlifeEmail()); + $is_new = !$user->checkPerms(User::PERM_MAIL) && $new_email != strtolower($user->email); + if ($new_email && $is_new) { + $already = XDB::fetchOneCell('SELECT hruid + FROM accounts + WHERE email = {?} AND uid != {?}', + $new_email, $user->id()); + if ($already) { + Platal::page()->trigError("L'email ne peut pas être utilisé pour ce compte car il correspond déjà au compte : " + . $already . ". Si l'utilisateur courant et cette personne ne sont en fait qu'une " + . "seul et même personne, ou en cas de problème, contacter : contact@polytechnique.org"); + return false; + } + } + return $is_new; } function format_email_alias($email)