From 85ce14091a07d067c102623112315f0021d2f613 Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 4 May 2016 13:03:32 -0400 Subject: [PATCH] disable replybox on thread and board pages, default to overchan.random for livechand ukko pages --- contrib/js/reply.js | 122 ++++++++++++++++++++----------------- contrib/static/nntpchan.js | 7 ++- 2 files changed, 71 insertions(+), 58 deletions(-) diff --git a/contrib/js/reply.js b/contrib/js/reply.js index 6194807..b4f72fa 100644 --- a/contrib/js/reply.js +++ b/contrib/js/reply.js @@ -146,10 +146,15 @@ DynReply.prototype.update = function() { if (this.prefix) { // update captcha this.updateCaptcha(); - if (this.board && this.roothash) { + if (this.board) { // update post form var ref = document.getElementById("postform_reference"); - ref.setAttribute("value", this.roothash); + + if (this.roothash) { + ref.setAttribute("value", this.roothash); + } else { + ref.setAttribute("value", ""); + } this.url = this.prefix + "post/" + this.board + "?t=json"; } } @@ -346,63 +351,70 @@ function inject_hover_for_element(elem) { function init(prefix) { // inject posthover ... inject_hover_for_element(document); - // initialize replyto widget - var rpl = getReplyTo(); - rpl.setPrefix(prefix); + if ( /\.html$/.test(document.location.pathname) ) { + // board / thread page + } else { + // ukko / livechan page + var rpl = getReplyTo(); + rpl.setPrefix(prefix); + // set livechan + rpl.setBoard("overchan.random"); + rpl.update(); + rpl.updateCaptcha(); + + // position replyto widget + var e = rpl.elem; + var mouseDownX, mouseDownY; + + var $dragging = null; - // position replyto widget - var e = rpl.elem; - var mouseDownX, mouseDownY; - - var $dragging = null; + $(rpl.elem).on("mousemove", function(ev) { + if ($dragging) { + var x = ev.pageX - $(this).width() / 2, + y = ev.pageY - $(this).height() / 2; + $dragging.offset({ + top: y, + left: x + }); + } + }); - $(rpl.elem).on("mousemove", function(ev) { - if ($dragging) { - var x = ev.pageX - $(this).width() / 2, - y = ev.pageY - $(this).height() / 2; - $dragging.offset({ - top: y, - left: x + + $(rpl.elem).on("mousedown", e, function (ev) { + $dragging = $(rpl.elem); + }); + + $(rpl.elem).on("mouseup", function (e) { + $dragging = null; + }); + + // add replyto post handlers + e = document.getElementById("postform_submit"); + var postit = function() { + var f = document.querySelector("form"); + // do ajax request to post data + var r = getReplyTo(); + r.showMessage("posting... "); + r.post(function(j) { + if(j.error) { + // an error happened + r.showError(j.error); + } else { + // we're good + r.showMessage("posted :^)"); + r.updateCaptcha(); + r.clear(); + } + }, function(err) { + r.showError(err); + r.clearSolution(); }); } - }); - - - $(rpl.elem).on("mousedown", e, function (ev) { - $dragging = $(rpl.elem); - }); - - $(rpl.elem).on("mouseup", function (e) { - $dragging = null; - }); - - // add replyto post handlers - e = document.getElementById("postform_submit"); - var postit = function() { var f = document.querySelector("form"); - // do ajax request to post data - var r = getReplyTo(); - r.showMessage("posting... "); - r.post(function(j) { - if(j.error) { - // an error happened - r.showError(j.error); - } else { - // we're good - r.showMessage("posted :^)"); - r.updateCaptcha(); - r.clear(); - } - }, function(err) { - r.showError(err); - r.clearSolution(); - }); - } - var f = document.querySelector("form"); - f.onsubmit = function() { - postit(); - return false; - } - + f.onsubmit = function() { + postit(); + return false; + } + } } diff --git a/contrib/static/nntpchan.js b/contrib/static/nntpchan.js index 9b3e692..96cd855 100644 --- a/contrib/static/nntpchan.js +++ b/contrib/static/nntpchan.js @@ -660,7 +660,8 @@ function DynReply(existingElem){if(existingElem){this.elem=existingElem;this.for var elem=document.createElement("div");elem.setAttribute("id","postform_container");this.elem=elem;this.form=document.createElement("form");this.form.enctype="multipart/form-data";this.form.name="post";this.form.method="post";elem=document.createElement("input");elem.setAttribute("id","postform_reference");elem.name="reference";elem.type="hidden";this.form.appendChild(elem);var table=document.createElement("table");table.setAttribute("class","postform");var tbody=document.createElement("tbody");var span=document.createElement("span");elem=document.createElement("input");elem.setAttribute("name","name");elem.setAttribute("value","Anonymous");elem.setAttribute("id","postform_name");span.appendChild(elem);var err_elem=document.createElement("span");err_elem.setAttribute("id","postform_msg");span.appendChild(err_elem);this._error=err_elem;table_insert_row(tbody,document.createTextNode("Name"),[span]) elem=document.createElement("input");elem.setAttribute("name","subject");elem.setAttribute("value","");elem.setAttribute("id","postform_subject");var submit=document.createElement("input");submit.setAttribute("value","reply");submit.setAttribute("class","button");submit.setAttribute("type","submit");submit.setAttribute("id","postform_submit");table_insert_row(tbody,document.createTextNode("Subject"),[elem,submit]);elem=document.createElement("textarea");elem.setAttribute("id","postform_message");elem.setAttribute("name","message");elem.setAttribute("cols","40");elem.setAttribute("rows","5");table_insert_row(tbody,document.createTextNode("Comment"),[elem]);elem=document.createElement("input");elem.setAttribute("class","postform_attachment");elem.setAttribute("id","postform_attachments");elem.setAttribute("type","file");elem.setAttribute("name","attachment_uploaded");elem.setAttribute("multiple","multiple");table_insert_row(tbody,document.createTextNode("Files"),[elem]);elem=document.createElement("input");elem.setAttribute("type","checkbox");elem.setAttribute("name","dubs");table_insert_row(tbody,document.createTextNode("Get Dubs"),[elem]);elem=document.createElement("img");elem.setAttribute("id","captcha_img");elem.alt="captcha";table_insert_row(tbody,document.createTextNode("Captcha"),[elem]);elem=document.createElement("input");elem.name="captcha";elem.autocomplete="off";elem.setAttribute("id","captcha_solution");table_insert_row(tbody,document.createTextNode("Solution"),[elem]) table.appendChild(tbody);this.form.appendChild(table);this.elem.appendChild(this.form);document.body.appendChild(this.elem);this.board=null;this.roothash=null;this.prefix=null;this.url=null;this.x=1;this.y=1;} -DynReply.prototype.update=function(){if(this.prefix){this.updateCaptcha();if(this.board&&this.roothash){var ref=document.getElementById("postform_reference");ref.setAttribute("value",this.roothash);this.url=this.prefix+"post/"+this.board+"?t=json";}}} +DynReply.prototype.update=function(){if(this.prefix){this.updateCaptcha();if(this.board){var ref=document.getElementById("postform_reference");if(this.roothash){ref.setAttribute("value",this.roothash);}else{ref.setAttribute("value","");} +this.url=this.prefix+"post/"+this.board+"?t=json";}}} DynReply.prototype.show=function(){console.log("show dynreply");this.update();this.elem.style.display='inline';} DynReply.prototype.hide=function(){console.log("hide dynreply");this.elem.style.display="none";} DynReply.prototype.clear=function(){this.clearSolution();this.clearPostbox();} @@ -687,8 +688,8 @@ parent.appendChild(wrapper);parent.backlink=false;},function(msg){var wrapper=do parent.backlink=true;}};parent.backlink=true;} function inject_hover_for_element(elem){var elems=elem.getElementsByClassName("backlink");var ls=[];var l=elems.length;for(var idx=0;idx