Author: Ben Ramsey (ramsey)
Committer: GitHub (web-flow)
Pusher: derickr
Date: 2021-09-05T20:19:57+01:00

Commit: 
https://github.com/php/web-news/commit/0d8ca06ec7ac771f2093d7d8f6d64f7a6df91a2a
Raw diff: 
https://github.com/php/web-news/commit/0d8ca06ec7ac771f2093d7d8f6d64f7a6df91a2a.diff

Use foreach instead of each and check if $filter is null (#14)

* Rename variables for clarity

* Skip this conditional if $filter is null

* Use a foreach loop instead of each()

* Update variable name to match surrounding code style

Changed paths:
  M  article.php
  M  lib/fMailbox.php


Diff:

diff --git a/article.php b/article.php
index 1a4f845..eb88ad8 100644
--- a/article.php
+++ b/article.php
@@ -176,7 +176,7 @@ function start_article($mail, $refsResolved) {
                echo '     <td class="headerlabel">Groups:</td>' . "\n";
                echo '     <td class="headervalue" '.(empty($refsResolved) ? 
'colspan="3"' : null).'>';
                $r = explode(",", rtrim($mail['headers']['newsgroups']));
-               while (list($k,$v) = each($r)) {
+               foreach ($r as $v) {
                        echo "<a 
href=\"/".urlencode($v)."\">".htmlspecialchars($v)."</a>&nbsp;";
                }
                echo "</td>\n";
diff --git a/lib/fMailbox.php b/lib/fMailbox.php
index 7ffa39b..04f05af 100644
--- a/lib/fMailbox.php
+++ b/lib/fMailbox.php
@@ -348,7 +348,7 @@ private static function parseHeaders($headers, $filter = 
null)
                $multi_email_fields     = array('to', 'cc');
                $additional_info_fields = array('content-type', 
'content-disposition');
 
-               $headers = array();
+               $parsed_headers = array();
                foreach ($header_lines as $header_line) {
                        $header_line = preg_replace("#\r\n\s+#", ' ', 
$header_line);
                        $header_line = trim($header_line);
@@ -356,7 +356,7 @@ private static function parseHeaders($headers, $filter = 
null)
                        list ($header, $value) = preg_split('#:\s*#', 
$header_line, 2);
                        $header = strtolower($header);
 
-                       if (strpos($header, $filter) !== false) {
+                       if ($filter !== null && strpos($header, $filter) !== 
false) {
                                continue;
                        }
 
@@ -368,7 +368,7 @@ private static function parseHeaders($headers, $filter = 
null)
                                $pieces = preg_split('#;\s*#', $value, 2);
                                $value = $pieces[0];
 
-                               $headers[$header] = array('value' => 
self::decodeHeader($value));
+                               $parsed_headers[$header] = array('value' => 
self::decodeHeader($value));
 
                                $fields = array();
                                if (!empty($pieces[1])) {
@@ -377,10 +377,10 @@ private static function parseHeaders($headers, $filter = 
null)
                                                $fields[strtolower($match[1])] 
= self::decodeHeader(!empty($match[4]) ? $match[4] : $match[3]);
                                        }
                                }
-                               $headers[$header]['fields'] = $fields;
+                               $parsed_headers[$header]['fields'] = $fields;
 
                        } elseif ($is_single_email) {
-                               $headers[$header] = self::parseEmail($value);
+                               $parsed_headers[$header] = 
self::parseEmail($value);
 
                        } elseif ($is_multi_email) {
                                $strings = array();
@@ -407,26 +407,26 @@ private static function parseHeaders($headers, $filter = 
null)
                                        );
                                }
 
-                               $headers[$header] = array();
+                               $parsed_headers[$header] = array();
                                foreach ($emails as $email) {
-                                       $headers[$header][] = 
self::parseEmail($email);
+                                       $parsed_headers[$header][] = 
self::parseEmail($email);
                                }
 
                        } elseif ($header == 'references') {
-                               $headers[$header] = array_map(array('fMailbox', 
'decodeHeader'), preg_split('#(?<=>)\s+(?=<)#', $value));
+                               $parsed_headers[$header] = 
array_map(array('fMailbox', 'decodeHeader'), preg_split('#(?<=>)\s+(?=<)#', 
$value));
 
                        } elseif ($header == 'received') {
-                               if (!isset($headers[$header])) {
-                                       $headers[$header] = array();
+                               if (!isset($parsed_headers[$header])) {
+                                       $parsed_headers[$header] = array();
                                }
-                               $headers[$header][] = preg_replace('#\s+#', ' 
', self::decodeHeader($value));
+                               $parsed_headers[$header][] = 
preg_replace('#\s+#', ' ', self::decodeHeader($value));
 
                        } else {
-                               $headers[$header] = self::decodeHeader($value);
+                               $parsed_headers[$header] = 
self::decodeHeader($value);
                        }
                }
 
-               return $headers;
+               return $parsed_headers;
        }
 
        /**

-- 
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to