⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 voicemail.html

📁 asterisk 的图形管理界面
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!--
 * 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 + -