PluginProbe
The WP Remote WordPress Plugin / 6.76
The WP Remote WordPress Plugin v6.76
6.76 6.72 6.69 6.65 6.62 6.48 6.47 4.87 4.97 5.05 5.09 5.16 5.22 5.24 5.25 5.38 5.41 5.42 5.45 5.47 5.53 5.56 5.65 5.68 5.72 All 54 releases
← All changes | wp_2fa/js/login.js +20 -5 6.696.76 View file →
@@ -46,8 +46,11 @@
46 46 if (!loginForm || !usernameField || !passwordField || !loginButton) return;
47 47 loginForm.addEventListener('submit', handleSubmit);
48 48
49 49 function handleSubmit(event) {
50 + var formData = new FormData(loginForm);
51 + var isResendRequest = formData.get('twofa_resend') === '1';
52 +
50 53 event.preventDefault();
51 54 if (requestInFlight) return;
52 55 requestInFlight = true;
53 56 showProgressBar();
@@ -52,10 +55,8 @@
52 55 requestInFlight = true;
53 56 showProgressBar();
54 57 disableLoginButton();
55 58
56 - var formData = new FormData(loginForm);
57 - var isResendRequest = formData.get('twofa_resend') === '1';
58 59 if (isResendRequest) formData.delete('twofa_code');
59 60 clearResendStatus();
60 61
61 62 fetch(loginForm.action, {
@@ -92,8 +93,12 @@
92 93 : 'Your previous code is still valid.');
93 94 }
94 95 return;
95 96 }
97 + if (data.success) {
98 + proceedWithLogin();
99 + return;
100 + }
96 101
97 102 if (data.html) {
98 103 handleHtmlResponse(data.html, data.responseUrl, data.redirected);
99 104 } else if (data.data && data.data.message) {
@@ -121,14 +126,24 @@
121 126 var parser = new DOMParser();
122 127 var doc = parser.parseFromString(html, 'text/html');
123 128 var errorElement = doc.getElementById('login_error');
124 129 if (errorElement) {
125 - displayError(errorElement.innerText.trim());
126 - } else if (redirected && responseUrl) {
130 + displayError(errorElement.textContent.trim());
131 + } else if (isTwoFAEnabled && redirected && responseUrl) {
127 132 window.location.assign(responseUrl);
133 + } else if (isTwoFAEnabled) {
134 + displayError('An unknown error occurred');
128 135 } else {
129 - displayError('An unknown error occurred');
136 + proceedWithLogin();
130 137 }
138 + }
139 +
140 + function proceedWithLogin() {
141 + loginForm.removeEventListener('submit', handleSubmit);
142 + hideProgressBar();
143 + enableLoginButton();
144 + requestInFlight = false;
145 + loginForm.submit();
131 146 }
132 147
133 148 function showTwoFAField(data) {
134 149 var twofaField = document.getElementById('twofa-code-field');