From 86df5471f258cd38d86b40ab462459c2ff3bb8f3 Mon Sep 17 00:00:00 2001 From: Alexei Karpenko Date: Tue, 1 Jul 2025 15:39:59 +0200 Subject: [PATCH] plausicheck issues: check if array, changed comments --- .../issues/PlausicheckProducerLib.php | 35 ++++++++++++------- .../issues/PlausicheckResolverLib.php | 7 ++-- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/application/libraries/issues/PlausicheckProducerLib.php b/application/libraries/issues/PlausicheckProducerLib.php index cea9967fb..b50cebdc6 100644 --- a/application/libraries/issues/PlausicheckProducerLib.php +++ b/application/libraries/issues/PlausicheckProducerLib.php @@ -71,22 +71,31 @@ class PlausicheckProducerLib { $plausicheckData = getData($plausicheckRes); - foreach ($plausicheckData as $plausiData) + if (is_array($plausicheckData)) { - // get the data needed for issue production - $person_id = isset($plausiData['person_id']) ? $plausiData['person_id'] : null; - $oe_kurzbz = isset($plausiData['oe_kurzbz']) ? $plausiData['oe_kurzbz'] : null; - $fehlertext_params = isset($plausiData['fehlertext_params']) ? $plausiData['fehlertext_params'] : null; - $resolution_params = isset($plausiData['resolution_params']) ? $plausiData['resolution_params'] : null; + foreach ($plausicheckData as $plausiData) + { + // get the data needed for issue production + $person_id = isset($plausiData['person_id']) ? $plausiData['person_id'] : null; + $oe_kurzbz = isset($plausiData['oe_kurzbz']) ? $plausiData['oe_kurzbz'] : null; + $fehlertext_params = isset($plausiData['fehlertext_params']) ? $plausiData['fehlertext_params'] : null; + $resolution_params = isset($plausiData['resolution_params']) ? $plausiData['resolution_params'] : null; - // write the issue - $addIssueRes = $this->_ci->issueslib->addFhcIssue($fehler_kurzbz, $person_id, $oe_kurzbz, $fehlertext_params, $resolution_params); + // write the issue + $addIssueRes = $this->_ci->issueslib->addFhcIssue( + $fehler_kurzbz, + $person_id, + $oe_kurzbz, + $fehlertext_params, + $resolution_params + ); - // log if error, or log info if inserted new issue - if (isError($addIssueRes)) - $result->errors[] = getError($addIssueRes); - elseif (hasData($addIssueRes) && is_integer(getData($addIssueRes))) - $result->infos[] = "Plausicheck issue " . $fehler_kurzbz . " successfully produced, person_id: " . $person_id; + // log if error, or log info if inserted new issue + if (isError($addIssueRes)) + $result->errors[] = getError($addIssueRes); + elseif (hasData($addIssueRes) && is_integer(getData($addIssueRes))) + $result->infos[] = "Plausicheck issue " . $fehler_kurzbz . " successfully produced, person_id: " . $person_id; + } } } } diff --git a/application/libraries/issues/PlausicheckResolverLib.php b/application/libraries/issues/PlausicheckResolverLib.php index 2b20a7d93..0b7d4d23a 100644 --- a/application/libraries/issues/PlausicheckResolverLib.php +++ b/application/libraries/issues/PlausicheckResolverLib.php @@ -99,11 +99,12 @@ class PlausicheckResolverLib $issueResolved = getData($issueResolvedRes) === true; } } - elseif (isset($this->_codeProducerLibMappings[$issue->fehlercode])) // check if it is an issue without explicit resolver, "self-resolving" + // mappings for issues that are resolved the same way as they are produced + elseif (isset($this->_codeProducerLibMappings[$issue->fehlercode])) { $libName = $this->_codeProducerLibMappings[$issue->fehlercode]; - // execute same check as used for issue production + // call produce plausicheck method of producer lib $issueResolvedRes = $this->_ci->plausicheckproducerlib->producePlausicheckIssue( $libName, $issue->fehler_kurzbz, @@ -114,7 +115,7 @@ class PlausicheckResolverLib { $result->errors[] = getError($issueResolvedRes); } - else + else // resolved if no issue found { $issueResolved = !hasData($issueResolvedRes); }