X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=modules%2Femail.php;h=239ec6d4c7f9dc6356b4b4cd6b9c40fcf0e3b9f4;hb=f981776842674edfa2c654e4248a7b290df98501;hp=a2ada029ad2990f2e8ade657c509febc235274ed;hpb=01ab5780ddaab6adf864c576205905ac37dfbe65;p=platal.git diff --git a/modules/email.php b/modules/email.php index a2ada02..239ec6d 100644 --- a/modules/email.php +++ b/modules/email.php @@ -47,7 +47,7 @@ class EmailModule extends PLModule require_once 'emails.inc.php'; $page->changeTpl('emails/index.tpl'); - $page->assign('xorg_title','Polytechnique.org - Mes emails'); + $page->setTitle('Mes emails'); $uid = S::v('uid'); @@ -98,7 +98,7 @@ class EmailModule extends PLModule global $globals; $page->changeTpl('emails/alias.tpl'); - $page->assign('xorg_title','Polytechnique.org - Alias melix.net'); + $page->setTitle('Alias melix.net'); $uid = S::v('uid'); $forlife = S::v('forlife'); @@ -145,17 +145,17 @@ class EmailModule extends PLModule //Quelques vérifications sur l'alias (caractères spéciaux) if (!preg_match( "/^[a-zA-Z0-9\-.]{3,20}$/", $alias)) { - $page->trig("L'adresse demandée n'est pas valide. - Vérifie qu'elle comporte entre 3 et 20 caractères - et qu'elle ne contient que des lettres non accentuées, - des chiffres ou les caractères - et ."); + $page->trigError("L'adresse demandée n'est pas valide." + . " Vérifie qu'elle comporte entre 3 et 20 caractères" + . " et qu'elle ne contient que des lettres non accentuées," + . " des chiffres ou les caractères - et ."); return; } else { //vérifier que l'alias n'est pas déja pris $res = XDB::query('SELECT COUNT(*) FROM virtual WHERE alias={?}', $alias.'@'.$globals->mail->alias_dom); if ($res->fetchOneCell() > 0) { - $page->trig("L'alias $alias@{$globals->mail->alias_dom} a déja été attribué. + $page->trigError("L'alias $alias@{$globals->mail->alias_dom} a déja été attribué. Tu ne peux donc pas l'obtenir."); return; } @@ -164,7 +164,7 @@ class EmailModule extends PLModule $it = new ValidateIterator (); while($req = $it->next()) { if ($req->type == "alias" and $req->alias == $alias . '@' . $globals->mail->alias_dom) { - $page->trig("L'alias $alias@{$globals->mail->alias_dom} a déja été demandé. + $page->trigError("L'alias $alias@{$globals->mail->alias_dom} a déja été demandé. Tu ne peux donc pas l'obtenir pour l'instant."); return ; } @@ -239,7 +239,15 @@ class EmailModule extends PLModule $actifs = Env::v('emails_actifs', Array()); print_r(Env::v('emails_rewrite')); if (Env::v('emailop') == "ajouter" && Env::has('email')) { - $page->assign('retour', $redirect->add_email(Env::v('email'))); + $new_email = Env::v('email'); + if ($new_email == "new@example.org") { + $new_email = Env::v('email_new'); + } + $retour = $redirect->add_email($new_email); + if ($retour == ERROR_INVALID_EMAIL) { + $page->assign('email', $new_email); + } + $page->assign('retour', $retour); } elseif (empty($actifs)) { $page->assign('retour', ERROR_INACTIVE_REDIRECTION); } elseif (is_array($actifs)) { @@ -272,13 +280,16 @@ class EmailModule extends PLModule require_once 'googleapps.inc.php'; $page->assign('googleapps', GoogleAppsAccount::account_status($uid)); + + require_once 'emails.combobox.inc.php'; + fill_email_combobox($page); } function handler_antispam(&$page, $statut_filtre = null) { require_once 'emails.inc.php'; - require_once('wiki.inc.php'); - wiki_require_page('Xorg.Antispam'); + $wp = new PlWikiPage('Xorg.Antispam'); + $wp->buildCache(); $page->changeTpl('emails/antispam.tpl'); @@ -291,8 +302,8 @@ class EmailModule extends PLModule function handler_submit(&$page) { - require_once('wiki.inc.php'); - wiki_require_page('Xorg.Mails'); + $wp = new PlWikiPage('Xorg.Mails'); + $wp->buildCache(); $page->changeTpl('emails/submit_spam.tpl'); if (Post::has('send_email')) { @@ -300,13 +311,13 @@ class EmailModule extends PLModule $upload = PlUpload::get($_FILES['mail'], S::v('forlife'), 'spam.submit', true); if (!$upload) { - $page->trig('Une erreur a été rencontrée lors du transfert du fichier'); + $page->trigError('Une erreur a été rencontrée lors du transfert du fichier'); return; } $mime = $upload->contentType(); if ($mime != 'text/x-mail' && $mime != 'message/rfc822') { $upload->clear(); - $page->trig('Le fichier ne contient pas un mail complet'); + $page->trigError('Le fichier ne contient pas un email complet'); return; } global $globals; @@ -317,7 +328,7 @@ class EmailModule extends PLModule $mailer->setTxtBody(Post::v('type') . ' soumis par ' . S::v('forlife') . ' via le web'); $mailer->addUploadAttachment($upload, Post::v('type') . '.mail'); $mailer->send(); - $page->trig('Le message a été transmis à ' . $box); + $page->trigSuccess('Le message a été transmis à ' . $box); $upload->clear(); } } @@ -328,7 +339,7 @@ class EmailModule extends PLModule $page->changeTpl('emails/send.tpl'); $page->addJsLink('ajax.js'); - $page->assign('xorg_title','Polytechnique.org - Envoyer un email'); + $page->setTitle('Envoyer un email'); // action si on recoit un formulaire if (Post::has('save')) { @@ -364,7 +375,7 @@ class EmailModule extends PLModule $error = false; foreach ($_FILES as &$file) { if ($file['name'] && !PlUpload::get($file, S::v('forlife'), 'emails.send', false)) { - $page->trig(PlUpload::$lastError); + $page->trigError(PlUpload::$lastError); $error = true; break; } @@ -384,7 +395,7 @@ class EmailModule extends PLModule $bcc = trim(Env::v('bcc')); if (empty($to) && empty($cc) && empty($to2) && empty($bcc) && empty($cc2)) { - $page->trig("Indique au moins un destinataire."); + $page->trigError("Indique au moins un destinataire."); $page->assign('uploaded_f', PlUpload::listFilenames(S::v('forlife'), 'emails.send')); } else { $mymail = new PlMailer(); @@ -405,11 +416,11 @@ class EmailModule extends PLModule $mymail->setWikiBody($txt); } if ($mymail->send()) { - $page->trig("Ton mail a bien été envoyé."); + $page->trigSuccess("Ton email a bien été envoyé."); $_REQUEST = array('bcc' => S::v('bestalias').'@'.$globals->mail->domain); PlUpload::clear(S::v('forlife'), 'emails.send'); } else { - $page->trig("Erreur lors de l'envoi du courriel, réessaye."); + $page->trigError("Erreur lors de l'envoi du courriel, réessaye."); $page->assign('uploaded_f', PlUpload::listFilenames(S::v('forlife'), 'emails.send')); } } @@ -499,8 +510,8 @@ class EmailModule extends PLModule function handler_broken(&$page, $warn = null, $email = null) { require_once 'emails.inc.php'; - require_once('wiki.inc.php'); - wiki_require_page('Xorg.PatteCassée'); + $wp = new PlWikiPage('Xorg.PatteCassée'); + $wp->buildCache(); global $globals; @@ -522,9 +533,9 @@ class EmailModule extends PLModule // envoi du mail $message = "Bonjour ! -Ce mail a été généré automatiquement par le service de patte cassée de +Cet email a été généré automatiquement par le service de patte cassée de Polytechnique.org car un autre utilisateur, ".S::v('prenom').' '.S::v('nom').", -nous a signalé qu'en t'envoyant un mail, il avait reçu un message d'erreur +nous a signalé qu'en t'envoyant un email, il avait reçu un message d'erreur indiquant que ton adresse de redirection $email ne fonctionnait plus ! @@ -545,7 +556,7 @@ L'équipe d'administration mail->domain . '>'; $mail->setSubject("Une de tes adresse de redirection Polytechnique.org ne marche plus !!"); $mail->setTxtBody($message); $mail->send(); - $page->trig("Mail envoyé ! :o)"); + $page->trigSuccess("Email envoyé !"); } } elseif (Post::has('email')) { S::assert_xsrf_token();