1 dump('entering main/main.js\n');
3 function grant_perms(url) {
4 var perms = "UniversalXPConnect UniversalPreferencesWrite UniversalBrowserWrite UniversalPreferencesRead UniversalBrowserRead";
5 dump('Granting ' + perms + ' to ' + url + '\n');
6 var pref = Components.classes["@mozilla.org/preferences-service;1"]
7 .getService(Components.interfaces.nsIPrefBranch);
9 pref.setCharPref("capability.principal.codebase.p0.granted", perms);
10 pref.setCharPref("capability.principal.codebase.p0.id", url);
11 pref.setBoolPref("dom.disable_open_during_load",false);
12 pref.setBoolPref("browser.popups.showPopupBlocker",false);
17 function clear_the_cache() {
19 var cacheClass = Components.classes["@mozilla.org/network/cache-service;1"];
20 var cacheService = cacheClass.getService(Components.interfaces.nsICacheService);
21 cacheService.evictEntries(Components.interfaces.nsICache.STORE_ON_DISK);
22 cacheService.evictEntries(Components.interfaces.nsICache.STORE_IN_MEMORY);
24 dump(E+'\n');alert(E);
28 function main_init() {
29 dump('entering main_init()\n');
33 if (typeof JSAN == 'undefined') {
35 "The JSAN library object is missing."
38 /////////////////////////////////////////////////////////////////////////////
40 JSAN.errorLevel = "die"; // none, warn, or die
41 JSAN.addRepository('..');
43 //JSAN.use('test.test'); test.test.hello_world();
48 JSAN.use('util.error');
49 G.error = new util.error();
50 G.error.sdump('D_ERROR','Testing');
52 JSAN.use('util.window');
53 G.window = new util.window();
55 JSAN.use('auth.controller');
56 G.auth = new auth.controller( { 'window' : mw } );
58 JSAN.use('OpenILS.data');
59 G.data = new OpenILS.data()
60 G.data.on_error = G.auth.logoff;
61 G.data.entities = entities;
62 G.data.stash('entities');
64 JSAN.use('util.file');
65 G.file = new util.file();
67 G.file.get('ws_info');
68 G.ws_info = G.file.get_object(); G.file.close();
72 G.data.ws_info = G.ws_info; G.data.stash('ws_info');
74 G.auth.on_login = function() {
76 var url = G.auth.controller.view.server_prompt.value || urls.remote;
78 G.data.server_unadorned = url; G.data.stash('server_unadorned'); G.data.stash_retrieve();
80 if (! url.match( '^http://' ) ) url = 'http://' + url;
82 G.data.server = url; G.data.stash('server'); G.data.stash_retrieve();
92 if (G.data.ws_info && G.data.ws_info[G.auth.controller.view.server_prompt.value]) {
93 var deck = document.getElementById('main_deck');
94 var iframe = document.createElement('iframe'); deck.appendChild(iframe);
95 iframe.setAttribute( 'src', url + '/xul/server/main/data.xul' );
96 iframe.contentWindow.xulG = xulG;
99 var deck = G.auth.controller.view.ws_deck;
100 JSAN.use('util.widgets'); util.widgets.remove_children('ws_deck');
101 var iframe = document.createElement('iframe'); deck.appendChild(iframe);
102 iframe.setAttribute( 'src', url + '/xul/server/main/ws_info.xul' );
103 iframe.contentWindow.xulG = xulG;
104 deck.selectedIndex = deck.childNodes.length - 1;
108 G.auth.on_standalone = function() {
109 G.window.open(urls.XUL_STANDALONE,'Offline','chrome,resizable,modal');
112 G.auth.on_debug = function(action) {
115 G.window.open(urls.XUL_DEBUG_CONSOLE,'testconsole','chrome,resizable');
119 alert('cache cleared');
122 alert('debug the debug :D');
128 // XML_HTTP_SERVER will get reset to G.auth.controller.view.server_prompt.value
130 /////////////////////////////////////////////////////////////////////////////
132 var x = document.getElementById('version_label');
133 var version = '/xul/server/'.split(/\//)[2];
134 if (version = 'server') {
135 version = 'versionless debug build';
136 document.getElementById('debug_gb').hidden = false;
138 x.setAttribute('value','Build ID: ' + version);
141 var error = "!! This software has encountered an error. Please tell your friendly " +
142 "system administrator or software developer the following:\n" + E + '\n';
143 try { G.error.sdump('D_ERROR',error); } catch(E) { dump(error); }
146 dump('exiting main_init()\n');
149 dump('exiting main/main.js\n');