📄 meetme.html
字号:
<!--
* Asterisk-GUI - an Asterisk configuration interface
*
* Create/Manage Conference Bridges
*
* 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 widgets = {};
var adstatus, meetmes, localextenlength, temp_selectedexten;
var callbacks = new Object;
var usercallbacks = new Object;
var meetmecallbacks = { };
var fieldnames = ['announce', 'cancel', 'delete', 'menu', 'music', 'name', 'newitem', 'quiet', 'record', 'room', 'save', 'setmarked', 'waitmarked'];
function changed_extension() {
var app;
var _ext = _$('extensions') ;
tmp = _ext.value.split(']');
app = findapp(_ext.stored_config.catbyname[tmp[0]].subfields[tmp[1]]['app']);
_$('name').value = _ext.stored_config.catbyname[tmp[0]].subfields[tmp[1]]['name'];
_$('features').value = app.name.toLowerCase();
};
function enable_disable_fields(k){
_$('pin').disabled = (k)? false : true;
_$('pinadmin').disabled =(k)? false : true;
}
callbacks.fields2val = function(box, subfields) {
var flags = "";
var xargs="";
var room = '${EXTEN}';
if (subfields['music'] != 'no')
flags += "M";
if (subfields['menu'] != 'no')
flags += 's';
if (subfields['announce'] != 'no')
flags += 'I';
if (subfields['record'] != 'no')
flags += 'r';
if (subfields['waitmarked'] != 'no')
flags += 'w';
if (subfields['setmarked'] != 'no')
flags += 'A';
if (subfields['quiet'] != 'no')
flags += 'q';
if (subfields['room'].length > 0)
room = subfields['room'];
return _$('name').value + ",1,MeetMe(" + room + "|" + flags + ")";
}
callbacks.format = function(t, x) {
var ret;
var tmp;
var options = new Array;
var tmp2, y;
if ((t.name != specialcontext))
return null;
ret = format_extension(_$('extensions'), t, x);
if (ret) {
tmp = t.subfields[x].args.split('|');
if (tmp[1]) {
tmp2 = tmp[1].split('');
for (y=0;y<tmp2.length;y++){ options[tmp2[y]] = 'yes'; }
}
t.subfields[x].room =( tmp[0] == '${EXTEN}' )? '' : tmp[0] ;
t.subfields[x].music = options['M'];
t.subfields[x].menu = options['s'];
t.subfields[x].announce = options['I'];
t.subfields[x].record = options['r'];
t.subfields[x].waitmarked = options['w'];
t.subfields[x].setmarked = options['A'];
t.subfields[x].quiet = options['q'];
}
return ret;
}
callbacks.loaded = function() {
var _ext = _$('extensions');
merge_extensions( _ext , _$('hiddenusers'));
for (x=0;x< _ext.options.length;x++) {
var tmp;
tmp = _ext.options[x].value.split(']');
if (tmp.length > 1) {
if ( _ext.stored_config.catbyname[tmp[0]].subfields[tmp[1]]['app'].toLowerCase() != "meetme") {
//$('extensions').options[x].disabled = true;
_ext.options[x].style.color = "#ABABAB";
_ext.options[x].value= "reserved";
}
}
}
_ext.contentEditable = 'true';
_ext.disabled = 0;
if( navigator.userAgent.indexOf("MSIE") != -1){
_$('advancedw').style.height=130;
togglefeatures = function(){ } ;
}else{
_ext.style.height = "415px";
}
parent.loadscreen(this);
}
callbacks.sortfunc = function(a,b) {
return (a.name < b.name) ? -1 : 1;
}
callbacks.newsubitem = function() {
var tmp = new Object;
var x;
var gen = _$('hiddenusers').stored_config.catbyname['general'];
var _ext = $('extensions') ;
if (gen){
x = gen.fieldbyname['userbase'];
for( var f=0; f < _ext.options.length ; f++ ){
if( x < _ext.options[f].innerHTML.split(' -- ')[0] ){ break; }
x++;
}
}else{
try{
x = ( parseInt( _ext.options[ _ext.options.length - 1 ].innerHTML.split(' -- ')[0] ) ) + 1;
}catch(err){
x = 6000; // a default value if one is not defined in users.conf's general context
}
}
_$('pin').value = '';
_$('pinadmin').value = '';
enable_disable_fields(1);
tmp['name'] = x ;
tmp['music'] = 'yes';
tmp['menu'] = 'no';
tmp['announce'] = 'yes';
tmp['room'] = '';
tmp['>'] = true;
return new Array(specialcontext, 'exten', tmp);
}
callbacks.postselect = function(box, val) {
parent._$('tooltip').innerHTML = parent.tooltip_default ;
var _pv = _$('pin');
var _pa = _$('pinadmin');
_pv.value = "";
_pa.value = "" ;
if( box.selectedIndex == -1){
enable_disable_fields(0);
return true;
}
if(val == "reserved" ){
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;
enable_disable_fields(0);
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("-- check voicemail") ){
//parent.$('tooltip').innerHTML = " <font size=\"-2\" color=\"#FF0000\">Click on \'Voicemail\' panel to edit Voicemail Preferences</font>";
box.selectedIndex = -1;
enable_disable_fields(0);
gui_alert(" You can not edit the selected entry from here.\n Please click on the \'Voicemail\' 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>";
enable_disable_fields(0);
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;
enable_disable_fields(0);
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;
}
temp_selectedexten = _$('name').value;
enable_disable_fields(1);
var f = $('meetme_conf') ;
for ( var r=0; r < f.stored_config.catbyname.rooms.fields.length; r++ ) {
var k = f.stored_config.catbyname.rooms.fields[r].split(",");
if(k[0] == temp_selectedexten ){
_pv.value = k[1] ;
_pa.value = k[2] ;
break;
}
}
}
callbacks.newcategory = function() {
var tmp = null;
var x;
var _ext = _$('extensions') ;
if ( _ext.stored_config.catbyname['general'])
tmp = objcopy( _ext.stored_config.catbyname['general'] );
if (tmp) {
x = tmp.fieldbyname['userbase'];
if (x) {
while( _ext.stored_config.catbyname[x]) x++;
tmp.name = x;
}
}
return tmp;
}
callbacks.beforeSaving = function(){
var _ext = _$('extensions') ;
var _name = _$('name');
if ( _ext.options[_ext.selectedIndex].text == "New Entry" ) {
temp_selectedexten = _name.value ;
}
// check whether the length of extension is valid
if( !_name.value.length ) { gui_alert("Please enter an extension !"); _name.focus(); return false; }
if( localextenlength !=0 && (localextenlength != _name.value.length) ){
gui_alert("Sorry, An Extension must be "+ localextenlength + " digits !");
_name.focus();
return false;
}
if (!check_patternonfields( ['name', 'pin' , 'pinadmin', 'room'] ) ){
return false;
}
if(temp_selectedexten != _name.value ){
for(var k=0; k < _ext.length; k++ ){
var tmp = _ext.options[k].innerHTML.split(' -- ');
if( tmp[0] == _name.value ){
gui_alert("Sorry, an entry named " + _name.value + " already exists!");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -