PageSourceSearch

https://villago.it/wp-content/plugins/trx_addons/js/trx_addons.login.js?reload=1053860488

js villago.it collected 2026-09-25 08:07:52 UTC 8,096 bytes, 221 lines download raw bytes

1/**
2 * Login and Register
3 *
4 * @package ThemeREX Addons
5 * @since v1.5
6 */
7
8/* global jQuery, TRX_ADDONS_STORAGE */
9
10jQuery(document).on('action.ready_trx_addons', function() {
11
12	"use strict";
13
14/*
15	// Show/Hide user menu
16	if (jQuery('.trx_addons_login_link:not(.inited)').length > 0) {
17		jQuery('.trx_addons_login_link:not(.inited)').addClass('inited').on('click', function(e){
18			jQuery(this).find('.trx_addons_login_menu').slideToggle().parent().toggleClass('menu_opened');
19			e.preventDefault();
20			return false;
21		});
22		jQuery('body').on('click', function(e){
23			jQuery(this).find('.trx_addons_login_menu:visible').slideUp().parent().removeClass('menu_opened');
24		});
25	}
26*/
27
28	// Validate Login form
29	jQuery( 'form.trx_addons_popup_form_login:not(.inited)')
30		.addClass('inited')
31		.on( 'submit', function(e) {
32			var rez = trx_addons_login_validate(jQuery(this));
33			if ( !rez ) {
34				e.preventDefault();
35			}
36			return rez;
37		} );
38	
39	// Validate Registration form
40	jQuery( 'form.trx_addons_popup_form_register:not(.inited)')
41		.addClass('inited')
42		.on( 'submit', function(e) {
43			var rez = trx_addons_registration_validate(jQuery(this));
44			if ( !rez ) {
45				e.preventDefault();
46			}
47			return rez;
48		} );
49	
50	// Login form validation
51	function trx_addons_login_validate(form) {
52		form.find('input').removeClass('trx_addons_field_error');
53		var error = trx_addons_form_validate(form, {
54			error_message_time: 4000,
55			exit_after_first_error: true,
56			rules: [
57				{
58					field: "log",
59					min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_login_empty'] },
60					max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_login_long'] }
61				},
62				{
63					field: "pwd",
64					min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_password_empty'] },
65					max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_password_long'] }
66				}
67			]
68		});
69		if (TRX_ADDONS_STORAGE['login_via_ajax'] && !error) {
70			trx_addons_login_ajax_loading( form, true );
71			jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], {
72				action: 'trx_addons_login_user',
73				nonce: TRX_ADDONS_STORAGE['ajax_nonce'],
74				redirect_to: form.find('input[name="redirect_to"]').length == 1 ? form.find('input[name="redirect_to"]').val() : '',
75				remember: form.find('input[name="rememberme"]').val(),
76				user_log: form.find('input[name="log"]').val(),
77				user_pwd: form.find('input[name="pwd"]').val()
78			}).done( function( response ) {
79				trx_addons_login_ajax_loading( form, false );
80				var rez = trx_addons_parse_ajax_response( response );
81				var result = form.find(".trx_addons_message_box")
82								.removeClass("trx_addons_message_box_error")
83								.removeClass("trx_addons_message_box_success"),
84					result_timeout = 3000;
85				if ( rez.error === '' ) {
86					result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_login_success']);
87					setTimeout( function() {
88						// Get a new URL to redirect after login
89						var new_url = rez.redirect_to !== ''
90										? ( rez.redirect_to.indexOf( 'action=confirm_email' ) != -1
91											? rez.redirect_to.substr( 0, rez.redirect_to.indexOf('?') )
92											: rez.redirect_to
93											)
94										: ( location.href.indexOf( 'action=confirm_email' ) != -1
95											? TRX_ADDONS_STORAGE['site_url']
96											: location.href
97											);
98						// Add random string to the URL to prevent caching
99						new_url = trx_addons_add_to_url( new_url, { rnd: trx_addons_get_unique_id() } );
100						// Redirect to the new URL
101						location.href = trx_addons_apply_filters( 'trx_addons_filter_redirect_url_after_login', new_url, rez );
102					}, result_timeout );
103				} else {
104					result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_login_error'] + (rez.error!==undefined ?  '<br>' + rez.error : ''));
105				}
106				result.fadeIn().delay(result_timeout).fadeOut();
107				jQuery(document).trigger(' action.got_ajax_response', {
108					action: 'trx_addons_login_user',
109					result: rez
110				});
111			});
112		}
113		return !TRX_ADDONS_STORAGE['login_via_ajax'] && !error;
114	}
115	
116
117	// Fix a redirect URL for compatibility with the LearnPress plugin: 
118	// if the plugin is active and the courses archive page is set as the homepage -
119	// adding the parameter 'rnd' to the URL will cause a redirect to the homepage.
120	trx_addons_add_filter( 'trx_addons_filter_redirect_url_after_login', function( url, rez ) {
121		if ( typeof lpData != 'undefined' && lpData.site_url === TRX_ADDONS_STORAGE['site_url'] ) {
122			url = lpData.site_url;
123		}
124		return url;
125	} );
126
127	
128	// Registration form validation
129	function trx_addons_registration_validate(form) {
130		form.find('input').removeClass('trx_addons_field_error');
131		var error = trx_addons_form_validate(form, {
132			error_message_time: 4000,
133			exit_after_first_error: true,
134			rules: [
135				{
136					field: "agree",
137					state: { value: 'checked', message: TRX_ADDONS_STORAGE['msg_not_agree'] },
138				},
139				{
140					field: "log",
141					min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_login_empty'] },
142					max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_login_long'] }
143				},
144				{
145					field: "email",
146					min_length: { value: 7, message: TRX_ADDONS_STORAGE['msg_email_not_val
146id'] },
147					max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_email_long'] },
148					mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_email_not_valid'] }
149				},
150				{
151					field: "pwd",
152					min_length: { value: 4, message: TRX_ADDONS_STORAGE['msg_password_empty'] },
153					max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_password_long'] }
154				},
155				{
156					field: "pwd2",
157					equal_to: { value: 'pwd', message: TRX_ADDONS_STORAGE['msg_password_not_equal'] }
158				}
159			]
160		});
161		if (!error) {
162			trx_addons_login_ajax_loading( form, true );
163			jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], {
164				action: 'trx_addons_registration_user',
165				nonce: TRX_ADDONS_STORAGE['ajax_nonce'],
166				redirect_to: form.find('input[name="redirect_to"]').length == 1 ? form.find('input[name="redirect_to"]').val() : '',
167				user_name: 	form.find('input[name="log"]').val(),
168				user_email: form.find('input[name="email"]').val(),
169				user_pwd: 	form.find('input[name="pwd"]').val()
170			}).done( function( response ) {
171				trx_addons_login_ajax_loading( form, false );
172				var rez = trx_addons_parse_ajax_response( response );
173				var result = form.find(".trx_addons_message_box")
174								.removeClass("trx_addons_message_box_error")
175								.removeClass("trx_addons_message_box_success"),
176					result_timeout = 3000;
177				if (rez.error === '') {
178					result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_registration_success']);
179					if ( ! TRX_ADDONS_STORAGE['double_opt_in_registration'] ) {
180						setTimeout( function() { 
181							if ( rez.redirect_to !== '' && trx_addons_apply_filters( 'trx_addons_filter_redirect_after_user_registration', false, rez.redirect_to ) ) {
182								location.href = rez.redirect_to;
183							} else {
184								jQuery('#trx_addons_login_popup .trx_addons_tabs_title_login > a').trigger('click'); 
185							}
186						}, result_timeout );
187					} else {
188						result_timeout = 5000;
189						setTimeout( function() { 
190							jQuery( '#trx_addons_login_popup .mfp-close').trigger( 'click' );
191						}, result_timeout );
192					}
193				} else {
194					result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_registration_error'] + (rez.error!==undefined ?  '<br>' + rez.error : ''));
195				}
196				result.fadeIn().delay(result_timeout).fadeOut();
197				jQuery( document ).trigger( 'action.got_ajax_response', {
198					action: 'trx_addons_registration_user',
199					result: rez
200				});
201			});
202		}
203		return false;
204	}
205
206	// Show/hide loading waiting block
207	function trx_addons_login_ajax_loading( form, on ) {
208		var $popup = form.parents( ".trx_addons_popup" );
209		var $loading = $popup.find( ".trx_addons_loading" );
210		if ( $loading.length == 0 ) {
211			$popup.append( '<div class="trx_addons_loading"></div>' );
212			$loading = $popup.find( " > .trx_addons_loading" );
213		}
214		if ( on ) {
215			$loading.fadeIn();
216		} else {
217			$loading.fadeOut();
218		}
219	}
220
221});

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.