diff --git a/CHANGELOG.md b/CHANGELOG.md index d289f987e..1dcc8093a 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ The links to individual versions below are to copies of the script with the upda ### v1.11.1 +**v1.11.1.1** *(2015-06-22)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.1.1/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.1.1/builds/4chan-X-noupdate.crx "Chromium version")] +- Add `Use Recaptcha v2 in Reports` option to use the image selection captcha in the report window. + **v1.11.1.0** *(2015-06-22)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.1.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.1.0/builds/4chan-X-noupdate.crx "Chromium version")] - Based on v1.11.0.9. - Add partial support for Midori and other browsers whose userscript engines don't implement the Greasemonkey API. Some features will not work in these browsers. diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx index d8f3962a6..832d3fbd3 100644 Binary files a/builds/4chan-X-beta.crx and b/builds/4chan-X-beta.crx differ diff --git a/builds/4chan-X-beta.meta.js b/builds/4chan-X-beta.meta.js index 9d1836079..5eff7461a 100644 --- a/builds/4chan-X-beta.meta.js +++ b/builds/4chan-X-beta.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X beta -// @version 1.11.1.0 +// @version 1.11.1.1 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X diff --git a/builds/4chan-X-beta.user.js b/builds/4chan-X-beta.user.js index 20cd12e5c..79f781d79 100644 --- a/builds/4chan-X-beta.user.js +++ b/builds/4chan-X-beta.user.js @@ -1,7 +1,7 @@ // Generated by CoffeeScript // ==UserScript== // @name 4chan X beta -// @version 1.11.1.0 +// @version 1.11.1.1 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -221,7 +221,7 @@ 'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher and hides the watcher by default.', 1], 'Mark New IPs': [false, 'Label each post from a new IP with the thread\'s current IP count.'] }, - 'Posting': { + 'Posting and Captchas': { 'Quick Reply': [true, 'All-in-one form to reply, create threads, automate dumping and more.'], 'QR Shortcut': [true, 'Add a shortcut to the header to toggle the QR.', 1], 'Persistent QR': [true, 'The Quick reply won\'t disappear after posting.', 1], @@ -239,7 +239,8 @@ 'Auto-load captcha': [false, 'Automatically load the captcha in the QR even if your post is empty.', 1], 'Post on Captcha Completion': [false, 'Submit the post immediately when the captcha is completed.', 1], 'Bottom QR Link': [true, 'Places a link on the bottom of threads to open the QR.', 1], - 'Captcha Fixes': [true, 'Make captcha easier to use, especially with the keyboard.'] + 'Captcha Fixes': [true, 'Make captcha easier to use, especially with the keyboard.'], + 'Use Recaptcha v2 in Reports': [false, 'Use the image selection captcha in the report window.'] }, 'Quote Links': { 'Quote Backlinks': [true, 'Add quote backlinks.'], @@ -402,7 +403,7 @@ doc = d.documentElement; g = { - VERSION: '1.11.1.0', + VERSION: '1.11.1.1', NAMESPACE: '4chan X.', boards: {} }; @@ -12281,7 +12282,7 @@ if (!(post.isDead || (post.thread.isDead && !post.thread.isArchived))) { a.textContent = 'Report this post'; ReportLink.url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post; - ReportLink.height = 200; + ReportLink.height = 180; } else if (Conf['Archive Report']) { a.textContent = 'Report to archive'; ReportLink.url = Redirect.to('report', { @@ -15917,7 +15918,10 @@ if (Conf['Archive Report']) { Report.archive(); } - if ($.hasClass(doc, 'js-enabled')) { + if (Conf['Use Recaptcha v2 in Reports']) { + Report.captchaV2(); + } + if (Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled')) { return new MutationObserver(function() { return Report.fit('.gc-bubbleDefault'); }).observe(d.body, { @@ -15929,6 +15933,25 @@ return Report.fit('body'); } }, + captchaV2: function() { + var container, lang, old, script, url; + if (!(old = $.id('captchaContainerAlt'))) { + return; + } + container = $.el('div', { + className: 'g-recaptcha' + }); + container.dataset.sitekey = '6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc'; + $.replace(old, container); + url = 'https://www.google.com/recaptcha/api.js'; + if (lang = Conf['captchaLanguage'].trim()) { + url += "?hl=" + (encodeURIComponent(lang)); + } + script = $.el('script', { + src: url + }); + return $.add(d.head, script); + }, fit: function(selector) { var dy, el; if (!(el = $(selector, doc))) { @@ -15968,8 +15991,7 @@ $.add(d.body, [$.tn(' ['), link, $.tn(']')]); if (types = $.id('reportTypes')) { return $.on(types, 'change', function(e) { - var ref; - return $('form').action = (ref = e.target.value) === 'illegal' || ref === 'spam' ? '#redirect' : ''; + return $('form').action = e.target.value === 'illegal' ? '#redirect' : ''; }); } } diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx index d2e6f135f..d020afa94 100644 Binary files a/builds/4chan-X-noupdate.crx and b/builds/4chan-X-noupdate.crx differ diff --git a/builds/4chan-X-noupdate.user.js b/builds/4chan-X-noupdate.user.js index 69cdb552f..65af27a6c 100644 --- a/builds/4chan-X-noupdate.user.js +++ b/builds/4chan-X-noupdate.user.js @@ -1,7 +1,7 @@ // Generated by CoffeeScript // ==UserScript== // @name 4chan X -// @version 1.11.1.0 +// @version 1.11.1.1 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -220,7 +220,7 @@ 'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher and hides the watcher by default.', 1], 'Mark New IPs': [false, 'Label each post from a new IP with the thread\'s current IP count.'] }, - 'Posting': { + 'Posting and Captchas': { 'Quick Reply': [true, 'All-in-one form to reply, create threads, automate dumping and more.'], 'QR Shortcut': [true, 'Add a shortcut to the header to toggle the QR.', 1], 'Persistent QR': [true, 'The Quick reply won\'t disappear after posting.', 1], @@ -238,7 +238,8 @@ 'Auto-load captcha': [false, 'Automatically load the captcha in the QR even if your post is empty.', 1], 'Post on Captcha Completion': [false, 'Submit the post immediately when the captcha is completed.', 1], 'Bottom QR Link': [true, 'Places a link on the bottom of threads to open the QR.', 1], - 'Captcha Fixes': [true, 'Make captcha easier to use, especially with the keyboard.'] + 'Captcha Fixes': [true, 'Make captcha easier to use, especially with the keyboard.'], + 'Use Recaptcha v2 in Reports': [false, 'Use the image selection captcha in the report window.'] }, 'Quote Links': { 'Quote Backlinks': [true, 'Add quote backlinks.'], @@ -401,7 +402,7 @@ doc = d.documentElement; g = { - VERSION: '1.11.1.0', + VERSION: '1.11.1.1', NAMESPACE: '4chan X.', boards: {} }; @@ -12280,7 +12281,7 @@ if (!(post.isDead || (post.thread.isDead && !post.thread.isArchived))) { a.textContent = 'Report this post'; ReportLink.url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post; - ReportLink.height = 200; + ReportLink.height = 180; } else if (Conf['Archive Report']) { a.textContent = 'Report to archive'; ReportLink.url = Redirect.to('report', { @@ -15916,7 +15917,10 @@ if (Conf['Archive Report']) { Report.archive(); } - if ($.hasClass(doc, 'js-enabled')) { + if (Conf['Use Recaptcha v2 in Reports']) { + Report.captchaV2(); + } + if (Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled')) { return new MutationObserver(function() { return Report.fit('.gc-bubbleDefault'); }).observe(d.body, { @@ -15928,6 +15932,25 @@ return Report.fit('body'); } }, + captchaV2: function() { + var container, lang, old, script, url; + if (!(old = $.id('captchaContainerAlt'))) { + return; + } + container = $.el('div', { + className: 'g-recaptcha' + }); + container.dataset.sitekey = '6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc'; + $.replace(old, container); + url = 'https://www.google.com/recaptcha/api.js'; + if (lang = Conf['captchaLanguage'].trim()) { + url += "?hl=" + (encodeURIComponent(lang)); + } + script = $.el('script', { + src: url + }); + return $.add(d.head, script); + }, fit: function(selector) { var dy, el; if (!(el = $(selector, doc))) { @@ -15967,8 +15990,7 @@ $.add(d.body, [$.tn(' ['), link, $.tn(']')]); if (types = $.id('reportTypes')) { return $.on(types, 'change', function(e) { - var ref; - return $('form').action = (ref = e.target.value) === 'illegal' || ref === 'spam' ? '#redirect' : ''; + return $('form').action = e.target.value === 'illegal' ? '#redirect' : ''; }); } } diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx index 6bf973fa1..0983c1c2f 100644 Binary files a/builds/4chan-X.crx and b/builds/4chan-X.crx differ diff --git a/builds/4chan-X.meta.js b/builds/4chan-X.meta.js index 55116f6ab..b9c6ccf4c 100644 --- a/builds/4chan-X.meta.js +++ b/builds/4chan-X.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.11.1.0 +// @version 1.11.1.1 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 5efe0986e..c4da15318 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -1,7 +1,7 @@ // Generated by CoffeeScript // ==UserScript== // @name 4chan X -// @version 1.11.1.0 +// @version 1.11.1.1 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -221,7 +221,7 @@ 'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher and hides the watcher by default.', 1], 'Mark New IPs': [false, 'Label each post from a new IP with the thread\'s current IP count.'] }, - 'Posting': { + 'Posting and Captchas': { 'Quick Reply': [true, 'All-in-one form to reply, create threads, automate dumping and more.'], 'QR Shortcut': [true, 'Add a shortcut to the header to toggle the QR.', 1], 'Persistent QR': [true, 'The Quick reply won\'t disappear after posting.', 1], @@ -239,7 +239,8 @@ 'Auto-load captcha': [false, 'Automatically load the captcha in the QR even if your post is empty.', 1], 'Post on Captcha Completion': [false, 'Submit the post immediately when the captcha is completed.', 1], 'Bottom QR Link': [true, 'Places a link on the bottom of threads to open the QR.', 1], - 'Captcha Fixes': [true, 'Make captcha easier to use, especially with the keyboard.'] + 'Captcha Fixes': [true, 'Make captcha easier to use, especially with the keyboard.'], + 'Use Recaptcha v2 in Reports': [false, 'Use the image selection captcha in the report window.'] }, 'Quote Links': { 'Quote Backlinks': [true, 'Add quote backlinks.'], @@ -402,7 +403,7 @@ doc = d.documentElement; g = { - VERSION: '1.11.1.0', + VERSION: '1.11.1.1', NAMESPACE: '4chan X.', boards: {} }; @@ -12281,7 +12282,7 @@ if (!(post.isDead || (post.thread.isDead && !post.thread.isArchived))) { a.textContent = 'Report this post'; ReportLink.url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post; - ReportLink.height = 200; + ReportLink.height = 180; } else if (Conf['Archive Report']) { a.textContent = 'Report to archive'; ReportLink.url = Redirect.to('report', { @@ -15917,7 +15918,10 @@ if (Conf['Archive Report']) { Report.archive(); } - if ($.hasClass(doc, 'js-enabled')) { + if (Conf['Use Recaptcha v2 in Reports']) { + Report.captchaV2(); + } + if (Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled')) { return new MutationObserver(function() { return Report.fit('.gc-bubbleDefault'); }).observe(d.body, { @@ -15929,6 +15933,25 @@ return Report.fit('body'); } }, + captchaV2: function() { + var container, lang, old, script, url; + if (!(old = $.id('captchaContainerAlt'))) { + return; + } + container = $.el('div', { + className: 'g-recaptcha' + }); + container.dataset.sitekey = '6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc'; + $.replace(old, container); + url = 'https://www.google.com/recaptcha/api.js'; + if (lang = Conf['captchaLanguage'].trim()) { + url += "?hl=" + (encodeURIComponent(lang)); + } + script = $.el('script', { + src: url + }); + return $.add(d.head, script); + }, fit: function(selector) { var dy, el; if (!(el = $(selector, doc))) { @@ -15968,8 +15991,7 @@ $.add(d.body, [$.tn(' ['), link, $.tn(']')]); if (types = $.id('reportTypes')) { return $.on(types, 'change', function(e) { - var ref; - return $('form').action = (ref = e.target.value) === 'illegal' || ref === 'spam' ? '#redirect' : ''; + return $('form').action = e.target.value === 'illegal' ? '#redirect' : ''; }); } } diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip index 12ea8b8b1..99bf64edf 100644 Binary files a/builds/4chan-X.zip and b/builds/4chan-X.zip differ diff --git a/builds/updates-beta.xml b/builds/updates-beta.xml index 1c186e982..4bfb439f6 100644 --- a/builds/updates-beta.xml +++ b/builds/updates-beta.xml @@ -1,7 +1,7 @@ - + diff --git a/builds/updates.xml b/builds/updates.xml index 78aebb8dd..28a3ccd66 100644 --- a/builds/updates.xml +++ b/builds/updates.xml @@ -1,7 +1,7 @@ - + diff --git a/package.json b/package.json index c6122e15d..aa41f2722 100755 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "description": "Cross-browser userscript for maximum lurking on 4chan.", "meta": { "name": "4chan X", - "version": "1.11.1.0", - "date": "2015-06-22T18:09:14.422Z", + "version": "1.11.1.1", + "date": "2015-06-22T20:46:11.825Z", "repo": "https://github.com/ccd0/4chan-x/", "page": "https://github.com/ccd0/4chan-x", "downloads": "https://ccd0.github.io/4chan-x/builds/",