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/",