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
