From ddf08218599ece42b4a20bab369fe543a56c12c2 Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Fri, 26 Jul 2024 09:57:00 +0200 Subject: [PATCH 01/11] fix some 'undefined array key' warnings --- .../core/Mage/Adminhtml/Block/System/Config/Form/Field.php | 2 +- .../Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php index f2ffa8d2e72..e815ad198e1 100644 --- a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php +++ b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php @@ -83,7 +83,7 @@ public function render(Varien_Data_Form_Element_Abstract $element) $defTextArr = []; foreach ($options as $k => $v) { if ($isMultiple) { - if (is_array($v['value']) && in_array($k, $v['value'])) { + if (isset($v['value']) && is_array($v['value']) && in_array($k, $v['value'])) { $defTextArr[] = $v['label']; } } elseif (isset($v['value'])) { diff --git a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php index 17c52e35697..9658ee716a0 100644 --- a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php +++ b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php @@ -54,7 +54,7 @@ protected function _getOptions() */ protected function _renderOption($option, $value) { - $selected = (($option['value'] == $value && (!is_null($value))) ? ' selected="selected"' : ''); + $selected = (isset($option['value']) && ($option['value'] == $value && (!is_null($value))) ? ' selected="selected"' : ''); return ''; } @@ -66,7 +66,7 @@ public function getHtml() $html = ''; $value = $this->getValue(); foreach ($this->_getOptions() as $option) { - if (isset($option['value']) is_array($option['value'])) { + if (isset($option['value']) && is_array($option['value'])) { $html .= ''; foreach ($option['value'] as $subOption) { $html .= $this->_renderOption($subOption, $value); From 58ddb3e3054ef3dbeac94e766ab1f919fb755984 Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Fri, 26 Jul 2024 18:02:36 +0200 Subject: [PATCH 03/11] changed 'isset' to 'array_key_exists' --- .../core/Mage/Adminhtml/Block/System/Config/Form/Field.php | 4 ++-- .../Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php index e815ad198e1..1ded1035bde 100644 --- a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php +++ b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php @@ -83,10 +83,10 @@ public function render(Varien_Data_Form_Element_Abstract $element) $defTextArr = []; foreach ($options as $k => $v) { if ($isMultiple) { - if (isset($v['value']) && is_array($v['value']) && in_array($k, $v['value'])) { + if (array_key_exists("value", $v) && is_array($v['value']) && in_array($k, $v['value'])) { $defTextArr[] = $v['label']; } - } elseif (isset($v['value'])) { + } elseif (array_key_exists("value", $v)) { if ($v['value'] == $defText) { $defTextArr[] = $v['label']; break; diff --git a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php index 30168bfe13f..0563ebe9565 100644 --- a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php +++ b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php @@ -54,7 +54,7 @@ protected function _getOptions() */ protected function _renderOption($option, $value) { - $selected = (isset($option['value']) && ($option['value'] == $value && (!is_null($value))) ? ' selected="selected"' : ''); + $selected = (!is_null($value) && array_key_exists("value", $option) && ($option['value'] == $value)) ? ' selected="selected"' : ''); return ''; } @@ -66,7 +66,7 @@ public function getHtml() $html = ''; $value = $this->getValue(); foreach ($this->_getOptions() as $option) { - if (array_key_exists("value", $option) && is_array($option['value'])) { + if (array_key_exists('value', $option) && is_array($option['value'])) { $html .= ''; foreach ($option['value'] as $subOption) { $html .= $this->_renderOption($subOption, $value); From 0ff10922ff1fe39bf51dd21b90600f97fbff3b50 Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Tue, 6 Aug 2024 08:49:02 +0200 Subject: [PATCH 07/11] fix "must be an array" --- app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php index f64a9d1a06c..0a121330a77 100644 --- a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php +++ b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php @@ -86,7 +86,7 @@ public function render(Varien_Data_Form_Element_Abstract $element) if (array_key_exists('value', $v) && is_array($v['value']) && in_array($k, $v['value'])) { $defTextArr[] = $v['label']; } - } elseif (array_key_exists('value', $v)) { + } elseif (is_array($v) && array_key_exists('value', $v)) { if ($v['value'] == $defText) { $defTextArr[] = $v['label']; break; From 876c9cbe5396145792748b3a18e7eac9db9576ab Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Thu, 8 Aug 2024 08:51:23 +0200 Subject: [PATCH 08/11] Unify quotations, really don't use an undefined array key in _renderOption --- .../Mage/Adminhtml/Block/System/Config/Form/Field.php | 2 +- .../Adminhtml/Block/Widget/Grid/Column/Filter/Select.php | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php index 0a121330a77..4e7de24917c 100644 --- a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php +++ b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php @@ -83,7 +83,7 @@ public function render(Varien_Data_Form_Element_Abstract $element) $defTextArr = []; foreach ($options as $k => $v) { if ($isMultiple) { - if (array_key_exists('value', $v) && is_array($v['value']) && in_array($k, $v['value'])) { + if (array_key_exists("value", $v) && is_array($v['value']) && in_array($k, $v['value'])) { $defTextArr[] = $v['label']; } } elseif (is_array($v) && array_key_exists('value', $v)) { diff --git a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php index e942bdda732..beabc024510 100644 --- a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php +++ b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php @@ -54,6 +54,15 @@ protected function _getOptions() */ protected function _renderOption($option, $value) { + if(!array_key_exists('value', $option)) { + if(!array_key_exists('label', $option)) { + return ""; + } + + $lbl = $this->escapeHtml($option['label']); // or just empty as well? + return ''; + } + $selected = (!is_null($value) && array_key_exists('value', $option) && ($option['value'] == $value)) ? ' selected="selected"' : ''; return ''; } From a5ce78248c8d35b8ddd53551f65bd89f1a4b3d82 Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Thu, 8 Aug 2024 09:05:06 +0200 Subject: [PATCH 09/11] fix remarks from php stan --- .../Adminhtml/Block/Widget/Grid/Column/Filter/Select.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php index beabc024510..95a0266ed74 100644 --- a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php +++ b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php @@ -54,8 +54,8 @@ protected function _getOptions() */ protected function _renderOption($option, $value) { - if(!array_key_exists('value', $option)) { - if(!array_key_exists('label', $option)) { + if (!array_key_exists('value', $option)) { + if (!array_key_exists('label', $option)) { return ""; } @@ -63,7 +63,7 @@ protected function _renderOption($option, $value) return ''; } - $selected = (!is_null($value) && array_key_exists('value', $option) && ($option['value'] == $value)) ? ' selected="selected"' : ''; + $selected = (!is_null($value) && ($option['value'] == $value)) ? ' selected="selected"' : ''; return ''; } From 6b76655fa0e837522be39a440b159a436c2747c0 Mon Sep 17 00:00:00 2001 From: Ng Kiat Siong Date: Fri, 9 Aug 2024 18:53:22 +0800 Subject: [PATCH 10/11] Update Field.php, use single quote. --- app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php index 4e7de24917c..0a121330a77 100644 --- a/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php +++ b/app/code/core/Mage/Adminhtml/Block/System/Config/Form/Field.php @@ -83,7 +83,7 @@ public function render(Varien_Data_Form_Element_Abstract $element) $defTextArr = []; foreach ($options as $k => $v) { if ($isMultiple) { - if (array_key_exists("value", $v) && is_array($v['value']) && in_array($k, $v['value'])) { + if (array_key_exists('value', $v) && is_array($v['value']) && in_array($k, $v['value'])) { $defTextArr[] = $v['label']; } } elseif (is_array($v) && array_key_exists('value', $v)) { From b702e78d0c8dc8097df2c5bb4ac61b4c52250c2a Mon Sep 17 00:00:00 2001 From: Ng Kiat Siong Date: Fri, 9 Aug 2024 18:55:48 +0800 Subject: [PATCH 11/11] Update Select.php, use single quote. --- .../Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php index 95a0266ed74..65114d87e8a 100644 --- a/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php +++ b/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Select.php @@ -56,7 +56,7 @@ protected function _renderOption($option, $value) { if (!array_key_exists('value', $option)) { if (!array_key_exists('label', $option)) { - return ""; + return ''; } $lbl = $this->escapeHtml($option['label']); // or just empty as well?