[prev in list] [next in list] [prev in thread] [next in thread] 

List:       squirrelmail-cvs
Subject:    [SM-CVS] CVS: squirrelmail/class/mime Rfc822Header.class.php,1.17.2.2,1.17.2.3
From:       Marc Groot Koerkamp <stekkel () users ! sourceforge ! net>
Date:       2003-05-28 22:41:52
[Download RAW message or body]

Update of /cvsroot/squirrelmail/squirrelmail/class/mime
In directory sc8-pr-cvs1:/tmp/cvs-serv24425

Modified Files:
      Tag: SM-1_4-STABLE
	Rfc822Header.class.php 
Log Message:
merge from SM 1.5


Index: Rfc822Header.class.php
===================================================================
RCS file: /cvsroot/squirrelmail/squirrelmail/class/mime/Rfc822Header.class.php,v
retrieving revision 1.17.2.2
retrieving revision 1.17.2.3
diff -u -w -r1.17.2.2 -r1.17.2.3
--- Rfc822Header.class.php	21 May 2003 15:48:27 -0000	1.17.2.2
+++ Rfc822Header.class.php	28 May 2003 22:41:50 -0000	1.17.2.3
@@ -33,15 +33,14 @@
         $xmailer = '',
         $priority = 3,
         $dnt = '',
-        $mlist = array(),
         $encoding = '',
+        $mlist = array(),
         $more_headers = array(); /* only needed for constructing headers
                                     in smtp.php */
     function parseHeader($hdr) {
         if (is_array($hdr)) {
             $hdr = implode('', $hdr);
         }
-
         /* First we unfold the header */
         $hdr = trim(str_replace(array("\r\n\t", "\r\n "),array('', ''), $hdr));
 
@@ -268,6 +267,7 @@
                 $is_encoded = true;
                 break;
             case '"': /* get the personal name */
+                //$name .= parseString($address,$pos);
                 $start_encoded = $pos;
                 ++$pos;
                 if ($address{$pos} == '"') {
@@ -304,17 +304,27 @@
                 }
                 break;
             case '(':  /* rip off comments */
-                $addr_start = $pos;
+                $comment_start = $pos;
                 $pos = strpos($address,')');
                 if ($pos !== false) {
-                    $comment = substr($address, $addr_start+1,($pos-$addr_start-1));
-                    $address_start = substr($address, 0, $addr_start);
+                    $comment = substr($address, $comment_start+1,($pos-$comment_start-1));
+                    $address_start = substr($address, 0, $comment_start);
                     $address_end   = substr($address, $pos + 1);
                     $address       = $address_start . $address_end;
                 }
                 $j = strlen($address);
-                $pos = $addr_start + 1;
+                if ($comment_start) {
+                    $pos = $comment_start-1;
+                } else {
+                    $pos = 0;
+                }
                 break;
+            case ';':
+                if ($group) {
+                    $address = substr($address, 0, $pos - 1);
+                    ++$pos;
+                    break;
+                }
             case ',':  /* we reached a delimiter */
                 if (!$name && !$addr) {
                     $addr = substr($address, 0, $pos);
@@ -384,12 +394,6 @@
                 $j = strlen($address);
                 $group = '';
                 break;
-            case ';':
-                if ($group) {
-                    $address = substr($address, 0, $pos - 1);
-                }
-                ++$pos;
-                break;
             case ' ':
                 ++$pos;
                 break;
@@ -429,6 +433,9 @@
                                 if ($i_del) {
                                     $addr = substr($address,$pos,$i_del-$pos);
                                     $pos = $i_del;
+                                } else if ($i_space) {
+                                    $addr = substr($address,$pos,$i_space-$pos);
+                                    $pos = $i_space+1;
                                 } else {
                                     $addr = substr($address,$pos);
                                     $pos = $j;



-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
--
squirrelmail-cvs mailing list
List Address: squirrelmail-cvs@lists.sourceforge.net
List Info: https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
http://squirrelmail.org/cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic