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 tableResort(tbl, sortby) { if(tbl.data("sortby") == sortby) tbl.data("sort_desc", !tbl.data("sort_desc")); else tbl.data("sortby", sortby) loadPage(tbl, 0); } $("#userlookup_uid").click(function() { tableResort($("#userlookup table"), "id"); }); $("#userlookup_uname").click(function() { tableResort($("#userlookup table"), "uname"); }); $("#userlookup_rank").click(function() { tableResort($("#userlookup table"), "global_rank"); }); $("#userlookup_email").click(function() { tableResort($("#userlookup table"), "email"); }); menuHandler("#show_chanloaded", "#channellist"); $("#show_chanloaded").click(function() { socket.emit("acp-list-loaded"); }); $("#listloaded_refresh").click(function() { socket.emit("acp-list-loaded"); }); menuHandler("#show_actionlog", "#actionlog"); $("#show_actionlog").click(getActionLog); $("#actionlog_filter").click(function() { var actions = $(this).val(); $("#actionlog tbody").remove(); $("#actionlog table").data("entries").forEach(function(e) { if(typeof e.action == "string" && actions.indexOf(e.action) == -1) return; if(typeof e.action == "object" && "0" in e.action && actions.indexOf(e.action[0]) == -1) return; var tr = $("").appendTo($("#actionlog table")); $("").text(e.ip).appendTo(tr); $("").text(e.name).appendTo(tr); $("").text(e.action).appendTo(tr); $("").text(new Date(e.time).toTimeString()).appendTo(tr); }); }); $("#actionlog_clear").click(function() { socket.emit("acp-actionlog-clear"); }); 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 getActionLog() { $.ajax(WEB_URL+"/api/plain/readlog?type=action&"+AUTH).done(function(data) { var entries = []; var actions = []; data.split("\n").forEach(function(ln) { var entry; try { entry = JSON.parse(ln); if(typeof entry.action == "string") { if(actions.indexOf(entry.action) == -1) actions.push(entry.action); } else if(typeof entry.action == "object" && "0" in entry.action) { if(actions.indexOf(entry.action[0]) == -1) actions.push(entry.action[0]); } entries.push(entry); } catch(e) { } }); entries.sort(function(a, b) { return a.time == b.time ? 0 : (a.time < b.time ? 1 : -1); }); $("#actionlog table").data("entries", entries); $("#actionlog_filter").html(""); actions.sort(function(a, b) { return a == b ? 0 : (a < b ? -1 : 1); }); actions.forEach(function(a) { $("