コード例 #1
0
 /**
  * Extracts a given t3x file and installs the extension
  *
  * @param string $file Path to uploaded file
  * @param bool $overwrite Overwrite existing extension if TRUE
  * @throws ExtensionManagerException
  * @throws DependencyConfigurationNotFoundException
  * @return array
  */
 protected function getExtensionFromT3xFile($file, $overwrite = false)
 {
     $fileContent = file_get_contents($file);
     if (!$fileContent) {
         throw new ExtensionManagerException('File had no or wrong content.', 1342859339);
     }
     $extensionData = $this->terUtility->decodeExchangeData($fileContent);
     if (empty($extensionData['extKey'])) {
         throw new ExtensionManagerException('Decoding the file went wrong. No extension key found', 1342864309);
     }
     $isExtensionAvailable = $this->managementService->isAvailable($extensionData['extKey']);
     if (!$overwrite && $isExtensionAvailable) {
         throw new ExtensionManagerException($this->translate('extensionList.overwritingDisabled'), 1342864310);
     }
     if ($isExtensionAvailable) {
         $this->copyExtensionFolderToTempFolder($extensionData['extKey']);
     }
     $this->removeFromOriginalPath = true;
     $extension = $this->extensionRepository->findOneByExtensionKeyAndVersion($extensionData['extKey'], $extensionData['EM_CONF']['version']);
     $this->fileHandlingUtility->unpackExtensionFromExtensionDataArray($extensionData, $extension);
     if (empty($extension) && empty($extensionData['EM_CONF']['constraints']) && !isset($extensionData['FILES']['ext_emconf.php']) && !isset($extensionData['FILES']['/ext_emconf.php'])) {
         throw new DependencyConfigurationNotFoundException('Extension cannot be installed automatically because no dependencies could be found! Please check dependencies manually (on typo3.org) before installing the extension.', 1439587168);
     }
     return $extensionData;
 }
コード例 #2
0
 /**
  * Extracts a given t3x file and installs the extension
  *
  * @param string $file
  * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
  * @return array
  */
 protected function getExtensionFromT3xFile($file)
 {
     $fileContent = \TYPO3\CMS\Core\Utility\GeneralUtility::getUrl($file);
     if (!$fileContent) {
         throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('File had no or wrong content.', 1342859339);
     }
     $extensionData = $this->terUtility->decodeExchangeData($fileContent);
     if ($extensionData['extKey']) {
         $this->fileHandlingUtility->unpackExtensionFromExtensionDataArray($extensionData);
         $this->installUtility->install($extensionData['extKey']);
     } else {
         throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('Decoding the file went wrong. No extension key found', 1342864309);
     }
     return $extensionData;
 }
コード例 #3
0
 /**
  * Extracts a given t3x file and installs the extension
  *
  * @param string $file Path to uploaded file
  * @param boolean $overwrite Overwrite existing extension if TRUE
  * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
  * @return array
  */
 protected function getExtensionFromT3xFile($file, $overwrite = FALSE)
 {
     $fileContent = \TYPO3\CMS\Core\Utility\GeneralUtility::getUrl($file);
     if (!$fileContent) {
         throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('File had no or wrong content.', 1342859339);
     }
     $extensionData = $this->terUtility->decodeExchangeData($fileContent);
     if (empty($extensionData['extKey'])) {
         throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('Decoding the file went wrong. No extension key found', 1342864309);
     }
     if (!$overwrite && $this->installUtility->isAvailable($extensionData['extKey'])) {
         throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException($this->translate('extensionList.overwritingDisabled'), 1342864310);
     }
     $this->fileHandlingUtility->unpackExtensionFromExtensionDataArray($extensionData);
     $this->installUtility->install($extensionData['extKey']);
     return $extensionData;
 }
 /**
  * Extracts a given t3x file and installs the extension
  *
  * @param string $file Path to uploaded file
  * @param boolean $overwrite Overwrite existing extension if TRUE
  * @throws ExtensionManagerException
  * @return array
  */
 protected function getExtensionFromT3xFile($file, $overwrite = FALSE)
 {
     $fileContent = GeneralUtility::getUrl($file);
     if (!$fileContent) {
         throw new ExtensionManagerException('File had no or wrong content.', 1342859339);
     }
     $extensionData = $this->terUtility->decodeExchangeData($fileContent);
     if (empty($extensionData['extKey'])) {
         throw new ExtensionManagerException('Decoding the file went wrong. No extension key found', 1342864309);
     }
     $isExtensionAvailable = $this->managementService->isAvailable($extensionData['extKey']);
     if (!$overwrite && $isExtensionAvailable) {
         throw new ExtensionManagerException($this->translate('extensionList.overwritingDisabled'), 1342864310);
     }
     if ($isExtensionAvailable) {
         $this->copyExtensionFolderToTempFolder($extensionData['extKey']);
     }
     $this->removeFromOriginalPath = TRUE;
     $this->fileHandlingUtility->unpackExtensionFromExtensionDataArray($extensionData);
     return $extensionData;
 }