/**
  * 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);
 }
Exemplo n.º 3
0
 /**
  * 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);
 }
Exemplo n.º 4
0
 /**
  * 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);
 }