Use the new PlArrayIterator in the CarnetFeed.
[platal.git] / modules / axletter.php
index d093bd3..41978e1 100644 (file)
@@ -53,7 +53,7 @@ class AXLetterModule extends PLModule
         require_once dirname(__FILE__) . '/axletter/axletter.inc.php';
 
         $page->changeTpl('axletter/index.tpl');
-        $page->assign('xorg_title','Polytechnique.org - Envois de l\'AX');
+        $page->setTitle('Envois de l\'AX');
 
         switch ($action) {
           case 'in':  AXLetter::subscribe(); break;
@@ -109,7 +109,9 @@ class AXLetterModule extends PLModule
                 $saved = false;
                 $new   = true;
             }
-        } elseif (Post::has('valid') && S::has_xsrf_token()) {
+        } elseif (Post::has('valid')) {
+            S::assert_xsrf_token();
+
             if (!$subject && $title) {
                 $subject = $title;
             }
@@ -117,27 +119,27 @@ class AXLetterModule extends PLModule
                 $title = $subject;
             }
             if (!$subject || !$title || !$body) {
-                $page->trig("L'article doit avoir un sujet et un contenu");
+                $page->trigError("L'article doit avoir un sujet et un contenu");
                 Post::kill('valid');
             }
             if (($promo_min > $promo_max && $promo_max != 0)||
                 ($promo_min != 0 && ($promo_min <= 1900 || $promo_min >= 2020)) ||
                 ($promo_max != 0 && ($promo_max <= 1900 || $promo_max >= 2020)))
             {
-                $page->trig("L'intervalle de promotions n'est pas valide");
+                $page->trigError("L'intervalle de promotions n'est pas valide");
                 Post::kill('valid');
             }
             if (empty($short_name)) {
-                $page->trig("L'annonce doit avoir un nom raccourci pour simplifier la navigation dans les archives");
+                $page->trigError("L'annonce doit avoir un nom raccourci pour simplifier la navigation dans les archives");
                 Post::kill('valid');
             } elseif (!preg_match('/^[a-z][-a-z0-9]*[a-z0-9]$/', $short_name)) {
-                $page->trig("Le nom raccourci n'est pas valide, il doit comporter au moins 2 caractères et n'être composé "
+                $page->trigError("Le nom raccourci n'est pas valide, il doit comporter au moins 2 caractères et n'être composé "
                           . "que de chiffres, lettres et tirets");
                 Post::kill('valid');
             } elseif ($short_name != Post::v('old_short_name')) {
                 $res = XDB::query("SELECT id FROM axletter WHERE short_name = {?}", $short_name);
                 if ($res->numRows() && $res->fetchOneCell() != $id) {
-                    $page->trig("Le nom $short_name est déjà utilisé, merci d'en choisir un autre");
+                    $page->trigError("Le nom $short_name est déjà utilisé, merci d'en choisir un autre");
                     $short_name = Post::v('old_short_name');
                     if (empty($short_name)) {
                         Post::kill('valid');
@@ -162,14 +164,14 @@ class AXLetterModule extends PLModule
                     global $globals;
                     $mailer = new PlMailer();
                     $mailer->setFrom("support@" . $globals->mail->domain);
-                    $mailer->setSubject("Un nouveau projet dmail de l'AX vient d'être proposé");
-                    $mailer->setTxtBody("Un nouveau mail vient d'être rédigé en prévision d'un envoi prochain. Vous pouvez "
+                    $mailer->setSubject("Un nouveau projet d'email de l'AX vient d'être proposé");
+                    $mailer->setTxtBody("Un nouvel email vient d'être rédigé en prévision d'un envoi prochain. Vous pouvez "
                                       . "le modifier jusqu'à ce qu'il soit verrouillé pour l'envoi\n\n"
-                                      . "Le sujet dmail : $subject\n"
+                                      . "Le sujet de l'email : $subject\n"
                                       . "L'échéance d'envoi est fixée à $echeance.\n"
-                                      . "Lmail pourra néanmoins partir avant cette échéance si un administrateur de "
+                                      . "L'email pourra néanmoins partir avant cette échéance si un administrateur de "
                                       . "Polytechnique.org le valide.\n\n"
-                                      . "Pour modifier, valider ou annuler lmail :\n"
+                                      . "Pour modifier, valider ou annuler l'email :\n"
                                       . "https://www.polytechnique.org/ax/edit\n"
                                       . "-- \n"
                                       . "Association Polytechnique.org\n");
@@ -190,8 +192,6 @@ class AXLetterModule extends PLModule
                 pl_redirect('ax');
                 break;
             }
-        } elseif (Post::has('valid')) {
-            $page->trig("L'opération a échouée, merci de réessayer.");
         }
         $page->assign('id', $id);
         $page->assign('short_name', $short_name);
@@ -288,7 +288,9 @@ class AXLetterModule extends PLModule
             $action = Post::v('action');
             $uid    = Post::v('uid');
         }
-        if ($uid && S::has_xsrf_token()) {
+        if ($uid) {
+            S::assert_xsrf_token();
+
             $uids   = preg_split('/ *[,;\: ] */', $uid);
             foreach ($uids as $uid) {
                 switch ($action) {
@@ -300,11 +302,9 @@ class AXLetterModule extends PLModule
                     break;
                 }
                 if (!$res) {
-                    $page->trig("Personne ne correspond à l'identifiant '$uid'");
+                    $page->trigError("Personne ne correspond à l'identifiant '$uid'");
                 }
             }
-        } elseif ($uid) {
-            $page->trig("L'opération sur la liste des administrateurs AX a échouée, merci de réessayer.");
         }
 
         $page->changeTpl('axletter/admin.tpl');