1 {if $recaptchaLegacyMode|empty}
2 {include file='captcha'}
5 <legend><label for="recaptcha_response_field">{lang}wcf.recaptcha.title{/lang}</label></legend>
6 <small>{lang}wcf.recaptcha.description{/lang}</small>
8 <dl class="wide reCaptcha{if $errorField|isset && $errorField == 'recaptchaString'} formError{/if}">
9 {if !$ajaxCaptcha|isset || !$ajaxCaptcha}
10 <script data-relocate="true">
12 var RecaptchaOptions = {
13 lang: '{@$recaptchaLanguageCode}',
20 <label for="recaptcha_response_field">reCAPTCHA</label>
23 <div id="recaptcha_image" class="framed"></div>
24 <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" class="medium marginTop" />
25 {if (($errorType|isset && $errorType|is_array && $errorType[recaptchaString]|isset) || ($errorField|isset && $errorField == 'recaptchaString'))}
26 {if $errorType|is_array && $errorType[recaptchaString]|isset}
27 {assign var='__errorType' value=$errorType[recaptchaString]}
29 {assign var='__errorType' value=$errorType}
31 <small class="innerError">
32 {if $__errorType == 'empty'}
33 {lang}wcf.global.form.error.empty{/lang}
35 {lang}wcf.recaptcha.error.recaptchaString.{$__errorType}{/lang}
44 <ul class="buttonList smallButtons">
45 <li><a href="javascript:Recaptcha.reload()" class="button small"><span class="icon icon16 icon-repeat"></span> <span>{lang}wcf.recaptcha.reload{/lang}</span></a></li>
46 <li class="recaptcha_only_if_image"><a href="javascript:Recaptcha.switch_type('audio')" class="button small"><span class="icon icon16 icon-volume-up"></span> <span>{lang}wcf.recaptcha.audio{/lang}</span></a></li>
47 <li class="recaptcha_only_if_audio"><a href="javascript:Recaptcha.switch_type('image')" class="button small"><span class="icon icon16 icon-eye-open"></span> <span>{lang}wcf.recaptcha.image{/lang}</span></a></li>
48 <li><a href="javascript:Recaptcha.showhelp()" class="button small"><span class="icon icon16 icon-question-sign"></span> <span>{lang}wcf.recaptcha.help{/lang}</span></a></li>
49 {event name='buttons'}
53 {if !$ajaxCaptcha|isset || !$ajaxCaptcha}
54 <script data-relocate="true" src="//www.google.com/recaptcha/api/challenge?k={$recaptchaPublicKey}"></script>
57 <iframe src="//www.google.com/recaptcha/api/noscript?k={$recaptchaPublicKey}" height="300" width="500" seamless="seamless"></iframe><br />
58 <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
59 <input type="hidden" name="recaptcha_response_field" value="manual_challenge" />
61 {if (($errorType|isset && $errorType|is_array && $errorType[recaptchaString]|isset) || ($errorField|isset && $errorField == 'recaptchaString'))}
62 {if $errorType|is_array && $errorType[recaptchaString]|isset}
63 {assign var='__errorType' value=$errorType[recaptchaString]}
65 {assign var='__errorType' value=$errorType}
67 <small class="innerError">
68 {if $errorType == 'empty'}
69 {lang}wcf.global.form.error.empty{/lang}
71 {lang}wcf.recaptcha.error.recaptchaString.{$__errorType}{/lang}
77 <script data-relocate="true">
79 $.getScript('//www.google.com/recaptcha/api/js/recaptcha_ajax.js', function() {
80 Recaptcha.create("{$recaptchaPublicKey}", "recaptcha_image", {
81 lang: '{@$recaptchaLanguageCode}',
85 WCF.System.Captcha.addCallback('{$captchaID}', function() {
87 recaptcha_challenge_field: Recaptcha.get_challenge(),
88 recaptcha_response_field: Recaptcha.get_response()