public function persistVersion(Version $version) { $data = array($version->getPackage()->getId(), $version->getVersion(), $version->getReferenceHash(), $version->getReferenceName(), $version->getLicense(), $version->getCreatedAt()->format('Y-m-d H:i:s'), $version->getUpdatedAt()->format('Y-m-d H:i:s')); if ($version->getId()) { $data[] = $version->getId(); $sql = "UPDATE " . $this->getTablePrefix() . "version\n SET\n package_id = ?,\n version = ?,\n reference_hash = ?,\n reference_name = ?,\n license = ?,\n created_at = ?,\n updated_at = ?\n WHERE\n id = ?"; $stmt = $this->pdo->prepare($sql); $stmt->execute($data); } else { $sql = "INSERT INTO " . $this->getTablePrefix() . "version\n (package_id, version, reference_hash, reference_name, license, created_at, updated_at)\n VALUES\n (?, ?, ?, ?, ?, ?, ?)"; $stmt = $this->pdo->prepare($sql); $stmt->execute($data); $version->setId((int) $this->pdo->lastInsertId()); } $this->persistDependencies($version, $version->getDependencies()); }
private function generateVersion(Version $version) { return array('createdAt' => array('date' => $version->getCreatedAt()->format('Y-m-d H:i:s'), 'timezone' => $version->getCreatedAt()->getTimezone()->getName()), 'reference' => $version->getReference(), 'referenceType' => $version->getReferenceType(), 'referenceUrl' => $version->getReferenceUrl(), 'license' => $version->getLicense(), 'updatedAt' => array('date' => $version->getUpdatedAt()->format('Y-m-d H:i:s'), 'timezone' => $version->getUpdatedAt()->getTimezone()->getName()), 'version' => $version->getVersion()); }