Adds XSRF protection to the Lists module.
[platal.git] / templates / lists / options.tpl
index 79e85ad..9dd310f 100644 (file)
@@ -34,6 +34,7 @@ Tu n'es pas administrateur de la liste, mais du site.
 </h1>
 
 <form method='post' action='{$platal->pl_self(1)}'>
+  {xsrf_token_field}
   <table class='bicol' cellpadding='2' cellspacing='0'>
     <tr><th colspan='2'>Options de la liste {$details.addr}</th></tr>
     <tr class='impair'>
@@ -42,7 +43,7 @@ Tu n'es pas administrateur de la liste, mais du site.
         <span class='smaller'>une courte phrase pour décrire la liste.</span>
       </td>
       <td>
-        <input type='text' size='40' name='description' value="{$options.description|utf8_encode}" />
+        <input type='text' size='40' name='description' value="{$options.description|smarty:nodefaults|utf8_encode}" />
       </td>
     </tr>
     <tr class='impair'>
@@ -51,7 +52,7 @@ Tu n'es pas administrateur de la liste, mais du site.
         <span class='smaller'>une description plus longue de la liste.</span>
       </td>
       <td>
-        <textarea cols='40' rows='8' name='info'>{$options.info|utf8_encode}</textarea>
+        <textarea cols='40' rows='8' name='info'>{$options.info|smarty:nodefaults|utf8_encode}</textarea>
       </td>
     </tr>
     <tr class='pair'>
@@ -61,7 +62,7 @@ Tu n'es pas administrateur de la liste, mais du site.
          abonnés à la liste.</span>
       </td>
       <td>
-        <textarea cols='40' rows='8' name='welcome_msg'>{$options.welcome_msg|utf8_encode}</textarea>
+        <textarea cols='40' rows='8' name='welcome_msg'>{$options.welcome_msg|smarty:nodefaults|utf8_encode}</textarea>
       </td>
     </tr>
     <tr class='impair'>
@@ -73,7 +74,7 @@ Tu n'es pas administrateur de la liste, mais du site.
       <td>
         <input type='checkbox' name='send_goodbye_msg'
         {if $options.send_goodbye_msg}checked='checked'{/if} /> activer le mail d'adieu.  <br />
-        <textarea cols='40' rows='8' name='goodbye_msg'>{$options.goodbye_msg|utf8_encode}</textarea>
+        <textarea cols='40' rows='8' name='goodbye_msg'>{$options.goodbye_msg|smarty:nodefaults|utf8_encode}</textarea>
       </td>
     </tr>
     <tr><th colspan='2'>Options avancées de la liste {$details.addr}</th></tr>
@@ -83,7 +84,7 @@ Tu n'es pas administrateur de la liste, mais du site.
         <span class='smaller'>un préfixe (optionnel) ajouté dans le sujet de chaque mail envoyé sur la liste te permet de trier plus facilement ton courrier.</span>
       </td>
       <td>
-        <input type='text' name='subject_prefix' size='40' value="{$options.subject_prefix|utf8_encode}" />
+        <input type='text' name='subject_prefix' size='40' value="{$options.subject_prefix|smarty:nodefaults|utf8_encode}" />
       </td>
     </tr>
     <tr class='impair'>
@@ -130,18 +131,43 @@ Tu n'es pas administrateur de la liste, mais du site.
         <span class='smaller'>détermine la politique de l'antispam sur cette liste.</span>
       </td>
       <td>
-        <em><a name='antispam' id='antispam'></a>que faire des mails marqués « [spam probable] » ?</em><br />
-        <input type='radio' name='bogo_level' value='0' {if !$bogo_level}checked='checked'{/if} /> les laisser passer&nbsp;;<br />
-        <input type='radio' name='bogo_level' value='1' {if $bogo_level eq 1}checked='checked'{/if} /> les envoyer aux modérateurs pour approbation...<br />
-        <input type='radio' name='bogo_level' value='2' {if $bogo_level eq 2}checked='checked'{/if} /> ... après suppression des
-        spams les plus probables*&nbsp;;<br />
-        <input type='radio' name='bogo_level' value='3' {if $bogo_level eq 3}checked='checked'{/if} /> tous les supprimer.
+        <div id="spamlevel">
+          <em><a name='antispam' id='antispam'></a>que faire des mails marqués « [spam probable] » ?</em><br />
+          <label><input type='radio' name='bogo_level' value='0' {if !$bogo_level}checked='checked'{/if} /> les laisser passer&nbsp;;</label><br />
+          <label><input type='radio' name='bogo_level' value='1' {if $bogo_level eq 1}checked='checked'{/if} /> les envoyer aux modérateurs pour approbation...</label><br />
+          <label><input type='radio' name='bogo_level' value='2' {if $bogo_level eq 2}checked='checked'{/if} /> ... après suppression des
+        spams les plus probables*&nbsp;;</label><br />
+          <label><input type='radio' name='bogo_level' value='3' {if $bogo_level eq 3}checked='checked'{/if} /> tous les supprimer.</label>
+        </div>
+        <div id="unsurelevel">
+          <em>que faire des mails dont le classement est indéterminé** ?</em><br />
+          <label><input type='radio' name='unsure_level' value='0' {if !$unsure_level}checked='checked'{/if} /> les laisser
+          passer&nbsp;;</label><br />
+          <label><input type='radio' name='unsure_level' value='1' {if $unsure_level eq 1}checked='checked'{/if} /> les modérer.</label>
+        </div>
+        <script type="text/javascript">//<![CDATA[
+          {literal}
+          $(function() {
+            $(":radio[@name=bogo_level]").change(function() {
+              if ($(":radio[@name=bogo_level]:checked").val() == 0) {
+                $("#unsurelevel").hide();
+              } else {
+                $("#unsurelevel").show();
+              }
+            }).change();
+          });
+          {/literal}
+        // ]]></script>
       </td>
     </tr>
     <tr>
       <td colspan="2" class="smaller">
         *La troisième option permet de supprimer automatiquement les spams sûrs à plus de 99,9999%, qui sont donc peu susceptibles
-        d'être des faux-positifs.
+        d'être des faux-positifs.<br />
+        **Certains mails ne sont pas classables par l'antispam qui le signale en indiquant que le mail est "Unsure". Ces
+        mails contiennent statistiquement autant de spams que de non-spams, mais ceci peut varier d'une adresse à l'autre.
+        Cette option te permet de choisir si tu préfères que les mails 'Unsures' soient modérés ou envoyés directement
+        à la liste.
       </td>
     </tr>
   </table>
@@ -170,13 +196,14 @@ redirection en mode 'inactif'. le logiciel de mailing list saura se débrouiller
 </p>
 
 <form method='post' action='{$platal->pl_self(1)}'>
+  {xsrf_token_field}
   <table class='tinybicol' cellpadding='2' cellspacing='0'>
-    <tr><th>Addresses non modérées</th></tr>
+    <tr><th>Adresses non modérées</th></tr>
     <tr>
       <td>
         {if $options.accept_these_nonmembers|@count}
         {foreach from=$options.accept_these_nonmembers item=addr}
-        {$addr}<a href='{$platal->pl_self(1)}&amp;atn_del={$addr}'>
+        {$addr}<a href='{$platal->pl_self(1)}&amp;atn_del={$addr}&amp;token={xsrf_token}'>
           {icon name=cross title="retirer de la whitelist"}
         </a><br />
         {/foreach}