Use the &altc=1 report form but substitute our own captcha options.
Also - fix tab order in report form - focus on captcha in report form - extend refresh on image click / backspace to original post form - support language setting for v1 (#458)
This commit is contained in:
parent
c8ff3f0bcd
commit
e8276ca800
@ -14,10 +14,11 @@ ReportLink =
|
|||||||
unless post.isDead or (post.thread.isDead and not post.thread.isArchived)
|
unless post.isDead or (post.thread.isDead and not post.thread.isArchived)
|
||||||
a.textContent = 'Report'
|
a.textContent = 'Report'
|
||||||
ReportLink.url = "//sys.4chan.org/#{post.board}/imgboard.php?mode=report&no=#{post}"
|
ReportLink.url = "//sys.4chan.org/#{post.board}/imgboard.php?mode=report&no=#{post}"
|
||||||
ReportLink.dims = if Conf['Use Recaptcha v1 in Reports'] or d.cookie.indexOf('pass_enabled=1') >= 0
|
if (Conf['Use Recaptcha v1 in Reports'] and Main.jsEnabled) or d.cookie.indexOf('pass_enabled=1') >= 0
|
||||||
'width=350,height=275'
|
ReportLink.url += '&altc=1'
|
||||||
|
ReportLink.dims = 'width=350,height=275'
|
||||||
else
|
else
|
||||||
'width=400,height=550'
|
ReportLink.dims = 'width=400,height=550'
|
||||||
else if Conf['Archive Report']
|
else if Conf['Archive Report']
|
||||||
a.textContent = 'Report to archive'
|
a.textContent = 'Report to archive'
|
||||||
ReportLink.url = Redirect.to 'report', {boardID: post.board.ID, postID: post.ID}
|
ReportLink.url = Redirect.to 'report', {boardID: post.board.ID, postID: post.ID}
|
||||||
|
|||||||
@ -38,16 +38,6 @@ Report =
|
|||||||
else
|
else
|
||||||
Report.fit 'body'
|
Report.fit 'body'
|
||||||
|
|
||||||
if Conf['Use Recaptcha v1 in Reports'] and Main.jsEnabled and d.cookie.indexOf('pass_enabled=1') < 0
|
|
||||||
$.onExists d.body, '#recaptcha_image', (image) ->
|
|
||||||
$.on image, 'click', ->
|
|
||||||
if $.id 'recaptcha_challenge_image'
|
|
||||||
$.global -> window.Recaptcha.reload()
|
|
||||||
$.onExists d.body, '#recaptcha_response_field', (field) ->
|
|
||||||
$.on field, 'keydown', (e) ->
|
|
||||||
if e.keyCode is 8 and not field.value
|
|
||||||
$.global -> window.Recaptcha.reload()
|
|
||||||
|
|
||||||
fit: (selector) ->
|
fit: (selector) ->
|
||||||
return unless (el = $ selector, doc) and getComputedStyle(el).visibility isnt 'hidden'
|
return unless (el = $ selector, doc) and getComputedStyle(el).visibility isnt 'hidden'
|
||||||
dy = el.getBoundingClientRect().bottom - doc.clientHeight + 8
|
dy = el.getBoundingClientRect().bottom - doc.clientHeight + 8
|
||||||
|
|||||||
@ -2,6 +2,12 @@ Captcha.replace =
|
|||||||
init: ->
|
init: ->
|
||||||
return unless d.cookie.indexOf('pass_enabled=1') < 0
|
return unless d.cookie.indexOf('pass_enabled=1') < 0
|
||||||
|
|
||||||
|
if location.hostname is 'sys.4chan.org' and /[?&]altc\b/.test(location.search) and Main.jsEnabled
|
||||||
|
$.onExists doc, 'script[src="//www.google.com/recaptcha/api/js/recaptcha_ajax.js"]', ->
|
||||||
|
$.global -> window.el.onload = null
|
||||||
|
Captcha.v1.create()
|
||||||
|
return
|
||||||
|
|
||||||
if (
|
if (
|
||||||
(Conf['Use Recaptcha v1'] and location.hostname is 'boards.4chan.org') or
|
(Conf['Use Recaptcha v1'] and location.hostname is 'boards.4chan.org') or
|
||||||
(Conf['Use Recaptcha v1 in Reports'] and location.hostname is 'sys.4chan.org')
|
(Conf['Use Recaptcha v1 in Reports'] and location.hostname is 'sys.4chan.org')
|
||||||
|
|||||||
@ -50,12 +50,30 @@ Captcha.v1 =
|
|||||||
$.replace old, container
|
$.replace old, container
|
||||||
|
|
||||||
create: ->
|
create: ->
|
||||||
|
cont = $.id 'captchaContainerAlt'
|
||||||
|
return if @occupied
|
||||||
|
|
||||||
|
@occupied = true
|
||||||
|
|
||||||
|
if (lang = Conf['captchaLanguage'].trim())
|
||||||
|
cont.dataset.lang = lang
|
||||||
|
|
||||||
|
$.onExists cont, '#recaptcha_image', (image) ->
|
||||||
|
$.on image, 'click', ->
|
||||||
|
if $.id 'recaptcha_challenge_image'
|
||||||
|
$.global -> window.Recaptcha.reload()
|
||||||
|
$.onExists cont, '#recaptcha_response_field', (field) ->
|
||||||
|
$.on field, 'keydown', (e) ->
|
||||||
|
if e.keyCode is 8 and not field.value
|
||||||
|
$.global -> window.Recaptcha.reload()
|
||||||
|
field.focus() if location.hostname is 'sys.4chan.org'
|
||||||
|
|
||||||
$.global ->
|
$.global ->
|
||||||
container = document.getElementById 'captchaContainerAlt'
|
container = document.getElementById 'captchaContainerAlt'
|
||||||
return if container.firstChild
|
|
||||||
options =
|
options =
|
||||||
theme: 'clean'
|
theme: 'clean'
|
||||||
tabindex: {"boards.4chan.org": 5, "sys.4chan.org": 3}[location.hostname]
|
tabindex: {"boards.4chan.org": 5}[location.hostname]
|
||||||
|
lang: container.dataset.lang
|
||||||
if window.Recaptcha
|
if window.Recaptcha
|
||||||
window.Recaptcha.create '<%= meta.recaptchaKey %>', container, options
|
window.Recaptcha.create '<%= meta.recaptchaKey %>', container, options
|
||||||
else
|
else
|
||||||
@ -123,6 +141,7 @@ Captcha.v1 =
|
|||||||
destroy: ->
|
destroy: ->
|
||||||
return unless @script
|
return unless @script
|
||||||
$.global -> window.Recaptcha.destroy()
|
$.global -> window.Recaptcha.destroy()
|
||||||
|
delete @occupied
|
||||||
@beforeSetup() if @nodes
|
@beforeSetup() if @nodes
|
||||||
|
|
||||||
sync: (captchas=[]) ->
|
sync: (captchas=[]) ->
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user