Knp\Bundle\KnpBundlesBundle\Github\Repo::updateVersionsHistory PHP Method

updateVersionsHistory() public method

public updateVersionsHistory ( Bundle $bundle )
$bundle Knp\Bundle\KnpBundlesBundle\Entity\Bundle
    public function updateVersionsHistory(Bundle $bundle)
    {
        // no composer file
        if (null === ($composerName = $bundle->getComposerName())) {
            return false;
        }
        // query packagist json
        $packagistArray = $this->github->getHttpClient()->get($composerName, array(), array('url' => 'http://packagist.org/packages/:path.json'));
        // if json not encoded
        if (!is_array($packagistArray) || !isset($packagistArray['package'])) {
            return false;
        }
        $versionsHistory = array();
        $versionsArray = $packagistArray['package']['versions'];
        foreach ($versionsArray as $version => $value) {
            // Skip `dev` packages, add only `dev-master`
            if (0 === strpos($version, 'dev-') && 'dev-master' != $version) {
                continue;
            }
            foreach (array('symfony/framework-bundle', 'symfony/symfony') as $requirement) {
                if (isset($value['require'][$requirement])) {
                    $versionsHistory['symfony'][$version] = $value['require'][$requirement];
                    // array('master' => '>=2.0,<2.2-dev')
                }
            }
            // store all bundle dependencies
            $versionsHistory['dependencies'][$version] = array('name' => $value['name'], 'extra' => isset($value['extra']) ? $value['require-dev'] : '', 'require' => $value['require'], 'require-dev' => isset($value['require-dev']) ? $value['require-dev'] : '', 'suggest' => isset($value['suggest']) ? $value['suggest'] : '');
        }
        if (!empty($versionsHistory)) {
            $bundle->setVersionsHistory($versionsHistory);
        }
        return true;
    }