PageSourceSearch

https://www.ambientiecucine.it/wp-content/plugins/wpcf7-recaptcha/…/js/wpcf7-recaptcha-controls.js?ver=1.0

js ambientiecucine.it collected 2026-10-09 02:08:52 UTC 2,595 bytes, 85 lines download raw bytes

1let recaptchaWidgets = [];
2recaptchaCallback = function() {
3	
4	let forms = document.getElementsByTagName( 'form' );
5	let pattern = /(^|\s)g-recaptcha(\s|$)/;
6
7	for ( let i = 0; i < forms.length; i++ ) {
8		let divs = forms[ i ].getElementsByTagName( 'div' );
9
10		for ( let j = 0; j < divs.length; j++ ) {
11			let sitekey = divs[ j ].getAttribute( 'data-sitekey' );
12
13			if ( divs[ j ].className && divs[ j ].className.match( pattern ) && sitekey ) {
14				let params = {
15					'sitekey': sitekey,
16					'type': divs[ j ].getAttribute( 'data-type' ),
17					'size': divs[ j ].getAttribute( 'data-size' ),
18					'theme': divs[ j ].getAttribute( 'data-theme' ),
19					'align': divs[ j ].getAttribute( 'data-align' ),
20					'badge': divs[ j ].getAttribute( 'data-badge' ),
21					'tabindex': divs[ j ].getAttribute( 'data-tabindex' )
22				};
23
24				let callback = divs[ j ].getAttribute( 'data-callback' );
25
26				if ( callback && 'function' == typeof window[ callback ] ) {
27					params[ 'callback' ] = window[ callback ];
28				}
29
30				let expired_callback = divs[ j ].getAttribute( 'data-expired-callback' );
31
32				if ( expired_callback && 'function' == typeof window[ expired_callback ] ) {
33					params[ 'expired-callback' ] = window[ expired_callback ];
34				}
35
36				let widget_id = grecaptcha.render( divs[ j ], params );
37				recaptchaWidgets.push( widget_id );
38				break;
39			}
40		}
41	}
42};
43
44/**
45 * Reset the reCaptcha when Contact Form 7 gives us:
46 *  - Spam
47 *  - Success
48 *  - Fail
49 * 
50 * @return void
51 */
52document.addEventListener( 'wpcf7submit', function( event ) {
53	switch ( event.detail.status ) {
54		case 'spam':
55		case 'mail_sent':
56		case 'mail_failed':
57			for ( let i = 0; i < recaptchaWidgets.length; i++ ) {
58				grecaptcha.reset( recaptchaWidgets[ i ] );
59			}
60	}
61}, false );
62
63/**
64 * Verify reCaptcha response and display error if not found.
65 */
66document.addEventListener( 'wpcf7spam', function( event ) {
67	
68	let wpcf7forms = document.getElementsByClassName( 'wpcf7' );
69	
70	Array.prototype.forEach.call( wpcf7forms, function( form ) {
71		
72		if( form.getAttribute( 'id' ) != event.target.getAttribute( 'id' ) ) {
73			return;
74		}
75		
76		let response  = form.querySelector( 'textarea[name="g-recaptcha-response"]' );
77		let recaptcha = form.querySelector( 'div.wpcf7-recaptcha' );
78		if( response && '' === response.value ) {
79			let recaptchaWrapper = recaptcha.parentElement;
80			wpcf7.notValidTip( recaptchaWrapper, wpcf7iqfix.recaptcha_empty );
81		} else if( null === response ) {
82			console.log( wpcf7iqfix.response_err );
83		}
84	} );
85} );

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.