1/* The 6-digit activation OTP builder (window.jobsearchOtpFieldHtml) and its 2 * delegated controller live in the globally-enqueued js/jobsearch-plugin.js, 3 * so they're available on every front-end page where an activation field can 4 * appear (login popup, registration, apply-job). Don't redefine them here. */ 5jQuery(document).ready(function ($) { 6 7 // Login Signup Password Show Hide 8 jQuery('input[name="pt_user_pass"]').siblings('.jobsearch-user-showpass').on('click', function(e){ 9 e.preventDefault(); 10 var $passwordField = jQuery(this).siblings('input[name="pt_user_pass"]'); 11 var fieldType = $passwordField.attr('type'); 12 if (fieldType === 'password') { 13 $passwordField.attr('type', 'text'); 14 jQuery(this).addClass('jobsearch-user-hidepass'); 15 } else { 16 $passwordField.attr('type', 'password'); 17 jQuery(this).removeClass('jobsearch-user-hidepass'); 18 } 19 }); 20 21 // Function to toggle password visibility for confirmation password field 22 jQuery('input[name="pt_user_cpass"]').siblings('.jobsearch-user-showpass').on('click', function(e){ 23 e.preventDefault(); 24 var $passwordField = jQuery(this).siblings('input[name="pt_user_cpass"]'); 25 var fieldType = $passwordField.attr('type'); 26 if (fieldType === 'password') { 27 $passwordField.attr('type', 'text'); 28 jQuery(this).addClass('jobsearch-user-hidepass'); 29 } else { 30 $passwordField.attr('type', 'password'); 31 jQuery(this).removeClass('jobsearch-user-hidepass'); 32 } 33 }); 34 35 // Check if password field has a value on page load 36 jQuery('input[name="pt_user_pass"], input[name="pt_user_cpass"]').on('keyup', function() { 37 var $passwordField = jQuery(this); 38 var $icon = $passwordField.siblings('.jobsearch-user-showpass'); 39 if ($passwordField.val().trim() !== '') { 40 $icon.show(); 41 } else { 42 $icon.hide(); 43 } 44 }).trigger('keyup'); 45 46 47 48 49 50 // demo login 51 $(document).on('click', '.jobsearch-demo-login-btn', function () { 52 var _this = jQuery(this); 53 var user_type = 'candidate'; 54 var icon_class = 'jobsearch-icon jobsearch-user'; 55 if (_this.hasClass('employer-login-btn')) { 56 user_type = 'employer'; 57 icon_class = 'jobsearch-icon jobsearch-building'; 58 } 59 60 _this.find('i').attr('class', 'fa fa-refresh fa-spin'); 61 62 // The page nonce is baked into the HTML, so it can be STALE when the page 63 // is served from a cache (LiteSpeed etc.) -> the login fails with 64 // "You are not allowed to do this." Fetch a fresh nonce from admin-ajax 65 // (never cached) first, then perform the demo login with it. 66 $.ajax({
67 url: jobsearch_login_register_common_vars.ajax_url, 68 method: "POST", 69 data: { 'action': 'jobsearch_demo_login_nonce' }, 70 dataType: "json" 71 }).done(function (nres) { 72 jobsearch_do_demo_login((nres && nres.nonce) ? nres.nonce : jobsearch_comon_script_vars.nonce); 73 }).fail(function () { 74 jobsearch_do_demo_login(jobsearch_comon_script_vars.nonce); 75 }); 76 77 function jobsearch_do_demo_login(nonce) { 78 var request = $.ajax({ 79 url: jobsearch_login_register_common_vars.ajax_url, 80 method: "POST", 81 data: { 82 'user_type': user_type, 83 '_nonce': nonce, 84 'action': 'jobsearch_demo_user_login', 85 }, 86 dataType: "json" 87 }); 88 request.done(function (response) { 89 // Success = no error flag. Redirect to the dashboard when provided, 90 // otherwise reload (the auth cookie is already set). 91 if (response && (typeof response.error === 'undefined' || response.error === '0' || response.error === 0)) { 92 if (response.redirect) { 93 window.location.href = response.redirect; 94 } else { 95 window.location.reload(true); 96 } 97 return false; 98 } 99 // Failure: restore the icon and SHOW the server message instead of 100 // silently reloading (which previously hid "disabled"/"not allowed"). 101 _this.find('i').attr('class', icon_class); 102 var msg = (response && response.msg) ? response.msg : 'Demo login failed. Please try again.'; 103 if (typeof jobsearchAlert === 'function') { 104 jobsearchAlert('error', msg); 105 } else { 106 window.alert(msg); 107 } 108 }); 109 110 request.fail(function (jqXHR, textStatus) { 111 _this.find('i').attr('class', icon_class); 112 if (typeof jobsearchAlert === 'function') { 113 jobsearchAlert('error', 'Demo login request failed. Please try again.'); 114 } 115 }); 116 } 117 }); 118 119 // Post login form 120 $(document).on('click', '.jobsearch-login-submit-btn', function (e) { 121 e.preventDefault(); 122 var _this = $(this), 123 this_id = $(this).data('id'), 124 login_form = $('#login-form-' + this_id), 125 msg_con = login_form.find('.login-reg-errors'), 126 loader_con = login_form.find('.form-loader'); 127 var button = $(this).find('button'); 128 var btn_html = button.html(); 129 msg_con.hide(); 130 _this.addClass('disabled-btn'); 131 _this.attr('disabled', 'disabled'); 132 //button.html('loading'); 133 loader_con.show(); 134 loader_con.html('<i class="fa fa-refresh fa-spin"></i>'); 135 $.post(jobsearch_login_register_common_vars.ajax_url, login_form.serialize(), function (data) { 136 137 var obj = $.parseJSON(data); 138 var is_not_active = (typeof obj.not_active !== 'undefined' && obj.not_active == '1'); 139 var alert_type = (typeof obj.error !== 'undefined' && obj.error) ? 'error' : (is_not_active ? 'info' : 'success'); 140 jobsearchAlert(alert_type, obj.message); 141 142 loader_con.hide(); 143 loader_con.html(''); 144 _this.removeClass('disabled-btn'); 145 _this.removeAttr('disabled'); 146 msg_con.slideDown('slow'); 147 148 // Account not active: surface the activation popup automatically (prefilled email). 149 if (is_not_active) { 150 var actv_popup = jQuery('#JobSearchModalAccountActivationForm'); 151 var actv_email = (typeof obj.user_email !== 'undefined' && obj.user_email) ? obj.user_email : login_form.find('input[name="pt_user_login"]').val(); 152 actv_popup.find('input[name="user_email"]').val(actv_email).attr('value', actv_email); 153 jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade'); 154 jQuery('body').removeClass('jobsearch-modal-active'); 155 jobsearch_modal_popup_open('JobSearchModalAccountActivationForm'); 156 } 157 158 if (obj.error == false) { 159 // $('#pt-user-modal .modal-dialog').addClass('loading'); 160 //window.location.reload(true); 161 if (typeof obj.redirect !== 'undefined') { 162 window.location.href = obj.redirect; 163 } 164 button.hide(); 165 } 166 167 button.html(btn_html); 168 }); 169 });
170 // end login post 171 172 // Reset Password 173 // Switch forms login/register 174 $(document).on('click', '.lost-password', function (e) { 175 e.preventDefault(); 176 var this_id = $(this).data('id'); 177 $('.login-form-' + this_id).slideUp(); 178 $('.reset-password-' + this_id).slideDown(); 179 }); 180 $(document).on('click', '.login-form-btn', function (e) { 181 e.preventDefault(); 182 var this_id = $(this).data('id'); 183 $('.login-form-' + this_id).slideDown(); 184 $('.reset-password-' + this_id).slideUp(); 185 }); 186 $(document).on('click', '.register-form', function (e) { 187 e.preventDefault(); 188 var login_form = jQuery('#JobSearchModalLogin').find('form[id^="login-form-"]'); 189 var rgistr_form = jQuery('#JobSearchModalLogin').find('form[id^="registration-form-"]'); 190 var this_id = $(this).data('id'); 191 $('.reset-password-' + this_id).slideUp(); 192 $('.register-' + this_id).slideDown(); 193 $('.login-form-' + this_id).slideUp(); 194 195 // for redirect url 196 var redrct_hiden_field = login_form.find('input[name="jobsearch_wredirct_url"]'); 197 if (redrct_hiden_field.length > 0) { 198 var redrct_hiden_val = redrct_hiden_field.val(); 199 rgistr_form.append('<input type="hidden" name="jobsearch_wredirct_url" value="' + redrct_hiden_val + '">'); 200 if (rgistr_form.find('input[name="jobsearch_job_id"]').length == 0) { 201 var form_job_id = rgistr_form.attr('data-jid'); 202 rgistr_form.append('<input type="hidden" name="jobsearch_job_id" value="' + form_job_id + '">'); 203 } 204 redrct_hiden_field.remove(); 205 } 206 207 // for packages 208 var pkginfo_hiden_field = login_form.find('input[name="extra_login_params"]'); 209 if (pkginfo_hiden_field.length > 0) { 210 var pkginfo_hiden_val = pkginfo_hiden_field.val(); 211 rgistr_form.append('<input type="hidden" name="extra_login_params" value="' + pkginfo_hiden_val + '">'); 212 pkginfo_hiden_field.remove(); 213 } 214 }); 215 $(document).on('click', '.reg-tologin-btn', function (e) { 216 e.preventDefault(); 217 var login_form = jQuery('#JobSearchModalLogin').find('form[id^="login-form-"]'); 218 var rgistr_form = jQuery('#JobSearchModalLogin').find('form[id^="registration-form-"]'); 219 var this_id = $(this).data('id'); 220 $('.reset-password-' + this_id).slideUp(); 221 $('.register-' + this_id).slideUp(); 222 $('.login-form-' + this_id).slideDown(); 223 224 // for redirect url 225 var redrct_hiden_field = rgistr_form.find('input[name="jobsearch_wredirct_url"]'); 226 if (redrct_hiden_field.length > 0) { 227 var redrct_hiden_val = redrct_hiden_field.val(); 228 login_form.append('<input type="hidden" name="jobsearch_wredirct_url" value="' + redrct_hiden_val + '">'); 229 redrct_hiden_field.remove(); 230 } 231 232 // for packages 233 var pkginfo_hiden_field = rgistr_form.find('input[name="extra_login_params"]'); 234 if (pkginfo_hiden_field.length > 0) { 235 var pkginfo_hiden_val = pkginfo_hiden_field.val(); 236 login_form.append('<input type="hidden" name="extra_login_params" value="' + pkginfo_hiden_val + '">'); 237 pkginfo_hiden_field.remove(); 238 } 239 }); 240 241 $(document).on('click', '.user-type-chose-btn', function () { 242 var this_type = $(this).attr('data-type'); 243 if (this_type != 'jobsearch_employer' && this_type != 'jobsearch_candidate') {
244 $('.user-candidate-spec-field').slideUp(); 245 $('.user-employer-spec-field').slideUp(); 246 $('.employer-cus-field').slideUp(); 247 $('.candidate-cus-field').slideUp(); 248 249 $('.' + this_type + '-spec-field').slideDown(); 250 } else { 251 if (this_type == 'jobsearch_employer') { 252 $('.user-candidate-spec-field').slideUp(); 253 $('.user-employer-spec-field').slideDown(); 254 $('.employer-cus-field').slideDown(); 255 $('.candidate-cus-field').slideUp(); 256 257 $('.jobsearch_recruiter-spec-field').slideUp(); 258 259 $('.jobsearch-register-form').find('.jobsearch-box-title-sub').slideUp(); 260 $('.jobsearch-register-form').find('.jobsearch-login-media').slideUp(); 261 } else { 262 $('.user-candidate-spec-field').slideDown(); 263 $('.user-employer-spec-field').slideUp(); 264 $('.employer-cus-field').slide
264Up(); 265 $('.candidate-cus-field').slideDown(); 266 267 $('.jobsearch_recruiter-spec-field').slideUp(); 268 269 $('.jobsearch-register-form').find('.jobsearch-box-title-sub').slideDown(); 270 $('.jobsearch-register-form').find('.jobsearch-login-media').slideDown(); 271 } 272 } 273 $(this).parents('.jobsearch-user-type-choose').find('li').removeClass('active'); 274 $(this).parent('li').addClass('active'); 275 $(this).parents('form').find('input[name="pt_user_role"]').val(this_type); 276 }); 277 278 $(document).on('change', 'input[type="radio"][name="pt_user_role"], select[name="pt_user_role"]', function () { 279 var this_type = $(this).val(); 280 if (this_type != 'jobsearch_employer' && this_type != 'jobsearch_candidate') { 281 $('.user-candidate-spec-field').slideUp(); 282 $('.user-employer-spec-field').slideUp(); 283 $('.employer-cus-field').slideUp(); 284 $('.candidate-cus-field').slide
284Up(); 285 286 $('.' + this_type + '-spec-field').slideDown(); 287 } else { 288 if (this_type == 'jobsearch_employer') { 289 $('.user-candidate-spec-field').slideUp(); 290 $('.user-employer-spec-field').slideDown(); 291 $('.employer-cus-field').slideDown(); 292 $('.candidate-cus-field').slideUp(); 293 $('.jobsearch_recruiter-spec-field').slideUp(); 294 } else { 295 $('.user-candidate-spec-field').slideDown(); 296 $('.user-employer-spec-field').slideUp(); 297 $('.employer-cus-field').slideUp(); 298 $('.candidate-cus-field').slideDown(); 299 $('.jobsearch_recruiter-spec-field').slideUp(); 300 } 301 } 302 }); 303 304 $(document).on('click', '.jobsearch-reset-password-submit-btn', function (e) { 305 e.preventDefault(); 306 var _this = $(this), 307 this_id = $(this).data('id'), 308 reset_password_form = $('#reset-password-form-' + this_id), 309 msg_con = reset_password_form.find('.reset-password-errors'), 310 loader_con = reset_password_form.find('.form-loader'); 311 var button = $(this).find('button'); 312 var btn_html = button.html(); 313 //button.html('loading'); 314 msg_con.hide(); 315 _this.addClass('disabled-btn'); 316 _this.attr('disabled', 'disabled'); 317 loader_con.show(); 318 loader_con.html('<i class="fa fa-refresh fa-spin"></i>'); 319 320 var reset_password_form_o = $('#reset-password-form-' + this_id)[0]; 321 var formData = new FormData(reset_password_form_o); 322 formData.append('_nonce', jobsearch_comon_script_vars.nonce); 323 var request = $.ajax({ 324 url: jobsearch_login_register_common_vars.ajax_url, 325 method: "POST", 326 processData: false, 327 contentType: false, 328 data: formData, 329 dataType: "json" 330 }); 331 request.done(function (response) { 332 jobsearchAlert((typeof response.error !== 'undefined' && response.error) ? 'error' : 'success', response.message); 333 334 msg_con.slideDown('slow'); 335 336 _this.removeClass('disabled-btn'); 337 _this.removeAttr('disabled'); 338 339 loader_con.hide(); 340 loader_con.html(''); 341 342 button.html(btn_html); 343 }); 344 request.fail(function (jqXHR, textStatus) { 345 _this.removeClass('disabled-btn'); 346 _this.removeAttr('disabled'); 347 loader_con.hide(); 348 loader_con.html(''); 349 }); 350 }); 351 // end reset password 352 353 // Post register form 354 $(document).on('click', '.jobsearch-register-submit-btn', function (e) { 355 e.preventDefault(); 356 var _this = $(this), 357 this_id = $(this).data('id'), 358 registration_form = $('#registration-form-' + this_id), 359 msg_con = registration_form.find('.registration-errors'), 360 loader_con = registration_form.find('.form-loader'); 361 362 var reg_user_role = 'jobsearch_candidate'; 363 var user_role_con = registration_form.find('input[name=pt_user_role]'); 364 if (user_role_con.attr('type') == 'radio') { 365 reg_user_role = registration_form.find('input[name=pt_user_role]:checked').val(); 366 } else { 367 reg_user_role = user_role_con.val(); 368 } 369 370 if (registration_form.find('input[class="jobsearch-check-userph-check"]').length > 0) { 371 if (typeof confirmationResult === 'undefined') { 372 return false; 373 } 374 } 375 376 var _form_error = false; 377 378 var form_req_fields = registration_form.find('.jobsearch-regrequire-field'); 379 if (form_req_fields.length > 0) { 380 jQuery.each(form_req_fields, function () { 381 var _this_obj = jQuery(this); 382 if (typeof _this_obj.attr('name') !== undefined && _this_obj.attr('name') != '' && _this_obj.attr('name') != 'undefined' && !_this_obj.hasClass('selectize-control') && !_this_obj.hasClass('selectize-dropdown')) { 383 var field_type = 'text'; 384 if (_this_obj.parent('.jobsearch-profile-select').length > 0) { 385 field_type = 'select'; 386 } 387 if (_this_obj.attr('type') == 'checkbox' || _this_obj.attr('type') == 'radio') { 388 var chek_field_name = _this_obj.attr('name'); 389 if ((jQuery('input[name="' + chek_field_name + '"]:checked').length) <= 0) { 390 _form_error = true; 391 _this_obj.parents('.jobsearch-cusfield-checkbox').css({"border": "1p
391x solid #ff0000"}); 392 } else { 393 _this_obj.parents('.jobsearch-cusfield-checkbox').css({"border": "none"}); 394 } 395 } else { 396 if (_this_obj.val() == '' || _this_obj.val() === null) { 397 if (field_type == 'select') { 398 if (_this_obj.parents('li').is(':visible')) { 399 _form_error = true; 400 _this_obj.parent('.jobsearch-profile-select').css({"border": "1px solid #ff0000"}); 401 } 402 } else { 403 if (_this_obj.parents('li').is(':visible')) { 404 _form_error = true; 405 _this_obj.css({"border": "1px solid #ff0000"}); 406 } 407 } 408 } else { 409 if (field_type == 'select') { 410 _this_obj.parent('.jobsearch-profile-select').css({"border": "none"}); 411 } else { 412 if (!_this_obj.hasClass('phone-input-error')) { 413 _this_obj.css({"border": "1px solid #efefef"}); 414 } 415 } 416 } 417 } 418 } 419 }); 420 } 421 var req_li_fields = registration_form.find('.regrequire-field-li'); 422 if (req_li_fields.length > 0) { 423 jQuery.each(req_li_fields, function () { 424 var _this_li = jQuery(this); 425 var _this_obj = _this_li.find('input[type="text"],select'); 426 if (typeof _this_obj.attr('name') !== undefined && _this_obj.attr('name') != '' && _this_obj.attr('name') != 'undefined' && !_this_obj.hasClass('selectize-control') && !_this_obj.hasClass('selectize-dropdown')) { 427 var field_type = 'text'; 428 if (_this_obj.parent('.jobsearch-profile-select').length > 0) { 429 field_type = 'select'; 430 } 431 if (_this_obj.val() == '' || _this_obj.val() === null) { 432 if (field_type == 'select') { 433 if (_this_obj.parents('li').is(':visible')) { 434 _form_error = true; 435 _this_obj.parent('.jobsearch-profile-select').css({"border": "1px solid #ff0000"}); 436 } 437 } else { 438 if (_this_obj.parents('li').is(':visible')) { 439 _form_error = true; 440 _this_obj.css({"border": "1px solid #ff0000"}); 441 } 442 } 443 } else { 444 if (field_type == 'select') { 445 _this_obj.parent('.jobsearch-profile-select').css({"border": "none"}); 446 } else { 447 if (!_this_obj.hasClass('phone-input-error')) { 448 _this_obj.css({"border": "1px solid #efefef"}); 449 } 450 } 451 } 452 } 453 }); 454 } 455 456 var user_email = registration_form.find('input[name=pt_user_email]'); 457 458 var cv_file = registration_form.find('input[name="candidate_cv_file"]'); 459 460 if (cv_file.length > 0 && cv_file.val() == '' && cv_file.hasClass('cv_is_req') && reg_user_role == 'jobsearch_candidate') { 461 _form_error = true; 462 jQuery('#jobsearch-upload-cv-main' + this_id).css({"border": "1px solid #ff0000"}); 463 } else { 464 jQuery('#jobsearch-upload-cv-main' + this_id).css({"border": "none"}); 465 } 466 467 if (!_form_error) { 468 469 var user_phone = registration_form.find('input[name="pt_user_phone"]'); 470 471 var get_terr_val = jobsearch_accept_terms_cond_pop(registration_form); 472 if (get_terr_val != 'yes') { 473 return false; 474 } 475 476 if (registration_form.find('.other-conds-con').length > 0) { 477 var other_func = registration_form.find('.other-conds-con').attr('data-key'); 478 if (!jobsearch_js_call_user_func(other_func, [_this])) { 479 return false; 480 } 481 } 482 483 var error = 0; 484 // 485 if (user_phone.hasClass('phone-input-error')) {
486 jQuery('.phone-input-error').css({"border": "1px solid #ff0000"}); 487 error = 1; 488 } 489 490 if (error == 0) { 491 var button = $(this).find('button'); 492 var btn_html = button.html(); 493 //button.html('loading'); 494 msg_con.hide(); 495 _this.addClass('disabled-btn'); 496 _this.attr('disabled', 'disabled'); 497 loader_con.show(); 498 loader_con.html('<i class="fa fa-refresh fa-spin"></i>'); 499 //var form_data = registration_form.serialize(); 500 var reg_form_con = $('#registration-form-' + this_id); 501 var reg_ser_form = $('#registration-form-' + this_id)[0]; 502 var formData = new FormData(reg_ser_form); 503 504 var request = $.ajax({ 505 url: jobsearch_login_register_common_vars.ajax_url, 506 method: "POST", 507 processData: false, 508 contentType: false, 509 data: formData, 510 dataType: "json" 511 }); 512 request.done(function (response) { 513 if (typeof response.message !== 'undefined') { 514 var reg_not_active = (typeof response.not_active !== 'undefined' && response.not_active == '1'); 515 var reg_alert_type = (typeof response.error !== 'undefined' && response.error) ? 'error' : (reg_not_active ? 'info' : 'success'); 516 jobsearchAlert(reg_alert_type, response.message); 517 msg_con.slideDown('slow'); 518 button.html(btn_html); 519 _this.removeClass('disabled-btn'); 520 _this.removeAttr('disabled'); 521 522 // Email already registered but not activated: surface the activation popup (prefilled email). 523 if (reg_not_active) { 524 loader_con.hide(); 525 loader_con.html(''); 526 var reg_actv_popup = jQuery('#JobSearchModalAccountActivationForm'); 527 var reg_actv_email = (typeof response.user_email !== 'undefined' && response.user_email) ? response.user_email : user_email.val(); 528 reg_actv_popup.find('input[name="user_email"]').val(reg_actv_email).attr('value', reg_actv_email); 529 jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade'); 530 jQuery('body').removeClass('jobsearch-modal-active'); 531 jobsearch_modal_popup_open('JobSearchModalAccountActivationForm'); 532 return false; 533 } 534 535 if (typeof response.error !== 'undefined' && response.error == true) { 536 loader_con.hide(); 537 loader_con.html(''); 538 return false; 539 } 540 541 if (typeof response.check_activation !== 'undefined' && response.check_activation == '1') { 542 543 if (reg_form_con.closest('.jobsearch-modal').length) { 544 var form_main_fields = reg_form_con.find('>.jobsearch-user-form > ul > li'); 545 var codefield_html = window.jobsearchOtpFieldHtml({ liClass: 'jobsearch-email-codechkfield jobsearch-user-form-coltwo-full', label: jobsearch_login_register_common_vars.actvcode_fieldlbl }); 546 } else { 547 var form_main_fields = reg_form_con.find('> ul > li'); 548 var codefield_html = window.jobsearchOtpFieldHtml({ liClass: 'jobsearch-email-codechkfield', label: jobsearch_login_register_common_vars.actvcode_fieldlbl }); 549 } 550 form_main_fields.each(function() { 551 var _this_field = jQuery(this); 552 if (!_this_field.hasClass('regsend-submit-btncon')) { 553 _this_field.hide(); 554 } 555 }); 556 // 557 reg_form_con.find('>.jobsearch-box-title').hide(); 558 reg_form_con.find('>.jobsearch-user-options').hide(); 559 560 var sbmitbtn_con = reg_form_con.find('.regsend-submit-btncon'); 561 if (!reg_form_con.find('.jobsearch-email-codechkfield').length) { 562 if (!reg_form_con.find('.jobsearch-activ-notice').length) { 563 var rg_actv_email = user_email.length ? user_email.val() : ''; 564 var rg_notice_html = '<li class="jobsearch-activ-notice-li jobsearch-user-form-coltwo-full"><div class="jobsearch-activ-notice">' 565 + '<span class="jobsearch-activ-notice-icon"><i class="fa fa-envelope-o"></i></span>' 566 + '<div class="jobsearch-activ-notice-text">' 567 + '<p>' + jobsearch_login_register_common_vars.activ_notice_msg1 + '</p>' 568 + '<p><a href="javascript:void(0);" class="jobsearch-resend-accactbtn" data-login="' + rg_actv_email + '">' + jobsearch_login_register_common_vars.activ_notice_lnk + '</a> ' + jobsearch_login_register_common_vars.activ_notice_msg2 + '</p>' 569 + '</div></div></li>'; 570 sbmitbtn_con.before(rg_notice_html); 571 } 572 sbmitbtn_con.before(codefield_html); 573 } 574 sbmitbtn_con.find('input[type="submit"]').attr('value', jobsearch_login_register_common_vars.verify_btnlbl); 575 sbmitbtn_con.find('button[type="submit"]').html(jobsearch_login_register_common_vars.verify_btnlbl); 576 sbmitbtn_con.find('.terms-priv-chek-con').hide(); 577 sbmitbtn_con.find('.jobsearch-user-form-info').hide(); 578 reg_form_con.find('.jobsearch-login-media').hide(); 579 loader_con.html(''); 580 581 return false; 582 } 583 584 if (typeof response.redirect !== 'undefined') { 585 window.location.href = response.redirect; 586 } else { 587 if (typeof response.email_auth !== 'undefined' && response.email_auth == '1') { 588 var closePopOpnVrify = setInterval(function() { 589 loader_con.html(''); 590 jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade'); 591 jQuery('body').removeClass('jobsearch-modal-active'); 592 jQuery('#JobSearchModalAccountActivationForm').find('input[name="user_email"]').val(user_email.val()); 593 jQuery('#JobSearchModalAccountActivationForm').find('input[name="user_email"]').attr('value', user_email.val()); 594 jobsearch_modal_popup_open('JobSearchModalAccountActivationForm');
595 clearInterval(closePopOpnVrify); 596 }, 2000); 597 } else { 598 loader_con.html(''); 599 } 600 } 601 } 602 }); 603 request.fail(function (jqXHR, textStatus) { 604 _this.removeClass('disabled-btn'); 605 _this.removeAttr('disabled'); 606 loader_con.hide(); 607 loader_con.html(''); 608 }); 609 } 610 } 611 }); 612}); 613 614jQuery(document).on('click', '.jobsearch-resend-accactbtn', function (e) { 615 e.preventDefault(); 616 var _this = jQuery(this); 617 var user_login = _this.attr('data-login'); 618 // The account-activation popup link has no data-login; fall back to the email entered in the form. 619 if (!user_login) { 620 user_login = _this.closest('form').find('input[name="user_email"]').val(); 621 } 622 if (!user_login) { 623 jobsearchAlert('error', jobsearch_plugin_vars.error_msg); 624 return false; 625 } 626 _this.find('i').remove(); 627 var _this_html = _this.html(); 628 // 629 var thisemail_err_con = _this.parents('.login-reg-errors').find('.email-exceed-err'); 630 thisemail_err_con.hide(); 631 // 632 _this.html(_this_html + '<i class="fa fa-refresh fa-spin"></i>'); 633 var request = jQuery.ajax({ 634 url: jobsearch_plugin_vars.ajax_url, 635 method: "POST", 636 data: { 637 user_login: user_login, 638 _nonce: jobsearch_comon_script_vars.nonce, 639 action: 'jobsearch_resend_user_acc_approval_email', 640 }, 641 dataType: "json" 642 }); 643 644 request.done(function (response) { 645 if (typeof response.success !== 'undefined' && response.success == '1') { 646 _this.html(_this_html + '<i class="fa fa-check"></i>'); 647 if (response.msg) { 648 jobsearchAlert('success', response.msg); 649 } 650 // Inside the activation popup / inline verify form: keep it open so the user can enter the new code. 651 if (!_this.closest('.jobsearch-modal, form').length) { 652 window.location.reload(true); 653 } 654 } else { 655 _this.html(_this_html + '<i class="fa fa-times"></i>'); 656 if (response.msg) { 657 jobsearchAlert('error', response.msg); 658 } 659 } 660 }); 661 662 request.fail(function (jqXHR, textStatus) { 663 _this.html(_this_html + '<i class="fa fa-times"></i>'); 664 }); 665}); 666 667jQuery(document).on('click', '.user-passreset-submit-btn', function (e) { 668 e.preventDefault(); 669 var _this = jQuery(this); 670 var _user_id = _this.attr('data-id'); 671 var _user_key = _this.attr('data-key'); 672 673 var this_form = _this.parents('form'); 674 var this_loader = this_form.find('.loader-box'); 675 var this_msg_con = this_form.find('.message-box'); 676 677 var new_pass = this_form.find('input[name="new_pass"]'); 678 var conf_pass = this_form.find('input[name="conf_pass"]'); 679 var password_nonce = this_form.find('input[name="password_nonce"]'); 680 681 var error = 0; 682 if (new_pass.val() == '') { 683 error = 1; 684 new_pass.css({"border": "1px solid #ff0000"}); 685 } else { 686 new_pass.css({"border": "1px solid #d3dade"}); 687 } 688 if (conf_pass.val() == '') { 689 error = 1; 690 conf_pass.css({"border": "1px solid #ff0000"}); 691 } else { 692 conf_pass.css({"border": "1px solid #d3dade"}); 693 } 694 695 if (error == 0) { 696 697 this_msg_con.hide(); 698 this_loader.html('<i class="fa fa-refresh fa-spin"></i>'); 699 var request = jQuery.ajax({ 700 url: jobsearch_plugin_vars.ajax_url, 701 method: "POST", 702 data: { 703 user_id: _user_id, 704 user_key: _user_key, 705 new_pass: new_pass.val(), 706 conf_pass: conf_pass.val(), 707 password_nonce: password_nonce.val(), 708 action: 'jobsearch_pass_reseting_by_redirect_url', 709 }, 710 dataType: "json" 711 }); 712 713 request.done(function (response) { 714 if (typeof response.msg !== 'undefined') { 715 jobsearchAlert(response.error == '0' ? 'success' : (response.error == '2' ? 'warning' : 'error'), response.msg); 716 if (typeof response.error !== 'undefined' && response.error == '0') { 717 new_pass.val(''); 718 conf_pass.val(''); 719 jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade'); 720 jQuery('body').removeClass('jobsearch-modal-active'); 721 } 722 } else { 723 jobsearchAlert('error', jobsearch_plugin_vars.error_msg); 724 } 725 this_loader.html(''); 726 727 }); 728 729 request.fail(function (jqXHR, textStatus) { 730 jobsearchAlert('error', jobsearch_plugin_vars.error_msg); 731 }); 732 } 733});
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.