!7 sS html(S uri, SS params) { if (!webAuthed()) { S editPW = trim(loadSecretTextFile("#1002192", "edit-pw")); if (empty(editPW)) ret "No special password set and you're not master-authed"; if (!eq(params.get("pw"), editPW)) ret "No password, bugger :)"; } S botID = params.get("bot"); if (nempty(params.get("clear"))) { clearPrintLog(botID); ret hrefreshWithParams(myLink_nonRaw("/"), bot := botID); } StringBuffer buf; if (nempty(botID)) { O bot = getBot(botID); buf = (StringBuffer) getOpt(bot, "local_log"); print("1002241: Bot ID = " + botID + ", bot: " + bot + ", buf: " + (buf != null)); } else buf = (StringBuffer) get(mainBot, "print_log"); if (buf == null) ret "Bot not found"; int size = buf.length(); ret htag("p", ) + hform(p("Log size: " + size + " " + hsubmit("Clear") + hhidden("bot", botID) + hhidden("clear", "1")), method := "POST") + htag("pre", htmlencode(buf)); } answer { if "print log size" { StringBuffer buf = cast get(mainBot, "print_log"); ret str(buf.length()); } if (!webAuthed()) ret null; if "clear print log" { ret "OK, cleared " + clearPrintLog(null) + " characters"; } } static int clearPrintLog(S botID) { O bot = nempty(botID) ? getBot(botID) : mainBot; StringBuffer buf = cast get(bot, "local_log"); int len = buf.length(); buf.setLength(0); print("Buffer of " + botID + ": " + identityHashCode(buf) + ", " + len); ret len; }