diff --git a/app/calls/call_edit.php b/app/calls/call_edit.php
index 3b65f122d5..1b97b0def8 100644
--- a/app/calls/call_edit.php
+++ b/app/calls/call_edit.php
@@ -98,8 +98,10 @@ else {
$outbound_caller_id_name = $row["outbound_caller_id_name"];
$outbound_caller_id_number = $row["outbound_caller_id_number"];
$do_not_disturb = $row["do_not_disturb"];
- $call_forward_all = $row["call_forward_all"];
- $call_forward_busy = $row["call_forward_busy"];
+ $forward_all_destination = $row["forward_all_destination"];
+ $forward_all_enabled = $row["forward_all_enabled"];
+ $forward_busy_destination = $row["forward_busy_destination"];
+ $forward_busy_enabled = $row["forward_busy_enabled"];
$follow_me_uuid = $row["follow_me_uuid"];
break; //limit to 1 row
}
@@ -113,8 +115,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
//get http post variables and set them to php variables
if (count($_POST)>0) {
- $call_forward_enabled = check_str($_POST["call_forward_enabled"]);
- $call_forward_number = check_str($_POST["call_forward_number"]);
+ $forward_all_enabled = check_str($_POST["forward_all_enabled"]);
+ $forward_all_destination = check_str($_POST["forward_all_destination"]);
$follow_me_enabled = check_str($_POST["follow_me_enabled"]);
$destination_data_1 = check_str($_POST["destination_data_1"]);
@@ -139,8 +141,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$dnd_enabled = check_str($_POST["dnd_enabled"]);
- if (strlen($call_forward_number) > 0) {
- $call_forward_number = preg_replace("~[^0-9]~", "",$call_forward_number);
+ if (strlen($forward_all_destination) > 0) {
+ $forward_all_destination = preg_replace("~[^0-9]~", "",$forward_all_destination);
}
if (strlen($destination_data_1) > 0) {
$destination_data_1 = preg_replace("~[^0-9]~", "",$destination_data_1);
@@ -160,8 +162,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
}
//check for all required data
- //if (strlen($call_forward_enabled) == 0) { $msg .= "Please provide: Call Forward
\n"; }
- //if (strlen($call_forward_number) == 0) { $msg .= "Please provide: Number
\n"; }
+ //if (strlen($forward_all_enabled) == 0) { $msg .= "Please provide: Call Forward
\n"; }
+ //if (strlen($forward_all_destination) == 0) { $msg .= "Please provide: Number
\n"; }
//if (strlen($follow_me_enabled) == 0) { $msg .= "Please provide: Follow Me
\n"; }
//if (strlen($destination_data_1) == 0) { $msg .= "Please provide: 1st Number
\n"; }
//if (strlen($destination_timeout_1) == 0) { $msg .= "Please provide: sec
\n"; }
@@ -211,31 +213,14 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
if (permission_exists('call_forward')) {
$call_forward = new call_forward;
$call_forward->domain_uuid = $_SESSION['domain_uuid'];
- $call_forward->db_type = $db_type;
- $call_forward->extension = $extension;
- $call_forward->call_forward_number = $call_forward_number;
- $call_forward->call_forward_enabled = $call_forward_enabled;
- if ($call_forward_enabled == "true") {
- if ($call_forward_action == "add") {
- $call_forward->call_forward_uuid = uuid();
- $call_forward->call_forward_add();
- }
- }
- if ($call_forward_action == "update") {
- $call_forward->call_forward_uuid = $call_forward_uuid;
- $call_forward->call_forward_update();
- }
+ $call_forward->extension_uuid = $extension_uuid;
+ $call_forward->forward_all_destination = $forward_all_destination;
+ $call_forward->forward_all_enabled = $forward_all_enabled;
+ $call_forward->update();
unset($call_forward);
-
- //synchronize the xml config
- save_hunt_group_xml();
-
- //synchronize the xml config
- save_dialplan_xml();
}
//follow me config
-
if (permission_exists('follow_me')) {
$follow_me = new follow_me;
$follow_me->domain_uuid = $_SESSION['domain_uuid'];
@@ -289,9 +274,6 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$follow_me->set();
}
unset($follow_me);
-
- //synchronize the xml config
- save_dialplan_xml();
}
//do not disturb (dnd) config
@@ -338,7 +320,6 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$result2 = $prep_statement_2->fetchAll(PDO::FETCH_NAMED);
$x = 1;
foreach ($result2 as &$row2) {
- //$call_forward_number = $row2["destination_data"];
if ($x == 1) {
$destination_data_1 = $row2["follow_me_destination"];
$destination_delay_1 = $row2["follow_me_delay"];
@@ -376,7 +357,6 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$dnd_enabled = $do_not_disturb;
}
-
//prepare the autocomplete
echo "\n";
echo "\n";
@@ -450,17 +430,17 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$on_click .= "document.getElementById('follow_me_disabled').checked=true;";
$on_click .= "document.getElementById('dnd_enabled').checked=false;";
$on_click .= "document.getElementById('dnd_disabled').checked=true;";
- if ($call_forward_enabled == "true") {
- echo " ".$text['label-enabled']." \n";
+ if ($forward_all_enabled == "true") {
+ echo " ".$text['label-enabled']." \n";
}
else {
- echo " ".$text['label-enable']." \n";
+ echo " ".$text['label-enable']." \n";
}
- if ($call_forward_enabled == "false" || $call_forward_enabled == "") {
- echo " ".$text['label-disabled']." \n";
+ if ($forward_all_enabled == "false" || $forward_all_enabled == "") {
+ echo " ".$text['label-disabled']." \n";
}
else {
- echo " ".$text['label-disable']." \n";
+ echo " ".$text['label-disable']." \n";
}
unset($on_click);
echo "
\n";
@@ -474,7 +454,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo " ".$text['label-number'].":\n";
echo "\n";
echo "
\n";
- echo " \n";
+ echo " \n";
echo " \n";
//echo "Enter the call forward number.\n";
echo " | \n";
@@ -491,7 +471,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo " ".$text['label-follow-me'].":\n";
echo "\n";
echo "\n";
- $on_click = "document.getElementById('call_forward_enabled').checked=true;";
+ $on_click = "document.getElementById('forward_all_enabled').checked=true;";
$on_click .= "document.getElementById('call_forward_disabled').checked=true;";
$on_click .= "document.getElementById('dnd_enabled').checked=false;";
$on_click .= "document.getElementById('dnd_disabled').checked=true;";
@@ -601,7 +581,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo " ".$text['label-dnd'].":\n";
echo " | \n";
echo "\n";
- $on_click = "document.getElementById('call_forward_enabled').checked=true;";
+ $on_click = "document.getElementById('forward_all_enabled').checked=true;";
$on_click .= "document.getElementById('call_forward_disabled').checked=true;";
$on_click .= "document.getElementById('follow_me_enabled').checked=true;";
$on_click .= "document.getElementById('follow_me_disabled').checked=true;";
diff --git a/app/calls/resources/classes/switch_call_forward.php b/app/calls/resources/classes/switch_call_forward.php
index b681c56e9f..3bf00f62c5 100644
--- a/app/calls/resources/classes/switch_call_forward.php
+++ b/app/calls/resources/classes/switch_call_forward.php
@@ -28,168 +28,21 @@ include "root.php";
//define the call_forward class
class call_forward {
public $domain_uuid;
- public $db_type;
- public $call_forward_uuid;
- public $extension;
- public $call_forward_enabled;
- public $call_forward_number;
+ public $extension_uuid;
+ public $forward_all_destination;
+ public $forward_all_enabled;
- public function call_forward_add() {
+ public function update() {
global $db;
- $hunt_group_extension = $this->extension;
- $huntgroup_name = 'call_forward_'.$this->extension;
- $hunt_group_type = 'call_forward';
- $hunt_group_context = $_SESSION['context'];
- $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 = '';
- $huntgroup_caller_announce = 'false';
- $hunt_group_user_list = '';
- $hunt_group_enabled = $this->call_forward_enabled;
- $hunt_group_description = 'call forward '.$this->extension;
-
- $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->call_forward_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 ($v_debug) {
- echo "add: ".$sql." ";
- }
- $db->exec(check_sql($sql));
- unset($sql);
- $this->call_forward_destination();
- }
-
- public function call_forward_update() {
- global $db;
- $hunt_group_extension = $this->extension;
- $huntgroup_name = 'call_forward_'.$this->extension;
- $hunt_group_type = 'call_forward';
- $hunt_group_context = $_SESSION['context'];
- $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 = '';
- $huntgroup_caller_announce = 'false';
- $hunt_group_user_list = '';
- $hunt_group_enabled = $this->call_forward_enabled;
- $hunt_group_description = 'call forward '.$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 = '$huntgroup_caller_announce', ";
- $sql .= "hunt_group_user_list = '$hunt_group_user_list', ";
- $sql .= "hunt_group_enabled = '$hunt_group_enabled', ";
- $sql .= "hunt_group_description = '$hunt_group_description' ";
+ $sql = "update v_extensions set ";
+ $sql .= "forward_all_destination = '$this->forward_all_destination', ";
+ $sql .= "forward_all_enabled = '$this->forward_all_enabled' ";
$sql .= "where domain_uuid = '$this->domain_uuid' ";
- $sql .= "and hunt_group_uuid = '$this->call_forward_uuid' ";
+ $sql .= "and extension_uuid = '$this->extension_uuid' ";
$db->exec(check_sql($sql));
unset($sql);
- $this->call_forward_destination();
} //end function
- public function call_forward_destination() {
- global $db;
- //delete related v_hunt_group_destinations
- $sql = "delete from v_hunt_group_destinations where hunt_group_uuid = '$this->call_forward_uuid' ";
- $db->exec(check_sql($sql));
- //check whether the number is an extension or external number
- if (strlen($this->call_forward_number) > 7) {
- $destination_type = 'sip uri';
- $destination_profile = '';
- }
- else {
- $destination_type = 'extension';
- $destination_profile = 'internal';
- }
- //prepare the variables
- $destination_data = $this->call_forward_number;
- $destination_timeout = '';
- $destination_order = '1';
- $destination_enabled = 'true';
- $destination_description = 'call forward';
- //add the hunt group destination
- if ($this->call_forward_uuid) {
- $sql = "insert into v_hunt_group_destinations ";
- $sql .= "(";
- $sql .= "hunt_group_destination_uuid, ";
- $sql .= "domain_uuid, ";
- $sql .= "hunt_group_uuid, ";
- $sql .= "destination_data, ";
- $sql .= "destination_type, ";
- $sql .= "destination_profile, ";
- $sql .= "destination_timeout, ";
- $sql .= "destination_order, ";
- $sql .= "destination_enabled, ";
- $sql .= "destination_description ";
- $sql .= ") ";
- $sql .= "values ";
- $sql .= "(";
- $sql .= "'".uuid()."', ";
- $sql .= "'$this->domain_uuid', ";
- $sql .= "'$this->call_forward_uuid', ";
- $sql .= "'$destination_data', ";
- $sql .= "'$destination_type', ";
- $sql .= "'$destination_profile', ";
- $sql .= "'$destination_timeout', ";
- $sql .= "'$destination_order', ";
- $sql .= "'$destination_enabled', ";
- $sql .= "'$destination_description' ";
- $sql .= ")";
-
- $db->exec(check_sql($sql));
- unset($sql);
- }
- } //end function
}
?>
\ No newline at end of file
|