From 9c953acd04868cc56382f87206fbaf74b9748503 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Sat, 15 Apr 2017 19:14:57 -0700 Subject: [PATCH] `Use Recaptcha v1` will no longer replace the captcha in the original post form. Also stop changing v2 -> v1 in the report form if loaded with the URL for v2. --- src/Posting/Captcha.noscript.coffee | 2 +- src/Posting/Captcha.replace.coffee | 20 +------------------- src/Posting/Captcha.v1.coffee | 26 +++++++++++--------------- src/Posting/Captcha.v2.coffee | 2 +- 4 files changed, 14 insertions(+), 36 deletions(-) diff --git a/src/Posting/Captcha.noscript.coffee b/src/Posting/Captcha.noscript.coffee index 1a2cc1e20..20783b910 100644 --- a/src/Posting/Captcha.noscript.coffee +++ b/src/Posting/Captcha.noscript.coffee @@ -3,7 +3,7 @@ Captcha.noscript = init: -> return if d.cookie.indexOf('pass_enabled=1') >= 0 - return if not (@isEnabled = !!$ '#g-recaptcha, #captchaContainerAlt') + return if not (@isEnabled = !!$ '#g-recaptcha, #captcha-forced-noscript') container = $.el 'div', className: 'captcha-img' diff --git a/src/Posting/Captcha.replace.coffee b/src/Posting/Captcha.replace.coffee index ae712426e..db396594c 100644 --- a/src/Posting/Captcha.replace.coffee +++ b/src/Posting/Captcha.replace.coffee @@ -8,13 +8,6 @@ Captcha.replace = Captcha.v1.create() return - if ( - (Conf[if g.VIEW is 'thread' then 'Use Recaptcha v1' else 'Use Recaptcha v1 on Index'] and location.hostname is 'boards.4chan.org') or - (Conf['Use Recaptcha v1 in Reports'] and location.hostname is 'sys.4chan.org') - ) and Main.jsEnabled - $.ready Captcha.replace.v1 - return - if Conf['Force Noscript Captcha'] and Main.jsEnabled $.ready Captcha.replace.noscript return @@ -26,7 +19,7 @@ Captcha.replace = $.onExists doc, 'iframe', Captcha.replace.iframe noscript: -> - return if not ((original = $ '#g-recaptcha, #captchaContainerAlt') and (noscript = $ 'noscript')) + return if not ((original = $ '#g-recaptcha') and (noscript = $ 'noscript')) span = $.el 'span', id: 'captcha-forced-noscript' $.replace noscript, span @@ -39,17 +32,6 @@ Captcha.replace = else insert() - v1: -> - return unless $.id 'g-recaptcha' - Captcha.v1.replace() - if (link = $.id 'form-link') - $.on link, 'click', -> Captcha.v1.create() - else if location.hostname is 'boards.4chan.org' - form = $.id 'postForm' - form.addEventListener 'focus', (-> Captcha.v1.create()), true - else - Captcha.v1.create() - iframe: (iframe) -> if (lang = Conf['captchaLanguage'].trim()) src = if /[?&]hl=/.test iframe.src diff --git a/src/Posting/Captcha.v1.coffee b/src/Posting/Captcha.v1.coffee index 032fba5cc..446cea881 100644 --- a/src/Posting/Captcha.v1.coffee +++ b/src/Posting/Captcha.v1.coffee @@ -3,7 +3,7 @@ Captcha.v1 = init: -> return if d.cookie.indexOf('pass_enabled=1') >= 0 - return if not (@isEnabled = !!$ '#g-recaptcha, #captchaContainerAlt') + return if not (@isEnabled = !!$ '#g-recaptcha, #captcha-forced-noscript') imgContainer = $.el 'div', className: 'captcha-img' @@ -31,23 +31,20 @@ Captcha.v1 = Captcha.cache.init() $.on d, 'CaptchaCount', @count.bind(@) - @replace() + @script = $.el 'script', + src: '//www.google.com/recaptcha/api/js/recaptcha_ajax.js' + $.add d.head, @script + + container = $.el 'div', + id: 'captchaContainerAlt' + hidden: true + $.add d.body, container + @beforeSetup() @setup() if Conf['Auto-load captcha'] - new MutationObserver(@afterSetup).observe $.id('captchaContainerAlt'), childList: true + new MutationObserver(@afterSetup).observe container, childList: true @afterSetup() # reCAPTCHA might have loaded before the QR. - replace: -> - return if @script - if not (@script = $ 'script[src="//www.google.com/recaptcha/api/js/recaptcha_ajax.js"]', d.head) - @script = $.el 'script', - src: '//www.google.com/recaptcha/api/js/recaptcha_ajax.js' - $.add d.head, @script - if old = $.id 'g-recaptcha' - container = $.el 'div', - id: 'captchaContainerAlt' - $.replace old, container - create: -> cont = $.id 'captchaContainerAlt' return if @occupied @@ -71,7 +68,6 @@ Captcha.v1 = container = document.getElementById 'captchaContainerAlt' options = theme: 'clean' - tabindex: {"boards.4chan.org": 5}[location.hostname] lang: container.dataset.lang if window.Recaptcha window.Recaptcha.create '<%= meta.recaptchaKey %>', container, options diff --git a/src/Posting/Captcha.v2.coffee b/src/Posting/Captcha.v2.coffee index f6bc6f075..a495f1b27 100644 --- a/src/Posting/Captcha.v2.coffee +++ b/src/Posting/Captcha.v2.coffee @@ -3,7 +3,7 @@ Captcha.v2 = init: -> return if d.cookie.indexOf('pass_enabled=1') >= 0 - return if not (@isEnabled = !!$ '#g-recaptcha, #captchaContainerAlt, #captcha-forced-noscript') + return if not (@isEnabled = !!$ '#g-recaptcha, #captcha-forced-noscript') if (@noscript = Conf['Force Noscript Captcha'] or not Main.jsEnabled) $.addClass QR.nodes.el, 'noscript-captcha'