Esempio n. 1
0
 /**
  * Get all of the new versions available for a given package
  *
  * Unlike getAvailableUpgrades(), this gets the full dataset
  *
  * @param array $package
  * @return array
  */
 protected function getNewVersions(array $package) : array
 {
     $current = $this->db->cell('SELECT versionid FROM airship_package_versions WHERE package = ? AND version = ?', $package['packageid'], $package['current_version']);
     if (!$current) {
         $current = 0;
     }
     $available = $this->db->run('SELECT * FROM airship_package_versions WHERE package = ? AND versionid > ?', $package['packageid'], $current);
     $version = new Version($package['current_version'] ?? '0.0.0');
     $results = [];
     foreach ($available as $ver) {
         if ($version->isUpgrade($ver['version'])) {
             $results[] = $ver;
         }
     }
     return $results;
 }