1/** 2 * Login and Register 3 * 4 * @package WordPress 5 * @subpackage ThemeREX Addons 6 * @since v1.5 7 */ 8 9/* global jQuery, TRX_ADDONS_STORAGE */ 10 11jQuery(document).on('action.ready_trx_addons', function() { 12 13 "use strict"; 14 15/* 16 // Show/Hide user menu 17 if (jQuery('.trx_addons_login_link:not(.inited)').length > 0) { 18 jQuery('.trx_addons_login_link:not(.inited)').addClass('inited').on('click', function(e){ 19 jQuery(this).find('.trx_addons_login_menu').slideToggle().parent().toggleClass('menu_opened'); 20 e.preventDefault(); 21 return false; 22 }); 23 jQuery('body').on('click', function(e){ 24 jQuery(this).find('.trx_addons_login_menu:visible').slideUp().parent().removeClass('menu_opened'); 25 }); 26 } 27*/ 28 29 // Validate Login form 30 jQuery('form.trx_addons_popup_form_login:not(.inited)').addClass('inited').submit(function(e){ 31 var rez = trx_addons_login_validate(jQuery(this)); 32 if ( !rez ) { 33 e.preventDefault(); 34 } 35 return rez; 36 }); 37 38 // Validate Registration form 39 jQuery('form.trx_addons_popup_form_register:not(.inited)').addClass('inited').submit(function(e){ 40 var rez = trx_addons_registration_validate(jQuery(this)); 41 if ( !rez ) { 42 e.preventDefault(); 43 } 44 return rez; 45 }); 46 47 // Login form validation 48 function trx_addons_login_validate(form) { 49 form.find('input').removeClass('trx_addons_field_error'); 50 var error = trx_addons_form_validate(form, { 51 error_message_time: 4000, 52 exit_after_first_error: true, 53 rules: [ 54 { 55 field: "log", 56 min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_login_empty'] }, 57 max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_login_long'] } 58 }, 59 { 60 field: "pwd", 61 min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_password_empty'] }, 62 max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_password_long'] } 63 } 64 ] 65 }); 66 if (TRX_ADDONS_STORAGE['login_via_ajax'] && !error) { 67 jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { 68 action: 'trx_addons_login_user', 69 nonce: TRX_ADDONS_STORAGE['ajax_nonce'], 70 redirect_to: form.find('input[name="redirect_to"]').length == 1 ? form.find('input[name="redirect_to"]').val() : '', 71 remember: form.find('input[name="rememberme"]').val(), 72 user_log: form.find('input[name="log"]').val(), 73 user_pwd: form.find('input[name="pwd"]').val() 74 }).done(function(response) { 75 var rez = {}; 76 try { 77 rez = JSON.parse(response); 78 } catch(e) { 79 rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; 80 console.log(response); 81 } 82 var result = form.find(".trx_addons_message_box").removeClass("trx_addons_message_box_error").removeClass("trx_addons_message_box_success"); 83 if (rez.error === '') { 84 result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_login_success']); 85 setTimeout(function() { 86 if (rez.redirect_to !== '') { 87 location.href = rez.redirect_to; 88 } else { 89 location.reload(true); 90 } 91 }, 3000); 92 } else { 93 result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_login_error'] + (rez.error!==undefined ? '<br>' + rez.error : '')); 94 } 95 result.fadeIn().delay(3000).fadeOut(); 96 }); 97 } 98 return !TRX_ADDONS_STORAGE['login_via_ajax'] && !error; 99 } 100 101 102 // Registration form validation 103 function trx_addons_registration_validate(form) { 104 form.find('input').removeClass('trx_addons_field_error'); 105 var error = trx_addons_form_validate(form, { 106 error_message_time: 4000, 107 exit_after_first_error: true, 108 rules: [ 109 { 110 field: "agree", 111 state: { value: 'checked', message: TRX_ADDONS_STORAGE['msg_not_agree'] }, 112 }, 113 { 114 field: "log", 115 min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_login_empty'] }, 116 max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_login_long'] } 117 }, 118 { 119 field: "email", 120 min_length: { value: 7, message: TRX_ADDONS_STORAGE['msg_email_not_valid'] }, 121 max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_email_long'] }, 122 mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_email_not_val
122id'] } 123 }, 124 { 125 field: "pwd", 126 min_length: { value: 4, message: TRX_ADDONS_STORAGE['msg_password_empty'] }, 127 max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_password_long'] } 128 }, 129 { 130 field: "pwd2", 131 equal_to: { value: 'pwd', message: TRX_ADDONS_STORAGE['msg_password_not_equal'] } 132 } 133 ] 134 }); 135 if (!error) { 136 jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { 137 action: 'trx_addons_registration_user', 138 nonce: TRX_ADDONS_STORAGE['ajax_nonce'], 139 redirect_to: form.find('input[name="redirect_to"]').length == 1 ? form.find('input[name="redirect_to"]').val() : '', 140 user_name: form.find('input[name="log"]').val(), 141 user_email: form.find('input[name="email"]').val(), 142 user_pwd: form.find('input[name="pwd"]').val() 143 }).done(function(response) { 144 var rez = {}; 145 try { 146 rez = JSON.parse(response); 147 } catch (e) { 148 rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; 149 console.log(response); 150 } 151 var result = form.find(".trx_addons_message_box").removeClass("trx_addons_message_box_error").removeClass("trx_addons_message_box_success"); 152 if (rez.error === '') { 153 result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_registration_success']); 154 setTimeout(function() { 155 if (rez.redirect_to !== '') { 156 location.href = rez.redirect_to; 157 } else { 158 jQuery('#trx_addons_login_popup .trx_addons_tabs_title_login > a').trigger('click'); 159 } 160 }, 3000); 161 } else { 162 result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_registration_error'] + (rez.error!==undefined ? '<br>' + rez.error : '')); 163 } 164 result.fadeIn().delay(3000).fadeOut(); 165 }); 166 } 167 return false; 168 } 169 170});
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.