/** * Returns the list of local extensions. * * @return array */ public function getLocalExtensions() { $documents = array(); foreach ($GLOBALS['TYPO3_LOADED_EXT'] as $extensionKey => $extensionData) { $absoluteExtensionPath = GeneralUtility::getFileAbsFileName($extensionData['siteRelPath']); if (is_file($absoluteExtensionPath . 'README.rst') || is_file($absoluteExtensionPath . 'Documentation' . DIRECTORY_SEPARATOR . 'Index.rst')) { $metadata = \TYPO3\CMS\Documentation\Utility\MiscUtility::getExtensionMetaData($extensionKey); if ($extensionData['type'] === 'S') { $version = TYPO3_branch; } else { $version = substr($metadata['release'], -4) === '-dev' ? 'latest' : $metadata['release']; } $documentKey = 'typo3cms.extensions.' . $extensionKey; $documents[] = array('title' => $metadata['title'], 'icon' => \TYPO3\CMS\Documentation\Utility\MiscUtility::getIcon($documentKey), 'type' => 'Extension', 'key' => $documentKey, 'shortcut' => $extensionKey, 'url' => 'http://docs.typo3.org/typo3cms/extensions/' . $extensionKey . '/', 'version' => $version); } } return $documents; }
/** * Retrieves OpenOffice documents (manual.sxw). * * @return array */ protected function findOpenOfficeDocuments() { $documents = array(); $language = 'default'; foreach ($GLOBALS['TYPO3_LOADED_EXT'] as $extensionKey => $extensionData) { $path = $extensionData['siteRelPath'] . 'doc/'; if (is_file(PATH_site . $path . 'manual.sxw')) { $documentKey = 'typo3cms.extensions.' . $extensionKey; $icon = \TYPO3\CMS\Documentation\Utility\MiscUtility::getIcon($documentKey); /** @var \TYPO3\CMS\Documentation\Domain\Model\Document $document */ $document = $this->objectManager->get(\TYPO3\CMS\Documentation\Domain\Model\Document::class) ->setPackageKey($documentKey) ->setExtensionKey($extensionKey) ->setIcon($icon); $metadata = $this->getMetadata($documentKey, $language); /** @var \TYPO3\CMS\Documentation\Domain\Model\DocumentTranslation $documentTranslation */ $documentTranslation = $this->objectManager->get(\TYPO3\CMS\Documentation\Domain\Model\DocumentTranslation::class) ->setLanguage($language) ->setTitle($metadata['title']) ->setDescription($metadata['description']); /** @var \TYPO3\CMS\Documentation\Domain\Model\DocumentFormat $documentFormat */ $documentFormat = $this->objectManager->get(\TYPO3\CMS\Documentation\Domain\Model\DocumentFormat::class) ->setFormat('sxw') ->setPath($path . 'manual.sxw'); $documentTranslation->addFormat($documentFormat); $document->addTranslation($documentTranslation); $documents[$documentKey] = $document; } } return $documents; }
/** * Retrieves OpenOffice documents (manual.sxw). * * @return array */ protected function findOpenOfficeDocuments() { $documents = []; $language = 'default'; foreach (array_keys($GLOBALS['TYPO3_LOADED_EXT']) as $extensionKey) { $path = GeneralUtility::getFileAbsFileName('EXT:' . $extensionKey . '/doc/'); if (is_file($path . 'manual.sxw')) { $documentKey = 'typo3cms.extensions.' . $extensionKey; $icon = MiscUtility::getIcon($documentKey); /** @var \TYPO3\CMS\Documentation\Domain\Model\Document $document */ $document = $this->objectManager->get(Document::class)->setPackageKey($documentKey)->setExtensionKey($extensionKey)->setIcon($icon); $metadata = $this->getMetadata($documentKey, $language); /** @var \TYPO3\CMS\Documentation\Domain\Model\DocumentTranslation $documentTranslation */ $documentTranslation = $this->objectManager->get(DocumentTranslation::class)->setLanguage($language)->setTitle($metadata['title'])->setDescription($metadata['description']); /** @var \TYPO3\CMS\Documentation\Domain\Model\DocumentFormat $documentFormat */ $documentFormat = $this->objectManager->get(DocumentFormat::class)->setFormat('sxw')->setPath(PathUtility::stripPathSitePrefix($path . 'manual.sxw')); $documentTranslation->addFormat($documentFormat); $document->addTranslation($documentTranslation); $documents[$documentKey] = $document; } } return $documents; }