From 5c1be1a318912b2c815a642e9cb508f3448151dc Mon Sep 17 00:00:00 2001 From: frytimo Date: Mon, 31 Mar 2025 13:04:33 -0300 Subject: [PATCH] Update clear cache method for settings object (#7348) * update clear cache method for settings object * re-use the database object from settings object --- resources/classes/settings.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/resources/classes/settings.php b/resources/classes/settings.php index f8fae463a2..b190013169 100644 --- a/resources/classes/settings.php +++ b/resources/classes/settings.php @@ -450,12 +450,22 @@ class settings implements clear_cache { if (function_exists('apcu_enabled') && apcu_enabled()) { $cache = apcu_cache_info(false); if (!empty($cache['cache_list'])) { + //clear apcu cache foreach ($cache['cache_list'] as $entry) { $key = $entry['info']; if (str_starts_with($key, 'settings_')) { apcu_delete($key); } } + global $settings; + //check there is a settings object + if (!empty($settings) && ($settings instanceof settings)) { + $database = $settings->database(); + $domain_uuid = $settings->get_domain_uuid(); + $user_uuid = $settings->get_user_uuid(); + //recreate the settings object to reload all settings from database + $settings = new settings(['database' => $database, 'domain_uuid' => $domain_uuid, 'user_uuid' => $user_uuid]); + } } } }