diff --git a/4chan_x.js b/4chan_x.js index 0e5f6eeef..e35050d47 100644 --- a/4chan_x.js +++ b/4chan_x.js @@ -85,7 +85,7 @@ 'Sauce': [true, 'Add sauce to images'] }, post: { - 'Cooldown': [true, 'Prevent \'flood detected\' errors (buggy)'], + 'Cooldown': [true, 'Prevent \'flood detected\' errors'], 'Quick Reply': [true, 'Reply without leaving the page'], 'Persistent QR': [false, 'Quick reply won\'t disappear after posting. Only in replies.'] }, @@ -1128,19 +1128,27 @@ return qr.duration = duration; }, cooldownCB: function() { - var submit, submits, _i, _len, _results; + var submit, submits, _i, _len; qr.duration--; submits = $$('#com_submit'); - _results = []; for (_i = 0, _len = submits.length; _i < _len; _i++) { submit = submits[_i]; - _results.push(qr.duration ? submit.value = qr.duration : (submit.disabled = false, submit.value = 'Submit', window.clearInterval(qr.cooldownIntervalID))); + if (qr.duration) { + submit.value = qr.duration; + } else { + submit.disabled = false; + submit.value = 'Submit'; + } + } + if (!qr.duration) { + return window.clearInterval(qr.cooldownIntervalID); } - return _results; }, dialog: function(link) { - var MAX_FILE_SIZE, THREAD_ID, c, challenge, dialog, html, m, mail, name, pass, spoiler, src; + var MAX_FILE_SIZE, THREAD_ID, c, challenge, dialog, html, m, mail, name, pass, spoiler, src, submitDisabled, submitValue; MAX_FILE_SIZE = $('input[name="MAX_FILE_SIZE"]').value; + submitValue = $('#com_submit').value; + submitDisabled = $('#com_submit').disabled ? 'disabled' : ''; THREAD_ID = g.THREAD_ID || $.x('ancestor::div[@class="thread"]/div', link).id; challenge = $('input[name=recaptcha_challenge_field]').value; src = "http://www.google.com/recaptcha/api/image?c=" + challenge; @@ -1148,7 +1156,7 @@ name = (m = c.match(/4chan_name=([^;]+)/)) ? unescape(m[1]) : ''; mail = (m = c.match(/4chan_email=([^;]+)/)) ? unescape(m[1]) : ''; pass = (m = c.match(/4chan_pass=([^;]+)/)) ? unescape(m[1]) : $('input[name=pwd]').value; - html = "
Quick Reply X
"; + html = "
Quick Reply X
"; dialog = ui.dialog('qr', { top: '0px', left: '0px' @@ -1399,7 +1407,7 @@ count.textContent = 404; count.className = 'error'; timer.textContent = ''; - clearInterval(updater.intervalID); + window.clearInterval(updater.intervalID); _ref = $$('input[type=submit]'); for (_i = 0, _len = _ref.length; _i < _len; _i++) { input = _ref[_i]; diff --git a/script.coffee b/script.coffee index 674613be3..d85d04d1f 100644 --- a/script.coffee +++ b/script.coffee @@ -26,7 +26,7 @@ config = 'Image Preloading': [false, 'Preload Images'] 'Sauce': [true, 'Add sauce to images'] post: - 'Cooldown': [true, 'Prevent \'flood detected\' errors (buggy)'] + 'Cooldown': [true, 'Prevent \'flood detected\' errors'] 'Quick Reply': [true, 'Reply without leaving the page'] 'Persistent QR': [false, 'Quick reply won\'t disappear after posting. Only in replies.'] quote: @@ -896,11 +896,15 @@ qr = else submit.disabled = false submit.value = 'Submit' - window.clearInterval qr.cooldownIntervalID + + window.clearInterval qr.cooldownIntervalID unless qr.duration + dialog: (link) -> #maybe should be global MAX_FILE_SIZE = $('input[name="MAX_FILE_SIZE"]').value + submitValue = $('#com_submit').value + submitDisabled = if $('#com_submit').disabled then 'disabled' else '' #FIXME inlined cross-thread quotes THREAD_ID = g.THREAD_ID or $.x('ancestor::div[@class="thread"]/div', link).id challenge = $('input[name=recaptcha_challenge_field]').value @@ -921,7 +925,7 @@ qr =
-
+
@@ -1152,7 +1156,7 @@ updater = count.textContent = 404 count.className = 'error' timer.textContent = '' - clearInterval updater.intervalID + window.clearInterval updater.intervalID for input in $$ 'input[type=submit]' input.disabled = true input.value = 404