<div class='col-md-6'>
	<h3>{{$desc}}</h3>
	<table class="table table-hover">
	<thead>
		<tr>
			<th style="width:75%">Package</th>
			<th style="width:25%">Version</th>
		</tr>
	</thead>
	<tbody>
	@foreach($jsonComposer[$key] as $package => $version)
		<?php 
$stability = Composer\Package\Version\VersionParser::parseStability($version);
if ($stability == 'stable') {
    $class = 'btn-success';
} else {
    $class = 'btn-warning';
}
?>
		<tr>
			<td><code>{{{$package}}}</code></td>
			<td><span class="btn btn-sm {{{$class}}} monospace">{{{$version}}}</span></td>
		</tr>
	@endforeach
	</tbody>
	</table>
</div>
<?php

use GuzzleHttp\Subscriber\Cache\CacheSubscriber;
require __DIR__ . '/vendor/autoload.php';
$results = array();
$versionFactory = new \Drupal\ParseComposer\VersionFactory();
$versionParser = new \Composer\Package\Version\VersionParser();
$client = new \GuzzleHttp\Client();
$storage = new \GuzzleHttp\Subscriber\Cache\CacheStorage(new \Doctrine\Common\Cache\FilesystemCache(__DIR__ . '/cache'));
CacheSubscriber::attach($client, ['storage' => $storage]);
$data = json_decode($client->get('https://www.drupal.org/api-d7/node.json?type=project_release&taxonomy_vocabulary_7=100&field_release_build_type=static')->getBody());
$projects = [];
$conflict = [];
class UrlHelper
{
    public static function prepareUrl($url)
    {
        return str_replace('https://www.drupal.org/api-d7/node', 'https://www.drupal.org/api-d7/node.json', $url);
    }
}
while (isset($data) && isset($data->list)) {
    $results = array_merge($results, $data->list);
    if (isset($data->next)) {
        $data = json_decode($client->get(UrlHelper::prepareUrl($data->next))->getBody());
    } else {
        $data = NULL;
    }
}
foreach ($results as $result) {
    $nid = $result->field_release_project->id;
    $core = (int) substr($result->field_release_version, 0, 1);
示例#3
0
 /**
  * Retrieve the latest available stable version for a package
  *
  * @param string $package
  * @return string
  */
 private function getLatestNonDevVersion($package)
 {
     $versionParser = new \Composer\Package\Version\VersionParser();
     foreach ($this->getPackageAvailableVersions($package) as $version) {
         if ($versionParser->parseStability($version) != 'dev') {
             return $version;
         }
     }
     return '';
 }