fsf changes, meant to be rebased on upstream
[squirrelmail.git] / class / mime / Rfc822Header.class.php
index 8b77b8bb96d29818550e9d0455aa46d68d735beb..76c5003523c78b447ef83ea55c6569dbea62dcd4 100644 (file)
@@ -5,7 +5,7 @@
  *
  * This file contains functions needed to handle headers in mime messages.
  *
- * @copyright 2003-2020 The SquirrelMail Project Team
+ * @copyright 2003-2024 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -122,10 +122,10 @@ class Rfc822Header {
      */
     var $dnt = '';
     /**
-     * Delivery notification (DR)
+     * Address for requesting message delivery status notification (DSN)
      * @var mixed
      */
-    var $drnt = '';
+    var $dsn = '';
     /**
      * @var mixed
      */
@@ -192,24 +192,24 @@ class Rfc822Header {
         $result = '';
         $cnt = strlen($value);
         for ($i = 0; $i < $cnt; ++$i) {
-            switch ($value{$i}) {
+            switch ($value[$i]) {
                 case '"':
                     $result .= '"';
-                    while ((++$i < $cnt) && ($value{$i} != '"')) {
-                        if ($value{$i} == '\\') {
+                    while ((++$i < $cnt) && ($value[$i] != '"')) {
+                        if ($value[$i] == '\\') {
                             $result .= '\\';
                             ++$i;
                         }
-                        $result .= $value{$i};
+                        $result .= $value[$i];
                     }
                     if($i < $cnt) {
-                        $result .= $value{$i};
+                        $result .= $value[$i];
                     }
                     break;
                 case '(':
                     $depth = 1;
                     while (($depth > 0) && (++$i < $cnt)) {
-                        switch($value{$i}) {
+                        switch($value[$i]) {
                             case '\\':
                                 ++$i;
                                 break;
@@ -225,7 +225,7 @@ class Rfc822Header {
                     }
                     break;
                 default:
-                    $result .= $value{$i};
+                    $result .= $value[$i];
                     break;
             }
         }
@@ -289,7 +289,7 @@ class Rfc822Header {
                 break;
             case 'return-receipt-to':
                 $value = $this->stripComments($value);
-                $this->drnt = $this->parseAddress($value);
+                $this->dsn = $this->parseAddress($value);
                 break;
             case 'mime-version':
                 $value = $this->stripComments($value);
@@ -379,7 +379,7 @@ class Rfc822Header {
         $iCnt = strlen($address);
         $i = 0;
         while ($i < $iCnt) {
-            $cChar = $address{$i};
+            $cChar = $address[$i];
             switch($cChar)
             {
             case '<':
@@ -398,11 +398,11 @@ class Rfc822Header {
                 $iEnd = strpos($address,$cChar,$i+1);
                 if ($iEnd) {
                    // skip escaped quotes
-                   $prev_char = $address{$iEnd-1};
+                   $prev_char = $address[$iEnd-1];
                    while ($prev_char === '\\' && substr($address,$iEnd-2,2) !== '\\\\') {
                        $iEnd = strpos($address,$cChar,$iEnd+1);
                        if ($iEnd) {
-                          $prev_char = $address{$iEnd-1};
+                          $prev_char = $address[$iEnd-1];
                        } else {
                           $prev_char = false;
                        }
@@ -429,7 +429,7 @@ class Rfc822Header {
                     $iDepth = 1;
                     $iComment = $i;
                     while (($iDepth > 0) && (++$iComment < $iCnt)) {
-                        $cCharComment = $address{$iComment};
+                        $cCharComment = $address[$iComment];
                         switch($cCharComment) {
                             case '\\':
                                 ++$iComment;
@@ -455,7 +455,7 @@ class Rfc822Header {
                 // check the next token in case comments appear in the middle of email addresses
                 $prevToken = end($aTokens);
                 if (!in_array($prevToken,$aSpecials,true)) {
-                    if ($i+1<strlen($address) && !in_array($address{$i+1},$aSpecials,true)) {
+                    if ($i+1<strlen($address) && !in_array($address[$i+1],$aSpecials,true)) {
                         $iEnd = strpos($address,' ',$i+1);
                         if ($iEnd) {
                             $sNextToken = trim(substr($address,$i+1,$iEnd - $i -1));
@@ -561,7 +561,7 @@ class Rfc822Header {
         $sPersonal = $sEmail = $sGroup = '';
         $aStack = $aComment = array();
         foreach ($aTokens as $sToken) {
-            $cChar = $sToken{0};
+            $cChar = $sToken[0];
             switch ($cChar)
             {
             case '=':
@@ -768,7 +768,7 @@ class Rfc822Header {
             if ($pos > 0)  {
                 $key = trim(substr($prop, 0, $pos));
                 $val = trim(substr($prop, $pos+1));
-                if (strlen($val) > 0 && $val{0} == '"') {
+                if (strlen($val) > 0 && $val[0] == '"') {
                     $val = substr($val, 1, -1);
                 }
                 $propResultArray[$key] = $val;
@@ -806,7 +806,7 @@ class Rfc822Header {
         $value_a = explode(',', $value);
         foreach ($value_a as $val) {
             $val = trim($val);
-            if ($val{0} == '<') {
+            if ($val[0] == '<') {
                 $val = substr($val, 1, -1);
             }
             if (substr($val, 0, 7) == 'mailto:') {