/** * @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; }
/** * 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; }