From 53127cd8c627b68eec02d252da5d91b5ec6a2b69 Mon Sep 17 00:00:00 2001 From: noface Date: Fri, 16 Nov 2012 19:06:41 +0100 Subject: [PATCH] Corrections. --- 4chan_x.user.js | 32 +++++++++++++++----------------- changelog | 2 ++ script.coffee | 37 +++++++++++++++++++------------------ 3 files changed, 36 insertions(+), 35 deletions(-) diff --git a/4chan_x.user.js b/4chan_x.user.js index 840dbdbe3..7ba6d0511 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -1738,7 +1738,7 @@ $.on(link.firstChild, 'click', function() { QR.open(); if (!g.REPLY) { - QR.threadSelector.value = g.BOARD !== 'f' ? 'new' : '9999'; + QR.threadSelector.value = g.BOARD === 'f' ? '9999' : 'new'; } return $('textarea', QR.el).focus(); }); @@ -2418,10 +2418,10 @@ id = thread.id.slice(1); threads += ""; } - QR.threadSelector = g.BOARD !== 'f' ? $.el('select', { + QR.threadSelector = g.BOARD === 'f' ? $('select[name=filetag]').cloneNode(true) : $.el('select', { innerHTML: threads, title: 'Create a new thread / Reply to a thread' - }) : $('select[name="filetag"]'); + }); $.prepend($('.move > span', QR.el), QR.threadSelector); $.on(QR.threadSelector, 'mousedown', function(e) { return e.stopPropagation(); @@ -2472,7 +2472,7 @@ })); }, submit: function(e) { - var callbacks, captcha, captchas, challenge, err, m, opts, post, reply, response, textOnly, threadID, _ref; + var callbacks, captcha, captchas, challenge, err, filetag, m, opts, post, reply, response, textOnly, threadID, _ref; if (e != null) { e.preventDefault(); } @@ -2483,19 +2483,23 @@ } QR.abort(); reply = QR.replies[0]; - if (!((g.BOARD === 'f') && !g.REPLY)) { + if (g.BOARD === 'f' && !g.REPLY) { + filetag = QR.threadSelector.value; + threadID = 'new'; + } else { threadID = g.THREAD_ID || QR.threadSelector.value; } if (threadID === 'new') { + threadID = null; if (((_ref = g.BOARD) === 'vg' || _ref === 'q') && !reply.sub) { err = 'New threads require a subject.'; } else if (!(reply.file || (textOnly = !!$('input[name=textonly]', $.id('postForm'))))) { err = 'No file selected.'; + } else if (g.BOARD === 'f' && filetag === '9999') { + err = 'Invalid tag specified.'; } - } else { - if (!(reply.com || reply.file)) { - err = 'No file selected.'; - } + } else if (!(reply.com || reply.file)) { + err = 'No file selected.'; } if (QR.captchaIsEnabled && !err) { captchas = $.get('captchas', []); @@ -2546,7 +2550,7 @@ sub: reply.sub, com: reply.com, upfile: reply.file, - filetag: !g.REPLY ? QR.threadSelector.value : void 0, + filetag: filetag, spoiler: reply.spoiler, textonly: textOnly, mode: 'regist', @@ -2594,10 +2598,7 @@ err = $.el('span', { innerHTML: /^You were issued a warning/.test($('.boxcontent', doc).textContent.trim()) ? "You were issued a warning on " + bs[0].innerHTML + " as " + bs[3].innerHTML + ".
Warning reason: " + bs[1].innerHTML : "You are banned! ;_;
Please click HERE to see the reason." }); - } else if (err = doc.getElementById('errmsg') || (err = $('center', doc))) { - if ($('font', err)) { - err.textContent = err.textContent.replace(/Return$/, ''); - } + } else if (err = doc.getElementById('errmsg')) { if ((_ref = $('a', err)) != null) { _ref.target = '_blank'; } @@ -2605,9 +2606,6 @@ err = 'Connection error with sys.4chan.org.'; } if (err) { - if (err.nodeName === 'CENTER') { - err = err.textContent; - } if (/captcha|verification/i.test(err.textContent) || err === 'Connection error with sys.4chan.org.') { if (/mistyped/i.test(err.textContent)) { err.textContent = 'Error: You seem to have mistyped the CAPTCHA.'; diff --git a/changelog b/changelog index 68c432a54..3ccfff60b 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,6 @@ master +- noface + Added tags support on /f/. 2.36.1 - noface diff --git a/script.coffee b/script.coffee index 5d69ccc5f..6fc861a8f 100644 --- a/script.coffee +++ b/script.coffee @@ -1343,11 +1343,11 @@ QR = $.on link.firstChild, 'click', -> QR.open() unless g.REPLY - QR.threadSelector.value = - unless g.BOARD is 'f' - 'new' - else - '9999' + QR.threadSelector.value = + if g.BOARD is 'f' + '9999' + else + 'new' $('textarea', QR.el).focus() $.before $.id('postForm'), link @@ -1891,12 +1891,12 @@ QR = id = thread.id[1..] threads += "" QR.threadSelector = - unless g.BOARD is 'f' + if g.BOARD is 'f' + $('select[name=filetag]').cloneNode true + else $.el 'select' innerHTML: threads title: 'Create a new thread / Reply to a thread' - else - $ 'select[name="filetag"]' $.prepend $('.move > span', QR.el), QR.threadSelector $.on QR.threadSelector, 'mousedown', (e) -> e.stopPropagation() $.on $('#autohide', QR.el), 'change', QR.toggleHide @@ -1942,17 +1942,22 @@ QR = QR.abort() reply = QR.replies[0] - unless (g.BOARD is 'f') and not g.REPLY + if g.BOARD is 'f' and not g.REPLY + filetag = QR.threadSelector.value + threadID = 'new' + else threadID = g.THREAD_ID or QR.threadSelector.value # prevent errors if threadID is 'new' + threadID = null if g.BOARD in ['vg', 'q'] and !reply.sub err = 'New threads require a subject.' else unless reply.file or textOnly = !!$ 'input[name=textonly]', $.id 'postForm' - err = 'No file selected.' - else - unless reply.com or reply.file + err = 'No file selected.' + else if g.BOARD is 'f' and filetag is '9999' + err = 'Invalid tag specified.' + else unless reply.com or reply.file err = 'No file selected.' if QR.captchaIsEnabled and !err @@ -2004,7 +2009,7 @@ QR = sub: reply.sub com: reply.com upfile: reply.file - filetag: QR.threadSelector.value unless g.REPLY + filetag: filetag spoiler: reply.spoiler textonly: textOnly mode: 'regist' @@ -2047,16 +2052,12 @@ QR = "You were issued a warning on #{bs[0].innerHTML} as #{bs[3].innerHTML}.
Warning reason: #{bs[1].innerHTML}" else "You are banned! ;_;
Please click HERE to see the reason." - else if err = doc.getElementById('errmsg') or err = $('center', doc) # error! - if $ 'font', err - err.textContent = err.textContent.replace /Return$/, '' + else if err = doc.getElementById 'errmsg' # error! $('a', err)?.target = '_blank' # duplicate image link else unless msg = $ 'b', doc err = 'Connection error with sys.4chan.org.' if err - if err.nodeName is 'CENTER' - err = err.textContent if /captcha|verification/i.test(err.textContent) or err is 'Connection error with sys.4chan.org.' # Remove the obnoxious 4chan Pass ad. if /mistyped/i.test err.textContent