Default Settings: Fix set() function in domains class to first clear ALL default/domain settings, then only load settings that are currently enabled.

This commit is contained in:
Nate Jones
2015-05-01 12:14:52 +00:00
parent 854dff9e08
commit 3e53a658b2
+42 -36
View File
@@ -37,7 +37,6 @@
//get the default settings //get the default settings
$sql = "select * from v_default_settings "; $sql = "select * from v_default_settings ";
$sql .= "where default_setting_enabled = 'true' ";
try { try {
$prep_statement = $db->prepare($sql . " order by default_setting_order asc "); $prep_statement = $db->prepare($sql . " order by default_setting_order asc ");
$prep_statement->execute(); $prep_statement->execute();
@@ -53,23 +52,26 @@
} }
//set the settings as a session //set the settings as a session
foreach ($result as $row) { foreach ($result 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 (strlen($subcategory) == 0) { $subcategory = $row['default_setting_subcategory'];
if ($name == "array") { if (strlen($subcategory) == 0) {
$_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 { }
if ($name == "array") { else {
$_SESSION[$category][$subcategory][] = $row['default_setting_value']; $_SESSION[$category][$subcategory]['uuid'] = $row['default_setting_uuid'];
} $_SESSION[$category][$subcategory][$name] = $row['default_setting_value'];
else { }
$_SESSION[$category][$subcategory]['uuid'] = $row['default_setting_uuid'];
$_SESSION[$category][$subcategory][$name] = $row['default_setting_value'];
} }
} }
} }
@@ -110,7 +112,8 @@
else { else {
$_SESSION[$category][$name] = $row['domain_setting_value']; $_SESSION[$category][$name] = $row['domain_setting_value'];
} }
} else { }
else {
//$$category[$subcategory][$name] = $row['domain_setting_value']; //$$category[$subcategory][$name] = $row['domain_setting_value'];
if ($name == "array") { if ($name == "array") {
$_SESSION[$category][$subcategory][] = $row['domain_setting_value']; $_SESSION[$category][$subcategory][] = $row['domain_setting_value'];
@@ -127,7 +130,6 @@
$sql = "select * from v_user_settings "; $sql = "select * from v_user_settings ";
$sql .= "where domain_uuid = '" . $_SESSION["domain_uuid"] . "' "; $sql .= "where domain_uuid = '" . $_SESSION["domain_uuid"] . "' ";
$sql .= "and user_uuid = '" . $_SESSION["user_uuid"] . "' "; $sql .= "and user_uuid = '" . $_SESSION["user_uuid"] . "' ";
$sql .= "and user_setting_enabled = 'true' ";
try { try {
$prep_statement = $db->prepare($sql . " order by user_setting_order asc "); $prep_statement = $db->prepare($sql . " order by user_setting_order asc ");
$prep_statement->execute(); $prep_statement->execute();
@@ -139,25 +141,28 @@
if ($prep_statement) { if ($prep_statement) {
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach ($result as $row) { foreach ($result as $row) {
$name = $row['user_setting_name']; if ($row['user_setting_enabled'] == 'true') {
$category = $row['user_setting_category']; $name = $row['user_setting_name'];
$subcategory = $row['user_setting_subcategory']; $category = $row['user_setting_category'];
if (strlen($row['user_setting_value']) > 0) { $subcategory = $row['user_setting_subcategory'];
if (strlen($subcategory) == 0) { if (strlen($row['user_setting_value']) > 0) {
//$$category[$name] = $row['domain_setting_value']; if (strlen($subcategory) == 0) {
if ($name == "array") { //$$category[$name] = $row['domain_setting_value'];
$_SESSION[$category][] = $row['user_setting_value']; if ($name == "array") {
$_SESSION[$category][] = $row['user_setting_value'];
}
else {
$_SESSION[$category][$name] = $row['user_setting_value'];
}
} }
else { else {
$_SESSION[$category][$name] = $row['user_setting_value']; //$$category[$subcategory][$name] = $row['domain_setting_value'];
} if ($name == "array") {
} else { $_SESSION[$category][$subcategory][] = $row['user_setting_value'];
//$$category[$subcategory][$name] = $row['domain_setting_value']; }
if ($name == "array") { else {
$_SESSION[$category][$subcategory][] = $row['user_setting_value']; $_SESSION[$category][$subcategory][$name] = $row['user_setting_value'];
} }
else {
$_SESSION[$category][$subcategory][$name] = $row['user_setting_value'];
} }
} }
} }
@@ -295,7 +300,8 @@
else { else {
$_SESSION[$category][$name] = $row['default_setting_value']; $_SESSION[$category][$name] = $row['default_setting_value'];
} }
} else { }
else {
if ($name == "array") { if ($name == "array") {
$_SESSION[$category][$subcategory][] = $row['default_setting_value']; $_SESSION[$category][$subcategory][] = $row['default_setting_value'];
} }