diff --git a/typo3/sysext/frontend/Classes/Page/PageRepository.php b/typo3/sysext/frontend/Classes/Page/PageRepository.php index 2504b5791d0229a1025a31eead266e452c5d4f8e..2d154e79d5c7fe008708d7be739e5fb026772f99 100644 --- a/typo3/sysext/frontend/Classes/Page/PageRepository.php +++ b/typo3/sysext/frontend/Classes/Page/PageRepository.php @@ -378,7 +378,7 @@ class PageRepository $origPage = reset($pagesInput); if (is_array($origPage)) { // Make sure that only fields which exist in the first incoming record are overlaid! - $fieldArr = array_intersect($fieldArr, array_keys($origPage)); + $fieldArr = array_intersect($fieldArr, array_keys($this->purgeComputedProperties($origPage))); } foreach ($pagesInput as $origPage) { if (is_array($origPage)) { @@ -1406,7 +1406,7 @@ class PageRepository } // Find pointed-to record. if ($moveID) { - $res = $this->getDatabaseConnection()->exec_SELECTquery(implode(',', array_keys($row)), $table, 'uid=' . (int)$moveID . $this->enableFields($table)); + $res = $this->getDatabaseConnection()->exec_SELECTquery(implode(',', array_keys($this->purgeComputedProperties($row))), $table, 'uid=' . (int)$moveID . $this->enableFields($table)); $origRow = $this->getDatabaseConnection()->sql_fetch_assoc($res); $this->getDatabaseConnection()->sql_free_result($res); if ($origRow) {