Ejemplo n.º 1
0
 /**
  * Show package grid json.
  */
 public function showJson()
 {
     $entries = array();
     foreach (Curry_PackageManager::getPackages() as $packageInfo) {
         $packageInfo = array_shift($packageInfo);
         $installedPackage = PackageQuery::create()->findPk($packageInfo['name']);
         $hasUpgrade = $installedPackage ? version_compare($installedPackage->getVersion(), $packageInfo['version']) < 0 : false;
         $icon = '<img src="shared/images/icons/' . ($hasUpgrade ? 'package_go' : 'package') . '.png" alt="" title="' . ($hasUpgrade ? 'You can upgrade this package' : 'This package is up to date') . '" /> ';
         $entries[] = array('id' => $packageInfo['name'], 'cell' => array($icon, $packageInfo['name'], $installedPackage ? $installedPackage->getVersion() : 'Not installed', $packageInfo['version'], isset($packageInfo['filesize']) ? Curry_Util::humanReadableBytes($packageInfo['filesize']) : 'n/a', $packageInfo['summary']));
     }
     $this->returnJson(array('page' => 1, 'total' => count($entries), 'rows' => $entries));
 }