📄 voicemail.html
字号:
<!--
* Asterisk-GUI - an Asterisk configuration interface
*
* Global VoiceMail Settings
*
* Copyright (C) 2006-2007, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
* Pari Nannapaneni <pari@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*
-->
<script src="scripts/prototype.js"></script>
<script src="scripts/rico.js"></script>
<script src="scripts/astman.js"></script>
<script src="scripts/tooltip.js"></script>
<link href="stylesheets/rico.css" media="all" rel="Stylesheet" type="text/css" />
<link href="stylesheets/schwing.css" media="all" rel="Stylesheet" type="text/css" />
<script>
var origwidth;
var vmwidgets = {};
var widgets = {};
var vmexten='';
var adstatus;
var voicemails;
var callbacks = new Object;
var usercallbacks = new Object;
var voicemailcallbacks = new Object;
var localextenlength;
var vmfields = ['attach' ,'attachfmt' ,'cancel' ,'emailonly' ,'envelope' ,'maxgreet' ,'maxmessage' ,'maxmsg' ,'minmessage' ,'operator' ,'review' ,'save' ,'saycid' ,'sayduration'];
var fields = new Array('name');
function changed_extension() {
var app;
var tmp = $('extensions').value.split(']');
app = findapp($('extensions').stored_config.catbyname[tmp[0]].subfields[tmp[1]]['app']);
$('name').value = $('extensions').stored_config.catbyname[tmp[0]].subfields[tmp[1]]['name'];
};
callbacks.format = function(t, x) {
if ((t.name != specialcontext))
return null;
return format_extension($('extensions'), t, x);
}
callbacks.beforeSaving = function(){
if( !checklength() ){ return false; }
if (!check_patternonfields( ['name', 'maxgreet'] ) ){
return false;
}
for(var k=0; k<$('extensions').length; k++ ){
var tmp = $('extensions').options[k].innerHTML.split(' -- ');
if( tmp[0] == $('name').value ){
gui_alert("Sorry, an entry named " + $('name').value + " already exists!");
return false;
}
}
return true;
}
callbacks.loaded = function() {
var whichexten = "";
merge_extensions($('extensions'), $('hiddenusers'));
for (var x=0;x<$('extensions').options.length;x++) {
var tmp;
tmp = $('extensions').options[x].value.split(']');
if (tmp.length > 1) {
if ($('extensions').stored_config.catbyname[tmp[0]].subfields[tmp[1]]['app'].toLowerCase() != "voicemailmain") {
//$('extensions').options[x].disabled = true;
$('extensions').options[x].style.color = "#ABABAB";
$('extensions').options[x].value = "reserved";
} else {
whichexten = $('extensions').stored_config.catbyname[tmp[0]].subfields[tmp[1]]['name'];
$('extensions').selectitem(x);
vmexten = whichexten;
}
}
}
$('extensions').contentEditable = 'true';
$('extensions').disabled = 0;
$('extensions').current_category = specialcontext;
add_event( $('name') , 'keydown', function(){ this.oldvalue = this.value ;} );
add_event( $('name') , 'keyup', function(){
if(this.oldvalue == this.value){return true;}
$('save').disabled = false;
$('cancel').disabled = false;
});
$('name').disabled = false;
if (whichexten.length ==0 ){
gui_alert("Looks like a default Voicemail Extension is not yet configured \n\n Please set an \'Extension for Checking messages\' and \n click on 'save' button");
}else{
}
parent.loadscreen(this);
}
callbacks.fields2val = function() {
return $('name').value + ",1,VoiceMailMain";
}
callbacks.sortfunc = function(a,b) {
return (a.name < b.name) ? -1 : 1;
}
callbacks.newsubitem = function() {
var tmp = new Object;
tmp['name'] = $('name').value;
tmp['>'] = true;
return new Array(specialcontext, 'exten', tmp);
}
callbacks.postselect = function(box, val) {
var fields_to_disable = new Array('attach', 'saycid', 'sayduration', 'emailonly', 'maxmsg', 'maxmessage', 'minmessage', 'operator', 'attachfmt', 'review', 'envelope', 'maxgreet');
parent.$('tooltip').innerHTML = parent.tooltip_default ;
if( box.selectedIndex == -1)
return true;
if(val == "reserved" ){
for( var i=0; i < fields_to_disable.length; i ++ ){
_$(fields_to_disable[i]).disabled = true;
}
$('save').disabled = true;
$('cancel').disabled = true;
if( box.options[box.selectedIndex].text.toLowerCase().match("-- call queue") ){
//parent.$('tooltip').innerHTML = " <font size=\"-2\" color=\"#FF0000\">Click on \'Call Queues\' panel to edit call queues </font>";
box.selectedIndex = -1;
gui_alert(" You can not edit the selected entry from here.\n Please click on the \'Call Queues\' panel to edit the selected entry");
return true;
}
if( box.options[box.selectedIndex].text.toLowerCase().match("-- conference bridge") ){
//parent.$('tooltip').innerHTML = " <font size=\"-2\" color=\"#FF0000\">Click on \'Conferencing\' panel to edit a Conference Bridge</font>";
box.selectedIndex = -1;
gui_alert(" You can not edit the selected entry from here.\n Please click on the \'Conferencing\' panel to edit the selected entry");
return true;
}
if( box.options[box.selectedIndex].text.toLowerCase().match("-- voice menu") ){
box.selectedIndex = -1;
//parent.$('tooltip').innerHTML = " <font size=\"-2\" color=\"#FF0000\">Click on \'Voicemail\' panel to edit Voicemail Preferences</font>";
gui_alert(" You can not edit the selected entry from here.\n Please click on the \'Voice Menus\' panel to edit the selected entry");
return true;
}
box.selectedIndex = -1;
gui_alert(" You can not edit the selected entry from here.\n Please click on the \'Users\' panel to edit the selected entry");
return true;
}
for( var i=0; i < fields_to_disable.length; i ++ ){
$(fields_to_disable[i]).disabled = false;
}
//$('cancel').disabled = false;
}
callbacks.identifier = "extension";
callbacks.eachline = true;
callbacks.usesubfields = true;
usercallbacks.format = function(t) {
if ((t.name == 'general')){
if (t.fieldbyname['localextenlength'] && t.fieldbyname['localextenlength'].length){
localextenlength = t.fieldbyname['localextenlength'] ;
}else{
localextenlength = 4;
}
return null;
}
//if (t.name.substring(0,6) == 'trunk_')
// return null;
if ( t.fieldbyname['context'] == asterisk_guiTDPrefix + t.name ) {
return null;
}
if (t.fieldbyname['fullname'] && t.fieldbyname['fullname'].length) {
return t.name + " -- " + t.fieldbyname['fullname'];
} else
return t.name;
}
usercallbacks.loaded = function() {
parent.astmanEngine.config2list("extensions.conf", $('extensions'), widgets, callbacks);
}
function togglefeatures() {
if (adstatus == "shown") {
adstatus = "hidden";
new Rico.Effect.Size('advancedw', null, 1, 120, 8, {complete:function() { $('advancedw').style.height=1;} } );
} else {
adstatus = "shown";
$('advancedw').style.visibility = "visible";
new Rico.Effect.Size('advancedw', null, 140, 120, 8 );
}
}
voicemailcallbacks.cancelchanges = function(){
$('name').value = vmexten ;
}
voicemailcallbacks.beforeSaving = function(){
// check whether the length of extension is valid
if( !checklength( ) ){ return false; }
if (!check_patternonfields( ['name', 'maxgreet'] ) ){
return false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -