Multilinguified Dialplan Manager, tweaked Inbound and Outbound Routes

This commit is contained in:
Nate Jones
2013-05-29 04:34:28 +00:00
parent 92e1d985e0
commit 5599b5a076
13 changed files with 592 additions and 495 deletions
+95 -94
View File
@@ -26,13 +26,13 @@
include "root.php";
require_once "includes/require.php";
require_once "includes/checkauth.php";
if (permission_exists('dialplan_add')
|| permission_exists('dialplan_edit')
|| permission_exists('inbound_route_add')
|| permission_exists('inbound_route_edit')
|| permission_exists('outbound_route_add')
|| permission_exists('outbound_route_edit')
|| permission_exists('time_conditions_add')
if (permission_exists('dialplan_add')
|| permission_exists('dialplan_edit')
|| permission_exists('inbound_route_add')
|| permission_exists('inbound_route_edit')
|| permission_exists('outbound_route_add')
|| permission_exists('outbound_route_edit')
|| permission_exists('time_conditions_add')
|| permission_exists('time_conditions_edit')) {
//access granted
}
@@ -41,6 +41,12 @@ else {
exit;
}
//add multi-lingual support
require_once "app_languages.php";
foreach($text as $key => $value) {
$text[$key] = $value[$_SESSION['domain']['language']['code']];
}
//set the action as an add or update
if (isset($_REQUEST["id"])) {
$action = "update";
@@ -76,10 +82,10 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
}
//check for all required data
if (strlen($dialplan_detail_tag) == 0) { $msg .= "Please provide: Tag<br>\n"; }
if (strlen($dialplan_detail_order) == 0) { $msg .= "Please provide: Order<br>\n"; }
//if (strlen($dialplan_detail_type) == 0) { $msg .= "Please provide: Type<br>\n"; }
//if (strlen($dialplan_detail_data) == 0) { $msg .= "Please provide: Data<br>\n"; }
if (strlen($dialplan_detail_tag) == 0) { $msg .= $text['message-required'].$text['label-tag']."<br>\n"; }
if (strlen($dialplan_detail_order) == 0) { $msg .= $text['message-required'].$text['label-order']."<br>\n"; }
//if (strlen($dialplan_detail_type) == 0) { $msg .= $text['message-required'].$text['label-type']."<br>\n"; }
//if (strlen($dialplan_detail_data) == 0) { $msg .= $text['message-required'].$text['label-data']."<br>\n"; }
if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
require_once "includes/header.php";
require_once "includes/persistformvar.php";
@@ -144,7 +150,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
require_once "includes/header.php";
echo "<meta http-equiv=\"refresh\" content=\"2;url=dialplan_edit.php?id=".$dialplan_uuid."\">\n";
echo "<div align='center'>\n";
echo "Add Complete\n";
echo $text['message-add']."\n";
echo "</div>\n";
require_once "includes/footer.php";
return;
@@ -183,12 +189,12 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
require_once "includes/header.php";
echo "<meta http-equiv=\"refresh\" content=\"2;url=dialplan_edit.php?id=".$dialplan_uuid."\">\n";
echo "<div align='center'>\n";
echo "Update Complete\n";
echo $text['message-update']."\n";
echo "</div>\n";
require_once "includes/footer.php";
return;
} //if ($action == "update")
} //if ($_POST["persistformvar"] != "true") {
} //if ($_POST["persistformvar"] != "true") {
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
//pre-populate the form
@@ -216,6 +222,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
//show the header
require_once "includes/header.php";
$page["title"] = $text['title-dialplan_detail'];
//show the content
echo "<div align='center'>";
@@ -228,8 +235,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo "<div align='center'>\n";
echo "<table width='100%' border='0' cellpadding='6' cellspacing='0'>\n";
echo "<tr>\n";
echo "<td align='left' width='30%' nowrap><b>Dialplan Detail</b></td>\n";
echo "<td width='70%' align='right'><input type='button' class='btn' name='' alt='back' onclick=\"window.location='dialplan_edit.php?id=".$dialplan_uuid."'\" value='Back'></td>\n";
echo "<td align='left' width='30%' nowrap><b>".$text['header-dial_plan_detail']."</b></td>\n";
echo "<td width='70%' align='right'><input type='button' class='btn' name='' alt='".$text['button-back']."' onclick=\"window.location='dialplan_edit.php?id=".$dialplan_uuid."'\" value='".$text['button-back']."'></td>\n";
echo "</tr>\n";
?>
@@ -237,28 +244,28 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
function public_include_details_tag_onchange() {
var dialplan_detail_tag = document.getElementById("form_tag").value;
if (dialplan_detail_tag == "condition") {
document.getElementById("label_field_type").innerHTML = "Field";
document.getElementById("label_field_data").innerHTML = "Expression";
document.getElementById("label_field_type").innerHTML = "<?=$text['label-field']?>";
document.getElementById("label_field_data").innerHTML = "<?=$text['label-expression']?>";
}
else if (dialplan_detail_tag == "regex") {
document.getElementById("label_field_type").innerHTML = "Field";
document.getElementById("label_field_data").innerHTML = "Expression";
document.getElementById("label_field_type").innerHTML = "<?=$text['label-field']?>";
document.getElementById("label_field_data").innerHTML = "<?=$text['label-expression']?>";
}
else if (dialplan_detail_tag == "action") {
document.getElementById("label_field_type").innerHTML = "Application";
document.getElementById("label_field_data").innerHTML = "Data";
document.getElementById("label_field_type").innerHTML = "<?=$text['label-application']?>";
document.getElementById("label_field_data").innerHTML = "<?=$text['label-data']?>";
}
else if (dialplan_detail_tag == "anti-action") {
document.getElementById("label_field_type").innerHTML = "Application";
document.getElementById("label_field_data").innerHTML = "Data";
document.getElementById("label_field_type").innerHTML = "<?=$text['label-application']?>";
document.getElementById("label_field_data").innerHTML = "<?=$text['label-data']?>";
}
else if (dialplan_detail_tag == "param") {
document.getElementById("label_field_type").innerHTML = "Name";
document.getElementById("label_field_data").innerHTML = "Value";
document.getElementById("label_field_type").innerHTML = "<?=$text['label-name']?>";
document.getElementById("label_field_data").innerHTML = "<?=$text['label-value']?>";
}
if (dialplan_detail_tag == "") {
document.getElementById("label_field_type").innerHTML = "Type";
document.getElementById("label_field_data").innerHTML = "Data";
document.getElementById("label_field_type").innerHTML = "<?=$text['label-type']?>";
document.getElementById("label_field_data").innerHTML = "<?=$text['label-data']?>";
}
}
</script>
@@ -266,53 +273,47 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo "<tr>\n";
echo "<td class='vncellreq' valign='top' align='left' nowrap>\n";
echo " Tag:\n";
echo " ".$text['label-tag'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select name='dialplan_detail_tag' class='formfld' id='form_tag' onchange='public_include_details_tag_onchange();'>\n";
echo " <option></option>\n";
switch ($dialplan_detail_tag) {
case "condition":
echo " <option selected='yes'>condition</option>\n";
echo " <option>action</option>\n";
echo " <option>anti-action</option>\n";
echo " <option>regex</option>\n";
//echo " <option>param</option>\n";
echo " <option value='condition' selected='yes'>".$text['option-condition']."</option>\n";
echo " <option value='action'>".$text['option-action']."</option>\n";
echo " <option value='anti-action'>".$text['option-anti-action']."</option>\n";
echo " <option value='regex'>".$text['option-regex']."</option>\n";
break;
case "regex":
echo " <option>condition</option>\n";
echo " <option>action</option>\n";
echo " <option>anti-action</option>\n";
echo " <option selected='yes'>regex</option>\n";
//echo " <option>param</option>\n";
echo " <option value='condition'>".$text['option-condition']."</option>\n";
echo " <option value='action'>".$text['option-action']."</option>\n";
echo " <option value='anti-action'>".$text['option-anti-action']."</option>\n";
echo " <option value='regex' selected='yes'>".$text['option-regex']."</option>\n";
break;
case "action":
echo " <option>condition</option>\n";
echo " <option selected='yes'>action</option>\n";
echo " <option>anti-action</option>\n";
echo " <option>regex</option>\n";
//echo " <option>param</option>\n";
echo " <option value='condition'>".$text['option-condition']."</option>\n";
echo " <option value='action' selected='yes'>".$text['option-action']."</option>\n";
echo " <option value='anti-action'>".$text['option-anti-action']."</option>\n";
echo " <option value='regex'>".$text['option-regex']."</option>\n";
break;
case "anti-action":
echo " <option>condition</option>\n";
echo " <option>action</option>\n";
echo " <option selected='yes'>anti-action</option>\n";
echo " <option>regex</option>\n";
//echo " <option>param</option>\n";
echo " <option value='condition'>".$text['option-condition']."</option>\n";
echo " <option value='action'>".$text['option-action']."</option>\n";
echo " <option value='anti-action' selected='yes'>".$text['option-anti-action']."</option>\n";
echo " <option value='regex'>".$text['option-regex']."</option>\n";
break;
case "param":
echo " <option>condition</option>\n";
echo " <option>action</option>\n";
echo " <option>anti-action</option>\n";
echo " <option>regex</option>\n";
//echo " <option selected='yes'>param</option>\n";
echo " <option value='condition'>".$text['option-condition']."</option>\n";
echo " <option value='action'>".$text['option-action']."</option>\n";
echo " <option value='anti-action'>".$text['option-anti-action']."</option>\n";
echo " <option value='regex'>".$text['option-regex']."</option>\n";
break;
default:
echo " <option>condition</option>\n";
echo " <option>action</option>\n";
echo " <option>anti-action</option>\n";
echo " <option>regex</option>\n";
//echo " <option>param</option>\n";
echo " <option value='condition'>".$text['option-condition']."</option>\n";
echo " <option value='action'>".$text['option-action']."</option>\n";
echo " <option value='anti-action'>".$text['option-anti-action']."</option>\n";
echo " <option value='regex'>".$text['option-regex']."</option>\n";
}
echo " </select>\n";
@@ -335,7 +336,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo "<tr>\n";
echo "<td class='vncellreq' valign='top' align='left' nowrap>\n";
echo " Order:\n";
echo " ".$text['label-order'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select name='dialplan_detail_order' class='formfld'>\n";
@@ -395,7 +396,7 @@ function Replaceivr_menu_option_param(obj){
<?php
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " Type:\n";
echo " ".$text['label-type'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo "<select name='dialplan_detail_type' id='dialplan_detail_type' class='formfld' onchange='changeToInput_dialplan_detail_type(this);'>\n";
@@ -408,20 +409,20 @@ function Replaceivr_menu_option_param(obj){
echo " <option value=''></option>\n";
}
if (strlen($dialplan_detail_tag) == 0 || $dialplan_detail_tag == "condition" || $dialplan_detail_tag == "regex") {
echo " <optgroup label='conditions or regex'>\n";
echo " <option value='context'>context</option>\n";
echo " <option value='username'>username</option>\n";
echo " <option value='rdnis'>rdnis</option>\n";
echo " <option value='destination_number'>destination_number</option>\n";
echo " <option value='dialplan'>dialplan</option>\n";
echo " <option value='caller_id_name'>caller_id_name</option>\n";
echo " <option value='caller_id_number'>caller_id_number</option>\n";
echo " <option value='ani'>ani</option>\n";
echo " <option value='ani2'>ani2</option>\n";
echo " <option value='uuid'>uuid</option>\n";
echo " <option value='source'>source</option>\n";
echo " <option value='chan_name'>chan_name</option>\n";
echo " <option value='network_addr'>network_addr</option>\n";
echo " <optgroup label='".$text['optgroup-conditions_or_regular_expressions']."'>\n";
echo " <option value='context'>".$text['option-context']."</option>\n";
echo " <option value='username'>".$text['option-username']."</option>\n";
echo " <option value='rdnis'>".$text['option-rdnis']."</option>\n";
echo " <option value='destination_number'>".$text['option-destination_number']."</option>\n";
echo " <option value='dialplan'>".$text['option-dialplan']."</option>\n";
echo " <option value='caller_id_name'>".$text['option-caller_id_name']."</option>\n";
echo " <option value='caller_id_number'>".$text['option-caller_id_number']."</option>\n";
echo " <option value='ani'>".$text['option-ani']."</option>\n";
echo " <option value='ani2'>".$text['option-ani2']."</option>\n";
echo " <option value='uuid'>".$text['option-uuid']."</option>\n";
echo " <option value='source'>".$text['option-source']."</option>\n";
echo " <option value='chan_name'>".$text['option-chan_name']."</option>\n";
echo " <option value='network_addr'>".$text['option-network_addr']."</option>\n";
echo " <option value='\${number_alias}'>\${number_alias}</option>\n";
echo " <option value='\${sip_from_uri}'>\${sip_from_uri}</option>\n";
echo " <option value='\${sip_from_user}'>\${sip_from_user}</option>\n";
@@ -435,7 +436,7 @@ function Replaceivr_menu_option_param(obj){
echo "</optgroup>\n";
}
if (strlen($dialplan_detail_tag) == 0 || $dialplan_detail_tag == "action" || $dialplan_detail_tag == "anti-action") {
echo "<optgroup label='applications'>\n";
echo "<optgroup label='".$text['optgroup-applications']."'>\n";
//get the list of applications
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
$result = event_socket_request($fp, 'api show application');
@@ -451,13 +452,13 @@ function Replaceivr_menu_option_param(obj){
}
echo "</optgroup>\n";
}
echo "<input type='button' id='btn_select_to_input_dialplan_detail_type' class='btn' name='' alt='back' onclick='changeToInput_dialplan_detail_type(document.getElementById(\"dialplan_detail_type\"));this.style.visibility = \"hidden\";' value='<'>\n";
echo "<input type='button' id='btn_select_to_input_dialplan_detail_type' class='btn' name='' alt='".$text['button-back']."' onclick='changeToInput_dialplan_detail_type(document.getElementById(\"dialplan_detail_type\"));this.style.visibility = \"hidden\";' value='<'>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " Data:\n";
echo " ".$text['label-data'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <input class='formfld' type='text' name='dialplan_detail_data' value=\"".htmlspecialchars($dialplan_detail_data)."\">\n";
@@ -468,7 +469,7 @@ function Replaceivr_menu_option_param(obj){
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " Group:\n";
echo " ".$text['label-group'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select name='dialplan_detail_group' class='formfld'>\n";
@@ -491,34 +492,34 @@ function Replaceivr_menu_option_param(obj){
if ($dialplan_detail_tag == "condition") {
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " Break:\n";
echo " ".$text['label-break'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select name='dialplan_detail_break' class='formfld'>\n";
echo " <option></option>\n";
if ($dialplan_detail_break == "on-true") {
echo " <option selected='selected' value='on-true'>on-true</option>\n";
echo " <option selected='selected' value='on-true'>".$text['option-on_true']."</option>\n";
}
else {
echo " <option value='on-true'>on-true</option>\n";
echo " <option value='on-true'>".$text['option-on_true']."</option>\n";
}
if ($dialplan_detail_break == "on-false") {
echo " <option selected='selected' value='on-false'>on-false</option>\n";
echo " <option selected='selected' value='on-false'>".$text['option-on_false']."</option>\n";
}
else {
echo " <option value='on-false'>on-false</option>\n";
echo " <option value='on-false'>".$text['option-on_false']."</option>\n";
}
if ($dialplan_detail_break == "always") {
echo " <option selected='selected' value='always'>always</option>\n";
echo " <option selected='selected' value='always'>".$text['option-always']."</option>\n";
}
else {
echo " <option value='always'>always</option>\n";
echo " <option value='always'>".$text['option-always']."</option>\n";
}
if ($dialplan_detail_break == "never") {
echo " <option selected='selected' value='never'>never</option>\n";
echo " <option selected='selected' value='never'>".$text['option-never']."</option>\n";
}
else {
echo " <option value='never'>never</option>\n";
echo " <option value='never'>".$text['option-never']."</option>\n";
}
echo " </select>\n";
echo "<br />\n";
@@ -530,22 +531,22 @@ function Replaceivr_menu_option_param(obj){
if ($dialplan_detail_tag == "action") {
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " Inline:\n";
echo " ".$text['label-inline'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select name='dialplan_detail_inline' class='formfld'>\n";
echo " <option></option>\n";
if ($dialplan_detail_inline == "true") {
echo " <option selected='selected' value='true'>true</option>\n";
echo " <option selected='selected' value='true'>".$text['option-true']."</option>\n";
}
else {
echo " <option value='true'>true</option>\n";
echo " <option value='true'>".$text['option-true']."</option>\n";
}
if ($dialplan_detail_inline == "false") {
echo " <option selected='selected' value='false'>false</option>\n";
echo " <option selected='selected' value='false'>".$text['option-false']."</option>\n";
}
else {
echo " <option value='false'>false</option>\n";
echo " <option value='false'>".$text['option-false']."</option>\n";
}
echo " </select>\n";
echo "<br />\n";
@@ -561,7 +562,7 @@ function Replaceivr_menu_option_param(obj){
if ($action == "update") {
echo " <input type='hidden' name='dialplan_detail_uuid' value='$dialplan_detail_uuid'>\n";
}
echo " <input type='submit' name='submit' class='btn' value='Save'>\n";
echo " <input type='submit' name='submit' class='btn' value='".$text['button-save']."'>\n";
echo " </td>\n";
echo " </tr>";
echo "</table>";