PluginProbe
Two Factor Authentication / 1.2.6
Two Factor Authentication v1.2.6
1.12.2 1.13.0 1.14.10 1.14.11 1.14.14 1.14.15 1.14.16 1.14.17 1.14.23 1.14.24 1.14.26 1.14.27 1.14.3 1.14.4 1.14.5 1.14.7 1.14.8 1.15.5 1.16.0 1.2.10 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 All 98 releases
two-factor-authentication / includes / wooextend.js

wooextend.js in Two Factor Authentication 1.2.6, at includes/wooextend.js

101 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 jQuery(document).ready(function($) {
2
3 var submit_can_proceed = false;
4
5 // See if WooCommerce login form is present
6 if($('.woocommerce form.login').size() > 0) {
7 var tfa_wc_form = $('.woocommerce form.login').first();
8 var tfa_wc_user_field = $('.woocommerce [name=username]').first();
9 var tfa_wc_pass_field = $('.woocommerce [name=password]').first();
10 var tfa_wc_submit_btn = $('.woocommerce [name=login]').first();
11
12 // var tfa_wc_otp_btn = document.createElement('button');
13 // tfa_wc_otp_btn.id = 'tfa_wc_otp-button';
14 // tfa_wc_otp_btn.className = 'button button-large button-primary';
15 // tfa_wc_otp_btn.onclick = function(){ return tfaChangeToInput(); };
16 // tfa_wc_otp_btn.style.styleFloat = 'none';
17 // tfa_wc_otp_btn.style.cssFloat = 'none';
18 //
19 // var tfa_wc_btn_text = document.createTextNode(simbatfa_wc_settings.click_to_enter_otp);
20 // tfa_wc_otp_btn.appendChild(tfa_wc_btn_text);
21 // tfa_wc_otp_btn.style.width = '100%';
22
23 var tfa_wc_p = document.createElement('p');
24 tfa_wc_p.id = 'tfa_wc_holder';
25 tfa_wc_p.style.display = 'none';
26 tfa_wc_p.style.marginBottom = '15px';
27
28 // tfa_wc_p.appendChild(tfa_wc_otp_btn);
29 $(tfa_wc_p).insertBefore(tfa_wc_submit_btn);
30
31 var p = document.getElementById('tfa_wc_holder');
32 var lbl = document.createElement('label');
33 lbl.for = 'two_factor_auth';
34 var lbl_text = document.createTextNode(simbatfa_wc_settings.otp+' '+simbatfa_wc_settings.otp_login_help);
35 lbl.appendChild(lbl_text);
36
37 var tfa_field = document.createElement('input');
38 tfa_field.type = 'text';
39 tfa_field.id = 'two_factor_auth';
40 tfa_field.name = 'two_factor_code';
41 tfa_field.className = 'input-text';
42 // tfa_field.style = 'margin-left: 10px; padding-left: 10px;';
43 // lbl.appendChild(tfa_field);
44
45 //Remove button
46 // p.removeChild(document.getElementById('tfa_wc_otp-button'));
47
48 //Add text and input field
49 p.appendChild(lbl);
50 p.appendChild(tfa_field);
51 // tfa_field.focus();
52
53 }
54
55 $(tfa_wc_form).on('submit', function(e) {
56
57 if (submit_can_proceed) { return true; }
58
59 e.preventDefault();
60 //Check so a username is entered.
61 if(tfa_wc_user_field.val().length < 1)
62 {
63 alert(simbatfa_wc_settings.enter_username_first);
64 return false;
65 }
66
67
68 if (simbatfa_wc_settings.hasOwnProperty('spinnerimg')) {
69 $('label[for="rememberme"]').after('<img class="simbaotp_spinner" src="'+simbatfa_wc_settings.spinnerimg+'" style="margin-left: 4px;height: 20px; position: relative; top: 4px; border:0px; box-shadow:none;">');
70 }
71
72 $.ajax({
73 url: simbatfa_wc_settings.ajaxurl,
74 type: 'POST',
75 data: {
76 action: 'simbatfa-init-otp',
77 user: tfa_wc_user_field.val()
78 },
79 dataType: 'json',
80 success: function(response) {
81 submit_can_proceed = true;
82 if (response.status == true) {
83 $('.simbaotp_spinner').remove();
84 tfaShowOTPField();
85 } else {
86 $(tfa_wc_form).find('input[type="submit"]:first').click();
87 }
88 }
89 });
90
91 // $(tfa_wc_form).off();
92
93 });
94
95 function tfaShowOTPField() {
96 $(tfa_wc_user_field).parent().hide();
97 $(tfa_wc_pass_field).parent().hide();
98 $('#tfa_wc_holder').slideDown().find('input[name="two_factor_code"]').focus();
99 }
100
101 });