Update default and domain setting session array

In the "domains" class upgrade method, only set the value when either "default_setting_enabled" is true or "domain_setting_enabled" is equal to true.
This commit is contained in:
FusionPBX 2023-08-28 14:45:39 -06:00 committed by GitHub
parent 401a914726
commit 4eb7fdf007
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 54 additions and 47 deletions

View File

@ -513,27 +513,30 @@ if (!class_exists('domains')) {
unset($_SESSION[$category][$subcategory]); unset($_SESSION[$category][$subcategory]);
} }
} }
//set the enabled settings as a session //set the enabled settings as a session
foreach ($result as $row) { foreach ($result as $row) {
$name = $row['domain_setting_name']; if ($row['domain_setting_enabled'] == 'true') {
$category = $row['domain_setting_category']; $name = $row['domain_setting_name'];
$subcategory = $row['domain_setting_subcategory']; $category = $row['domain_setting_category'];
if (empty($subcategory)) { $subcategory = $row['domain_setting_subcategory'];
//$$category[$name] = $row['domain_setting_value']; if (empty($subcategory)) {
if ($name == "array") { //$$category[$name] = $row['domain_setting_value'];
$_SESSION[$category][] = $row['domain_setting_value']; if ($name == "array") {
$_SESSION[$category][] = $row['domain_setting_value'];
}
else {
$_SESSION[$category][$name] = $row['domain_setting_value'];
}
} }
else { else {
$_SESSION[$category][$name] = $row['domain_setting_value']; //$$category[$subcategory][$name] = $row['domain_setting_value'];
} if ($name == "array") {
} $_SESSION[$category][$subcategory][] = $row['domain_setting_value'];
else { }
//$$category[$subcategory][$name] = $row['domain_setting_value']; else {
if ($name == "array") { $_SESSION[$category][$subcategory][$name] = $row['domain_setting_value'];
$_SESSION[$category][$subcategory][] = $row['domain_setting_value']; }
}
else {
$_SESSION[$category][$subcategory][$name] = $row['domain_setting_value'];
} }
} }
} }
@ -676,50 +679,54 @@ if (!class_exists('domains')) {
//get the default settings - this needs to be done to reset the session values back to the defaults for each domain in the loop //get the default settings - this needs to be done to reset the session values back to the defaults for each domain in the loop
foreach($database_default_settings as $row) { foreach($database_default_settings as $row) {
$name = $row['default_setting_name']; if ($row['default_setting_enabled'] == 'true') {
$category = $row['default_setting_category']; $name = $row['default_setting_name'];
$subcategory = $row['default_setting_subcategory']; $category = $row['default_setting_category'];
if (empty($subcategory)) { $subcategory = $row['default_setting_subcategory'];
if (!isset($_SESSION[$category])) { if (empty($subcategory)) {
$_SESSION[$category] = []; if ($name == "array") {
} $_SESSION[$category][] = $row['default_setting_value'];
if ($name == "array") { }
$_SESSION[$category][] = $row['default_setting_value']; else {
$_SESSION[$category][$name] = $row['default_setting_value'];
}
} }
else { else {
$_SESSION[$category][$name] = $row['default_setting_value']; if ($name == "array") {
} $_SESSION[$category][$subcategory][] = $row['default_setting_value'];
} }
else { else {
if (!isset($_SESSION[$category])) { $_SESSION[$category][$subcategory]['uuid'] = $row['default_setting_uuid'];
$_SESSION[$category] = []; $_SESSION[$category][$subcategory][$name] = $row['default_setting_value'];
} }
if (!isset($_SESSION[$category][$subcategory])) {
$_SESSION[$category][$subcategory] = [];
}
if ($name == "array") {
$_SESSION[$category][$subcategory][] = $row['default_setting_value'];
}
else {
$_SESSION[$category][$subcategory]['uuid'] = $row['default_setting_uuid'];
$_SESSION[$category][$subcategory][$name] = $row['default_setting_value'];
} }
} }
} }
//get the domains settings for the current domain
foreach($domain_settings as $row) { //set the enabled settings as a session
if ($row['domain_uuid'] == $domain_uuid) { foreach ($domain_settings as $row) {
if ($row['domain_setting_enabled'] == 'true') {
$name = $row['domain_setting_name']; $name = $row['domain_setting_name'];
$category = $row['domain_setting_category']; $category = $row['domain_setting_category'];
$subcategory = $row['domain_setting_subcategory']; $subcategory = $row['domain_setting_subcategory'];
if (empty($subcategory)) { if (empty($subcategory)) {
//$$category[$name] = $row['domain_setting_value']; //$$category[$name] = $row['domain_setting_value'];
$_SESSION[$category][$name] = $row['domain_setting_value']; if ($name == "array") {
$_SESSION[$category][] = $row['domain_setting_value'];
}
else {
$_SESSION[$category][$name] = $row['domain_setting_value'];
}
} }
else { else {
//$$category[$subcategory][$name] = $row['domain_setting_value']; //$$category[$subcategory][$name] = $row['domain_setting_value'];
$_SESSION[$category][$subcategory][$name] = $row['domain_setting_value']; if ($name == "array") {
$_SESSION[$category][$subcategory][] = $row['domain_setting_value'];
}
else {
$_SESSION[$category][$subcategory][$name] = $row['domain_setting_value'];
}
} }
} }
} }