diff --git a/gulp/res/js/captcha.js b/gulp/res/js/captcha.js index cd6fa5be..1ab74443 100644 --- a/gulp/res/js/captcha.js +++ b/gulp/res/js/captcha.js @@ -31,13 +31,13 @@ window.addEventListener('DOMContentLoaded', (event) => { }; const loadCaptcha = function(e) { - const captchaDiv = this.previousSibling; + const field = e.target; + const captchaDiv = field.previousSibling; const captchaImg = document.createElement('img'); const refreshDiv = document.createElement('div'); refreshDiv.classList.add('captcharefresh', 'noselect'); refreshDiv.addEventListener('click', refreshCaptchas, true); refreshDiv.textContent = '↻'; - const field = this; field.placeholder = 'loading'; captchaImg.src = '/captcha'; captchaImg.onload = function() { @@ -49,8 +49,12 @@ window.addEventListener('DOMContentLoaded', (event) => { }; for (let i = 0; i < captchaFields.length; i++) { - captchaFields[i].placeholder = 'focus to load captcha'; - captchaFields[i].addEventListener('focus', loadCaptcha, { once: true }); + const field = captchaFields[i]; + if (field.form.action.endsWith('/forms/blockbypass')) { + return loadCaptcha({target: field }) + } + field.placeholder = 'focus to load captcha'; + field.addEventListener('focus', loadCaptcha, { once: true }); } }); diff --git a/helpers/captcha/captchaverify.js b/helpers/captcha/captchaverify.js index 7ae6b2f0..f6b240c3 100644 --- a/helpers/captcha/captchaverify.js +++ b/helpers/captcha/captchaverify.js @@ -27,12 +27,12 @@ module.exports = async (req, res, next) => { if (isBypass) { return res.status(403).render('bypass', { 'minimal': req.body.minimal, - 'message': 'Incorrect captcha', + 'message': 'Incorrect captcha answer', }); } return dynamicResponse(req, res, 403, 'message', { 'title': 'Forbidden', - 'message': 'Incorrect captcha', + 'message': 'Incorrect captcha answer', 'redirect': req.headers.referer, }); } @@ -69,12 +69,12 @@ module.exports = async (req, res, next) => { if (isBypass) { return res.status(403).render('bypass', { 'minimal': req.body.minimal, - 'message': 'Incorrect captcha', + 'message': 'Incorrect captcha answer', }); } return dynamicResponse(req, res, 403, 'message', { 'title': 'Forbidden', - 'message': 'Incorrect captcha', + 'message': 'Incorrect captcha answer', 'redirect': req.headers.referer, }); } diff --git a/models/forms/makepost.js b/models/forms/makepost.js index a6e84d09..fe5d8f6b 100644 --- a/models/forms/makepost.js +++ b/models/forms/makepost.js @@ -403,7 +403,7 @@ module.exports = async (req, res, next) => { }).skip(replyLimit).toArray(); if (cyclicOverflowPosts.length > 0) { await deletePosts(cyclicOverflowPosts, req.params.board); - const fileCount = cyclicOverflowPosts.reduce((post, acc) => { + const fileCount = cyclicOverflowPosts.reduce((acc, post) => { return acc + (post.files ? post.files.length : 0); }, 0); //reduce amount counted in post by number of posts deleted