var BASE = WEB_URL + "/api/json/"; var AUTH = ""; /* init socket connection */ $.getScript(IO_URL+"/socket.io/socket.io.js", function() { try { if(NO_WEBSOCKETS) { var i = io.transports.indexOf("websocket"); if(i >= 0) io.transports.splice(i, 1); } socket = io.connect(IO_URL); setupCallbacks(); } catch(e) { Callbacks.disconnect(); } }); $("#login").click(showLoginMenu); $("#logout").click(function() { eraseCookie("cytube_uname"); eraseCookie("cytube_session"); document.location.reload(true); }); $("#panels .span12").each(function() { $(this).hide(); }); function menuHandler(liselect, panelselect) { $(liselect).click(function() { $("#panels .span12").each(function() { $(this).hide(); }); $(panelselect).show(); $("#menudd_title").text($(liselect).text()); }); } menuHandler("#show_logview", "#logview"); menuHandler("#show_announce", "#announcepanel"); menuHandler("#show_gbans", "#gbanpanel"); menuHandler("#show_userlookup", "#userlookup"); function getSyslog() { $.ajax(WEB_URL+"/api/plain/readlog?type=sys&"+AUTH).done(function(data) { $("#log").text(data); }); } $("#syslog").click(getSyslog); function getErrlog() { $.ajax(WEB_URL+"/api/plain/readlog?type=err&"+AUTH).done(function(data) { $("#log").text(data); }); } $("#errlog").click(getErrlog); function getChanlog() { var chan = $("#channame").val(); $.ajax(WEB_URL+"/api/plain/readlog?type=channel&channel="+chan+"&"+AUTH).done(function(data) { $("#log").text(data); }); } $("#chanlog").click(getChanlog); $("#channame").keydown(function(ev) { if(ev.keyCode == 13) { getChanlog(); } }); $("#announce_submit").click(function() { socket.emit("acp-announce", { title: $("#announce_title").val(), text: $("#announce_text").val() }); $("#announce_title").val(""), $("#announce_text").val("") }); $("#gban_submit").click(function() { socket.emit("acp-global-ban", { ip: $("#gban_ip").val(), note: $("#gban_note").val() }); $("#gban_ip").val(""); $("#gban_note").val(""); }); $("#userlookup_submit").click(function() { socket.emit("acp-lookup-user", $("#userlookup_name").val()); }); function setupCallbacks() { socket.on("connect", function() { if(NAME && SESSION) { socket.emit("login", { name: NAME, session: SESSION }); } }); socket.on("login", function(data) { if(!data.success) { if(data.error != "Invalid session") { alert(data.error); } } else { $("#welcome").text("Logged in as " + data.name); $("#loginform").css("display", "none"); $("#logoutform").css("display", ""); $("#loggedin").css("display", ""); SESSION = data.session || ""; CLIENT.name = data.name; CLIENT.logged_in = true; socket.emit("acp-init"); if(SESSION) { AUTH = "name=" + CLIENT.name + "&session=" + SESSION; createCookie("cytube_uname", CLIENT.name, 7); createCookie("cytube_session", SESSION, 7); } } }); socket.on("rank", function(data) { CLIENT.rank = data; }); socket.on("announcement", function(data) { var al = makeAlert(data.title, data.text) .insertAfter($("#announce_current_h3")); al.find(".close").click(function() { socket.emit("acp-announce-clear"); }); }); socket.on("acp-global-banlist", function(data) { $("#gbanpanel tbody").remove(); for(var ip in data) { var tr = $("").appendTo($("#gbanpanel table")); (function(ip, note) { $("