From d29ebee2ac0cb0b77ecaae4fb1fd3576f14edc4f Mon Sep 17 00:00:00 2001 From: kkhelifa-opendsi Date: Mon, 9 Sep 2024 04:35:13 +0200 Subject: [PATCH] FIX avoid from re-initializing array result on nested hook getEntity (#30626) --- htdocs/core/class/hookmanager.class.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index cb89f123a9f..1cb35d40b85 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -208,6 +208,7 @@ class HookManager // Init return properties $localResPrint = ''; + $localResArray = array(); $this->resArray = array(); $this->resNbOfHooks = 0; @@ -263,9 +264,9 @@ class HookManager if (isset($actionclassinstance->results) && is_array($actionclassinstance->results)) { if ($resactiontmp > 0) { - $this->resArray = $actionclassinstance->results; + $localResArray = $actionclassinstance->results; } else { - $this->resArray = array_merge($this->resArray, $actionclassinstance->results); + $localResArray = array_merge($localResArray, $actionclassinstance->results); } } if (!empty($actionclassinstance->resprints)) { @@ -291,7 +292,7 @@ class HookManager $resaction += $resactiontmp; if (!empty($actionclassinstance->results) && is_array($actionclassinstance->results)) { - $this->resArray = array_merge($this->resArray, $actionclassinstance->results); + $localResArray = array_merge($localResArray, $actionclassinstance->results); } if (!empty($actionclassinstance->resprints)) { $localResPrint .= $actionclassinstance->resprints; @@ -321,6 +322,7 @@ class HookManager } $this->resPrint = $localResPrint; + $this->resArray = $localResArray; return ($error ? -1 : $resaction); }