private function outputPackageVersions(Package $package) { $result = array(); foreach ($package->getVersions() as $version) { $result[] = array('version' => (string) $version->getVersion(), 'license' => $version->getLicense()); } return $result; }
private function generatePackage(Package $package) { $versions = array(); foreach ($package->getVersions() as $version) { $versions[] = $this->generateVersion($version); } return array('name' => $package->getFullname(), 'description' => $package->getDescription(), 'versions' => $versions); }
public function getVersions() { $result = parent::getVersions(); if (count($result) == 0) { $result = $this->pdo->findVersionsByPackageId($this->getId()); $this->setVersions($result); } return $result; }
protected function findClosestVersion(Package $package, $version) { $versions = $package->getVersions(); // Sort the versions from high to low: usort($versions, function ($lft, $rgt) { // TODO /* $semVer1 = $lft->getVersion(); $semVer2 = $rgt->getVersion(); return version_compare($semVer1, $semVer2, '<');*/ return 0; }); // Return the newest: if ($version === '*') { return $versions[0]; } }
public function removePackage(Package $package) { $sql = "DELETE FROM " . $this->getTablePrefix() . "package WHERE id = ?"; $stmt = $this->pdo->prepare($sql); $stmt->execute(array($package->getId())); }
private function parsePackageJson($json) { $package = new Package(); $package->setCreatedAt(new \DateTime()); $package->setUpdatedAt(new \DateTime()); if (isset($json->name)) { list($vendorName, $packageName) = explode('/', $json->name, 2); $vendor = new Vendor(); $vendor->setName($vendorName); $package->setName($packageName); $package->setVendor($vendor); $package->setFullname($json->name); } if (isset($json->description)) { $package->setDescription($json->description); } return $package; }