X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations%2Fbroken.inc.php;h=70d02bd1e8cd66395d11f7e4c8fdbb5a7032c67c;hb=a9fd3272be2fa0a2513e0ef22323edab77604ca3;hp=c7bfbb715576c18f706b998a20c5a10700fe1b79;hpb=fe1f0019f54c863b963b768f1bf6d024cc2c2ce8;p=platal.git diff --git a/include/validations/broken.inc.php b/include/validations/broken.inc.php index c7bfbb7..70d02bd 100644 --- a/include/validations/broken.inc.php +++ b/include/validations/broken.inc.php @@ -1,6 +1,6 @@ m_email = $email; + $this->m_user = &$user; $this->m_comment = trim($comment); - $this->m_forlife = $user['forlife']; - $this->m_bestalias = $user['bestalias']; - $this->m_prenom = $user['prenom']; - $this->m_nom = $user['nom']; - $this->m_promo = $user['promo']; - $this->m_sexe = $user['sexe']; - $this->old_email = $user['email']; + $this->m_email = $email; } // }}} @@ -67,10 +55,10 @@ class BrokenReq extends Validate // }}} // {{{ function _mail_subj - + protected function _mail_subj() { - return "[Polytechnique.org] Récupération de {$this->m_prenom} {$this->m_nom} ({$this->m_promo})"; + return "[Polytechnique.org] Récupération de {$this->m_user->fullName()} ({$this->m_user->promo()})"; } // }}} @@ -79,16 +67,16 @@ class BrokenReq extends Validate protected function _mail_body($isok) { if ($isok && !$this->m_reactive) { - return " Un mail de contact vient d'être envoyé " - ." à {$this->m_prenom} {$this->m_nom} ({$this->m_promo}) pour confirmer sa volonté de" - ." mettre à jour sa redirection Polytechnique.org!\n\n" - ."Merci de ta participation !\n"; + return " Un email de contact vient d'être envoyé à {$this->m_user->fullName()}" + . " ({$this->m_user->promo()}) pour confirmer sa volonté de" + . " mettre à jour sa redirection Polytechnique.org !\n\n" + . "Merci de ta participation !\n"; } elseif ($isok) { - return " L'adresse de redirection {$this->m_email} de {$this->m_prenom} {$this->m_nom} ({$this->m_promo}) " - ."vient d'être réactivée. Un mail lui a été envoyé pour l'en informer.\n\n" + return " L'adresse de redirection {$this->m_email} de {$this->m_user->fullName()} ({$this->m_user->promo()}) " + ."vient d'être réactivée. Un email lui a été envoyé pour l'en informer.\n\n" ."Merci de ta participation !\n"; } else { - return " Nous n'utiliserons pas cette adresse pour contacter {$this->m_prenom} {$this->m_nom} ({$this->m_promo})."; + return " Nous n'utiliserons pas cette adresse pour contacter {$this->m_user->fullName()} ({$this->m_user->promo()})."; } } @@ -98,39 +86,38 @@ class BrokenReq extends Validate public function commit() { global $globals; - $email = $this->m_bestalias . '@' . $globals->mail->domain; + $email = $this->m_user->bestEmail(); - XDB::execute("UPDATE emails AS e - INNER JOIN aliases AS a ON (a.id = e.uid) - SET e.flags = 'active' - WHERE a.alias = {?} AND e.email = {?}", $this->m_forlife, $this->m_email); + XDB::execute('UPDATE email_redirect_account + SET flags = \'active\', broken_level = 2 + WHERE uid = {?} AND redirect = {?}', + $this->m_user->id(), $this->m_email); if (XDB::affectedRows() > 0) { $this->m_reactive = true; $mailer = new PlMailer(); - $mailer->setFrom('"Association Polytechnique.org" '); + $mailer->setFrom('"Association Polytechnique.org" mail->domain . '>'); $mailer->addTo($email); - $mailer->setSubject("Mise à jour de ton adresse $email"); + $mailer->setSubject("Mise à jour de ton adresse {$email}"); $mailer->setTxtBody(wordwrap("Cher Camarade,\n\n" - . "Ton adresse $email étant en panne et ayant été informés que ta redirection {$this->m_email}, jusqu'à présent inactive, " - . "est fonctionnelle, nous venons de réactiver cette adresse.\n\n" - . "N'hésite pas à aller gérer toi-même tes redirections en te rendant à la page :\n" - . "https://www.polytechnique.org/emails/redirect\n" - . "Si tu as perdu ton mot de passe d'accès au site, tu peux également effectuer la procédure de récupération à l'adresse :\n" - . "https://www.polytechnique.org/recovery\n" - . "-- \nTrès Cordialement,\nL'Equipe de Polytechnique.org\n")); + . "Ton adresse {$email} étant en panne et ayant été informés que ta redirection {$this->m_email}, jusqu'à présent inactive, " + . "est fonctionnelle, nous venons de réactiver cette adresse.\n\n" + . "N'hésite pas à aller gérer toi-même tes redirections en te rendant à la page :\n" + . "https://www.polytechnique.org/emails/redirect\n" + . "Si tu as perdu ton mot de passe d'accès au site, tu peux également effectuer la procédure de récupération à l'adresse :\n" + . "https://www.polytechnique.org/recovery\n\n" + . "-- \nTrès Cordialement,\nL'Équipe de Polytechnique.org\n")); $mailer->send(); return true; } - - $email = $this->m_bestalias . '@' . $globals->mail->domain; - if ($this->old_email) { + + if ($this->m_user->email) { $subject = "Ton adresse $email semble ne plus fonctionner"; $reason = "Nous avons été informés que ton adresse $email ne fonctionne plus correctement par un camarade"; } else { - $res = XDB::iterRow("SELECT email - FROM emails AS e - INNER JOIN aliases AS a ON (a.id = e.uid) - WHERE a.alias = {?} AND e.flags = 'panne'", $this->m_forlife); + $res = XDB::iterRow('SELECT redirect + FROM email_redirect_account + WHERE uid = {?} AND flags = \'broken\'', + $this->m_user->id()); $redirect = array(); while (list($red) = $res->next()) { list(, $redirect[]) = explode('@', $red); @@ -140,21 +127,21 @@ class BrokenReq extends Validate if (!count($redirect)) { $reason .= '.'; } elseif (count($redirect) == 1) { - $reason .= ' car sa redirection vers ' . $redirect[0] . ' est hors-service depuis plusiers mois.'; + $reason .= ' car sa redirection vers ' . $redirect[0] . ' est hors-service depuis plusieurs mois.'; } else { - $reason .= ' car ses redirections vers ' . implode(', ', $redirect) + $reason .= ' car ses redirections vers ' . implode(', ', $redirect) . ' sont hors-services depuis plusieurs mois.'; } } - $body = ($this->m_sexe ? 'Chère ' : 'Cher ') . $this->m_prenom . ",\n\n" + $body = ($this->m_user->isFemale() ? 'Chère ' : 'Cher ') . $this->m_user->displayName() . ",\n\n" . $reason . "\n\n" . "L'adresse {$this->m_email} nous a été communiquée, veux-tu que cette adresse devienne ta nouvelle " - . "adresse devienne ta nouvelle adresse de redirection ? Si oui, envoie nous des informations qui " - . "nous permettrons de nous assurer de ton identité (par exemple ta date de naissance et ta promotion)\n" - . "-- \nTrès Cordialement,\nL'Equipe de Polytechnique.org\n"; + . "adresse de redirection ? Si oui, envoie nous des informations qui " + . "nous permettront de nous assurer de ton identité (par exemple ta date de naissance et ta promotion).\n\n" + . "-- \nTrès Cordialement,\nL'Équipe de Polytechnique.org\n"; $body = wordwrap($body, 78); $mailer = new PlMailer(); - $mailer->setFrom('"Association Polytechnique.org" '); + $mailer->setFrom('"Association Polytechnique.org" mail->domain . '>'); $mailer->addTo($this->m_email); $mailer->setSubject($subject); $mailer->setTxtBody($body);