Update app_defaults.php

This commit is contained in:
FusionPBX 2017-01-12 15:46:33 -07:00 committed by GitHub
parent 65a2945e73
commit 3aadcf4ee7
1 changed files with 43 additions and 72 deletions

View File

@ -327,7 +327,6 @@
$array[$x]['default_setting_enabled'] = 'true'; $array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = ''; $array[$x]['default_setting_description'] = '';
//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 .= "where default_setting_category = 'provision' "; $sql .= "where default_setting_category = 'provision' ";
@ -336,87 +335,59 @@
$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 //find the missing default settings
$x = 0; $x = 0;
foreach ($array as $setting) { foreach ($array as $setting) {
$found = false; $found = false;
$missing[$x] = $setting; $missing[$x] = $setting;
if (is_array($default_settings)) {
foreach ($default_settings as $row) { foreach ($default_settings as $row) {
if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory'])) { if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory']) && trim($row['default_setting_name']) == trim($setting['default_setting_name'])) {
$found = true; $found = true;
//remove items from the array that were found //remove items from the array that were found
unset($missing[$x]); unset($missing[$x]);
} }
} }
$x++;
} }
unset($array); $x++;
}
//update the array structure //get the missing count
if (is_array($missing)) { $i = 0;
$array['default_settings'] = $missing; if (is_array($missing)) foreach ($missing as $row) { $i++; }
unset($missing); $missing_count = $i;
}
//add the default settings //add the missing default settings
if (is_array($array)) { if (is_array($missing)) {
$database = new database; $sql = "insert into v_default_settings (";
$database->app_name = 'default_settings'; $sql .= "default_setting_uuid, ";
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09'; $sql .= "default_setting_category, ";
$database->save($array); $sql .= "default_setting_subcategory, ";
$message = $database->message; $sql .= "default_setting_name, ";
unset($database); $sql .= "default_setting_value, ";
} $sql .= "default_setting_enabled, ";
$sql .= "default_setting_description ";
//move the dynamic provision variables that from v_vars table to v_default_settings $sql .= ") values \n";
if (count($_SESSION['provision']) == 0) { $i = 1;
$sql = "select * from v_vars "; foreach ($missing as $row) {
$sql .= "where var_cat = 'Provision' "; $sql .= "(";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= "'".$row['default_setting_uuid']."', ";
$prep_statement->execute(); $sql .= "'".$row['default_setting_category']."', ";
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $sql .= "'".$row['default_setting_subcategory']."', ";
foreach ($result as &$row) { $sql .= "'".$row['default_setting_name']."', ";
//set the variable $sql .= "'".$row['default_setting_value']."', ";
$var_name = check_str($row['var_name']); $sql .= "'".$row['default_setting_enabled']."', ";
//remove the 'v_' prefix from the variable name $sql .= "'".$row['default_setting_description']."' ";
if (substr($var_name, 0, 2) == "v_") { $sql .= ")";
$var_name = substr($var_name, 2); if ($missing_count != $i) {
} $sql .= ",\n";
//add the provision variable to the default settings table
$sql = "insert into v_default_settings ";
$sql .= "(";
$sql .= "default_setting_uuid, ";
$sql .= "default_setting_category, ";
$sql .= "default_setting_subcategory, ";
$sql .= "default_setting_name, ";
$sql .= "default_setting_value, ";
$sql .= "default_setting_enabled, ";
$sql .= "default_setting_description ";
$sql .= ") ";
$sql .= "values ";
$sql .= "(";
$sql .= "'".uuid()."', ";
$sql .= "'provision', ";
$sql .= "'".$var_name."', ";
$sql .= "'var', ";
$sql .= "'".check_str($row['var_value'])."', ";
$sql .= "'".check_str($row['var_enabled'])."', ";
$sql .= "'".check_str($row['var_description'])."' ";
$sql .= ")";
$db->exec(check_sql($sql));
unset($sql);
} }
unset($prep_statement); $i++;
//delete the provision variables from system -> variables
//$sql = "delete from v_vars ";
//$sql .= "where var_cat = 'Provision' ";
//echo $sql ."\n";
//$db->exec(check_sql($sql));
//echo "$var_name $var_value \n";
} }
$db->exec(check_sql($sql));
//unset the array variable unset($missing);
unset($array); }
} unset($sql);
}
?> ?>