Эх сурвалжийг харах

Add the switch default settings in a more efficient way.

markjcrane 9 жил өмнө
parent
commit
58f3ffd2ee

+ 28 - 9
resources/classes/switch_settings.php

@@ -224,16 +224,35 @@ if (!class_exists('switch_settings')) {
 				}
 
 			//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);
+				if (is_array($missing)) {
+					$sql = "insert into v_default_settings (";
+					$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 .= ") values \n";
+					$i = 1;
+					foreach ($missing as $row) {
+						$sql .= "(";
+						$sql .= "'".uuid()."', ";
+						$sql .= "'".check_str($row['default_setting_category'])."', ";
+						$sql .= "'".check_str($row['default_setting_subcategory'])."', ";
+						$sql .= "'".check_str($row['default_setting_name'])."', ";
+						$sql .= "'".check_str($row['default_setting_value'])."', ";
+						$sql .= "'".check_str($row['default_setting_enabled'])."', ";
+						$sql .= "'".check_str($row['default_setting_description'])."' ";
+						$sql .= ")";
+						if (sizeof($missing) != $i) { 
+							$sql .= ",\n";
+						}
+						$i++;
+					}
+					$db->exec(check_sql($sql));
+					unset($missing);
 				}
-				unset($missing);
 
 			//set the default settings
 				foreach ($array as $row) {