PageSourceSearch

https://umcwv.org/wp-content/plugins/ajax-login-and-registration-m…/assets/lrm-core-pro.js?ver=2.18

js umcwv.org collected 2026-10-04 05:52:08 UTC 12,127 bytes, 378 lines download raw bytes

1var LRM_Pro = LRM_Pro ? LRM_Pro : {};
2
3setTimeout(function () {
4	if ( LRM_Pro.reCaptcha.is_active ) {
5		if ( ! LRM_Pro.reCaptcha.is_configured ) {
6			alert( "AJAX Login Modal: reCaptcha is enabled but the API keys are missing!" );
7			return;
8		}
9		// For invisible or Inline Forms - load early to collect the data
10		if ( LRM_Pro.reCaptcha.is_invisible || jQuery(".lrm-inline").length > 0 ) {
11			LRM_reCaptcha_load();
12		} else {
13			jQuery(document).on("lrm/show_modal", LRM_reCaptcha_load);
14		}
15	}
16}, 250);
17
18function LRM_reCaptcha_load() {
19	(function (d, s, id) {                      // Load the SDK asynchronously
20		var js, fjs = d.getElementsByTagName(s)[0];
21		if (d.getElementById(id)) return;
22		js = d.createElement(s);
23		js.id = id;
24		js.defer = js.async = true;
25		js.src = "https://www.google.com/recaptcha/api.js?onload=LRM_reCaptcha_onloadCallback&render=explicit";
26		fjs.parentNode.insertBefore(js, fjs);
27	}(document, 'script', 'lrm-recaptcha'));
28
29}
30function LRM_reCaptcha_onloadCallback() {
31	var grecaptchas = document.querySelectorAll(".lrm-grecaptcha");
32
33	for(var N = 0; N < grecaptchas.length; N++) {
34		grecaptchas[N].setAttribute("data-widget-id", grecaptcha.render( grecaptchas[N] ) );
35	}
36}
37
38function LRM_reCaptcha_submitCallback(token) {
39	jQuery("form[data-grecaptcha-execute]").submit();
40}
41
42jQuery(document).ready(function($) {
43
44	// BuddyPress
45
46	if ( LRM_Pro.buddypress_integration_is_on ) {
47		var $BP_Messages = $(".bp-messages");
48
49		if ($BP_Messages.length) {
50			$(".js-lrm-form .signup-form").prepend('<div class="lrm-form-message">' + $BP_Messages.find("p").html() + '</div>');
51			$BP_Messages.remove();
52		} else if ($(".js-lrm-form #buddypress #signup_form").length) {
53			$(".js-lrm-form #buddypress #signup_form").prepend('<div class="lrm-form-message"></div>');
54		}
55	}
56
57	$("#buddypress #activate-page a").on("click",function (event) {
58		event.preventDefault();
59		jQuery(document).trigger('lrm_show_login');
60	});
61
62
63	///////// ### UltimateMember Section ###
64
65	$(".lrm-signup-section .um-register form").addClass("lrm-form js-lrm-form").prepend('<p class="lrm-form-message lrm-form-message--init"></p>');
66
67	var $um_submits = $(".lrm-signup-section input#um-submit-btn");
68
69	$.each($um_submits, function(k, el) {
70		el.outerHTML = el.outerHTML.replace(/^\<input/, '<button') + el.value + '</button>';
71		// var $um_submit = $(el);
72		// $um_submit.removeAttr("type").attr("type", "submit").text( $um_submit.val() );
73	})
74
75	///////// ### Redirects Section ###
76
77	$(document).on('lrm/ajax_response', function (event, response, $form, action) {
78		if ( "email-verification-pro-w-redirect" === response.data.action && response.data.redirect_url ) {
79			window.location.href = response.data.redirect_url;
80			return;
81		}
82	});
83
84	//$(document).trigger('lrm_user_logged_in');
85	$(document).on("lrm_user_logged_in", function (event, response, $form, action) {
86		if ( LRM.redirect_url ) {
87			window.location.href = LRM.redirect_url;
88			return;
89		}
90
91		/**
92		 * Tweak for Single WOO Product page
93		 * @since 1.26
94		 */
95		if ( saved_target.length ) {
96			$( saved_target[1] ).trigger( saved_target[0] );
97			return;
98		}
99
100		if ( response.data.redirect_url ) {
101			window.location.href = response.data.redirect_url;
102			return;
103		}
104
105		//
106		// if ( ! LRM_Pro.redirect_urls.after_login && !LRM_Pro.redirect_urls.after_registration ) {
107		// 	return;
108		// }
109		//
110		// if ( LRM_Pro.redirect_urls.after_login && "login" == action ) {
111		// 	window.location.href = LRM_Pro.redirect_urls.after_login;
112		// } else if ( LRM_Pro.redirect_urls.after_registration && "registration" == action ) {
113		// 	window.location.href = LRM_Pro.redirect_urls.after_registration;
114		// }
115	});
116
117	// Fix for ACF PRO plugin
118	setTimeout(function() {
119		// action for 3rd party customization
120		if ("undefined" != typeof(acf)) {
121			acf.add_action('submit', function ($form) {
122				$form.data("lrm-acf-validated", "yes");
123			});
124		}
125	}, 100);
126
127	// $(document).on('submit', ".lrm-", function (event) {
128	//
129	// });
130	///////// ### Redirects Section :: END
131
132	///////// ### Woocommerce Section ###
133	if ( LRM_Pro.woo_add_to_cart_hook ) {
134		if ($("body").hasClass("single-product")) {
135			$(".lrm-form-message--init").html(LRM_Pro.l10n.woo_must_register);
136		}
137	}
138	if ( LRM_Pro.woo_on_proceed_to_checkout ) {
139		if ($("body").hasClass("woocommerce-cart")) {
140			$(".lrm-form-message--init").html(LRM_Pro.l10n.woo_must_register);
141		}
142	}
143
144	if ( LRM_Pro.woo_on_proceed_to_checkout ) {
145		// Show modal When clicked to "Process to Checkout" on Cart page	
146		$(".wc-proceed-to-checkout .checkout-button").on('click', function (event) {
147			if ( !LRM.is_customize_preview && LRM.is_user_logged_in) {
148				return;
149			}
150
151			//$(this).addClass("lrm-redirect");
152
153			event.preventDefault();
154			jQuery(document).trigger('lrm_show_signup');
155			saved_target = ["click", ".wc-proceed-to-checkout .checkout-button"];
156			// Redirect user to the Checkout after login/register
157			LRM.redirect_url = $(this).attr("href");
158		});
159	}
160
161	/**
162	 * Tweak for Single WOO Product page
163	 * Save event details to add for cart after log-in
164	 * @since 1.26
165	 */
166	var saved_target = [];
167
168	if ( LRM_Pro.woo_add_to_cart_hook ) {
169		// Product single page
170		$(document).on('submit', "form.cart", function (event) {
171			if ( !LRM.is_customize_preview && LRM.is_user_logged_in) {
172				return true;
173			}
174
175			event.preventDefault();
176			jQuery(document).trigger('lrm_show_signup');
177			saved_target = ["click", ".single_add_to_cart_button"];
178		});
179		// Products list
180		$(document).on('click', ".add_to_cart_button", function (event) {
181			if ( !LRM.is_customize_preview && LRM.is_user_logged_in) {
182				return true;
183			}
184
185			$(this).addClass("lrm-redirect");
186
187			event.preventDefault();
188			jQuery(document).trigger('lrm_show_signup', [event]);
189		});
190
191		// To stop adding to cart items
192		$(".add_to_cart_button").removeClass("ajax_add_to_cart");
193	}
194	///////// ### Woocommerce Section :: END
195
196	///////// ### reCaptcha Section ###
197
198	$(document).on('lrm/do_not_submit_form', function(event, form){
199		var $form = $(form);
200
201		let action = $form.data("action");
202		if ( action !== "login" && "no" !== LRM.validate_password_strength && lrm_val
202idate_password( form ) < 3 ) {
203			// Allow weak password for the "password-reset" page
204			if ( action === "password-reset" && "yes_allow_weak" === LRM.validate_password_strength && $(".pw-checkbox").attr("checked") ) {
205				return;
206			}
207			LRM_Form.set_message( $form, LRM.l10n.passwords_is_weak, true );
208			return true;
209		}
210
211		$("form[data-grecaptcha-execute]").attr("data-grecaptcha-execute", null);
212
213		var $is_GF = $form.find(".gform_hidden");
214		if ( $is_GF.length ) {
215			var GF_ID = $form.find("input[name='gform_submit']").val();
216		}
217
218		// typeof wp_recaptchaLoadCallback != "undefined" &&
219		if ( $form.find(".g-recaptcha-response").length && ! $form.find(".g-recaptcha-response").val() ) {
220			if ( $form.find(".inv-recaptcha-holder").length > 0 ) {
221				grecaptcha.execute($form.find(".inv-recaptcha-holder").data("widget-id"));
222			} else if ( $form.find(".lrm-grecaptcha").length > 0 ) {
223				var $lrmRecaptcha = $form.find(".lrm-grecaptcha");
224				var widgetID = $lrmRecaptcha.data("widget-id");
225				var recaptchaResponse = grecaptcha.getResponse(widgetID);
226				if ( recaptchaResponse ) {
227					// Allow Submission
228					return false;
229				}
230				if ( $lrmRecaptcha.data("size") === "invisible" ) {
231					grecaptcha.execute(widgetID);
232					$form.attr("data-grecaptcha-execute", "yes");
233				} else {
234					LRM_Form.set_message($form, LRM_Pro.l10n.recaptcha_error, true);
235					if ( $is_GF.length && GF_ID ) {
236						window["gf_submitting_" + GF_ID] = false;
237						$form.find(".gform_ajax_spinner").remove();
238					}
239				}
240			} else {
241				LRM_Form.set_message($form, LRM_Pro.l10n.recaptcha_error, true);
242				if ( $is_GF.length && GF_ID ) {
243					window["gf_submitting_" + GF_ID] = false;
244					$form.find(".gform_ajax_spinner").remove();
245				}
246			}
247			//$form.find(".lrm-form-message").html(LRM_Pro.l10n.recaptcha_error).addClass("lrm-is-error");
248			// DO not allow Submission!
249			return true;
250		}
251		// Allow Submission
252		return false;
253	});
254
255	// Match captcha
256	$(document).on('lrm/ajax_response', function( event, response, $form, action ){
257		if ( response.success && response.data.user_id && "registration" === action && LRM_Pro.hide_form_after_registration ) {
258			$form.addClass("--registration-done");
259		}
260		if (!response.success && "refresh_captcha" === response.data.action && response.data.html) {
261			$form.find(".lrm-math-captcha-content").html( response.data.html );
262
263			setTimeout(function() {
264				$form.find("input.lrm-match-value").trigger('focus');
265			}, 100);
266		}
267	});
268
269	$(document).on('lrm_pro/maybe_refresh_recaptcha', function(){
270
271		$(".lrm-signup-section #um-submit-btn").prop("disabled", "");
272
273		if ( typeof grecaptcha != "undefined" ) {
274			// Plugin Core reCaptcha
275			var captchas = [];
276
277			captchas = document.querySelectorAll(".lrm-grecaptcha");
278			if ( captchas.length ) {
279				for (var i=0;i<captchas.length;i++) {
280					if ( captchas[i].dataset.widgetId && grecaptcha.getResponse( captchas[i].dataset.widgetId ) ) {
281						grecaptcha.reset( captchas[i].dataset.widgetId );
282					}
283				}
284			}
285
286			captchas = document.querySelectorAll(".g-recaptcha");
287			if ( captchas.length ) {
288				for (var i=0;i<captchas.length;i++) {
289					if ( captchas[i].dataset.widgetId && grecaptcha.getResponse( captchas[i].dataset.widgetId ) ) {
290						grecaptcha.reset( captchas[i].dataset.widgetId );
291					}
292				}
293			}
294			/**
295			 * For "Google Captcha (reCAPTCHA) by BestWebSoft"
296			 * @since 1.29
297			 */
298			captchas = document.querySelectorAll(".gglcptch_recaptcha");
299			if ( captchas.length ) {
300				var gindex = null;
301				for (var i=0;i<captchas.length;i++) {
302					gindex = $(captchas[i]).data( "gglcptch_index" );
303					if ( gindex !== null ) {
304						//console.log( gindex );
305						grecaptcha.reset( gindex );
306					}
307					gindex = null;
308				}
309			}
310		}
311
312	});
313
314	$(document).on('lrm_gf_ajax', function( event, responseText, status, $form, action ) {
315		$(".js-lrm-form .gform_wrapper").html( responseText );
316		$(document).on('submit', '.js-lrm-form form', window.lrm_submit_form);
317
318		// Reset the GF "submitting" mark to allow submit the form again
319		var $is_GF = $form.find(".gform_hidden");
320		if ( $is_GF.length ) {
321			var GF_ID = $form.find("input[name='gform_submit']").val();
322
323			if ( GF_ID ) {
324				window["gf_submitting_" + GF_ID] = false;
325				$form.find(".gform_ajax_spinner").remove();
326
327				// re-render re-captcha
328				if ( $form.find(".ginput_recaptcha") ) {
329					grecaptcha.render( $form.find(".ginput_recaptcha")[0] );
330				}
331			}
332		}
333	});
334
335	setTimeout(function() {
336		// FIX for  https://wordpress.org/plugins/invisible-recaptcha/
337		if ( typeof renderInvisibleReCaptcha !== "undefined" ) {
338			$(".inv-recaptcha-holder").each(function (N, captcha_holder) {
339				$(captcha_holder).data("widget-id", N);
340			});
341		}
342	}, 500);
343	///////// ### reCaptcha Section :: END
344
345	// Binding to trigger checkPasswordStrength
346
347	$( 'body' ).on( 'keyup', '#signup-password,#signup-password-confirmation', function( event ) {
348		lrm_validate_password( this );
349	});
350
351	function lrm_validate_password( el ) {
352		// Stop, if modal is not visible!
353		var $el = $(el);
354		var is_pass_reset = $el.is("form") && $el.data("action") === "password-reset";
355
356		var $lrm_main = is_pass_reset ? $el : $(el).closest(".lrm-main");
357		if ( is_pass_reset || $lrm_main.hasClass("is-visible") ) {
358			if ( !is_pass_reset ) {
359				var $confirmation_pass = $lrm_main.find("#signup-password-confirmation").length ? $lrm_main.find("#signup-password-confirmation") : null;
360			}
361			var $pass_field = is_pass_reset ? $el.find("#lrm-password1") : $lrm_main.find("#signup-password");
362			return LRM.checkPasswordStrength(
363				  $pass_field,         // First password field
364				  $confirmation_pass,
365				  $pass_field.parent().parent().find(".lrm-pass-strength-result")           // Strength meter
366			);
367		}
368		return false;
369	}
370
371	// 	  .on( 'focus', '#signup-password', function( event ) {
372	// 	// Preload zxcvbn.js
373	// 	LRM.loadPasswordMeter(function() {});
374	// 	$( 'body' ).off( 'focus', '#signup-password' );
375	// });;
376
377	///////// ### Set Password Section :: END -
378});

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.