[TASK] Use Environment API in documentation extension 39/57239/3
authorChristian Kuhn <lolli@schwarzbu.ch>
Fri, 15 Jun 2018 16:19:03 +0000 (18:19 +0200)
committerBenni Mack <benni@typo3.org>
Fri, 15 Jun 2018 18:20:36 +0000 (20:20 +0200)
Resolves: #85282
Releases: master
Change-Id: If54517105217a1dfba424c46ec0edbe4c5775f15
Reviewed-on: https://review.typo3.org/57239
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
typo3/sysext/documentation/Classes/Controller/DocumentController.php
typo3/sysext/documentation/Classes/Domain/Repository/DocumentRepository.php
typo3/sysext/documentation/Classes/Utility/MiscUtility.php

index cd623ad..aaefe90 100644 (file)
@@ -17,6 +17,7 @@ namespace TYPO3\CMS\Documentation\Controller;
 use Psr\Http\Message\ResponseInterface;
 use Psr\Http\Message\ServerRequestInterface;
 use TYPO3\CMS\Backend\View\BackendTemplateView;
+use TYPO3\CMS\Core\Core\Environment;
 use TYPO3\CMS\Core\Http\JsonResponse;
 use TYPO3\CMS\Core\Localization\LanguageService;
 use TYPO3\CMS\Core\Messaging\FlashMessage;
@@ -170,7 +171,7 @@ class DocumentController extends ActionController
     {
         $basePath = 'typo3conf/Documentation/';
         $packageKey = $request->getParsedBody();
-        $isDirDeleted = GeneralUtility::rmdir(PATH_site . $basePath . $packageKey['documentationKey'], true);
+        $isDirDeleted = GeneralUtility::rmdir(Environment::getPublicPath() . '/' . $basePath . $packageKey['documentationKey'], true);
         if (!$isDirDeleted) {
             $this->addFlashMessage(LocalizationUtility::translate('deleteFailed', 'Documentation'), '', FlashMessage::ERROR);
         }
index 7fb20c6..b39429d 100644 (file)
@@ -14,6 +14,7 @@ namespace TYPO3\CMS\Documentation\Domain\Repository;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Core\Environment;
 use TYPO3\CMS\Core\Localization\Locales;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -142,7 +143,7 @@ class DocumentRepository
         $basePath = 'typo3conf/Documentation/';
 
         $documents = [];
-        $documentKeys = GeneralUtility::get_dirs(PATH_site . $basePath);
+        $documentKeys = GeneralUtility::get_dirs(Environment::getPublicPath() . '/' . $basePath);
         // Early return in case no document keys were found
         if (!is_array($documentKeys)) {
             return $documents;
@@ -157,7 +158,7 @@ class DocumentRepository
                 ->setIcon($icon);
 
             $languagePath = $basePath . $documentKey . '/';
-            $languages = GeneralUtility::get_dirs(PATH_site . $languagePath);
+            $languages = GeneralUtility::get_dirs(Environment::getPublicPath() . '/' . $languagePath);
             foreach ($languages as $language) {
                 $metadata = $this->getMetadata($documentKey, $language);
                 if (!empty($metadata['extensionKey'])) {
@@ -171,7 +172,7 @@ class DocumentRepository
                     ->setDescription($metadata['description']);
 
                 $formatPath = $languagePath . $language . '/';
-                $formats = GeneralUtility::get_dirs(PATH_site . $formatPath);
+                $formats = GeneralUtility::get_dirs(Environment::getPublicPath() . '/' . $formatPath);
                 foreach ($formats as $format) {
                     $documentFile = '';
                     switch ($format) {
@@ -179,7 +180,7 @@ class DocumentRepository
                             // Try to find a valid index file
                             $indexFiles = ['Index.html', 'index.html', 'index.htm'];
                             foreach ($indexFiles as $indexFile) {
-                                if (file_exists(PATH_site . $formatPath . $format . '/' . $indexFile)) {
+                                if (file_exists(Environment::getPublicPath() . '/' . $formatPath . $format . '/' . $indexFile)) {
                                     $documentFile = $indexFile;
                                     break;
                                 }
@@ -187,7 +188,7 @@ class DocumentRepository
                             break;
                         case 'pdf':
                             // Retrieve first PDF
-                            $files = GeneralUtility::getFilesInDir(PATH_site . $formatPath . $format, 'pdf');
+                            $files = GeneralUtility::getFilesInDir(Environment::getPublicPath() . '/' . $formatPath . $format, 'pdf');
                             if (is_array($files) && !empty($files)) {
                                 $documentFile = current($files);
                             }
@@ -265,7 +266,7 @@ class DocumentRepository
      */
     protected function getMetadata($documentKey, $language)
     {
-        $documentPath = PATH_site . 'typo3conf/Documentation/' . $documentKey . '/' . $language . '/';
+        $documentPath = Environment::getPublicPath() . '/typo3conf/Documentation/' . $documentKey . '/' . $language . '/';
         $metadata = [
             'title' => $documentKey,
             'description' => '',
index ddcccd4..ef3aceb 100644 (file)
@@ -14,6 +14,7 @@ namespace TYPO3\CMS\Documentation\Utility;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Core\Environment;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\PathUtility;
 
@@ -71,9 +72,9 @@ class MiscUtility
                 $icon = ExtensionManagementUtility::getExtensionIcon($extensionPath, true);
                 $icon = PathUtility::stripPathSitePrefix($icon);
             }
-        } elseif (is_file(PATH_site . $documentPath . 'icon.png')) {
+        } elseif (is_file(Environment::getPublicPath() . '/' . $documentPath . 'icon.png')) {
             $icon = $documentPath . 'icon.png';
-        } elseif (is_file(PATH_site . $documentPath . 'icon.gif')) {
+        } elseif (is_file(Environment::getPublicPath() . '/' . $documentPath . 'icon.gif')) {
             $icon = $documentPath . 'icon.gif';
         }