Jelajahi Sumber

fix InvalidFieldNameException

Olivier Massot 5 tahun lalu
induk
melakukan
3f9e00fb83

+ 0 - 0
ot_templating/Configuration/TCA/Overrides/Readme.md → ot_core/Configuration/TCA/Overrides/Readme.md


+ 0 - 0
ot_templating/Configuration/TCA/Overrides/pages.php → ot_core/Configuration/TCA/Overrides/pages.php


+ 0 - 0
ot_templating/Configuration/TCA/Readme.md → ot_core/Configuration/TCA/Readme.md


+ 4 - 2
ot_stats/Classes/Settings/StatsSettingsRepository.php

@@ -21,8 +21,6 @@ class StatsSettingsRepository extends PageRepository
      * @return int|null
      */
     public function getMatomoSiteId(int $rootPageUid) {
-        $rootPageUid = $this->getPage($rootPageUid);
-
         // Set up a connection to the typo3 DB
         $cnnPool = GeneralUtility::makeInstance(ConnectionPool::class);
         $queryBuilder = $cnnPool->getQueryBuilderForTable('pages');
@@ -30,8 +28,12 @@ class StatsSettingsRepository extends PageRepository
                         ->select('tx_opentalent_matomo_id')
                         ->from('pages')
                         ->where($queryBuilder->expr()->eq('uid', $rootPageUid))
+                        ->andWhere($queryBuilder->expr()->eq('is_siteroot', 1))
                         ->execute()
                         ->fetchColumn(0);
+        if ($matomoId === false) {
+            throw new \RuntimeException('No existing root page with uid ' . $rootPageUid);
+        }
         return $matomoId;
     }
 }