// vim:noet:sw=4:ts=4:
var offlineStrings;
-offlineStrings = document.getElementById('offlineStrings');
if (typeof main == 'undefined') main = {};
main.menu = function () {
+ netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+ offlineStrings = document.getElementById('offlineStrings');
JSAN.use('util.error'); this.error = new util.error();
JSAN.use('util.window'); this.window = new util.window();
this.w = window;
+ var x = document.getElementById('network_progress');
+ x.setAttribute('count','0');
+ x.addEventListener(
+ 'click',
+ function() {
+ if ( window.confirm(offlineStrings.getString('menu.reset_network_stats')) ) {
+ var y = document.getElementById('network_progress_rows');
+ while(y.firstChild) { y.removeChild( y.lastChild ); }
+ x.setAttribute('mode','determined');
+ x.setAttribute('count','0');
+ }
+ },
+ false
+ );
}
main.menu.prototype = {
['oncommand'],
function() {
obj.data.stash_retrieve();
- obj.window.open(
+ var mframe = obj.window.open(
obj.url_prefix(urls.XUL_MENU_FRAME)
+ '?server='+window.escape(urls.remote),
'main' + obj.window.window_name_increment(),
'chrome,resizable');
+ netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+ mframe.xulG = xulG;
}
],
'cmd_new_tab' : [
obj.data.session = obj.data.previous_session;
obj.data.stash('session');
try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
var cookieUri = ios.newURI("http://" + obj.data.server_unadorned, null, null);
var cookieUriSSL = ios.newURI("https://" + obj.data.server_unadorned, null, null);
['oncommand'],
function() {
obj.data.stash_retrieve();
- obj.window.open(obj.url_prefix(urls.XUL_SURVEY_WIZARD),'survey_wizard','chrome');
+ xulG.window.open(obj.url_prefix(urls.XUL_SURVEY_WIZARD),'survey_wizard','chrome');
}
],
'cmd_public_opac' : [
['oncommand'],
function clear_the_cache() {
try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var cacheClass = Components.classes["@mozilla.org/network/cache-service;1"];
var cacheService = cacheClass.getService(Components.interfaces.nsICacheService);
cacheService.evictEntries(Components.interfaces.nsICache.STORE_ON_DISK);
['oncommand'],
function() {
if (window.confirm(offlineStrings.getString('menu.cmd_shutdown.prompt'))) {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService();
var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
var enumerator = windowManagerInterface.getEnumerator(null);
function(p) {
return function() {
try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if (p
&& p.firstChild
&& ( p.firstChild.nodeName == 'iframe' || p.firstChild.nodeName == 'browser' )
}
},
+ 'network_meter' : {
+ 'inc' : function(app,method) {
+ try {
+ var m = document.getElementById('network_progress');
+ var count = 1 + Number( m.getAttribute('count') );
+ m.setAttribute('mode','undetermined');
+ m.setAttribute('count', count);
+ var rows = document.getElementById('network_progress_rows');
+ var row = document.getElementById('network_progress_tip_'+app+'_'+method);
+ if (!row) {
+ row = document.createElement('row'); row.setAttribute('id','network_progress_tip_'+app+'_'+method);
+ var a = document.createElement('label'); a.setAttribute('value','App:');
+ var b = document.createElement('label'); b.setAttribute('value',app);
+ var c = document.createElement('label'); c.setAttribute('value','Method:');
+ var d = document.createElement('label'); d.setAttribute('value',method);
+ var e = document.createElement('label'); e.setAttribute('value','Total:');
+ var f = document.createElement('label'); f.setAttribute('value','0');
+ f.setAttribute('id','network_progress_tip_total_'+app+'_'+method);
+ var g = document.createElement('label'); g.setAttribute('value','Outstanding:');
+ var h = document.createElement('label'); h.setAttribute('value','0');
+ h.setAttribute('id','network_progress_tip_out_'+app+'_'+method);
+ row.appendChild(a); row.appendChild(b); row.appendChild(c);
+ row.appendChild(d); row.appendChild(e); row.appendChild(f);
+ row.appendChild(g); row.appendChild(h); rows.appendChild(row);
+ }
+ var total = document.getElementById('network_progress_tip_total_'+app+'_'+method);
+ if (total) {
+ total.setAttribute('value', 1 + Number( total.getAttribute('value') ));
+ }
+ var out = document.getElementById('network_progress_tip_out_'+app+'_'+method);
+ if (out) {
+ out.setAttribute('value', 1 + Number( out.getAttribute('value') ));
+ }
+ } catch(E) {
+ dump('network_meter.inc(): ' + E + '\n');
+ }
+ },
+ 'dec' : function(app,method) {
+ try {
+ var m = document.getElementById('network_progress');
+ var count = -1 + Number( m.getAttribute('count') );
+ if (count < 0) count = 0;
+ if (count == 0) m.setAttribute('mode','determined');
+ m.setAttribute('count', count);
+ var out = document.getElementById('network_progress_tip_out_'+app+'_'+method);
+ if (out) {
+ out.setAttribute('value', -1 + Number( out.getAttribute('value') ));
+ }
+ } catch(E) {
+ dump('network_meter.dec(): ' + E + '\n');
+ }
+ }
+ },
+
'set_tab' : function(url,params,content_params) {
var obj = this;
if (!url) url = '/xul/server/';
content_params.new_tab = function(a,b,c) { return obj.new_tab(a,b,c); };
content_params.set_tab = function(a,b,c) { return obj.set_tab(a,b,c); };
content_params.set_tab_name = function(name) { tab.setAttribute('label',(idx + 1) + ' ' + name); };
- content_params.open_chrome_window = function(a,b,c) { return obj.window.open(a,b,c); };
+ content_params.open_chrome_window = function(a,b,c) { return xulG.window.open(a,b,c); };
content_params.url_prefix = function(url) { return obj.url_prefix(url); };
+ content_params.network_meter = obj.network_meter;
+ content_params.chrome_xulG = xulG;
if (params && params.tab_name) content_params.set_tab_name( params.tab_name );
var frame;
'\noverride_params = ' + override_params + '\n_params = ' + _params +
'\nResult #' + (++obj.link_id) + ( f ? ' asynced' : ' synced' ) );
+ if (document.getElementById('network_progress')) {
+ if (g && g.menu && g.menu.network_meter && typeof g.menu.network_meter.inc == 'function') g.menu.network_meter.inc(app,name);
+ } else if (typeof xulG != 'undefined') {
+ if (xulG && xulG.network_meter && typeof xulG.network_meter.inc == 'function') xulG.network_meter.inc(app,name);
+ }
+
var request = new RemoteRequest( app, name );
if (_params && _params.secure) {
request.setSecure(true);
try {
var duration = ( (new Date).getTime() - start_timer )/1000;
if ( obj.get_result(req) == null && duration > obj.network_timeout ) req.cancelled = true;
+
+ if (document.getElementById('network_progress')) {
+ if (g && g.menu && g.menu.network_meter && typeof g.menu.network_meter.dec == 'function') g.menu.network_meter.dec(app,name);
+ } else if (typeof xulG != 'undefined') {
+ if (xulG && xulG.network_meter && typeof xulG.network_meter.dec == 'function') xulG.network_meter.dec(app,name);
+ }
+
var json_string = js2JSON(obj.get_result(req));
obj.error.sdump('D_SES_RESULT','asynced result #'
+ obj.link_id + '\n\n'
request.send(true);
var duration = ( (new Date).getTime() - start_timer )/1000;
if ( obj.get_result(request) == null && duration > obj.network_timeout ) request.cancelled = true;
+
+ if (document.getElementById('network_progress')) {
+ if (g && g.menu && g.menu.network_meter && typeof g.menu.network_meter.dec == 'function') g.menu.network_meter.dec(app,name);
+ } else if (typeof xulG != 'undefined') {
+ if (xulG && xulG.network_meter && typeof xulG.network_meter.dec == 'function') xulG.network_meter.dec(app,name);
+ }
+
} catch(E) {
throw(E);
}
} catch(E) {
throw(E);
}
- }
+ },
+
+ 'ping' : function() {
+ try {
+ JSAN.use('util.file'); JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.init({'via':'stash'});
+ var file = new util.file('ping.bat');
+ var path = file._file.path;
+ file.write_content('truncate+exec',
+ '#!/bin/sh\n' +
+ 'ping -n 15 ' + data.server_unadorned + ' > "' + path + '.txt"\n' + /* windows */
+ 'ping -c 15 ' + data.server_unadorned + ' >> "' + path + '.txt"\n' /* unix */
+ );
+ file.close();
+ file = new util.file('ping.bat');
+
+ var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
+ process.init(file._file);
+
+ var args = [];
+
+ dump('process.run = ' + process.run(true, args, args.length) + '\n');
+
+ file.close();
+
+ var file = new util.file('ping.bat.txt');
+ var output = file.get_content();
+ file.close();
+
+ return output;
+ } catch(E) {
+ alert(E);
+ }
+ }
}
/*