| @@ -1,12 +1,24 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | namespace BitCode\BitForm\Admin\Form\InitJs; |
| 4 | 4 | |
| 5 | -use BitCode\BitForm\Admin\Form\Helpers; | |
| 5 | +class RecaptchaV3 | |
| 6 | +{ | |
| 7 | + public static function init() | |
| 8 | + { | |
| 9 | + $bitforms_prefix = BITFORMS_PREFIX; | |
| 10 | + // DANGER: no matter what, DONT CHANGE THE SCRIPT ID OF THIS SCRIPT | |
| 11 | + $script_id = $bitforms_prefix . 'recaptcha-js'; | |
| 12 | + return <<<RECAPTCHA_V3_INIT_JS | |
| 13 | + const src = 'https://www.google.com/recaptcha/api.js?render=' + contentData.gRecaptchaSiteKey; | |
| 14 | + const attrs = {}; | |
| 15 | + const id = '$script_id'; | |
| 6 | 16 | |
| 7 | -class RecaptchaV3 { | |
| 8 | - public static function init($sitekey) { | |
| 9 | - $url = "https://www.google.com/recaptcha/api.js?render={$sitekey}"; | |
| 10 | - return Helpers::scriptLoader($url, 'g-recaptcha-script'); | |
| 17 | + const recaptchaScript = document.querySelector('script#{$script_id}'); | |
| 18 | + if(!window.recaptcha && recaptchaScript && recaptchaScript.getAttribute('data-borlabs-script-blocker-js-handle') && recaptchaScript.getAttribute('data-borlabs-script-blocker-id')){ | |
| 19 | + return; | |
| 20 | + } | |
| 21 | + scriptLoader(src, '', attrs, id); | |
| 22 | +RECAPTCHA_V3_INIT_JS; | |
| 11 | 23 | } |
| 12 | 24 | } |