m_email = $email; $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']; } // }}} // {{{ function formu() public function formu() { return 'include/form.valid.broken.tpl'; } // }}} // {{{ function _mail_subj protected function _mail_subj() { return "[Polytechnique.org] Récupération de {$this->m_prenom} {$this->m_nom} ({$this->m_promo})"; } // }}} // {{{ function _mail_body 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"; } 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'utiliserons pas cette adresse pour contacter {$this->m_prenom} {$this->m_nom} ({$this->m_promo})."; } } // }}} // {{{ function commit() public function commit() { 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" mails->domain . '>'); $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"; } 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); $redirect = array(); while (list($red) = $res->next()) { list(, $redirect[]) = explode('@', $red); } $subject = "Ton adresse $email ne fonctionne plus"; $reason = "Ton adresse $email ne fonctionne plus"; if (!count($redirect)) { $reason .= '.'; } elseif (count($redirect) == 1) { $reason .= ' car sa redirection vers ' . $redirect[0] . ' est hors-service depuis plusiers mois.'; } else { $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" . $reason . "\n\n" . "L'adresse {$this->m_email} nous a été communiquée, veux-tu que cette adresse devienne ta nouvelle " . "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" . "-- \nTrès Cordialement,\nL'Equipe de Polytechnique.org\n"; $body = wordwrap($body, 78); $mailer = new PlMailer(); $mailer->setFrom('"Association Polytechnique.org" mails->domain . '>'); $mailer->addTo($this->m_email); $mailer->setSubject($subject); $mailer->setTxtBody($body); return $mailer->send(); } // }}} } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>