/** * Install an extension from TER * * @param \TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension * @param string $downloadPath * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException */ public function installFromTerAction(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension, $downloadPath) { $result = FALSE; $errorMessage = ''; try { $this->downloadUtility->setDownloadPath($downloadPath); $this->prepareExtensionForImport($extension); $result = $this->managementService->resolveDependenciesAndInstall($extension); } catch (\TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException $e) { $errorMessage = $e->getMessage(); } $this->view->assign('result', $result)->assign('extension', $extension)->assign('errorMessage', $errorMessage); }
/** * Install an action from TER * Downloads the extension, resolves dependencies and installs it * * @param \TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension * @param string $downloadPath * @return array */ protected function installFromTer(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension, $downloadPath = 'Local') { $result = FALSE; $errorMessages = array(); try { $this->downloadUtility->setDownloadPath($downloadPath); if (($result = $this->managementService->installExtension($extension)) === FALSE) { $errorMessages = $this->managementService->getDependencyErrors(); } } catch (\TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException $e) { $errorMessages = array($extension->getExtensionKey() => array(array('code' => $e->getCode(), 'message' => $e->getMessage()))); } return array($result, $errorMessages); }
/** * Install an extension from TER * Downloads the extension, resolves dependencies and installs it * * @param \TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension * @param string $downloadPath * @return array */ protected function installFromTer(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension, $downloadPath = 'Local') { $result = false; $errorMessages = array(); try { $this->downloadUtility->setDownloadPath($downloadPath); $this->managementService->setAutomaticInstallationEnabled($this->configurationUtility->getCurrentConfiguration('extensionmanager')['automaticInstallation']['value']); if (($result = $this->managementService->installExtension($extension)) === false) { $errorMessages = $this->managementService->getDependencyErrors(); } } catch (\TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException $e) { $errorMessages = array($extension->getExtensionKey() => array(array('code' => $e->getCode(), 'message' => $e->getMessage()))); } return array($result, $errorMessages); }
/** * Install an extension from TER * * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException * @return void */ public function installFromTerAction() { $result = FALSE; $errorMessage = ''; try { if (!$this->request->hasArgument('extension')) { throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('Required argument extension not set.', 1334433342); } $extensionUid = $this->request->getArgument('extension'); if ($this->request->hasArgument('downloadPath')) { $this->downloadUtility->setDownloadPath($this->request->getArgument('downloadPath')); } /** @var $extension \TYPO3\CMS\Extensionmanager\Domain\Model\Extension */ $extension = $this->extensionRepository->findByUid(intval($extensionUid)); $this->prepareExtensionForImport($extension); $result = $this->managementService->resolveDependenciesAndInstall($extension); } catch (\TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException $e) { $errorMessage = $e->getMessage(); } $this->view->assign('result', $result)->assign('extension', $extension)->assign('errorMessage', $errorMessage); }