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

📄 queues.html.svn-base

📁 asterisk-gui asterisk网关接口编程 控制asterisk的接口
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
<!-- * Asterisk-GUI	-	an Asterisk configuration interface * * Manage Queues * * 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/astman.js"></script><script src="scripts/tooltip.js"></script><link href="stylesheets/schwing.css" media="all" rel="Stylesheet" type="text/css" /><script>var mohcallbacks = new Object;var queuecallbacks = new Object;var usercallbacks = new Object;var extencallbacks = new Object;var callbacks = new Object;var widgets = {};var queueagents = new  Array;var queuenames = new Array;var fieldnames = ['agents', 'autofill', 'autopause', 'cancel', 'delete', 'fullname', 'joinempty', 'leavewhenempty', 'maxlen', 'musicclass', 'name', 'new', 'reportholdtime', 'save', 'strategy', 'timeout', 'wrapuptime'];var k =0;var j = -1; var extensions_conf_qs = new Array;var localextenlength ;var userbase;function rename_extension(a,b){	// rename extension 'a' in extensions.conf to 'b'	// change 'exten => a,1,Queue' in default to 'exten => b,1,Queue'	var uri = build_action('update', 0, specialcontext ,'exten', b+',1,Queue(${EXTEN})', a+',1,Queue(${EXTEN})'); 	makerequest('u','extensions.conf', uri, function(t){return true;} );}function add_extension(a){	// add extension 'a' in extensions.conf 	// add 'exten => a,1,Queue' to default	var uri = build_action('append', 0, specialcontext ,'exten', a+',1,Queue(${EXTEN})'); 	makerequest('u','extensions.conf',uri, function(t){return true;} );}function delete_extension(a){	// delete extension 'a' in extensions.conf	var uri = build_action('delete', 0, specialcontext ,'exten', '',a+',1,Queue(${EXTEN})'); 	makerequest('u','extensions.conf', uri, function(t){return true;});}function save_queue(){	var p = 0;	var q = 0;	var r = 0;	var fields = new Array('fullname', 'strategy', 'timeout', 'wrapuptime','autofill','autopause','maxlen', 'joinempty',  'leavewhenempty', 'reportholdtime','musicclass');	var otherfields_action, tmp;	// before going any further check whether there is another entry with this name	if( $('name').value != $('queues').value ){		if ($('queues').stored_config.catbyname[$('name').value]) {			gui_alert("Sorry, an entry named " + $('name').value + " already exists!");			return;		}		for(var k=0; k<$('queues').length; k++ ){			var tmp = $('queues').options[k].innerHTML.split(' -- '); 			if( tmp[0] ==  $('name').value   ){				gui_alert("Sorry, an entry named " + $('name').value + " already exists!");				return;			}		}	}	if(!$('name').value.length){		gui_alert("Sorry, an Extension must be specified for this Queue!");		$('name').focus();		return;	}	if(!$('fullname').value.length){		gui_alert("Sorry, a Full Name must be specified !");		$('fullname').focus();		return;	}	if(isNaN(localextenlength)){localextenlength = 4;}	if( localextenlength !=0 && (localextenlength != $('name').value.length) ) {		gui_alert("Sorry, An Extension must be "+ localextenlength  + " digits !");		$('name').focus();		return ;	}		if (!check_patternonfields( [ 'name', 'fullname','timeout','wrapuptime','maxlen' ] ) ){		return false;	}	$('status_message').style.display="block";	p = 0;	uri = "";	if( $('queues').options[$('queues').selectedIndex].innerHTML=='New Entry' ){		uri += build_action('newcat', p, $('name').value,"", ""); p = p+1;		otherfields_action = 'append'; 			// add other fields		add_extension( $('name').value ); // add in extensions.conf		//add to stored names & fields 		r = queuenames.length;		queueagents[r] = new Array;		queuenames[r] = $('name').value ;		q =0;		for (k=0;k< $('agents').length ;k++ ){				if( $('agents').options[k].selected ){					queueagents [r][q] = $('agents').options[k].innerHTML.split(' -- ')[0] ;					q = q+1;				}		}	}else{		if( $('name').value != $('queues').value ){			uri += build_action('renamecat', p, $('queues').value ,"", $('name').value ); p = p+1;			rename_extension($('queues').value,$('name').value ); // rename in extensions.conf		}		// delete existing agents		uri += build_action('delete', p, $('name').value,"member", ""); p = p+1;		otherfields_action = 'update'; 			// update other fields				//update the stored names & fields 		for( k=0; k<queuenames.length; k++ ){				if( queuenames[k] == $('queues').value ){					j = k;					break;				}		}		// reset the array queueagents [j] to selected elements of $('agents')		queueagents [j] = [];		q =0;				for (k=0;k< $('agents').length ;k++ ){				selectedagent = "selectedagent" + k;				if( $(selectedagent).checked  ){					queueagents [j][q] = $('agents').options[k].innerHTML.split(' -- ')[0] ;					$('agents').options[k].selected = true;					q = q+1;				}else{					$('agents').options[k].selected = false;				}		}		// also reset queuenames[j] to $('name').value		queuenames[j] = $('name').value;	}	for(k=0; k<fields.length; k++ ){		if ( $(fields[k]).type =='checkbox'){			tmp=( $(fields[k]).checked)? 'yes': 'no';		}else{			tmp = $(fields[k]).value;		}		uri += build_action(otherfields_action, p, $('name').value , fields[k] , tmp);		p = p + 1;	}	//add agents	for(k=0; k<$('agents').length; k++){		selectedagent = "selectedagent" + k;		if( $(selectedagent).checked ){			uri += build_action('append', p, $('name').value,"member", "Agent/"+$(selectedagent).value);			p = p+1;		}	}	makerequest('u','queues.conf', uri,		function(t){			$('status_message').style.display='none';			gui_feedback('Updated','blue');			$('new').disabled = false;			$('save_q').disabled = true;			$('save').disabled = true;			$('cancel').disabled = true;			var cattmp = new Object;			cattmp.catname = $('queues').value;			$('queues').engine.fields2changes($('queues').widgets, $('queues').stored_config, cattmp);			$('queues').options[$('queues').selectedIndex].innerHTML = $('name').value + " -- Queue '" + $('fullname').value +"'";			$('queues').options[$('queues').selectedIndex].value =$('name').value;			$('queues').options[$('queues').selectedIndex].core_name = cattmp.catname;			for (var y = 0; y < $('queues').options.length + 1; y++) {				if (!$('queues').options[y] || 					do_compare($('queues'), $('queues').options[$('queues').selectedIndex], $('queues').options[y])) {						$('queues').options.add($('queues').options[$('queues').selectedIndex], y);						break;				}			}		}	);}// User call backsusercallbacks.loaded = function (){	merge_extensions($('queues'), $('extensions'));	merge_extensions($('queues'), $('devices'));	parent.loadscreen(this);}usercallbacks.identifier = "extension";usercallbacks.postselect = function (){	 }usercallbacks.format = function (t,x){	if ((t.name == 'general'))		return null;	if ( t.fieldbyname['hasagent']=='yes' ) 		return t.name + " -- " + t.fieldbyname['fullname'];	else		return null;}// Call Backscallbacks.loaded = function (){	parent.astmanEngine.config2list("users.conf", $('agents'), new Array(), usercallbacks);	}callbacks.identifier = "extension";callbacks.postselect = function (){	 }callbacks.format = function (t,x){	if ((t.name == 'general')){		if ( t.fieldbyname['localextenlength'] && t.fieldbyname['localextenlength'].length){ localextenlength =  parseInt(t.fieldbyname['localextenlength']) ; }		userbase = ( t.fieldbyname['userbase'] && t.fieldbyname['userbase'].length ) ?  t.fieldbyname['userbase'] : 6000 ;		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;}// Queue Call Backsqueuecallbacks.oncategorydelete = function(value){	$('testmulti').innerHTML = "";	delete_extension(value);}

⌨️ 快捷键说明

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