Better support of multipart emails for rendering and quoting
[banana.git] / banana / banana.inc.php.in
index 0a28005..82bb114 100644 (file)
@@ -40,12 +40,12 @@ class Banana
 ### Message display ###
     static public $msgshow_headers   = array('from', 'newsgroups', 'followup-to', 'to', 'cc', 'reply-to',
                                        'organization', 'date', 'references', 'in-reply-to');
-    static public $msgshow_mimeparts = array('text/html', 'text/plain', 'text/enriched', 'text', 'message');
+    static public $msgshow_mimeparts = array('multipart/report', 'multipart/mixed', 'text/html', 'text/plain', 'text/enriched', 'text', 'message');
     static public $msgshow_xface     = true;
     static public $msgshow_wrap      = 78;
 
     /** Match an url
-     * Should be included in a regexp delimited using /, !, , or @ (eg: "/$url_regexp/i")
+     * Should be included in a regexp delimited using /, !, , or @ (eg: "/$url_regexp/ui")
      * If it matches, return 3 main parts :
      *  \\1 and \\3 are delimiters
      *  \\2 is the url
@@ -55,7 +55,7 @@ class Banana
      *   $matches[2] = "http://www.polytechnique.org"
      *   $matches[3] = "]"
      */
-    static public $msgshow_url  = '(["\[])?((?:[a-z]+:\/\/|www\.)(?:[\.\,\;\!]*[a-z\@0-9~%$£µ&i#\-+=_\/\?]+)+)(["\]])?';
+    static public $msgshow_url  = '(["\[])?((?:[a-z]+:\/\/|www\.)(?:[\.\,\;\!]*[a-z\@0-9~%$£µ&i#\-+=_\/\?]+)+)(["\]])?';
 
 ### Message edition ###
     static public $msgedit_canattach  = true;
@@ -63,7 +63,10 @@ class Banana
     /** Global headers to use for messages
      */
     static public $msgedit_headers  = array('Mime-Version' => '1.0', 'User-Agent' => 'Banana @VERSION@');
-    
+    /** Mime type order for quoting
+     */
+    static public $msgedit_mimeparts = array('multipart/report', 'multipart/mixed', 'text/plain', 'text/enriched', 'text/html', 'text', 'message');
+
 ### Protocole ###
     /** News serveur to use
      */
@@ -200,7 +203,7 @@ class Banana
         
         // Check if the state is valid
         if (Banana::$protocole->lastErrNo()) {
-            return Banana::$page->kill(_b_('Une erreur a été rencontrée lors de la connexion au serveur') . '<br />'
+            return Banana::$page->kill(_b_('Une erreur a été rencontrée lors de la connexion au serveur') . '<br />'
                                       . Banana::$protocole->lastError());
         }
         if (!Banana::$protocole->isValid()) {
@@ -209,7 +212,7 @@ class Banana
         if (Banana::$action & Banana::ACTION_BOX_NEEDED) {
             if(Banana::$boxpattern && !preg_match('/' . Banana::$boxpattern . '/i', $group)) {
                 Banana::$page->setPage('group');        
-                return Banana::$page->kill(_b_("Ce newsgroup n'existe pas ou vous n'avez pas l'autorisation d'y accéder"));
+                return Banana::$page->kill(_b_("Ce newsgroup n'existe pas ou vous n'avez pas l'autorisation d'y accéder"));
             }
         }
 
@@ -234,7 +237,7 @@ class Banana
             $error = $this->action_cancelMessage(Banana::$group, Banana::$artid);
             break;
           default:
-            $error = _b_("L'action demandée n'est pas supportée par Banana");
+            $error = _b_("L'action demandée n'est pas supportée par Banana");
         }
 
         // Generate the page
@@ -299,7 +302,7 @@ class Banana
         if (is_null($msg)) {
             $this->loadSpool($group);
             $this->removeMessage($group, $artid);
-            return _b_('Le message demandé n\'existe pas. Il est possible qu\'il ait été annulé');
+            return _b_('Le message demandé n\'existe pas. Il est possible qu\'il ait été annulé');
         }
         if ($partid == 'xface') {
             $msg->getXFace();
@@ -365,7 +368,7 @@ class Banana
             } elseif (Banana::$msgedit_canattach && isset($_FILES['attachment'])) {
                 $uploaded = $_FILES['attachment'];
                 if (!is_uploaded_file($uploaded['tmp_name'])) {
-                    Banana::$page->trig(_b_('Une erreur est survenue lors du téléchargement du fichier'));
+                    Banana::$page->trig(_b_('Une erreur est survenue lors du téléchargement du fichier'));
                 } else {
                     $msg = BananaMessage::newMessage($hdr_values, $_POST['body'], $uploaded);
                 }
@@ -382,7 +385,7 @@ class Banana
         } else {
             if (!is_null($artid)) {
                 $msg    =& $this->loadMessage($group, $artid);
-                $body    = $msg->getSender() . _b_(' a écrit :') . "\n" . $msg->quote();
+                $body    = $msg->getSender() . _b_(' a écrit :') . "\n" . $msg->quote();
                 $subject = $msg->getHeaderValue('subject');
                 $headers['Subject']['user'] = 'Re: ' . preg_replace("/^re\s*:\s*/i", '', $subject);
                 $target  = $msg->getHeaderValue($hdrs['reply']);
@@ -494,5 +497,5 @@ class Banana
     }
 }
 
-// vim:set et sw=4 sts=4 ts=4
+// vim:set et sw=4 sts=4 ts=4 enc=utf-8:
 ?>