PageSourceSearch

https://www.prdaily.com/wp-content/plugins/omeda-users/public/js/omeda-users-public.js?ver=1.0.1

js prdaily.com collected 2026-09-24 07:13:31 UTC 18,973 bytes, 498 lines download raw bytes

1(function( $ ) {
2	'use strict';
3	// console.log('File for js public is loaded');
4	
5	// Used by class-omeda-users-omeda-api.php ajax calls to handle user logins
6	// Binding like this makes sure that when modal is displayed and get hidden again button will work when shown again
7	// This stops working when modal is closed and open again ('#omedau_loginForm_form #omedau_loginBtn').on('click', function (e) {});
8	$(document).one('click', '#omedau_loginForm_form #omedau_loginBtn', rt_loginclick);
9	$(document).one('click', '#omedau_forgotPasswordModal #omedau_passwordBtn_recover', rt_paswordrecovery);
10
11
12	//Buttons manipultation in forms
13	function rt_set_submit_buttons(selector) {
14		var btntext =  $(selector).children('span');
15	    var btnspinner =  $(selector).children('img');
16	    btntext.attr('style', 'display:none');
17	    btnspinner.attr('style', 'display:block');
18	}
19
20
21	function rt_reset_submit_buttons(selector) {
22		var btntext =  $(selector).children('span');
23	    var btnspinner =  $(selector).children('img');
24    	btntext.attr('style', 'display:block');
25    	btnspinner.attr('style', 'display:none');
26	}
27
28	//Message display function
29	function rt_show_message(text, selector, styleclass) {
30		jQuery(selector).html(text);
31        jQuery(selector).addClass(styleclass);
32        jQuery(selector).show();
33
34	}
35
36	function rt_remove_message(selector) {
37		jQuery(selector).html('');
38		jQuery(selector).removeClass('alert-success').removeClass('alert-danger');
39	    jQuery(selector).hide();
40	}
41
42
43	// login operations
44	function rt_loginclick(){
45		//e.preventDefault();
46		// var for message defined
47		var messagetext;
48		rt_remove_message('#omedau_loginModal .ajaxMsg');
49	    //console.log('Login form submitted button.');
50	    rt_set_submit_buttons('#omedau_loginForm_form #omedau_loginBtn');
51	    
52	    var username = jQuery('#omedau_loginForm_form #loginUsername').val();
53    	var pass = jQuery('#omedau_loginForm_form #loginPassword').val();
54	    
55	    //console.log ('usrname: ' + username + ' | password: ' + pass);
56
57		if (username.trim() === '' || pass.trim() === '') {
58			if (username.trim() === '' && pass.trim() === '') {
59				messagetext = "Please enter your login credentials.";
60			} else {
61				if (username.trim() === '' ) messagetext = "Please enter your email address as username.";
62				if (pass.trim() === '') messagetext = "Please enter your password.";
63			}
64
65			rt_show_message(messagetext, '#omedau_loginModal .ajaxMsg', 'alert-danger');
66	        rt_reset_submit_buttons('#omedau_loginForm_form #omedau_loginBtn');
67	        //reattach login
68	        $(document).one('click', '#omedau_loginForm_form #omedau_loginBtn', rt_loginclick);
69	        return false;
70	    }
71
72	    //omeda_login is name of registred ajax call by plugin
73	    var HOME_URL = window.location.origin;
74	    var ajaxURL = HOME_URL + '/wp-admin/admin-ajax.php';
75	    var redirectURL = window.location.href;
76		// exception for redirect
77		if (redirectURL=='https://www.ragan.com/the-writers-passport/') redirectURL = 'https://www.ragan.com/writers-passport-portal/';
78	    var data = {
79	        "action": "omeda_login",
80	        "CUS_EMAIL": username,
81	        "CUS_PASSWORD": pass,
82	        "sourceURL": redirectURL
83	    };
84	    var redirect = false;
85	    //console.log('Before AJAX CALL');
86
87		$.post(ajaxURL, data, function (data, status) {
88	        //console.log('Login started');
89	        //console.log(status);
90	        //console.log(data.status);
91	        rt_remove_message('#omedau_loginModal .ajaxMsg');
92	        if (status === 'success') {
93	            console.log('contacted');
94	            if (data.status === 'error') {
95	                console.log('error: ' + data.msg);
96	                rt_show_message(data.msg, '#omedau_loginModal .ajaxMsg', 'alert-danger');
97	            } else if (data.status === 'success') {
98	            	rt_show_message(data.msg, '#omedau_loginModal .ajaxMsg', 'alert-success');
99	            	//redirect = true;
100	            } else {
101	           		rt_show_message(data.msg, '#omedau_loginModal .ajaxMsg', 'alert-danger');
102	            }
103	        } else {
104	        	// Ajax failed
105	        	messagetext = 'Login service is currently down. Please try later. Is login issue persist contact [email protected].';
106	        	rt_show_message(messagetext, '#omedau_loginModal .ajaxMsg', 'alert-danger');
107	        }
108
109		}, 'json');
110
111	    var mytimer = setTimeout(function() {    	
112	    	console.log('3 secs later and bind click again');
113	    	if (redirect) window.location.href = redirectURL;
114
115	    	rt_reset_submit_buttons('#omedau_loginForm_form #omedau_loginBtn');
116	    	$(document).one('click', '#omedau_loginForm_form #omedau_loginBtn', rt_loginclick);
117	    }, 3000);
118	}
119
120
121	// Create / recover password
122
123	function rt_paswordrecovery(){
124		//console.log('Password recovery from started');
125	    //$(this).off('click', rt_loginclick);
126	    var btntext =  $('#forgotPasswordForm_form #omedau_passwordBtn_recover').children('span');
127	    var btnspinner =  $('#forgotPasswordForm_form #omedau_passwordBtn_recover').children('img');
128	    btntext.attr('style', 'display:none');
129	    btnspinner.attr('style', 'display:block');
130
131	    var username = jQuery('#forgotPasswordForm_form #loginpassUsern
131ame').val();
132    	//var pass = jQuery('#omedau_loginForm_form #loginPassword').val();
133	    
134	    console.log ('username: ' + username);
135
136		if (username.trim() === '') {
137	        jQuery('#omedau_forgotPasswordModal .ajaxMsg').html("Please enter your email.");
138	        jQuery('#omedau_forgotPasswordModal .ajaxMsg').addClass('alert-danger');
139	        jQuery('#omedau_forgotPasswordModal .ajaxMsg').show();
140	    }
141
142	    //omeda_login is name of registred ajax call by plugin
143	    var HOME_URL = window.location.origin;
144	    var ajaxURL = HOME_URL + '/wp-admin/admin-ajax.php';
145	    var data = {
146	        "action": "omeda_password",
147	        "CUS_EMAIL": username,
148	        "sourceURL": window.location.href 
149	    };
150	    //console.log('Before AJAX CALL for password');
151
152		$.post(ajaxURL, data, function (data, status) {
153	        console.log('Passowrd recovery started');
154	        console.log(status);
155	        console.log(data.status);
156	        console.log(data.msg);
157	        if (status === 'success') {
158	            console.log('contacted password');
159	            if (data.status === 'error') {
160	                console.log('error: ' + data.msg);
161
162	                jQuery('#omedau_forgotPasswordModal .ajaxMsg').html(data.msg);
163	                jQuery('#omedau_forgotPasswordModal .ajaxMsg').removeClass('alert-success').addClass('alert-danger');
164	                jQuery('#omedau_forgotPasswordModal .ajaxMsg').show();
165
166
167	            } else if (data.status === 'success') {
168	                jQuery('#omedau_forgotPasswordModal .ajaxMsg').html(data.msg);
169	                jQuery('#omedau_forgotPasswordModal .ajaxMsg').removeClass('alert-danger').addClass('alert-success');
170	                jQuery('#omedau_forgotPasswordModal .ajaxMsg').show();
171	                
172	            } else {
173	           		jQuery('#omedau_forgotPasswordModal .ajaxMsg').html('Data status not correct');
174	        		jQuery('#omedau_forgotPasswordModal .ajaxMsg').removeClass('alert-success').addClass('alert-danger');
175	        		jQuery('#omedau_forgotPasswordModal .ajaxMsg').show();
176
177	            }
178	        } else {
179	        	jQuery('#omedau_forgotPasswordModal .ajaxMsg').html('Ajax failed');
180	        	jQuery('#omedau_forgotPasswordModal .ajaxMsg').removeClass('alert-success').addClass('alert-danger');
181	        	jQuery('#omedau_forgotPasswordModal .ajaxMsg').show();
182	        }
183
184		}, 'json');
185
186	    var mytimer = setTimeout(function() {    	
187	    	console.log('3 secs later and bind click again passwordchange');
188	    	btntext.attr('style', 'display:block');
189	    	btnspinner.attr('style', 'display:none');
190	    	$(document).one('click', '#omedau_forgotPasswordModal #omedau_passwordBtn_recover', rt_paswordrecovery);
191	    }, 3000);
192
193	}
194
195	//Event modal is shown
196	//var openmodal = ''; // we will see if this is needed to follow status of open modals
197	$("#omedau_loginModal").on('shown.bs.modal', function(){
198	   //alert("Login modal is diplaying");
199	   // reset button look
200	   var btntext =  $('#omedau_loginForm_form #omedau_loginBtn').children('span');
201	   var btnspinner =  $('#omedau_loginForm_form #omedau_loginBtn').children('img');
202	   btntext.attr('style', 'display:block');
203	   btnspinner.attr('style', 'display:none');
204	   $('#omedau_loginModal .ajaxMsg.alert').attr('style', 'display:none;'); // hide message on subsequent open of login modal
205	   $('#omedau_forgotPasswordModal .ajaxMsg.alert').attr('style', 'display:none;'); // hide message on subsequent open of login modal
206	});
207
208	// Close all open modals except of selected one using this event
209	$('.modal').on('show.bs.modal', function () {
210	    $('.modal').not($(this)).each(function () {
211	        $(this).modal('hide');
212	    });
213	});
214
215	// Back to login modal link need too full reference form document level to work after modal closing
216
217	$(document).on('click', '.modal .backToLoginLink', function (e) {
218		e.preventDefault();
219		$("#omedau_loginModal").modal('show');
220	});
221
222	$(document).on('click', '.backToLoginLinkTrigger', function (e) {
223		e.preventDefault();
224		$("#omedau_loginModal").modal('show');
225	});
226
227	$(document).on('click', '.forgotPasswordLinkTrigger', function (e) {
228		e.preventDefault();
229		$("#omedau_forgotPasswordModal").modal('show');
230	});
231	
232	$(document).on('click', '.modal #accountSetUpModalFooterMsg', function (e) {
233		e.preventDefault();
234		//$("#omedau_CreateAccountModal").modal('show');
235		$("#omedau_forgotPasswordModal").modal('show');
236	});
237
238	$(document).on('click', '.modal #forgotPasswordLink', function (e) {
239		//alert('click');
240		e.preventDefault();
241		$("#omedau_forgotPasswordModal").modal('show');
242	});
243
244	// END OF class-omeda-users-omeda-api.php ajax calls to handle user logins
245
246	// show password recovery / setup form on specific link:
247	//https://next.ragantraining.com?setupyouraccount=1 
248	$(document).ready(function() {
249	    if (window.location.href.indexOf("?setupyouraccount=1") > -1) {
250	      $("#omedau_forgotPasswordModal").modal('show');
251	    }
252	});
253
254
255	//QUEUE Functions
256
257	$(document).one('click', '.omedau_addtoqueue', omedau_addqueue);
258	$(document).one('click', '.omedau_removefromqueue', omedau_removequeue);
259
260	function omedau_addqueue(){
261		//e.preventDefault();
262		// var for message defined
263		var messagetext;
264	    console.log('add to queue clicked');
265	    
266	    var elementobject = $(this);
267	    var elementid = $(this).attr('id');
268	    var postid = $(this).attr('id').replace("rtuqueue", "");
269	    var IsItButton = false;
270
271    	if ($(this).hasClass( "btn" )) IsItButton = true;
272	
273	    console.log ('postid: ' + postid);
274
275
276	   	var elementtext =  $(this).children('span');
277	   	var elementspinner =  $(this).children('img');
278	   	elementtext.attr('style', 'display:none');
279	    elementspinner.attr('style', 'display:block; float:right;');
280
281		
282	    //omeda_login is name of registred ajax call by plugin
283	    var HOME_URL =  window.location.origin;
284	    var ajaxURL = HOME_URL + '/wp-admin/admin-ajax.php';
285	    var data = {
286	        "action": "omedau_queue_add",
287	        "postid":postid
288	    };
289	    var redirect = false;
290	    console.log('Before AJAX CALL');
291
292		$.post(ajaxURL, data, function (data, status) {
293	        console.log('Login started');
294	        console.log(status);
295	        console.log(data.status);
296	        if (status === 'success') {
297	            console.log('contacted');
298	        } else {
299	        	// Ajax failed
300	        	console.log('Ajax failed');
301	        }
302
303		}, 'json');
304
305	    var mytimer = setTimeout(function() {    	
306	    	console.log('3 secs later and bind click again add queue');
307	    	if (IsItButton) {
308	    		$(elementobject).replaceWith( '<button id="'+elementid+'" class="btn btn-primary omedau_removefromqueue"><span style="display:block;">Remove from Queue</span><img src="'+ HOME_URL +'/wp-content/plugins/omeda-users/public/img/loading-32.gif" width="24" height="24" alt="" style="display: none;"></button>' );
309	    	} else {
310	    		$(elementobject).replaceWith( '<a href="javascript: void(0)" id="'+elementid+'" class="omedau_removefromqueue"><span style="display:block;">Remove from Queue</span><img src="'+ HOME_URL +'/wp-content/plugins/omeda-users/public/img/loading-32.gif" width="24" height="24" alt="" style="display: none;"></a>' );
311	    	}
312	    	$(document).one('click', '.omedau_addtoqueue', omedau_addqueue);
313			$(document).one('click', '.omedau_removefromqueue', omedau_removequeue);
314	    }, 3000);
315	}
316
317	function omedau_removequeue(){
318		//e.preventDefault();
319		// var for message defined
320		var messagetext;
321	    console.log('remove from queue clicked');
322	    
323	    var elementobject = $(this);
324	    var elementid = $(this).attr('id');
325	    var postid = $(this).attr('id').replace("rtuqueue", "");
326	    var IsItButton = false;
327
328    	if ($(this).hasClass( "btn" )) IsItButton = true;
329    	
330	    console.log ('postid: ' + postid);
331
332		var elementtext =  $(this).children('span');
333	   	var elementspinner =  $(this).children('img');
334	   	elementtext.attr('style', 'display:none');
335	    elementspinner.attr('style', 'display:block; float:right;');
336
337
338	    //omeda_login is name of registred ajax call by plugin
339	    var HOME_URL =  window.location.origin;
340	    var ajaxURL = HOME_URL + '/wp-admin/admin-ajax.php';
341	    var data = {
342	        "action": "omedau_queue_remove",
343	        "postid":postid
344	    };
345	    var redirect = false;
346	    console.log('Before AJAX CALL');
347
348		$.post(ajaxURL, data, function (data, status) {
349	        console.log('Login started');
350	        console.log(status);
351	        console.log(data.status);
352	        if (status === 'success') {
353	            console.log('contacted');
354	        } else {
355	        	// Ajax failed
356	        	console.log('Ajax failed');
357	        }
358
359		}, 'json');
360
361	    var mytimer = setTimeout(function() {    	
362	    	console.log('3 secs later and bind click again add queue');
363	    	if (IsItButton) {
364	    		$(elementobject).replaceWith( '<button id="'+elementid+'" class="btn btn-primary omedau_addtoqueue"><span style="display:block;">Add to Queue</span><img src="'+ HOME_URL +'/wp-content/plugins/omeda-users/public/img/loading-32.gif" width="24" height="24" alt="" style="display: none;"></button>' );
365	    	} else {
366	    		$(elementobject).replaceWith( '<a href="javascript: void(0)" id="'+elementid+'" class="omedau_addtoqueue"><span style="display:block;">Add to Queue</span><img src="'+ HOME_URL +'/wp-content/plugins/omeda-users/public/img/loading-32.gif" width="24" height="24" alt="" style="display: none;"></a>' );
367	    	}
368	    	$(document).one('click', '.omedau_addtoqueue', omedau_addqueue);
369			$(document).one('click', '.omedau_removefromqueue', omedau_removequeue);
370	    }, 3000);
371	}
372
373	//Password change/update form
374	$(document).on('click', '#PasswordRecovery_form #omedau_passwordBtn_forgotpassword', function (e) {
375		e.preventDefault();
376		var validation = true;
377		var error = "";
378		var password = $('#PasswordRecovery_form #loginPassword').val();
379		var password2 = $('#PasswordRecovery_form #loginPassword2').val();
380		$('#PasswordRecovery_form #loginPassword').removeClass('is-invalid');
381		$('#PasswordRecovery_form #loginPassword2').removeClass('is-invalid');
382
383		if(password === ""){
384			validation = false;
385			error = error + " Please enter your password";
386			$('#PasswordRecovery_form #loginPassword').addClass('is-invalid');
387		}
388
389		if(password2 ===""){
390			validation = false;
391			error = error + " Please confirm your password";
392			$('#PasswordRecovery_form #loginPassword2').addClass('is-invalid');
393		}
394
395		if(password !== password2){
396			validation = false;
397			error = error + " Your password and confirmation password do not match.";
398			$('#PasswordRecovery_form #loginPassword').addClass('is-invalid');
399			$('#PasswordRecovery_form #loginPassword2').addClass('is-invalid');
400		}
401
402		if (!(/^[a-zA-Z0-9~!@#$%^&*()_\-+=?.<>]+$/.test(password))) {
403			validation = false;
404			error = error + " Password can only consist of alphanumeric characters or ~!@#$%^&*()_-+=?.&lt;&gt;";
405		}
406	
407		if (!(validation)) {
408			$('#PasswordRecovery_form #errormsg').attr('style', 'display:inline;').addClass('invalid-feedback').html(error);
409		} else {
410			//alert('Submitting form');
411			$("#PasswordRecovery_form").submit();
412		}
413
414	});
415
416	
417
418	// CLC Form
419	$(document).on('click', '#clcregister #submitbtn', function (e) {
420		e.preventDefault();
421		var validation = true;
422		var firstname = $('#clcregister #clcFirstName').val();
423		var lastname = $('#clcregister #clcLastName').val();
424		var email = $('#clcregister #clcEmail').val();
425		var phone = $('#clcregister #clcPhone').val();;
426		var error = "";
427		$('#clcregister #clcFirstName').removeClass('is-invalid');
428		$('#clcregister #clcLastName').removeClass('is-invalid');
429		$('#clcregister #clcEmail').removeClass('is-invalid');
430		$('#clcregister #clcPhone').removeClass('is-invalid');
431		$('#clcregister #errormsg').attr('style', '').removeClass('invalid-feedback').html('');
432
433		if(firstname === ""){
434			validation = false;
435			error = error + " First name is required";
436			$('#clcregister #clcFirstName').addClass('is-invalid');
437		}
438
439		if(lastname === ""){
440			validation = false;
441			error = error + " Last name is required";
442			$('#clcregister #clcLastName').addClass('is-invalid');
443		}
444
445		if(email === ""){
446			validation = false;
447			error = error + " Email is required";
448			$('#clcregister #clcEmail').addClass('is-invalid');
449		} else if (/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(email)) {
450		    
451		    var domain = email.substring(email.lastIndexOf("@") +1);
452			var obj = JSON.parse(emaildomains);
453			if(obj.domains.indexOf(domain) > -1) {
454				// All good
455
456			} else {
457				validation = false;
458				var domains_string = '@' + obj.domains.toString();
459				console.log(domains_string);
460				domains_string = domains_string.replaceAll(',', ' or @');
461				console.log(domains_string);
462				if (obj.domains.length>1) {
463					// maybe copy change
464				}
465				$('#clcregister #clcEmail').addClass('is-invalid');
466				error = error + ' You have to use your work email '+domains_string+' to register. ';
467			}
468		    //console.log(obj.domains[0]);
469
470		} else {
471			validation = false;
472			error = error + " Email address is not valid";
473			$('#clcregister #clcEmail').addClass('is-invalid');
474		}		
475
476		if(phone === ""){
477			validation = false;
478			error = error + " Phone is required";
479			$('#clcregister #clcPhone').addClass('is-invalid');			
480		} else if (!(/^[0-9-() .+]+$/.test(phone))) {
481			//validation = false;
482			//error = error + " Please enter only numbers for phone number.";
483			//$('#clcregister #clcPhone').addClass('is-invalid');
484		}
485
486		if (!(validation)) {
487			$('#clcregister #errormsg').attr('style', 'display:inline;').addClass('invalid-feedback').html(error);
488		} else {
489			//alert('Submitting form');
490			$("#clcregister").submit();
491		}
492
493		//console.log("CLICK ON CLC FORM");
494		console.log(error);
495	});
496
497
498})( jQuery );

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.