소스 검색

Array and String offset Curly Braces deprecated

Andy 5 년 전
부모
커밋
28d4844b62

+ 3 - 3
class/deliver/Deliver.class.php

@@ -924,7 +924,7 @@ class Deliver {
         if (!$allow_fold_after_header_name
          && ($header_name_end_pos = strpos($header, ':'))
          && strlen($header) > $header_name_end_pos + 1
-         && in_array($header{$header_name_end_pos + 1}, $whitespace))
+         && in_array($header[$header_name_end_pos + 1], $whitespace))
             $header_name_end_pos++;
 
         // if using an indent string, reduce wrap limits by its size
@@ -1105,7 +1105,7 @@ class Deliver {
                     //
                     if (strlen($header) > $pos + 1) {
                         $header = substr($header, $pos + 1);
-                        if (!in_array($header{0}, $whitespace))
+                        if (!in_array($header[0], $whitespace))
                             $header = ' ' . $indent . $header;
                     } else {
                         $header = '';
@@ -1130,7 +1130,7 @@ class Deliver {
             //
             if (strlen($header) > strlen($hard_wrapped_line)) {
                 $header = substr($header, strlen($hard_wrapped_line));
-                if (!in_array($header{0}, $whitespace))
+                if (!in_array($header[0], $whitespace))
                     $header = ' ' . $indent . $header;
             } else {
                 $header = '';

+ 3 - 3
class/deliver/Deliver_SMTP.class.php

@@ -57,7 +57,7 @@ class Deliver_SMTP extends Deliver {
 
     function preWriteToStream(&$s) {
         if ($s) {
-            if ($s{0} == '.')   $s = '.' . $s;
+            if ($s[0] == '.')   $s = '.' . $s;
             $s = str_replace("\n.","\n..",$s);
         }
     }
@@ -163,7 +163,7 @@ class Deliver_SMTP extends Deliver {
         $tmp = $this->parse_ehlo_response($stream);
         if ($this->errorCheck($tmp,$stream)) {
             // fall back to HELO if EHLO is not supported (error 5xx)
-            if ($this->dlv_ret_nr{0} == '5') {
+            if ($this->dlv_ret_nr[0] == '5') {
                 fputs($stream, "HELO $helohost\r\n");
                 $tmp = fgets($stream,1024);
                 if ($this->errorCheck($tmp,$stream)) {
@@ -408,7 +408,7 @@ class Deliver_SMTP extends Deliver {
             $server_msg .= substr($line, 4);
         }
 
-        if ( ((int) $err_num{0}) < 4) {
+        if ( ((int) $err_num[0]) < 4) {
             return false;
         }
 

+ 25 - 25
class/mime/Message.class.php

@@ -352,7 +352,7 @@ class Message {
         }
 
         for ($cnt = strlen($read); $i < $cnt; ++$i) {
-            $char = strtoupper($read{$i});
+            $char = strtoupper($read[$i]);
             switch ($char) {
                 case '(':
                     switch($arg_no) {
@@ -367,7 +367,7 @@ class Message {
                             } else {
                                 $msg->header->type0 = 'multipart';
                                 $msg->type0 = 'multipart';
-                                while ($read{$i} == '(') {
+                                while ($read[$i] == '(') {
                                     $msg->addEntity($msg->parseBodyStructure($read, $i, $msg));
                                 }
                             }
@@ -400,7 +400,7 @@ class Message {
                                 $msg->type1 = $arg_a[1];
                                 $rfc822_hdr = new Rfc822Header();
                                 $msg->rfc822_header = $msg->parseEnvelope($read, $i, $rfc822_hdr);
-                                while (($i < $cnt) && ($read{$i} != '(')) {
+                                while (($i < $cnt) && ($read[$i] != '(')) {
                                     ++$i;
                                 }
                                 $msg->addEntity($msg->parseBodyStructure($read, $i,$msg));
@@ -463,9 +463,9 @@ class Message {
                     ++$arg_no;
                     break;
                 case '0':
-                case is_numeric($read{$i}):
+                case is_numeric($read[$i]):
                     /* process integers */
-                    if ($read{$i} == ' ') { break; }
+                    if ($read[$i] == ' ') { break; }
                     ++$arg_no;
                     if (preg_match('/^([0-9]+).*/',substr($read,$i), $regs)) {
                         $i += strlen($regs[1])-1;
@@ -527,11 +527,11 @@ class Message {
         $properties = array();
         $prop_name = '';
 
-        for (; $read{$i} != ')'; ++$i) {
+        for (; $read[$i] != ')'; ++$i) {
             $arg_s = '';
-            if ($read{$i} == '"') {
+            if ($read[$i] == '"') {
                 $arg_s = $this->parseQuote($read, $i);
-            } else if ($read{$i} == '{') {
+            } else if ($read[$i] == '{') {
                 $arg_s = $this->parseLiteral($read, $i);
             }
 
@@ -622,8 +622,8 @@ class Message {
         $arg_no = 0;
         $arg_a = array();
         ++$i;
-        for ($cnt = strlen($read); ($i < $cnt) && ($read{$i} != ')'); ++$i) {
-            $char = strtoupper($read{$i});
+        for ($cnt = strlen($read); ($i < $cnt) && ($read[$i] != ')'); ++$i) {
+            $char = strtoupper($read[$i]);
             switch ($char) {
                 case '"':
                     $arg_a[] = $this->parseQuote($read, $i);
@@ -652,8 +652,8 @@ class Message {
                     $addr_a = array();
                     $group = '';
                     $a=0;
-                    for (; $i < $cnt && $read{$i} != ')'; ++$i) {
-                        if ($read{$i} == '(') {
+                    for (; $i < $cnt && $read[$i] != ')'; ++$i) {
+                        if ($read[$i] == '(') {
                             $addr = $this->parseAddress($read, $i);
                             if (($addr->host == '') && ($addr->mailbox != '')) {
                                 /* start of group */
@@ -751,11 +751,11 @@ class Message {
         while (true) {
             $iPos = strpos($read,'"',$iPos);
             if (!$iPos) break;
-            if ($iPos && $read{$iPos -1} != '\\') {
+            if ($iPos && $read[$iPos -1] != '\\') {
                 $s = substr($read,$i,($iPos-$i));
                 $i = $iPos;
                 break;
-            } else if ($iPos > 1 && $read{$iPos -1} == '\\' && $read{$iPos-2} == '\\') {
+            } else if ($iPos > 1 && $read[$iPos -1] == '\\' && $read[$iPos-2] == '\\') {
                 // This is an unique situation where the fast detection of the string
                 // fails. If the quote string ends with \\ then we need to iterate
                 // through the entire string to make sure we detect the unexcaped
@@ -764,7 +764,7 @@ class Message {
                 $bEscaped = false;
                 $k = 0;
                  for ($j=$iPosStart,$iCnt=strlen($read);$j<$iCnt;++$j) {
-                    $cChar = $read{$j};
+                    $cChar = $read[$j];
                     switch ($cChar) {
                         case '\\':
                            $bEscaped = !$bEscaped;
@@ -803,8 +803,8 @@ class Message {
      */
     function parseAddress($read, &$i) {
         $arg_a = array();
-        for (; $read{$i} != ')'; ++$i) {
-            $char = strtoupper($read{$i});
+        for (; $read[$i] != ')'; ++$i) {
+            $char = strtoupper($read[$i]);
             switch ($char) {
                 case '"': $arg_a[] = $this->parseQuote($read, $i); break;
                 case '{': $arg_a[] = $this->parseLiteral($read, $i); break;
@@ -838,8 +838,8 @@ class Message {
      */
     function parseDisposition($read, &$i) {
         $arg_a = array();
-        for (; $read{$i} != ')'; ++$i) {
-            switch ($read{$i}) {
+        for (; $read[$i] != ')'; ++$i) {
+            switch ($read[$i]) {
                 case '"': $arg_a[] = $this->parseQuote($read, $i); break;
                 case '{': $arg_a[] = $this->parseLiteral($read, $i); break;
                 case '(': $arg_a[] = $this->parseProperties($read, $i); break;
@@ -865,8 +865,8 @@ class Message {
         /* no idea how to process this one without examples */
         $arg_a = array();
 
-        for (; $read{$i} != ')'; ++$i) {
-            switch ($read{$i}) {
+        for (; $read[$i] != ')'; ++$i) {
+            switch ($read[$i]) {
                 case '"': $arg_a[] = $this->parseQuote($read, $i); break;
                 case '{': $arg_a[] = $this->parseLiteral($read, $i); break;
                 case '(': $arg_a[] = $this->parseProperties($read, $i); break;
@@ -890,8 +890,8 @@ class Message {
      * @return integer
      */
     function parseParenthesis($read, $i) {
-        for ($i++; $read{$i} != ')'; ++$i) {
-            switch ($read{$i}) {
+        for ($i++; $read[$i] != ')'; ++$i) {
+            switch ($read[$i]) {
                 case '"': $this->parseQuote($read, $i); break;
                 case '{': $this->parseLiteral($read, $i); break;
                 case '(': $this->parseProperties($read, $i); break;
@@ -944,7 +944,7 @@ class Message {
                 }
             }
 
-            if ((($line{0} == '-') || $rfc822_header)  && isset($boundaries[0])) {
+            if ((($line[0] == '-') || $rfc822_header)  && isset($boundaries[0])) {
                 $cnt = count($boundaries)-1;
                 $bnd = $boundaries[$cnt]['bnd'];
                 $bndreg = $boundaries[$cnt]['bndreg'];
@@ -954,7 +954,7 @@ class Message {
                     $bndlen = strlen($reg[1]);
                     $bndend = false;
                     if (strlen($line) > ($bndlen + 3)) {
-                        if (($line{$bndlen+2} == '-') && ($line{$bndlen+3} == '-')) {
+                        if (($line[$bndlen+2] == '-') && ($line[$bndlen+3] == '-')) {
                             $bndend = true;
                         }
                     }

+ 15 - 15
class/mime/Rfc822Header.class.php

@@ -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;
             }
         }
@@ -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:') {

+ 1 - 1
class/template/Template.class.php

@@ -1018,7 +1018,7 @@ class Template
         // return list of all files in a directory (and that
         // of any ancestors)
         //
-        if ($filename{strlen($filename) - 1} == '/') {
+        if ($filename[strlen($filename) - 1] == '/') {
 
             $return_array = array();
             foreach ($this->template_file_cache as $file => $file_info) {

+ 2 - 2
functions/auth.php

@@ -236,13 +236,13 @@ function digest_md5_parse_challenge($challenge) {
     $challenge=base64_decode($challenge);
     $parsed = array();
     while (!empty($challenge)) {
-        if ($challenge{0} == ',') { // First char is a comma, must not be 1st time through loop
+        if ($challenge[0] == ',') { // First char is a comma, must not be 1st time through loop
             $challenge=substr($challenge,1);
         }
         $key=explode('=',$challenge,2);
         $challenge=$key[1];
         $key=$key[0];
-        if ($challenge{0} == '"') {
+        if ($challenge[0] == '"') {
             // We're in a quoted value
             // Drop the first quote, since we don't care about it
             $challenge=substr($challenge,1);

+ 8 - 8
functions/imap_general.php

@@ -422,7 +422,7 @@ function sqimap_retrieve_imap_response($imap_stream, $tag, $handle_errors,
     $read = sqimap_fgets($imap_stream);
     $i = 0;
     while ($read) {
-        $char = $read{0};
+        $char = $read[0];
         switch ($char)
         {
           case '+':
@@ -430,7 +430,7 @@ function sqimap_retrieve_imap_response($imap_stream, $tag, $handle_errors,
             $read = sqimap_fgets($imap_stream);
             break;
 
-          case $tag{0}:
+          case $tag[0]:
           {
             /* get the command */
             $arg = '';
@@ -478,7 +478,7 @@ function sqimap_retrieve_imap_response($imap_stream, $tag, $handle_errors,
                  break 2; /* switch while */
             }
             break;
-          } // end case $tag{0}
+          } // end case $tag[0]
 
           case '*':
           {
@@ -530,11 +530,11 @@ function sqimap_retrieve_imap_response($imap_stream, $tag, $handle_errors,
                             break 4; /* while while switch while */
                         }
                         /* check for next untagged reponse and break */
-                        if ($read{0} == '*') break 2;
+                        if ($read[0] == '*') break 2;
                         $s = substr($read,-3);
                     } while ($s === "}\r\n" || $read_literal);
                     $s = substr($read,-3);
-                } while ($read{0} !== '*' &&
+                } while ($read[0] !== '*' &&
                          substr($read,0,strlen($tag)) !== $tag);
                 $resultlist[] = $fetch_data;
                 /* release not neaded data */
@@ -566,7 +566,7 @@ function sqimap_retrieve_imap_response($imap_stream, $tag, $handle_errors,
                     $read = sqimap_fgets($imap_stream);
                     if ($read === false) {
                         break 3; /* while switch while */
-                    } else if ($read{0} == '*') {
+                    } else if ($read[0] == '*') {
                         break;
                     }
                     $s = substr($read,-3);
@@ -1015,7 +1015,7 @@ function sqimap_login ($username, $password, $imap_server_address,
                     // Skip any rfc5530 response code: '[something]' at the
                     // start of the message
                     if (!empty($message)
-                     && $message{0} == '['
+                     && $message[0] == '['
                      && ($end = strstr($message, ']'))
                      && $end != ']') {
                         $message = substr($end, 1);
@@ -1542,7 +1542,7 @@ function sqimap_append_checkresponse($response, $sMailbox, $sid='', $query='') {
     if ($sid) {
         $imapsid = $sid;
     }
-    if ($response{0} == '+') {
+    if ($response[0] == '+') {
         // continuation request triggerd by sqimap_append()
         $bDone = true;
     } else {

+ 10 - 10
functions/imap_messages.php

@@ -407,7 +407,7 @@ function get_thread_sort($imap_stream, $search='ALL') {
 
     if ($sThreadResponse) {
         for ($i=0,$iCnt = strlen($sThreadResponse);$i<$iCnt;++$i) {
-            $cChar = $sThreadResponse{$i};
+            $cChar = $sThreadResponse[$i];
             switch ($cChar) {
                 case '(': // new sub thread
                     // correction for a subthread of a thread with no parents in thread
@@ -475,14 +475,14 @@ function elapsedTime($start) {
  * @return string $s parsed string without the double quotes or literal count
  */
 function parseString($read,&$i) {
-    $char = $read{$i};
+    $char = $read[$i];
     $s = '';
     if ($char == '"') {
         $iPos = ++$i;
         while (true) {
             $iPos = strpos($read,'"',$iPos);
             if (!$iPos) break;
-            if ($iPos && $read{$iPos -1} != '\\') {
+            if ($iPos && $read[$iPos -1] != '\\') {
                 $s = substr($read,$i,($iPos-$i));
                 $i = $iPos;
                 break;
@@ -712,7 +712,7 @@ function parseFetch(&$aResponse,$aMessageList = array()) {
                                 case 'date':
                                     $aMsg['date'] = trim(str_replace('  ', ' ', $value));
                                     break;
-                                case 'x-priority': $aMsg['x-priority'] = ($value) ? (int) $value{0} : 3; break;
+                                case 'x-priority': $aMsg['x-priority'] = ($value) ? (int) $value[0] : 3; break;
                                 case 'priority':
                                 case 'importance':
                                     // duplicate code with Rfc822Header.cls:parsePriority()
@@ -781,8 +781,8 @@ function sqimap_parse_envelope($read, &$i, &$msg) {
     $arg_no = 0;
     $arg_a = array();
     ++$i;
-    for ($cnt = strlen($read); ($i < $cnt) && ($read{$i} != ')'); ++$i) {
-        $char = strtoupper($read{$i});
+    for ($cnt = strlen($read); ($i < $cnt) && ($read[$i] != ')'); ++$i) {
+        $char = strtoupper($read[$i]);
         switch ($char) {
             case '{':
             case '"':
@@ -805,8 +805,8 @@ function sqimap_parse_envelope($read, &$i, &$msg) {
                 $addr_a = array();
                 $group = '';
                 $a=0;
-                for (; $i < $cnt && $read{$i} != ')'; ++$i) {
-                    if ($read{$i} == '(') {
+                for (; $i < $cnt && $read[$i] != ')'; ++$i) {
+                    if ($read[$i] == '(') {
                         $addr = sqimap_parse_address($read, $i);
                         if (($addr[3] == '') && ($addr[2] != '')) {
                             /* start of group */
@@ -860,8 +860,8 @@ function sqimap_parse_envelope($read, &$i, &$msg) {
  */
 function sqimap_parse_address($read, &$i) {
     $arg_a = array();
-    for (; $read{$i} != ')'; ++$i) {
-        $char = strtoupper($read{$i});
+    for (; $read[$i] != ')'; ++$i) {
+        $char = strtoupper($read[$i]);
         switch ($char) {
             case '{':
             case '"': $arg_a[] =  parseString($read,$i); break;

+ 1 - 1
functions/mailbox_display.php

@@ -733,7 +733,7 @@ function highlightMessage($sCol, $sVal, $highlight_list, &$aFormat) {
     }
     if ($hlt_color) {
         // Bug in highlight color???
-        if ($hlt_color{0} != '#') {
+        if ($hlt_color[0] != '#') {
             $hlt_color = '#'. $hlt_color;
         }
         $aFormat['row']['color'] = $hlt_color;

+ 36 - 36
functions/mime.php

@@ -155,7 +155,7 @@ function mime_fetch_body($imap_stream, $id, $ent_id=1, $fetch_size=0) {
         /* There is some information in the content info header that could be important
          * in order to parse html messages. Let's get them here.
          */
-//        if ($ret{0} == '<') {
+//        if ($ret[0] == '<') {
 //            $data = sqimap_run_command ($imap_stream, "FETCH $id BODY[$ent_id.MIME]", true, $response, $message, TRUE);
 //        }
     } else if (preg_match('/"([^"]*)"/', $topline, $regs)) {
@@ -983,7 +983,7 @@ function encodeHeader ($string) {
     $iEncStart = $enc_init = false;
     $cur_l = $iOffset = 0;
     for($i = 0; $i < $j; ++$i) {
-        switch($string{$i})
+        switch($string[$i])
         {
             case '"':
             case '=':
@@ -1005,7 +1005,7 @@ function encodeHeader ($string) {
                     $ret = '';
                     $iEncStart = false;
                 } else {
-                    $ret .= sprintf("=%02X",ord($string{$i}));
+                    $ret .= sprintf("=%02X",ord($string[$i]));
                 }
                 break;
             case '(':
@@ -1035,7 +1035,7 @@ function encodeHeader ($string) {
                 }
                 break;
             default:
-                $k = ord($string{$i});
+                $k = ord($string[$i]);
                 if ($k > 126) {
                     if ($iEncStart === false) {
                         // do not start encoding in the middle of a string, also take the rest of the word.
@@ -1069,7 +1069,7 @@ function encodeHeader ($string) {
                             $cur_l = 0;
                             $ret = '';
                         } else {
-                            $ret .= $string{$i};
+                            $ret .= $string[$i];
                         }
                     }
                 }
@@ -1446,12 +1446,12 @@ function sq_findnxreg($body, $offset, $reg){
     $matches = Array();
     $retarr = Array();
     preg_match("%^(.*?)($reg)%si", substr($body, $offset), $matches);
-    if (!isset($matches{0}) || !$matches{0}){
+    if (!isset($matches[0]) || !$matches[0]){
         $retarr = false;
     } else {
-        $retarr{0} = $offset + strlen($matches{1});
-        $retarr{1} = $matches{1};
-        $retarr{2} = $matches{2};
+        $retarr[0] = $offset + strlen($matches[1]);
+        $retarr[1] = $matches[1];
+        $retarr[2] = $matches[2];
     }
     return $retarr;
 }
@@ -1609,8 +1609,8 @@ function sq_getnxtag($body, $offset){
             /**
              * Yep. So we did.
              */
-            $pos += strlen($matches{1});
-            if ($matches{2} == "/>"){
+            $pos += strlen($matches[1]);
+            if ($matches[2] == "/>"){
                 $tagtype = 3;
                 $pos++;
             }
@@ -1667,7 +1667,7 @@ function sq_getnxtag($body, $offset){
                     return $retary;
                 }
             case '>':
-                $attary{$attname} = '"yes"';
+                $attary[$attname] = '"yes"';
                 return Array($tagname, $attary, $tagtype, $lt, $pos);
                 break;
             default:
@@ -1701,7 +1701,7 @@ function sq_getnxtag($body, $offset){
                         }
                         list($pos, $attval, $match) = $regary;
                         $pos++;
-                        $attary{$attname} = "'" . $attval . "'";
+                        $attary[$attname] = "'" . $attval . "'";
                     } else if ($quot == '"'){
                         $regary = sq_findnxreg($body, $pos+1, '\"');
                         if ($regary == false){
@@ -1709,7 +1709,7 @@ function sq_getnxtag($body, $offset){
                         }
                         list($pos, $attval, $match) = $regary;
                         $pos++;
-                        $attary{$attname} = '"' . $attval . '"';
+                        $attary[$attname] = '"' . $attval . '"';
                     } else {
                         /**
                          * These are hateful. Look for \s, or >.
@@ -1723,13 +1723,13 @@ function sq_getnxtag($body, $offset){
                          * If it's ">" it will be caught at the top.
                          */
                         $attval = preg_replace("/\"/s", "&quot;", $attval);
-                        $attary{$attname} = '"' . $attval . '"';
+                        $attary[$attname] = '"' . $attval . '"';
                     }
                 } else if (preg_match("|[\w/>]|", $char)) {
                     /**
                      * That was attribute type 4.
                      */
-                    $attary{$attname} = '"yes"';
+                    $attary[$attname] = '"yes"';
                 } else {
                     /**
                      * An illegal character. Find next '>' and return.
@@ -1768,7 +1768,7 @@ function sq_deent(&$attvalue, $regex, $hex=false){
             if ($hex){
                 $numval = hexdec($numval);
             }
-            $repl{$matches[0][$i]} = chr($numval);
+            $repl[$matches[0][$i]] = chr($numval);
         }
         $attvalue = strtr($attvalue, $repl);
         return true;
@@ -1807,7 +1807,7 @@ function sq_fixatts($tagname,
             if (preg_match($matchtag, $tagname)){
                 foreach ($matchattrs as $matchattr){
                     if (preg_match($matchattr, $attname)){
-                        unset($attary{$attname});
+                        unset($attary[$attname]);
                         continue;
                     }
                 }
@@ -1828,7 +1828,7 @@ function sq_fixatts($tagname,
             // entities are used in the attribute value. In 99% of the cases it's there as XSS
             // i.e.<div style="{ left:exp&#x0280;essio&#x0274;( alert('XSS') ) }">
             $attvalue = "idiocy";
-            $attary{$attname} = $attvalue;
+            $attary[$attname] = $attvalue;
         }
         sq_unspace($attvalue);
 
@@ -1851,7 +1851,7 @@ function sq_fixatts($tagname,
                         $newvalue =
                             preg_replace($valmatch, $valrepl, $attvalue);
                         if ($newvalue != $attvalue){
-                            $attary{$attname} = $newvalue;
+                            $attary[$attname] = $newvalue;
                             $attvalue = $newvalue;
                         }
                     }
@@ -1861,7 +1861,7 @@ function sq_fixatts($tagname,
         if ($attname == 'style') {
             if (preg_match('/[\0-\37\200-\377]+/',$attvalue)) {
                 // 8bit and control characters in style attribute values can be used for XSS, remove them
-                $attary{$attname} = '"disallowed character"';
+                $attary[$attname] = '"disallowed character"';
             }
             preg_match_all("/url\s*\((.+)\)/si",$attvalue,$aMatch);
             if (count($aMatch)) {
@@ -1869,7 +1869,7 @@ function sq_fixatts($tagname,
                     // url value
                     $urlvalue = $sMatch;
                     sq_fix_url($attname, $urlvalue, $message, $id, $mailbox,"'");
-                    $attary{$attname} = str_replace($sMatch,$urlvalue,$attvalue);
+                    $attary[$attname] = str_replace($sMatch,$urlvalue,$attvalue);
                 }
             }
         }
@@ -1880,7 +1880,7 @@ function sq_fixatts($tagname,
               || $attname == 'poster' || $attname == 'formaction'
               || $attname == 'background' || $attname == 'action') {
             sq_fix_url($attname, $attvalue, $message, $id, $mailbox);
-            $attary{$attname} = $attvalue;
+            $attary[$attname] = $attvalue;
         }
     }
     /**
@@ -2066,7 +2066,7 @@ function sq_fixstyle($body, $pos, $message, $id, $mailbox){
     $bSucces = false;
     $bEndTag = false;
     for ($i=$pos,$iCount=strlen($body);$i<$iCount;++$i) {
-        $char = $body{$i};
+        $char = $body[$i];
         switch ($char) {
             case '<':
                 $sToken = $char;
@@ -2097,7 +2097,7 @@ function sq_fixstyle($body, $pos, $message, $id, $mailbox){
             case '!':
                 if ($sToken == '<') {
                     // possible comment
-                    if (isset($body{$i+2}) && substr($body,$i,3) == '!--') {
+                    if (isset($body[$i+2]) && substr($body,$i,3) == '!--') {
                         $i = strpos($body,'-->',$i+3);
                         if ($i === false) { // no end comment
                             $i = strlen($body);
@@ -2310,7 +2310,7 @@ function sq_body2div($attary, $mailbox, $message, $id){
             $styledef .= "color: $text; ";
         }
         if (strlen($styledef) > 0){
-            $divattary{"style"} = "\"$styledef\"";
+            $divattary["style"] = "\"$styledef\"";
         }
     }
     return $divattary;
@@ -2461,9 +2461,9 @@ function sq_sanitize($body,
                         if ($tagname == "body"){
                             $tagname = "div";
                         }
-                        if (isset($open_tags{$tagname}) &&
-                                $open_tags{$tagname} > 0){
-                            $open_tags{$tagname}--;
+                        if (isset($open_tags[$tagname]) &&
+                                $open_tags[$tagname] > 0){
+                            $open_tags[$tagname]--;
                         } else {
                             $tagname = false;
                         }
@@ -2505,10 +2505,10 @@ function sq_sanitize($body,
                                         $message, $id);
                             }
                             if ($tagtype == 1){
-                                if (isset($open_tags{$tagname})){
-                                    $open_tags{$tagname}++;
+                                if (isset($open_tags[$tagname])){
+                                    $open_tags[$tagname]++;
                                 } else {
-                                    $open_tags{$tagname}=1;
+                                    $open_tags[$tagname]=1;
                                 }
                             }
                             /**
@@ -2730,13 +2730,13 @@ function magicHTML($body, $id, $message, $mailbox = 'INBOX', $take_mailto_links
          * Remove any references to http/https if view_unsafe_images set
          * to false.
          */
-        array_push($bad_attvals{'/.*/'}{'/^src|background/i'}[0],
+        array_push($bad_attvals['/.*/']['/^src|background/i'][0],
                 '/^([\'\"])\s*https*:.*([\'\"])/si');
-        array_push($bad_attvals{'/.*/'}{'/^src|background/i'}[1],
+        array_push($bad_attvals['/.*/']['/^src|background/i'][1],
                 "\\1$secremoveimg\\1");
-        array_push($bad_attvals{'/.*/'}{'/^style/i'}[0],
+        array_push($bad_attvals['/.*/']['/^style/i'][0],
                 '/url\([\'\"]?https?:[^\)]*[\'\"]?\)/si');
-        array_push($bad_attvals{'/.*/'}{'/^style/i'}[1],
+        array_push($bad_attvals['/.*/']['/^style/i'][1],
                 "url(\\1$secremoveimg\\1)");
     }
 

+ 6 - 6
functions/rfc822address.php

@@ -31,7 +31,7 @@ function parseRFC822Address($sAddress,$iLimit = 0) {
         if ($iLimit && $iLimit == count($aAddress)) {
             return $aAddress;
         }
-        $cChar = $sToken{0};
+        $cChar = $sToken[0];
         switch ($cChar)
         {
         case '=':
@@ -290,7 +290,7 @@ function _getAddressTokens($address) {
     $iCnt = strlen($address);
     $i = 0;
     while ($i < $iCnt) {
-        $cChar = $address{$i};
+        $cChar = $address[$i];
         switch($cChar)
         {
         case '<':
@@ -309,11 +309,11 @@ function _getAddressTokens($address) {
             $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;
                     }
@@ -340,7 +340,7 @@ function _getAddressTokens($address) {
                 $iDepth = 1;
                 $iComment = $i;
                 while (($iDepth > 0) && (++$iComment < $iCnt)) {
-                    $cCharComment = $address{$iComment};
+                    $cCharComment = $address[$iComment];
                     switch($cCharComment) {
                         case '\\':
                             ++$iComment;
@@ -366,7 +366,7 @@ function _getAddressTokens($address) {
             // 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));

+ 6 - 6
functions/strings.php

@@ -136,7 +136,7 @@ function &sqBodyWrap (&$body, $wrap) {
        // (i.e. try to preserve original paragraph breaks)
        // unless they occur at the very beginning of the text
        if ((sq_substr($body,$pos,1) == "\n" ) && (sq_strlen($outString) != 0)) {
-           $outStringLast = $outString{sq_strlen($outString) - 1};
+           $outStringLast = $outString[sq_strlen($outString) - 1];
            if ($outStringLast != "\n") {
                $outString .= "\n";
            }
@@ -227,7 +227,7 @@ function &sqBodyWrap (&$body, $wrap) {
 /*
                      $ldnspacecnt = 0;
                      if ($mypos == $nextNewline+1) {
-                        while (($mypos < $length) && ($body{$mypos} == ' ')) {
+                        while (($mypos < $length) && ($body[$mypos] == ' ')) {
                          $ldnspacecnt++;
                         }
                      }
@@ -236,9 +236,9 @@ function &sqBodyWrap (&$body, $wrap) {
                    $firstword = sq_substr($body,$mypos,sq_strpos($body,' ',$mypos) - $mypos);
                    //if ($dowrap || $ldnspacecnt > 1 || ($firstword && (
                    if (!$smartwrap || $firstword && (
-                                        $firstword{0} == '-' ||
-                                        $firstword{0} == '+' ||
-                                        $firstword{0} == '*' ||
+                                        $firstword[0] == '-' ||
+                                        $firstword[0] == '+' ||
+                                        $firstword[0] == '*' ||
                                         sq_substr($firstword,0,1) == sq_strtoupper(sq_substr($firstword,0,1)) ||
                                         strpos($firstword,':'))) {
                         $outString .= sq_substr($body,$pos,($lastRealChar - $pos+1));
@@ -717,7 +717,7 @@ function GenerateRandomString($size, $chars, $flags = 0) {
     $String = '';
     $j = strlen( $chars ) - 1;
     while (strlen($String) < $size) {
-        $String .= $chars{random_int(0, $j)};
+        $String .= $chars[random_int(0, $j)];
     }
 
     return $String;

+ 25 - 25
plugins/administrator/options.php

@@ -38,22 +38,22 @@ function parseConfig( $cfg_file ) {
         for ($j=0;$j<$s;$j++) {
             switch ( $mode ) {
             case '=':
-                if ( $line{$j} == '=' ) {
+                if ( $line[$j] == '=' ) {
                     // Ok, we've got a right value, lets detect what type
                     $mode = 'D';
-                } else if ( $line{$j} == ';' ) {
+                } else if ( $line[$j] == ';' ) {
                     // hu! end of command
                     $key = $mode = '';
                 }
                 break;
             case 'K':
                 // Key detect
-                if ( $line{$j} == ' ' ) {
+                if ( $line[$j] == ' ' ) {
                     $mode = '=';
                 } else {
-                    $key .= $line{$j};
+                    $key .= $line[$j];
                     // FIXME: this is only pour workaround for plugins[] array.
-                    if ($line{$j}=='[' && $line{($j+1)}==']') {
+                    if ($line[$j]=='[' && $line[($j+1)]==']') {
                         $key .= $arraykey;
                         $arraykey++;
                     }
@@ -61,47 +61,47 @@ function parseConfig( $cfg_file ) {
                 break;
             case ';':
                 // Skip until next ;
-                if ( $line{$j} == ';' ) {
+                if ( $line[$j] == ';' ) {
                     $mode = '';
                 }
                 break;
             case 'S':
-                if ( $line{$j} == '\\' ) {
-                    $value .= $line{$j};
+                if ( $line[$j] == '\\' ) {
+                    $value .= $line[$j];
                     $modifier = TRUE;
-                } else if ( $line{$j} == $delimiter && $modifier === FALSE ) {
+                } else if ( $line[$j] == $delimiter && $modifier === FALSE ) {
                     // End of string;
                     $newcfg[$key] = $value . $delimiter;
                     $key = $value = '';
                     $mode = ';';
                 } else {
-                    $value .= $line{$j};
+                    $value .= $line[$j];
                     $modifier = FALSE;
                 }
                 break;
             case 'N':
-                if ( $line{$j} == ';' ) {
-                    $newcfg{$key} = $value;
+                if ( $line[$j] == ';' ) {
+                    $newcfg[$key] = $value;
                     $key = $mode = '';
                 } else {
-                    $value .= $line{$j};
+                    $value .= $line[$j];
                 }
                 break;
             case 'C':
                 // Comments
                 if ( $s > $j + 1  &&
-                     $line{$j}.$line{$j+1} == '*/' ) {
+                     $line[$j].$line[$j+1] == '*/' ) {
                     $mode = '';
                     $j++;
                 }
                 break;
             case 'D':
                 // Delimiter detect
-                switch ( $line{$j} ) {
+                switch ( $line[$j] ) {
                 case '"':
                 case "'":
                     // Double quote string
-                    $delimiter = $value = $line{$j};
+                    $delimiter = $value = $line[$j];
                     $mode = 'S';
                     break;
                 case ' ':
@@ -110,22 +110,22 @@ function parseConfig( $cfg_file ) {
                 default:
                     if ( strtoupper( substr( $line, $j, 4 ) ) == 'TRUE'  ) {
                         // Boolean TRUE
-                        $newcfg{$key} = 'TRUE';
+                        $newcfg[$key] = 'TRUE';
                         $key = '';
                         $mode = ';';
                     } else if ( strtoupper( substr( $line, $j, 5 ) ) == 'FALSE'  ) {
-                        $newcfg{$key} = 'FALSE';
+                        $newcfg[$key] = 'FALSE';
                         $key = '';
                         $mode = ';';
                     } else {
                         // Number or function call
                         $mode = 'N';
-                        $value = $line{$j};
+                        $value = $line[$j];
                     }
                 }
                 break;
             default:
-                if ( $line{$j} == '$' ) {
+                if ( $line[$j] == '$' ) {
                     // We must detect $key name
                     $mode = 'K';
                     $key = '$';
@@ -134,10 +134,10 @@ function parseConfig( $cfg_file ) {
                     // Skip untill next ;
                     $mode = ';';
                     $j += 6;
-                } else if ( $line{$j}.$line{$j+1} == '/*' ) {
+                } else if ( $line[$j].$line[$j+1] == '/*' ) {
                     $mode = 'C';
                     $j++;
-                } else if ( $line{$j} == '#' || $line{$j}.$line{$j+1} == '//' ) {
+                } else if ( $line[$j] == '#' || $line[$j].$line[$j+1] == '//' ) {
                     // Delete till the end of the line
                     $j = $s;
                 }
@@ -309,9 +309,9 @@ foreach ( $newcfg as $k => $v ) {
     } else if ( $l == 'false' ) {
         $v = 'FALSE';
         $type = SMOPT_TYPE_BOOLEAN;
-    } else if ( $v{0} == "'" ) {
+    } else if ( $v[0] == "'" ) {
         $type = SMOPT_TYPE_STRING;
-    } else if ( $v{0} == '"' ) {
+    } else if ( $v[0] == '"' ) {
         $type = SMOPT_TYPE_STRING;
     }
 
@@ -631,7 +631,7 @@ if ( $fp = @fopen( $cfgfile, 'w' ) ) {
     "\n" );
 
     foreach ( $newcfg as $k => $v ) {
-        if ( $k{0} == '$' && $v <> '' || is_int($v)) {
+        if ( $k[0] == '$' && $v <> '' || is_int($v)) {
             if ( substr( $k, 1, 11 ) == 'ldap_server' ) {
                 $v = substr( $v, 0, strlen( $v ) - 1 ) . "\n)";
                 $v = str_replace( 'array(', "array(\n\t", $v );

+ 1 - 1
plugins/mail_fetch/class.mail_fetch.php

@@ -367,7 +367,7 @@ class mail_fetch {
             while($line = fgets($this->conn)) {
                 if ($line == ".\r\n") {
                     break;
-                } elseif ( $line{0} == '.' ) {
+                } elseif ( $line[0] == '.' ) {
                     $ret .= substr($line,1);
                 } else {
                     $ret.= $line;

+ 2 - 2
plugins/message_details/message_details_bottom.php

@@ -211,7 +211,7 @@ function get_message_details($mailbox, $passed_id, $passed_ent_id=0, $stripHTML=
             }
         }
 
-        if (($line != '' && $line{0} == '-' || $header)  && isset($boundaries[0])) {
+        if (($line != '' && $line[0] == '-' || $header)  && isset($boundaries[0])) {
             $cnt=count($boundaries)-1;
             $bnd = $boundaries[$cnt]['bnd'];
             $bndreg = $boundaries[$cnt]['bndreg'];
@@ -221,7 +221,7 @@ function get_message_details($mailbox, $passed_id, $passed_ent_id=0, $stripHTML=
                 $bndlen = strlen($reg[1]);
                 $bndend = false;
                 if (strlen($line) > ($bndlen + 3)) {
-                    if ($line{$bndlen+2} == '-' && $line{$bndlen+3} == '-')
+                    if ($line[$bndlen+2] == '-' && $line[$bndlen+3] == '-')
                         $bndend = true;
                 }
                 if ($bndend) {

+ 1 - 1
src/configtest.php

@@ -644,7 +644,7 @@ if($useSendmail) {
 
     // check for SMTP code; should be 2xx to allow us access
     $smtpline = fgets($stream, 1024);
-    if(((int) $smtpline{0}) > 3) {
+    if(((int) $smtpline[0]) > 3) {
         do_err("Error connecting to SMTP server. Server error: ".
                 sm_encode_html_special_chars($smtpline));
     }