templates/website/includes/captcha-form.html.twig line 1

Open in your IDE?
  1. {% set layoutRegister = (layout is defined and layout == 'register') ? true : false %}
  2. {% set wrapClass = (wrapClass is defined) ? wrapClass : 'cp' %}
  3. {% set inputId = (formName is defined) ? formName ~ '-captcha' : 'recaptcha' %}
  4. {# --- !!! --- #}
  5. {% if isAppDomain %}
  6.     
  7.     {% set tokenDefault = getDefaultRecaptcha().defaultRecaptchaKeyV3 %}
  8.     <input type="hidden" name="g-recaptcha-response" id="{{ inputId }}">
  9.     <script src="https://www.google.com/recaptcha/api.js?render={{ tokenDefault }}"></script>
  10.     <script nonce="{{ nonceHash }}">
  11.         window['{{ formName }}Captcha'] = ()=> {
  12.                 grecaptcha.ready(function() {
  13.                       grecaptcha.execute("{{ tokenDefault }}", {action: 'submit'}).then(function(token) {
  14.                           var recaptcha = document.getElementById('{{ inputId }}');
  15.                         recaptcha.value = token;
  16.                       });
  17.                 });
  18.               }
  19.     </script>
  20. {# RECAPTCHA V3 #}
  21. {% elseif getConfig('recaptcha_key_v3') and getConfig('recaptcha_secret_v3') %}
  22.     <input type="hidden" name="g-recaptcha-response" id="{{ inputId }}">
  23.     <script src="https://www.google.com/recaptcha/api.js?render={{ getConfig('recaptcha_key_v3') }}"></script>
  24.     <script nonce="{{ nonceHash }}">
  25.     window['{{ formName }}Captcha'] = ()=> {
  26.         grecaptcha.ready(function() {
  27.             grecaptcha.execute("{{ getConfig('recaptcha_key_v3') }}", {action: 'submit'}).then(function(token) {
  28.                 var recaptcha = document.getElementById('{{ inputId }}');
  29.                 recaptcha.value = token;
  30.             });
  31.         });
  32.     }
  33.     </script>
  34. {# RECAPTCHA V2 #}
  35. {% elseif getConfig('recaptcha_key_v2') and getConfig('recaptcha_secret_v2') %}
  36.     <div class="{{ wrapClass }}">
  37.         <div class="g-recaptcha" data-sitekey="{{ getConfig('recaptcha_key_v2') }}"></div>
  38.     </div>
  39.     <script type="text/javascript" nonce="{{ nonceHash }}">
  40.     window['{{ scHash }}Captcha'] = ()=> {
  41.         let divRecaptcha = document.querySelectorAll('.g-recaptcha');
  42.         if(divRecaptcha.length > 0){
  43.             for (var i = 0; i < divRecaptcha.length; i++) {
  44.                 if(divRecaptcha[i]){
  45.                     grecaptcha.render(divRecaptcha[i], {
  46.                         'sitekey': divRecaptcha[i].getAttribute('data-sitekey')
  47.                     });
  48.                 }
  49.             }
  50.         }
  51.     }
  52.     </script>
  53.     <script src="https://www.google.com/recaptcha/api.js?onload={{ scHash }}Captcha&render=explicit" async defer></script>
  54. {# EAD CAPTCHA #}
  55. {% else %}
  56.     
  57. {% endif %}