コード例 #1
0
 /**
  * Returns the installation directory for an extension depending on the installation scope
  *
  * @param string $extensionKey
  * @param string $pathType Extension installation scope (Local,Global,System)
  * @return string
  * @throws ExtensionManagerException
  */
 public function getExtensionDir($extensionKey, $pathType = 'Local')
 {
     $paths = Extension::returnInstallPaths();
     $path = $paths[$pathType];
     if (!$path || !is_dir($path) || !$extensionKey) {
         throw new ExtensionManagerException(sprintf($this->languageService->getLL('fileHandling.installPathWasNoDirectory'), $this->getRelativePath($path)), 1337280417);
     }
     return $path . $extensionKey . '/';
 }
コード例 #2
0
 /**
  * Removes the current extension of $type and creates the base folder for
  * the new one (which is going to be imported)
  *
  * @param string $extensionkey
  * @param string $pathType Extension installation scope (Local,Global,System)
  * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
  * @return string
  */
 protected function makeAndClearExtensionDir($extensionkey, $pathType = 'Local')
 {
     $paths = \TYPO3\CMS\Extensionmanager\Domain\Model\Extension::returnInstallPaths();
     $path = $paths[$pathType];
     if (!$path || !is_dir($path) || !$extensionkey) {
         throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(sprintf('ERROR: The extension install path "%s" was no directory!', $this->getRelativePath($path)), 1337280417);
     } else {
         $extDirPath = $path . $extensionkey . '/';
         if (is_dir($extDirPath)) {
             $this->removeDirectory($extDirPath);
         }
         $this->addDirectory($extDirPath);
     }
     return $extDirPath;
 }
コード例 #3
0
ファイル: ListUtility.php プロジェクト: Mr-Robota/TYPO3.CMS
 /**
  * Returns "System", "Global" or "Local" based on extension position in filesystem.
  *
  * @param PackageInterface $package
  * @return string
  */
 protected function getInstallTypeForPackage(PackageInterface $package)
 {
     foreach (\TYPO3\CMS\Extensionmanager\Domain\Model\Extension::returnInstallPaths() as $installType => $installPath) {
         if (GeneralUtility::isFirstPartOfStr($package->getPackagePath(), $installPath)) {
             return $installType;
         }
     }
     return '';
 }
コード例 #4
0
 /**
  * Sets the path to the repository in an extension
  * (Initialisation/Extensions) depending on the extension
  * that is currently installed
  *
  * @param string $extensionKey
  */
 protected function setInExtensionRepository($extensionKey)
 {
     $paths = Extension::returnInstallPaths();
     $path = $paths[$this->downloadUtility->getDownloadPath()];
     $localExtensionStorage = $path . $extensionKey . '/Initialisation/Extensions/';
     $this->dependencyUtility->setLocalExtensionStorage($localExtensionStorage);
 }
コード例 #5
0
 /**
  * Returns the installation directory for an extension depending on the installation scope
  *
  * @param string $extensionKey
  * @param string $pathType Extension installation scope (Local,Global,System)
  * @return string
  * @throws ExtensionManagerException
  */
 public function getExtensionDir($extensionKey, $pathType = 'Local')
 {
     $paths = Extension::returnInstallPaths();
     $path = $paths[$pathType];
     if (!$path || !is_dir($path) || !$extensionKey) {
         throw new ExtensionManagerException(sprintf('ERROR: The extension install path "%s" was no directory!', $this->getRelativePath($path)), 1337280417);
     }
     return $path . $extensionKey . '/';
 }
コード例 #6
0
 /**
  * Returns the list of available, but not necessarily loaded extensions
  *
  * @return array Array with two sub-arrays, list array (all extensions with info) and category index
  * @see getInstExtList()
  */
 public function getAvailableExtensions()
 {
     $extensions = array();
     $paths = \TYPO3\CMS\Extensionmanager\Domain\Model\Extension::returnInstallPaths();
     foreach ($paths as $installationType => $path) {
         try {
             if (is_dir($path)) {
                 $extList = \TYPO3\CMS\Core\Utility\GeneralUtility::get_dirs($path);
                 if (is_array($extList)) {
                     foreach ($extList as $extKey) {
                         $extensions[$extKey] = array('siteRelPath' => str_replace(PATH_site, '', $path . $extKey), 'type' => $installationType, 'key' => $extKey, 'ext_icon' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getExtensionIcon($path . $extKey . '/'));
                     }
                 }
             }
         } catch (\Exception $e) {
             \TYPO3\CMS\Core\Utility\GeneralUtility::sysLog($e->getMessage(), 'extensionmanager');
         }
     }
     return $extensions;
 }