Skip to content
Snippets Groups Projects
Commit e78f1e74 authored by Tobias Gaertner's avatar Tobias Gaertner Committed by Christian Kuhn
Browse files

[BUGFIX] Prevent undefined array key in ext lowlevel

There are several checks related to array key
'_CURRENT_VERSION' on versioned records. Since
PHP 8 those checks are not safe anymore and
can result in errors.

Releases: main, 11.5
Resolves: #100336
Change-Id: I8b5a956a987a3d8c9690e824e0fccfd6570e0069
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/78306


Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
parent 83ff9d32
Branches
Tags
No related merge requests found
...@@ -214,7 +214,7 @@ class DeletedRecordsCommand extends Command ...@@ -214,7 +214,7 @@ class DeletedRecordsCommand extends Command
if (is_array($versions)) { if (is_array($versions)) {
foreach ($versions as $verRec) { foreach ($versions as $verRec) {
// Mark as deleted // Mark as deleted
if (!$verRec['_CURRENT_VERSION'] && $verRec[$deletedField]) { if (!($verRec['_CURRENT_VERSION'] ?? false) && $verRec[$deletedField]) {
$deletedRecords[$tableName][$verRec['uid']] = $verRec['uid']; $deletedRecords[$tableName][$verRec['uid']] = $verRec['uid'];
} }
} }
...@@ -250,7 +250,7 @@ class DeletedRecordsCommand extends Command ...@@ -250,7 +250,7 @@ class DeletedRecordsCommand extends Command
) ?: []; ) ?: [];
if (is_array($versions)) { if (is_array($versions)) {
foreach ($versions as $verRec) { foreach ($versions as $verRec) {
if (!$verRec['_CURRENT_VERSION']) { if (!($verRec['_CURRENT_VERSION'] ?? false)) {
$deletedRecords = $this->findAllFlaggedRecordsInPage($verRec['uid'], $depth, $deletedRecords); $deletedRecords = $this->findAllFlaggedRecordsInPage($verRec['uid'], $depth, $deletedRecords);
} }
} }
......
...@@ -191,7 +191,7 @@ Manual repair suggestions: ...@@ -191,7 +191,7 @@ Manual repair suggestions:
$versions = BackendUtility::selectVersionsOfRecord($tableName, $rowSub['uid'], 'uid,t3ver_wsid', null, true); $versions = BackendUtility::selectVersionsOfRecord($tableName, $rowSub['uid'], 'uid,t3ver_wsid', null, true);
if (is_array($versions)) { if (is_array($versions)) {
foreach ($versions as $verRec) { foreach ($versions as $verRec) {
if (!$verRec['_CURRENT_VERSION']) { if (!($verRec['_CURRENT_VERSION'] ?? false)) {
$allRecords[$tableName][$verRec['uid']] = $verRec['uid']; $allRecords[$tableName][$verRec['uid']] = $verRec['uid'];
} }
} }
...@@ -229,7 +229,7 @@ Manual repair suggestions: ...@@ -229,7 +229,7 @@ Manual repair suggestions:
$versions = BackendUtility::selectVersionsOfRecord('pages', $pageId, 'uid,t3ver_oid,t3ver_wsid', null, true); $versions = BackendUtility::selectVersionsOfRecord('pages', $pageId, 'uid,t3ver_oid,t3ver_wsid', null, true);
if (is_array($versions)) { if (is_array($versions)) {
foreach ($versions as $verRec) { foreach ($versions as $verRec) {
if (!$verRec['_CURRENT_VERSION']) { if (!($verRec['_CURRENT_VERSION'] ?? false)) {
$allRecords = $this->findAllConnectedRecordsInPage((int)$verRec['uid'], $depth, $allRecords); $allRecords = $this->findAllConnectedRecordsInPage((int)$verRec['uid'], $depth, $allRecords);
} }
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment