Call Control: Minor form layout mods, add Default Setting to control Follow Me Destination count and default Timeout value, integrate ORM.
This commit is contained in:
+321
-487
@@ -24,16 +24,20 @@
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Luis Daniel Lucio Quiroz <dlucio@okay.com.mx>
|
||||
*/
|
||||
require_once "root.php";
|
||||
require_once "resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
if (permission_exists('follow_me') || permission_exists('call_forward') || permission_exists('do_not_disturb')) {
|
||||
//access granted
|
||||
}
|
||||
else {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
|
||||
//includes
|
||||
require_once "root.php";
|
||||
require_once "resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
|
||||
//check permissions
|
||||
if (permission_exists('follow_me') || permission_exists('call_forward') || permission_exists('do_not_disturb')) {
|
||||
//access granted
|
||||
}
|
||||
else {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
|
||||
//add multi-lingual support
|
||||
$language = new text;
|
||||
@@ -45,12 +49,7 @@ else {
|
||||
echo " <select class='formfld' style='width: 55px;' name='$select_name'>\n";
|
||||
$i = 0;
|
||||
while($i <= 100) {
|
||||
if ($select_value == $i) {
|
||||
echo " <option value='$i' selected='selected'>$i</option>\n";
|
||||
}
|
||||
else {
|
||||
echo " <option value='$i'>$i</option>\n";
|
||||
}
|
||||
echo " <option value='".$i."' ".(($select_value == $i) ? "selected='selected'" : null).">".$i."</option>\n";
|
||||
$i = $i + 5;
|
||||
}
|
||||
echo "</select>\n";
|
||||
@@ -113,243 +112,163 @@ else {
|
||||
}
|
||||
unset ($prep_statement);
|
||||
|
||||
if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
//process post vars
|
||||
if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
|
||||
//get http post variables and set them to php variables
|
||||
if (count($_POST)>0) {
|
||||
$forward_all_enabled = check_str($_POST["forward_all_enabled"]);
|
||||
$forward_all_destination = check_str($_POST["forward_all_destination"]);
|
||||
$forward_busy_enabled = check_str($_POST["forward_busy_enabled"]);
|
||||
$forward_busy_destination = check_str($_POST["forward_busy_destination"]);
|
||||
$forward_no_answer_enabled = check_str($_POST["forward_no_answer_enabled"]);
|
||||
$forward_no_answer_destination = check_str($_POST["forward_no_answer_destination"]);
|
||||
$forward_user_not_registered_destination = check_str($_POST["forward_user_not_registered_destination"]);
|
||||
$forward_user_not_registered_enabled = check_str($_POST["forward_user_not_registered_enabled"]);
|
||||
$forward_caller_id_uuid = check_str($_POST["forward_caller_id_uuid"]);
|
||||
$cid_name_prefix = check_str($_POST["cid_name_prefix"]);
|
||||
$cid_number_prefix = check_str($_POST["cid_number_prefix"]);
|
||||
$follow_me_enabled = check_str($_POST["follow_me_enabled"]);
|
||||
$follow_me_caller_id_uuid = check_str($_POST["follow_me_caller_id_uuid"]);
|
||||
$follow_me_ignore_busy = check_str($_POST["follow_me_ignore_busy"]);
|
||||
//get http post variables and set them to php variables
|
||||
if (count($_POST)>0) {
|
||||
$forward_all_enabled = check_str($_POST["forward_all_enabled"]);
|
||||
$forward_all_destination = check_str($_POST["forward_all_destination"]);
|
||||
$forward_busy_enabled = check_str($_POST["forward_busy_enabled"]);
|
||||
$forward_busy_destination = check_str($_POST["forward_busy_destination"]);
|
||||
$forward_no_answer_enabled = check_str($_POST["forward_no_answer_enabled"]);
|
||||
$forward_no_answer_destination = check_str($_POST["forward_no_answer_destination"]);
|
||||
$forward_user_not_registered_enabled = check_str($_POST["forward_user_not_registered_enabled"]);
|
||||
$forward_user_not_registered_destination = check_str($_POST["forward_user_not_registered_destination"]);
|
||||
|
||||
$destination_data_1 = check_str($_POST["destination_data_1"]);
|
||||
$destination_delay_1 = check_str($_POST["destination_delay_1"]);
|
||||
$destination_prompt_1 = check_str($_POST["destination_prompt_1"]);
|
||||
$destination_timeout_1 = check_str($_POST["destination_timeout_1"]);
|
||||
|
||||
$destination_data_2 = check_str($_POST["destination_data_2"]);
|
||||
$destination_delay_2 = check_str($_POST["destination_delay_2"]);
|
||||
$destination_prompt_2 = check_str($_POST["destination_prompt_2"]);
|
||||
$destination_timeout_2 = check_str($_POST["destination_timeout_2"]);
|
||||
|
||||
$destination_data_3 = check_str($_POST["destination_data_3"]);
|
||||
$destination_delay_3 = check_str($_POST["destination_delay_3"]);
|
||||
$destination_prompt_3 = check_str($_POST["destination_prompt_3"]);
|
||||
$destination_timeout_3 = check_str($_POST["destination_timeout_3"]);
|
||||
|
||||
$destination_data_4 = check_str($_POST["destination_data_4"]);
|
||||
$destination_delay_4 = check_str($_POST["destination_delay_4"]);
|
||||
$destination_prompt_4 = check_str($_POST["destination_prompt_4"]);
|
||||
$destination_timeout_4 = check_str($_POST["destination_timeout_4"]);
|
||||
|
||||
$destination_data_5 = check_str($_POST["destination_data_5"]);
|
||||
$destination_delay_5 = check_str($_POST["destination_delay_5"]);
|
||||
$destination_prompt_5 = check_str($_POST["destination_prompt_5"]);
|
||||
$destination_timeout_5 = check_str($_POST["destination_timeout_5"]);
|
||||
|
||||
$dnd_enabled = check_str($_POST["dnd_enabled"]);
|
||||
|
||||
if (strlen($forward_all_destination) > 0) {
|
||||
// $forward_all_destination = preg_replace("~[^0-9]~", "",$forward_all_destination);
|
||||
}
|
||||
if (strlen($forward_busy_destination) > 0) {
|
||||
// $forward_busy_destination = preg_replace("~[^0-9*]~", "",$forward_busy_destination);
|
||||
}
|
||||
if (strlen($forward_no_answer_destination) > 0) {
|
||||
// $forward_no_answer_destination = preg_replace("~[^0-9*]~", "",$forward_no_answer_destination);
|
||||
}
|
||||
if (strlen($destination_data_1) > 0) {
|
||||
// $destination_data_1 = preg_replace("~[^0-9]~", "",$destination_data_1);
|
||||
}
|
||||
if (strlen($destination_data_2) > 0) {
|
||||
// $destination_data_2 = preg_replace("~[^0-9]~", "",$destination_data_2);
|
||||
}
|
||||
if (strlen($destination_data_3) > 0) {
|
||||
// $destination_data_3 = preg_replace("~[^0-9]~", "",$destination_data_3);
|
||||
}
|
||||
if (strlen($destination_data_4) > 0) {
|
||||
// $destination_data_4 = preg_replace("~[^0-9]~", "",$destination_data_4);
|
||||
}
|
||||
if (strlen($destination_data_5) > 0) {
|
||||
// $destination_data_5 = preg_replace("~[^0-9]~", "",$destination_data_5);
|
||||
}
|
||||
}
|
||||
|
||||
//check for all required data
|
||||
//if (strlen($forward_all_enabled) == 0) { $msg .= "Please provide: Call Forward<br>\n"; }
|
||||
//if (strlen($forward_all_destination) == 0) { $msg .= "Please provide: Forward Number<br>\n"; }
|
||||
//if (strlen($forward_busy_enabled) == 0) { $msg .= "Please provide: On Busy<br>\n"; }
|
||||
//if (strlen($forward_busy_destination) == 0) { $msg .= "Please provide: Busy Number<br>\n"; }
|
||||
//if (strlen($forward_no_answer_enabled) == 0) { $msg .= "Please provide: no_answer<br>\n"; }
|
||||
//if (strlen($forward_no_answer_destination) == 0) { $msg .= "Please provide: no_answer Number<br>\n"; }
|
||||
//if (strlen($follow_me_enabled) == 0) { $msg .= "Please provide: Follow Me<br>\n"; }
|
||||
//if (strlen($destination_data_1) == 0) { $msg .= "Please provide: 1st Number<br>\n"; }
|
||||
//if (strlen($destination_timeout_1) == 0) { $msg .= "Please provide: sec<br>\n"; }
|
||||
//if (strlen($destination_data_2) == 0) { $msg .= "Please provide: 2nd Number<br>\n"; }
|
||||
//if (strlen($destination_timeout_2) == 0) { $msg .= "Please provide: sec<br>\n"; }
|
||||
//if (strlen($destination_data_3) == 0) { $msg .= "Please provide: 3rd Number<br>\n"; }
|
||||
//if (strlen($destination_timeout_3) == 0) { $msg .= "Please provide: sec<br>\n"; }
|
||||
//if (strlen($destination_data_4) == 0) { $msg .= "Please provide: 4th Number<br>\n"; }
|
||||
//if (strlen($destination_timeout_4) == 0) { $msg .= "Please provide: sec<br>\n"; }
|
||||
//if (strlen($destination_data_5) == 0) { $msg .= "Please provide: 5th Number<br>\n"; }
|
||||
//if (strlen($destination_timeout_5) == 0) { $msg .= "Please provide: sec<br>\n"; }
|
||||
//if (strlen($destination_data_6) == 0) { $msg .= "Please provide: 6th Number<br>\n"; }
|
||||
//if (strlen($destination_timeout_6) == 0) { $msg .= "Please provide: sec<br>\n"; }
|
||||
//if (strlen($destination_data_7) == 0) { $msg .= "Please provide: 7th Number<br>\n"; }
|
||||
//if (strlen($destination_timeout_7) == 0) { $msg .= "Please provide: sec<br>\n"; }
|
||||
if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
require_once "resources/header.php";
|
||||
require_once "resources/persist_form_var.php";
|
||||
echo "<div align='center'>\n";
|
||||
echo "<table><tr><td>\n";
|
||||
echo $msg."<br />";
|
||||
echo "</td></tr></table>\n";
|
||||
persistformvar($_POST);
|
||||
echo "</div>\n";
|
||||
require_once "resources/footer.php";
|
||||
return;
|
||||
$forward_caller_id_uuid = check_str($_POST["forward_caller_id_uuid"]);
|
||||
$cid_name_prefix = check_str($_POST["cid_name_prefix"]);
|
||||
$cid_number_prefix = check_str($_POST["cid_number_prefix"]);
|
||||
$follow_me_enabled = check_str($_POST["follow_me_enabled"]);
|
||||
$follow_me_caller_id_uuid = check_str($_POST["follow_me_caller_id_uuid"]);
|
||||
$follow_me_ignore_busy = check_str($_POST["follow_me_ignore_busy"]);
|
||||
$n = 0;
|
||||
foreach ($_POST["destinations"] as $field) {
|
||||
$destinations[$n]['uuid'] = check_str($field['uuid']);
|
||||
$destinations[$n]['destination'] = check_str($field['destination']);
|
||||
$destinations[$n]['delay'] = check_str($field['delay']);
|
||||
$destinations[$n]['prompt'] = check_str($field['prompt']);
|
||||
$destinations[$n]['timeout'] = check_str($field['timeout']);
|
||||
$n++;
|
||||
}
|
||||
$dnd_enabled = check_str($_POST["dnd_enabled"]);
|
||||
}
|
||||
|
||||
//set the default action to add
|
||||
$call_forward_action = "add";
|
||||
//check for all required data
|
||||
if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
require_once "resources/header.php";
|
||||
require_once "resources/persist_form_var.php";
|
||||
echo "<div align='center'>\n";
|
||||
echo "<table><tr><td>\n";
|
||||
echo $msg."<br />";
|
||||
echo "</td></tr></table>\n";
|
||||
persistformvar($_POST);
|
||||
echo "</div>\n";
|
||||
require_once "resources/footer.php";
|
||||
return;
|
||||
}
|
||||
|
||||
//determine if this is an add or an update
|
||||
if (strlen($follow_me_uuid) == 0) {
|
||||
$follow_me_action = "add";
|
||||
}
|
||||
else {
|
||||
$follow_me_action = "update";
|
||||
}
|
||||
//include the classes
|
||||
include "resources/classes/call_forward.php";
|
||||
include "resources/classes/follow_me.php";
|
||||
include "resources/classes/do_not_disturb.php";
|
||||
|
||||
//include the classes
|
||||
include "resources/classes/call_forward.php";
|
||||
include "resources/classes/follow_me.php";
|
||||
include "resources/classes/do_not_disturb.php";
|
||||
//call forward config
|
||||
if (permission_exists('call_forward')) {
|
||||
$extensions['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$extensions['extension_uuid'] = $extension_uuid;
|
||||
$extensions['forward_all_enabled'] = $forward_all_enabled;
|
||||
$extensions['forward_all_destination'] = $forward_all_destination;
|
||||
$extensions['forward_busy_enabled'] = $forward_busy_enabled;
|
||||
$extensions['forward_busy_destination'] = $forward_busy_destination;
|
||||
$extensions['forward_no_answer_enabled'] = $forward_no_answer_enabled;
|
||||
$extensions['forward_no_answer_destination'] = $forward_no_answer_destination;
|
||||
$extensions['forward_user_not_registered_enabled'] = $forward_user_not_registered_enabled;
|
||||
$extensions['forward_user_not_registered_destination'] = $forward_user_not_registered_destination;
|
||||
$extensions['forward_caller_id_uuid'] = $forward_caller_id_uuid;
|
||||
}
|
||||
|
||||
//call forward config
|
||||
if (permission_exists('call_forward')) {
|
||||
$call_forward = new call_forward;
|
||||
$call_forward->domain_uuid = $_SESSION['domain_uuid'];
|
||||
$call_forward->domain_name = $_SESSION['domain_name'];
|
||||
$call_forward->extension_uuid = $extension_uuid;
|
||||
$call_forward->accountcode = $accountcode;
|
||||
$call_forward->forward_all_destination = $forward_all_destination;
|
||||
$call_forward->forward_all_enabled = $forward_all_enabled;
|
||||
$call_forward->forward_caller_id_uuid = $forward_caller_id_uuid;
|
||||
//$call_forward->set();
|
||||
//unset($call_forward);
|
||||
}
|
||||
//do not disturb (dnd) config
|
||||
if (permission_exists('do_not_disturb')) {
|
||||
$extensions['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$extensions['extension_uuid'] = $extension_uuid;
|
||||
$extensions['do_not_disturb'] = $dnd_enabled;
|
||||
}
|
||||
|
||||
//do not disturb (dnd) config
|
||||
if (permission_exists('do_not_disturb')) {
|
||||
$dnd = new do_not_disturb;
|
||||
$dnd->domain_uuid = $_SESSION['domain_uuid'];
|
||||
$dnd->domain_name = $_SESSION['domain_name'];
|
||||
$dnd->extension_uuid = $extension_uuid;
|
||||
$dnd->enabled = $dnd_enabled;
|
||||
//$dnd->set();
|
||||
//$dnd->user_status();
|
||||
//unset($dnd);
|
||||
}
|
||||
//follow me config
|
||||
if (permission_exists('follow_me')) {
|
||||
//build the follow me array
|
||||
if ($follow_me_uuid == '') {
|
||||
$follow_me_uuid = uuid();
|
||||
$extensions['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$extensions['extension_uuid'] = $extension_uuid;
|
||||
$extensions['follow_me_uuid'] = $follow_me_uuid;
|
||||
}
|
||||
|
||||
//if follow me is enabled then process it last
|
||||
if ($follow_me_enabled == "true") {
|
||||
//call forward
|
||||
$call_forward->set();
|
||||
unset($call_forward);
|
||||
//dnd
|
||||
$dnd->set();
|
||||
$dnd->user_status();
|
||||
unset($dnd);
|
||||
}
|
||||
$follow_me['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$follow_me['follow_me_uuid'] = $follow_me_uuid;
|
||||
$follow_me['cid_name_prefix'] = $cid_name_prefix;
|
||||
$follow_me['cid_number_prefix'] = $cid_number_prefix;
|
||||
$follow_me['follow_me_caller_id_uuid'] = $follow_me_caller_id_uuid;
|
||||
$follow_me['follow_me_ignore_busy'] = $follow_me_ignore_busy;
|
||||
|
||||
//follow me config
|
||||
if (permission_exists('follow_me')) {
|
||||
$follow_me = new follow_me;
|
||||
$follow_me->domain_uuid = $_SESSION['domain_uuid'];
|
||||
$follow_me->domain_name = $_SESSION['domain_name'];
|
||||
$follow_me->extension_uuid = $extension_uuid;
|
||||
$follow_me->db_type = $db_type;
|
||||
$follow_me->cid_name_prefix = $cid_name_prefix;
|
||||
$follow_me->cid_number_prefix = $cid_number_prefix;
|
||||
$follow_me->follow_me_enabled = $follow_me_enabled;
|
||||
$follow_me->follow_me_caller_id_uuid = $follow_me_caller_id_uuid;
|
||||
$follow_me->follow_me_ignore_busy = $follow_me_ignore_busy;
|
||||
$d = 0;
|
||||
$destination_found = false;
|
||||
foreach ($destinations as $field) {
|
||||
if ($field['destination'] != '') {
|
||||
$follow_me['follow_me_destinations'][$d]['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$follow_me['follow_me_destinations'][$d]['follow_me_uuid'] = $follow_me_uuid;
|
||||
$follow_me['follow_me_destinations'][$d]['follow_me_destination_uuid'] = $field['uuid'];
|
||||
$follow_me['follow_me_destinations'][$d]['follow_me_destination'] = $field['destination'];
|
||||
$follow_me['follow_me_destinations'][$d]['follow_me_delay'] = $field['delay'];
|
||||
$follow_me['follow_me_destinations'][$d]['follow_me_prompt'] = $field['prompt'];
|
||||
$follow_me['follow_me_destinations'][$d]['follow_me_timeout'] = $field['timeout'];
|
||||
$follow_me['follow_me_destinations'][$d]['follow_me_order'] = $d;
|
||||
$destination_found = true;
|
||||
$d++;
|
||||
}
|
||||
else {
|
||||
$follow_me_delete_uuids[] = $field['uuid'];
|
||||
}
|
||||
}
|
||||
|
||||
$follow_me->destination_data_1 = $destination_data_1;
|
||||
$follow_me->destination_type_1 = $destination_type_1;
|
||||
$follow_me->destination_delay_1 = $destination_delay_1;
|
||||
$follow_me->destination_prompt_1 = $destination_prompt_1;
|
||||
$follow_me->destination_timeout_1 = $destination_timeout_1;
|
||||
$follow_me['follow_me_enabled'] = ($destination_found) ? $follow_me_enabled : 'false';
|
||||
}
|
||||
|
||||
$follow_me->destination_data_2 = $destination_data_2;
|
||||
$follow_me->destination_type_2 = $destination_type_2;
|
||||
$follow_me->destination_delay_2 = $destination_delay_2;
|
||||
$follow_me->destination_prompt_2 = $destination_prompt_2;
|
||||
$follow_me->destination_timeout_2 = $destination_timeout_2;
|
||||
//prepare the array
|
||||
if (is_array($extensions) && sizeof($extensions) > 0) {
|
||||
$array['extensions'][] = $extensions;
|
||||
}
|
||||
if (is_array($follow_me) && sizeof($follow_me) > 0) {
|
||||
$array['follow_me'][] = $follow_me;
|
||||
}
|
||||
|
||||
$follow_me->destination_data_3 = $destination_data_3;
|
||||
$follow_me->destination_type_3 = $destination_type_3;
|
||||
$follow_me->destination_delay_3 = $destination_delay_3;
|
||||
$follow_me->destination_prompt_3 = $destination_prompt_3;
|
||||
$follow_me->destination_timeout_3 = $destination_timeout_3;
|
||||
//save the data
|
||||
$orm = new orm;
|
||||
$orm->app_name = 'call_routing';
|
||||
$orm->app_uuid = '19806921-e8ed-dcff-b325-dd3e5da4959d';
|
||||
$orm->save($array);
|
||||
//$message = $orm->message;
|
||||
|
||||
$follow_me->destination_data_4 = $destination_data_4;
|
||||
$follow_me->destination_type_4 = $destination_type_4;
|
||||
$follow_me->destination_delay_4 = $destination_delay_4;
|
||||
$follow_me->destination_prompt_4 = $destination_prompt_4;
|
||||
$follow_me->destination_timeout_4 = $destination_timeout_4;
|
||||
|
||||
$follow_me->destination_data_5 = $destination_data_5;
|
||||
$follow_me->destination_type_5 = $destination_type_5;
|
||||
$follow_me->destination_delay_5 = $destination_delay_5;
|
||||
$follow_me->destination_prompt_5 = $destination_prompt_5;
|
||||
$follow_me->destination_timeout_5 = $destination_timeout_5;
|
||||
|
||||
if ($follow_me_action == "add") {
|
||||
$follow_me_uuid = uuid();
|
||||
|
||||
$sql = "update v_extensions set ";
|
||||
$sql .= "follow_me_uuid = '$follow_me_uuid' ";
|
||||
$sql .= "where domain_uuid = '$domain_uuid' ";
|
||||
$sql .= "and extension_uuid = '$extension_uuid' ";
|
||||
//delete empty destination records
|
||||
if (is_array($follow_me_delete_uuids) && sizeof($follow_me_delete_uuids) > 0) {
|
||||
$sql = "delete from v_follow_me_destinations where follow_me_destination_uuid in ('".implode("','", $follow_me_delete_uuids)."') ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
|
||||
$follow_me->follow_me_uuid = $follow_me_uuid;
|
||||
$follow_me->add();
|
||||
$follow_me->set();
|
||||
//call forward config
|
||||
if (permission_exists('call_forward')) {
|
||||
$call_forward = new call_forward;
|
||||
$call_forward->domain_uuid = $_SESSION['domain_uuid'];
|
||||
$call_forward->domain_name = $_SESSION['domain_name'];
|
||||
$call_forward->extension_uuid = $extension_uuid;
|
||||
$call_forward->forward_all_destination = $forward_all_destination;
|
||||
$call_forward->forward_all_enabled = $forward_all_enabled;
|
||||
$call_forward->forward_caller_id_uuid = $forward_caller_id_uuid;
|
||||
}
|
||||
if ($follow_me_action == "update") {
|
||||
$follow_me->follow_me_uuid = $follow_me_uuid;
|
||||
$follow_me->update();
|
||||
$follow_me->set();
|
||||
}
|
||||
unset($follow_me);
|
||||
}
|
||||
|
||||
//if dnd or call forward are enabled process it last
|
||||
if ($follow_me_enabled != "true") {
|
||||
if ($forward_all_enabled == "true") {
|
||||
//dnd
|
||||
$dnd->set();
|
||||
$dnd->user_status();
|
||||
unset($dnd);
|
||||
//call forward
|
||||
$call_forward->set();
|
||||
unset($call_forward);
|
||||
//do not disturb (dnd) config
|
||||
if (permission_exists('do_not_disturb')) {
|
||||
$dnd = new do_not_disturb;
|
||||
$dnd->domain_uuid = $_SESSION['domain_uuid'];
|
||||
$dnd->domain_name = $_SESSION['domain_name'];
|
||||
$dnd->extension_uuid = $extension_uuid;
|
||||
$dnd->extension = $extension;
|
||||
$dnd->enabled = $dnd_enabled;
|
||||
}
|
||||
else{
|
||||
|
||||
//if follow me is enabled then process call forward and dnd first
|
||||
if ($follow_me_enabled == "true") {
|
||||
//call forward
|
||||
$call_forward->set();
|
||||
unset($call_forward);
|
||||
@@ -358,43 +277,63 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
$dnd->user_status();
|
||||
unset($dnd);
|
||||
}
|
||||
}
|
||||
|
||||
//synchronize configuration
|
||||
if (is_readable($_SESSION['switch']['extensions']['dir'])) {
|
||||
require_once "app/extensions/resources/classes/extension.php";
|
||||
$ext = new extension;
|
||||
$ext->xml();
|
||||
unset($ext);
|
||||
}
|
||||
//follow me config and process
|
||||
if (permission_exists('follow_me')) {
|
||||
$follow_me = new follow_me;
|
||||
$follow_me->domain_uuid = $_SESSION['domain_uuid'];
|
||||
$follow_me->extension_uuid = $extension_uuid;
|
||||
$follow_me->follow_me_uuid = $follow_me_uuid;
|
||||
$follow_me->follow_me_ignore_busy = $follow_me_ignore_busy;
|
||||
$follow_me->follow_me_caller_id_uuid = $follow_me_caller_id_uuid;
|
||||
$follow_me->follow_me_enabled = $follow_me_enabled;
|
||||
$follow_me->set();
|
||||
unset($follow_me);
|
||||
}
|
||||
|
||||
// Forward on busy and no_answer is stored in table and will be used by lua scripts
|
||||
$sql = "update v_extensions set ";
|
||||
$sql .= "forward_busy_destination = '".$forward_busy_destination."', ";
|
||||
$sql .= "forward_busy_enabled = '".$forward_busy_enabled."', ";
|
||||
$sql .= "forward_no_answer_destination = '".$forward_no_answer_destination."', ";
|
||||
$sql .= "forward_no_answer_enabled = '".$forward_no_answer_enabled."', ";
|
||||
$sql .= "forward_user_not_registered_destination = '".$forward_user_not_registered_destination."', ";
|
||||
$sql .= "forward_user_not_registered_enabled = '".$forward_user_not_registered_enabled."', ";
|
||||
$sql .= "forward_caller_id_uuid = ".(($forward_caller_id_uuid != '') ? "'".$forward_caller_id_uuid."' " : "null ");
|
||||
$sql .= "where domain_uuid = '".$domain_uuid."' ";
|
||||
$sql .= "and extension_uuid = '".$extension_uuid."'";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
//if dnd or call forward are enabled process them last
|
||||
if ($follow_me_enabled != "true") {
|
||||
if ($forward_all_enabled == "true") {
|
||||
//dnd
|
||||
$dnd->set();
|
||||
$dnd->user_status();
|
||||
unset($dnd);
|
||||
//call forward
|
||||
$call_forward->set();
|
||||
unset($call_forward);
|
||||
}
|
||||
else{
|
||||
//call forward
|
||||
$call_forward->set();
|
||||
unset($call_forward);
|
||||
//dnd
|
||||
$dnd->set();
|
||||
$dnd->user_status();
|
||||
unset($dnd);
|
||||
}
|
||||
}
|
||||
|
||||
//clear the cache
|
||||
$cache = new cache;
|
||||
$cache->delete("directory:".$extension."@".$_SESSION['domain_name']);
|
||||
if(strlen($number_alias) > 0){
|
||||
$cache->delete("directory:".$number_alias."@".$_SESSION['domain_name']);
|
||||
}
|
||||
//synchronize configuration
|
||||
if (is_readable($_SESSION['switch']['extensions']['dir'])) {
|
||||
require_once "app/extensions/resources/classes/extension.php";
|
||||
$ext = new extension;
|
||||
$ext->xml();
|
||||
unset($ext);
|
||||
}
|
||||
|
||||
//redirect the user
|
||||
$_SESSION["message"] = $text['confirm-update'];
|
||||
header("Location: ".$_REQUEST['return_url']);
|
||||
return;
|
||||
//clear the cache
|
||||
$cache = new cache;
|
||||
$cache->delete("directory:".$extension."@".$_SESSION['domain_name']);
|
||||
if(strlen($number_alias) > 0){
|
||||
$cache->delete("directory:".$number_alias."@".$_SESSION['domain_name']);
|
||||
}
|
||||
|
||||
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
|
||||
//redirect the user
|
||||
$_SESSION["message"] = $text['confirm-update'];
|
||||
header("Location: ".$_REQUEST['return_url']);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
//show the header
|
||||
require_once "resources/header.php";
|
||||
@@ -402,8 +341,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
//pre-populate the form
|
||||
if ($follow_me_uuid != '') {
|
||||
$sql = "select * from v_follow_me ";
|
||||
$sql .= "where domain_uuid = '$domain_uuid' ";
|
||||
$sql .= "and follow_me_uuid = '$follow_me_uuid' ";
|
||||
$sql .= "where domain_uuid = '".$domain_uuid."' ";
|
||||
$sql .= "and follow_me_uuid = '".$follow_me_uuid."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
@@ -415,44 +354,17 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
$follow_me_ignore_busy = $row["follow_me_ignore_busy"];
|
||||
|
||||
$sql = "select * from v_follow_me_destinations ";
|
||||
$sql .= "where follow_me_uuid = '$follow_me_uuid' ";
|
||||
$sql .= "where follow_me_uuid = '".$follow_me_uuid."' ";
|
||||
$sql .= "order by follow_me_order asc ";
|
||||
$prep_statement_2 = $db->prepare(check_sql($sql));
|
||||
$prep_statement_2->execute();
|
||||
$result2 = $prep_statement_2->fetchAll(PDO::FETCH_NAMED);
|
||||
$x = 1;
|
||||
foreach ($result2 as &$row2) {
|
||||
if ($x == 1) {
|
||||
$destination_data_1 = $row2["follow_me_destination"];
|
||||
$destination_delay_1 = $row2["follow_me_delay"];
|
||||
$destination_prompt_1 = $row2["follow_me_prompt"];
|
||||
$destination_timeout_1 = $row2["follow_me_timeout"];
|
||||
}
|
||||
if ($x == 2) {
|
||||
$destination_data_2 = $row2["follow_me_destination"];
|
||||
$destination_delay_2 = $row2["follow_me_delay"];
|
||||
$destination_prompt_2 = $row2["follow_me_prompt"];
|
||||
$destination_timeout_2 = $row2["follow_me_timeout"];
|
||||
}
|
||||
if ($x == 3) {
|
||||
$destination_data_3 = $row2["follow_me_destination"];
|
||||
$destination_delay_3 = $row2["follow_me_delay"];
|
||||
$destination_prompt_3 = $row2["follow_me_prompt"];
|
||||
$destination_timeout_3 = $row2["follow_me_timeout"];
|
||||
}
|
||||
if ($x == 4) {
|
||||
$destination_data_4 = $row2["follow_me_destination"];
|
||||
$destination_delay_4 = $row2["follow_me_delay"];
|
||||
$destination_prompt_4 = $row2["follow_me_prompt"];
|
||||
$destination_timeout_4 = $row2["follow_me_timeout"];
|
||||
}
|
||||
if ($x == 5) {
|
||||
$destination_data_5 = $row2["follow_me_destination"];
|
||||
$destination_delay_5 = $row2["follow_me_delay"];
|
||||
$destination_prompt_5 = $row2["follow_me_prompt"];
|
||||
$destination_timeout_5 = $row2["follow_me_timeout"];
|
||||
}
|
||||
$x++;
|
||||
foreach ($result2 as $x => &$row2) {
|
||||
$destinations[$x]['uuid'] = $row2["follow_me_destination_uuid"];
|
||||
$destinations[$x]['destination'] = $row2["follow_me_destination"];
|
||||
$destinations[$x]['delay'] = $row2["follow_me_delay"];
|
||||
$destinations[$x]['prompt'] = $row2["follow_me_prompt"];
|
||||
$destinations[$x]['timeout'] = $row2["follow_me_timeout"];
|
||||
}
|
||||
unset ($prep_statement_2);
|
||||
}
|
||||
@@ -487,21 +399,11 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
}
|
||||
}
|
||||
echo " ];\n";
|
||||
echo " \$(\"#destination_data_1\").autocomplete({\n";
|
||||
echo " source: extensions\n";
|
||||
echo " });\n";
|
||||
echo " \$(\"#destination_data_2\").autocomplete({\n";
|
||||
echo " source: extensions\n";
|
||||
echo " });\n";
|
||||
echo " \$(\"#destination_data_3\").autocomplete({\n";
|
||||
echo " source: extensions\n";
|
||||
echo " });\n";
|
||||
echo " \$(\"#destination_data_4\").autocomplete({\n";
|
||||
echo " source: extensions\n";
|
||||
echo " });\n";
|
||||
echo " \$(\"#destination_data_5\").autocomplete({\n";
|
||||
echo " source: extensions\n";
|
||||
echo " });\n";
|
||||
for ($n = 0; $n <= ((($_SESSION['follow_me']['max_destinations']['numeric'] != '') ? $_SESSION['follow_me']['max_destinations']['numeric'] : 5) - 1); $n++) {
|
||||
echo " \$(\"#destination_".$n."\").autocomplete({\n";
|
||||
echo " source: extensions\n";
|
||||
echo " });\n";
|
||||
}
|
||||
echo "});\n";
|
||||
echo "</script>\n";
|
||||
|
||||
@@ -521,7 +423,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
echo "</tr>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<td align='left' colspan='2'>\n";
|
||||
echo " ".$text['description']." $extension.<br /><br />\n";
|
||||
echo " ".$text['description']." <strong>".$extension."</strong><br /><br />\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
@@ -539,34 +441,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
unset($on_click);
|
||||
echo " ";
|
||||
echo " <input class='formfld' type='text' name='forward_all_destination' id='forward_all_destination' maxlength='255' placeholder=\"".$text['label-destination']."\" value=\"".$forward_all_destination."\">\n";
|
||||
|
||||
if (permission_exists('follow_me_cid_set')) {
|
||||
echo " ";
|
||||
$sql_forward = "select destination_uuid, destination_number, destination_description, destination_caller_id_number, destination_caller_id_name from v_destinations where domain_uuid = '$domain_uuid' and destination_type = 'inbound' order by destination_number asc ";
|
||||
$prep_statement_forward = $db->prepare(check_sql($sql_forward));
|
||||
$prep_statement_forward->execute();
|
||||
$result_forward = $prep_statement_forward->fetchAll(PDO::FETCH_ASSOC);
|
||||
if (count($result_forward) > 0) {
|
||||
echo "<select name='forward_caller_id_uuid' id='forward_caller_id_uuid' class='formfld' >\n";
|
||||
echo " <option value=''>".$text['label-select-cid-number']."</option>\n";
|
||||
echo " <option value='' disabled='disabled'></option>\n";
|
||||
foreach ($result_forward as &$row_forward) {
|
||||
$selected = $row_forward["destination_uuid"] == $forward_caller_id_uuid ? "selected='selected' " : '';
|
||||
$caller_id_number = $row_forward['destination_caller_id_number'];
|
||||
if(strlen($caller_id_number) == 0){
|
||||
$caller_id_number = $row_forward['destination_number'];
|
||||
}
|
||||
$caller_id_name = $row_forward['destination_caller_id_name'];
|
||||
if(strlen($caller_id_name) == 0){
|
||||
$caller_id_name = $row_forward['destination_description'];
|
||||
}
|
||||
echo "<option value='".$row_forward["destination_uuid"]."' ".$selected.">".format_phone($caller_id_number)." : ".$caller_id_name."</option>\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
}
|
||||
unset ($sql_forward, $prep_statement_forward, $result_forward, $row_forward);
|
||||
}
|
||||
|
||||
echo " <br />".$text['description-call_forward']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
@@ -582,7 +457,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
unset($on_click);
|
||||
echo " ";
|
||||
echo " <input class='formfld' type='text' name='forward_busy_destination' id='forward_busy_destination' maxlength='255' placeholder=\"".$text['label-destination']."\" value=\"".$forward_busy_destination."\">\n";
|
||||
echo " <br />".$text['description-on-busy'].".\n";
|
||||
echo " <br />".$text['description-on-busy']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
@@ -598,7 +473,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
unset($on_click);
|
||||
echo " ";
|
||||
echo " <input class='formfld' type='text' name='forward_no_answer_destination' id='forward_no_answer_destination' maxlength='255' placeholder=\"".$text['label-destination']."\" value=\"".$forward_no_answer_destination."\">\n";
|
||||
echo " <br />".$text['description-no_answer'].".\n";
|
||||
echo " <br />".$text['description-no_answer']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
@@ -613,10 +488,43 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
unset($on_click);
|
||||
echo " ";
|
||||
echo " <input class='formfld' type='text' name='forward_user_not_registered_destination' id='forward_user_not_registered_destination' maxlength='255' placeholder=\"".$text['label-destination']."\" value=\"".$forward_user_not_registered_destination."\">\n";
|
||||
echo " <br />".$text['description-not_registered'].".\n";
|
||||
echo " <br />".$text['description-not_registered']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
if (permission_exists('follow_me_cid_set')) {
|
||||
$sql_forward = "select destination_uuid, destination_number, destination_description, destination_caller_id_number, destination_caller_id_name from v_destinations where domain_uuid = '$domain_uuid' and destination_type = 'inbound' order by destination_number asc ";
|
||||
$prep_statement_forward = $db->prepare(check_sql($sql_forward));
|
||||
$prep_statement_forward->execute();
|
||||
$result_forward = $prep_statement_forward->fetchAll(PDO::FETCH_ASSOC);
|
||||
if (count($result_forward) > 0) {
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>";
|
||||
echo $text['label-cid-number'];
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " <select name='forward_caller_id_uuid' id='forward_caller_id_uuid' class='formfld' >\n";
|
||||
echo " <option value=''></option>\n";
|
||||
foreach ($result_forward as &$row_forward) {
|
||||
$selected = $row_forward["destination_uuid"] == $forward_caller_id_uuid ? "selected='selected' " : '';
|
||||
$caller_id_number = $row_forward['destination_caller_id_number'];
|
||||
if(strlen($caller_id_number) == 0){
|
||||
$caller_id_number = $row_forward['destination_number'];
|
||||
}
|
||||
$caller_id_name = $row_forward['destination_caller_id_name'];
|
||||
if(strlen($caller_id_name) == 0){
|
||||
$caller_id_name = $row_forward['destination_description'];
|
||||
}
|
||||
echo " <option value='".$row_forward["destination_uuid"]."' ".$selected.">".format_phone($caller_id_number)." : ".$caller_id_name."</option>\n";
|
||||
}
|
||||
echo " </select><br />\n";
|
||||
echo $text['description-cid-number']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
unset ($sql_forward, $prep_statement_forward, $result_forward, $row_forward);
|
||||
}
|
||||
|
||||
echo "<tr><td colspan='2'><br /></td></tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
@@ -632,37 +540,6 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
echo " <label for='follow_me_disabled'><input type='radio' name='follow_me_enabled' id='follow_me_disabled' onclick=\"$('#tr_follow_me_settings').slideUp('fast');\" value='false' ".(($follow_me_enabled == "false" || $follow_me_enabled == "") ? "checked='checked'" : null)." /> ".$text['label-disabled']."</label> \n";
|
||||
echo " <label for='follow_me_enabled'><input type='radio' name='follow_me_enabled' id='follow_me_enabled' onclick=\"$('#tr_follow_me_settings').slideDown('fast'); ".$on_click."\" value='true' ".(($follow_me_enabled == "true") ? "checked='checked'" : null)."/> ".$text['label-enabled']."</label> \n";
|
||||
unset($on_click);
|
||||
|
||||
if (permission_exists('follow_me_cid_set')) {
|
||||
echo " ";
|
||||
$sql_follow_me = "select destination_uuid, destination_number, destination_description, destination_caller_id_number, destination_caller_id_name from v_destinations where domain_uuid = '$domain_uuid' and destination_type = 'inbound' order by destination_number asc ";
|
||||
$prep_statement_follow_me = $db->prepare(check_sql($sql_follow_me));
|
||||
$prep_statement_follow_me->execute();
|
||||
$result_follow_me = $prep_statement_follow_me->fetchAll(PDO::FETCH_ASSOC);
|
||||
if (count($result_follow_me) > 0) {
|
||||
echo "<select name='follow_me_caller_id_uuid' id='follow_me_caller_id_uuid' class='formfld' >\n";
|
||||
echo " <option value=''>".$text['label-select-cid-number']."</option>\n";
|
||||
echo " <option value='' disabled='disabled'></option>\n";
|
||||
foreach ($result_follow_me as &$row_follow_me) {
|
||||
$selected = $row_follow_me["destination_uuid"] == $follow_me_caller_id_uuid ? "selected='selected'" : '';
|
||||
|
||||
$caller_id_number = $row_follow_me['destination_caller_id_number'];
|
||||
if(strlen($caller_id_number) == 0){
|
||||
$caller_id_number = $row_follow_me['destination_number'];
|
||||
}
|
||||
$caller_id_name = $row_follow_me['destination_caller_id_name'];
|
||||
if(strlen($caller_id_name) == 0){
|
||||
$caller_id_name = $row_follow_me['destination_description'];
|
||||
}
|
||||
|
||||
echo "<option value='".$row_follow_me["destination_uuid"]."' ".$selected.">".format_phone($caller_id_number)." : ".$caller_id_name."</option>\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
}
|
||||
unset ($sql_follow_me, $prep_statement_follow_me, $result_follow_me, $row_follow_me);
|
||||
}
|
||||
|
||||
echo " <br /><br />\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>\n";
|
||||
@@ -687,105 +564,28 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
}
|
||||
echo " </tr>\n";
|
||||
|
||||
// 1st destination
|
||||
echo " <tr>\n";
|
||||
echo " <td><input class='formfld' style='min-width: 135px;' type='text' name='destination_data_1' id='destination_data_1' maxlength='255' value=\"".$destination_data_1."\"></td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_delay_1', $destination_delay_1, '0');
|
||||
echo " </td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_timeout_1', $destination_timeout_1, '30');
|
||||
echo " </td>\n";
|
||||
if (permission_exists('follow_me_prompt')) {
|
||||
echo " <td>\n";
|
||||
echo " <select class='formfld' style='width: 90px;' name='destination_prompt_1'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
echo " <option value='1' ".(($destination_prompt_1)?"selected='selected'":null).">".$text['label-destination_prompt_confirm']."</option>\n";
|
||||
//echo " <option value='2'>".$text['label-destination_prompt_announce]."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " </td>\n";
|
||||
//output destinations
|
||||
for ($n = 0; $n <= ((($_SESSION['follow_me']['max_destinations']['numeric'] != '') ? $_SESSION['follow_me']['max_destinations']['numeric'] : 5) - 1); $n++) {
|
||||
echo " <input type='hidden' name='destinations[".$n."][uuid]' value='".(($destinations[$n]['uuid'] != '') ? $destinations[$n]['uuid'] : uuid())."'>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td><input class='formfld' style='min-width: 135px;' type='text' name='destinations[".$n."][destination]' id='destination_".$n."' maxlength='255' value=\"".$destinations[$n]['destination']."\"></td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destinations['.$n.'][delay]', $destinations[$n]['delay'], '0');
|
||||
echo " </td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destinations['.$n.'][timeout]', $destinations[$n]['timeout'], (($_SESSION['follow_me']['timeout']['numeric'] != '') ? $_SESSION['follow_me']['timeout']['numeric'] : 30));
|
||||
echo " </td>\n";
|
||||
if (permission_exists('follow_me_prompt')) {
|
||||
echo " <td>\n";
|
||||
echo " <select class='formfld' style='width: 90px;' name='destinations[".$n."][prompt]'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
echo " <option value='1' ".(($destinations[$n]['prompt'])?"selected='selected'":null).">".$text['label-destination_prompt_confirm']."</option>\n";
|
||||
//echo " <option value='2'>".$text['label-destination_prompt_announce]."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo " </tr>\n";
|
||||
}
|
||||
echo " </tr>\n";
|
||||
|
||||
// 2nd destination
|
||||
echo " <tr>\n";
|
||||
echo " <td><input class='formfld' style='min-width: 135px;' type='text' name='destination_data_2' id='destination_data_2' maxlength='255' value=\"".$destination_data_2."\"></td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_delay_2', $destination_delay_2, '0');
|
||||
echo " </td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_timeout_2', $destination_timeout_2, '30');
|
||||
echo " </td>\n";
|
||||
if (permission_exists('follow_me_prompt')) {
|
||||
echo " <td>\n";
|
||||
echo " <select class='formfld' style='width: 90px;' name='destination_prompt_2'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
echo " <option value='1' ".(($destination_prompt_2)?"selected='selected'":null).">".$text['label-destination_prompt_confirm']."</option>\n";
|
||||
//echo " <option value='2'>".$text['label-destination_prompt_announce]."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo " </tr>\n";
|
||||
|
||||
// 3rd destination
|
||||
echo " <tr>\n";
|
||||
echo " <td><input class='formfld' style='min-width: 135px;' type='text' name='destination_data_3' id='destination_data_3' maxlength='255' value=\"".$destination_data_3."\"></td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_delay_3', $destination_delay_3, '0');
|
||||
echo " </td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_timeout_3', $destination_timeout_3, '30');
|
||||
echo " </td>\n";
|
||||
if (permission_exists('follow_me_prompt')) {
|
||||
echo " <td>\n";
|
||||
echo " <select class='formfld' style='width: 90px;' name='destination_prompt_3'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
echo " <option value='1' ".(($destination_prompt_3)?"selected='selected'":null).">".$text['label-destination_prompt_confirm']."</option>\n";
|
||||
//echo " <option value='2'>".$text['label-destination_prompt_announce]."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo " </tr>\n";
|
||||
|
||||
// 4th destination
|
||||
echo " <tr>\n";
|
||||
echo " <td><input class='formfld' style='min-width: 135px;' type='text' name='destination_data_4' id='destination_data_4' maxlength='255' value=\"".$destination_data_4."\"></td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_delay_4', $destination_delay_4, '0');
|
||||
echo " </td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_timeout_4', $destination_timeout_4, '30');
|
||||
echo " </td>\n";
|
||||
if (permission_exists('follow_me_prompt')) {
|
||||
echo " <td>\n";
|
||||
echo " <select class='formfld' style='width: 90px;' name='destination_prompt_4'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
echo " <option value='1' ".(($destination_prompt_4)?"selected='selected'":null).">".$text['label-destination_prompt_confirm']."</option>\n";
|
||||
//echo " <option value='2'>".$text['label-destination_prompt_announce]."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo " </tr>\n";
|
||||
|
||||
// 5th destination
|
||||
echo " <tr>\n";
|
||||
echo " <td><input class='formfld' style='min-width: 135px;' type='text' name='destination_data_5' id='destination_data_5' maxlength='255' value=\"".$destination_data_5."\"></td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_delay_5', $destination_delay_5, '0');
|
||||
echo " </td>\n";
|
||||
echo " <td>\n";
|
||||
destination_select('destination_timeout_5', $destination_timeout_5, '30');
|
||||
echo " </td>\n";
|
||||
if (permission_exists('follow_me_prompt')) {
|
||||
echo " <td>\n";
|
||||
echo " <select class='formfld' style='width: 90px;' name='destination_prompt_5'>\n";
|
||||
echo " <option value=''></option>\n";
|
||||
echo " <option value='1' ".(($destination_prompt_5)?"selected='selected'":null).">".$text['label-destination_prompt_confirm']."</option>\n";
|
||||
//echo " <option value='2'>".$text['label-destination_prompt_announce]."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo " </tr>\n";
|
||||
|
||||
echo " </table>\n";
|
||||
echo "</td>\n";
|
||||
@@ -794,18 +594,52 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
if (permission_exists('follow_me_ignore_busy')) {
|
||||
echo " <tr>\n";
|
||||
echo " <td class='vncell' valign='top' align='left' nowrap='nowrap'>";
|
||||
echo $text['label-ignore-busy'];
|
||||
echo $text['label-ignore_busy'];
|
||||
echo " </td>\n";
|
||||
echo " <td class='vtable' align='left'>\n";
|
||||
echo " <label for='follow_me_ignore_busy_false'><input type='radio' name='follow_me_ignore_busy' id='follow_me_ignore_busy_false' value='false' onclick=\"\" ".(($follow_me_ignore_busy == "false" || $follow_me_ignore_busy == "") ? "checked='checked'" : null)." /> ".$text['label-disabled']."</label> \n";
|
||||
echo " <label for='follow_me_ignore_busy_true'><input type='radio' name='follow_me_ignore_busy' id='follow_me_ignore_busy_true' value='true' onclick=\"$on_click\" ".(($follow_me_ignore_busy == "true") ? "checked='checked'" : null)." /> ".$text['label-enabled']."</label> \n";
|
||||
echo " <br />\n";
|
||||
echo $text['description-ignore-busy']." \n";
|
||||
//echo " <br> Interrupt call if one of destination are busy\n";
|
||||
echo $text['description-ignore_busy']."\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
}
|
||||
|
||||
if (permission_exists('follow_me_cid_set')) {
|
||||
$sql_follow_me = "select destination_uuid, destination_number, destination_description, destination_caller_id_number, destination_caller_id_name from v_destinations where domain_uuid = '$domain_uuid' and destination_type = 'inbound' order by destination_number asc ";
|
||||
$prep_statement_follow_me = $db->prepare(check_sql($sql_follow_me));
|
||||
$prep_statement_follow_me->execute();
|
||||
$result_follow_me = $prep_statement_follow_me->fetchAll(PDO::FETCH_ASSOC);
|
||||
if (count($result_follow_me) > 0) {
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>";
|
||||
echo $text['label-cid-number'];
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " <select name='follow_me_caller_id_uuid' id='follow_me_caller_id_uuid' class='formfld' >\n";
|
||||
echo " <option value=''></option>\n";
|
||||
foreach ($result_follow_me as &$row_follow_me) {
|
||||
$selected = $row_follow_me["destination_uuid"] == $follow_me_caller_id_uuid ? "selected='selected'" : '';
|
||||
|
||||
$caller_id_number = $row_follow_me['destination_caller_id_number'];
|
||||
if(strlen($caller_id_number) == 0){
|
||||
$caller_id_number = $row_follow_me['destination_number'];
|
||||
}
|
||||
$caller_id_name = $row_follow_me['destination_caller_id_name'];
|
||||
if(strlen($caller_id_name) == 0){
|
||||
$caller_id_name = $row_follow_me['destination_description'];
|
||||
}
|
||||
|
||||
echo " <option value='".$row_follow_me["destination_uuid"]."' ".$selected.">".format_phone($caller_id_number)." : ".$caller_id_name."</option>\n";
|
||||
}
|
||||
echo " </select><br />\n";
|
||||
echo $text['description-cid-number']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
unset ($sql_follow_me, $prep_statement_follow_me, $result_follow_me, $row_follow_me);
|
||||
}
|
||||
|
||||
if (permission_exists('follow_me_cid_name_prefix')) {
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
@@ -814,7 +648,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " <input class='formfld' type='text' name='cid_name_prefix' maxlength='255' value='$cid_name_prefix'>\n";
|
||||
echo "<br />\n";
|
||||
echo $text['description-cid-name-prefix']." \n";
|
||||
echo $text['description-cid-name-prefix']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
@@ -827,7 +661,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " <input class='formfld' type='text' name='cid_number_prefix' maxlength='255' value='$cid_number_prefix'>\n";
|
||||
echo "<br />\n";
|
||||
echo $text['description-cid-number-prefix']." \n";
|
||||
echo $text['description-cid-number-prefix']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
@@ -854,14 +688,14 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan='2' align='right'>\n";
|
||||
if ($action == "update") {
|
||||
echo " <input type='hidden' name='id' value='$extension_uuid'>\n";
|
||||
echo " <input type='hidden' name='id' value='".$extension_uuid."'>\n";
|
||||
}
|
||||
echo " <br>";
|
||||
echo " <input type='submit' name='submit' class='btn' value='".$text['button-save']."'>\n";
|
||||
echo " <br />";
|
||||
echo " <input type='submit' class='btn' value='".$text['button-save']."'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>";
|
||||
echo "</table>";
|
||||
echo "<br><br>";
|
||||
echo "<br /><br />";
|
||||
echo "</form>";
|
||||
|
||||
//include the footer
|
||||
|
||||
Reference in New Issue
Block a user