PageSourceSearch

https://campamentosveranoava.com/wp-content/plugins/trx_utils/js/trx_utils.js

js campamentosveranoava.com collected 2026-10-04 20:06:39 UTC 12,405 bytes, 332 lines download raw bytes

1/**
2 * Init scripts
3 *
4 * @package WordPress
5 * @subpackage ThemeREX Utilities
6 * @since v3.0
7 */
8
9/* global jQuery:false */
10
11// Global variables storage
12if (typeof TRX_UTILS_STORAGE == 'undefined') var TRX_UTILS_STORAGE = {};
13
14jQuery(document).ready(function() {
15	"use strict";
16
17	// Forms validation
18    //----------------------------------------------
19
20	// Login form
21	jQuery('.popup_form.login_form').submit(function(e){
22		"use strict";
23		var rez = trx_utils_login_validate(jQuery(this));
24
25		if (!rez)
26			e.preventDefault();
27		return rez;
28	});
29	
30	// Registration form
31	jQuery('.popup_form.registration_form').submit(function(e){
32		"use strict";
33		var rez = trx_utils_registration_validate(jQuery(this));
34		if (!rez)
35			e.preventDefault();
36		return rez;
37	});
38
39	// Comment form
40	jQuery("form#commentform").submit(function(e) {
41		"use strict";
42		var rez = trx_utils_comments_validate(jQuery(this));
43		if (!rez)
44			e.preventDefault();
45		return rez;
46	});
47
48});
49
50
51
52
53
54// Forms validation
55//-------------------------------------------------------
56
57
58/*
59// Usage example:
60var error = trx_utils_form_validate(jQuery(form_selector), {				// -------- Options ---------
61	error_message_show: true,									// Display or not error message
62	error_message_time: 5000,									// Time to display error message
63	error_message_class: 'sc_infobox sc_infobox_style_error',	// Class, appended to error message block
64	error_message_text: 'Global error text',					// Global error message text (if don't write message in checked field)
65	error_fields_class: 'error_fields_class',					// Class, appended to error fields
66	exit_after_first_error: false,								// Cancel validation and exit after first error
67	rules: [
68		{
69			field: 'author',																// Checking field name
70			min_length: { value: 1,	 message: 'The author name can\'t be empty' },			// Min character count (0 - don't check), message - if error occurs
71			max_length: { value: 60, message: 'Too long author name'}						// Max character count (0 - don't check), message - if error occurs
72		},
73		{
74			field: 'email',
75			min_length: { value: 7,	 message: 'Too short (or empty) email address' },
76			max_length: { value: 60, message: 'Too long email address'},
77			mask: { value: '^([a-z0-9_\\-]+\\.)*[a-z0-9_\\-]+@[a-z0-9_\\-]+(\\.[a-z0-9_\\-]+)*\\.[a-z]{2,6}$', message: 'Invalid email address'}
78		},
79		{
80			field: 'comment',
81			min_length: { value: 1,	 message: 'The comment text can\'t be empty' },
82			max_length: { value: 200, message: 'Too long comment'}
83		},
84		{
85			field: 'pwd1',
86			min_length: { value: 5,	 message: 'The password can\'t be less then 5 characters' },
87			max_length: { value: 20, message: 'Too long password'}
88		},
89		{
90			field: 'pwd2',
91			equal_to: { value: 'pwd1',	 message: 'The passwords in both fields must be equals' }
92		}
93	]
94});
95*/
96
97function trx_utils_form_validate(form, opt) {
98	"use strict";
99	var error_msg = '';
100	form.find(":input").each(function() {
101		"use strict";
102		if (error_msg!='' && opt.exit_after_first_error) return;
103		for (var i = 0; i < opt.rules.length; i++) {
104			if (jQuery(this).attr("name") == opt.rules[i].field) {
105				var val = jQuery(this).val();
106				var error = false;
107				if (typeof(opt.rules[i].min_length) == 'object') {
108					if (opt.rules[i].min_length.value > 0 && val.length < opt.rules[i].min_length.value) {
109						if (error_msg=='') jQuery(this).get(0).focus();
110						error_msg += '<p class="error_item">' + (typeof(opt.rules[i].min_length.message)!='undefined' ? opt.rules[i].min_length.message : opt.error_message_text ) + '</p>'
111						error = true;
112					}
113				}
114				if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].max_length) == 'object') {
115					if (opt.rules[i].max_length.value > 0 && val.length > opt.rules[i].max_length.value) {
116						if (error_msg=='') jQuery(this).get(0).focus();
117						error_msg += '<p class="error_item">' + (typeof(opt.rules[i].max_length.message)!='undefined' ? opt.rules[i].max_length.message : opt.error_message_text ) + '</p>'
118						error = true;
119					}
120				}
121				if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].mask) == 'object') {
122					if (val.length > 0 && opt.rules[i].mask.value != '') {
123						var regexp = new RegExp(opt.rules[i].mask.value);
124						if (!regexp.test(val)) {
125							if (error_msg=='') jQuery(this).get(0).focus();
126							error_msg += '<p class="error_item">' + (typeof(opt.rules[i].mask.message)!='undefined' ? opt.rules[i].mask.message : opt.error_message_text ) + '</p>'
127							error = true;
128						}
129					}
130				}
131				if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].state) == 'object') {
132					if (opt.rules[i].state.value=='checked' && !jQuery(this).get(0).checked) {
133						if (error_msg=='') jQuery(this).get(0).focus();
134						error_msg += '<p class="error_item">' + (typeof(opt.rules[i].state.message)!='undefined' ? opt.rules[i].state.message : opt.error_message_text ) + '</p>'
135						error = true;
136					}
137				}
138				if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].equal_to) == 'object') {
139					if (opt.rules[i].equal_to.value != '' && val!=jQuery(jQuery(this).get(0).form[opt.rules[i].equal_to.value]).val()) {
140						if (error_msg=='') jQuery(this).get(0).focus();
141						error_msg += '<p class="error_item">' + (typeof(opt.rules[i].equal_to.message)!='undefined' ? opt.rules[i].equal_to.message : opt.error_message_text ) + '</p>'
142						error = true;
143					}
144				}
145				if (opt.error_fields_class != '') jQuery(this).toggleClass(opt.error_fields_class, error);
146			}
147		}
148	});
149	if (error_msg!='' && opt.error_message_show) {
150		var error_message_box = form.find(".result");
151		if (error_message_box.length == 0) error_message_box = form.parent().find(".result");
152		if (error_message_box.length == 0) {
153			form.append('<div class="result"></div>');
154			error_message_box = form.find(".result");
155		}
156		if (opt.error_message_class) error_message_box.toggleClass(opt.error_message_class, true);
157		error_message_box.html(error_msg).fadeIn();
158		setTimeout(function() { error_message_box.fadeOut(); }, opt.error_message_time);
159	}
160	return error_msg!='';
161}
162
163
164// Comments form
165function trx_utils_comments_validate(form) {
166	"use strict";
167	form.find('input').removeClass('error_fields_class');
168	var rules = {
169		error_message_text: TRX_UTILS_STORAGE['msg_error_global'],	// Global error message text (if don't write in checked field)
170		error_message_show: true,									// Display or not error message
171		error_message_time: 4000,									// Error message display time
172		error_message_class: 'sc_infobox sc_infobox_style_error',	// Class appended to error message block
173		error_fields_class: 'error_fields_class',					// Class appended to error fields
174		exit_after_first_error: false,								// Cancel validation and exit after first error
175		rules: [
176			{
177				field: 'comment',
178				min_length: { value: 1, message: TRX_UTILS_STORAGE['msg_text_empty'] },
179				max_length: { value: TRX_UTILS_STORAGE['comments_maxlength'], message: TRX_UTILS_STORAGE['msg_text_long']}
180			}
181		]
182	};
183	if (form.find('.comments_author input[aria-required="true"]').length > 0) {
184		rules.rules.push(
185			{
186				field: 'author',
187				min_length: { value: 1, message: TRX_UTILS_STORAGE['msg_name_empty']},
188				max_length: { value: 60, message: TRX_UTILS_STORAGE['msg_name_long']}
189			}
190		);
191	}
192	if (form.find('.comments_email input[aria-required="true"]').length > 0) {
193		rules.rules.push(
194			{
195				field: 'email',
196				min_length: { value: 7, message: TRX_UTILS_STORAGE['msg_email_empty']},
197				max_length: { value: 60, message: TRX_UTILS_STORAGE['msg_email_long']},
198				mask: { value: TRX_UTILS_STORAGE['email_mask'], message: TRX_UTILS_STORAGE['msg_email_not_val
198id']}
199			}
200		);
201	}
202	var error = trx_utils_form_validate(form, rules);
203	return !error;
204}
205
206
207// Login form
208function trx_utils_login_validate(form) {
209	"use strict";
210	form.find('input').removeClass('error_fields_class');
211	var error = trx_utils_form_validate(form, {
212		error_message_show: true,
213		error_message_time: 4000,
214		error_message_class: 'sc_infobox sc_infobox_style_error',
215		error_fields_class: 'error_fields_class',
216		exit_after_first_error: true,
217		rules: [
218			{
219				field: "log",
220				min_length: { value: 1, message: TRX_UTILS_STORAGE['msg_login_empty'] },
221				max_length: { value: 60, message: TRX_UTILS_STORAGE['msg_login_long'] }
222			},
223			{
224				field: "pwd",
225				min_length: { value: 4, message: TRX_UTILS_STORAGE['msg_password_empty'] },
226				max_length: { value: 30, message: TRX_UTILS_STORAGE['msg_password_long'] }
227			}
228		]
229	});
230	if (TRX_UTILS_STORAGE['login_via_ajax'] && !error) {
231		jQuery.post(TRX_UTILS_STORAGE['ajax_url'], {
232			action: 'trx_utils_login_user',
233			nonce: TRX_UTILS_STORAGE['ajax_nonce'],
234			remember: form.find('#rememberme').val(),
235			user_log: form.find('#log').val(),
236			user_pwd: form.find('#password').val()
237		}).done(function(response) {
238			var rez = {};
239			try {
240				rez = JSON.parse(response);
241			} catch (e) {
242				rez = { error: TRX_UTILS_STORAGE['ajax_error'] };
243				console.log(response);
244			}
245			var result_box = form.find('.result');
246			if (result_box.length==0) result_box = form.siblings('.result');
247			if (result_box.length==0) result_box = form.after('<div class="result"></div>').next('.result');
248			result_box.toggleClass('sc_infobox_style_error', false).toggleClass('sc_infobox_style_success', false);
249			if (rez.error === '') {
250				result_box.addClass('sc_infobox sc_infobox_style_success').html(TRX_UTILS_STORAGE['msg_login_success']);
251				setTimeout(function() { 
252					location.reload(); 
253					}, 3000);
254			} else {
255				result_box.addClass('sc_infobox sc_infobox_style_error').html(TRX_UTILS_STORAGE['msg_login_failed'] + '<br>' + rez.error);
256			}
257			result_box.fadeIn().delay(3000).fadeOut();
258		});
259	}
260	return !TRX_UTILS_STORAGE['login_via_ajax'] && !error;
261}
262
263
264// Registration form 
265function trx_utils_registration_validate(form) {
266	"use strict";
267	form.find('input').removeClass('error_fields_class');
268	var error = trx_utils_form_validate(form, {
269		error_message_show: true,
270		error_message_time: 4000,
271		error_message_class: "sc_infobox sc_infobox_style_error",
272		error_fields_class: "error_fields_class",
273		exit_after_first_error: true,
274		rules: [
275			{
276				field: "registration_agree",
277				state: { value: 'checked', message: TRX_UTILS_STORAGE['msg_not_agree'] },
278			},
279			{
280				field: "registration_username",
281				min_length: { value: 1, message: TRX_UTILS_STORAGE['msg_login_empty'] },
282				max_length: { value: 60, message: TRX_UTILS_STORAGE['msg_login_long'] }
283			},
284			{
285				field: "registration_email",
286				min_length: { value: 7, message: TRX_UTILS_STORAGE['msg_email_empty'] },
287				max_length: { value: 60, message: TRX_UTILS_STORAGE['msg_email_long'] },
288				mask: { value: TRX_UTILS_STORAGE['email_mask'], message: TRX_UTILS_STORAGE['msg_email_not_valid'] }
289			},
290			{
291				field: "registration_pwd",
292				min_length: { value: 4, message: TRX_UTILS_STORAGE['msg_password_empty'] },
293				max_length: { value: 30, message: TRX_UTILS_STORAGE['msg_password_long'] }
294			},
295			{
296				field: "registration_pwd2",
297				equal_to: { value: 'registration_pwd', message: TRX_UTILS_STORAGE['msg_password_not_equal'] }
298			}
299		]
300	});
301	if (!error) {
302		jQuery.post(TRX_UTILS_STORAGE['ajax_url'], {
303			action: 'trx_utils_registration_user',
304			nonce: TRX_UTILS_STORAGE['ajax_nonce'],
305			user_name: 	form.find('#registration_username').val(),
306			user_email: form.find('#registration_email').val(),
307			user_pwd: 	form.find('#registration_pwd').val()
308		}).done(function(response) {
309			var rez = {};
310			try {
311				rez = JSON.parse(response);
312			} catch (e) {
313				rez = { error: TRX_UTILS_STORAGE['ajax_error'] };
314				console.log(response);
315			}
316			var result_box = form.find('.result');
317			if (result_box.length==0) result_box = form.siblings('.result');
318			if (result_box.length==0) result_box = form.after('<div class="result"></div>').next('.result');
319			result_box.toggleClass('sc_infobox_style_error', false).toggleClass('sc_infobox_style_success', false);
320			if (rez.error === '') {
321				result_box.addClass('sc_infobox sc_infobox_style_success').html(TRX_UTILS_STORAGE['msg_registration_success']);
322				setTimeout(function() { 
323					jQuery('.popup_login_link').trigger('click'); 
324					}, 3000);
325			} else {
326				result_box.addClass('sc_infobox sc_infobox_style_error').html(TRX_UTILS_STORAGE['msg_registration_failed'] + ' ' + rez.error);
327			}
328			result_box.fadeIn().delay(3000).fadeOut();
329		});
330	}
331	return false
vendor: 4 bytes, lines 331-332
331;
332}

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.