예제 #1
0
 /**
  * @param array $extensionEntry
  * @return string
  */
 protected function getExtensionIconWithPath($extensionEntry)
 {
     $extensionIcon = $GLOBALS['TYPO3_LOADED_EXT'][$extensionEntry['key']]['ext_icon'];
     if (empty($extensionIcon)) {
         $extensionIcon = \TYPO3\CMS\Core\Extension\ExtensionManager::getExtensionIcon(PATH_site . $extensionEntry['siteRelPath'] . '/');
     }
     if (empty($extensionIcon)) {
         $extensionIcon = '/typo3/clear.gif';
     } else {
         $extensionIcon = '../' . $extensionEntry['siteRelPath'] . '/' . $extensionIcon;
     }
     return $extensionIcon;
 }
예제 #2
0
 /**
  * Returns the list of available (installed) 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\Extension\ExtensionManager::getExtensionIcon($path . $extKey . '/'));
                     }
                 }
             }
         } catch (\Exception $e) {
             \TYPO3\CMS\Core\Utility\GeneralUtility::sysLog($e->getMessage(), 'extensionmanager');
         }
     }
     return $extensions;
 }