From dd3288585ccd1aef7d0c807bd4dc41d7834edea9 Mon Sep 17 00:00:00 2001 From: fusionate Date: Thu, 6 Mar 2025 20:08:48 -0700 Subject: [PATCH] Menu: Add setting to reload menu when changing domains. --- core/domains/domains.php | 15 +++++++++++++++ core/menu/app_config.php | 13 ++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/core/domains/domains.php b/core/domains/domains.php index fc8d3b24e5..981d051f17 100644 --- a/core/domains/domains.php +++ b/core/domains/domains.php @@ -74,6 +74,21 @@ $domain = new domains(); $domain->set(); + //initialize the settigns object + $settings = new settings(['database' => $database]); + + //reload domain on domain change, if enabled + if ($settings->get('menu', 'domain_change_reload', false)) { + //unset the sesssion menu array + unset($_SESSION['menu']['array']); + + //get the menu array and save it to the session + $menu = new menu; + $menu->menu_uuid = $_SESSION['domain']['menu']['uuid']; + $_SESSION['menu']['array'] = $menu->menu_array(); + unset($menu); + } + //redirect the user if (!empty($_SESSION["login"]["destination"])) { // to default, or domain specific, login destination diff --git a/core/menu/app_config.php b/core/menu/app_config.php index bf46c8ab0c..516d2c66b1 100644 --- a/core/menu/app_config.php +++ b/core/menu/app_config.php @@ -380,4 +380,15 @@ $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; -?> + //default settings + $y=0; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "30c52958-b79f-499e-9f48-665a038bba23"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "menu"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "domain_change_reload"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = 'true'; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Reloads the menu when switching tenants/domains - useful when custom menu(s) exist."; + $y++; + +?> \ No newline at end of file