From 22f39be7560d6b72f956d9c488002aae23bfdfae Mon Sep 17 00:00:00 2001
From: Frol <frol.frolenko.stratis@gmail.com>
Date: Tue, 31 May 2022 12:54:24 +0300
Subject: [PATCH] [BUGFIX] T#48206-prevent-crash-on-wrong-translation

---
 Classes/Backend/Hook/DatamapHook.php | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
 mode change 100644 => 100755 Classes/Backend/Hook/DatamapHook.php

diff --git a/Classes/Backend/Hook/DatamapHook.php b/Classes/Backend/Hook/DatamapHook.php
old mode 100644
new mode 100755
index 7c74e0f..3e5ef68
--- a/Classes/Backend/Hook/DatamapHook.php
+++ b/Classes/Backend/Hook/DatamapHook.php
@@ -480,9 +480,21 @@ class DatamapHook
     protected function getChildPages(int $pageId, int $languageId): array
     {
         if ($languageId > 0) {
+            $originalPageId = $pageId;
             $pageId = BackendUtility::getRecord('pages', $pageId, 'l10n_parent')['l10n_parent'] ?? 0;
             if (!$pageId) {
-                throw new RuntimeException(sprintf('No l10n_parent set for page "%d"', $pageId));
+                $pageId = $originalPageId;
+                if ($GLOBALS['BE_USER'] != null) {
+                    $GLOBALS['BE_USER']->writelog(
+                        4,
+                        2,
+                        1,
+                        -1,
+                        sprintf('Wrong translation for page %s - l10n_parent empty', $pageId),
+                        ['pageId' => $pageId, 'languageId' => $languageId],
+                        'pages'
+                    );
+                }
             }
         }
         /** @var QueryBuilder $queryBuilder */
-- 
2.25.1

