newsletter_req
authorx2000habouzit <x2000habouzit>
Mon, 9 Feb 2004 17:36:43 +0000 (17:36 +0000)
committerx2000habouzit <x2000habouzit>
Mon, 9 Feb 2004 17:36:43 +0000 (17:36 +0000)
etat_migration
htdocs/newsletter_req.php [new file with mode: 0644]
templates/newsletter_req.tpl [new file with mode: 0644]

index 19f7fc2..0eb9f7f 100644 (file)
@@ -89,7 +89,6 @@ Etat  | Ancien nom                                                              | Nouveau nom
          | marketing.php                                                         | 
          | mescontacts.php                                                       | 
          | mescontacts_pdf.php                                           | 
-         | newsletter_req.php                                            | 
          | pg.confirm.php                                                        | 
          | pg.php                                                                        | 
          | profil.php                                                            | 
@@ -186,19 +185,20 @@ xx          | login.php                                                             | -
 xx       | motdepassemd5.php                                             | -
 xx       | nbpromo2.php                                                          | stats/nb_by_promo.php
 xx       | newsletter.php                                                        | -
+xx       | newsletter_req.php                                            | -
 xx       | pattecassee.php                                                       | -
 xx       | preferences.php                                                       | -
 xx       | rss.php                                                                       | -
 xx       | secu.php                                                              | docs/secu.php
 xx       | sendmail.php                                                          | -
 xx       | skins.php                                                             | -
-xx       | trezo/gere_operations.php                             | 
-xx       | trezo/index.php                                                       | 
-xx       | trezo/trezo.inc.php                                           | 
+xx       | trezo/gere_operations.php                             | -
+xx       | trezo/index.php                                                       | -
 xx       | vcard.php                                                             | -
 ------+-------------------------------------------+----------------
----      | trackers/tracker_delete.php                           | -
 ---      | admin/statut_antispam.php                             | inutilisée et même pas en var superglobales ...
 ---      | aide.php                                                              | --> faq.php
 ---      | auth-wiki.php                                                         | obsolete
+---      | trackers/tracker_delete.php                           | -
+---      | trezo/trezo.inc.php                                           | -
 ------+-------------------------------------------+----------------
diff --git a/htdocs/newsletter_req.php b/htdocs/newsletter_req.php
new file mode 100644 (file)
index 0000000..a46c60b
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+require("auto.prepend.inc.php");
+new_skinned_page('newsletter_req.tpl', AUTH_MDP);
+
+if (isset($_POST["action"]) && (($_POST["action"]=="Tester")
+            or ($_POST["action"]=="valider"))){
+    $article=(isset($_POST["article"])?
+            stripslashes(strip_tags($_POST["article"])):"");
+    $titre=(isset($_POST["titre"])?
+            stripslashes(strip_tags($_POST["titre"])):"");
+    $bonus=(isset($_POST["bonus"])?
+            stripslashes(strip_tags($_POST["bonus"])):"");
+
+    $page->assign('article', $article);
+    $page->assign('titre', $titre);
+    $page->assign('bonus', $bonus);
+
+    if (empty($_POST["titre"])) {
+        $page->assign('erreur', '<p class="erreur">Tu n\'as pas mentionné de titre !!</p>');
+    } elseif (empty($_POST["article"])) {
+        $page->assign('erreur', '<p class="erreur"> ton annonce est vide !!</p>');
+    } else {
+        $exec="echo ".escapeshellarg($article)." | perl "
+            ."-MText::Autoformat -e 'autoformat "
+            ."{left=>1, right=>68, all=>1, justify=>full };'";
+        exec($exec,$result);
+        $page->assign('preview', join("\n",$result));
+
+        $page->assign('nb_lines', count($result));
+
+        if ((count($result)<9) and ($_POST["action"]=="valider")) {
+            require_once("diogenes.mailer.inc.php");
+            $mailer = new DiogenesMailer($_SESSION['username']."@polytechnique.org", 
+                    "info+nl@polytechnique.org", 
+                    "Proposition d'article pour la newsletter", 
+                    false);
+            $mailer->setbody(
+                    wordwrap($titre,72)."\n\n".
+                    join("\n",$result)."\n\n".
+                    wordwrap($bonus,72));
+            $mailer->send();
+            $page->assign('sent', 1);
+        }
+    }
+}
+
+$page->display();
+?>
diff --git a/templates/newsletter_req.tpl b/templates/newsletter_req.tpl
new file mode 100644 (file)
index 0000000..d308ae2
--- /dev/null
@@ -0,0 +1,138 @@
+{* $Id: newsletter_req.tpl,v 1.1 2004-02-09 17:36:44 x2000habouzit Exp $ *}
+
+<div class="rubrique">
+  Proposer un article pour la newsletter
+</div>
+
+<p class="normal">
+  La newsletter mensuelle est un excellent moyen de faire passer une 
+  information. Nous devons cependant nous astreindre à certaines règles
+  dans la rédaction pour en conserver la qualité et l'efficacité.
+</p>
+<ul>
+  <li>
+    Longueur maximale du texte justifié (hors téléphone, adresses, liens
+    internet) : <strong>8 lignes de 68 caractères</strong>
+  </li>
+  <li>
+    Les liens internet (URL, mail) et adresses, téléphones, apparaîtront
+    en-dessous pour plus de clarté
+  </li>
+  <li>
+    L'équipe de rédaction se réserve le droit de modifier la mise en 
+    forme des articles
+  </li>
+</ul>
+
+{dynamic}
+{if $smarty.request.action}
+  {if $erreur}
+  {$erreur}
+  {/if}
+  
+  {if $preview}
+    <p class="normal">
+      Le texte de ton annonce aura sensiblement l'allure suivante :
+    </p>
+    <div styleclass="center">
+      <table class="bicol">
+        <tr>
+          <td "padding: 1em;">
+            <tt>
+              &lt;------------------------------------------------------------------&gt;<br />
+              <br />
+              {$preview|replace:" ":"&nbsp;"|nl2br}
+              <br />
+              <br />
+              &lt;------------------------------------------------------------------&gt;
+            </tt>
+          </td>
+        </tr>
+      </table>
+
+    {if $sent}
+    <p class="erreur">
+      Ton annonce a été envoyée à l'équipe de rédaction. Merci de ta contribution !
+    </p>
+    {elseif $nb_lines<9}
+    <p class="normal">
+    Félicitations, ton article respecte les règles de pagination de la 
+    newsletter !!! Il pourra cependant être revu en fonction des 
+    nécéssités de la newsletter.
+    </p>
+    <p class="normal">
+    Tu peux le soumettre à l'équipe de validation en validant ta demande.
+    Tu seras recontacté par mail par un rédacteur pour te confirmer la
+    bonne récéption de ta demande.
+    </p>
+    <form action="{$smarty.server.PHP_SELF}" method="POST">
+      <input type="hidden" name="titre" value="{$titre}" />
+      <input type="hidden" name="article" value="{$article}" />
+      <input type="hidden" name="bonus" value="{$bonus}" />
+      <input type="submit" name="action" value="valider" />
+    </form>
+    <p class="normal">
+    Si tu n'es pas satisfait de ton annonce, tu peux la retravailler :
+    </p>
+    {elseif $nb_lines>9}
+    <p class="erreur">
+      Ton annonce est trop longue, il faut que tu la modifie pour qu'elle fasse moins de huit lignes
+    </p>
+    {/if}
+  {/if}
+
+{/if}
+
+{if !$sent}
+<form action="{$smarty.server.PHP_SELF}" method="POST">
+  <table class="bicol" cellpadding="3" cellspacing="0" summary="Proposition d'article newsletter">
+    <thead>
+      <tr>
+        <th>
+          Proposition d'article
+        </th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr class="pair">
+        <td class="bicoltitre">
+          Titre
+        </td>
+      </tr>
+      <tr class="pair">
+        <td>
+          <input type="text" value="{$titre}" name="titre" size="68">
+        </td>
+      </tr>
+      <tr class="impair">
+        <td class="bicoltitre">
+          Article :
+        </td>
+      </tr>
+      <tr class="impair">
+        <td>
+          <textarea cols="70" rows="10" name="article">{$article}</textarea>
+        </td>
+      </tr>
+      <tr class="pair">
+        <td class="bicoltitre">
+          Adresses, url, mail, contact, téléphone, etc. :
+        </td>
+      </tr>
+      <tr class="pair">
+        <td>
+          <textarea cols="70" rows="10" name="bonus">{$bonus}</textarea>
+        </td>
+      </tr>
+      <tr class="impair">
+        <td class="bouton">
+          <input type="submit" name="action" value="Tester" />
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</form>
+{/if}
+
+{/dynamic}
+{* vim:set et sw=2 sts=2 sws=2: *}