Преглед на файлове

Database class integration. Modify database class singular() method to support table names ending in 'ses', such as v_databases.

Nate преди 6 години
родител
ревизия
3ad54a0d13

+ 10 - 13
core/databases/database_delete.php

@@ -38,23 +38,20 @@ else {
 	$language = new text;
 	$text = $language->get();
 
-//get the id
-	if (count($_GET) > 0) {
-		$id = check_str($_GET["id"]);
-	}
-
 //delete the records
-	if (strlen($id) > 0) {
-		$sql = "";
-		$sql .= "delete from v_databases ";
-		$sql .= "where database_uuid = '$id' ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->execute();
-		unset($sql);
+	if (is_uuid($_GET["id"])) {
+		$database_uuid = $_GET["id"];
+		$array['databases'][0]['database_uuid'] = $database_uuid;
+		$database = new database;
+		$database->app_name = 'databases';
+		$database->app_uuid = '8d229b6d-1383-fcec-74c6-4ce1682479e2';
+		$database->delete($array);
+		unset($array);
+
+		message::add($text['message-delete']);
 	}
 
 //redirect the browser
-	message::add($text['message-delete']);
 	header("Location: databases.php");
 	return;
 

+ 52 - 71
core/databases/database_edit.php

@@ -39,9 +39,9 @@ else {
 	$text = $language->get();
 
 //action add or update
-	if (isset($_REQUEST["id"])) {
+	if (is_uuid($_REQUEST["id"])) {
 		$action = "update";
-		$database_uuid = check_str($_REQUEST["id"]);
+		$database_uuid = $_REQUEST["id"];
 	}
 	else {
 		$action = "add";
@@ -60,22 +60,22 @@ else {
 
 //get http post variables and set them to php variables
 	if (count($_POST)>0) {
-		$database_driver = check_str($_POST["database_driver"]);
-		$database_type = check_str($_POST["database_type"]);
-		$database_host = check_str($_POST["database_host"]);
-		$database_port = check_str($_POST["database_port"]);
-		$database_name = check_str($_POST["database_name"]);
-		$database_username = check_str($_POST["database_username"]);
-		$database_password = check_str($_POST["database_password"]);
-		$database_path = check_str($_POST["database_path"]);
-		$database_description = check_str($_POST["database_description"]);
+		$database_driver = $_POST["database_driver"];
+		$database_type = $_POST["database_type"];
+		$database_host = $_POST["database_host"];
+		$database_port = $_POST["database_port"];
+		$database_name = $_POST["database_name"];
+		$database_username = $_POST["database_username"];
+		$database_password = $_POST["database_password"];
+		$database_path = $_POST["database_path"];
+		$database_description = $_POST["database_description"];
 	}
 
 if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
 
 	$msg = '';
 	if ($action == "update") {
-		$database_uuid = check_str($_POST["database_uuid"]);
+		$database_uuid = $_POST["database_uuid"];
 	}
 
 	//check for all required data
@@ -103,39 +103,27 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
 
 	//add or update the database
 	if ($_POST["persistformvar"] != "true") {
+
+		//begin array
+			$array['databases'][0]['database_driver'] = $database_driver;
+			$array['databases'][0]['database_type'] = $database_type;
+			$array['databases'][0]['database_host'] = $database_host;
+			$array['databases'][0]['database_port'] = $database_port;
+			$array['databases'][0]['database_name'] = $database_name;
+			$array['databases'][0]['database_username'] = $database_username;
+			$array['databases'][0]['database_password'] = $database_password;
+			$array['databases'][0]['database_path'] = $database_path;
+			$array['databases'][0]['database_description'] = $database_description;
+
 		if ($action == "add") {
-			//add the data
-				$database_uuid = uuid();
-				$sql = "insert into v_databases ";
-				$sql .= "(";
-				//$sql .= "domain_uuid, ";
-				$sql .= "database_uuid, ";
-				$sql .= "database_driver, ";
-				$sql .= "database_type, ";
-				$sql .= "database_host, ";
-				$sql .= "database_port, ";
-				$sql .= "database_name, ";
-				$sql .= "database_username, ";
-				$sql .= "database_password, ";
-				$sql .= "database_path, ";
-				$sql .= "database_description ";
-				$sql .= ")";
-				$sql .= "values ";
-				$sql .= "(";
-				//$sql .= "'$domain_uuid', ";
-				$sql .= "'$database_uuid', ";
-				$sql .= "'$database_driver', ";
-				$sql .= "'$database_type', ";
-				$sql .= "'$database_host', ";
-				$sql .= "'$database_port', ";
-				$sql .= "'$database_name', ";
-				$sql .= "'$database_username', ";
-				$sql .= "'$database_password', ";
-				$sql .= "'$database_path', ";
-				$sql .= "'$database_description' ";
-				$sql .= ")";
-				$db->exec(check_sql($sql));
-				unset($sql);
+			//add new uuid
+				$array['databases'][0]['database_uuid'] = uuid();
+
+				$database = new database;
+				$database->app_name = 'databases';
+				$database->app_uuid = '8d229b6d-1383-fcec-74c6-4ce1682479e2';
+				$database->save($array);
+				unset($array);
 
 			//set the defaults
 				require_once "app_defaults.php";
@@ -143,24 +131,18 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
 			//redirect the browser
 				message::add($text['message-add']);
 				header("Location: databases.php");
-				return;
-		} //if ($action == "add")
+				exit;
+		}
 
 		if ($action == "update") {
-			//udpate the database
-				$sql = "update v_databases set ";
-				$sql .= "database_type = '$database_type', ";
-				$sql .= "database_driver = '$database_driver', ";
-				$sql .= "database_host = '$database_host', ";
-				$sql .= "database_port = '$database_port', ";
-				$sql .= "database_name = '$database_name', ";
-				$sql .= "database_username = '$database_username', ";
-				$sql .= "database_password = '$database_password', ";
-				$sql .= "database_path = '$database_path', ";
-				$sql .= "database_description = '$database_description' ";
-				$sql .= "where database_uuid = '$database_uuid' ";
-				$db->exec(check_sql($sql));
-				unset($sql);
+			//add uuid to update
+				$array['databases'][0]['database_uuid'] = $database_uuid;
+
+				$database = new database;
+				$database->app_name = 'databases';
+				$database->app_uuid = '8d229b6d-1383-fcec-74c6-4ce1682479e2';
+				$database->save($array);
+				unset($array);
 
 			//set the defaults
 				$domains_processed = 1;
@@ -169,20 +151,20 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
 			//redirect the browser
 				message::add($text['message-update']);
 				header("Location: databases.php");
-				return;
-		} //if ($action == "update")
-	} //if ($_POST["persistformvar"] != "true")
-} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
+				exit;
+		}
+	}
+}
 
 //pre-populate the form
 	if (count($_GET)>0 && $_POST["persistformvar"] != "true") {
 		$database_uuid = $_GET["id"];
 		$sql = "select * from v_databases ";
-		$sql .= "where database_uuid = '$database_uuid' ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->execute();
-		$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-		foreach ($result as &$row) {
+		$sql .= "where database_uuid = :database_uuid ";
+		$parameters['database_uuid'] = $database_uuid;
+		$database = new database;
+		$row = $database->select($sql, $parameters, 'row');
+		if (is_array($row) && sizeof($row) != 0) {
 			$database_driver = $row["database_driver"];
 			$database_type = $row["database_type"];
 			$database_host = $row["database_host"];
@@ -192,9 +174,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
 			$database_password = $row["database_password"];
 			$database_path = $row["database_path"];
 			$database_description = $row["database_description"];
-			break; //limit to 1 row
 		}
-		unset ($prep_statement);
+		unset($sql, $parameters, $row);
 	}
 
 //show the header

+ 12 - 22
core/databases/databases.php

@@ -61,19 +61,11 @@ else {
 	echo "</table>\n";
 
 	//prepare to page the results
-		$sql = " select count(*) as num_rows from v_databases ";
-		if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; }
-		$prep_statement = $db->prepare($sql);
-		if ($prep_statement) {
-		$prep_statement->execute();
-			$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
-			if ($row['num_rows'] > 0) {
-				$num_rows = $row['num_rows'];
-			}
-			else {
-				$num_rows = '0';
-			}
-		}
+		$sql = "select count(*) from v_databases ";
+		$sql .= order_by($order_by, $order);
+		$database = new database;
+		$num_rows = $database->select($sql, null, 'column');
+		unset($sql);
 
 	//prepare to page the results
 		$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
@@ -85,13 +77,11 @@ else {
 
 	//get the  list
 		$sql = "select * from v_databases ";
-		if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; }
-		$sql .= "limit $rows_per_page offset $offset ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->execute();
-		$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-		$result_count = count($result);
-		unset ($prep_statement, $sql);
+		$sql .= order_by($order_by, $order);
+		$sql .= limit_offset($rows_per_page, $offset);
+		$database = new database;
+		$result = $database->select($sql, null, 'all');
+		unset($sql);
 
 	$c = 0;
 	$row_style["0"] = "row_style0";
@@ -113,7 +103,7 @@ else {
 	echo "</td>\n";
 	echo "</tr>\n";
 
-	if ($result_count > 0) {
+	if (is_array($result) && sizeof($result) != 0) {
 		foreach($result as $row) {
 			$tr_link = "href='database_edit.php?id=".$row['database_uuid']."'";
 			echo "<tr ".$tr_link.">\n";
@@ -132,7 +122,7 @@ else {
 			echo "</tr>\n";
 			if ($c==0) { $c=1; } else { $c=0; }
 		} //end foreach
-		unset($sql, $result, $row_count);
+		unset($result);
 	} //end if results
 
 	echo "<tr>\n";

+ 46 - 46
core/default_settings/default_setting_edit.php

@@ -43,24 +43,24 @@
 	$text = $language->get();
 
 //action add or update
-	if (isset($_REQUEST["id"])) {
+	if (is_uuid($_REQUEST["id"])) {
 		$action = "update";
-		$default_setting_uuid = check_str($_REQUEST["id"]);
+		$default_setting_uuid = $_REQUEST["id"];
 	}
 	else {
 		$action = "add";
 	}
-	$search = check_str($_REQUEST['search']);
+	$search = $_REQUEST['search'];
 
 //get http post variables and set them to php variables
 	if (count($_REQUEST) > 0) {
-		$default_setting_category = strtolower(check_str($_REQUEST["default_setting_category"]));
-		$default_setting_subcategory = strtolower(check_str($_POST["default_setting_subcategory"]));
-		$default_setting_name = strtolower(check_str($_POST["default_setting_name"]));
-		$default_setting_value = check_str($_POST["default_setting_value"]);
-		$default_setting_order = check_str($_POST["default_setting_order"]);
-		$default_setting_enabled = check_str($_POST["default_setting_enabled"]);
-		$default_setting_description = check_str($_POST["default_setting_description"]);
+		$default_setting_category = strtolower($_REQUEST["default_setting_category"]);
+		$default_setting_subcategory = strtolower($_POST["default_setting_subcategory"]);
+		$default_setting_name = strtolower($_POST["default_setting_name"]);
+		$default_setting_value = $_POST["default_setting_value"];
+		$default_setting_order = $_POST["default_setting_order"];
+		$default_setting_enabled = $_POST["default_setting_enabled"];
+		$default_setting_description = $_POST["default_setting_description"];
 	}
 
 //process the http post
@@ -68,7 +68,7 @@
 
 		//set the default_setting_uuid
 			if ($action == "update") {
-				$default_setting_uuid = check_str($_POST["default_setting_uuid"]);
+				$default_setting_uuid = $_POST["default_setting_uuid"];
 			}
 			else {
 				$default_setting_uuid = uuid();
@@ -104,30 +104,31 @@
 				//update switch timezone variables
 				if ($default_setting_category == "domain" && $default_setting_subcategory == "time_zone" && $default_setting_name == "name" ) {
 					//get the action
-						$sql = "select * from v_vars ";
+						$sql = "select count(*) from v_vars ";
 						$sql .= "where var_name = 'timezone' ";
-						$prep_statement = $db->prepare(check_sql($sql));
-						$prep_statement->execute();
-						$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-						$var_action = "add";
-						foreach ($result as $row) {
-							$var_action = "update";
-						}
-						unset ($prep_statement);
-
-					//update the timezone
-						if ($var_action == "update") {
+						$database = new database;
+						$num_rows = $database->select($sql, null, 'column');
+						unset($sql);
+					//update
+						if ($num_rows != 0) {
 							$sql = "update v_vars ";
-							$sql .= "set var_value = '".$default_setting_value."' ";
+							$sql .= "set var_value = :default_setting_value ";
 							$sql .= "where var_name = 'timezone' ";
+							$parameters['default_setting_value'] = $default_setting_value;
 						}
+					//insert
 						else {
 							$sql = "insert into v_vars ";
 							$sql .= "(var_uuid, var_name, var_value, var_category, var_command, var_enabled) ";
-							$sql .= "values ('".uuid()."', 'timezone', '$default_setting_value', 'Defaults', 'set', 'true'); ";
+							$sql .= "values ('".uuid()."', 'timezone', :default_setting_value, 'Defaults', 'set', 'true'); ";
+							$parameters['default_setting_value'] = $default_setting_value;
 						}
-						$db->query($sql);
-						unset($sql);
+					//execute
+						$database = new database;
+						$database->app_name = 'default_settings';
+						$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
+						$database->execute($sql, $parameters);
+						unset($sql, $parameters);
 
 					//synchronize the configuration
 						save_var_xml();
@@ -167,13 +168,13 @@
 
 //pre-populate the form
 	if (count($_GET) > 0 && $_POST["persistformvar"] != "true") {
-		$default_setting_uuid = check_str($_GET["id"]);
+		$default_setting_uuid = $_GET["id"];
 		$sql = "select * from v_default_settings ";
-		$sql .= "where default_setting_uuid = '$default_setting_uuid' ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->execute();
-		$default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-		foreach ($default_settings as &$row) {
+		$sql .= "where default_setting_uuid = :default_setting_uuid ";
+		$parameters['default_setting_uuid'] = $default_setting_uuid;
+		$database = new database;
+		$row = $database->select($sql, $parameters, 'row');
+		if (is_array($row) && sizeof($row) != 0) {
 			$default_setting_category = $row["default_setting_category"];
 			$default_setting_subcategory = $row["default_setting_subcategory"];
 			$default_setting_name = $row["default_setting_name"];
@@ -181,9 +182,8 @@
 			$default_setting_order = $row["default_setting_order"];
 			$default_setting_enabled = $row["default_setting_enabled"];
 			$default_setting_description = $row["default_setting_description"];
-			break; //limit to 1 row
 		}
-		unset ($prep_statement);
+		unset($sql, $parameters);
 	}
 
 //show the header
@@ -297,21 +297,21 @@
 	}
 	elseif ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
 		echo "		<select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
-		$sql = "";
 		$sql .= "select * from v_menus ";
 		$sql .= "order by menu_language, menu_name asc ";
-		$sub_prep_statement = $db->prepare(check_sql($sql));
-		$sub_prep_statement->execute();
-		$sub_result = $sub_prep_statement->fetchAll(PDO::FETCH_NAMED);
-		foreach ($sub_result as $sub_row) {
-			if (strtolower($default_setting_value) == strtolower($sub_row["menu_uuid"])) {
-				echo "		<option value='".strtolower($sub_row["menu_uuid"])."' selected='selected'>".$sub_row["menu_language"]." - ".$sub_row["menu_name"]."\n";
-			}
-			else {
-				echo "		<option value='".strtolower($sub_row["menu_uuid"])."'>".$sub_row["menu_language"]." - ".$sub_row["menu_name"]."</option>\n";
+		$database = new database;
+		$sub_result = $database->select($sql, null, 'all');
+		if (is_array($sub_result) && sizeof($sub_result) != 0) {
+			foreach ($sub_result as $sub_row) {
+				if (strtolower($default_setting_value) == strtolower($sub_row["menu_uuid"])) {
+					echo "		<option value='".strtolower($sub_row["menu_uuid"])."' selected='selected'>".$sub_row["menu_language"]." - ".$sub_row["menu_name"]."\n";
+				}
+				else {
+					echo "		<option value='".strtolower($sub_row["menu_uuid"])."'>".$sub_row["menu_language"]." - ".$sub_row["menu_name"]."</option>\n";
+				}
 			}
 		}
-		unset ($sub_prep_statement);
+		unset($sql, $sub_result, $sub_row);
 		echo "		</select>\n";
 	}
 	elseif ($category == "domain" && $subcategory == "template" && $name == "name" ) {

+ 24 - 18
core/default_settings/default_setting_toggle.php

@@ -46,27 +46,33 @@ else {
 	$toggled = 0;
 	if (is_array($default_setting_uuids) && sizeof($default_setting_uuids) > 0) {
 		foreach ($default_setting_uuids as $default_setting_uuid) {
-			//get current status
-				$sql = "select default_setting_enabled from v_default_settings where default_setting_uuid = '".check_str($default_setting_uuid)."'";
-				$prep_statement = $db->prepare(check_sql($sql));
-				$prep_statement->execute();
-				$row = $prep_statement->fetch(PDO::FETCH_NAMED);
-				$new_status = ($row['default_setting_enabled'] == 'true') ? 'false' : "true";
-				unset ($sql, $prep_statement, $row);
-			//set new status
-				$sql = "update v_default_settings set default_setting_enabled = '".$new_status."' where default_setting_uuid = '".check_str($default_setting_uuid)."'";
-				$prep_statement = $db->prepare(check_sql($sql));
-				$prep_statement->execute();
-				unset ($sql, $prep_statement);
-
-			$toggled++;
+			if (is_uuid($default_setting_uuid)) {
+				//get current status
+					$sql = "select default_setting_enabled from v_default_settings where default_setting_uuid = :default_setting_uuid ";
+					$parameters['default_setting_uuid'] = $default_setting_uuid;
+					$database = new database;
+					$default_setting_enabled = $database->select($sql, $parameters, 'column');
+					$new_status = ($default_setting_enabled == 'true') ? 'false' : 'true';
+					unset($sql, $parameters);
+				//set new status
+					$array['default_settings'][0]['default_setting_uuid'] = $default_setting_uuid;
+					$array['default_settings'][0]['default_setting_enabled'] = $new_status;
+					$database = new database;
+					$database->app_name = 'default_settings';
+					$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
+					$database->save($array);
+					$message = $database->message;
+					unset($array);
+				//increment toggle total
+					$toggled++;
+			}
+		}
+		if ($toggled > 0) {
+			$_SESSION["message"] = $text['message-toggled'].': '.$toggled;
 		}
 	}
 
 //redirect the user
-	if ($toggled > 0) {
-		$_SESSION["message"] = $text['message-toggled'].': '.$toggled;
-	}
-	header("Location: default_settings.php".(($search != '') ? '?search='.$search : null));
+	header("Location: default_settings.php".($search != '' ? '?search='.$search : null));
 
 ?>

+ 91 - 118
core/default_settings/default_settings.php

@@ -44,38 +44,41 @@
 
 //get posted values, if any
 	if (sizeof($_REQUEST) > 0) {
-		$action = check_str($_REQUEST["action"]);
+		$action = $_REQUEST["action"];
 		$default_setting_uuids = $_REQUEST["id"];
-		$enabled = check_str($_REQUEST['enabled']);
-		$category = check_str($_REQUEST['category']);
-		$search = check_str($_REQUEST['search']);
-
-		if (sizeof($default_setting_uuids) == 1 && $enabled != '') {
-			$sql = "update v_default_settings set ";
-			$sql .= "default_setting_enabled = '".$enabled."' ";
-			$sql .= "where default_setting_uuid = '".$default_setting_uuids[0]."'";
-			$db->exec(check_sql($sql));
-			unset($sql);
+		$enabled = $_REQUEST['enabled'];
+		$category = $_REQUEST['category'];
+		$search = $_REQUEST['search'];
+
+		if (sizeof($default_setting_uuids) == 1 && $enabled != '' && is_uuid($default_setting_uuids[0])) {
+			$array['default_settings'][0]['default_setting_uuid'] = $default_setting_uuids[0];
+			$array['default_settings'][0]['default_setting_enabled'] = $enabled;
+			$database = new database;
+			$database->app_name = 'default_settings';
+			$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
+			$database->save($array);
+			$message = $database->message;
+			unset($array);
 
 			message::add($text['message-update']);
-			header("Location: default_settings.php".(($search != '') ? "?search=".escape($search) : null)."#anchor_".escape($category));
+			header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null)."#anchor_".escape($category));
 			exit;
 		}
 
 		if ($action == 'copy' && permission_exists('domain_setting_add')) {
-			$target_domain_uuid = check_str($_POST["target_domain_uuid"]);
+			$target_domain_uuid = $_POST["target_domain_uuid"];
 
-			if ($target_domain_uuid != '' && sizeof($default_setting_uuids) > 0) {
+			if (is_uuid($target_domain_uuid) && sizeof($default_setting_uuids) > 0) {
 				$settings_copied = 0;
 				foreach ($default_setting_uuids as $default_setting_uuid) {
 
 					// get default setting from db
 					$sql = "select * from v_default_settings ";
-					$sql .= "where default_setting_uuid = '".$default_setting_uuid."' ";
-					$prep_statement = $db->prepare(check_sql($sql));
-					$prep_statement->execute();
-					$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-					foreach ($result as &$row) {
+					$sql .= "where default_setting_uuid = :default_setting_uuid ";
+					$parameters['default_setting_uuid'] = $default_setting_uuid;
+					$database = new database;
+					$row = $database->select($sql, $parameters, 'row');
+					if (is_array($row) && sizeof($row) != 0) {
 						$default_setting_category = $row["default_setting_category"];
 						$default_setting_subcategory = $row["default_setting_subcategory"];
 						$default_setting_name = $row["default_setting_name"];
@@ -84,7 +87,7 @@
 						$default_setting_enabled = $row["default_setting_enabled"];
 						$default_setting_description = $row["default_setting_description"];
 					}
-					unset ($prep_statement);
+					unset($sql, $parameters, $row);
 
 					//set a random password for http_auth_password
 					if ($default_setting_subcategory == "http_auth_password") {
@@ -93,77 +96,54 @@
 
 					// check if exists
 					$sql = "select domain_setting_uuid from v_domain_settings ";
-					$sql .= "where domain_uuid = '".$target_domain_uuid."' ";
-					$sql .= "and domain_setting_category = '".$default_setting_category."' ";
-					$sql .= "and domain_setting_subcategory = '".$default_setting_subcategory."' ";
-					$sql .= "and domain_setting_name = '".$default_setting_name."' ";
+					$sql .= "where domain_uuid = :domain_uuid ";
+					$sql .= "and domain_setting_category = :domain_setting_category ";
+					$sql .= "and domain_setting_subcategory = :domain_setting_subcategory ";
+					$sql .= "and domain_setting_name = :domain_setting_name ";
 					$sql .= "and domain_setting_name <> 'array' ";
-					$prep_statement = $db->prepare(check_sql($sql));
-					$prep_statement->execute();
-					$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-					if (sizeof($result) > 0) {
-						foreach ($result as &$row) {
-							$target_domain_setting_uuid = $row["domain_setting_uuid"];
-							break;
-						}
-						$action = "update";
-					}
-					else {
-						$action = "add";
-					}
-					unset ($prep_statement);
+					$parameters['domain_uuid'] = $target_domain_uuid;
+					$parameters['domain_setting_category'] = $default_setting_category;
+					$parameters['domain_setting_subcategory'] = $default_setting_subcategory;
+					$parameters['domain_setting_name'] = $default_setting_name;
+					$database = new database;
+					$target_domain_setting_uuid = $database->select($sql, $parameters, 'column');
+					$action = is_uuid($target_domain_setting_uuid) ? 'update' : 'add';
+					unset($sql, $parameters);
 
 					// fix null
-					$default_setting_order = ($default_setting_order != '') ? $default_setting_order : 'null';
-
-					// insert for target domain
+					$default_setting_order = $default_setting_order != '' ? $default_setting_order : 'null';
+
+					//begin array
+					$array['domain_settings'][0]['domain_uuid'] = $target_domain_uuid;
+					$array['domain_settings'][0]['domain_setting_category'] = $default_setting_category;
+					$array['domain_settings'][0]['domain_setting_subcategory'] = $default_setting_subcategory;
+					$array['domain_settings'][0]['domain_setting_name'] = $default_setting_name;
+					$array['domain_settings'][0]['domain_setting_value'] = $default_setting_value;
+					$array['domain_settings'][0]['domain_setting_order'] = $default_setting_order;
+					$array['domain_settings'][0]['domain_setting_enabled'] = $default_setting_enabled;
+					$array['domain_settings'][0]['domain_setting_description'] = $default_setting_description;
+
+					//insert
 					if ($action == "add" && permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
-						$sql = "insert into v_domain_settings ";
-						$sql .= "(";
-						$sql .= "domain_uuid, ";
-						$sql .= "domain_setting_uuid, ";
-						$sql .= "domain_setting_category, ";
-						$sql .= "domain_setting_subcategory, ";
-						$sql .= "domain_setting_name, ";
-						$sql .= "domain_setting_value, ";
-						$sql .= "domain_setting_order, ";
-						$sql .= "domain_setting_enabled, ";
-						$sql .= "domain_setting_description ";
-						$sql .= ")";
-						$sql .= "values ";
-						$sql .= "(";
-						$sql .= "'".$target_domain_uuid."', ";
-						$sql .= "'".uuid()."', ";
-						$sql .= "'".$default_setting_category."', ";
-						$sql .= "'".$default_setting_subcategory."', ";
-						$sql .= "'".$default_setting_name."', ";
-						$sql .= "'".$default_setting_value."', ";
-						$sql .= " ".$default_setting_order." , ";
-						$sql .= "'".$default_setting_enabled."', ";
-						$sql .= "'".$default_setting_description."' ";
-						$sql .= ")";
-						$db->exec(check_sql($sql));
-						unset($sql);
-
-						$settings_copied++;
-					} // add
-
+						$array['domain_settings'][0]['domain_setting_uuid'] = uuid();
+					}
+					//update
 					if ($action == "update" && permission_exists('domain_setting_edit')) {
-						$sql = "update v_domain_settings set ";
-						$sql .= "domain_setting_category = '".$default_setting_category."', ";
-						$sql .= "domain_setting_subcategory = '".$default_setting_subcategory."', ";
-						$sql .= "domain_setting_name = '".$default_setting_name."', ";
-						$sql .= "domain_setting_value = '".$default_setting_value."', ";
-						$sql .= "domain_setting_order = ".$default_setting_order.", ";
-						$sql .= "domain_setting_enabled = '".$default_setting_enabled."', ";
-						$sql .= "domain_setting_description = '".$default_setting_description."' ";
-						$sql .= "where domain_uuid = '".$target_domain_uuid."' ";
-						$sql .= "and domain_setting_uuid = '".$target_domain_setting_uuid."' ";
-						$db->exec(check_sql($sql));
-						unset($sql);
+						$array['domain_settings'][0]['domain_setting_uuid'] = $target_domain_setting_uuid;
+					}
+
+					//execute
+					if (is_uuid($array['domain_settings'][0]['domain_setting_uuid'])) {
+						$database = new database;
+						$database->app_name = 'default_settings';
+						$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
+						$database->save($array);
+						$message = $database->message;
+						unset($array);
 
 						$settings_copied++;
-					} // update
+					}
+
 				} // foreach
 
 				// set message
@@ -174,21 +154,24 @@
 				message::add($text['message-copy_failed']);
 			}
 
-			header("Location: default_settings.php".(($search != '') ? "?search=".escape($search) : null));
+			header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null));
 			exit;
 		}
 
 		if ($action == 'delete' && permission_exists('default_setting_delete')) {
 			if (sizeof($default_setting_uuids) > 0) {
-				foreach ($default_setting_uuids as $default_setting_uuid) {
+				foreach ($default_setting_uuids as $index => $default_setting_uuid) {
 					//delete default_setting(s)
-					$sql = "delete from v_default_settings ";
-					$sql .= "where default_setting_uuid = '".$default_setting_uuid."' ";
-					$prep_statement = $db->prepare(check_sql($sql));
-					$prep_statement->execute();
-					unset($sql);
+					$array['default_settings'][$index]['default_setting_uuid'] = $default_setting_uuid;
+				}
+				if (is_array($array)) {
+					$database = new database;
+					$database->app_name = 'default_settings';
+					$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
+					$database->delete($array);
+					$message = $database->message;
+					unset($array);
 				}
-
 				// set message
 				$_SESSION["message"] = $text['message-delete'].": ".sizeof($default_setting_uuids);
 			}
@@ -298,18 +281,10 @@
 	echo "<br>";
 
 //prepare to page the results
-	$sql = "select count(*) as num_rows 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) {
-			$num_rows = $row['num_rows'];
-		}
-		else {
-			$num_rows = '0';
-		}
-	}
+	$sql = "select count(*) from v_default_settings ";
+	$database = new database;
+	$num_rows = $database->select($sql, null, 'column');
+	unset($sql);
 
 //prepare to page the results
 	$rows_per_page = 1000;
@@ -321,24 +296,22 @@
 
 //get the list
 	$sql = "select * from v_default_settings ";
-	if (strlen($order_by) == 0) {
+	if ($order_by == '') {
 		$sql .= "order by default_setting_category, default_setting_subcategory, default_setting_order asc, default_setting_name, default_setting_value ";
 	}
 	else {
-		$sql .= "order by $order_by $order ";
+		$sql .= order_by($order_by, $order);
 	}
-	$sql .= "limit $rows_per_page offset $offset ";
-	$prep_statement = $db->prepare(check_sql($sql));
-	$prep_statement->execute();
-	$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-	$result_count = count($result);
-	unset ($prep_statement, $sql);
+	$sql .= limit_offset($rows_per_page, $offset);
+	$database = new database;
+	$result = $database->select($sql, null, 'all');
+	unset($sql);
 
 	$c = 0;
 	$row_style["0"] = "row_style0";
 	$row_style["1"] = "row_style1";
 
-	if ($result_count > 0) {
+	if (is_array($result) && sizeof($result) != 0) {
 		$previous_category = '';
 		foreach($result as $row) {
 
@@ -403,14 +376,14 @@
 			$name = $row['default_setting_name'];
 			if ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
 				$sql = "select * from v_menus ";
-				$sql .= "where menu_uuid = '".$row['default_setting_value']."' ";
-				$sub_prep_statement = $db->prepare(check_sql($sql));
-				$sub_prep_statement->execute();
-				$sub_result = $sub_prep_statement->fetchAll(PDO::FETCH_NAMED);
-				unset ($prep_statement, $sql);
+				$sql .= "where menu_uuid = :menu_uuid ";
+				$parameters['menu_uuid'] = $row['default_setting_value'];
+				$database = new database;
+				$sub_result = $database->select($sql, $parameters, 'all');
 				foreach ($sub_result as &$sub_row) {
 					echo $sub_row["menu_language"]." - ".$sub_row["menu_name"]."\n";
 				}
+				unset($sql, $sub_result, $sub_row);
 			}
 			else if ($category == "domain" && $subcategory == "template" && $name == "name" ) {
 				echo "		".ucwords($row['default_setting_value']);

+ 2 - 2
core/default_settings/default_settings_reload.php

@@ -38,7 +38,7 @@ else {
 	$language = new text;
 	$text = $language->get();
 
-$search = check_str($_REQUEST['search']);
+$search = $_REQUEST['search'];
 
 require "resources/classes/domains.php";
 $domain = new domains();
@@ -46,6 +46,6 @@ $domain->db = $db;
 $domain->set();
 
 message::add($text['message-settings_reloaded']);
-header("Location: default_settings.php".(($search != '') ? "?search=".$search : null));
+header("Location: default_settings.php".($search != '' ? "?search=".$search : null));
 
 ?>

+ 3 - 0
resources/classes/database.php

@@ -1813,6 +1813,9 @@ include "root.php";
 			private function singular($word) {
 				//"-es" is used for words that end in "-x", "-s", "-z", "-sh", "-ch" in which case you add
 				if (substr($word, -2) == "es") {
+					if (substr($word, -3) == "ses") {
+						return rtrim($word, "s");
+					}
 					if (substr($word, -3) == "ies") {
 						return substr($word,0,-3)."y";
 					}