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

View File

@@ -27,90 +27,158 @@
//process this only one time //process this only one time
if ($domains_processed == 1) { if ($domains_processed == 1) {
//ensure that the language code is set //define array of settings
$sql = "select count(*) as num_rows from v_default_settings "; $x = 0;
$sql .= "where default_setting_category = 'domain' "; $array[$x]['default_setting_category'] = 'domain';
$sql .= "and default_setting_subcategory = 'language' "; $array[$x]['default_setting_subcategory'] = 'language';
$sql .= "and default_setting_name = 'code' "; $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); $prep_statement = $db->prepare($sql);
if ($prep_statement) { $prep_statement->execute();
$prep_statement->execute(); $default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
$row = $prep_statement->fetch(PDO::FETCH_ASSOC); unset ($prep_statement, $sql);
if ($row['num_rows'] == 0) {
$sql = "insert into v_default_settings "; //find the missing default settings
$sql .= "("; $x = 0;
$sql .= "default_setting_uuid, "; foreach ($array as $setting) {
$sql .= "default_setting_category, "; $found = false;
$sql .= "default_setting_subcategory, "; $missing[$x] = $setting;
$sql .= "default_setting_name, "; foreach ($default_settings as $row) {
$sql .= "default_setting_value, "; if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory'])) {
$sql .= "default_setting_enabled, "; $found = true;
$sql .= "default_setting_description "; //remove items from the array that were found
$sql .= ")"; unset($missing[$x]);
$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);
} }
unset($prep_statement, $row); $x++;
} }
//ensure that the default password length and strength are set //add the missing default settings
$sql = "select count(*) as num_rows from v_default_settings "; foreach ($missing as $row) {
$sql .= "where ( "; //add the default settings
$sql .= "default_setting_category = 'security' "; $orm = new orm;
$sql .= "and default_setting_subcategory = 'password_length' "; $orm->name('default_settings');
$sql .= "and default_setting_name = 'var' "; $orm->save($row);
$sql .= ") or ( "; $message = $orm->message;
$sql .= "default_setting_category = 'security' "; unset($orm);
$sql .= "and default_setting_subcategory = 'password_strength' "; //print_r($message);
$sql .= "and default_setting_name = 'var' "; }
$sql .= ") "; unset($missing);
$prep_statement = $db->prepare($sql);
if ($prep_statement) { //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(); $prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
if ($row['num_rows'] == 0) { foreach ($result as &$row) {
$sql = "insert into v_default_settings "; //set the variable
$sql .= "( "; $var_name = check_str($row['var_name']);
$sql .= "default_setting_uuid, "; //remove the 'v_' prefix from the variable name
$sql .= "default_setting_category, "; if (substr($var_name, 0, 2) == "v_") {
$sql .= "default_setting_subcategory, "; $var_name = substr($var_name, 2);
$sql .= "default_setting_name, "; }
$sql .= "default_setting_value, "; //add the provision variable to the default settings table
$sql .= "default_setting_enabled, "; $sql = "insert into v_default_settings ";
$sql .= "default_setting_description "; $sql .= "(";
$sql .= ") "; $sql .= "default_setting_uuid, ";
$sql .= "values "; $sql .= "default_setting_category, ";
$sql .= "( "; $sql .= "default_setting_subcategory, ";
$sql .= "'".uuid()."', "; $sql .= "default_setting_name, ";
$sql .= "'security', "; $sql .= "default_setting_value, ";
$sql .= "'password_length', "; $sql .= "default_setting_enabled, ";
$sql .= "'var', "; $sql .= "default_setting_description ";
$sql .= "'10', "; $sql .= ") ";
$sql .= "'true', "; $sql .= "values ";
$sql .= "'Sets the default length for system generated passwords.' "; $sql .= "(";
$sql .= "), ( "; $sql .= "'".uuid()."', ";
$sql .= "'".uuid()."', "; $sql .= "'provision', ";
$sql .= "'security', "; $sql .= "'".$var_name."', ";
$sql .= "'password_strength', "; $sql .= "'var', ";
$sql .= "'var', "; $sql .= "'".check_str($row['var_value'])."', ";
$sql .= "'4', "; $sql .= "'".check_str($row['var_enabled'])."', ";
$sql .= "'true', "; $sql .= "'".check_str($row['var_description'])."' ";
$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 .= ")";
$sql .= ") "; $db->exec(check_sql($sql));
$db->exec(check_sql($sql)); unset($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 //populate the languages table, if necessary
@@ -282,19 +350,19 @@ if ($domains_processed == 1) {
unset($prep_statement, $row); unset($prep_statement, $row);
} }
//set the sip_profiles directory for older installs //set the sip_profiles directory for older installs
if (isset($_SESSION['switch']['gateways']['dir'])) { if (isset($_SESSION['switch']['gateways']['dir'])) {
$orm = new orm; $orm = new orm;
$orm->name('default_settings'); $orm->name('default_settings');
$orm->uuid($_SESSION['switch']['gateways']['uuid']); $orm->uuid($_SESSION['switch']['gateways']['uuid']);
$array['default_setting_category'] = 'switch'; $array['default_setting_category'] = 'switch';
$array['default_setting_subcategory'] = 'sip_profiles'; $array['default_setting_subcategory'] = 'sip_profiles';
$array['default_setting_name'] = 'dir'; $array['default_setting_name'] = 'dir';
//$array['default_setting_value'] = ''; //$array['default_setting_value'] = '';
//$array['default_setting_enabled'] = 'true'; //$array['default_setting_enabled'] = 'true';
$orm->save($array); $orm->save($array);
unset($array); unset($array);
} }
} }
?> ?>