PageSourceSearch

https://cm-seia.pt/wp-content/plugins/easy-newsletter-signups//js/wpens-public.js?ver=1.0.3

js cm-seia.pt collected 2026-10-02 07:59:52 UTC 2,817 bytes, 79 lines download raw bytes

1jQuery( document ).ready( function($) {
2
3	$( document ).on( 'click', '#easy-newsletter-submit', function() {
4
5		var thisObj = $( this );
6		var formObj = thisObj.parents( 'form#easy-newsletter-form' );
7
8		// Get variables
9		var firstnameObj	= formObj.find( 'input.wpens_firstname' );
10		var firstname		= firstnameObj.val();
11
12		var lastnameObj		= formObj.find( 'input.wpens_lastname' );
13		var lastname		= lastnameObj.val();
14
15		var emailObj		= formObj.find( 'input.wpens_email' );
16		var email			= emailObj.val();
17
18		// Error operation
19		var error = 0;
20		formObj.find( '.wpens-error' ).remove();
21		formObj.find( '.wpens-error-container' ).hide();
22
23		// Validate firstname
24		if( firstname == '' ) {
25			error = 1;
26			firstnameObj.parent().append( '<span class="error wpens-error">'+WpEns.fname_empty+'</span>' );
27		}
28
29		// Validate Email
30		if( email == '' ) {
31			error = 1;
32			emailObj.parent().append( '<span class="error wpens-error">'+WpEns.email_empty+'</span>' );
33		} else if( !isValidEmail(email) ) {
34			error = 1;
35			emailObj.parent().append( '<span class="error wpens-error">'+WpEns.email_valid+'</span>' );
36		}
37
38		// Check if not error
39		if( error == 0 ) {
40
41			formObj.find( '.wpens_ajax_loader' ).show();
42
43			var data = {
44				action: 'wpens_add_newsletter',
45				firstname: firstname,
46				lastname: lastname,
47				email: 	email
48			};
49
50			$.post( WpEns.ajaxurl, data, function( response ) {
51
52				var data = $.parseJSON( response );
53				if( data.status == '0' ) {
54					formObj.find( '.wpens-message-container' ).html( data.errmsg ).fadeIn();
55				} else {
56					formObj.find( '.wpens-message-container' ).html( data.errmsg ).fadeIn();
57					formObj[0].reset();
58				}
59
60				setTimeout(function(){
61					formObj.find( '.wpens-message-container' ).html( '' ).hide();
62				}, 4000);
63
64				formObj.find( '.wpens_ajax_loader' ).hide();
65
66			}); // Ajax over
67		} // Not error condition over
68
69		return false;
70	});
71
72
73}); // Over document ready
74
75// Email validation reply true if valid
76function isValidEmail( emailAddress ) {
77	var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i;
78	return pattern.test( emailAddress );
79};

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.