/** * Downloads the extension the user wants to install * This is separated from downloading the dependencies * as an extension is able to provide it's own dependencies * * @param Extension $extension * @return void */ public function downloadMainExtension(Extension $extension) { // The extension object has a uid if the extension is not present in the system // or an update of a present extension is triggered. if ($extension->getUid()) { $this->downloadUtility->download($extension); } }
/** * Download dependencies * expects an array of extension objects to download * * @param array<Tx_Extensionmanager_Domain_Model_Extension> $downloadQueue * @return array */ protected function downloadDependencies(array $downloadQueue) { $resolvedDependencies = array(); foreach ($downloadQueue as $extensionToDownload) { $this->downloadUtility->download($extensionToDownload); $this->downloadQueue->removeExtensionFromQueue($extensionToDownload); $resolvedDependencies['downloaded'][$extensionToDownload->getExtensionKey()] = $extensionToDownload; $this->markExtensionForInstallation($extensionToDownload->getExtensionKey()); } return $resolvedDependencies; }