added Taiwan transation
[squirrelmail.git] / functions / strings.php
index 06057912cb8bb5fbdd2628dedc98c1bb00f7bed7..fc466528e902e0805844f777bd16c457e0af6620 100644 (file)
    //    of the $haystack is reached.  $needle is a single character
    //*************************************************************************
    function readShortMailboxName($haystack, $needle) {
+      if ($needle == "") return $haystack;
       if ($needle == ".") $needle = "\.";
       ereg("([^$needle]+)$needle?$", $haystack, $regs);
       return $regs[1];
    }
 
+   //*************************************************************************
+   // Read from the back of $haystack until $needle is found, or the begining
+   //    of the $haystack is reached.  $needle is a single character
+   //*************************************************************************
+   function readMailboxParent($haystack, $needle) {
+      if ($needle == ".") $needle = "\.";
+      ereg("^(.+)$needle([^$needle]+)$needle?$", $haystack, $regs);
+      return $regs[1];
+   }
+
    // Searches for the next position in a string minus white space
    function next_pos_minus_white ($haystack, $pos) {
       while (substr($haystack, $pos, 1) == " " ||
@@ -64,7 +75,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) == "")
          return;
 
    function translateText(&$body, $wrap_at, $charset) {
       global $where, $what; // from searching
+               global $url_parser_php;
 
       if (!isset($url_parser_php)) {
          include "../functions/url_parser.php";
       }
       
       $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.0pre2 (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);
               }
           }