X-Git-Url: https://jfr.im/git/irc/quakenet/qwebirc.git/blobdiff_plain/9c4fe2536841d3c6311b71cee9f067eaa32e9187..015ab79ac65cca3c99282e6c735412131f92e4f9:/js/qwebircinterface.js diff --git a/js/qwebircinterface.js b/js/qwebircinterface.js index 7be8fa7..4655e0f 100644 --- a/js/qwebircinterface.js +++ b/js/qwebircinterface.js @@ -1,9 +1,11 @@ function qwebirc_ui_onbeforeunload(e) { /* IE sucks */ - var message = "This action will close all active IRC connections."; - var e = e || window.event; - if(e) - e.returnValue = message; - return message; + if(qwebirc.connected) { + var message = "This action will close all active IRC connections."; + var e = e || window.event; + if(e) + e.returnValue = message; + return message; + } } qwebirc.ui.Interface = new Class({ @@ -27,11 +29,17 @@ qwebirc.ui.Interface = new Class({ uiOptionsArg: null, nickValidation: null, dynamicBaseURL: "/", - staticBaseURL: "/" + staticBaseURL: "/", + cloak: false, + logoURL: null, + accountWhoisCommand: null }, initialize: function(element, ui, options) { this.setOptions(options); - var extractHost = function(uri) { + var extractHost = function() { + var uri = document.location.href; + + /* IE6 doesn't have document.origin ... */ var start = uri.indexOf('?'); if(start != -1) uri = uri.substring(0, start); @@ -39,13 +47,17 @@ qwebirc.ui.Interface = new Class({ if(start != -1) uri = uri.substring(0, start); + if(QWEBIRC_DEBUG && uri.endsWith(".html")) { + var last = uri.lastIndexOf("/"); + uri = uri.substring(0, last + 1); + } if(uri.substr(uri.length - 1) != "/") uri = uri + "/"; return uri; }; - options.baseURL = extractHost(document.location.href); + options.baseURL = extractHost(); /* HACK */ qwebirc.global = { @@ -55,9 +67,9 @@ qwebirc.ui.Interface = new Class({ nicknameValidator: $defined(options.nickValidation) ? new qwebirc.irc.NicknameValidator(options.nickValidation) : new qwebirc.irc.DummyNicknameValidator() }; - window.addEvent("domready", function() { var callback = function(options) { + options.cloak = ui_.options.cloak; var IRC = new qwebirc.irc.IRCClient(options, ui_); IRC.connect(); window.onbeforeunload = qwebirc_ui_onbeforeunload; @@ -80,18 +92,18 @@ qwebirc.ui.Interface = new Class({ this.options.tsaturation = this.getSaturationArg(args, "t"); this.options.tlightness = this.getLightnessArg(args, "t"); - if($defined(args["uio"])) - this.options.uiOptionsArg = args["uio"]; + if(args.contains("uio")) + this.options.uiOptionsArg = args.get("uio"); - var url = args["url"]; - var chans, nick = args["nick"]; + var url = args.get("url"); + var chans, nick = args.get("nick"); if($defined(url)) { ichans = this.parseIRCURL(url); if($defined(chans) && chans != "") canAutoConnect = true; } else { - chans = args["channels"]; + chans = args.get("channels"); var canAutoConnect = false; @@ -103,8 +115,9 @@ qwebirc.ui.Interface = new Class({ for(var i=0;i