using tyler's method, added OPTIONAL workaround for Konq problem
authorlkehresman <lkehresman@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 7 Feb 2001 02:45:00 +0000 (02:45 +0000)
committerlkehresman <lkehresman@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 7 Feb 2001 02:45:00 +0000 (02:45 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@1067 7612ce4b-ef26-0410-bec9-ea0150e637f0

ChangeLog
functions/strings.php
src/compose.php

index 31c8f05dd9db12161e403b61602a9599fe4652d1..d467018ce66c394949192e07135d4b292ac5e374 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,10 @@
 Version 1.0.2 -- DEVELOPMENT
 ----------------------------
+- Added $fix_form_endlines option in strings.php to workaround 
+    Konq/PHP4.0.3 problems
 - Select All works through the search
 - Better escaped string handling from POST variables
-- Fixed bug that set all wrong.
-- Many more code cleanups and optomizations
+- Many more code cleanups and optimizations
 - Updated Sweedish translation
 - Updated Finnish translation
 
index b089620ba05ba90926301bc29d461f7bd78a43d2..e1a352825b230246939413beb5a61f71c32fae14 100644 (file)
@@ -3,6 +3,7 @@
    /* $Id$ */
 
    $strings_php = true;
+   $fix_form_endlines = false;
    
    // Remove all slashes for form values
    if (get_magic_quotes_gpc())
        if ($REQUEST_METHOD == "POST")
        {
            global $HTTP_POST_VARS;
-          RemoveSlashes($HTTP_POST_VARS);
+            RemoveSlashes($HTTP_POST_VARS);
        }
        elseif ($REQUEST_METHOD == "GET")
        {
            global $HTTP_GET_VARS;
-          RemoveSlashes($HTTP_GET_VARS);
+            RemoveSlashes($HTTP_GET_VARS);
        }
    }
    
+   if (isset($fix_form_endlines) && $fix_form_endlines) {
+      if ($REQUEST_METHOD == "POST") {
+         TrimArray($HTTP_POST_VARS);
+      } else {
+         TrimArray($HTTP_GET_VARS);
+      }
+   }
+
+   //**************************************************************************
+   // Trims every element in the array and returns a  new array.  
+   //**************************************************************************
+   function TrimArray(&$array) {
+      foreach ($array as $k => $v) {
+         global $$k;
+         if (is_array($$k)) {
+            foreach ($$k as $k2 => $v2) {
+               $newArray[trim($k2)] = trim($v2);
+            }
+            $$k = $newArray;
+         } else {
+            $$k = trim($v);
+         }
+      }
+   }
+   
    
+   //**************************************************************************
+   // Removes slashes from every element in the array
+   //**************************************************************************
    function RemoveSlashes($array)
    {
        foreach ($array as $k => $v)
        {
            global $$k;
-          if (is_array($$k))
-          {
-              foreach ($$k as $k2 => $v2)
-              {
-                  $newArray[stripslashes($k2)] = stripslashes($v2);
-              }
-              $$k = $newArray;
-          }
-          else
-          {
-              $$k = stripslashes($v);
-          }
+            if (is_array($$k))
+            {
+                foreach ($$k as $k2 => $v2)
+                {
+                    $newArray[stripslashes($k2)] = stripslashes($v2);
+                }
+                $$k = $newArray;
+            }
+            else
+            {
+                $$k = stripslashes($v);
+            }
        }
    }
 
    function sqWordWrap(&$line, $wrap) {
       ereg("^([\t >]*)([^\t >].*)?$", $line, $regs);
       $beginning_spaces = $regs[1];
-         if (isset($regs[2])) {
+           if (isset($regs[2])) {
          $words = explode(' ', $regs[2]);
       } else {
          $words = "";
-         }
+           }
 
       $i = 0;
       $line = $beginning_spaces;
          // Force one word to be on a line (minimum)
          $line .= $words[$i];
          $line_len = strlen($beginning_spaces) + strlen($words[$i]) + 2;
-        if (isset($words[$i + 1]))
-            $line_len += strlen($words[$i + 1]);
+          if (isset($words[$i + 1]))
+              $line_len += strlen($words[$i + 1]);
          $i ++;
             
          // Add more words (as long as they fit)
          while ($line_len < $wrap && $i < count($words)) {
             $line .= ' ' . $words[$i];
             $i++;
-           if (isset($words[$i]))
+             if (isset($words[$i]))
                 $line_len += strlen($words[$i]) + 1;
-           else
-               $line_len += 1;
+             else
+                 $line_len += 1;
          }
             
          // Skip spaces if they are the first thing on a continued line
        {
            ereg("^([\t >]*)([^\t >].*)?$", $lines[$i], $regs);
            $CurrentSpaces = $regs[1];
-          if (isset($regs[2]))
+            if (isset($regs[2]))
                $CurrentRest = $regs[2];
            if ($i == 0)
            {
       $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]);
-                 }
+                               $array[$i] = eregi_replace ("^.*[<]", '', $array[$i]);
+                               $array[$i] = eregi_replace ("[>].*$", '', $array[$i]);
+                    }
       return $array;
    }
 
 
    function translateText(&$body, $wrap_at, $charset) {
       global $where, $what; // from searching
-               global $url_parser_php;
+                  global $url_parser_php;
 
       if (!isset($url_parser_php)) {
          include '../functions/url_parser.php';
       $pad = base64_decode($epad);
       $encrypted = '';
       for ($i = 0; $i < strlen ($string); $i++) {
-        $encrypted .= chr (ord($string[$i]) ^ ord($pad[$i]));
+          $encrypted .= chr (ord($string[$i]) ^ ord($pad[$i]));
       }
 
       return base64_encode($encrypted);
       $encrypted = base64_decode ($string);
       $decrypted = '';
       for ($i = 0; $i < strlen ($encrypted); $i++) {
-        $decrypted .= chr (ord($encrypted[$i]) ^ ord($pad[$i]));
+          $decrypted .= chr (ord($encrypted[$i]) ^ ord($pad[$i]));
       }
 
       return $decrypted;
       // getrusage
       if (function_exists('getrusage')) {
          $dat = getrusage();
-        $Str = '';
-        foreach ($dat as $k => $v)
-        {
-            $Str .= $k . $v;
-        }
-        sq_mt_seed(md5($Str));
+          $Str = '';
+          foreach ($dat as $k => $v)
+          {
+              $Str .= $k . $v;
+          }
+          sq_mt_seed(md5($Str));
       }
       
       // Apache-specific
 
       $pad = '';
       for ($i = 0; $i < $length; $i++) {
-        $pad .= chr(mt_rand(0,255));
+          $pad .= chr(mt_rand(0,255));
       }
 
       return base64_encode($pad);
       $vminor  = strval($regs[2]);
       $vrel    = $regs[3];
       if($vrel[0] == ".") 
-        $vrel = strval(substr($vrel, 1));
+          $vrel = strval(substr($vrel, 1));
       if($vrel[0] == 'b' || $vrel[0] == 'B') 
-        $vrel = - strval(substr($vrel, 1));
+          $vrel = - strval(substr($vrel, 1));
       if($vrel[0] == 'r' || $vrel[0] == 'R') 
-        $vrel = - strval(substr($vrel, 2))/10;
+          $vrel = - strval(substr($vrel, 2))/10;
       
       // Compare major version
       if($vmajor < $major) return false;
       // Major and minor is the same as the required one.
       // Compare release
       if($vrel >= 0 && $release >= 0) {       // Neither are beta
-        if($vrel < $release) return false;
+          if($vrel < $release) return false;
       } else if($vrel >= 0 && $release < 0){  // This is not beta, required is beta
-        return true;
+          return true;
       } else if($vrel < 0 && $release >= 0){  // This is beta, require not beta
-        return false;
+          return false;
       } else {                                // Both are beta
-        if($vrel > $release) return false;
+          if($vrel > $release) return false;
       }
       
       return true;
           
       sq_mt_randomize(); // Initialize the random number generator
     
-         $String = "";
+      $String = "";
       while (strlen($String) < $size) {
          $String .= $chars[mt_rand(0, strlen($chars))];
       }
index 8495f7eb7a8b89b12a6fb2194bc47b8a986a9029..8b0c5f075f2d5adca1c98d0275538e702cf94321 100644 (file)
       }
     }
 
-   // Workaround for RedHat PHP 4.0.4pl1-3
-   // Also for Konq problems?
-   if (isset($mailbox))     $mailbox = trim($mailbox);
-   if (isset($send_to))     $send_to = trim($send_to);
-   if (isset($send_to_cc))  $send_to_cc = trim($send_to_cc);
-   if (isset($send_to_bcc)) $send_to_bcc = trim($send_to_bcc);
-   if (isset($subject))     $subject = trim($subject);
-   if (isset($body))        $body = trim($body);
-   if (isset($attachfile))  $attachfile = trim($attachfile);
-   // End of workaround
-   
    if (!isset($mailbox) || $mailbox == "" || ($mailbox == "None"))
       $mailbox = "INBOX";