From abd27b3c67e0bf50f5adff87f4689f2211be9fa1 Mon Sep 17 00:00:00 2001
From: Thibault Dockx <thibault.dockx@fusiondirectory.org>
Date: Thu, 13 Mar 2025 17:54:11 +0000
Subject: [PATCH] :ambulance: (hook) - operational

Hooks are ok but error return different
---
 include/class_config.inc                | 7 ++++++-
 plugins/personal/generic/class_user.inc | 3 +--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/include/class_config.inc b/include/class_config.inc
index 025e689e4..e569a72a8 100755
--- a/include/class_config.inc
+++ b/include/class_config.inc
@@ -115,8 +115,13 @@ class config
     $this->referrals = $data['referrals'];
     $this->data = $data['data'];
 
+    // We reset the value of hooks (avoiding duplication).
+    $this->data['HOOKS'] = [];
+
     // Recreate the XML parser
     $this->parser = xml_parser_create();
+    // Update config from backend
+    $this->load_inldap_config();
   }
 
   /*!
@@ -834,7 +839,7 @@ class config
   {
     $class = strtoupper((string) $class);
     $value = strtoupper((string) $value);
-    return (isset($this->data['HOOKS'][$class][$value]) ? $this->data['HOOKS'][$class][$value] : []);
+    return ($this->data['HOOKS'][$class][$value] ?? []);
   }
 
   /*!
diff --git a/plugins/personal/generic/class_user.inc b/plugins/personal/generic/class_user.inc
index 9a45802e4..04979e1b5 100755
--- a/plugins/personal/generic/class_user.inc
+++ b/plugins/personal/generic/class_user.inc
@@ -261,8 +261,7 @@ class user extends simplePlugin
   function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE)
   {
     global $config;
-    // Force to read ldap configuration saved in LDAP in case config is not up to date.
-    $config->load_inldap_config();
+
     parent::__construct($dn, $object, $parent, $mainTab);
 
     // verify if the attribute password is locked
-- 
GitLab