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

📄 6.html

📁 asterisk 的图形管理界面
💻 HTML
字号:
<!--
 * Asterisk-GUI	-	an Asterisk configuration interface
 *
 * Setup WIzard/ 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.
 *
-->
<HTML>
<HEAD>
	<TITLE> Asterisk GUI Setup Wizard</TITLE>
	<link href="setup.css" media="all" rel="Stylesheet" type="text/css" />
</HEAD>
<script src="../scripts/prototype.js"></script>
<script src="../scripts/astman.js"></script>
<SCRIPT>

var rawman_url ;
var vmexten='';
var voicemailcallbacks = new Object;
var callbacks = new Object;
var vmfields = ['attach', 'cancel', 'maxgreet', 'maxmessage', 'maxmsg', 'save'];
var fields = new Array('name');
var vmwidgets = {};
var widgets = {};
var go = "";
var nextpage = "7.html";
var prevpage = "5.html";

callbacks.savechanges = function() {
	window.location.href = go ;
}

function localinit(){
	var focus_fields = [ 'name','maxmsg','maxmessage','maxgreet'];
	for( var  r =0; r < focus_fields.length ; r++ ){
		var d = _$(focus_fields[r]);
		d.onfocus = function(){ this.className = 'input9_hilight'; }
		d.onblur = function(){ this.className = 'input9'; }
	}

	//parent.$('next').disabled = true;
	parent._$('next').onclick = function(){	 
		if ( _$('name').value.length==0 ){
			alert("Looks like a default Voicemail Extension is not yet configured \n\n Please set an \'Extension for Checking messages\'");
			return false;
		}
		if( parent.localextenlength != _$('name').value.length ){
			if(typeof parent.localextenlength == "undefined"){ parent.localextenlength = 4; }
			alert("The Voicemail Extension has to be " + parent.localextenlength + " digits long" );
			return false;
		}
		if( !_$('save').disabled ){
			go = nextpage;
			_$('save').click();
		}else{
			window.location.href= nextpage ; 
		}
	};
	parent._$('back').disabled = false;
	parent._$('back').onclick  = function(){
		if( !_$('save').disabled ){
			go = prevpage;
			_$('save').click();
		}else{
			window.location.href= prevpage ; 
		}
	};
	rawman_url = parent.rawman_url ;

	for (var x =0; x< vmfields.length; x++) {
		vmwidgets[vmfields[x]] = $(vmfields[x]);
		vmwidgets[vmfields[x]].disabled = true;
	}
	for (var x =0; x < fields.length; x++) {
		widgets[fields[x]] = $(fields[x]);
		widgets[fields[x]].disabled = true;
	}

	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") ) {
		// load default Voicemail Settings
		parent.astmanEngine.config2list("voicemail.conf", _$('hiddenvoicemail'), vmwidgets, voicemailcallbacks);
	}
}

voicemailcallbacks.cancelchanges = function(){
	_$('name').value = vmexten ; 
}
	
voicemailcallbacks.savechanges = function() {
	if (vmexten != _$('name').value) {
		if (vmexten.length) {
			if (!_$('name').value.length) {
				delete_item(_$('extensions'),null,1);
				alert("Default Voicemail Extension has been removed");
			} else {
				save_item(_$('extensions'));
			}
		} else {
			new_subitem(_$('extensions'));
			save_item(_$('extensions'));
		}
		vmexten = _$('name').value;
		_$('name').disabled = false;
		return true;
	}
	_$('name').disabled = false;
	callbacks.savechanges();
	return false;
}

voicemailcallbacks.loaded = function() {
	_$('hiddenvoicemail').selectedIndex = 0;
	if (_$('hiddenvoicemail').onchange)
		$('hiddenvoicemail').onchange($('hiddenvoicemail'));
	parent.astmanEngine.config2list("extensions.conf", _$('extensions'), widgets, callbacks);
}

voicemailcallbacks.format = function(t) {
	if (t.name != 'general')
		return null;
	return "General";
}

callbacks.format = function(t, x) {
	if ((t.name != specialcontext))
		return null;
	return format_extension(_$('extensions'), t, x);
}

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.identifier = "extension";
callbacks.eachline = true;
callbacks.usesubfields = true;	

callbacks.loaded = function() {
	parent.astmanEngine.pollEvents();
	var whichexten = "";
	for (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;
	_$('name').onkeydown = newexten;
	_$('name').disabled = false;
	if (whichexten.length ==0 ){
		//alert("Looks like a default Voicemail Extension is not yet configured \n\n Please set an \'Extension for Checking messages\'");
		switch (parent.localextenlength){
		case "2":
			_$('name').value = parent.userbase.charAt(0) + "5";
			break;
		case "3":
			_$('name').value = parent.userbase.charAt(0) + "50";
			break;
		case "4":
			_$('name').value = parent.userbase.charAt(0) + "500";
			break;
		case "5":
			_$('name').value = parent.userbase.charAt(0) + "5000";
			break;
		default : _$('name').value = "8500";
		}
	}else{
		if( parent.localextenlength != _$('name').value.length ){
			if(	parent.localextenlength < _$('name').value.length ){
				_$('name').value = _$('name').value.substr(0,parent.localextenlength);
				_$('save').disabled = false;
			}else if( parent.localextenlength > _$('name').value.length ){
				while ( parent.localextenlength != _$('name').value.length  ){
					_$('name').value = _$('name').value + "0" ; 
					_$('save').disabled = false;
				}
			}
		}
	}
}

callbacks.postselect = function(box, val) {

}

function newexten() {
	var newname = _$('name').value;
	_$('save').disabled = false;
}
</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 class="slselected">VoiceMail Settings</td></tr>
		<tr><td></td><td>User Extensions</td></tr>
		<tr><td></td><td>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='hiddenvoicemail' style="display:none"></select>
	<select id="extensions" style="display:none"></select>

	<div class="heading">
		Step 5 of <script>document.write(parent.numberofsteps);</script>&nbsp;&nbsp;-  VoiceMail Settings
	</div>
	<table cellpadding=2 cellspacing=2 border=0 align=center  class="subheading">
	<tr>	<td>Extension for checking messages:</td>
		<td>&nbsp;<input size='5' id='name' pattern='^\d*$' onKeyUp="$('cancel').disabled=false;"  class="input9" ></td>
	</tr>
	<tr>	<td>Attach recordings to e-mail:</td>
		<td><input type='checkbox' id='attach'></td>
	</tr>
	<tr>	<td>Maximum messages per folder:</td>
		<td>&nbsp;<select id='maxmsg' class="input9">
			<option value='10'>10</option>
			<option value='25'>25</option>
			<option value='100'>100</option>
			<option value='250' selected>250</option>
			<option value='500'>500</option>
			<option value='1000'>1000</option>
			</select>
		</td>
	</tr>
	<tr>	<td>Maximum message time</td>
		<td>&nbsp;<select id='maxmessage' class="input9">
			<option value='60'>1 minute</option>
			<option value='120'>2 minutes</option>
			<option value='300'>5 minutes</option>
			<option value='900' selected>15 minutes</option>
			<option value='1800'>30 minutes</option>
			<option value='0'>Unlimited</option>
			</select>
		</td>
	</tr>
	<tr>	<td>Max&nbsp;greeting&nbsp;(seconds)</td>
		<td>&nbsp;<input size=4 id='maxgreet' pattern='^\d*$' class="input9" dfalt=60></td>
	</tr>
	</table>					
	<div style="display:none"><input type='button' id='save' value='Save'>&nbsp;<input type='button' id='cancel' value='Cancel'></div>
<!--  this page -->
</td>
</tr>
</table>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -