소스 검색

Database class integration.

Nate 6 년 전
부모
커밋
8c5698d920

+ 42 - 39
core/domain_settings/domain_delete.php

@@ -42,54 +42,53 @@
 	$language = new text;
 	$text = $language->get();
 
-//get the id
-	if (is_array($_GET)) {
-		$id = check_str($_GET["id"]);
-	}
 
 //delete domain data and files
-	if (is_uuid($id)) {
+	if (is_uuid($_GET["id"])) {
+		$id = $_GET["id"];
+
 		//get the domain using the id
-			$sql = "select * from v_domains ";
-			$sql .= "where domain_uuid = '$id' ";
-			$prep_statement = $db->prepare(check_sql($sql));
-			$prep_statement->execute();
-			$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-			if (isset($result)) {
-				foreach ($result as &$row) {
-					$domain_name = $row["domain_name"];
-				}
-			}
-			unset ($prep_statement);
+			$sql = "select domain_name from v_domains ";
+			$sql .= "where domain_uuid = :domain_uuid ";
+			$parameters['domain_uuid'] = $id;
+			$database = new database;
+			$domain_name = $database->select($sql, $parameters, 'column');
+			unset($sql, $parameters);
 
 		//get the domain settings
 			$sql = "select * from v_domain_settings ";
-			$sql .= "where domain_uuid = '".$id."' ";
+			$sql .= "where domain_uuid = :domain_uuid ";
 			$sql .= "and domain_setting_enabled = 'true' ";
-			$prep_statement = $db->prepare($sql);
-			$prep_statement->execute();
-			$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-			if (isset($result)) foreach($result as $row) {
-				$name = $row['domain_setting_name'];
-				$category = $row['domain_setting_category'];
-				$subcategory = $row['domain_setting_subcategory'];
-				if (strlen($subcategory) == 0) {
-					if ($name == "array") {
-						$_SESSION[$category][] = $row['default_setting_value'];
-					}
-					else {
-						$_SESSION[$category][$name] = $row['default_setting_value'];
-					}
-				} else {
-					if ($name == "array") {
-						$_SESSION[$category][$subcategory][] = $row['default_setting_value'];
+			$parameters['domain_uuid'] = $id;
+			$database = new database;
+			$result = $database->select($sql, $parameters, 'all');
+			unset($sql, $parameters);
+
+			if (is_array($result) && sizeof($result) != 0) {
+				foreach ($result as $row) {
+					$name = $row['domain_setting_name'];
+					$category = $row['domain_setting_category'];
+					$subcategory = $row['domain_setting_subcategory'];
+					if ($subcategory != '') {
+						if ($name == "array") {
+							$_SESSION[$category][] = $row['default_setting_value'];
+						}
+						else {
+							$_SESSION[$category][$name] = $row['default_setting_value'];
+						}
 					}
 					else {
-						$_SESSION[$category][$subcategory]['uuid'] = $row['default_setting_uuid'];
-						$_SESSION[$category][$subcategory][$name] = $row['default_setting_value'];
+						if ($name == "array") {
+							$_SESSION[$category][$subcategory][] = $row['default_setting_value'];
+						}
+						else {
+							$_SESSION[$category][$subcategory]['uuid'] = $row['default_setting_uuid'];
+							$_SESSION[$category][$subcategory][$name] = $row['default_setting_value'];
+						}
 					}
 				}
 			}
+			unset($result, $row);
 
 		//get the $apps array from the installed apps from the core and mod directories
 			$config_list = glob($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH . "/*/*/app_config.php");
@@ -115,9 +114,13 @@
 					if ($table_name !== "v" && isset($row['fields'])) {
 						foreach ($row['fields'] as $field) {
 							if ($field['name'] == "domain_uuid") {
-								$sql = "delete from $table_name where domain_uuid = '$id'; ";
-								//echo $sql."<br />\n";
-								$db->query($sql);
+								$sql = "delete from ".$table_name." where domain_uuid = :domain_uuid ";
+								$parameters['domain_uuid'] = $id;
+								$database = new database;
+								$database->app_name = 'domain_settings';
+								$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+								$database->execute($sql, $parameters);
+								unset($sql, $parameters);
 							}
 						}
 					}

+ 440 - 317
core/domain_settings/domain_edit.php

@@ -50,9 +50,9 @@
 		$action = "update";
 	}
 	else {
-		if (isset($_REQUEST["id"])) {
+		if (is_uuid($_REQUEST["id"])) {
 			$action = "update";
-			$domain_uuid = check_str($_REQUEST["id"]);
+			$domain_uuid = $_REQUEST["id"];
 		}
 		else {
 			$action = "add";
@@ -61,16 +61,16 @@
 
 //get http post variables and set them to php variables
 	if (count($_POST) > 0) {
-		$domain_name = check_str($_POST["domain_name"]);
-		$domain_enabled = check_str($_POST["domain_enabled"]);
-		$domain_description = check_str($_POST["domain_description"]);
+		$domain_name = $_POST["domain_name"];
+		$domain_enabled = $_POST["domain_enabled"];
+		$domain_description = $_POST["domain_description"];
 	}
 
 if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 
 	$msg = '';
 	if ($action == "update") {
-		$domain_uuid = check_str($_POST["domain_uuid"]);
+		$domain_uuid = $_POST["domain_uuid"];
 	}
 
 	//check for all required data
@@ -92,131 +92,177 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 	//add or update the database
 		if ($_POST["persistformvar"] != "true") {
 			if ($action == "add" && permission_exists('domain_add')) {
-				$sql = "select count(*) as num_rows from v_domains ";
-				$sql .= "where domain_name = '".$domain_name."' ";
-				$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_domains ";
-						$sql .= "(";
-						$sql .= "domain_uuid, ";
-						$sql .= "domain_name, ";
-						$sql .= "domain_enabled, ";
-						$sql .= "domain_description ";
-						$sql .= ")";
-						$sql .= "values ";
-						$sql .= "(";
-						$sql .= "'".uuid()."', ";
-						$sql .= "'".$domain_name."', ";
-						$sql .= "'".$domain_enabled."', ";
-						$sql .= "'".$domain_description."' ";
-						$sql .= ")";
-						$db->exec(check_sql($sql));
-						unset($sql);
-					}
+				$sql = "select count(*) from v_domains ";
+				$sql .= "where domain_name = :domain_name ";
+				$parameters['domain_name'] = $domain_name;
+				$database = new database;
+				$num_rows = $database->select($sql, $parameters, 'column');
+				unset($sql, $parameters);
+
+				if ($num_rows == 0) {
+					$array['domains'][0]['domain_uuid'] = uuid();
+					$array['domains'][0]['domain_name'] = $domain_name;
+					$array['domains'][0]['domain_enabled'] = $domain_enabled;
+					$array['domains'][0]['domain_description'] = $domain_description;
+					$database = new database;
+					$database->app_name = 'domain_settings';
+					$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+					$database->save($array);
+					unset($array);
 				}
+
 			}
 
 			if ($action == "update" && permission_exists('domain_edit')) {
 				// get original domain name
 				$sql = "select domain_name from v_domains ";
-				$sql .= "where domain_uuid = '".$domain_uuid."' ";
-				$prep_statement = $db->prepare(check_sql($sql));
-				$prep_statement->execute();
-				$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-				foreach ($result as &$row) {
-					$original_domain_name = $row["domain_name"];
-					break;
-				}
-				unset($sql, $prep_statement);
+				$sql .= "where domain_uuid = :domain_uuid ";
+				$parameters['domain_uuid'] = $domain_uuid;
+				$database = new database;
+				$original_domain_name = $database->select($sql, $parameters, 'column');
+				unset($sql, $parameters);
 
 				// update domain name, description
-				$sql = "update v_domains set ";
-				$sql .= "domain_name = '".$domain_name."', ";
-				$sql .= "domain_enabled = '".$domain_enabled."', ";
-				$sql .= "domain_description = '".$domain_description."' ";
-				$sql .= "where domain_uuid = '".$domain_uuid."' ";
-				$db->exec(check_sql($sql));
-				unset($sql);
+				$array['domains'][0]['domain_uuid'] = $domain_uuid;
+				$array['domains'][0]['domain_name'] = $domain_name;
+				$array['domains'][0]['domain_enabled'] = $domain_enabled;
+				$array['domains'][0]['domain_description'] = $domain_description;
+				$database = new database;
+				$database->app_name = 'domain_settings';
+				$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+				$database->save($array);
+				unset($array);
 
 				if ($original_domain_name != $domain_name) {
 
 					// update dialplans
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/dialplans/app_config.php")){
 							$sql = "update v_dialplans ";
-							$sql .= "set dialplan_context = '".$domain_name."' ";
-							$sql .= "where dialplan_context = '".$original_domain_name."' ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "set dialplan_context = :dialplan_context_new ";
+							$sql .= "where dialplan_context = :dialplan_context_old ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['dialplan_context_new'] = $domain_name;
+							$parameters['dialplan_context_old'] = $original_domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 
 							$sql = "update v_dialplans ";
-							$sql .= "set dialplan_xml = replace(dialplan_xml, $original_domain_name, $domain_name); ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "set dialplan_xml = replace(dialplan_xml, :dialplan_xml_old, :dialplan_xml_new); ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['dialplan_xml_old'] = $original_domain_name;
+							$parameters['dialplan_xml_new'] = $domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 						}
 
 					// update destinations
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/destinations/app_config.php")){
 							$sql = "update v_destinations ";
-							$sql .= "set destination_data = replace(destination_data, $original_domain_name, $domain_name); ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "set destination_data = replace(destination_data, :destination_data_old, :destination_data_new); ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['destination_data_old'] = $original_domain_name;
+							$parameters['destination_data_new'] = $domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 						}
 
 					// update extensions (accountcode, user_context, dial_domain)
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/extensions/app_config.php")){
 							$sql = "update v_extensions set ";
-							$sql .= "accountcode = '".$domain_name."' ";
-							$sql .= "where accountcode = '".$original_domain_name."' ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "accountcode = :account_code_new ";
+							$sql .= "where accountcode = :account_code_old ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['account_code_new'] = $domain_name;
+							$parameters['account_code_old'] = $original_domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 
 							$sql = "update v_extensions set ";
-							$sql .= "user_context = '".$domain_name."' ";
-							$sql .= "where user_context = '".$original_domain_name."' ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "user_context = :user_context_new ";
+							$sql .= "where user_context = :user_context_old ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['user_context_new'] = $domain_name;
+							$parameters['user_context_old'] = $original_domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 
 							$sql = "update v_extensions set ";
-							$sql .= "dial_domain = '".$domain_name."' ";
-							$sql .= "where dial_domain = '".$original_domain_name."' ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "dial_domain = :dial_domain_new ";
+							$sql .= "where dial_domain = :dial_domain_old ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['dial_domain_new'] = $domain_name;
+							$parameters['dial_domain_old'] = $original_domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 						}
 
 					// update cdr records (domain_name, context)
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/xml_cdr/app_config.php")){
 							$sql = "update v_xml_cdr set ";
-							$sql .= "domain_name = '".$domain_name."' ";
-							$sql .= "where domain_name = '".$original_domain_name."' ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "domain_name = :domain_name_new ";
+							$sql .= "where domain_name = :domain_name_old ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['domain_name_new'] = $domain_name;
+							$parameters['domain_name_old'] = $original_domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 
 							$sql = "update v_xml_cdr set ";
-							$sql .= "context = '".$domain_name."' ";
-							$sql .= "where context = '".$original_domain_name."' ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "context = :context_new ";
+							$sql .= "where context = :context_old ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['context_new'] = $domain_name;
+							$parameters['context_old'] = $original_domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 						}
 
 					// update billing, if installed
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/billing/app_config.php")){
 							$sql = "update v_billings set ";
-							$sql .= "type_value = '".$domain_name."' ";
-							$sql .= "where type_value = '".$original_domain_name."' ";
-							$sql .= "and domain_uuid = '".$domain_uuid."' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$sql .= "type_value = :type_value_new ";
+							$sql .= "where type_value = :type_value_old ";
+							$sql .= "and domain_uuid = :domain_uuid ";
+							$parameters['type_value_new'] = $domain_name;
+							$parameters['type_value_old'] = $original_domain_name;
+							$parameters['domain_uuid'] = $domain_uuid;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 						}
 
 					// rename switch/storage/voicemail/default/[domain] (folder)
@@ -270,262 +316,328 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 					// update conference session recording paths
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/conference_centers/app_config.php")){
 							$sql = "select conference_session_uuid, recording from v_conference_sessions ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
-							$sql .= "and recording like '%".$original_domain_name."%' ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$conference_session_uuid = $row["conference_session_uuid"];
-								$recording = $row["recording"];
-								// replace old domain name with new domain
-								$recording = str_replace($original_domain_name, $domain_name, $recording);
-								// update db record
-								$sql = "update v_conference_sessions set ";
-								$sql .= "recording = '".$recording."' ";
-								$sql .= "where conference_session_uuid = '".$conference_session_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$sql .= "where domain_uuid = :domain_uuid ";
+							$sql .= "and recording like :recording ";
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['recording'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['conference_sessions'][$index]['conference_session_uuid'] = $row["conference_session_uuid"];
+									$array['conference_sessions'][$index]['recording'] = str_replace($original_domain_name, $domain_name, $row["recording"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('conference_session_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('conference_session_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update conference center greetings
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/conference_centers/app_config.php")){
 							$sql = "select conference_center_uuid, conference_center_greeting from v_conference_centers ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
-							$sql .= "and conference_center_greeting like '%".$original_domain_name."%' ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$conference_center_uuid = $row["conference_center_uuid"];
-								$conference_center_greeting = $row["conference_center_greeting"];
-								// replace old domain name with new domain
-								$conference_center_greeting = str_replace($original_domain_name, $domain_name, $conference_center_greeting);
-								// update db record
-								$sql = "update v_conference_centers set ";
-								$sql .= "conference_center_greeting = '".$conference_center_greeting."' ";
-								$sql .= "where conference_center_uuid = '".$conference_center_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$sql .= "where domain_uuid = :domain_uuid ";
+							$sql .= "and conference_center_greeting like :conference_center_greeting ";
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['conference_center_greeting'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['conference_centers'][$index]['conference_center_uuid'] = $row["conference_center_uuid"];
+									$array['conference_centers'][$index]['conference_center_greeting'] = str_replace($original_domain_name, $domain_name, $row["conference_center_greeting"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('conference_center_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('conference_center_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update ivr menu greetings
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ivr_menu/app_config.php")){
 							$sql = "select ivr_menu_uuid, ivr_menu_greet_long, ivr_menu_greet_short from v_ivr_menus ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
+							$sql .= "where domain_uuid = :domain_uuid ";
 							$sql .= "and ( ";
-							$sql .= "ivr_menu_greet_long like '%".$original_domain_name."%' or ";
-							$sql .= "ivr_menu_greet_short like '%".$original_domain_name."%' ";
+							$sql .= "ivr_menu_greet_long like :ivr_menu_greet_long or ";
+							$sql .= "ivr_menu_greet_short like :ivr_menu_greet_short ";
 							$sql .= ") ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$ivr_menu_uuid = $row["ivr_menu_uuid"];
-								$ivr_menu_greet_long = $row["ivr_menu_greet_long"];
-								$ivr_menu_greet_short = $row["ivr_menu_greet_short"];
-								// replace old domain name with new domain
-								$ivr_menu_greet_long = str_replace($original_domain_name, $domain_name, $ivr_menu_greet_long);
-								$ivr_menu_greet_short = str_replace($original_domain_name, $domain_name, $ivr_menu_greet_short);
-								// update db record
-								$sql = "update v_ivr_menus set ";
-								$sql .= "ivr_menu_greet_long = '".$ivr_menu_greet_long."', ";
-								$sql .= "ivr_menu_greet_short = '".$ivr_menu_greet_short."' ";
-								$sql .= "where ivr_menu_uuid = '".$ivr_menu_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['ivr_menu_greet_long'] = '%'.$original_domain_name.'%';
+							$parameters['ivr_menu_greet_short'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['ivr_menus'][$index]['ivr_menu_uuid'] = $row["ivr_menu_uuid"];
+									$array['ivr_menus'][$index]['ivr_menu_greet_long'] = str_replace($original_domain_name, $domain_name, $row["ivr_menu_greet_long"]);
+									$array['ivr_menus'][$index]['ivr_menu_greet_short'] = str_replace($original_domain_name, $domain_name, $row["ivr_menu_greet_short"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('ivr_menu_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('ivr_menu_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update ivr menu option parameters
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ivr_menu/app_config.php")){
 							$sql = "select ivr_menu_option_uuid, ivr_menu_option_param from v_ivr_menu_options ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
-							$sql .= "and ivr_menu_option_param like '%".$original_domain_name."%' ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$ivr_menu_option_uuid = $row["ivr_menu_option_uuid"];
-								$ivr_menu_option_param = $row["ivr_menu_option_param"];
-								// replace old domain name with new domain
-								$ivr_menu_option_param = str_replace($original_domain_name, $domain_name, $ivr_menu_option_param);
-								// update db record
-								$sql = "update v_ivr_menu_options set ";
-								$sql .= "ivr_menu_option_param = '".$ivr_menu_option_param."' ";
-								$sql .= "where ivr_menu_option_uuid = '".$ivr_menu_option_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$sql .= "where domain_uuid = :domain_uuid ";
+							$sql .= "and ivr_menu_option_param like :ivr_menu_option_param ";
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['ivr_menu_option_param'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['ivr_menu_options'][$index]['ivr_menu_option_uuid'] = $row["ivr_menu_option_uuid"];
+									$array['ivr_menu_options'][$index]['ivr_menu_option_param'] = str_replace($original_domain_name, $domain_name, $row["ivr_menu_option_param"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('ivr_menu_option_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('ivr_menu_option_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update call center queue record templates
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php")){
 							$sql = "select call_center_queue_uuid, queue_record_template from v_call_center_queues ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
-							$sql .= "and queue_record_template like '%".$original_domain_name."%' ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$call_center_queue_uuid = $row["call_center_queue_uuid"];
-								$queue_record_template = $row["queue_record_template"];
-								// replace old domain name with new domain
-								$queue_record_template = str_replace($original_domain_name, $domain_name, $queue_record_template);
-								// update db record
-								$sql = "update v_call_center_queues set ";
-								$sql .= "queue_record_template = '".$queue_record_template."' ";
-								$sql .= "where call_center_queue_uuid = '".$call_center_queue_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$sql .= "where domain_uuid = :domain_uuid ";
+							$sql .= "and queue_record_template like :queue_record_template ";
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['queue_record_template'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['call_center_queues'][$index]['call_center_queue_uuid'] = $row["call_center_queue_uuid"];
+									$array['call_center_queues'][$index]['queue_record_template'] = str_replace($original_domain_name, $domain_name, $row["queue_record_template"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('call_center_queue_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('call_center_queue_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update call center agent contacts
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php")){
 							$sql = "select call_center_agent_uuid, agent_contact from v_call_center_agents ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
-							$sql .= "and agent_contact like '%".$original_domain_name."%' ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$call_center_agent_uuid = $row["call_center_agent_uuid"];
-								$agent_contact = $row["agent_contact"];
-								// replace old domain name with new domain
-								$agent_contact = str_replace($original_domain_name, $domain_name, $agent_contact);
-								// update db record
-								$sql = "update v_call_center_agents set ";
-								$sql .= "agent_contact = '".$agent_contact."' ";
-								$sql .= "where call_center_agent_uuid = '".$call_center_agent_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$sql .= "where domain_uuid = :domain_uuid ";
+							$sql .= "and agent_contact like :agent_contact ";
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['agent_contact'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['call_center_agents'][$index]['call_center_agent_uuid'] = $row["call_center_agent_uuid"];
+									$array['call_center_agents'][$index]['agent_contact'] = str_replace($original_domain_name, $domain_name, $row["agent_contact"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('call_center_agent_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('call_center_agent_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update call flows data, alternate-data and contexts
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_flows/app_config.php")){
 							$sql = "select call_flow_uuid, call_flow_data, call_flow_alternate_data, call_flow_context from v_call_flows ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
+							$sql .= "where domain_uuid = :domain_uuid ";
 							$sql .= "and ( ";
-							$sql .= "call_flow_data like '%".$original_domain_name."%' or ";
-							$sql .= "call_flow_alternate_data like '%".$original_domain_name."%' or ";
-							$sql .= "call_flow_context like '%".$original_domain_name."%' ";
+							$sql .= "call_flow_data like :call_flow_data or ";
+							$sql .= "call_flow_alternate_data like :call_flow_alternate_data or ";
+							$sql .= "call_flow_context like :call_flow_context ";
 							$sql .= ") ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$call_flow_uuid = $row["call_flow_uuid"];
-								$call_flow_data = $row["call_flow_data"];
-								$call_flow_alternate_data = $row["call_flow_alternate_data"];
-								$call_flow_context = $row["call_flow_context"];
-								// replace old domain name with new domain
-								$call_flow_data = str_replace($original_domain_name, $domain_name, $call_flow_data);
-								$call_flow_alternate_data = str_replace($original_domain_name, $domain_name, $call_flow_alternate_data);
-								$call_flow_context = str_replace($original_domain_name, $domain_name, $call_flow_context);
-								// update db record
-								$sql = "update v_call_flows set ";
-								$sql .= "call_flow_data = '".$call_flow_data."', ";
-								$sql .= "call_flow_alternate_data = '".$call_flow_alternate_data."', ";
-								$sql .= "call_flow_context = '".$call_flow_context."' ";
-								$sql .= "where call_flow_uuid = '".$call_flow_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['call_flow_data'] = '%'.$original_domain_name.'%';
+							$parameters['call_flow_alternate_data'] = '%'.$original_domain_name.'%';
+							$parameters['call_flow_context'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['call_flows'][$index]['call_flow_uuid'] = $row["call_flow_uuid"];
+									$array['call_flows'][$index]['call_flow_data'] = str_replace($original_domain_name, $domain_name, $row["call_flow_data"]);
+									$array['call_flows'][$index]['call_flow_alternate_data'] = str_replace($original_domain_name, $domain_name, $row["call_flow_alternate_data"]);
+									$array['call_flows'][$index]['call_flow_context'] = str_replace($original_domain_name, $domain_name, $row["call_flow_context"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('call_flow_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('call_flow_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update ring group context, forward destination, timeout data
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ring_groups/app_config.php")){
 							$sql = "select ring_group_uuid, ring_group_context, ring_group_forward_destination, ring_group_timeout_data from v_ring_groups ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
+							$sql .= "where domain_uuid = :domain_uuid ";
 							$sql .= "and ( ";
-							$sql .= "ring_group_context like '%".$original_domain_name."%' or ";
-							$sql .= "ring_group_forward_destination like '%".$original_domain_name."%' or ";
-							$sql .= "ring_group_timeout_data like '%".$original_domain_name."%' ";
+							$sql .= "ring_group_context like :ring_group_context or ";
+							$sql .= "ring_group_forward_destination like :ring_group_forward_destination or ";
+							$sql .= "ring_group_timeout_data like :ring_group_timeout_data ";
 							$sql .= ") ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$ring_group_uuid = $row["ring_group_uuid"];
-								$ring_group_context = $row["ring_group_context"];
-								$ring_group_forward_destination = $row["ring_group_forward_destination"];
-								$ring_group_timeout_data = $row["ring_group_timeout_data"];
-								// replace old domain name with new domain
-								$ring_group_context = str_replace($original_domain_name, $domain_name, $ring_group_context);
-								$ring_group_forward_destination = str_replace($original_domain_name, $domain_name, $ring_group_forward_destination);
-								$ring_group_timeout_data = str_replace($original_domain_name, $domain_name, $ring_group_timeout_data);
-								// update db record
-								$sql = "update v_ring_groups set ";
-								$sql .= "ring_group_context = '".$ring_group_context."', ";
-								$sql .= "ring_group_forward_destination = '".$ring_group_forward_destination."', ";
-								$sql .= "ring_group_timeout_data = '".$ring_group_timeout_data."' ";
-								$sql .= "where ring_group_uuid = '".$ring_group_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['ring_group_context'] = '%'.$original_domain_name.'%';
+							$parameters['ring_group_forward_destination'] = '%'.$original_domain_name.'%';
+							$parameters['ring_group_timeout_data'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['ring_groups'][$index]['ring_group_uuid'] = $row["ring_group_uuid"];
+									$array['ring_groups'][$index]['ring_group_context'] = str_replace($original_domain_name, $domain_name, $row["ring_group_context"]);
+									$array['ring_groups'][$index]['ring_group_forward_destination'] = str_replace($original_domain_name, $domain_name, $row["ring_group_forward_destination"]);
+									$array['ring_groups'][$index]['ring_group_timeout_data'] = str_replace($original_domain_name, $domain_name, $row["ring_group_timeout_data"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('ring_group_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('ring_group_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update device lines server address, outbound proxy
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/devices/app_config.php")){
 							$sql = "select device_line_uuid, server_address, outbound_proxy_primary, outbound_proxy_secondary from v_device_lines ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
+							$sql .= "where domain_uuid = :domain_uuid ";
 							$sql .= "and ( ";
-							$sql .= "server_address like '%".$original_domain_name."%' or ";
-							$sql .= "outbound_proxy_primary like '%".$original_domain_name."%' or ";
-							$sql .= "outbound_proxy_secondary like '%".$original_domain_name."%' ";
+							$sql .= "server_address like :server_address or ";
+							$sql .= "outbound_proxy_primary like :outbound_proxy_primary or ";
+							$sql .= "outbound_proxy_secondary like :outbound_proxy_secondary ";
 							$sql .= ") ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$device_line_uuid = $row["device_line_uuid"];
-								$server_address = $row["server_address"];
-								$outbound_proxy_primary = $row["outbound_proxy_primary"];
-								$outbound_proxy_secondary = $row["outbound_proxy_secondary"];
-								// replace old domain name with new domain
-								$server_address = str_replace($original_domain_name, $domain_name, $server_address);
-								$outbound_proxy_primary = str_replace($original_domain_name, $domain_name, $outbound_proxy_primary);
-								$outbound_proxy_secondary = str_replace($original_domain_name, $domain_name, $outbound_proxy_secondary);
-								// update db record
-								$sql = "update v_device_lines set ";
-								$sql .= "server_address = '".$server_address."', ";
-								$sql .= "outbound_proxy_primary = '".$outbound_proxy_primary."' ";
-								$sql .= "outbound_proxy_secondary = '".$outbound_proxy_secondary."' ";
-								$sql .= "where device_line_uuid = '".$device_line_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['server_address'] = '%'.$original_domain_name.'%';
+							$parameters['outbound_proxy_primary'] = '%'.$original_domain_name.'%';
+							$parameters['outbound_proxy_secondary'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									// update db record
+									$array['device_lines'][$index]['device_line_uuid'] = $row["device_line_uuid"];
+									$array['device_lines'][$index]['server_address'] = str_replace($original_domain_name, $domain_name, $row["server_address"]);
+									$array['device_lines'][$index]['outbound_proxy_primary'] = str_replace($original_domain_name, $domain_name, $row["outbound_proxy_primary"]);
+									$array['device_lines'][$index]['outbound_proxy_secondary'] = str_replace($original_domain_name, $domain_name, $row["outbound_proxy_secondary"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('device_line_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('device_line_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update dialplan, dialplan/public xml files
@@ -542,26 +654,33 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 					// update dialplan details
 						if (file_exists($_SERVER["PROJECT_ROOT"]."/app/dialplans/app_config.php")){
 							$sql = "select dialplan_detail_uuid, dialplan_detail_data from v_dialplan_details ";
-							$sql .= "where domain_uuid = '".$domain_uuid."' ";
-							$sql .= "and dialplan_detail_data like '%".$original_domain_name."%' ";
-							$prep_statement = $db->prepare(check_sql($sql));
-							$prep_statement->execute();
-							$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-							foreach ($result as &$row) {
-								// get current values
-								$dialplan_detail_uuid = $row["dialplan_detail_uuid"];
-								$dialplan_detail_data = $row["dialplan_detail_data"];
-								// replace old domain name with new domain
-								$dialplan_detail_data = str_replace($original_domain_name, $domain_name, $dialplan_detail_data);
-								// update db record
-								$sql = "update v_dialplan_details set ";
-								$sql .= "dialplan_detail_data = '".$dialplan_detail_data."' ";
-								$sql .= "where dialplan_detail_uuid = '".$dialplan_detail_uuid."' ";
-								$sql .= "and domain_uuid = '".$domain_uuid."' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
+							$sql .= "where domain_uuid = :domain_uuid ";
+							$sql .= "and dialplan_detail_data like :dialplan_detail_data ";
+							$parameters['domain_uuid'] = $domain_uuid;
+							$parameters['dialplan_detail_data'] = '%'.$original_domain_name.'%';
+							$database = new database;
+							$result = $database->select($sql, $parameters, 'all');
+							unset($sql, $parameters);
+
+							if (is_array($result) && sizeof($result) != 0) {
+								foreach ($result as $index => &$row) {
+									$array['dialplan_detail'][$index]['dialplan_detail_uuid'] = $row["dialplan_detail_uuid"];
+									$array['dialplan_detail'][$index]['dialplan_detail_data'] = str_replace($original_domain_name, $domain_name, $row["dialplan_detail_data"]);
+								}
+								if (is_array($array) && sizeof($array) != 0) {
+									$p = new permissions;
+									$p->add('dialplan_detail_edit', 'temp');
+
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('dialplan_detail_edit', 'temp');
+								}
 							}
-							unset($sql, $prep_statement, $result);
+							unset($result);
 						}
 
 					// update session domain name
@@ -580,10 +699,14 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 					// if single-tenant and variables exist, update variables > domain value to match new domain
 						if (count($_SESSION['domains']) == 1 && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/vars/")) {
 							$sql = "update v_vars set ";
-							$sql .= "var_value = '".$domain_name."' ";
+							$sql .= "var_value = :var_value ";
 							$sql .= "where var_name = 'domain' ";
-							$db->exec(check_sql($sql));
-							unset($sql);
+							$parameters['var_value'] = $domain_name;
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->execute($sql, $parameters);
+							unset($sql, $parameters);
 						}
 				}
 			}
@@ -621,16 +744,16 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 //pre-populate the form (admin won't have domain_add permissions, but domain_uuid will already be set above)
 	if ((count($_GET) > 0 || (!permission_exists('domain_add') && $domain_uuid != '')) && $_POST["persistformvar"] != "true") {
 		$sql = "select * from v_domains ";
-		$sql .= "where domain_uuid = '$domain_uuid' ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->execute();
-		$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-		foreach ($result as &$row) {
+		$sql .= "where domain_uuid = :domain_uuid ";
+		$parameters['domain_uuid'] = $domain_uuid;
+		$database = new database;
+		$row = $database->select($sql, $parameters, 'row');
+		if (is_array($row) && sizeof($row) != 0) {
 			$domain_name = strtolower($row["domain_name"]);
 			$domain_enabled = $row["domain_enabled"];
 			$domain_description = $row["domain_description"];
 		}
-		unset ($prep_statement);
+		unset($sql, $parameters, $row);
 	}
 
 //show the header
@@ -778,7 +901,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 
 	echo "</form>";
 
-	if (permission_exists('domain_setting_edit') && $action == "update") {
+	if ($action == "update" && permission_exists('domain_setting_view')) {
 		require "domain_settings.php";
 	}
 

+ 16 - 14
core/domain_settings/domain_setting_delete.php

@@ -38,25 +38,27 @@ else {
 	$language = new text;
 	$text = $language->get();
 
-//get the variables
-	if (count($_GET)>0) {
-		$id = check_str($_GET["id"]);
-		$domain_uuid = check_str($_GET["domain_uuid"]);
-	}
-
 //delete the record
-	if (strlen($id) > 0) {
+	if (is_uuid($_GET["id"]) && is_uuid($_GET["domain_uuid"])) {
+
+		$domain_setting_uuid = $_GET["id"];
+		$domain_uuid = $_GET["domain_uuid"];
+
 		//delete domain_setting
-			$sql = "delete from v_domain_settings ";
-			$sql .= "where domain_uuid = '$domain_uuid' ";
-			$sql .= "and domain_setting_uuid = '$id' ";
-			$prep_statement = $db->prepare(check_sql($sql));
-			$prep_statement->execute();
-			unset($sql);
+			$array['domain_settings'][0]['domain_setting_uuid'] = $domain_setting_uuid;
+			$array['domain_settings'][0]['domain_uuid'] = $domain_uuid;
+
+			$database = new database;
+			$database->app_name = 'domain_settings';
+			$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+			$database->delete($array);
+			unset($array);
+
+		//set message
+			message::add($text['message-delete']);
 	}
 
 //redirect the user
-	message::add($text['message-delete']);
 	header("Location: domain_edit.php?id=".$domain_uuid);
 	return;
 

+ 172 - 210
core/domain_settings/domain_setting_edit.php

@@ -62,35 +62,35 @@
 	}
 
 //action add or update
-	if (isset($_REQUEST["id"])) {
+	if (is_uuid($_REQUEST["id"])) {
 		$action = "update";
-		$domain_setting_uuid = check_str($_REQUEST["id"]);
+		$domain_setting_uuid = $_REQUEST["id"];
 	}
 	else {
 		$action = "add";
 	}
 
 //set the domain_uuid
-	if (strlen($_GET["domain_uuid"]) > 0) {
-		$domain_uuid = check_str($_GET["domain_uuid"]);
+	if (is_uuid($_GET["domain_uuid"])) {
+		$domain_uuid = $_GET["domain_uuid"];
 	}
 
 //get http post variables and set them to php variables
 	if (count($_POST) > 0) {
-		$domain_setting_category = strtolower(check_str($_POST["domain_setting_category"]));
-		$domain_setting_subcategory = strtolower(check_str($_POST["domain_setting_subcategory"]));
-		$domain_setting_name = strtolower(check_str($_POST["domain_setting_name"]));
-		$domain_setting_value = check_str($_POST["domain_setting_value"]);
-		$domain_setting_order = check_str($_POST["domain_setting_order"]);
-		$domain_setting_enabled = strtolower(check_str($_POST["domain_setting_enabled"]));
-		$domain_setting_description = check_str($_POST["domain_setting_description"]);
+		$domain_setting_category = strtolower($_POST["domain_setting_category"]);
+		$domain_setting_subcategory = strtolower($_POST["domain_setting_subcategory"]);
+		$domain_setting_name = strtolower($_POST["domain_setting_name"]);
+		$domain_setting_value = $_POST["domain_setting_value"];
+		$domain_setting_order = $_POST["domain_setting_order"];
+		$domain_setting_enabled = strtolower($_POST["domain_setting_enabled"]);
+		$domain_setting_description = $_POST["domain_setting_description"];
 	}
 
 if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 
 	$msg = '';
 	if ($action == "update") {
-		$domain_setting_uuid = check_str($_POST["domain_setting_uuid"]);
+		$domain_setting_uuid = $_POST["domain_setting_uuid"];
 	}
 
 	//check for all required/authorized data
@@ -117,82 +117,69 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 	//add or update the database
 		if ($_POST["persistformvar"] != "true") {
 			// fix null
-				$domain_setting_order = ($domain_setting_order != '') ? $domain_setting_order : 'null';
+				$domain_setting_order = $domain_setting_order != '' ? $domain_setting_order : 'null';
 
 			//update switch timezone variables
 				if ($domain_setting_category == "domain" && $domain_setting_subcategory == "time_zone" && $domain_setting_name == "name" ) {
 					//get the dialplan_uuid
-						$sql = "select * from v_dialplans ";
-						$sql .= "where domain_uuid = '".$domain_uuid."' ";
+						$sql = "select dialplan_uuid from v_dialplans ";
+						$sql .= "where domain_uuid = :domain_uuid ";
 						$sql .= "and app_uuid = '9f356fe7-8cf8-4c14-8fe2-6daf89304458' ";
-						$prep_statement = $db->prepare(check_sql($sql));
-						$prep_statement->execute();
-						$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-						foreach ($result as $row) {
-							$dialplan_uuid = $row["dialplan_uuid"];
-						}
-						unset ($prep_statement);
+						$parameters['domain_uuid'] = $domain_uuid;
+						$database = new database;
+						$dialplan_uuid = $database->select($sql, $parameters, 'column');
+						unset($sql, $parameters);
 
 					//get the action
-						$sql = "select * from v_dialplan_details ";
-						$sql .= "where domain_uuid = '".$domain_uuid."' ";
-						$sql .= "and dialplan_uuid = '".$dialplan_uuid."' ";
+						$sql = "select dialplan_detail_uuid from v_dialplan_details ";
+						$sql .= "where domain_uuid = :domain_uuid ";
+						$sql .= "and dialplan_uuid = :dialplan_uuid ";
 						$sql .= "and dialplan_detail_tag = 'action' ";
 						$sql .= "and dialplan_detail_type = 'set' ";
 						$sql .= "and dialplan_detail_data like 'timezone=%' ";
-						$prep_statement = $db->prepare(check_sql($sql));
-						$prep_statement->execute();
-						$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-						$detail_action = "add";
-						foreach ($result as $row) {
-							$dialplan_detail_uuid = $row["dialplan_detail_uuid"];
-							$detail_action = "update";
-						}
-						unset ($prep_statement);
+						$parameters['domain_uuid'] = $domain_uuid;
+						$parameters['dialplan_uuid'] = $dialplan_uuid;
+						$database = new database;
+						$dialplan_detail_uuid = $database->select($sql, $parameters, 'column');
+						$detail_action = is_uuid($dialplan_detail_uuid) ? 'update' : 'add';
+						unset($sql, $parameters);
 
 					//update the timezone
+						$p = new permissions;
 						if ($detail_action == "update") {
-							$sql = "update v_dialplan_details ";
-							$sql .= "set dialplan_detail_data = 'timezone=".$domain_setting_value."' ";
-							$sql .= "where dialplan_detail_uuid = '".$dialplan_detail_uuid."' ";
+							$array['dialplan_details'][0]['dialplan_detail_uuid'] = $dialplan_detail_uuid;
+							$array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone='.$domain_setting_value;
+							$p->add('dialplan_detail_edit', 'temp');
 						}
 						else {
-							$dialplan_detail_uuid = uuid();
-							$dialplan_detail_group = 0;
-							$sql = "insert into v_dialplan_details ";
-							$sql .= "(";
-							$sql .= "domain_uuid, ";
-							$sql .= "dialplan_detail_uuid, ";
-							$sql .= "dialplan_uuid, ";
-							$sql .= "dialplan_detail_tag, ";
-							$sql .= "dialplan_detail_type, ";
-							$sql .= "dialplan_detail_data, ";
-							$sql .= "dialplan_detail_inline, ";
-							$sql .= "dialplan_detail_group ";
-							$sql .= ") ";
-							$sql .= "values ";
-							$sql .= "(";
-							$sql .= "'".$domain_uuid."', ";
-							$sql .= "'".$dialplan_detail_uuid."', ";
-							$sql .= "'".$dialplan_uuid."', ";
-							$sql .= "'action', ";
-							$sql .= "'set', ";
-							$sql .= "'timezone=".$domain_setting_value."', ";
-							$sql .= "'true', ";
-							$sql .= "'".$dialplan_detail_group."' ";
-							$sql .= "); ";
+							$array['dialplan_details'][0]['dialplan_detail_uuid'] = uuid();
+							$array['dialplan_details'][0]['domain_uuid'] = $domain_uuid;
+							$array['dialplan_details'][0]['dialplan_uuid'] = $dialplan_uuid;
+							$array['dialplan_details'][0]['dialplan_detail_tag'] = 'action';
+							$array['dialplan_details'][0]['dialplan_detail_type'] = 'set';
+							$array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone=".$domain_setting_value."';
+							$array['dialplan_details'][0]['dialplan_detail_inline'] = 'true';
+							$array['dialplan_details'][0]['dialplan_detail_group'] = '0';
+							$p->add('dialplan_detail_add', 'temp');
+						}
+						if (is_array($array) && sizeof($array) != 0) {
+							$database = new database;
+							$database->app_name = 'domain_settings';
+							$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+							$database->save($array);
+							unset($array);
+
+							$p->delete('dialplan_detail_edit', 'temp');
+							$p->delete('dialplan_detail_add', 'temp');
 						}
-						$db->query($sql);
-						unset($sql);
 
-					//get the dialplan_uuid
-						$sql = "select * from v_domains ";
-						$sql .= "where domain_uuid = '".$domain_uuid."' ";
-						$prep_statement = $db->prepare(check_sql($sql));
-						$prep_statement->execute();
-						$row = $prep_statement->fetch(PDO::FETCH_NAMED);
-						$domain_name = $row["domain_name"];
-						unset ($prep_statement);
+					//get the dialplan uuid
+						$sql = "select domain_name from v_domains ";
+						$sql .= "where domain_uuid = :domain_uuid ";
+						$parameters['domain_uuid'] = $domain_uuid;
+						$database = new database;
+						$domain_name = $database->select($sql, $parameters, 'column');
+						unset($sql, $parameters);
 
 					//update the dialplan xml
 						$dialplans = new dialplan;
@@ -206,132 +193,111 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 						$cache->delete("dialplan:".$domain_name);
 				}
 
-			//add the domain
+			//add
 				if ($action == "add" && permission_exists('domain_setting_add')) {
-					$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 .= "'$domain_uuid', ";
-					$sql .= "'".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 .= ")";
-					$db->exec(check_sql($sql));
-					unset($sql);
-				} //if ($action == "add")
-
-			//update the domain
+					$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 = '$domain_setting_category', ";
-					$sql .= "domain_setting_subcategory = '$domain_setting_subcategory', ";
-					$sql .= "domain_setting_name = '$domain_setting_name', ";
-					$sql .= "domain_setting_value = '$domain_setting_value', ";
-					$sql .= "domain_setting_order = $domain_setting_order, ";
-					$sql .= "domain_setting_enabled = '$domain_setting_enabled', ";
-					$sql .= "domain_setting_description = '$domain_setting_description' ";
-					$sql .= "where domain_uuid = '$domain_uuid' ";
-					$sql .= "and domain_setting_uuid = '$domain_setting_uuid'";
-					$db->exec(check_sql($sql));
-					unset($sql);
-				} //if ($action == "update")
+					$array['domain_settings'][0]['domain_setting_uuid'] = $domain_setting_uuid;
+				}
+			//execute
+				if (is_uuid($array['domain_settings'][0]['domain_setting_uuid'])) {
+					$array['domain_settings'][0]['domain_uuid'] = $domain_uuid;
+					$array['domain_settings'][0]['domain_setting_category'] = $domain_setting_category;
+					$array['domain_settings'][0]['domain_setting_subcategory'] = $domain_setting_subcategory;
+					$array['domain_settings'][0]['domain_setting_name'] = $domain_setting_name;
+					$array['domain_settings'][0]['domain_setting_value'] = $domain_setting_value;
+					$array['domain_settings'][0]['domain_setting_order'] = $domain_setting_order;
+					$array['domain_settings'][0]['domain_setting_enabled'] = $domain_setting_enabled;
+					$array['domain_settings'][0]['domain_setting_description'] = $domain_setting_description;
+					$database = new database;
+					$database->app_name = 'domain_settings';
+					$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+					$database->save($array);
+					unset($array);
+				}
 
 			//update time zone
 				if ($domain_setting_category == "domain" && $domain_setting_subcategory == "time_zone" && $domain_setting_name == "name" && strlen($domain_setting_value) > 0 ) {
 					$sql = "select * from v_dialplans ";
 					$sql .= "where app_uuid = '34dd307b-fffe-4ead-990c-3d070e288126' ";
-					$sql .= "and domain_uuid = '".$_SESSION["domain_uuid"]."' ";
-					$prep_statement = $db->prepare(check_sql($sql));
-					$prep_statement->execute();
-					$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+					$sql .= "and domain_uuid = :domain_uuid ";
+					$parameters['domain_uuid'] = $_SESSION["domain_uuid"];
+					$database = new database;
+					$result = $database->select($sql, $parameters, 'all');
+					unset($sql, $parameters);
+
 					$time_zone_found = false;
-					foreach ($result as &$row) {
-						//get the dialplan_uuid
-							$dialplan_uuid = $row["dialplan_uuid"];
-
-						//get the dialplan details
-							$sql = "select * from v_dialplan_details ";
-							$sql .= "where dialplan_uuid = '".$dialplan_uuid."' ";
-							$sql .= "and domain_uuid = '".$_SESSION["domain_uuid"]."' ";
-							$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 $field) {
-								$dialplan_detail_uuid = $field["dialplan_detail_uuid"];
-								$dialplan_detail_tag = $field["dialplan_detail_tag"]; //action //condition
-								$dialplan_detail_type = $field["dialplan_detail_type"]; //set
-								$dialplan_detail_data = $field["dialplan_detail_data"];
-								$dialplan_detail_group = $field["dialplan_detail_group"];
-								if ($dialplan_detail_tag == "action" && $dialplan_detail_type == "set") {
-									$data_array = explode("=", $dialplan_detail_data);
-									if ($data_array[0] == "timezone") {
-										$time_zone_found = true;
-										break;
+					if (is_array($result) && sizeof($result) != 0) {
+						foreach ($result as &$row) {
+							//get the dialplan_uuid
+								$dialplan_uuid = $row["dialplan_uuid"];
+
+							//get the dialplan details
+								$sql = "select * from v_dialplan_details ";
+								$sql .= "where dialplan_uuid = :dialplan_uuid ";
+								$sql .= "and domain_uuid = :domain_uuid ";
+								$parameters['dialplan_uuid'] = $dialplan_uuid;
+								$parameters['domain_uuid'] = $_SESSION["domain_uuid"];
+								$database = new database;
+								$sub_result = $database->select($sql, $parameters, 'all');
+								if (is_array($sub_result) && sizeof($sub_result) != 0) {
+									foreach ($sub_result as $field) {
+										$dialplan_detail_uuid = $field["dialplan_detail_uuid"];
+										$dialplan_detail_tag = $field["dialplan_detail_tag"]; //action //condition
+										$dialplan_detail_type = $field["dialplan_detail_type"]; //set
+										$dialplan_detail_data = $field["dialplan_detail_data"];
+										$dialplan_detail_group = $field["dialplan_detail_group"];
+										if ($dialplan_detail_tag == "action" && $dialplan_detail_type == "set") {
+											$data_array = explode("=", $dialplan_detail_data);
+											if ($data_array[0] == "timezone") {
+												$time_zone_found = true;
+												break;
+											}
+										}
 									}
 								}
-							}
-
-						//add the time zone
-							if (!$time_zone_found) {
-								//$dialplan_detail_uuid = uuid();
-								$dialplan_detail_uuid = "eb3b3a4e-88ea-4306-b2a8-9f52d3c95f2f";
-								$sql = "insert into v_dialplan_details ";
-								$sql .= "(";
-								$sql .= "domain_uuid, ";
-								$sql .= "dialplan_uuid, ";
-								$sql .= "dialplan_detail_uuid, ";
-								$sql .= "dialplan_detail_tag, ";
-								$sql .= "dialplan_detail_type, ";
-								$sql .= "dialplan_detail_data, ";
-								$sql .= "dialplan_detail_group, ";
-								$sql .= "dialplan_detail_order ";
-								$sql .= ") ";
-								$sql .= "values ";
-								$sql .= "(";
-								$sql .= "'".$_SESSION["domain_uuid"]."', "; //8cfd9525-6ccf-4c2c-813a-bca5809067cd
-								$sql .= "'$dialplan_uuid', "; //807b4aa6-4478-4663-a661-779397c1d542
-								$sql .= "'$dialplan_detail_uuid', ";
-								$sql .= "'action', ";
-								$sql .= "'set', ";
-								$sql .= "'timezone=$domain_setting_value', ";
-								if (strlen($dialplan_detail_group) > 0) {
-									$sql .= "'$dialplan_detail_group', ";
+								unset($sql, $parameters, $sub_result, $field);
+
+							//add the time zone
+								if (!$time_zone_found) {
+									$dialplan_detail_uuid = "eb3b3a4e-88ea-4306-b2a8-9f52d3c95f2f";
+									$array['dialplan_details'][0]['domain_uuid'] = $_SESSION["domain_uuid"]; //8cfd9525-6ccf-4c2c-813a-bca5809067cd
+									$array['dialplan_details'][0]['dialplan_uuid'] = $dialplan_uuid; //807b4aa6-4478-4663-a661-779397c1d542
+									$array['dialplan_details'][0]['dialplan_detail_uuid'] = $dialplan_detail_uuid;
+									$array['dialplan_details'][0]['dialplan_detail_tag'] = 'action';
+									$array['dialplan_details'][0]['dialplan_detail_type'] = 'set';
+									$array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone='.$domain_setting_value;
+									$array['dialplan_details'][0]['dialplan_detail_group'] = $dialplan_detail_group;
+									$array['dialplan_details'][0]['dialplan_detail_order'] = '15';
+
+									$p = new permissions;
+									$p->add('dialplan_detail_add', 'temp');
 								}
-								else {
-									$sql .= "null, ";
+
+							//update the time zone
+								if ($time_zone_found) {
+									$array['dialplan_details'][0]['dialplan_detail_uuid'] = $dialplan_detail_uuid;
+									$array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone='.$domain_setting_value;
+
+									$p = new permissions;
+									$p->add('dialplan_detail_edit', 'temp');
+								}
+
+							//execute
+								if (is_array($array) && sizeof($array) != 0) {
+									$database = new database;
+									$database->app_name = 'domain_settings';
+									$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+									$database->save($array);
+									unset($array);
+
+									$p->delete('dialplan_detail_add', 'temp');
+									$p->delete('dialplan_detail_edit', 'temp');
 								}
-								$sql .= "'15' ";
-								$sql .= ")";
-								$db->exec(check_sql($sql));
-								unset($sql);
-							}
-
-						//update the time zone
-							if ($time_zone_found) {
-								$sql = "update v_dialplan_details set ";
-								$sql .= "dialplan_detail_data = 'timezone=".$domain_setting_value."' ";
-								$sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' ";
-								$sql .= "and dialplan_uuid = '$dialplan_uuid' ";
-								$sql .= "and dialplan_detail_uuid = '$dialplan_detail_uuid' ";
-								$db->exec(check_sql($sql));
-								unset($sql);
-							}
+						}
 					}
 				}
 
@@ -343,20 +309,21 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 					message::add($text['message-add']);
 				}
 				header("Location: domain_edit.php?id=".$domain_uuid);
-				return;
-		} //if ($_POST["persistformvar"] != "true")
-} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
+				exit;
+		}
+}
 
 //pre-populate the form
-	if (count($_GET)>0 && $_POST["persistformvar"] != "true") {
-		$domain_setting_uuid = check_str($_GET["id"]);
+	if (count($_GET)>0 && $_POST["persistformvar"] != "true" && is_uuid($_GET["id"])) {
+		$domain_setting_uuid = $_GET["id"];
 		$sql = "select * from v_domain_settings ";
-		$sql .= "where domain_uuid = '$domain_uuid' ";
-		$sql .= "and domain_setting_uuid = '$domain_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 domain_uuid = :domain_uuid ";
+		$sql .= "and domain_setting_uuid = :domain_setting_uuid ";
+		$parameters['domain_uuid'] = $domain_uuid;
+		$parameters['domain_setting_uuid'] = $domain_setting_uuid;
+		$database = new database;
+		$row = $database->select($sql, $parameters, 'row');
+		if (is_array($row) && sizeof($row) != 0) {
 			$domain_setting_category = $row["domain_setting_category"];
 			$domain_setting_subcategory = $row["domain_setting_subcategory"];
 			$domain_setting_name = $row["domain_setting_name"];
@@ -364,9 +331,8 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 			$domain_setting_order = $row["domain_setting_order"];
 			$domain_setting_enabled = $row["domain_setting_enabled"];
 			$domain_setting_description = $row["domain_setting_description"];
-			break; //limit to 1 row
 		}
-		unset ($prep_statement);
+		unset($sql, $parameters, $row);
 	}
 
 //show the header
@@ -464,21 +430,17 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 	if ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
 		echo "		<select class='formfld' id='domain_setting_value' name='domain_setting_value' style=''>\n";
 		echo "		<option value=''></option>\n";
-		$sql = "";
-		$sql .= "select * from v_menus ";
+		$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($row['domain_setting_value']) == strtolower($sub_row["menu_uuid"])) {
-				echo "		<option value='".strtolower(escape($sub_row["menu_uuid"]))."' selected='selected'>".escape($sub_row["menu_language"])." - ".escape($sub_row["menu_name"])."\n";
-			}
-			else {
-				echo "		<option value='".strtolower(escape($sub_row["menu_uuid"]))."'>".escape($sub_row["menu_language"])." - ".escape($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) {
+				$selected = strtolower($row['domain_setting_value']) == strtolower($sub_row["menu_uuid"]) ? "selected='selected'" : null;
+				echo "		<option value='".strtolower(escape($sub_row["menu_uuid"]))."' ".$selected.">".escape($sub_row["menu_language"])." - ".escape($sub_row["menu_name"])."</option>\n";
 			}
 		}
-		unset ($sub_prep_statement);
+		unset($sql, $sub_result, $sub_row, $selected);
 		echo "		</select>\n";
 	}
 	elseif ($category == "domain" && $subcategory == "template" && $name == "name" ) {

+ 136 - 133
core/domain_settings/domain_settings.php

@@ -40,20 +40,26 @@
 //toggle enabled
 	if (sizeof($_REQUEST) > 1) {
 		//get the variables
-			$action = check_str($_REQUEST["action"]);
-			$domain_uuid = check_str($_REQUEST["domain_id"]);
+			$action = $_REQUEST["action"];
+			$domain_uuid = $_REQUEST["domain_id"];
 			$domain_setting_uuids = $_REQUEST["id"];
-			$enabled = check_str($_REQUEST['enabled']);
+			$enabled = $_REQUEST['enabled'];
 
 		//change enabled value
-			if ($domain_uuid != '' && sizeof($domain_setting_uuids) == 1 && $enabled != '') {
-				$sql = "update v_domain_settings set ";
-				$sql .= "domain_setting_enabled = '".$enabled."' ";
-				$sql .= "where domain_uuid = '".$domain_uuid."' ";
-				$sql .= "and domain_setting_uuid = '".$domain_setting_uuids[0]."' ";
-				//echo $sql."<br><br>";
-				$db->exec(check_sql($sql));
-				unset($sql);
+			if (
+				permission_exists('domain_setting_edit') &&
+				is_uuid($domain_uuid) &&
+				is_array($domain_setting_uuids) &&
+				sizeof($domain_setting_uuids) == 1 &&
+				($enabled == 'true' || $enabled == 'false')
+				) {
+				$array['domain_settings'][0]['domain_setting_uuid'] = $domain_setting_uuids[0];
+				$array['domain_settings'][0]['domain_setting_enabled'] = $enabled;
+				$database = new database;
+				$database->app_name = 'domains';
+				$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+				$database->save($array);
+				unset($array);
 
 				message::add($text['message-update']);
 				header("Location: domain_edit.php?id=".$domain_uuid);
@@ -62,100 +68,96 @@
 
 		//copy domain settings
 			if ($action == 'copy' && permission_exists('domain_setting_add')) {
-				$target_domain_uuid = check_str($_POST["target_domain_uuid"]);
-
-				if ($target_domain_uuid != '' && sizeof($domain_setting_uuids) > 0) {
-					$settings_copied = 0;
-					foreach ($domain_setting_uuids as $domain_setting_uuid) {
-
-						// get default setting from db
-						$sql = "select * from v_domain_settings ";
-						$sql .= "where domain_setting_uuid = '".$domain_setting_uuid."' ";
-						$prep_statement = $db->prepare(check_sql($sql));
-						$prep_statement->execute();
-						$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-						foreach ($result as &$row) {
-							$domain_setting_uuid = $row["default_setting_uuid"];
-							$domain_setting_category = $row["default_setting_category"];
-							$domain_setting_subcategory = $row["default_setting_subcategory"];
-							$domain_setting_name = $row["default_setting_name"];
-							$domain_setting_value = $row["default_setting_value"];
-							$domain_setting_order = $row["default_setting_order"];
-							$domain_setting_enabled = $row["default_setting_enabled"];
-							$domain_setting_description = $row["default_setting_description"];
-						}
-						unset ($prep_statement);
+				$target_domain_uuid = $_POST["target_domain_uuid"];
+
+				if (is_uuid($target_domain_uuid) && is_array($domain_setting_uuids) && sizeof($domain_setting_uuids) != 0) {
+					foreach ($domain_setting_uuids as $index => $domain_setting_uuid) {
+
+						if (is_uuid($domain_setting_uuid)) {
+
+							// get default setting from db
+							$sql = "select * from v_domain_settings ";
+							$sql .= "where domain_setting_uuid = :domain_setting_uuid ";
+							$parameters['domain_setting_uuid'] = $domain_setting_uuid;
+							$database = new database;
+							$row = $database->select($sql, $parameters, 'row');
+							if (is_array($row) && sizeof($row) != 0) {
+								$domain_setting_uuid = $row["default_setting_uuid"];
+								$domain_setting_category = $row["default_setting_category"];
+								$domain_setting_subcategory = $row["default_setting_subcategory"];
+								$domain_setting_name = $row["default_setting_name"];
+								$domain_setting_value = $row["default_setting_value"];
+								$domain_setting_order = $row["default_setting_order"];
+								$domain_setting_enabled = $row["default_setting_enabled"];
+								$domain_setting_description = $row["default_setting_description"];
+							}
+							unset($sql, $parameters, $row);
 
-						//set a random password for http_auth_password
-						if ($domain_setting_subcategory == "http_auth_password") {
-							$domain_setting_value = generate_password();
-						}
+							//set a random password for http_auth_password
+							if ($domain_setting_subcategory == "http_auth_password") {
+								$domain_setting_value = generate_password();
+							}
 
-						// check if exists
-						$sql = "select domain_setting_uuid from v_domain_settings ";
-						$sql .= "where domain_uuid = '".$target_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;
+							// check if exists
+							$sql = "select domain_setting_uuid from v_domain_settings ";
+							$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' ";
+							$parameters['domain_uuid'] = $target_domain_uuid;
+							$parameters['domain_setting_category'] = $domain_setting_category;
+							$parameters['domain_setting_subcategory'] = $domain_setting_subcategory;
+							$parameters['domain_setting_name'] = $domain_setting_name;
+							$database = new database;
+							$target_domain_setting_uuid = $database->select($sql, $parameters, 'column');
+							if (is_uuid($target_domain_setting_uuid)) {
+								$action = "update";
 							}
-							$action = "update";
-						}
-						else {
-							$action = "add";
-							$target_domain_setting_uuid = uuid();
+							else {
+								$action = "add";
+								$target_domain_setting_uuid = uuid();
+							}
+							unset($sql, $parameters);
+
+							// fix null
+							$domain_setting_order = $domain_setting_order != '' ? $domain_setting_order : 'null';
+
+							//prepare the array
+							$array['domain_settings'][$index]['domain_uuid'] = $target_domain_uuid;
+							$array['domain_settings'][$index]['domain_setting_uuid'] = $target_domain_setting_uuid;
+							$array['domain_settings'][$index]['default_setting_category'] = $default_setting_category;
+							$array['domain_settings'][$index]['domain_setting_uuid'] = $default_setting_subcategory;
+							$array['domain_settings'][$index]['domain_setting_uuid'] = $default_setting_name;
+							$array['domain_settings'][$index]['domain_setting_uuid'] = $default_setting_value;
+							$array['domain_settings'][$index]['domain_setting_uuid'] = $default_setting_order;
+							$array['domain_settings'][$index]['domain_setting_uuid'] = $default_setting_enabled;
+							$array['domain_settings'][$index]['domain_setting_uuid'] = $default_setting_description;
+
 						}
-						unset ($prep_statement);
-
-						// fix null
-						$domain_setting_order = ($domain_setting_order != '') ? $domain_setting_order : 'null';
-
-						//prepare the array
-						$array['domain_settings'][$x]['domain_uuid'] = $target_domain_uuid;
-						$array['domain_settings'][$x]['domain_setting_uuid'] = $target_domain_setting_uuid;
-						$array['domain_settings'][$x]['default_setting_category'] = $default_setting_category;
-						$array['domain_settings'][$x]['domain_setting_uuid'] = $default_setting_subcategory;
-						$array['domain_settings'][$x]['domain_setting_uuid'] = $default_setting_name;
-						$array['domain_settings'][$x]['domain_setting_uuid'] = $default_setting_value;
-						$array['domain_settings'][$x]['domain_setting_uuid'] = $default_setting_order;
-						$array['domain_settings'][$x]['domain_setting_uuid'] = $default_setting_enabled;
-						$array['domain_settings'][$x]['domain_setting_uuid'] = $default_setting_description;
-						$x++;
 
 					} // foreach
 
-					//save to the data
-					$database = new database;
-					$database->app_name = 'domain_settings';
-					$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
-					//if (strlen($stream_uuid) > 0) {
-					//	$database->uuid($stream_uuid);
-					//}
-					$database->save($array);
-					$message = $database->message;
-
-					//debug info
-					//echo "<pre>";
-					//print_r($message);
-					//echo "</pre>";
-					//exit;
+					//save the data
+					if (is_array($array) && sizeof($array) != 0) {
+						$database = new database;
+						$database->app_name = 'domain_settings';
+						$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+						$database->save($array);
+						$message = $database->message;
 
-					// set message
-					$_SESSION["message"] = $text['message-copy'].": ".escape($settings_copied);
+						// set message
+						$_SESSION["message"] = $text['message-copy'].": ".sizeof($array);
+
+						unset($array);
+					}
 				}
 				else {
 					// set message
 					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;
 			}
 
@@ -165,16 +167,24 @@
 					$language = new text;
 					$text = $language->get();
 
-				if (sizeof($domain_setting_uuids) > 0) {
-					foreach ($domain_setting_uuids as $domain_setting_uuid) {
-						$sql = "delete from v_domain_settings ";
-						$sql .= "where domain_setting_uuid = '".$domain_setting_uuid."' ";
-						$prep_statement = $db->prepare(check_sql($sql));
-						$prep_statement->execute();
-						unset ($prep_statement, $sql);
+				if (is_array($domain_setting_uuids) && sizeof($domain_setting_uuids) != 0) {
+					foreach ($domain_setting_uuids as $index => $domain_setting_uuid) {
+						if (is_uuid($domain_setting_uuid)) {
+							$array['domain_settings'][$index]['domain_setting_uuid'] = $domain_setting_uuid;
+						}
+					}
+					if (is_array($array) && sizeof($array) != 0) {
+						$database = new database;
+						$database->app_name = 'domain_settings';
+						$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+						$database->delete($array);
+						$message = $database->message;
+
+						// set message
+						$_SESSION["message"] = $text['message-delete'].": ".sizeof($array);
+
+						unset($array);
 					}
-					// set message
-					$_SESSION["message"] = $text['message-delete'].": ".sizeof($domain_setting_uuids);
 				}
 				else {
 					// set message
@@ -190,8 +200,8 @@
 	require_once "resources/paging.php";
 
 //get the variables
-	$order_by = check_str($_GET["order_by"]);
-	$order = check_str($_GET["order"]);
+	$order_by = $_GET["order_by"];
+	$order = $_GET["order"];
 
 //show the content
 	echo "<form name='domain_frm' id='domain_frm' method='GET' action='domain_settings.php'>";
@@ -199,20 +209,12 @@
 	echo "<input type='hidden' name='domain_uuid' value='".escape($domain_uuid)."'>";
 
 //prepare to page the results
-	$sql = "select count(*) as num_rows from v_domain_settings ";
-	$sql .= "where domain_uuid = '$domain_uuid' ";
-	$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';
-		}
-		unset ($prep_statement, $sql);
-	}
+	$sql = "select count(*) from v_domain_settings ";
+	$sql .= "where domain_uuid = :domain_uuid ";
+	$parameters['domain_uuid'] = $domain_uuid;
+	$database = new database;
+	$num_rows = $database->select($sql, $parameters, 'column');
+	unset($sql);
 
 //prepare to page the results
 	$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 1000;
@@ -224,19 +226,18 @@
 
 //get the list
 	$sql = "select * from v_domain_settings ";
-	$sql .= "where domain_uuid = '$domain_uuid' ";
-	if (strlen($order_by) == 0) {
+	$sql .= "where domain_uuid = :domain_uuid ";
+	if ($order_by == '') {
 		$sql .= "order by domain_setting_category, domain_setting_subcategory, domain_setting_order asc, domain_setting_name, domain_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, $parameters, 'all');
+	$result_count = sizeof($result);
+	unset($sql, $parameters);
 
 	$c = 0;
 	$row_style["0"] = "row_style0";
@@ -245,7 +246,7 @@
 //show the content
 	echo "<table class='tr_hover' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
 
-	if ($result_count > 0) {
+	if (is_array($result) && sizeof($result) != 0) {
 		$previous_category = '';
 		foreach($result as $row) {
 			if ($previous_category != $row['domain_setting_category']) {
@@ -314,14 +315,16 @@
 			$name = $row['domain_setting_name'];
 			if ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
 				$sql = "select * from v_menus ";
-				$sql .= "where menu_uuid = '".$row['domain_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);
-				foreach ($sub_result as &$sub_row) {
-					echo escape($sub_row["menu_language"])." - ".escape($sub_row["menu_name"])."\n";
+				$sql .= "where menu_uuid = :menu_uuid ";
+				$parameters['menu_uuid'] = $row['domain_setting_value'];
+				$database = new database;
+				$sub_result = $database->select($sql, $parameters, 'all');
+				if (is_array($sub_result) && sizeof($sub_result) != 0) {
+					foreach ($sub_result as &$sub_row) {
+						echo escape($sub_row["menu_language"])." - ".escape($sub_row["menu_name"])."\n";
+					}
 				}
+				unset($sql, $parameters, $sub_result, $sub_row);
 			}
 			else if ($category == "domain" && $subcategory == "template" && $name == "name" ) {
 				echo "		".ucwords($row['domain_setting_value']);

+ 46 - 61
core/domain_settings/domains.php

@@ -47,30 +47,31 @@
 	$text = $language->get();
 
 //change the domain
-	if (strlen(check_str($_GET["domain_uuid"])) > 0 && check_str($_GET["domain_change"]) == "true") {
+	if (is_uuid($_GET["domain_uuid"]) && $_GET["domain_change"] == "true") {
 		if (permission_exists('domain_select')) {
 			//get the domain_uuid
 				$sql = "select * from v_domains ";
 				$sql .= "order by domain_name asc ";
-				$prep_statement = $db->prepare($sql);
-				$prep_statement->execute();
-				$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-				foreach($result as $row) {
-					if (count($result) == 0) {
-						$_SESSION["domain_uuid"] = $row["domain_uuid"];
-						$_SESSION["domain_name"] = $row['domain_name'];
-					}
-					else {
-						if ($row['domain_name'] == $domain_array[0] || $row['domain_name'] == 'www.'.$domain_array[0]) {
+				$database = new database;
+				$result = $database->select($sql, null, 'all');
+				if (is_array($result) && sizeof($result) != 0) {
+					foreach($result as $row) {
+						if (count($result) == 0) {
 							$_SESSION["domain_uuid"] = $row["domain_uuid"];
 							$_SESSION["domain_name"] = $row['domain_name'];
 						}
+						else {
+							if ($row['domain_name'] == $domain_array[0] || $row['domain_name'] == 'www.'.$domain_array[0]) {
+								$_SESSION["domain_uuid"] = $row["domain_uuid"];
+								$_SESSION["domain_name"] = $row['domain_name'];
+							}
+						}
 					}
 				}
-				unset($result, $prep_statement);
+				unset($sql, $result);
 
 			//update the domain session variables
-				$domain_uuid = check_str($_GET["domain_uuid"]);
+				$domain_uuid = $_GET["domain_uuid"];
 				$_SESSION['domain_uuid'] = $domain_uuid;
 				$_SESSION["domain_name"] = $_SESSION['domains'][$domain_uuid]['domain_name'];
 				$_SESSION['domain']['template']['name'] = $_SESSION['domains'][$domain_uuid]['template_name'];
@@ -91,7 +92,7 @@
 				else {
 					header("Location: ".PROJECT_PATH."/core/user_settings/user_dashboard.php");
 				}
-				return;
+				exit;
 		}
 	}
 
@@ -106,31 +107,26 @@
 	require_once "resources/paging.php";
 
 //get the http values and set them as variables
-	$search = check_str($_GET["search"]);
-	if (isset($_GET["order_by"])) {
-		$order_by = check_str($_GET["order_by"]);
-		$order = check_str($_GET["order"]);
+	$search = $_GET["search"];
+	$order_by = $_GET["order_by"] != '' ? $_GET["order_by"] : 'domain_name';
+	$order = $_GET["order"];
+
+//prepare search
+	if ($search != '') {
+		$sql_where = "where (";
+		$sql_where .= " 	lower(domain_name) like :domain_name ";
+		$sql_where .= " 	or domain_description like :domain_description ";
+		$sql_where .= ") ";
+		$parameters['domain_name'] = '%'.strtolower($search).'%';
+		$parameters['domain_description'] = '%'.strtolower($search).'%';
 	}
 
 //prepare to page the results
-	$sql = "select count(*) as num_rows from v_domains ";
-	if (strlen($search) > 0) {
-		$sql .= "where (";
-		$sql .= " 	domain_name like '%".$search."%' ";
-		$sql .= " 	or domain_description like '%".$search."%' ";
-		$sql .= ") ";
-	}
-	$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_domains ";
+	$sql .= $sql_where;
+	$database = new database;
+	$num_rows = $database->select($sql, $parameters, 'column');
+	unset($sql);
 
 //prepare to page the results
 	$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
@@ -142,31 +138,20 @@
 
 //get the domains
 	$sql = "select * from v_domains ";
-	if (strlen($search) > 0) {
-		$search = strtolower($search);
-		$sql .= "where (";
-		$sql .= "	lower(domain_name) like '%".$search."%' ";
-		$sql .= "	or lower(domain_description) like '%".$search."%' ";
-		$sql .= ") ";
-	}
-	if (strlen($order_by) == 0) {
-		$sql .= "order by domain_name asc ";
-	}
-	else {
-		$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);
-	unset ($prep_statement, $sql);
-
-	foreach ($result as $domain) {
-		$domains[$domain['domain_uuid']]['name'] = $domain['domain_name'];
-		$domains[$domain['domain_uuid']]['parent_uuid'] = $domain['domain_parent_uuid'];
-		$domains[$domain['domain_uuid']]['enabled'] = $domain['domain_enabled'];
-		$domains[$domain['domain_uuid']]['description'] = $domain['domain_description'];
+	$sql .= $sql_where;
+	$sql .= order_by($order_by, $order);
+	$sql .= limit_offset($rows_per_page, $offset);
+	$database = new database;
+	$result = $database->select($sql, $parameters, 'all');
+	if (is_array($result) && sizeof($result) != 0) {
+		foreach ($result as $domain) {
+			$domains[$domain['domain_uuid']]['name'] = $domain['domain_name'];
+			$domains[$domain['domain_uuid']]['parent_uuid'] = $domain['domain_parent_uuid'];
+			$domains[$domain['domain_uuid']]['enabled'] = $domain['domain_enabled'];
+			$domains[$domain['domain_uuid']]['description'] = $domain['domain_description'];
+		}
 	}
+	unset($sql, $sql_where, $parameters, $result, $domain);
 
 	$c = 0;
 	$row_style["0"] = "row_style0";
@@ -202,7 +187,7 @@
 	echo "</td>\n";
 	echo "</tr>\n";
 
-	if (count($domains) > 0) {
+	if (is_array($domains) && sizeof($domains) != 0) {
 		foreach ($domains as $domain_uuid => $domain) {
 			$tr_link = (permission_exists('domain_edit')) ? "href='domain_edit.php?id=".escape($domain_uuid)."'" : null;
 			echo "<tr ".$tr_link.">\n";