** -> *
[squirrelmail.git] / functions / mime.php
index 750a48ae4eb81e8236cc74ad5a035d5ff3b89fea..05a340ab39466dbe8871edfefd3b66736e67b6f4 100644 (file)
@@ -1,11 +1,16 @@
 <?php
-   /** mime.php
-    **
-    ** This contains the functions necessary to detect and decode MIME
-    ** messages.
-    **
-    ** $Id$
-    **/
+
+   /**
+    *  mime.php
+    *
+    *   Copyright (c) 1999-2001 The Squirrelmail Development Team
+    *   Licensed under the GNU GPL. For full terms see the file COPYING.
+    *
+    *  This contains the functions necessary to detect and decode MIME
+    *  messages.
+    *
+    *  $Id$
+    */
 
    require_once('../functions/imap.php');
    require_once('../functions/attachment_common.php');
         $j = strlen( $body );   // Legnth of the HTML
         $ret = '';              // Returned string
         $bgcolor = '#ffffff';   // Background style color (defaults to white)
+       $textcolor = '#000000'; // Foreground style color (defaults to black)
         $leftmargin = '';       // Left margin style
         $title = '';            // HTML title if any
 
         $i = 0;
         while( $i < $j ) {
             if( $body{$i} == '<' ) {
-                $tag = $body{$i+1}.$body{$i+2}.$body{$i+3}.$body{$i+4};
+               $pos = $i + 1;
+               $tag = '';
+               while ($body{$pos} == ' ' || $body{$pos} == "\t" ||
+                      $body{$pos} == "\n")
+                   $pos ++;
+               while (strlen($tag) < 4 && $body{$pos} != ' ' && 
+                      $body{$pos} != "\t" && $body{$pos} != "\n") {
+                   $tag .= $body{$pos};
+                   $pos ++;
+               }
                 switch( strtoupper( $tag ) ) {
                     // Strips the entire tag and contents
                     case 'APPL':
                             $ret .= '<b>' . _("Title:") . " </b>$title<br>\n";
                         $ret .= "<TABLE";
                         $i += 5;
-                       if (! isset($base))
-                          $base = '';
+                        if (! isset($base))
+                            $base = '';
                         $ret .= stripEvent( $i, $j, $body, $id, $base );
-                        //if( $bgcolor <> '' )
-                            $ret .= " bgcolor=$bgcolor";
-                        $ret .= ' width=100%><tr>';
+                        $ret .= " bgcolor=$bgcolor width=\"100%\"><tr>";
                         if( $leftmargin <> '' )
                             $ret .= "<td width=$leftmargin>&nbsp;</td>";
                         $ret .= '<td>';
+                        if (strtolower($bgcolor) == 'ffffff' ||
+                            strtolower($bgcolor) == '#ffffff')
+                            $ret .= '<font color=#000000>';
                         break;
                     case 'BASE':
                         $i += 5;
                         }
                         break;
                     case '/BOD':
-                        $ret .= '</td></tr></TABLE>';
+                        $ret .= '</font></td></tr></TABLE>';
                         $i += 6;
                         break;
                     default: