PageSourceSearch

https://www.landbouwleven.be/sites/all/modules/sb/enasb_companion/js/enasb_recaptcha.js

js landbouwleven.be collected 2026-10-01 12:19:57 UTC 3,598 bytes, 87 lines download raw bytes

1(function () {
2    'use strict';
3
4    console.log('enasb_recaptcha no init');
5
6    function init() {
7        console.log('enasb_recaptcha');
8
9        var debugEl = document.querySelector('.enasb-recaptcha-debug');
10        if (debugEl && debugEl.getAttribute('data-result')) {
11            try {
12                console.log('reCAPTCHA verification result', JSON.parse(debugEl.getAttribute('data-result')));
13            } catch (e) {
14                console.log('reCAPTCHA verification result (raw)', debugEl.getAttribute('data-result'));
15            }
16        }
17
18        // Set by an inline <head> script attached in
19        // enasb_companion_form_webform_client_form_alter().
20        var config = window.enasbRecaptcha;
21        if (!config) {
22            return;
23        }
24
25        if (config.hideBadge && !document.getElementById('enasb-recaptcha-badge-css')) {
26            var style = document.createElement('style');
27            style.id = 'enasb-recaptcha-badge-css';
28            style.textContent = '.grecaptcha-badge { visibility: hidden !important; }';
29            document.head.appendChild(style);
30        }
31
32        var forms = document.querySelectorAll('form.webform-client-form');
33        Array.prototype.forEach.call(forms, function (form) {
34            if (form.hasAttribute('data-enasb-recaptcha')) return;
35
36            var tokenField = form.querySelector('.enasb-recaptcha-token');
37            if (!tokenField) return;
38
39            form.setAttribute('data-enasb-recaptcha', '1');
40
41            form.addEventListener('submit', function (e) {
42                e.preventDefault();
43
44                console.log('reCAPTCHA: requesting token');
45
46                var submitter = e.submitter || null;
47
48                grecaptcha.enterprise.ready(function () {
49                    grecaptcha.enterprise.execute(config.siteKey, { action: config.action })
50                        .then(function (token) {
51                            console.log('reCAPTCHA: token created');
52
53                            tokenField.value = token;
54
55                            // form.submit() posts no button name/value, so carry the clicked
56                            // buttons in a hidden input; Drupal needs it to resolve the
57                            // triggering element (e.g. Submit vs a file Upload button).
58                            var button = submitter && submitter.name ? submitter
59                                : form.querySelector('.form-actions input[type="submit"], .webform-submit');
60                            if (button && button.name) {
61                                var carrier = form.querySelector('input.enasb-recaptcha-op');
62                                if (!carrier) {
63                                    carrier = document.createElement('input');
64                                    carrier.type = 'hidden';
65                                    carrier.className = 'enasb-recaptcha-op';
66                                    form.appendChild(carrier);
67                                }
68                                carrier.name = button.name;
69                                carrier.value = button.value;
70                            }
71                            form.submit();
72                        })
73                        .catch(function (error) {
74                            console.log('reCAPTCHA: token creation failed', error);
75                        });
76                });
77            });
78        });
79    }
80
81    if (document.readyState === 'loading') {
82        document.addEventListener('DOMContentLoaded', init);
83    }
84    else {
85        init();
86    }
87})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.