Update do_not_disturb php class.

This commit is contained in:
Mark Crane 2012-09-29 21:46:09 +00:00
parent 2224111bea
commit 8f9de2987d
1 changed files with 28 additions and 111 deletions

View File

@ -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
?>