diff --git a/src/Driver.php b/src/Driver.php index 8003e25..8632c99 100644 --- a/src/Driver.php +++ b/src/Driver.php @@ -740,8 +740,10 @@ public function treeView() // Child mode if ($GLOBALS['TL_DCA'][$this->strTable]['list']['sorting']['mode'] == 6) { $table = $GLOBALS['TL_DCA'][$this->strTable]['config']['ptable']; + $drivers = ['Multilingual', __CLASS__, \DC_Multilingual::class]; - if ($GLOBALS['TL_DCA'][$table]['config']['dataContainer'] == 'Multilingual') { + if (isset($GLOBALS['TL_DCA'][$table]['config']['dataContainer']) + && \in_array($GLOBALS['TL_DCA'][$table]['config']['dataContainer'], $drivers, true)) { $where[] = "$this->langColumnName=''"; } @@ -866,8 +868,10 @@ protected function generateTree($table, $id, $arrPrevNext, $blnHasSorting, $intM // Check whether there are child records if (!$blnNoRecursion) { Controller::loadDataContainer($table); + $drivers = ['Multilingual', __CLASS__, \DC_Multilingual::class]; - if ($GLOBALS['TL_DCA'][$table]['config']['dataContainer'] === 'Multilingual' + if (isset($GLOBALS['TL_DCA'][$table]['config']['dataContainer']) + && \in_array($GLOBALS['TL_DCA'][$table]['config']['dataContainer'], $drivers, true) && ($GLOBALS['TL_DCA'][$this->strTable]['list']['sorting']['mode'] === 5 || $GLOBALS['TL_DCA'][$this->strTable]['list']['sorting']['mode'] === 6 || $this->strTable != $table) ) { $langColumn = $GLOBALS['TL_DCA'][$table]['config']['langColumnName'] ?? 'language'; @@ -1127,7 +1131,10 @@ public function deleteChilds($table, $id, &$delete) parent::deleteChilds($table, $id, $delete); // Do not delete record if it is not a multilingual dataContainer - if ('Multilingual' !== $GLOBALS['TL_DCA'][$table]['config']['dataContainer']) { + $drivers = ['Multilingual', __CLASS__, \DC_Multilingual::class]; + + if (isset($GLOBALS['TL_DCA'][$table]['config']['dataContainer']) + && \in_array($GLOBALS['TL_DCA'][$table]['config']['dataContainer'], $drivers, true)) { return; }