From 73207d1cb84d78d09973ebc2b7a543dbafda0b9b Mon Sep 17 00:00:00 2001 From: Benedict Massolle Date: Tue, 5 Sep 2023 20:36:50 +0200 Subject: [PATCH 1/5] Fix undefined array index in Toolkit --- library/alnv/Toolkit.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/library/alnv/Toolkit.php b/library/alnv/Toolkit.php index 1125a802..12167a52 100644 --- a/library/alnv/Toolkit.php +++ b/library/alnv/Toolkit.php @@ -219,14 +219,13 @@ public static function customizeAbleFields() public static function parseCatalog($arrCatalog) { - - $arrCatalog['cTables'] = self::parseStringToArray($arrCatalog['cTables']); - $arrCatalog['languages'] = self::parseStringToArray(($arrCatalog['languages'] ?? '')); - $arrCatalog['operations'] = self::parseStringToArray($arrCatalog['operations']); - $arrCatalog['panelLayout'] = self::parseStringToArray($arrCatalog['panelLayout']); - $arrCatalog['labelFields'] = self::parseStringToArray($arrCatalog['labelFields']); - $arrCatalog['headerFields'] = self::parseStringToArray($arrCatalog['headerFields']); - $arrCatalog['sortingFields'] = self::parseStringToArray($arrCatalog['sortingFields']); + $arrCatalog['cTables'] = self::parseStringToArray($arrCatalog['cTables'] ?? []); + $arrCatalog['languages'] = self::parseStringToArray($arrCatalog['languages'] ?? []); + $arrCatalog['operations'] = self::parseStringToArray($arrCatalog['operations'] ?? []); + $arrCatalog['panelLayout'] = self::parseStringToArray($arrCatalog['panelLayout'] ?? []); + $arrCatalog['labelFields'] = self::parseStringToArray($arrCatalog['labelFields'] ?? []); + $arrCatalog['headerFields'] = self::parseStringToArray($arrCatalog['headerFields'] ?? []); + $arrCatalog['sortingFields'] = self::parseStringToArray($arrCatalog['sortingFields'] ?? []); return $arrCatalog; } @@ -1033,4 +1032,4 @@ public static function generateDynValue($strSimpleTokens, $arrValues) return \StringUtil::parseSimpleTokens($strSimpleTokens, $arrValues); } -} \ No newline at end of file +} From cbcf52a6853da8cd1d93588d7422870d7a373f20 Mon Sep 17 00:00:00 2001 From: Benedict Massolle Date: Wed, 6 Sep 2023 08:32:50 +0200 Subject: [PATCH 2/5] Fix more undefined array indexes --- library/alnv/CatalogDcExtractor.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/library/alnv/CatalogDcExtractor.php b/library/alnv/CatalogDcExtractor.php index a23cd28a..02d7b2df 100644 --- a/library/alnv/CatalogDcExtractor.php +++ b/library/alnv/CatalogDcExtractor.php @@ -290,17 +290,17 @@ protected function extractDCASorting($arrSorting) protected function convertDcConfigToCatalog($arrReturn, $arrDataContainer, $strDcConfigType) { - if ($arrDataContainer[$strDcConfigType]['enableVersioning']) { + if ($arrDataContainer[$strDcConfigType]['enableVersioning'] ?? null) { $arrReturn['useVC'] = $arrDataContainer['config']['enableVersioning'] ? '1' : ''; } - if ($arrDataContainer[$strDcConfigType]['ptable']) { + if ($arrDataContainer[$strDcConfigType]['ptable'] ?? null) { $arrReturn['pTable'] = $arrDataContainer['config']['ptable']; } - if (is_array($arrDataContainer[$strDcConfigType]['ctable']) && !empty($arrDataContainer['config']['ctable'])) { + if (is_array($arrDataContainer[$strDcConfigType]['ctable'] ?? null) && !empty($arrDataContainer['config']['ctable'])) { if (in_array('tl_content', $arrDataContainer[$strDcConfigType]['ctable'])) { @@ -335,7 +335,7 @@ protected function convertDcSortingToCatalog($arrReturn, $arrDataContainer, $str $arrReturn['panelLayout'] = serialize($arrPanelLayout); } - if (is_array($arrDataContainer[$strDcConfigType]['sorting']['fields']) && !empty($arrDataContainer[$strDcConfigType]['sorting']['fields'])) { + if (is_array($arrDataContainer[$strDcConfigType]['sorting']['fields'] ?? null) && !empty($arrDataContainer[$strDcConfigType]['sorting']['fields'])) { $arrFields = []; $arrSortingFields = $arrDataContainer[$strDcConfigType]['sorting']['fields']; @@ -362,7 +362,7 @@ protected function convertDcSortingToCatalog($arrReturn, $arrDataContainer, $str $arrReturn['sortingFields'] = serialize($arrFields); } - if (is_array($arrDataContainer[$strDcConfigType]['sorting']['headerFields']) && !empty($arrDataContainer[$strDcConfigType]['sorting']['headerFields'])) { + if (is_array($arrDataContainer[$strDcConfigType]['sorting']['headerFields'] ?? null) && !empty($arrDataContainer[$strDcConfigType]['sorting']['headerFields'])) { $arrReturn['headerFields'] = $arrDataContainer[$strDcConfigType]['sorting']['headerFields']; } @@ -380,7 +380,7 @@ protected function convertDcLabelToCatalog($arrReturn, $arrDataContainer, $strDc if (isset($arrDataContainer[$strDcConfigType]['label']['format'])) { $arrReturn['format'] = $arrDataContainer[$strDcConfigType]['label']['format']; } - if ($arrDataContainer[$strDcConfigType]['label']['showColumns']) { + if (isset($arrDataContainer[$strDcConfigType]['label']['showColumns'])) { $arrReturn['showColumns'] = '1'; } if (isset($arrDataContainer[$strDcConfigType]['label']['fields']) && is_array($arrDataContainer[$strDcConfigType]['label']['fields']) && !empty($arrDataContainer[$strDcConfigType]['label']['fields'])) { @@ -642,4 +642,4 @@ protected function convertCatalogToDcOperations($arrReturn, $arrCatalog, $strDcC return $arrReturn; } -} \ No newline at end of file +} From 53462423a6ea4c81e39ab1c8c452b742e669b698 Mon Sep 17 00:00:00 2001 From: Benedict Massolle Date: Wed, 6 Sep 2023 09:00:16 +0200 Subject: [PATCH 3/5] Fix undefined array indizes in catalog dcas --- dca/tl_catalog.php | 3 ++- dca/tl_catalog_fields.php | 2 +- dca/tl_catalog_form.php | 2 +- dca/tl_catalog_form_fields.php | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/dca/tl_catalog.php b/dca/tl_catalog.php index daee0b1f..fe946f28 100644 --- a/dca/tl_catalog.php +++ b/dca/tl_catalog.php @@ -54,6 +54,7 @@ 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' + ], 'show' => [ 'label' => &$GLOBALS['TL_LANG']['tl_catalog']['show'], @@ -1024,4 +1025,4 @@ 'sql' => "varchar(255) NOT NULL default ''" ], ] -]; \ No newline at end of file +]; diff --git a/dca/tl_catalog_fields.php b/dca/tl_catalog_fields.php index 474eed1b..63cd4b4a 100644 --- a/dca/tl_catalog_fields.php +++ b/dca/tl_catalog_fields.php @@ -1881,4 +1881,4 @@ 'sql' => "varchar(255) NOT NULL default ''" ] ] -]; \ No newline at end of file +]; diff --git a/dca/tl_catalog_form.php b/dca/tl_catalog_form.php index 01406c9b..12b3eaa6 100644 --- a/dca/tl_catalog_form.php +++ b/dca/tl_catalog_form.php @@ -305,4 +305,4 @@ 'sql' => "varchar(16) NOT NULL default ''" ] ] -]; \ No newline at end of file +]; diff --git a/dca/tl_catalog_form_fields.php b/dca/tl_catalog_form_fields.php index a8ce491e..492de5ef 100644 --- a/dca/tl_catalog_form_fields.php +++ b/dca/tl_catalog_form_fields.php @@ -762,4 +762,4 @@ 'sql' => "char(1) NOT NULL default ''" ] ] -]; \ No newline at end of file +]; From dceb74e61c2df085a33776d0a9325c39e312375b Mon Sep 17 00:00:00 2001 From: Benedict Massolle Date: Wed, 6 Sep 2023 09:14:39 +0200 Subject: [PATCH 4/5] Fix array indizes in catalog manager DCA --- dca/tl_catalog.php | 1 - dca/tl_catalog_fields.php | 2 +- dca/tl_catalog_form.php | 2 +- dca/tl_catalog_form_fields.php | 2 +- library/alnv/CatalogView.php | 4 ++-- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/dca/tl_catalog.php b/dca/tl_catalog.php index fe946f28..be579121 100644 --- a/dca/tl_catalog.php +++ b/dca/tl_catalog.php @@ -54,7 +54,6 @@ 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' - ], 'show' => [ 'label' => &$GLOBALS['TL_LANG']['tl_catalog']['show'], diff --git a/dca/tl_catalog_fields.php b/dca/tl_catalog_fields.php index 63cd4b4a..ea4d74e7 100644 --- a/dca/tl_catalog_fields.php +++ b/dca/tl_catalog_fields.php @@ -72,7 +72,7 @@ 'label' => &$GLOBALS['TL_LANG']['tl_catalog_fields']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm']??'') . '\'))return false;Backend.getScrollOffset()"' + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' ], 'toggle' => [ diff --git a/dca/tl_catalog_form.php b/dca/tl_catalog_form.php index 12b3eaa6..d83a8596 100644 --- a/dca/tl_catalog_form.php +++ b/dca/tl_catalog_form.php @@ -65,7 +65,7 @@ 'label' => &$GLOBALS['TL_LANG']['tl_catalog_form']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm']??'') . '\'))return false;Backend.getScrollOffset()"' + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' ], 'show' => [ diff --git a/dca/tl_catalog_form_fields.php b/dca/tl_catalog_form_fields.php index 492de5ef..167cc746 100644 --- a/dca/tl_catalog_form_fields.php +++ b/dca/tl_catalog_form_fields.php @@ -60,7 +60,7 @@ 'label' => &$GLOBALS['TL_LANG']['tl_catalog_form_fields']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm']??'') . '\'))return false;Backend.getScrollOffset()"' + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' ], 'toggle' => [ diff --git a/library/alnv/CatalogView.php b/library/alnv/CatalogView.php index 15070bc4..107d8872 100644 --- a/library/alnv/CatalogView.php +++ b/library/alnv/CatalogView.php @@ -1463,7 +1463,7 @@ protected function generateOperations( $strID, $strAlias = '', $arrCatalog = [] 'href' => $this->generateUrl( $this->arrFrontendEditingPage, $strAlias ) . $strActFragment, 'title' => $GLOBALS['TL_LANG']['tl_module']['reference']['catalogItemOperations'][ $strOperation ], 'image' => \Image::getHtml( Toolkit::getIcon( $strOperation ), $GLOBALS['TL_LANG']['tl_module']['reference']['catalogItemOperations'][ $strOperation ] ), - 'attributes' => $strOperation === 'delete' ? 'onclick="if(!confirm(\'' . sprintf( $GLOBALS['TL_LANG']['MSC']['deleteConfirm'], $strID ) . '\'))return false;"' : '', + 'attributes' => $strOperation === 'delete' ? 'onclick="if(!confirm(\'' . sprintf( $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '%s', $strID ) . '\'))return false;"' : '', ]; } } @@ -1591,4 +1591,4 @@ public function getCatalogFields() { return $this->arrCatalogFields; } -} \ No newline at end of file +} From e7e096fea91f0049796c886f5dcaf8bddc90e476 Mon Sep 17 00:00:00 2001 From: Benedict Massolle Date: Thu, 22 Feb 2024 16:11:53 +0100 Subject: [PATCH 5/5] Adjust according to upstream --- dca/tl_catalog.php | 2 +- dca/tl_catalog_fields.php | 2 +- dca/tl_catalog_form.php | 2 +- dca/tl_catalog_form_fields.php | 2 +- library/alnv/Toolkit.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dca/tl_catalog.php b/dca/tl_catalog.php index be579121..96075d6e 100644 --- a/dca/tl_catalog.php +++ b/dca/tl_catalog.php @@ -53,7 +53,7 @@ 'label' => &$GLOBALS['TL_LANG']['tl_catalog']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm']??'') . '\'))return false;Backend.getScrollOffset()"' ], 'show' => [ 'label' => &$GLOBALS['TL_LANG']['tl_catalog']['show'], diff --git a/dca/tl_catalog_fields.php b/dca/tl_catalog_fields.php index ea4d74e7..63cd4b4a 100644 --- a/dca/tl_catalog_fields.php +++ b/dca/tl_catalog_fields.php @@ -72,7 +72,7 @@ 'label' => &$GLOBALS['TL_LANG']['tl_catalog_fields']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm']??'') . '\'))return false;Backend.getScrollOffset()"' ], 'toggle' => [ diff --git a/dca/tl_catalog_form.php b/dca/tl_catalog_form.php index d83a8596..12b3eaa6 100644 --- a/dca/tl_catalog_form.php +++ b/dca/tl_catalog_form.php @@ -65,7 +65,7 @@ 'label' => &$GLOBALS['TL_LANG']['tl_catalog_form']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm']??'') . '\'))return false;Backend.getScrollOffset()"' ], 'show' => [ diff --git a/dca/tl_catalog_form_fields.php b/dca/tl_catalog_form_fields.php index 167cc746..492de5ef 100644 --- a/dca/tl_catalog_form_fields.php +++ b/dca/tl_catalog_form_fields.php @@ -60,7 +60,7 @@ 'label' => &$GLOBALS['TL_LANG']['tl_catalog_form_fields']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"' + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm']??'') . '\'))return false;Backend.getScrollOffset()"' ], 'toggle' => [ diff --git a/library/alnv/Toolkit.php b/library/alnv/Toolkit.php index 12167a52..61a74387 100644 --- a/library/alnv/Toolkit.php +++ b/library/alnv/Toolkit.php @@ -220,7 +220,7 @@ public static function customizeAbleFields() public static function parseCatalog($arrCatalog) { $arrCatalog['cTables'] = self::parseStringToArray($arrCatalog['cTables'] ?? []); - $arrCatalog['languages'] = self::parseStringToArray($arrCatalog['languages'] ?? []); + $arrCatalog['languages'] = self::parseStringToArray($arrCatalog['languages'] ?? ''); $arrCatalog['operations'] = self::parseStringToArray($arrCatalog['operations'] ?? []); $arrCatalog['panelLayout'] = self::parseStringToArray($arrCatalog['panelLayout'] ?? []); $arrCatalog['labelFields'] = self::parseStringToArray($arrCatalog['labelFields'] ?? []);