浏览代码

Update user_edit.php

FusionPBX 6 年之前
父节点
当前提交
a232703ed8
共有 1 个文件被更改,包括 238 次插入233 次删除
  1. 238 233
      core/users/user_edit.php

+ 238 - 233
core/users/user_edit.php

@@ -17,7 +17,7 @@
 
 
 	The Initial Developer of the Original Code is
 	The Initial Developer of the Original Code is
 	Mark J Crane <[email protected]>
 	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2018
+	Portions created by the Initial Developer are Copyright (C) 2008-2019
 	the Initial Developer. All Rights Reserved.
 	the Initial Developer. All Rights Reserved.
 
 
 	Contributor(s):
 	Contributor(s):
@@ -37,7 +37,7 @@
 //get user uuid
 //get user uuid
 	if ((is_uuid($_REQUEST["id"]) && permission_exists('user_edit')) ||
 	if ((is_uuid($_REQUEST["id"]) && permission_exists('user_edit')) ||
 		(is_uuid($_REQUEST["id"]) && $_REQUEST["id"] == $_SESSION['user_uuid']))  {
 		(is_uuid($_REQUEST["id"]) && $_REQUEST["id"] == $_SESSION['user_uuid']))  {
-		$user_uuid = check_str($_REQUEST["id"]);
+		$user_uuid = $_REQUEST["id"];
 		$action = 'edit';
 		$action = 'edit';
 	}
 	}
 	elseif (permission_exists('user_add') && !isset($_REQUEST["id"])) {
 	elseif (permission_exists('user_add') && !isset($_REQUEST["id"])) {
@@ -52,14 +52,12 @@
 
 
 //get total user count from the database, check limit, if defined
 //get total user count from the database, check limit, if defined
 	if (permission_exists('user_add') && $action == 'add' && $_SESSION['limit']['users']['numeric'] != '') {
 	if (permission_exists('user_add') && $action == 'add' && $_SESSION['limit']['users']['numeric'] != '') {
-		$sql = "select count(user_uuid) as num_rows from v_users where domain_uuid = '".$_SESSION['domain_uuid']."' ";
-		$prep_statement = $db->prepare($sql);
-		if ($prep_statement) {
-			$prep_statement->execute();
-			$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
-			$total_users = $row['num_rows'];
-		}
-		unset($prep_statement, $row);
+		$sql = "select count(user_uuid) as num_rows from v_users where domain_uuid = :domain_uuid ";
+		$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+		$database = new database;
+		$total_users = $database->execute($sql, $parameters, 'column');
+		unset($parameters);
+
 		if ($total_users >= $_SESSION['limit']['users']['numeric']) {
 		if ($total_users >= $_SESSION['limit']['users']['numeric']) {
 			message::add($text['message-maximum_users'].' '.$_SESSION['limit']['users']['numeric'], 'negative');
 			message::add($text['message-maximum_users'].' '.$_SESSION['limit']['users']['numeric'], 'negative');
 			header('Location: users.php');
 			header('Location: users.php');
@@ -85,9 +83,13 @@
 		//delete the group from the users
 		//delete the group from the users
 			if (is_uuid($group_uuid) && is_uuid($user_uuid)) {
 			if (is_uuid($group_uuid) && is_uuid($user_uuid)) {
 				$sql = "delete from v_user_groups ";
 				$sql = "delete from v_user_groups ";
-				$sql .= "where group_uuid = '".$group_uuid."' ";
-				$sql .= "and user_uuid = '".$user_uuid."' ";
-				$db->exec(check_sql($sql));
+				$sql .= "where group_uuid = :group_uuid ";
+				$sql .= "and user_uuid = :user_uuid ";
+				$parameters['group_uuid'] = $group_uuid;
+				$parameters['user_uuid'] = $user_uuid;
+				$database = new database;
+				$database->execute($sql, $parameters);
+				unset($parameters);
 			}
 			}
 		//redirect the user
 		//redirect the user
 			message::add($text['message-update']);
 			message::add($text['message-update']);
@@ -110,29 +112,29 @@
 		//get the HTTP values and set as variables
 		//get the HTTP values and set as variables
 			if (permission_exists('user_edit') && $action == 'edit') {
 			if (permission_exists('user_edit') && $action == 'edit') {
 				$user_uuid = $_REQUEST["id"];
 				$user_uuid = $_REQUEST["id"];
-				$username_old = check_str($_POST["username_old"]);
-			}
-			$domain_uuid = check_str($_POST["domain_uuid"]);
-			$username = check_str($_POST["username"]);
-			$password = check_str($_POST["password"]);
-			$password_confirm = check_str($_POST["password_confirm"]);
-			$user_status = check_str($_POST["user_status"]);
-			$user_language = check_str($_POST["user_language"]);
-			$user_time_zone = check_str($_POST["user_time_zone"]);
+				$username_old = $_POST["username_old"];
+			}
+			$domain_uuid = $_POST["domain_uuid"];
+			$username = $_POST["username"];
+			$password = $_POST["password"];
+			$password_confirm = $_POST["password_confirm"];
+			$user_status = $_POST["user_status"];
+			$user_language = $_POST["user_language"];
+			$user_time_zone = $_POST["user_time_zone"];
 			if (permission_exists('user_edit') && $action == 'edit') {
 			if (permission_exists('user_edit') && $action == 'edit') {
-				$contact_uuid = check_str($_POST["contact_uuid"]);
+				$contact_uuid = $_POST["contact_uuid"];
 			}
 			}
 			else if (permission_exists('user_add') && $action == 'add') {
 			else if (permission_exists('user_add') && $action == 'add') {
-				$user_email = check_str($_POST["user_email"]);
-				$contact_organization = check_str($_POST["contact_organization"]);
-				$contact_name_given = check_str($_POST["contact_name_given"]);
-				$contact_name_family = check_str($_POST["contact_name_family"]);
-			}
-			$group_uuid_name = check_str($_POST["group_uuid_name"]);
-			$user_enabled = check_str($_POST["user_enabled"]);
-			$api_key = check_str($_POST["api_key"]);
+				$user_email = $_POST["user_email"];
+				$contact_organization = $_POST["contact_organization"];
+				$contact_name_given = $_POST["contact_name_given"];
+				$contact_name_family = $_POST["contact_name_family"];
+			}
+			$group_uuid_name = $_POST["group_uuid_name"];
+			$user_enabled = $_POST["user_enabled"];
+			$api_key = $_POST["api_key"];
 			if (permission_exists('message_view')) {
 			if (permission_exists('message_view')) {
-				$message_key = check_str($_POST["message_key"]);
+				$message_key = $_POST["message_key"];
 			}
 			}
 
 
 		//check required values
 		//check required values
@@ -141,17 +143,16 @@
 			}
 			}
 			if (permission_exists('user_edit') && $action == 'edit') {
 			if (permission_exists('user_edit') && $action == 'edit') {
 				if ($username != $username_old && $username != '') {
 				if ($username != $username_old && $username != '') {
-					$sql = "select count(*) as num_rows from v_users where username = '".$username."'";
-					if ($_SESSION["user"]["unique"]["text"] != "global"){
-						$sql .= " and domain_uuid = '".$domain_uuid."'";
+					$sql = "select count(*) as num_rows from v_users where username = :username ";
+					if ($_SESSION["user"]["unique"]["text"] != "global") {
+						$sql .= "and domain_uuid = :domain_uuid ";
+						$parameters['domain_uuid'] = $domain_uuid;
 					}
 					}
-					$prep_statement = $db->prepare(check_sql($sql));
-					if ($prep_statement) {
-						$prep_statement->execute();
-						$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
-						if (0 < $row['num_rows']) {
-							message::add($text['message-username_exists'], 'negative', 7500);
-						}
+					$parameters['username'] = $username;
+					$database = new database;
+					$num_rows = $database->select($sql, $parameters, 'column');
+					if ($num_rows > 0) {
+						message::add($text['message-username_exists'], 'negative', 7500);
 					}
 					}
 					unset($sql);
 					unset($sql);
 				}
 				}
@@ -213,136 +214,136 @@
 			$sql = "select user_setting_uuid, user_setting_value from v_user_settings ";
 			$sql = "select user_setting_uuid, user_setting_value from v_user_settings ";
 			$sql .= "where user_setting_category = 'domain' ";
 			$sql .= "where user_setting_category = 'domain' ";
 			$sql .= "and user_setting_subcategory = 'language' ";
 			$sql .= "and user_setting_subcategory = 'language' ";
-			$sql .= "and user_uuid = '".$user_uuid."' ";
-			$prep_statement = $db->prepare(check_sql($sql));
-			if ($prep_statement) {
-				$prep_statement->execute();
-				$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
-				if ($row['user_setting_uuid'] == '' && $user_language != '') {
-					//add user setting to array for insert
-						$array['user_settings'][$i]['user_setting_uuid'] = uuid();
-						$array['user_settings'][$i]['user_uuid'] = $user_uuid;
-						$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
-						$array['user_settings'][$i]['user_setting_category'] = 'domain';
-						$array['user_settings'][$i]['user_setting_subcategory'] = 'language';
-						$array['user_settings'][$i]['user_setting_name'] = 'code';
-						$array['user_settings'][$i]['user_setting_value'] = $user_language;
-						$array['user_settings'][$i]['user_setting_enabled'] = 'true';
-						$i++;
+			$sql .= "and user_uuid = :user_uuid ";
+			$parameters['user_uuid'] = $user_uuid;
+			$database = new database;
+			$row = $database->select($sql, $parameters, 'row');
+			if ($row['user_setting_uuid'] == '' && $user_language != '') {
+				//add user setting to array for insert
+					$array['user_settings'][$i]['user_setting_uuid'] = uuid();
+					$array['user_settings'][$i]['user_uuid'] = $user_uuid;
+					$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
+					$array['user_settings'][$i]['user_setting_category'] = 'domain';
+					$array['user_settings'][$i]['user_setting_subcategory'] = 'language';
+					$array['user_settings'][$i]['user_setting_name'] = 'code';
+					$array['user_settings'][$i]['user_setting_value'] = $user_language;
+					$array['user_settings'][$i]['user_setting_enabled'] = 'true';
+					$i++;
+			}
+			else {
+				if ($row['user_setting_value'] == '' || $user_language == '') {
+					$sql = "delete from v_user_settings ";
+					$sql .= "where user_setting_category = 'domain' ";
+					$sql .= "and user_setting_subcategory = 'language' ";
+					$sql .= "and user_uuid = :user_uuid ";
+					$parameters['user_uuid'] = $user_uuid;
+					$database = new database;
+					$database->execute($sql, $parameters);
+					unset($sql);
 				}
 				}
 				else {
 				else {
-					if ($row['user_setting_value'] == '' || $user_language == '') {
-						$sql = "delete from v_user_settings ";
-						$sql .= "where user_setting_category = 'domain' ";
-						$sql .= "and user_setting_subcategory = 'language' ";
-						$sql .= "and user_uuid = '".$user_uuid."' ";
-						$db->exec(check_sql($sql));
-						unset($sql);
-					}
-					else {
-						//add user setting to array for update
-							$array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid'];
-							$array['user_settings'][$i]['user_uuid'] = $user_uuid;
-							$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
-							$array['user_settings'][$i]['user_setting_category'] = 'domain';
-							$array['user_settings'][$i]['user_setting_subcategory'] = 'language';
-							$array['user_settings'][$i]['user_setting_name'] = 'code';
-							$array['user_settings'][$i]['user_setting_value'] = $user_language;
-							$array['user_settings'][$i]['user_setting_enabled'] = 'true';
-							$i++;
-					}
+					//add user setting to array for update
+					$array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid'];
+					$array['user_settings'][$i]['user_uuid'] = $user_uuid;
+					$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
+					$array['user_settings'][$i]['user_setting_category'] = 'domain';
+					$array['user_settings'][$i]['user_setting_subcategory'] = 'language';
+					$array['user_settings'][$i]['user_setting_name'] = 'code';
+					$array['user_settings'][$i]['user_setting_value'] = $user_language;
+					$array['user_settings'][$i]['user_setting_enabled'] = 'true';
+					$i++;
 				}
 				}
 			}
 			}
-			unset($sql, $prep_statement, $row);
+			unset($sql, $parameters, $row);
 
 
 		//check to see if user time zone is set
 		//check to see if user time zone is set
 			$sql = "select user_setting_uuid, user_setting_value from v_user_settings ";
 			$sql = "select user_setting_uuid, user_setting_value from v_user_settings ";
 			$sql .= "where user_setting_category = 'domain' ";
 			$sql .= "where user_setting_category = 'domain' ";
 			$sql .= "and user_setting_subcategory = 'time_zone' ";
 			$sql .= "and user_setting_subcategory = 'time_zone' ";
-			$sql .= "and user_uuid = '".$user_uuid."' ";
-			$prep_statement = $db->prepare(check_sql($sql));
-			if ($prep_statement) {
-				$prep_statement->execute();
-				$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
-				if ($row['user_setting_uuid'] == '' && $user_time_zone != '') {
-					//add user setting to array for insert
-						$array['user_settings'][$i]['user_setting_uuid'] = uuid();
-						$array['user_settings'][$i]['user_uuid'] = $user_uuid;
-						$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
-						$array['user_settings'][$i]['user_setting_category'] = 'domain';
-						$array['user_settings'][$i]['user_setting_subcategory'] = 'time_zone';
-						$array['user_settings'][$i]['user_setting_name'] = 'name';
-						$array['user_settings'][$i]['user_setting_value'] = $user_time_zone;
-						$array['user_settings'][$i]['user_setting_enabled'] = 'true';
-						$i++;
+			$sql .= "and user_uuid = :user_uuid ";
+			$parameters['user_uuid'] = $user_uuid;
+			$database = new database;
+			$row = $database->select($sql, $parameters, 'row');
+			if ($row['user_setting_uuid'] == '' && $user_time_zone != '') {
+				//add user setting to array for insert
+				$array['user_settings'][$i]['user_setting_uuid'] = uuid();
+				$array['user_settings'][$i]['user_uuid'] = $user_uuid;
+				$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
+				$array['user_settings'][$i]['user_setting_category'] = 'domain';
+				$array['user_settings'][$i]['user_setting_subcategory'] = 'time_zone';
+				$array['user_settings'][$i]['user_setting_name'] = 'name';
+				$array['user_settings'][$i]['user_setting_value'] = $user_time_zone;
+				$array['user_settings'][$i]['user_setting_enabled'] = 'true';
+				$i++;
+			}
+			else {
+				if ($row['user_setting_value'] == '' || $user_time_zone == '') {
+					$sql = "delete from v_user_settings ";
+					$sql .= "where user_setting_category = 'domain' ";
+					$sql .= "and user_setting_subcategory = 'time_zone' ";
+					$sql .= "and user_uuid = :user_uuid ";
+					$parameters['user_uuid'] = $user_uuid;
+					$database = new database;
+					$database->execute($sql, $parameters);
 				}
 				}
 				else {
 				else {
-					if ($row['user_setting_value'] == '' || $user_time_zone == '') {
-						$sql = "delete from v_user_settings ";
-						$sql .= "where user_setting_category = 'domain' ";
-						$sql .= "and user_setting_subcategory = 'time_zone' ";
-						$sql .= "and user_uuid = '".$user_uuid."' ";
-						$db->exec(check_sql($sql));
-						unset($sql);
-					}
-					else {
-						//add user setting to array for update
-							$array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid'];
-							$array['user_settings'][$i]['user_uuid'] = $user_uuid;
-							$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
-							$array['user_settings'][$i]['user_setting_category'] = 'domain';
-							$array['user_settings'][$i]['user_setting_subcategory'] = 'time_zone';
-							$array['user_settings'][$i]['user_setting_name'] = 'name';
-							$array['user_settings'][$i]['user_setting_value'] = $user_time_zone;
-							$array['user_settings'][$i]['user_setting_enabled'] = 'true';
-							$i++;
-					}
+					//add user setting to array for update
+					$array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid'];
+					$array['user_settings'][$i]['user_uuid'] = $user_uuid;
+					$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
+					$array['user_settings'][$i]['user_setting_category'] = 'domain';
+					$array['user_settings'][$i]['user_setting_subcategory'] = 'time_zone';
+					$array['user_settings'][$i]['user_setting_name'] = 'name';
+					$array['user_settings'][$i]['user_setting_value'] = $user_time_zone;
+					$array['user_settings'][$i]['user_setting_enabled'] = 'true';
+					$i++;
 				}
 				}
 			}
 			}
+			unset($sql, $parameters, $row);
 
 
 		//check to see if message key is set
 		//check to see if message key is set
 			if (permission_exists('message_view')) {
 			if (permission_exists('message_view')) {
 				$sql = "select user_setting_uuid, user_setting_value from v_user_settings ";
 				$sql = "select user_setting_uuid, user_setting_value from v_user_settings ";
 				$sql .= "where user_setting_category = 'message' ";
 				$sql .= "where user_setting_category = 'message' ";
 				$sql .= "and user_setting_subcategory = 'key' ";
 				$sql .= "and user_setting_subcategory = 'key' ";
-				$sql .= "and user_uuid = '".$user_uuid."' ";
-				$prep_statement = $db->prepare(check_sql($sql));
-				if ($prep_statement) {
-					$prep_statement->execute();
-					$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
-					if ($row['user_setting_uuid'] == '' && $message_key != '') {
-						//add user setting to array for insert
-							$array['user_settings'][$i]['user_setting_uuid'] = uuid();
-							$array['user_settings'][$i]['user_uuid'] = $user_uuid;
-							$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
-							$array['user_settings'][$i]['user_setting_category'] = 'message';
-							$array['user_settings'][$i]['user_setting_subcategory'] = 'key';
-							$array['user_settings'][$i]['user_setting_name'] = 'text';
-							$array['user_settings'][$i]['user_setting_value'] = $message_key;
-							$array['user_settings'][$i]['user_setting_enabled'] = 'true';
-							$i++;
+				$sql .= "and user_uuid = :user_uuid ";
+				$parameters['user_uuid'] = $user_uuid;
+				$database = new database;
+				$row = $database->select($sql, $parameters, 'row');
+				if ($row['user_setting_uuid'] == '' && $message_key != '') {
+					//add user setting to array for insert
+					$array['user_settings'][$i]['user_setting_uuid'] = uuid();
+					$array['user_settings'][$i]['user_uuid'] = $user_uuid;
+					$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
+					$array['user_settings'][$i]['user_setting_category'] = 'message';
+					$array['user_settings'][$i]['user_setting_subcategory'] = 'key';
+					$array['user_settings'][$i]['user_setting_name'] = 'text';
+					$array['user_settings'][$i]['user_setting_value'] = $message_key;
+					$array['user_settings'][$i]['user_setting_enabled'] = 'true';
+					$i++;
+				}
+				else {
+					if ($row['user_setting_value'] == '' || $message_key == '') {
+						$sql = "delete from v_user_settings ";
+						$sql .= "where user_setting_category = 'message' ";
+						$sql .= "and user_setting_subcategory = 'key' ";
+						$sql .= "and user_uuid = :user_uuid ";
+						$parameters['user_uuid'] = $user_uuid;
+						$database = new database;
+						$database->execute($sql, $parameters);
+						unset($sql);
 					}
 					}
 					else {
 					else {
-						if ($row['user_setting_value'] == '' || $message_key == '') {
-							$sql = "delete from v_user_settings ";
-							$sql .= "where user_setting_category = 'message' ";
-							$sql .= "and user_setting_subcategory = 'key' ";
-							$sql .= "and user_uuid = '".$user_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
-						}
-						else {
-							//add user setting to array for update
-								$array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid'];
-								$array['user_settings'][$i]['user_uuid'] = $user_uuid;
-								$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
-								$array['user_settings'][$i]['user_setting_category'] = 'message';
-								$array['user_settings'][$i]['user_setting_subcategory'] = 'key';
-								$array['user_settings'][$i]['user_setting_name'] = 'text';
-								$array['user_settings'][$i]['user_setting_value'] = $message_key;
-								$array['user_settings'][$i]['user_setting_enabled'] = 'true';
-								$i++;
-						}
+						//add user setting to array for update
+						$array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid'];
+						$array['user_settings'][$i]['user_uuid'] = $user_uuid;
+						$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
+						$array['user_settings'][$i]['user_setting_category'] = 'message';
+						$array['user_settings'][$i]['user_setting_subcategory'] = 'key';
+						$array['user_settings'][$i]['user_setting_name'] = 'text';
+						$array['user_settings'][$i]['user_setting_value'] = $message_key;
+						$array['user_settings'][$i]['user_setting_enabled'] = 'true';
+						$i++;
 					}
 					}
 				}
 				}
 			}
 			}
@@ -370,43 +371,46 @@
 			if ((permission_exists('user_add') || permission_exists('user_edit')) && permission_exists('user_domain')) {
 			if ((permission_exists('user_add') || permission_exists('user_edit')) && permission_exists('user_domain')) {
 				//adjust group user records
 				//adjust group user records
 					$sql = "select user_group_uuid from v_user_groups ";
 					$sql = "select user_group_uuid from v_user_groups ";
-					$sql .= "where user_uuid = '".$user_uuid."' ";
-					$prep_statement = $db->prepare(check_sql($sql));
-					if ($prep_statement) {
-						$prep_statement->execute();
-						$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
+					$sql .= "where user_uuid = :user_uuid ";
+					$parameters['user_uuid'] = $user_uuid;
+					$database = new database;
+					$result = $database->select($sql, $parameters, 'all');
+					if (is_array($result)) {
 						foreach ($result as $row) {
 						foreach ($result as $row) {
 							//add group user to array for update
 							//add group user to array for update
-								$array['user_groups'][$n]['user_group_uuid'] = $row['user_group_uuid'];
-								$array['user_groups'][$n]['domain_uuid'] = $domain_uuid;
-								$n++;
+							$array['user_groups'][$n]['user_group_uuid'] = $row['user_group_uuid'];
+							$array['user_groups'][$n]['domain_uuid'] = $domain_uuid;
+							$n++;
 						}
 						}
 					}
 					}
-					unset($sql, $prep_statement, $result, $row);
+					unset($sql, $parameters);
 				//adjust user setting records
 				//adjust user setting records
 					$sql = "select user_setting_uuid from v_user_settings ";
 					$sql = "select user_setting_uuid from v_user_settings ";
-					$sql .= "where user_uuid = '".$user_uuid."' ";
-					$prep_statement = $db->prepare(check_sql($sql));
-					if ($prep_statement) {
-						$prep_statement->execute();
-						$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
+					$sql .= "where user_uuid = :user_uuid ";
+					$parameters['user_uuid'] = $user_uuid;
+					$database = new database;
+					$result = $database->select($sql, $parameters);
+					if (is_array($result)) {
 						foreach ($result as $row) {
 						foreach ($result as $row) {
 							//add user setting to array for update
 							//add user setting to array for update
-								$array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid'];
-								$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
-								$i++;
+							$array['user_settings'][$i]['user_setting_uuid'] = $row['user_setting_uuid'];
+							$array['user_settings'][$i]['domain_uuid'] = $domain_uuid;
+							$i++;
 						}
 						}
 					}
 					}
-					unset($sql, $prep_statement, $result, $row);
+					unset($sql, $parameters);
 				//unassign any foreign domain groups
 				//unassign any foreign domain groups
-					$sql = "delete from v_user_groups where ";
-					$sql .= "domain_uuid = '".$domain_uuid."' ";
-					$sql .= "and user_uuid = '".$user_uuid."' ";
+					$sql = "delete from v_user_groups ";
+					$sql .= "where domain_uuid = :domain_uuid ";
+					$sql .= "and user_uuid = :user_uuid ";
 					$sql .= "and group_uuid not in (";
 					$sql .= "and group_uuid not in (";
-					$sql .= "	select group_uuid from v_groups where domain_uuid = '".$domain_uuid."' or domain_uuid is null ";
+					$sql .= "	select group_uuid from v_groups where domain_uuid = :domain_uuid or domain_uuid is null ";
 					$sql .= ") ";
 					$sql .= ") ";
-					$db->exec(check_sql($sql));
-					unset($sql);
+					$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+					$parameters['user_uuid'] = $user_uuid;
+					$database = new database;
+					$database->execute($sql, $parameters);
+					unset($sql, $parameters);
 			}
 			}
 
 
 		//add contact to array for insert
 		//add contact to array for insert
@@ -476,25 +480,23 @@
 			if ($action == 'edit' && permission_exists('user_edit') && file_exists($_SERVER["PROJECT_ROOT"]."/app/call_centers/app_config.php")) {
 			if ($action == 'edit' && permission_exists('user_edit') && file_exists($_SERVER["PROJECT_ROOT"]."/app/call_centers/app_config.php")) {
 				//get the call center agent uuid
 				//get the call center agent uuid
 					$sql = "select call_center_agent_uuid from v_call_center_agents ";
 					$sql = "select call_center_agent_uuid from v_call_center_agents ";
-					$sql .= "where domain_uuid = '".$domain_uuid."' ";
-					$sql .= "and user_uuid = '".$user_uuid."' ";
-					$prep_statement = $db->prepare(check_sql($sql));
-					if ($prep_statement) {
-						$prep_statement->execute();
-						$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
-						$call_center_agent_uuid = $row['call_center_agent_uuid'];
-					}
-					unset($sql, $prep_statement, $result);
+					$sql .= "where domain_uuid = :domain_uuid ";
+					$sql .= "and user_uuid = :user_uuid ";
+					$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+					$parameters['user_uuid'] = $user_uuid;
+					$database = new database;
+					$call_center_agent_uuid = $database->select($sql, $parameters, 'column');
+					unset($sql, $parameters);
 
 
 				//update the user_status
 				//update the user_status
-					if (isset($call_center_agent_uuid)) {
+					if (isset($call_center_agent_uuid) && is_uuid($call_center_agent_uuid)) {
 						$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
 						$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
 						$switch_cmd .= "callcenter_config agent set status ".$call_center_agent_uuid." '".$user_status."'";
 						$switch_cmd .= "callcenter_config agent set status ".$call_center_agent_uuid." '".$user_status."'";
 						$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
 						$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
 					}
 					}
 
 
 				//update the user state
 				//update the user state
-					if (isset($call_center_agent_uuid)) {
+					if (isset($call_center_agent_uuid) && is_uuid($call_center_agent_uuid)) {
 						$cmd = "api callcenter_config agent set state ".$call_center_agent_uuid." Waiting";
 						$cmd = "api callcenter_config agent set state ".$call_center_agent_uuid." Waiting";
 						$response = event_socket_request($fp, $cmd);
 						$response = event_socket_request($fp, $cmd);
 					}
 					}
@@ -512,10 +514,7 @@
 	}
 	}
 
 
 //populate the form with values from session variable
 //populate the form with values from session variable
-	if (
-		is_array($_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']) &&
-		sizeof($_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']) != 0
-		) {
+	if (is_array($_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']) && sizeof($_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']) != 0) {
 		$domain_uuid = $_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']["domain_uuid"];
 		$domain_uuid = $_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']["domain_uuid"];
 		$username = $_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']["username"];
 		$username = $_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']["username"];
 		$password = $_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']["password"];
 		$password = $_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']["password"];
@@ -536,17 +535,17 @@
 		$unsaved = true;
 		$unsaved = true;
 		unset($_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']);
 		unset($_SESSION['tmp'][$_SERVER['PHP_SELF']]['user']);
 	}
 	}
-
-//populate the form with values from db
 	else {
 	else {
+		//populate the form with values from db
 		if ($action == 'edit') {
 		if ($action == 'edit') {
-			$sql = "select * from v_users where user_uuid = '".$user_uuid."' ";
+			$sql = "select * from v_users where user_uuid = :user_uuid ";
 			if (!permission_exists('user_all')) {
 			if (!permission_exists('user_all')) {
-				$sql .= "and domain_uuid = '".$domain_uuid."' ";
+				$sql .= "and domain_uuid = :domain_uuid ";
+				$parameters['domain_uuid'] = $domain_uuid;
 			}
 			}
-			$prep_statement = $db->prepare(check_sql($sql));
-			$prep_statement->execute();
-			$row = $prep_statement->fetch(PDO::FETCH_NAMED);
+			$parameters['user_uuid'] = $user_uuid;
+			$database = new database;
+			$row = $database->select($sql, $parameters, 'row');
 			if (is_array($row) && sizeof($row) > 0) {
 			if (is_array($row) && sizeof($row) > 0) {
 				$domain_uuid = $row["domain_uuid"];
 				$domain_uuid = $row["domain_uuid"];
 				$user_uuid = $row["user_uuid"];
 				$user_uuid = $row["user_uuid"];
@@ -561,16 +560,16 @@
 				header("Location: user_edit.php?id=".$_SESSION['user_uuid']);
 				header("Location: user_edit.php?id=".$_SESSION['user_uuid']);
 				exit;
 				exit;
 			}
 			}
-			unset($sql, $prep_statement, $row);
+			unset($sql, $parameters, $row);
 
 
-		//get user settings
+			//get user settings
 			$sql = "select * from v_user_settings ";
 			$sql = "select * from v_user_settings ";
-			$sql .= "where user_uuid = '".$user_uuid."' ";
+			$sql .= "where user_uuid = :user_uuid ";
 			$sql .= "and user_setting_enabled = 'true' ";
 			$sql .= "and user_setting_enabled = 'true' ";
-			$prep_statement = $db->prepare($sql);
-			if ($prep_statement) {
-				$prep_statement->execute();
-				$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+			$parameters['user_uuid'] = $user_uuid;
+			$database = new database;
+			$result = $database->select($sql, $parameters, 'all');
+			if (is_array($result)) {
 				foreach($result as $row) {
 				foreach($result as $row) {
 					$name = $row['user_setting_name'];
 					$name = $row['user_setting_name'];
 					$category = $row['user_setting_category'];
 					$category = $row['user_setting_category'];
@@ -584,6 +583,7 @@
 					}
 					}
 				}
 				}
 			}
 			}
+			unset($sql, $parameters);
 		}
 		}
 	}
 	}
 
 
@@ -706,14 +706,14 @@
 	echo "		<select id='user_language' name='user_language' class='formfld' style=''>\n";
 	echo "		<select id='user_language' name='user_language' class='formfld' style=''>\n";
 	echo "		<option value=''></option>\n";
 	echo "		<option value=''></option>\n";
 	//get all language codes from database
 	//get all language codes from database
-	$sql = "select * from v_languages order by language asc";
-	$prep_statement = $db->prepare(check_sql($sql));
-	$prep_statement->execute();
-	$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-	foreach ($result as &$row) {
+	$sql = "select * from v_languages order by language asc ";
+	$parameters = null;
+	$database = new database;
+	$languages = $database->select($sql, $parameters, 'all');
+	foreach ($languages as $row) {
 		$language_codes[$row["code"]] = $row["language"];
 		$language_codes[$row["code"]] = $row["language"];
 	}
 	}
-	unset($prep_statement, $result, $row);
+	unset($languages);
 	foreach ($_SESSION['app']['languages'] as $code) {
 	foreach ($_SESSION['app']['languages'] as $code) {
 		$selected = ($code == $user_settings['domain']['language']['code']) ? "selected='selected'" : null;
 		$selected = ($code == $user_settings['domain']['language']['code']) ? "selected='selected'" : null;
 		echo "	<option value='".escape($code)."' ".escape($selected).">".escape($language_codes[$code])." [".escape($code)."]</option>\n";
 		echo "	<option value='".escape($code)."' ".escape($selected).">".escape($language_codes[$code])." [".escape($code)."]</option>\n";
@@ -793,16 +793,17 @@
 		$sql .= "from ";
 		$sql .= "from ";
 		$sql .= "v_contacts as c ";
 		$sql .= "v_contacts as c ";
 		$sql .= "where ";
 		$sql .= "where ";
-		$sql .= "c.domain_uuid = '".escape($domain_uuid)."' ";
+		$sql .= "c.domain_uuid = :domain_uuid ";
 		$sql .= "and not exists ( ";
 		$sql .= "and not exists ( ";
 		$sql .= "	select ";
 		$sql .= "	select ";
 		$sql .= "	contact_uuid ";
 		$sql .= "	contact_uuid ";
 		$sql .= "	from ";
 		$sql .= "	from ";
 		$sql .= "	v_users as u ";
 		$sql .= "	v_users as u ";
 		$sql .= "	where ";
 		$sql .= "	where ";
-		$sql .= "	u.domain_uuid = '".escape($domain_uuid)."' ";
+		$sql .= "	u.domain_uuid = :domain_uuid ";
 		if (is_uuid($contact_uuid)) { //don't exclude currently assigned contact
 		if (is_uuid($contact_uuid)) { //don't exclude currently assigned contact
-			$sql .= "and u.contact_uuid <> '".escape($contact_uuid)."' ";
+			$sql .= "and u.contact_uuid <> :contact_uuid ";
+			$parameters['contact_uuid'] = $contact_uuid;
 		}
 		}
 		$sql .= "	and u.contact_uuid = c.contact_uuid ";
 		$sql .= "	and u.contact_uuid = c.contact_uuid ";
 		$sql .= ") ";
 		$sql .= ") ";
@@ -811,13 +812,14 @@
 		$sql .= "lower(c.contact_name_family) asc, ";
 		$sql .= "lower(c.contact_name_family) asc, ";
 		$sql .= "lower(c.contact_name_given) asc, ";
 		$sql .= "lower(c.contact_name_given) asc, ";
 		$sql .= "lower(c.contact_nickname) asc ";
 		$sql .= "lower(c.contact_nickname) asc ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->execute();
-		$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-		unset ($prep_statement, $sql);
+		$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+		$parameters['contact_uuid'] = $contact_uuid;
+		$database = new database;
+		$contacts = $database->select($sql, $parameters, 'all');
+		unset($parameters);
 		echo "<select name=\"contact_uuid\" id=\"contact_uuid\" class=\"formfld\">\n";
 		echo "<select name=\"contact_uuid\" id=\"contact_uuid\" class=\"formfld\">\n";
 		echo "<option value=\"\"></option>\n";
 		echo "<option value=\"\"></option>\n";
-		foreach($result as $row) {
+		foreach($contacts as $row) {
 			$contact_name = array();
 			$contact_name = array();
 			if ($row['contact_organization'] != '') { $contact_name[] = $row['contact_organization']; }
 			if ($row['contact_organization'] != '') { $contact_name[] = $row['contact_organization']; }
 			if ($row['contact_name_family'] != '') { $contact_name[] = $row['contact_name_family']; }
 			if ($row['contact_name_family'] != '') { $contact_name[] = $row['contact_name_family']; }
@@ -825,7 +827,7 @@
 			if ($row['contact_name_family'] == '' && $row['contact_name_family'] == '' && $row['contact_nickname'] != '') { $contact_name[] = $row['contact_nickname']; }
 			if ($row['contact_name_family'] == '' && $row['contact_name_family'] == '' && $row['contact_nickname'] != '') { $contact_name[] = $row['contact_nickname']; }
 			echo "<option value='".escape($row['contact_uuid'])."' ".(($row['contact_uuid'] == $contact_uuid) ? "selected='selected'" : null).">".escape(implode(', ', $contact_name))."</option>\n";
 			echo "<option value='".escape($row['contact_uuid'])."' ".(($row['contact_uuid'] == $contact_uuid) ? "selected='selected'" : null).">".escape(implode(', ', $contact_name))."</option>\n";
 		}
 		}
-		unset($sql, $result, $row_count);
+		unset($sql, $row_count);
 		echo "</select>\n";
 		echo "</select>\n";
 		echo "<br />\n";
 		echo "<br />\n";
 		echo $text['description-contact']."\n";
 		echo $text['description-contact']."\n";
@@ -875,14 +877,14 @@
 		$sql .= "order by ";
 		$sql .= "order by ";
 		$sql .= "	g.domain_uuid desc, ";
 		$sql .= "	g.domain_uuid desc, ";
 		$sql .= "	g.group_name asc ";
 		$sql .= "	g.group_name asc ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->bindParam(':domain_uuid', $domain_uuid);
-		$prep_statement->bindParam(':user_uuid', $user_uuid);
-		$prep_statement->execute();
-		$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-		if (is_array($result)) {
+		$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+		$parameters['user_uuid'] = $user_uuid;
+		$database = new database;
+		$user_groups = $database->select($sql, $parameters, 'all');
+		unset($parameters);
+		if (is_array($user_groups)) {
 			echo "<table cellpadding='0' cellspacing='0' border='0'>\n";
 			echo "<table cellpadding='0' cellspacing='0' border='0'>\n";
-			foreach($result as $field) {
+			foreach($user_groups as $field) {
 				if (strlen($field['group_name']) > 0) {
 				if (strlen($field['group_name']) > 0) {
 					echo "<tr>\n";
 					echo "<tr>\n";
 					echo "	<td class='vtable' style='white-space: nowrap; padding-right: 30px;' nowrap='nowrap'>";
 					echo "	<td class='vtable' style='white-space: nowrap; padding-right: 30px;' nowrap='nowrap'>";
@@ -894,22 +896,25 @@
 						echo "	</td>\n";
 						echo "	</td>\n";
 					}
 					}
 					echo "</tr>\n";
 					echo "</tr>\n";
-					$assigned_groups[] = $field['group_uuid'];
+					if (is_uuid($field['group_uuid'])) {
+						$assigned_groups[] = $field['group_uuid'];
+					}
 				}
 				}
 			}
 			}
 			echo "</table>\n";
 			echo "</table>\n";
 		}
 		}
-		unset($sql, $prep_statement, $result);
+		unset($sql, $user_groups);
 
 
 		$sql = "select * from v_groups ";
 		$sql = "select * from v_groups ";
-		$sql .= "where (domain_uuid = '".$domain_uuid."' or domain_uuid is null) ";
+		$sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
 		if (sizeof($assigned_groups) > 0) {
 		if (sizeof($assigned_groups) > 0) {
 			$sql .= "and group_uuid not in ('".implode("','",$assigned_groups)."') ";
 			$sql .= "and group_uuid not in ('".implode("','",$assigned_groups)."') ";
 		}
 		}
 		$sql .= "order by domain_uuid desc, group_name asc ";
 		$sql .= "order by domain_uuid desc, group_name asc ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->execute();
-		$groups = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+		$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+		$database = new database;
+		$groups = $database->select($sql, $parameters, 'all');
+		unset($parameters);
 		if (is_array($groups)) {
 		if (is_array($groups)) {
 			if (isset($assigned_groups)) { echo "<br />\n"; }
 			if (isset($assigned_groups)) { echo "<br />\n"; }
 			echo "<select name='group_uuid_name' class='formfld' style='width: auto; margin-right: 3px;' ".($action == 'add' ? "required='required'" : null).">\n";
 			echo "<select name='group_uuid_name' class='formfld' style='width: auto; margin-right: 3px;' ".($action == 'add' ? "required='required'" : null).">\n";
@@ -927,7 +932,7 @@
 				echo "<input type='submit' class='btn' value=\"".$text['button-add']."\" >\n";
 				echo "<input type='submit' class='btn' value=\"".$text['button-add']."\" >\n";
 			}
 			}
 		}
 		}
-		unset($sql, $prep_statement, $groups);
+		unset($sql, $groups);
 
 
 		echo "		</td>";
 		echo "		</td>";
 		echo "	</tr>";
 		echo "	</tr>";