浏览代码

various fixes

Olivier Massot 1 年之前
父节点
当前提交
1b37e6690c

+ 1 - 1
ot_core/Classes/Domain/Repository/DonorRepository.php

@@ -65,7 +65,7 @@ class DonorRepository extends BaseApiRepository
         $donor->setWebsite($record['website']);
         $donor->setWording($record['wording']);
         $donor->setDisplayedOn($record['displayedOn']);
-        $donor->setLogo($record['logo']);
+        $donor->setLogo($record['logo'] ?? null);
 
         return $donor;
     }

+ 4 - 1
ot_core/Classes/Middleware/Frontend/OtSiteResolver.php

@@ -8,6 +8,7 @@ use Opentalent\OtCore\Website\OtWebsiteRepository;
 use Psr\Http\Message\ResponseInterface;
 use Psr\Http\Message\ServerRequestInterface;
 use Psr\Http\Server\RequestHandlerInterface;
+use TYPO3\CMS\Core\Database\ConnectionPool;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Object\ObjectManager;
 use TYPO3\CMS\Core\Routing\SiteRouteResult;
@@ -30,9 +31,11 @@ class OtSiteResolver extends SiteResolver
     public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
     {
         $otWebsiteRepository = GeneralUtility::makeInstance(OtWebsiteRepository::class);
+        $connectionPool = GeneralUtility::makeInstance(ConnectionPool::class);
+        $otWebsiteRepository->injectConnectionPool($connectionPool);
 
         try {
-            $devMode = $_SERVER['TYPO3_CONTEXT'] == "Development";
+            $devMode = ($_SERVER['TYPO3_CONTEXT'] ?? '') == "Development";
 
             $otWebsite = $otWebsiteRepository->matchUriToWebsite($request->getUri(), $devMode);
             $site = $otWebsiteRepository->generateWebsiteConfiguration($otWebsite);

+ 1 - 1
ot_optimizer/Classes/Middleware/Frontend/OtPageResolver.php

@@ -44,7 +44,7 @@ class OtPageResolver extends \TYPO3\CMS\Frontend\Middleware\PageResolver
             return parent::process($request, $handler);
         }
 
-        $devMode = $_SERVER['TYPO3_CONTEXT'] == "Development";
+        $devMode = ($_SERVER['TYPO3_CONTEXT'] ?? '') == "Development";
 
         if (!$GLOBALS['TYPO3_REQUEST']) {
             return GeneralUtility::makeInstance(ErrorController::class)->pageNotFoundAction(

+ 17 - 23
ot_stats/ext_tables.php

@@ -1,8 +1,6 @@
 <?php
 
 use Opentalent\OtStats\Controller\OtStatsController;
-use Psr\Http\Message\ServerRequestInterface;
-use TYPO3\CMS\Core\Http\ApplicationType;
 
 defined('TYPO3') || die('Access denied.');
 
@@ -11,26 +9,22 @@ defined('TYPO3') || die('Access denied.');
 call_user_func(
     function()
     {
-        if (
-            ($GLOBALS['TYPO3_REQUEST'] ?? null) instanceof ServerRequestInterface &&
-            ApplicationType::fromRequest($GLOBALS['TYPO3_REQUEST'])->isBackend()) {
-            /**
-             * Registers the statistics backend module
-             */
-            \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
-                'OtStats',
-                'web', // Make module a submodule of 'web'
-                'otstats', // Submodule key
-                'after:OtTemplatingOtcustomizer', // Position
-                array(
-                    OtStatsController::class => 'index,askForActivationConfirmation,askForDeactivationConfirmation,enableStats,disableStats'
-                ),
-                array(
-                    'access' => 'user,group',
-                    'icon' => 'EXT:ot_stats/Resources/Public/Icons/pie-chart.png',
-                    'labels' => 'LLL:EXT:ot_stats/Resources/Private/Language/locallang_mod.xlf',
-                )
-            );
-        }
+        /**
+         * Registers the statistics backend module
+         */
+        \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
+            'OtStats',
+            'web', // Make module a submodule of 'web'
+            'otstats', // Submodule key
+            'after:OtTemplatingOtcustomizer', // Position
+            array(
+                OtStatsController::class => 'index,askForActivationConfirmation,askForDeactivationConfirmation,enableStats,disableStats'
+            ),
+            array(
+                'access' => 'user,group',
+                'icon' => 'EXT:ot_stats/Resources/Public/Icons/pie-chart.png',
+                'labels' => 'LLL:EXT:ot_stats/Resources/Private/Language/locallang_mod.xlf',
+            )
+        );
     }
 );

+ 17 - 4
ot_templating/Classes/Page/ErrorHandler.php

@@ -6,17 +6,16 @@ use Opentalent\OtCore\Website\OtPageRepository;
 use Opentalent\OtCore\Website\OtWebsiteRepository;
 use Psr\Http\Message\ResponseInterface;
 use Psr\Http\Message\ServerRequestInterface;
+use TYPO3\CMS\Core\Database\ConnectionPool;
+use TYPO3\CMS\Core\Domain\Repository\PageRepository;
 use TYPO3\CMS\Core\Error\PageErrorHandler\PageContentErrorHandler;
 use TYPO3\CMS\Core\Error\PageErrorHandler\PageErrorHandlerInterface;
 use TYPO3\CMS\Core\Http\HtmlResponse;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
-use TYPO3\CMS\Extbase\Mvc\Controller\ControllerContext;
 use TYPO3\CMS\Extbase\Mvc\Request;
-use TYPO3\CMS\Extbase\Mvc\View\ViewInterface;
-use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder;
-use TYPO3\CMS\Extbase\Object\ObjectManager;
 use TYPO3\CMS\Fluid\Core\Rendering\RenderingContext;
 use TYPO3\CMS\Fluid\View\TemplateView;
+use TYPO3Fluid\Fluid\View\ViewInterface;
 
 class ErrorHandler implements PageErrorHandlerInterface
 {
@@ -60,6 +59,20 @@ class ErrorHandler implements PageErrorHandlerInterface
         $this->errorHandlerConfiguration = $configuration;
 
         $this->view = GeneralUtility::makeInstance(TemplateView::class);
+
+        $this->otWebsiteRepository = GeneralUtility::makeInstance(OtWebsiteRepository::class);
+        $this->otPageRepository = GeneralUtility::makeInstance(OtPageRepository::class);
+
+        $connectionPool = GeneralUtility::makeInstance(ConnectionPool::class);
+        $this->otWebsiteRepository->injectConnectionPool($connectionPool);
+
+        $pageRepository = GeneralUtility::makeInstance(PageRepository::class);
+        $this->otPageRepository->injectPageRepository($pageRepository);
+        $this->otPageRepository->injectConnectionPool($connectionPool);
+
+        $this->request = GeneralUtility::makeInstance(Request::class);
+
+        $this->renderingContext = GeneralUtility::makeInstance(RenderingContext::class);
     }
 
     /**

+ 17 - 20
ot_templating/ext_tables.php

@@ -17,25 +17,22 @@ call_user_func(
             'Configuration/TypoScript',
             'Templating');
 
-        if (($GLOBALS['TYPO3_REQUEST'] ?? null) instanceof ServerRequestInterface &&
-            ApplicationType::fromRequest($GLOBALS['TYPO3_REQUEST'])->isBackend()) {
-            /**
-             * Registers the customizer backend module
-             */
-            \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
-                'OtTemplating',
-                'web', // Make module a submodule of 'web'
-                'otcustomizer', // Submodule key
-                'before:OtStatsOtstats', // Position
-                array(
-                    OtCustomizerController::class => 'index,selectTemplate,updatePreferences',
-                ),
-                array(
-                    'access' => 'user,group',
-                    'icon' => 'EXT:ot_templating/Resources/Public/Icons/Extension.png',
-                    'labels' => 'LLL:EXT:ot_templating/Resources/Private/Language/locallang_mod.xlf',
-                )
-            );
-        }
+        /**
+         * Registers the customizer backend module
+         */
+        \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
+            'OtTemplating',
+            'web', // Make module a submodule of 'web'
+            'otcustomizer', // Submodule key
+            'before:OtStatsOtstats', // Position
+            array(
+                OtCustomizerController::class => 'index,selectTemplate,updatePreferences',
+            ),
+            array(
+                'access' => 'user,group',
+                'icon' => 'EXT:ot_templating/Resources/Public/Icons/Extension.png',
+                'labels' => 'LLL:EXT:ot_templating/Resources/Private/Language/locallang_mod.xlf',
+            )
+        );
     }
 );