Fix ML utf-8 issues
authorx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Fri, 2 Feb 2007 13:23:10 +0000 (13:23 +0000)
committerx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Fri, 2 Feb 2007 13:23:10 +0000 (13:23 +0000)
git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1462 839d8a87-29fc-0310-9880-83ba4fa771e5

classes/xdb.php
modules/lists.php
modules/lists/lists.inc.php
templates/lists/moderate.tpl
templates/lists/moderate_mail.tpl
templates/lists/options.tpl
templates/lists/soptions.tpl

index 3436fc7..78da04d 100644 (file)
@@ -60,17 +60,18 @@ class XDB
     {
         global $globals;
 
-        if ($globals->debug & 1 && strpos($query, 'FOUND_ROWS()') === false) {
-            $_res = mysqli_query(XDB::$connec, "EXPLAIN $query");
+        if ($globals->debug & 1) {
             $explain = array();
-            while ($row = mysqli_fetch_assoc($_res)) {
-                $explain[] = $row;
+            if (strpos($query, 'FOUND_ROWS()') === false) {
+                $_res = mysqli_query(XDB::$connec, "EXPLAIN $query");
+                if ($_res) {
+                    while ($row = mysqli_fetch_assoc($_res)) {
+                        $explain[] = $row;
+                    }
+                    @mysqli_free_result($_res);
+                }
             }
             $trace_data = array('query' => XDB::_reformatQuery($query), 'explain' => $explain);
-            @mysqli_free_result($_res);
-            $time_start = microtime();
-        } elseif ($globals->debug & 1) {
-            $trace_data = array('query' =>  XDB::_reformatQuery($query), 'explain' => array());
             $time_start = microtime();
         }
 
index 0b454a6..19ef3e6 100644 (file)
@@ -469,7 +469,7 @@ class ListsModule extends PLModule
                 $msg = str_replace("%(reason)s",    "<< TON EXPLICATION >>",  $msg);
                 $msg = str_replace("%(listname)s",  $liste, $msg);
                 $page->assign('msg', $msg);
-
+                
                 $page->addCssLink('banana.css');
                 $this->changeTpl('lists/moderate_mail.tpl');
                 $page->assign_by_ref('mail', $res);
@@ -583,6 +583,7 @@ class ListsModule extends PLModule
 
         if (Post::has('submit')) {
             $values = $_POST;
+            $values = array_map('utf8_decode', $values);
             $this->client->set_bogo_level($liste, intval($values['bogo_level']));
             switch($values['moderate']) {
                 case '0':
@@ -675,6 +676,7 @@ class ListsModule extends PLModule
 
         if (Post::has('submit')) {
             $values = $_POST;
+            $values = array_map('utf8_decode', $values);
             unset($values['submit']);
             $values['advertised'] = empty($values['advertised']) ? false : true;
             $values['archive'] = empty($values['archive']) ? false : true;
index f126022..0a3cfd5 100644 (file)
@@ -83,6 +83,9 @@ function _list_header_decode($charset, $c, $str) {
 }
 
 function list_header_decode($value) {
+    if (!$value) {
+        return "[pas de sujet]";
+    }
     $val = preg_replace('/(=\?[^?]*\?[BQbq]\?[^?]*\?=) (=\?[^?]*\?[BQbq]\?[^?]*\?=)/', '\1\2', $value);
     return preg_replace('/=\?([^?]*)\?([BQbq])\?([^?]*)\?=/e', '_list_header_decode("\1", "\2", "\3")', $val);
 }
index d7af50e..5495322 100644 (file)
     </td>
     <td>
       {$m.sender}<br />
-      {$m.subj|hdc|default:"[pas de sujet]"}
+      {$m.subj|hdc|smarty:nodefaults}
     </td>
     <td class='right'>
-      <small>{$m.stamp|date_format:"le %x à %X"}<br />
+      <small>le {$m.stamp|date_format:"%x"} à {$m.stamp|date_format:"%X"}<br />
       {$m.size} octets</small>
     </td>
     <td class='action'>
index 446ed10..fbe7b64 100644 (file)
@@ -64,7 +64,7 @@
 <p>
 En cas de refus, le mail envoyé à l'auteur du mail que tu modères actuellement sera de la forme suivante :
 </p>
-<pre>{$msg}</pre>
+<pre>{$msg|utf8_encode}</pre>
 
 
 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
index 113d4d7..c8b6fa3 100644 (file)
@@ -42,7 +42,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}" />
+        <input type='text' size='40' name='description' value="{$options.description|utf8_encode}" />
       </td>
     </tr>
     <tr class='impair'>
@@ -51,7 +51,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}</textarea>
+        <textarea cols='40' rows='8' name='info'>{$options.info|utf8_encode}</textarea>
       </td>
     </tr>
     <tr class='pair'>
@@ -61,7 +61,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}</textarea>
+        <textarea cols='40' rows='8' name='welcome_msg'>{$options.welcome_msg|utf8_encode}</textarea>
       </td>
     </tr>
     <tr class='impair'>
@@ -73,7 +73,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}</textarea>
+        <textarea cols='40' rows='8' name='goodbye_msg'>{$options.goodbye_msg|utf8_encode}</textarea>
       </td>
     </tr>
     <tr><th colspan='2'>Options avancées de la liste {$details.addr}</th></tr>
@@ -83,7 +83,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}" />
+        <input type='text' name='subject_prefix' size='40' value="{$options.subject_prefix|utf8_encode}" />
       </td>
     </tr>
     <tr class='impair'>
index 27394b2..afbcc90 100644 (file)
@@ -36,7 +36,7 @@
         <span class='smaller'>ajouté au début de tous les messages.</span>
       </td>
       <td>
-        <textarea cols='40' rows='8' name='msg_header'>{$options.msg_header}</textarea>
+        <textarea cols='40' rows='8' name='msg_header'>{$options.msg_header|utf8_encode}</textarea>
       </td>
     </tr>
     <tr class='impair'>
@@ -45,7 +45,7 @@
         <span class='smaller'>ajouté à la fin de tous les messages.</span>
       </td>
       <td>
-        <textarea cols='40' rows='8' name='msg_footer'>{$options.msg_footer}</textarea>
+        <textarea cols='40' rows='8' name='msg_footer'>{$options.msg_footer|utf8_encode}</textarea>
       </td>
     </tr>
     <tr><th colspan='2'>Options avancées de la liste {$details.addr}</th></tr>