Move the email settings into default settings app_defaults.php.

This commit is contained in:
markjcrane 2015-08-03 10:11:41 -06:00
parent 84a97b52fa
commit c8f87ac7e2
1 changed files with 159 additions and 91 deletions

View File

@ -27,90 +27,158 @@
//process this only one time
if ($domains_processed == 1) {
//ensure that the language code is set
$sql = "select count(*) as num_rows from v_default_settings ";
$sql .= "where default_setting_category = 'domain' ";
$sql .= "and default_setting_subcategory = 'language' ";
$sql .= "and default_setting_name = 'code' ";
//define array of settings
$x = 0;
$array[$x]['default_setting_category'] = 'domain';
$array[$x]['default_setting_subcategory'] = 'language';
$array[$x]['default_setting_name'] = 'code';
$array[$x]['default_setting_value'] = 'en-us';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
$array[$x]['default_setting_category'] = 'security';
$array[$x]['default_setting_subcategory'] = 'password_length';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '10';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Sets the default length for system generated passwords.';
$x++;
$array[$x]['default_setting_category'] = 'security';
$array[$x]['default_setting_subcategory'] = 'password_strength';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '4';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set the default strength for system generated passwords. Valid Options: 1 - Numeric Only, 2 - Include Lower Apha, 3 - Include Upper Alpha, 4 - Include Special Characters.';
$x++;
$array[$x]['default_setting_category'] = 'email';
$array[$x]['default_setting_subcategory'] = 'smtp_auth';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
$array[$x]['default_setting_category'] = 'email';
$array[$x]['default_setting_subcategory'] = 'smtp_from';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
$array[$x]['default_setting_category'] = 'email';
$array[$x]['default_setting_subcategory'] = 'smtp_from_name';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
$array[$x]['default_setting_category'] = 'email';
$array[$x]['default_setting_subcategory'] = 'smtp_host';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
$array[$x]['default_setting_category'] = 'email';
$array[$x]['default_setting_subcategory'] = 'smtp_username';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
$array[$x]['default_setting_category'] = 'email';
$array[$x]['default_setting_subcategory'] = 'smtp_password';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
$array[$x]['default_setting_category'] = 'email';
$array[$x]['default_setting_subcategory'] = 'smtp_secure';
$array[$x]['default_setting_name'] = 'var';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
//get an array of the default settings
$sql = "select * from v_default_settings ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
if ($row['num_rows'] == 0) {
$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 .= "'domain', ";
$sql .= "'language', ";
$sql .= "'code', ";
$sql .= "'en-us', ";
$sql .= "'true', ";
$sql .= "'' ";
$sql .= ")";
$db->exec(check_sql($sql));
unset($sql);
$prep_statement->execute();
$default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
unset ($prep_statement, $sql);
//find the missing default settings
$x = 0;
foreach ($array as $setting) {
$found = false;
$missing[$x] = $setting;
foreach ($default_settings as $row) {
if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory'])) {
$found = true;
//remove items from the array that were found
unset($missing[$x]);
}
}
unset($prep_statement, $row);
$x++;
}
//ensure that the default password length and strength are set
$sql = "select count(*) as num_rows from v_default_settings ";
$sql .= "where ( ";
$sql .= "default_setting_category = 'security' ";
$sql .= "and default_setting_subcategory = 'password_length' ";
$sql .= "and default_setting_name = 'var' ";
$sql .= ") or ( ";
$sql .= "default_setting_category = 'security' ";
$sql .= "and default_setting_subcategory = 'password_strength' ";
$sql .= "and default_setting_name = 'var' ";
$sql .= ") ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
//add the missing default settings
foreach ($missing as $row) {
//add the default settings
$orm = new orm;
$orm->name('default_settings');
$orm->save($row);
$message = $orm->message;
unset($orm);
//print_r($message);
}
unset($missing);
//move the dynamic provision variables that from v_vars table to v_default_settings
if (count($_SESSION['provision']) == 0) {
$sql = "select * from v_vars ";
$sql .= "where var_cat = 'Provision' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
if ($row['num_rows'] == 0) {
$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 .= "'security', ";
$sql .= "'password_length', ";
$sql .= "'var', ";
$sql .= "'10', ";
$sql .= "'true', ";
$sql .= "'Sets the default length for system generated passwords.' ";
$sql .= "), ( ";
$sql .= "'".uuid()."', ";
$sql .= "'security', ";
$sql .= "'password_strength', ";
$sql .= "'var', ";
$sql .= "'4', ";
$sql .= "'true', ";
$sql .= "'Sets the default strength for system generated passwords. Valid Options: 1 - Numeric Only, 2 - Include Lower Apha, 3 - Include Upper Alpha, 4 - Include Special Characters' ";
$sql .= ") ";
$db->exec(check_sql($sql));
unset($sql);
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach ($result as &$row) {
//set the variable
$var_name = check_str($row['var_name']);
//remove the 'v_' prefix from the variable name
if (substr($var_name, 0, 2) == "v_") {
$var_name = substr($var_name, 2);
}
//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, $row);
unset($prep_statement);
//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";
}
//populate the languages table, if necessary
@ -282,19 +350,19 @@ if ($domains_processed == 1) {
unset($prep_statement, $row);
}
//set the sip_profiles directory for older installs
if (isset($_SESSION['switch']['gateways']['dir'])) {
$orm = new orm;
$orm->name('default_settings');
$orm->uuid($_SESSION['switch']['gateways']['uuid']);
$array['default_setting_category'] = 'switch';
$array['default_setting_subcategory'] = 'sip_profiles';
$array['default_setting_name'] = 'dir';
//$array['default_setting_value'] = '';
//$array['default_setting_enabled'] = 'true';
$orm->save($array);
unset($array);
}
//set the sip_profiles directory for older installs
if (isset($_SESSION['switch']['gateways']['dir'])) {
$orm = new orm;
$orm->name('default_settings');
$orm->uuid($_SESSION['switch']['gateways']['uuid']);
$array['default_setting_category'] = 'switch';
$array['default_setting_subcategory'] = 'sip_profiles';
$array['default_setting_name'] = 'dir';
//$array['default_setting_value'] = '';
//$array['default_setting_enabled'] = 'true';
$orm->save($array);
unset($array);
}
}
?>