Пример #1
0
 /**
  * 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;
 }
Пример #2
0
	/**
	 * 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;
	}
Пример #3
0
 /**
  * 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;
 }