From: Chris Porter Date: Sat, 28 Mar 2009 20:30:00 +0000 (+0000) Subject: Add irc:// url parsing support. X-Git-Url: https://jfr.im/git/irc/quakenet/qwebirc.git/commitdiff_plain/8d614417d5d0c738b1dd6e6cb774667beb3b306b Add irc:// url parsing support. --- diff --git a/js/qwebircinterface.js b/js/qwebircinterface.js index f4ba092..90673f8 100644 --- a/js/qwebircinterface.js +++ b/js/qwebircinterface.js @@ -31,26 +31,34 @@ qwebirc.ui.Interface = new Class({ if(this.options.searchURL) { var args = qwebirc.util.parseURI(String(document.location)); - var chans = args["channels"]; - var nick = args["nick"]; + var url = args["url"]; + var chans, nick = args["nick"]; + + if($defined(url)) { + ichans = this.parseIRCURL(url); + if($defined(chans) && chans != "") + canAutoConnect = true; + } else { + chans = args["channels"]; - var canAutoConnect = false; + var canAutoConnect = false; - if(chans) { - var cdata = chans.split(" "); + if(chans) { + var cdata = chans.split(" "); - chans = cdata[0].split(","); - var chans2 = []; + chans = cdata[0].split(","); + var chans2 = []; - for(i=0;i -1) { + queryArgs = qwebirc.util.parseURI(pathComponents[3]); + args = pathComponents[3].splitMax("?", 2)[0]; + } else { + args = pathComponents[3]; + } + var parts = args.split(","); + + var channel = parts[0]; + if(channel.charAt(0) != "#") + channel = "#" + channel; + + var not_supported = [], needkey = false, key; + for(var i=1;i 0) + alert("The following IRC URL components were not accepted: " + not_supported.join(", ") + "."); + + return channel; } });