Explorar o código

various fixes

Olivier Massot hai 1 ano
pai
achega
246d30f880

+ 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;
     }

+ 6 - 2
ot_core/Classes/Middleware/Frontend/OtSiteResolver.php

@@ -2,11 +2,13 @@
 declare(strict_types = 1);
 namespace Opentalent\OtCore\Middleware\Frontend;
 
+use Opentalent\OtAdmin\Controller\SiteController;
 use Opentalent\OtCore\Exception\NoSuchWebsiteException;
 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;
@@ -28,10 +30,12 @@ class OtSiteResolver extends SiteResolver
      */
     public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
     {
-        $otWebsiteRepository = GeneralUtility::makeInstance(ObjectManager::class)->get(OtWebsiteRepository::class);
+        $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(

+ 19 - 19
ot_stats/ext_tables.php

@@ -1,6 +1,8 @@
 <?php
 
 use Opentalent\OtStats\Controller\OtStatsController;
+use Psr\Http\Message\ServerRequestInterface;
+use TYPO3\CMS\Core\Http\ApplicationType;
 
 defined('TYPO3') || die('Access denied.');
 
@@ -9,24 +11,22 @@ defined('TYPO3') || die('Access denied.');
 call_user_func(
     function()
     {
-        if (TYPO3_MODE === 'BE') {
-            /**
-             * 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',
+            )
+        );
     }
 );

+ 19 - 12
ot_templating/Classes/Page/ErrorHandler.php

@@ -6,6 +6,8 @@ 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;
@@ -46,7 +48,6 @@ class ErrorHandler implements PageErrorHandlerInterface
 
     private OtWebsiteRepository $otWebsiteRepository;
     private OtPageRepository $otPageRepository;
-    private ControllerContext $controllerContext;
     private RenderingContext $renderingContext;
     private Request $request;
 
@@ -79,14 +80,6 @@ class ErrorHandler implements PageErrorHandlerInterface
         $this->otPageRepository = $otPageRepository;
     }
 
-    /**
-     * @param ControllerContext $controllerContext
-     * @return void
-     */
-    public function injectControllerContext(ControllerContext $controllerContext) {
-        $this->controllerContext = $controllerContext;
-    }
-
     /**
      * @param RenderingContext $renderingContext
      * @return void
@@ -114,9 +107,23 @@ class ErrorHandler implements PageErrorHandlerInterface
         string $message,
         array $reasons = []
     ): ResponseInterface {
-        $this->request->setControllerExtensionName('ot_templating');
-        $this->controllerContext->setRequest($this->request);
-        $this->renderingContext->setControllerContext($this->controllerContext);
+
+        $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);
+
+//        $this->request->setControllerExtensionName('ot_templating');
+        $this->renderingContext->setRequest($this->request);
 
         $this->view->setRenderingContext($this->renderingContext);
         $this->view->setTemplateRootPaths([self::TEMPLATES_ROOT_PATHS]);

+ 19 - 19
ot_templating/ext_tables.php

@@ -1,6 +1,8 @@
 <?php
 
 use Opentalent\OtTemplating\Controller\OtCustomizerController;
+use Psr\Http\Message\ServerRequestInterface;
+use TYPO3\CMS\Core\Http\ApplicationType;
 
 defined('TYPO3') || die('Access denied.');
 
@@ -15,24 +17,22 @@ call_user_func(
             'Configuration/TypoScript',
             'Templating');
 
-        if (TYPO3_MODE === 'BE') {
-            /**
-             * 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',
+            )
+        );
     }
 );