Update domains.php

This commit is contained in:
FusionPBX
2017-01-14 18:15:34 -07:00
committed by GitHub
parent ca9dd75335
commit b34f1769f0
+35 -23
View File
@@ -399,45 +399,57 @@ if (!class_exists('domains')) {
//get an array of the default settings //get an array of the default settings
$sql = "select * from v_default_settings "; $sql = "select * from v_default_settings ";
$sql .= "order by default_setting_category asc, default_setting_subcategory asc";
$prep_statement = $this->db->prepare($sql); $prep_statement = $this->db->prepare($sql);
$prep_statement->execute(); $prep_statement->execute();
$default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED); $default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
unset ($prep_statement, $sql); unset ($prep_statement, $sql);
//find the missing default settings //named array
foreach ($default_settings as $row) {
$default_settings[$row['default_setting_category']][$row['default_setting_subcategory']][$row['default_setting_name']]['uuid'] = $row['default_setting_uuid'];
$default_settings[$row['default_setting_category']][$row['default_setting_subcategory']][$row['default_setting_name']]['value'] = $row['default_setting_value'];
$default_settings[$row['default_setting_category']][$row['default_setting_subcategory']][$row['default_setting_name']]['app_uuid'] = $row['app_uuid'];
//echo "[".$row['default_setting_category']."][".$row['default_setting_subcategory']."][".$row['default_setting_name']."] = ".$row['default_setting_value']."\n";
}
//update matching settings with the correct default_setting_uuid and app_uuid and if they exist remove them from the array
$x = 0; $x = 0;
foreach ($array as $setting) { foreach ($array as $row) {
foreach ($default_settings as $row) { $category = $row['default_setting_category'];
if (trim($row['default_setting_category']) == trim($setting['default_setting_category']) $subcategory = $row['default_setting_subcategory'];
&& trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory']) $name = $row['default_setting_name'];
&& trim($row['default_setting_name']) == trim($setting['default_setting_name'])
&& trim($row['default_setting_value']) == trim($setting['default_setting_value'])) {
//update matching settings if (isset($default_settings[$category][$subcategory][$name]['value'])) {
if ($row['default_setting_uuid'] != $setting['default_setting_uuid']) { //set the variables
$sql = "update v_default_settings "; $default_setting_uuid = $default_settings[$category][$subcategory][$name]['uuid'];
$sql .= "set default_setting_uuid = '".$setting['default_setting_uuid']."', "; $app_uuid = $default_settings[$category][$subcategory][$name]['app_uuid'];
$sql .= "app_uuid = '".$setting['app_uuid']."' "; //update matching settings
$sql .= "where default_setting_uuid = '".$row['default_setting_uuid']."';"; if ($app_uuid == null) {
//echo $sql."\n"; $sql = "update v_default_settings set ";
$this->db->exec(check_sql($sql)); if ($default_setting_uuid != $row['default_setting_uuid']) {
$sql .= "default_setting_uuid = '".$row['default_setting_uuid']."', ";
} }
$sql .= "app_uuid = '".$row['app_uuid']."' ";
$sql .= "where default_setting_uuid = '".$row['default_setting_uuid']."';";
echo $category." ".$subcategory." ".$name." ".$app_uuid."\n";
echo $sql."\n";
$this->db->exec(check_sql($sql));
//echo "\n";
}
//remove settings from the array that were found //remove settings from the array that were found
unset($array[$x]); unset($array[$x]);
}
} }
$x++; $x++;
} }
unset($default_settings); unset($default_settings);
//get the missing count //get the missing count
$i = 0; $array_count = count($array);
foreach ($array as $row) { $i++; }
$array_count = $i;
//add the missing default settings //add the missing default settings
if (is_array($array)) { if (is_array($array) && count($array) > 0) {
$sql = "insert into v_default_settings ("; $sql = "insert into v_default_settings (";
$sql .= "default_setting_uuid, "; $sql .= "default_setting_uuid, ";
$sql .= "default_setting_category, "; $sql .= "default_setting_category, ";
@@ -463,7 +475,7 @@ if (!class_exists('domains')) {
} }
$i++; $i++;
} }
//echo $sql; echo $sql."\n";
$this->db->exec(check_sql($sql)); $this->db->exec(check_sql($sql));
unset($array); unset($array);
} }