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