diff --git a/includes/classes/do_not_disturb.php b/includes/classes/do_not_disturb.php
index f046cd09ee..83a56ccdfa 100644
--- a/includes/classes/do_not_disturb.php
+++ b/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."
";
+ }
+ $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."
";
- }
- $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."
";
- }
- $db->exec(check_sql($sql));
- unset($sql);
- } //function
} //class
?>
\ No newline at end of file