Made the handle_errors flag to sqimap_mailbox_expunge default to true.
[squirrelmail.git] / functions / strings.php
index bee3eaa0a1cdb5c695ca97fa749631ed4402e78e..459eeb7093437778300e4ed19054967e0d237c54 100644 (file)
@@ -15,8 +15,9 @@
    //    of the $haystack is reached.  $needle is a single character
    //*************************************************************************
    function readShortMailboxName($haystack, $needle) {
-      ereg("^$needle?([^$needle]+)$needle*",strrev($haystack),$regs);
-        return strrev($regs[1]);
+      if ($needle == ".") $needle = "\.";
+      ereg("([^$needle]+)$needle?$", $haystack, $regs);
+      return $regs[1];
    }
 
    // Searches for the next position in a string minus white space
@@ -63,7 +64,8 @@
          while (!$words[$i] && $i < count($words)) {
             $i ++;
          }
-            
+
+         // Go to the next line if we have more to process            
          if ($i < count($words)) {
             $line .= "\n$beginning_spaces";
          }
    
 
    /** Returns an array of email addresses **/
+   /* Be cautious of "user@host.com" */
    function parseAddrs($text) {
-      if (trim($text) == "") {
+      if (trim($text) == "")
          return;
-      }
-      $text=ereg_replace("[;,][^<]*<* *([^>]*) *>*",";\\1",",$text");
-      return split("[;]", substr($text,1));
+      $text = str_replace(" ", "", $text);
+      $text = ereg_replace('"[^"]*"', "", $text);
+      $text = ereg_replace("\([^\)]*\)", "", $text);
+      $text = str_replace(",", ";", $text);
+      $array = explode(";", $text);
+      for ($i = 0; $i < count ($array); $i++) {
+                           $array[$i] = eregi_replace ("^.*[<]", "", $array[$i]);
+                           $array[$i] = eregi_replace ("[>].*$", "", $array[$i]);
+                 }
+      return $array;
    }
 
    /** Returns a line of comma separated email addresses from an array **/
       }
       
       $body_ary = explode("\n", $body);
+      $PriorQuotes = 0;
       for ($i=0; $i < count($body_ary); $i++) {
          $line = $body_ary[$i];
          if (strlen($line) - 2 >= $wrap_at) {
          $line = charset_decode($charset, $line);
          $line = str_replace("\t", '        ', $line);
          
-         // We need to do it twice to catch times where there
-         // are an odd number of spaces
-         $line = ereg_replace("^ ", "&nbsp;", $line);
-         $line = str_replace('  ', '&nbsp; ', $line);
-         $line = str_replace('  ', '&nbsp; ', $line);
-         $line = nl2br($line);
-
          parseUrl ($line);
          
          $Quotes = 0;
          $pos = 0;
          while (1)
          {
-             if (strpos($line, '&nbsp;', $pos) === $pos)
+             if ($line[$pos] == ' ')
              {
-                $pos += 6;
+                $pos ++;
              }
              else if (strpos($line, '&gt;', $pos) === $pos)
              {
              }
          }
          
-         if ($Quotes > 1) {
-            $line = "<FONT COLOR=FF0000>$line</FONT>\n";
-         } else if ($Quotes) {
-            $line = "<FONT COLOR=800000>$line</FONT>\n";
-         }
-
-         if ($line)
-         {
-             $line = '<tt>' . $line . '</tt>';
-         }
+         if ($Quotes > 1)
+            $line = "<FONT COLOR=FF0000>$line</FONT>";
+         elseif ($Quotes)
+            $line = "<FONT COLOR=800000>$line</FONT>";
 
-         $body_ary[$i] = $line . '<br>';
+         $body_ary[$i] = $line;
       }
-      $body = implode("\n", $body_ary);
+      $body = "<pre>" . implode("\n", $body_ary) . "</pre>";
    }
 
    /* SquirrelMail version number -- DO NOT CHANGE */
-   $version = "0.6pre1 (cvs)";
+   $version = "1.0pre1 (cvs)";
 
 
    function find_mailbox_name ($mailbox) {
       if (! strstr($host, ':'))
       {
           if (isset($SERVER_PORT)) {
-              if ($SERVER_PORT != 80) {
+              if (($SERVER_PORT != 80 && $proto == "http://")
+                      || ($SERVER_PORT != 443 && $proto == "https://")) {
                   $port = sprintf(':%d', $SERVER_PORT);
               }
           }