Quellcode durchsuchen

Move the email settings into default settings app_defaults.php.

markjcrane vor 10 Jahren
Ursprung
Commit
70fbcab822
1 geänderte Dateien mit 159 neuen und 91 gelöschten Zeilen
  1. 159 91
      core/default_settings/app_defaults.php

+ 159 - 91
core/default_settings/app_defaults.php

@@ -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
-		$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);
 		$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();
 			$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
 	//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
-	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);
+		}
 }
 }
 
 
 ?>
 ?>