Browse Source

Update do_not_disturb php class.

Mark Crane 13 years ago
parent
commit
350941e0b8
1 changed files with 28 additions and 111 deletions
  1. 28 111
      includes/classes/do_not_disturb.php

+ 28 - 111
includes/classes/do_not_disturb.php

@@ -28,20 +28,20 @@ include "root.php";
 //define the dnd class
 	class do_not_disturb {
 		public $domain_uuid;
-		public $dnd_uuid;
 		public $domain_name;
 		public $extension;
-		public $dnd_enabled;
+		public $enabled;
+		private $dial_string;
 
 		//update the user_status
-		public function dnd_status() {
+		public function user_status() {
 			global $db;
-			if ($this->dnd_enabled == "true") {
+			if ($this->enabled == "true") {
 				//update the call center status
 					$user_status = "Logged Out";
 					$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
 					if ($fp) {
-						$switch_cmd .= "callcenter_config agent set status ".$_SESSION['username']."@".$domain_name." '".$user_status."'";
+						$switch_cmd .= "callcenter_config agent set status ".$_SESSION['username']."@".$this->domain_name." '".$user_status."'";
 						$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
 					}
 
@@ -49,121 +49,38 @@ include "root.php";
 					$user_status = "Do Not Disturb";
 					$sql  = "update v_users set ";
 					$sql .= "user_status = '$user_status' ";
-					$sql .= "where domain_uuid = '$domain_uuid' ";
+					$sql .= "where domain_uuid = '".$this->domain_uuid."' ";
 					$sql .= "and username = '".$_SESSION['username']."' ";
 					$prep_statement = $db->prepare(check_sql($sql));
 					$prep_statement->execute();
 			}
-		} //function
+		}
 
-		public function dnd_add() {
+		public function set() {
 			global $db;
-			$hunt_group_extension = $this->extension;
-			$huntgroup_name = 'dnd_'.$this->extension;
-			$hunt_group_type = 'dnd';
-			$hunt_group_context = $_SESSION['context'];
-			$hunt_group_timeout = '1';
-			$hunt_group_timeout_destination = $this->extension;
-			$hunt_group_timeout_type = 'voicemail';
-			$hunt_group_ring_back = 'us-ring';
-			//$hunt_group_cid_name_prefix = '';
-			//$hunt_group_pin = '';
-			//$hunt_group_call_prompt = 'false';
-			$huntgroup_caller_announce = 'false';
-			//$hunt_group_user_list = '';
-			$hunt_group_enabled = $this->dnd_enabled;
-			$hunt_group_description = 'dnd '.$this->extension;
+			//update the extension
+				if ($this->enabled == "true") {
+					$this->dial_string = "loopback/*99".$this->extension;
+				}
+				else {
+					$this->dial_string = "";
+				}
+				$sql  = "update v_extensions set ";
+				$sql .= "do_not_disturb = '".$this->enabled."', ";
+				$sql .= "dial_string = '".$this->dial_string."', ";
+				$sql .= "dial_domain = '".$this->domain_name."' ";
+				$sql .= "where domain_uuid = '".$this->domain_uuid."' ";
+				$sql .= "and extension = '".$this->extension."' ";
+				if ($this->debug) {
+					echo $sql."<br />";
+				}
+				$db->exec(check_sql($sql));
+				unset($sql);
 
-			$sql = "insert into v_hunt_groups ";
-			$sql .= "(";
-			$sql .= "domain_uuid, ";
-			$sql .= "hunt_group_uuid, ";
-			$sql .= "hunt_group_extension, ";
-			$sql .= "hunt_group_name, ";
-			$sql .= "hunt_group_type, ";
-			$sql .= "hunt_group_context, ";
-			$sql .= "hunt_group_timeout, ";
-			$sql .= "hunt_group_timeout_destination, ";
-			$sql .= "hunt_group_timeout_type, ";
-			$sql .= "hunt_group_ringback, ";
-			//$sql .= "hunt_group_cid_name_prefix, ";
-			//$sql .= "hunt_group_pin, ";
-			$sql .= "hunt_group_call_prompt, ";
-			$sql .= "hunt_group_caller_announce, ";
-			//$sql .= "hunt_group_user_list, ";
-			$sql .= "hunt_group_enabled, ";
-			$sql .= "hunt_group_description ";
-			$sql .= ")";
-			$sql .= "values ";
-			$sql .= "(";
-			$sql .= "'$this->domain_uuid', ";
-			$sql .= "'$this->dnd_uuid', ";
-			$sql .= "'$hunt_group_extension', ";
-			$sql .= "'$huntgroup_name', ";
-			$sql .= "'$hunt_group_type', ";
-			$sql .= "'$hunt_group_context', ";
-			$sql .= "'$hunt_group_timeout', ";
-			$sql .= "'$hunt_group_timeout_destination', ";
-			$sql .= "'$hunt_group_timeout_type', ";
-			$sql .= "'$hunt_group_ring_back', ";
-			//$sql .= "'$hunt_group_cid_name_prefix', ";
-			//$sql .= "'$hunt_group_pin', ";
-			$sql .= "'$hunt_group_call_prompt', ";
-			$sql .= "'$huntgroup_caller_announce', ";
-			//$sql .= "'$hunt_group_user_list', ";
-			$sql .= "'$hunt_group_enabled', ";
-			$sql .= "'$hunt_group_description' ";
-			$sql .= ")";
-			if ($this->debug) {
-				echo $sql."<br />";
-			}
-			$db->exec(check_sql($sql));
-			unset($sql);
+			//syncrhonize configuration
+				save_extension_xml();
 		} //function
 
-		public function dnd_update() {
-			global $db;
-
-			$hunt_group_extension = $this->extension;
-			$huntgroup_name = 'dnd_'.$this->extension;
-			$hunt_group_type = 'dnd';
-			$hunt_group_context = $_SESSION['context'];
-			$hunt_group_timeout = '1';
-			$hunt_group_timeout_destination = $this->extension;
-			$hunt_group_timeout_type = 'voicemail';
-			$hunt_group_ring_back = 'us-ring';
-			//$hunt_group_cid_name_prefix = '';
-			//$hunt_group_pin = '';
-			//$hunt_group_call_prompt = 'false';
-			$huntgroup_caller_announce = 'false';
-			//$hunt_group_user_list = '';
-			$hunt_group_enabled = $this->dnd_enabled;
-			$hunt_group_description = 'dnd '.$this->extension;
-
-			$sql = "update v_hunt_groups set ";
-			$sql .= "hunt_group_extension = '$hunt_group_extension', ";
-			$sql .= "hunt_group_name = '$huntgroup_name', ";
-			$sql .= "hunt_group_type = '$hunt_group_type', ";
-			$sql .= "hunt_group_context = '$hunt_group_context', ";
-			$sql .= "hunt_group_timeout = '$hunt_group_timeout', ";
-			$sql .= "hunt_group_timeout_destination = '$hunt_group_timeout_destination', ";
-			$sql .= "hunt_group_timeout_type = '$hunt_group_timeout_type', ";
-			$sql .= "hunt_group_ringback = '$hunt_group_ring_back', ";
-			//$sql .= "hunt_group_cid_name_prefix = '$hunt_group_cid_name_prefix', ";
-			//$sql .= "hunt_group_pin = '$hunt_group_pin', ";
-			$sql .= "hunt_group_call_prompt = '$hunt_group_call_prompt', ";
-			$sql .= "hunt_group_caller_announce = 'false', ";
-			//$sql .= "hunt_group_user_list = '$hunt_group_user_list', ";
-			$sql .= "hunt_group_enabled = '$hunt_group_enabled', ";
-			$sql .= "hunt_group_description = '$hunt_group_description' ";
-			$sql .= "where domain_uuid = '$this->domain_uuid' ";
-			$sql .= "and hunt_group_uuid = '$this->dnd_uuid' ";
-			if ($this->debug) {
-				echo $sql."<br />";
-			}
-			$db->exec(check_sql($sql));
-			unset($sql);
-		} //function
 	} //class
 
 ?>