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,58 +27,128 @@
//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();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC); $default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
if ($row['num_rows'] == 0) { unset ($prep_statement, $sql);
$sql = "insert into v_default_settings ";
$sql .= "("; //find the missing default settings
$sql .= "default_setting_uuid, "; $x = 0;
$sql .= "default_setting_category, "; foreach ($array as $setting) {
$sql .= "default_setting_subcategory, "; $found = false;
$sql .= "default_setting_name, "; $missing[$x] = $setting;
$sql .= "default_setting_value, "; foreach ($default_settings as $row) {
$sql .= "default_setting_enabled, "; if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory'])) {
$sql .= "default_setting_description "; $found = true;
$sql .= ")"; //remove items from the array that were found
$sql .= "values "; unset($missing[$x]);
$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) {
//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 = "insert into v_default_settings ";
$sql .= "("; $sql .= "(";
$sql .= "default_setting_uuid, "; $sql .= "default_setting_uuid, ";
@ -92,25 +162,23 @@ if ($domains_processed == 1) {
$sql .= "values "; $sql .= "values ";
$sql .= "("; $sql .= "(";
$sql .= "'".uuid()."', "; $sql .= "'".uuid()."', ";
$sql .= "'security', "; $sql .= "'provision', ";
$sql .= "'password_length', "; $sql .= "'".$var_name."', ";
$sql .= "'var', "; $sql .= "'var', ";
$sql .= "'10', "; $sql .= "'".check_str($row['var_value'])."', ";
$sql .= "'true', "; $sql .= "'".check_str($row['var_enabled'])."', ";
$sql .= "'Sets the default length for system generated passwords.' "; $sql .= "'".check_str($row['var_description'])."' ";
$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 .= ")"; $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