PhpBrew\ReleaseList::buildReleaseListFromOfficialSite PHP Method

buildReleaseListFromOfficialSite() public static method

public static buildReleaseListFromOfficialSite ( OptionResult $options = null )
$options GetOptionKit\OptionResult
    public static function buildReleaseListFromOfficialSite(OptionResult $options = null)
    {
        $obj = array_merge(self::downloadReleaseListFromOfficialSite(7, $options), self::downloadReleaseListFromOfficialSite(5, $options));
        $releaseVersions = array();
        foreach ($obj as $k => $v) {
            if (preg_match('/^(\\d+)\\.(\\d+)\\./', $k, $matches)) {
                list($o, $major, $minor) = $matches;
                $release = array('version' => $k);
                if (isset($v['announcement']['English'])) {
                    $release['announcement'] = 'http://php.net' . $v['announcement']['English'];
                }
                if (isset($v['date'])) {
                    $release['date'] = $v['date'];
                }
                foreach ($v['source'] as $source) {
                    if (isset($source['filename']) && preg_match('/\\.tar\\.bz2$/', $source['filename'])) {
                        $release['filename'] = $source['filename'];
                        $release['name'] = $source['name'];
                        if (isset($source['md5'])) {
                            $release['md5'] = $source['md5'];
                        }
                        if (isset($source['date'])) {
                            $release['date'] = $source['date'];
                        }
                    }
                }
                $release['museum'] = isset($v['museum']) && $v['museum'];
                $releaseVersions["{$major}.{$minor}"][$k] = $release;
            }
        }
        foreach ($releaseVersions as $key => &$versions) {
            uksort($releaseVersions[$key], function ($a, $b) {
                return version_compare($b, $a);
            });
        }
        return $releaseVersions;
    }