Commit:    6c8e22537b5111f7ed98b09addf10ce6fed0035d
Author:    Andi Rückauer <[email protected]>         Wed, 2 Oct 2019 
12:06:45 +0200
Committer: Christoph M. Becker <[email protected]>      Fri, 4 Oct 2019 
16:38:00 +0200
Parents:   9e24d21c09f9483efde80dc7ebfdeb32fd803b00
Branches:  master

Link:       
http://git.php.net/?p=web/windows.git;a=commitdiff;h=6c8e22537b5111f7ed98b09addf10ce6fed0035d

Log:
Add functionality to generate releases.json

Changed paths:
  M  include/listing.php


Diff:
diff --git a/include/listing.php b/include/listing.php
index 5382fdc..3df00d1 100644
--- a/include/listing.php
+++ b/include/listing.php
@@ -42,6 +42,36 @@ function processSha256Sums($path)
 }
 
 
+function generate_releases_json(array $releases)
+{
+       /*
+       * Change date format to ISO 8601
+       * Altering date format in generate_listing() could break third-party 
scrapers
+       */
+       foreach ($releases as &$release) {
+               foreach ($release as &$flavour) {
+                       if (! is_array($flavour) || ! isset($flavour['mtime'])) 
{
+                               continue;
+                       }
+
+                       try {
+                               $date = new 
DateTimeImmutable($flavour['mtime']);
+                               $flavour['mtime'] = $date->format('c');
+                       } catch (Exception $exception) {
+                               return false;
+                       }
+               }
+               unset($flavour);
+       }
+       unset($release);
+
+       return 0 !== file_put_contents(
+               RELEASES_DIR . 'releases.json',
+               json_encode($releases, JSON_PRETTY_PRINT)
+       );
+}
+
+
 function parse_file_name($v)
 {
        $v = str_replace(array('-Win32', '.zip'), array('', ''), $v);
@@ -215,6 +245,7 @@ function generate_listing($path, $nmode) {
        if (MODE_RELEASE === $nmode) {
                generate_web_config($releases);
                generate_latest_releases_html($releases);
+               generate_releases_json($releases);
        }
 
        flock($lck, LOCK_UN);


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

Reply via email to