Amélioration - On peut cliquer sur le texte des checkbox sur le formulaire de recher...
[platal.git] / include / validations / broken.inc.php
index 46e3916..ed0fa5b 100644 (file)
@@ -34,6 +34,8 @@ class BrokenReq extends Validate
     public $old_email;
     public $m_comment;
 
+    private $m_reactive = false;
+
     public $rules = "Accepter si l'adresse mail parait correcte, et pas absurde (ou si le marketeur est de confiance).
     Si le demandeur marque sa propre adresse mail, refuser dans tous les cas.
     Si l'adresse proposée est surveillée, refuser.
@@ -76,13 +78,17 @@ class BrokenReq extends Validate
 
     protected function _mail_body($isok)
     {
-        if ($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";
+        } 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"
+                ."Merci de ta participation !\n";
         } else {
-            return "  Nous n'avons pas jugé bon d'envoyer de mail de contact à {$this->m_prenom} {$this->m_nom} ({$this->m_promo}).";
+            return "  Nous n'utiliserons pas cette adresse pour contacter {$this->m_prenom} {$this->m_nom} ({$this->m_promo}).";
         }
     }
 
@@ -93,6 +99,30 @@ class BrokenReq extends Validate
     {
         global $globals;
         $email =  $this->m_bestalias . '@' . $globals->mail->domain;
+
+        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);
+        if (XDB::affectedRows() > 0) {
+            $this->m_reactive = true;
+            $mailer = new PlMailer();
+            $mailer->setFrom('"Association Polytechnique.org" <register@polytechnique.org>');
+            $mailer->addTo($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"));
+            $mailer->send();
+            return true;
+        }
+        
+        $email =  $this->m_bestalias . '@' . $globals->mail->domain;
         if ($this->old_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";