From d2cce8613108d633d774fda040377e0167c0f326 Mon Sep 17 00:00:00 2001 From: Paolo Date: Thu, 23 Jan 2025 15:40:56 +0100 Subject: [PATCH 1/2] - controllers/api/frontend/v1/Filter->applyFilterFields validate filterFields as an array - FilterCmptLib->applyFilterFields evaluate each elements of filterFields as an array --- .../controllers/api/frontend/v1/Filter.php | 2 +- application/libraries/FilterCmptLib.php | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/application/controllers/api/frontend/v1/Filter.php b/application/controllers/api/frontend/v1/Filter.php index 45838fc5f..b195e0012 100644 --- a/application/controllers/api/frontend/v1/Filter.php +++ b/application/controllers/api/frontend/v1/Filter.php @@ -113,7 +113,7 @@ class Filter extends FHCAPI_Controller */ public function applyFilterFields() { - $this->form_validation->set_rules('filterFields', 'filterFields', 'required'); + $this->form_validation->set_rules('filterFields[]', 'filterFields', 'required'); if (!$this->form_validation->run()) $this->terminateWithValidationErrors($this->form_validation->error_array()); diff --git a/application/libraries/FilterCmptLib.php b/application/libraries/FilterCmptLib.php index c1a2b47cb..bb5d01fae 100644 --- a/application/libraries/FilterCmptLib.php +++ b/application/libraries/FilterCmptLib.php @@ -371,21 +371,21 @@ class FilterCmptLib foreach ($filterFields as $filterField) { // If not an empty array - if ($filterField != null) + if (!isEmptyArray($filterField)) { // - if (isset($filterField->name) && isset($filterField->operation) && isset($filterField->condition) - && !isEmptyString($filterField->name) && !isEmptyString($filterField->operation) - && !isEmptyString($filterField->condition)) + if (isset($filterField['name']) && isset($filterField['operation']) && isset($filterField['condition']) + && !isEmptyString($filterField['name']) && !isEmptyString($filterField['operation']) + && !isEmptyString($filterField['condition'])) { // Fine $filter = new stdClass(); - $filter->name = $filterField->name; - $filter->operation = $filterField->operation; - $filter->condition = $filterField->condition; - if (isset($filterField->option) && !isEmptyString($filterField->option)) + $filter->name = $filterField['name']; + $filter->operation = $filterField['operation']; + $filter->condition = $filterField['condition']; + if (isset($filterField['option']) && !isEmptyString($filterField['option'])) { - $filter->option = $filterField->option; + $filter->option = $filterField['option']; } else { @@ -1173,4 +1173,4 @@ class FilterCmptLib return $filterName; } -} \ No newline at end of file +} From 37f86f651ef3cf76c6414d67d888155335a4ac72 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 19 Feb 2025 15:37:51 +0100 Subject: [PATCH 2/2] Fixed string casting of the condition for the filter component Fixed CSS for the error box in the logs viewer filter --- application/libraries/FilterCmptLib.php | 2 +- application/views/system/logs/logsViewer.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/application/libraries/FilterCmptLib.php b/application/libraries/FilterCmptLib.php index bb5d01fae..272899de6 100644 --- a/application/libraries/FilterCmptLib.php +++ b/application/libraries/FilterCmptLib.php @@ -376,7 +376,7 @@ class FilterCmptLib // if (isset($filterField['name']) && isset($filterField['operation']) && isset($filterField['condition']) && !isEmptyString($filterField['name']) && !isEmptyString($filterField['operation']) - && !isEmptyString($filterField['condition'])) + && !isEmptyString((string)$filterField['condition'])) { // Fine $filter = new stdClass(); diff --git a/application/views/system/logs/logsViewer.php b/application/views/system/logs/logsViewer.php index 8749806bc..ddfe855fe 100644 --- a/application/views/system/logs/logsViewer.php +++ b/application/views/system/logs/logsViewer.php @@ -8,11 +8,12 @@ 'filtercomponent' => true, 'navigationcomponent' => true, 'tabulator5' => true, + 'primevue3' => true, 'phrases' => array( 'global' => array('mailAnXversandt'), 'ui' => array('bitteEintragWaehlen') ), - 'customJSModules' => array('public/js/apps/LogsViewer/LogsViewer.js') + 'customJSModules' => array('public/js/apps/LogsViewer/LogsViewer.js'), ); $this->load->view('templates/FHC-Header', $includesArray);