📄 home.html.svn-base
字号:
<!-- * Asterisk-GUI - an Asterisk configuration interface * * Initial login screen * * 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><link href="stylesheets/schwing.css" media="all" rel="Stylesheet" type="text/css" /><script>var localloggedon = -1;var asterisk_guitools = parent.asterisk_guitools;var asterisk_rawmanPath = parent.asterisk_rawmanPath;function updateButtons(){ var f = parent.loggedon; _$('username').disabled = (f)?1:0; _$('secret').disabled = (f)?1:0; _$('logoff').disabled = (f)?0:1; _$('reboot').disabled = (f)?0:1; _$('login').disabled = (f)?1:0; if(!f){ try{ _$('username').focus();}catch(err){ } }}function localinit() { showdiv_statusmessage(); top.document.title = "Asterisk GUI -- Home"; var tmp; var opt = { method: 'get', parameters: "action=ping", asynchronous: true, onComplete: function(t){ var f = t.responseText; if( f.match("Pong")){ _$('statusbar').innerHTML = "<img src='images/tick.gif'><i>Connected!</i>"; loggedOn(); parent.loadscreen(this); return; } if( f.match(parent.asterisk_guipingerror)){ _$('statusbar').innerHTML = "<i>Please login...</i>"; loggedOff(); parent.loadscreen(this); _$('username').focus(); return; } } }; tmp = new Ajax.Request( asterisk_rawmanPath, opt);}function loggedOn() { if ((parent.loggedon == 1) && (localloggedon == 1)){ return; } if(!parent.eventeater.pingstatus){ parent.eventeater.pingstatus = true; parent.pingevery(60); } if(_$('secret').value=="password"){ parent.loggedon = 1; localloggedon = 1; var _ll = parent._$('logoutlink'); _ll.innerHTML = "Logout"; _ll.onclick = parent.Logoff ; _ll.style.display = "" ; parent.gui_alert("You are using the default password provided by AsteriskNOW !! \n\n It is strongly recommended that you change your default password "); window.location.href="options.html?forcepassword=yes"; return; } if( parent.asterisk_guitools_inextconf == 0){ checkWritePermissions(); } setTimeout( function(){ parent.setLoggedOn(1); parent.loggedon = 1; localloggedon = 1; _$('username').className = "input9_disabled"; _$('secret').className = "input9_disabled"; updateButtons(); _$('statusbar').innerHTML = "<img src='images/tick.gif'><i>Connected!</i>"; var _rc = parent._$('reloadconfig'); _rc.innerHTML = "Activate Changes"; _rc.onclick = parent.reloadConfig ; _rc.style.display = "" ; var _ll = parent._$('logoutlink'); _ll.innerHTML = "Logout"; _ll.onclick = parent.Logoff ; _ll.style.display = "" ; }, 1000 );}function loggedOff() { if ((parent.loggedon == 0) && (localloggedon == 0)) return; parent.setLoggedOn(0); parent.loggedon = 0; parent.document.getElementById('logoutlink').innerHTML = " "; localloggedon = 0; _$('username').disabled = 0; _$('secret').disabled = 0; _$('logoff').disabled = 1; _$('login').disabled = 0;}function doLogin() { if( _$('username').value == "" ){ parent.gui_feedback("Please enter a Username"); _$('username').focus(); return true; } if( _$('secret').value == "" ){ parent.gui_feedback("Please enter a password"); _$('secret').focus(); return true; } parent.document.getElementById('login_name').value = _$('username').value ; _$('statusbar').innerHTML = "<i>Logging in...</i>"; parent.astmanEngine.sendRequest('action=login&username=' + encodeURIComponent( _$('username').value ) + "&secret=" + encodeURIComponent(_$('secret').value), afterlogin);}afterlogin = function(msgs) { _$('statusbar').innerHTML = msgs[0].headers['message']; if ( msgs[0].headers['response'] == "Success" ){ parent.gui_feedback("Login Successful",'blue',6000); _$('statusbar').innerHTML = "<img src='images/tick.gif'><i>Connected!</i>"; //parent.astmanEngine.pollEvents(); loggedOn(); }else if( msgs[0].headers['message'] == "Authentication failed" ){ parent.gui_feedback("Invalid Username/Password",'default',6000); _$('username').focus(); _$('username').select(); loggedOff(); }else{ loggedOff(); }};function doLogoff() { parent.Logoff();}function submitOnEnter(e){ if(e.keyCode == 13){ doLogin(); return false; }}function checkWritePermissions(){ // check if gui has write permissions var rand = 'test_' + Math.round(100000*Math.random()); var wa = 'writeaccess'; var chs = new listOfActions(); chs.filename('http.conf'); var c = 0; chs.build_action ( 'newcat', c , rand, '', ''); chs.build_action ( 'append', c , rand, wa, 'yes'); var after = function(){ var httpconfloaded = function(op){ if( op.hasOwnProperty(rand) ){ // has write permissions var uri = build_action('delcat', 0, rand , '', '') ; makerequest('u', 'http.conf', uri, function(t) { checkessentials(); }); }else{ // no write permissions parent.gui_feedback("GUI does not have write access !! <BR> Please check manager.conf",'default',6000); alert("GUI does not have write access !! \n Please check manager.conf"); } } config2json('http.conf',0,httpconfloaded); } chs.callActions(after);}function checkessentials(){ // see if asterisk_guitools exists in extensions.conf //if everything ok set asterisk_guitools_inextconf = 1; var mtd = 'macro-trunkdial'; var updateTrunkDial = function(){ parent.ABOUT_TORELOAD_GUI = true; var after = function(){ // then reload asterisk parent.astmanEngine.cliCommand('dialplan reload', function(t){ gui_feedback("Restarted Asterisk !!",'blue'); top.window.location.reload(); // at this point ztscan call was failed as it needs this context to run, so reload }); }; var chs = new listOfActions(); chs.filename('extensions.conf'); var c = 0; chs.build_action ( 'delcat', c , mtd, '', ''); chs.build_action ( 'newcat', c , mtd, '', ''); chs.build_action ( 'append', c , mtd, 'exten', 's,1,set(CALLERID(all)=${IF($[${LEN(${CALLERID(num)})} > 6]?${CALLERID(all)}:${ARG2})})' ); chs.build_action ( 'append', c , mtd, 'exten', 's,n,Dial(${ARG1})' ); chs.build_action ( 'append', c , mtd, 'exten', 's,n,Goto(s-${DIALSTATUS},1)' ); chs.build_action ( 'append', c , mtd, 'exten', 's-NOANSWER,1,Hangup' ); chs.build_action ( 'append', c , mtd, 'exten', 's-BUSY,1,Hangup' ); chs.build_action ( 'append', c , mtd, 'exten', '_s-.,1,NoOp' ); chs.callActions(after); }; var installguitools = function(){ parent.ABOUT_TORELOAD_GUI = true; var after = function(){ // then reload asterisk parent.astmanEngine.cliCommand('dialplan reload', function(t){ gui_feedback("Restarted Asterisk !!",'blue'); top.window.location.reload(); // at this point ztscan call was failed as it needs this context to run, so reload }); }; var chs = new listOfActions(); chs.filename('extensions.conf'); var c = 0; chs.build_action ( 'newcat', c , asterisk_guitools, '', ''); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'executecommand,1,System(${command})' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'executecommand,n,Hangup()' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'record_vmenu,1,Answer' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'record_vmenu,n,Playback(vm-intro)' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'record_vmenu,n,Record(${var1})' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'record_vmenu,n,Playback(vm-saved)' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'record_vmenu,n,Playback(vm-goodbye)' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'record_vmenu,n,Hangup' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'play_file,1,Answer' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'play_file,n,Playback(${var1})' ); chs.build_action ( 'append', c , asterisk_guitools, 'exten', 'play_file,n,Hangup' ); chs.callActions(after); }; var checkExtconfig = function (op){ if( !op.hasOwnProperty(mtd) || (op[mtd] && !op[mtd][0].beginsWith('exten=s,1,set(CALLERID(all)=${IF($[')) ){ updateTrunkDial(); return; } if( !op.hasOwnProperty(asterisk_guitools) ){ // if no context by name asterisk_guitools installguitools(); }else{ parent.asterisk_guitools_inextconf = 1; } }; config2json('extensions.conf',0,checkExtconfig);}</script><body id="foo" onload="localinit()" topmargin=0 bgcolor="EFEFEF"><div class="mainscreenTitleBar"> <span style="margin-left: 4px;font-weight:bold">Welcome to the Asterisk™ Configuration Panel</span></div><div class="mainscreenContentBox" id="mailboxcontent"><table class="mainscreenTable" width="100%"> <tr valign="top"> <td colspan=2> <table align="center"> <tr> <td colspan="2"><h2>Asterisk™ Configuration Engine</h2></td> <tr> <td>Username:</td> <td><input id="username" class="input9" size=12></td> </tr> <tr> <td>Password:</td> <td><input type="password" id="secret" class="input9" size=12 onKeyPress="submitOnEnter(event)"></td> </tr> <tr> <td colspan=2 align="center"> <div id="statusbar"> <span style="margin-left: 4px;font-weight:bold"> </span> </div> </td> </tr> <tr> <td align='center' colspan='2'> <input type="submit" id="login" value="Login" onClick="doLogin()" class="input"> <input type="submit" id="logoff" value="Logoff" disabled=1 onClick="doLogoff()" class="input"> <input type="submit" id="reboot" value="Reboot" disabled=1 onClick='parent.reboot()' class="input"> </td> </tr> </table> </td> </tr></table></div></body>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -