From 1b95bb2a85d02ffddb2b1527c4f47926e8c756af Mon Sep 17 00:00:00 2001 From: Florian Rival <florian.typo3@oktopuce.fr> Date: Fri, 10 Dec 2021 12:23:09 +0100 Subject: [PATCH] [BUGFIX] Fix undefined key warning in EXT:backend/history with PHP8 This fix a warning when you click on a Rollback (preview) button in history for pages or content elements. Resolves: #96325 Releases: main, 11.5 Change-Id: Iec42cd04289a4c567840651686808b9ef43e1656 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72615 Tested-by: core-ci <typo3@b13.com> Tested-by: Benni Mack <benni@typo3.org> Tested-by: Oliver Bartsch <bo@cedev.de> Reviewed-by: Benni Mack <benni@typo3.org> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by: Oliver Bartsch <bo@cedev.de> --- .../Controller/ContentElement/ElementHistoryController.php | 6 +++--- typo3/sysext/backend/Classes/History/RecordHistory.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/backend/Classes/Controller/ContentElement/ElementHistoryController.php b/typo3/sysext/backend/Classes/Controller/ContentElement/ElementHistoryController.php index 35757960f72f..a7fd1f4e38c4 100644 --- a/typo3/sysext/backend/Classes/Controller/ContentElement/ElementHistoryController.php +++ b/typo3/sysext/backend/Classes/Controller/ContentElement/ElementHistoryController.php @@ -266,7 +266,7 @@ class ElementHistoryController } // Build up temporary diff array // turn around diff because it should be a "rollback preview" - if ($diff['newData'][$key]) { + if ($diff['newData'][$key] ?? false) { $tmpArr = [ 'newRecord' => $diff['oldData'][$key], 'oldRecord' => $diff['newData'][$key], @@ -373,8 +373,8 @@ class ElementHistoryController if (is_array($GLOBALS['TCA'][$table]['columns'][$fN] ?? null) && ($GLOBALS['TCA'][$table]['columns'][$fN]['config']['type'] ?? '') !== 'passthrough') { // Create diff-result: $diffres = $diffUtility->makeDiffDisplay( - BackendUtility::getProcessedValue($table, $fN, $entry['oldRecord'][$fN], 0, true), - BackendUtility::getProcessedValue($table, $fN, $entry['newRecord'][$fN], 0, true) + BackendUtility::getProcessedValue($table, $fN, ($entry['oldRecord'][$fN] ?? ''), 0, true), + BackendUtility::getProcessedValue($table, $fN, ($entry['newRecord'][$fN] ?? ''), 0, true) ); $rollbackUrl = ''; if ($rollbackUid) { diff --git a/typo3/sysext/backend/Classes/History/RecordHistory.php b/typo3/sysext/backend/Classes/History/RecordHistory.php index cd8abae4a5ef..bba9f61f3497 100644 --- a/typo3/sysext/backend/Classes/History/RecordHistory.php +++ b/typo3/sysext/backend/Classes/History/RecordHistory.php @@ -173,7 +173,7 @@ class RecordHistory if (!isset($insertsDeletes[$field])) { $insertsDeletes[$field] = 0; } - $value['action'] === 'insert' ? $insertsDeletes[$field]++ : $insertsDeletes[$field]--; + ($value['action'] ?? '') === 'insert' ? $insertsDeletes[$field]++ : $insertsDeletes[$field]--; // unset not needed fields if ($insertsDeletes[$field] === 0) { unset($insertsDeletes[$field]); -- GitLab