📄 8.html
字号:
var newpattern = _$('frompattern').value ;
var temp_provider = _$('fromprovider').value ;
var temp_action = "Goto(default|" + _$('toextension').value + "|1)";
var temp_priority = "1";
var new_exten = newpattern + "," + temp_priority + "," + temp_action;
var uri = build_action('append', 0, temp_provider ,"exten", new_exten );
}
// check whether there is an existing entry with this pattern
if( typeof didtrunks[temp_provider][newpattern] != "undefined" ){
alert("An incoming call rule is already defined \n on this trunk for the selcted pattern !! ");
return false;
}
var opt = {
method: 'get',
asynchronous: true,
onSuccess: function(t) {
// add this to the global object
didtrunks[temp_provider][newpattern] = new Object();
didtrunks[temp_provider][newpattern].priority = temp_priority;
didtrunks[temp_provider][newpattern].action = temp_action ;
//addrowtotable(newpattern,temp_provider,temp_action,temp_priority) ; // a is pattern, b is DID_trunk, c is action, d is priority
refreshtable();
_$('userscontent').style.display = "none";
_$('bg_transparent').style.display ='none';
},
onFailure: function(t) {
alert("Config Error: " + t.status + ": " + t.statusText);
}
};
opt.parameters="action=updateconfig&srcfilename=" + encodeURIComponent("extensions.conf") + "&dstfilename=" + encodeURIComponent("extensions.conf") + uri;
var tmp = new Ajax.Request(rawman_url, opt);
//
}
function update_incomingrule(){
// field validation
if(_$('incomingrule').value == "frompattern" && _$('frompattern').value == "" ){
alert("Please define an incoming call pattern !");
_$('frompattern').focus();
_$('frompattern').select();
return false;
}
if( _$('toextension').selectedIndex == -1 ){
alert("Please select an extension to which an incoming call should be routed to !");
_$('toextension').focus();
return false;
}
if( _$('incomingrule').value == "frompattern" && _$('frompattern').value.substr(0,1) != "_" ){
_$('frompattern').value = "_" + _$('frompattern').value ;
}
// old values before editing are - edit_pattern, edit_DIDtrunk, edit_action, edit_priority
// check for duplicate other than old
var p = 0 ;
var uri = "" ;
var temp_provider = _$('fromprovider').value ;
var temp_action = "Goto(default|" + _$('toextension').value + "|1)";
var temp_priority = "1";
var tmp_old_string = edit_pattern + "," + edit_priority + "," + edit_action;
uri += build_action('delete', p, edit_DIDtrunk ,"exten", "", tmp_old_string); p++;
if(edit_pattern == "_X." ){
var tmp2_old_string = "s," + edit_priority + "," + edit_action ;
uri += build_action('delete', p, edit_DIDtrunk ,"exten", "", tmp2_old_string); p++;
}
if ( _$('incomingrule').value == "allunmatched" ){
var newpattern = "_X." ;
var new_exten = newpattern + "," + temp_priority + "," + temp_action;
var new_exten2 = "s," + temp_priority + "," + temp_action;
uri += build_action('append', p , temp_provider ,"exten", new_exten ); p++ ;
uri += build_action('append', p , temp_provider ,"exten", new_exten2 ); p++ ;
}else{
var newpattern = _$('frompattern').value ;
var new_exten = newpattern + "," + temp_priority + "," + temp_action;
uri += build_action('append', p , temp_provider ,"exten", new_exten ); p++ ;
}
if( typeof didtrunks[temp_provider][newpattern] != "undefined" && ( temp_provider != edit_DIDtrunk || newpattern != edit_pattern ) ){
alert("An incoming call rule is already defined \n on this trunk for the selcted pattern !! ");
return false;
}
// delete old entry and add new entry
var opt = {
method: 'get',
asynchronous: true,
onSuccess: function(t) {
delete didtrunks[edit_DIDtrunk][edit_pattern] ;
didtrunks[temp_provider][newpattern] = new Object();
didtrunks[temp_provider][newpattern].priority = temp_priority;
didtrunks[temp_provider][newpattern].action = temp_action ;
_$('userscontent').style.display = "none";
_$('bg_transparent').style.display ='none';
refreshtable();
},
onFailure: function(t) {
alert("Config Error: " + t.status + ": " + t.statusText);
}
};
opt.parameters="action=updateconfig&srcfilename=" + encodeURIComponent("extensions.conf") + "&dstfilename=" + encodeURIComponent("extensions.conf") + uri;
var tmp = new Ajax.Request(rawman_url, opt);
}
function checksave(k){
if( old_incomingrule == _$('incomingrule').value && old_fromprovider == _$('fromprovider').value ){
return true;
}
if(_$('incomingrule').value == "frompattern" ){
_$('thatmatch').style.display = "" ;
if(k.id=="incomingrule"){
_$('frompattern').focus();
_$('frompattern').select();
}
}else{
_$('thatmatch').style.display = "none" ;
}
_$('save_a').disabled = false;
old_incomingrule = _$('incomingrule').value ;
old_fromprovider = _$('fromprovider').value ;
}
function enablesave(){
_$('save_a').disabled = false;
}
function delete_incomingrule(a,b,c,d){ // a is pattern, b is DID_trunk, c is action, d is priority
t=confirm("Are you sure you want to delete this Incoming Calling Rule?");
if(t == false){
return true;
}
var tmp_match = a+","+d+","+c ;
var opt = {
method: 'get',
asynchronous: true,
onSuccess: function(t) {
// add this to the global object
delete didtrunks[b][a];
refreshtable();
},
onFailure: function(t) {
alert("Config Error: " + t.status + ": " + t.statusText);
}
};
var uri = build_action('delete',0, b, "exten" ,"", tmp_match);
if( a == "_X." ){
var tmp2_match = "s," + d + "," + c ;
uri += build_action('delete',1,b,"exten","", tmp2_match);
}
opt.parameters="action=updateconfig&srcfilename=" + encodeURIComponent("extensions.conf") + "&dstfilename=" + encodeURIComponent("extensions.conf") + uri;
var tmp = new Ajax.Request(rawman_url, opt);
}
function localinit(){
parent._$('next').onclick = function(){ window.location.href="10.html"; };
parent._$('back').onclick = function(){ window.location.href="7.html"; };
rawman_url = parent.rawman_url ;
parent.astmanEngine.setURL(rawman_url);
ping();
}
function ping(){
var opt = { method: 'get', asynchronous: true, onComplete: isloggedin };
opt.parameters="action=ping" ;
var tmp = new Ajax.Request(rawman_url , opt);
}
function isloggedin(originalRequest){
if ( originalRequest.responseText.match("Error") ) {
// User is not logged in , show him the login screen
parent.window.location.href = parent.window.location.href ;
}
if ( originalRequest.responseText.match("Pong") ) {
showdiv_statusmessage();
setWindowTitle("Incoming Calls");
for (var x =0; x < focus_fields.length; x++ ) {
$(focus_fields[x]).onfocus = function(){this.className = 'input9_hilight';}
$(focus_fields[x]).onblur = function(){this.className = 'input9';}
}
parent.astmanEngine.config2list("users.conf", _$('users'), new Array(), user_callbacks);
}
}
</SCRIPT>
<BODY bgcolor="#FFFFFF" onload="localinit()" topmargin=0 leftmargin=0>
<table width="100%" height="100%" border=0 cellpadding=0 cellspacing=0>
<tr>
<td width="170" valign=top align=left>
<div id="menu">
<table cellpadding=3 cellspacing=2 border=0 id="sidelist">
<tr><td width=3></td><td>Start</td></tr>
<tr><td></td><td>Verify Analog Ports</td></tr>
<!-- <tr><td></td><td>Date & Time</td></tr> -->
<tr><td></td><td>Local Extension Settings</td></tr>
<tr><td></td><td>Service Providers</td></tr>
<tr><td></td><td>Calling Rules</td></tr>
<tr><td></td><td>VoiceMail Settings</td></tr>
<tr><td></td><td>User Extensions</td></tr>
<tr><td></td><td class="slselected">Incoming Calls</td></tr>
<!-- <tr><td></td><td>VoiceMenus</td></tr> -->
<tr><td></td><td>Finish</td></tr>
</table>
</div>
</td>
<td valign=top align=center>
<!-- this page -->
<select id="extensions" style="display:none"></select>
<select id="users" style="display:none"></select>
<div class="heading">
Step 7 of <script>document.write(parent.numberofsteps);</script> - Incoming Calls
</div>
<div class="subheading">List of incoming call rules</div>
<table class="table_blacksm" cellpadding=2 cellspacing=2 border=0 align=center width=500 id="table_one">
<tr> <td width=35>S.No</td>
<td> Incoming Rule </td>
<td width=75 align=center>Options</td>
</tr>
</table>
<div id="callingRulesTable_div" style="height:200px;width=100%; overflow :auto; padding : 0px 0px 0px 0px;">
<table id="callingRulesTable" cellpadding=2 cellspacing=1 border=0 align=center width=500></table>
</div>
<BR>
<center><input type="button" id="adddid" value="Add a Incoming Rule" onclick="add_incomingrule();"></center>
<div id="userscontent" STYLE="display:none; position: absolute; left: 227; top: 70; width:475; height:190; background-color:#F4EFE5; border-width: 1px; border-color: #7E5538; border-style: solid;z-index:5">
<table width="100%" cellpadding=0 cellspacing=0 onmousedown="startDrag(event , 'userscontent');">
<TR bgcolor="#7E5538" style="background-image:url('../images/title_gradient.gif');">
<TD Height="20" align="right" style="cursor: move">
<A href="#" onclick="$('cancel_a').click();"><font style="color:#FFFFFF; font-size: 12px; font-weight:bold;">X</font></A>
</TD>
<TD width=4></TD>
</TR>
</table>
<TABLE align=center cellpadding=2 cellspacing=2 border=0 width="100%">
<TR> <TD height=10></TD></TR>
<TR> <TD align=center>
<NOBR>Route <select id="incomingrule" onclick="checksave(this)" class="input9">
<option value="allunmatched">All Unmatched incoming calls</option>
<option value="frompattern">incoming calls that match </option>
</select>
<span id="thatmatch">pattern <input type="text" id="frompattern" size=12 onchange="enablesave();" onkeyup="enablesave();" class="input9"></span>
</NOBR>
</TD>
</TR>
<TR> <TD align=center>from provider <select id="fromprovider" onclick="checksave(this)" class="input9"></select> </TD></TR>
<TR> <TD align=center>to extension <select id="toextension" onchange="enablesave();" onkeyup="enablesave();" class="input9"></select></TD>
</TR>
<TR> <TD align=center height=50 valign=middle>
<input type="button" id="save_a" value="Save" onclick="save_incomingrule();">
<input type="button" id="cancel_a" value="Cancel" onclick="$('userscontent').style.display='none'; $('bg_transparent').style.display ='none';" >
</TD>
</TR>
</TABLE>
</div>
<div id="bg_transparent" STYLE="display:none; position: absolute; left: 0; top: 0; width:100%; height:100%; background-color:#EFEFEF; -moz-opacity:.50;opacity:.50; border-width: 1px; border-color: #EFEFEF; border-style: solid; z-index:4">
</div>
<!-- this page -->
</td>
</tr>
</table>
</div>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -