From 4079b0a690fdc1a15188420c53764456bfeba09f Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 3 Jul 2025 08:17:46 -0600 Subject: [PATCH] Fix the user_uuid using database::new() --- resources/classes/database.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/resources/classes/database.php b/resources/classes/database.php index 37d6bd0f0d..24f96d741b 100644 --- a/resources/classes/database.php +++ b/resources/classes/database.php @@ -324,12 +324,13 @@ $this->domain_uuid = $params['domain_uuid']; } - //allow passed user_uuid in the constructor to override the session user_uuid + //set the user_uuid if (isset($params['user_uuid'])) { + //allow passed user_uuid in the constructor to override the session user_uuid $this->user_uuid = $params['user_uuid']; - } else { + } elseif (!empty($_SESSION['user_uuid'])) { //try to determine the current user_uuid using the session - $this->user_uuid = (!empty($_SESSION['user_uuid']) ? $_SESSION['user_uuid'] : null); + $this->user_uuid = $_SESSION['user_uuid']; } } @@ -3198,12 +3199,23 @@ * @see database::connect() */ public static function new(array $params = []) { + //re-use the database connection if (self::$database === null) { self::$database = new database($params); if (!self::$database->is_connected()) { self::$database->connect(); } } + + //set the user_uuid + if (isset($params['user_uuid'])) { + //allow passed user_uuid in the constructor to override the session user_uuid + self::$database->user_uuid = $params['user_uuid']; + } elseif (!empty($_SESSION['user_uuid'])) { + //try to determine the current user_uuid using the session + self::$database->user_uuid = $_SESSION['user_uuid']; + } + return self::$database; }