Commit:    1a4f395d8679fb05bfe8af8d888e9f5bfcc36819
Author:    Sara Golemon <[email protected]>         Wed, 10 Jul 2019 21:47:37 
-0400
Parents:   cfc6b38ec88e64a2f027dfaaa2b5c5954cd1d448
Branches:  master

Link:       
http://git.php.net/?p=web/php.git;a=commitdiff;h=1a4f395d8679fb05bfe8af8d888e9f5bfcc36819

Log:
Refactor releases/index.php

Changed paths:
  M  releases/index.php

diff --git a/releases/index.php b/releases/index.php
index 202f8c5..ca12019 100644
--- a/releases/index.php
+++ b/releases/index.php
@@ -1,12 +1,12 @@
 <?php
 $_SERVER['BASE_PAGE'] = 'releases/index.php';
 include_once __DIR__ . '/../include/prepend.inc';
-include_once $_SERVER["DOCUMENT_ROOT"] . "/include/branches.inc";
+include_once __DIR__ . "/../include/branches.inc";
 
 if (isset($_GET["serialize"]) || isset($_GET["json"])) {
        $RELEASES = $RELEASES + $OLDRELEASES;
 
-       $machineReadable = array();
+       $machineReadable = [];
 
        if (isset($_GET["version"])) {
                $versionArray = version_array($_GET["version"]);
@@ -15,14 +15,7 @@ if (isset($_GET["serialize"]) || isset($_GET["json"])) {
                if (isset($RELEASES[$ver])) {
                        $combinedReleases = array_replace_recursive($RELEASES, 
$OLDRELEASES);
 
-                       if (isset($_GET["max"])) {
-                               $max = (int)$_GET["max"];
-                               $maxSet = true;
-                       } else {
-                               $max = 1;
-                               $maxSet = false;
-                       }
-
+                       $max = intval($_GET['max'] ?? 1);
                        if ($max == -1) {
                                $max = PHP_INT_MAX;
                        }
@@ -39,7 +32,7 @@ if (isset($_GET["serialize"]) || isset($_GET["json"])) {
                                }
                        }
 
-                       if (!$maxSet && !empty($machineReadable)) {
+                       if (!isset($_GET['max']) && !empty($machineReadable)) {
                                $version = key($machineReadable);
                                $machineReadable = current($machineReadable);
                                $machineReadable["version"] = $version;
@@ -69,23 +62,50 @@ if (isset($_GET["serialize"]) || isset($_GET["json"])) {
 }
 
 
-// Tarball list generated with:
-// cvs status -v php[34]/INSTALL |grep 'php_'|awk '{print $1}'|grep -Ev 
'(RC[0-9]*|rc[_0-9]*|REL|[ab][a0-9-]+|b..rc.|b.pl.|bazaar|pre|[ab])$'|sed -e 
's,php_,,' -e 's,_,.,g'|sort -n|while read ver; do echo "        <option 
value=\"php-${ver}.tar.gz\">$ver</option>"; done
 
-// Show the two most recent EOLed branches.
-$eol = array();
-foreach (get_eol_branches() as $major => $branches) {
-       foreach ($branches as $branch => $detail) {
-               $detail_date = $detail['date'];
-               while (isset($eol[$detail_date])) $detail_date++;
-               $eol[$detail_date] = sprintf('<li>%s: %s</li>', $branch, 
date('j M Y', $detail_date));
+// Human Readable.
+site_header("Releases", array(
+    'current' => 'downloads',
+    'css' => '/styles/releases.css',
+));
+
+echo "<h1>Unsupported Historical Releases</h1>\n\n";
+echo "<p>
+ We have collected all the official information and code available for
+ past PHP releases. You can find more details on the current release
+ on <a href=\"/downloads.php\">our downloads page</a>. Please note that
+ <em>older releases are listed for archival purposes only, and
+ they are no longer supported</em>.
+</p>\n";
+
+$active_majors = array_keys($RELEASES);
+$latest = max($active_majors);
+foreach($OLDRELEASES as $major => $a) {
+       echo '<a id="v' .$major. '"></a>';
+       if (!in_array($major, $active_majors)) {
+               echo "\n<br>\n";
+               echo "<p>Support for PHP $major has been <b style=\"color: 
red;\">discontinued</b> ";
+               echo "since <b>" . current($a)['date'] . '</b>.';
+               echo "Please consider upgrading to $latest.</p>\n";
+       }
+
+       $i = 0;
+       foreach($a as $ver => $release) {
+               $i++;
+               mk_rel(
+                       $major,
+                       $ver,
+                       $release["date"],
+                       $release["announcement"] ?? false,
+                       $release["source"] ?? [],
+                       $release["windows"] ?? [],
+                       $release["museum"] ?? ($i >= 3)
+               );
        }
 }
-krsort($eol);
-$eol = implode('', array_slice($eol, 0, 2));
 
-$SIDEBAR_DATA = '
-<div class="panel">
+site_footer(['sidebar' =>
+'<div class="panel">
   <a class="headline" href="/supported-versions.php">Supported Versions</a>
   <div class="body">
     Check the <a href="/supported-versions.php">supported versions</a> page for
@@ -97,7 +117,7 @@ $SIDEBAR_DATA = '
   <a class="headline" href="/eol.php">End of Life Dates</a>
   <div class="body">
     <p>The most recent branches to reach end of life status are:</p>
-    <ul>'.$eol.'</ul>
+    <ul>' . recentEOLBranchesHTML(2) . '</ul>
   </div>
 </div>
 
@@ -136,106 +156,87 @@ $SIDEBAR_DATA = '
     </ul>
   </div>
 </div>
-';
-
-site_header("Releases", array(
-    'current' => 'downloads',
-    'css' => '/styles/releases.css',
-));
-?>
+']);
+
+function recentEOLBranchesHTML(int $count): string {
+       $eol = array();
+       foreach (get_eol_branches() as $major => $branches) {
+               foreach ($branches as $branch => $detail) {
+                       $detail_date = $detail['date'];
+                       while (isset($eol[$detail_date])) $detail_date++;
+                       $eol[$detail_date] = sprintf('<li>%s: %s</li>', 
$branch, date('j M Y', $detail_date));
+               }
+       }
+       krsort($eol);
+       return implode('', array_slice($eol, 0, 2));
+}
 
-<h1>Unsupported Historical Releases</h1>
+function mk_rel(int $major,
+                               string $ver,
+                               string $date,
+                               /* bool | array */ $announcement,
+                               array $source,
+                               array $windows,
+                               bool $museum) {
+       printf("<a id=\"%s\"></a>\n<h2>%1\$s</h2>\n<ul>\n <li>Released: 
%s</li>\n <li>Announcement: ",
+              ($pos = strpos($ver, " ")) ? substr($ver, 0, $pos) : $ver,
+              $date);
 
-<p>
- We have collected all the official information and code available for
- past PHP releases. You can find more details on the current release
- on <a href="/downloads.php">our downloads page</a>. Please note that
- <em>older releases are listed for archival purposes only, and
- they are no longer supported</em>.
-</p>
-
-<?php
-function mk_rel($major, $ver, $date, $announcement, $source, $windows, 
$museum) {
-       printf("<a id=\"%s\"></a>\n<h2>%1\$s</h2>\n<ul>\n <li>Released: 
%s</li>\n <li>Announcement: ", ($pos = strpos($ver, " ")) ? substr($ver, 0, 
$pos) : $ver, $date);
        if ($announcement) {
                if (is_array($announcement)) {
                        foreach($announcement as $ann => $url) {
-                               echo '<a href="'.$url.'">' .$ann. '</a> ';
+                               echo "<a href=\"$url\">$ann</a> ";
                        }
                } else {
                        $url = str_replace(".", "_", $ver);
-                       echo '<a href="/releases/' .$url. '.php">English</a>';
+                       echo "<a href=\"/releases/{$url}.php\">English</a>";
                }
        } else {
                echo "None";
        }
        echo "</li>\n";
 
-       if ($major != 3) {
-               echo ' <li><a href="/ChangeLog-'.$major.'.php#' .$ver. 
'">ChangeLog</a></li>';
+       if ($major > 3) {
+               echo " <li><a 
href=\"/ChangeLog-{$major}.php#{$ver}\">ChangeLog</a></li>";
        }
        echo "\n <li>\n  Download:\n";
+       echo "<ul>\n";
 
        if (!$museum) {
-               echo "<ul>\n";
                foreach(array_merge($source, $windows) as $src) {
                        echo " <li>\n";
                        if (isset($src['filename'])) {
                                download_link($src["filename"], $src["name"]); 
echo "<br>\n";
-                               if (isset($src["md5"])) {
-                                       echo '<span class="md5sum">md5: ' 
.$src["md5"]. "</span>\n";
-                                       if (isset($src["sha256"])) {
-                                               echo '<br/>';
+                               $linebreak = '';
+                               foreach (['md5', 'sha256'] as $cs) {
+                                       if (isset($src[$cs])) {
+                                               echo $linebreak;
+                                               echo "<span 
class=\"{$cs}sum\">{$cs}: {$src[$cs]}</span>\n";
+                                               $linebreak = "<br/>";
                                        }
                                }
-                               if (isset($src["sha256"])) {
-                                       echo '<span class="sha256sum">sha256: ' 
.$src["sha256"]. "</span>\n";
-                               }
                        } else {
-                               echo '<a 
href="'.$src['link'].'">'.$src['name'].'</a>';
+                               echo "<a 
href=\"{$src['link']}\">{$src['name']}</a>";
                        }
                        echo " </li>\n";
                }
-               echo "</ul>\n";
-       } else {
+
+       } else { /* $museum */
                foreach($source as $src) {
                        if (!isset($src["filename"])) {
                                continue;
                        }
-                       printf('<a 
href="http://museum.php.net/php%d/%s";>%s</a>'."\n", $major, $src["filename"], 
$src["name"]);
+                       printf('<li><a 
href="http://museum.php.net/php%d/%s";>%s</a></li>',
+                              $major, $src["filename"], $src["name"]);
                }
                foreach($windows as $src) {
-                       printf('<a 
href="http://museum.php.net/%s/%s";>%s</a>'."\n", ($major == 5 ? "php5" : 
"win32"), $src["filename"], $src["name"]);
-               }
-       }
-
-       echo "  </li>\n";
-       echo " </ul>\n";
-}
-
-$latest = max(array_keys($OLDRELEASES));
-foreach($OLDRELEASES as $major => $a) {
-       echo '<a id="v' .$major. '"></a>';
-       if ($major != $latest) {
-               echo "\n<hr>\n";
-               if ($major == 4) {
-                       echo '<p>Support for PHP 4 has been <b style="color: 
red;">discontinued</b> since 2007-12-31. Please consider upgrading to PHP 
5.</p>'."\n";
+                       printf('<li><a 
href="http://museum.php.net/%s/%s";>%s</a></li>',
+                              ($major == 5 ? "php5" : "win32"), 
$src["filename"], $src["name"]);
                }
        }
 
-       $i = 0;
-       foreach($a as $ver => $release) {
-               $i++;
-               mk_rel(
-                       $major,
-                       $ver,
-                       $release["date"],
-                       isset($release["announcement"]) ? 
$release["announcement"] : false,
-                       $release["source"],
-                       (isset($release["windows"]) ? $release["windows"] : 
array()),
-                       isset($release["museum"]) ? $release["museum"] : ($i<3 
? false : true)
-               );
-       }
+       echo "</ul>\n";
+       echo "</li>\n";
+       echo "</ul>\n";
 }
 
-site_footer(array("sidebar" => $SIDEBAR_DATA));
-- 
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to