Google Authenticator – WordPress Two Factor Authentication (2FA) - Version 5.3.17

Version Description

  • Google Authenticator-Two Factor Authentication (2FA) : Anti-Virus : Improved Stop Scan.
Download this release

Release Info

Developer cyberlord92
Plugin Icon 128x128 Google Authenticator – WordPress Two Factor Authentication (2FA)
Version 5.3.17
Comparing to
See all releases

Code changes from version 5.3.16 to 5.3.17

controllers/malware_scan_ajax.php CHANGED
@@ -201,11 +201,23 @@ class Mo_wpns_scan_malware
201
  function mo_wpns_stop_scan(){
202
 
203
  global $wpdb;
204
- update_option('mo_wpns_malware_scan_in_progress','COMPLETE');
205
- update_option('mo_wpns_files_scanned',0);
206
- update_option('mo_wpns_infected_files',0);
207
  $query="UPDATE `".$wpdb->base_prefix."options` SET `option_value` = '1' WHERE `option_name` = 'mo_stop_scan'";
208
  $test= $wpdb->get_results($query);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  wp_send_json('success');
210
 
211
  }
201
  function mo_wpns_stop_scan(){
202
 
203
  global $wpdb;
204
+
 
 
205
  $query="UPDATE `".$wpdb->base_prefix."options` SET `option_value` = '1' WHERE `option_name` = 'mo_stop_scan'";
206
  $test= $wpdb->get_results($query);
207
+ $scan_in_progress=true;
208
+ while($scan_in_progress){
209
+
210
+ $query="SELECT `option_value` from `".$wpdb->base_prefix."options` WHERE `option_name` = 'mo_stop_scan'";
211
+ $stop_scan= $wpdb->get_results($query);
212
+ $stop_scan_process=$stop_scan[0]->option_value;
213
+ if($stop_scan_process=="2"){
214
+ $scan_in_progress=false;
215
+ }
216
+
217
+ sleep(5);
218
+
219
+ }
220
+
221
  wp_send_json('success');
222
 
223
  }
handler/malware_scanner.php CHANGED
@@ -287,12 +287,16 @@ class Mo_wpns_Scan_Handler{
287
  $arr = array();
288
  global $wpdb;
289
  if($iterat>100){
290
- $query="SELECT `option_value` from `".$wpdb->base_prefix."options` WHERE `option_name` = 'mo_stop_scan'";
291
  $stop_scan= $wpdb->get_results($query);
292
  $stop_scan_process=$stop_scan[0]->option_value;
 
 
293
  if($stop_scan_process=="1"){
294
-
295
-
 
 
296
  error_log("Scan Stopped");
297
  wp_send_json('aborted');
298
  exit;
287
  $arr = array();
288
  global $wpdb;
289
  if($iterat>100){
290
+ $query="SELECT `option_value` from `".$wpdb->base_prefix."options` WHERE `option_name` = 'mo_stop_scan'";
291
  $stop_scan= $wpdb->get_results($query);
292
  $stop_scan_process=$stop_scan[0]->option_value;
293
+ //error_log($iterat." == >". $stop_scan_process);
294
+
295
  if($stop_scan_process=="1"){
296
+ update_option('mo_wpns_malware_scan_in_progress','COMPLETE');
297
+ update_option('mo_wpns_files_scanned',0);
298
+ update_option('mo_wpns_infected_files',0);
299
+ update_option("mo_stop_scan",'2');
300
  error_log("Scan Stopped");
301
  wp_send_json('aborted');
302
  exit;
miniorange_2_factor_settings.php CHANGED
@@ -3,18 +3,19 @@
3
  * Plugin Name: miniOrange 2 Factor Authentication
4
  * Plugin URI: https://miniorange.com
5
  * Description: This plugin provides various two-factor authentication methods as an additional layer of security after the default wordpress login. We Support Google/Authy/LastPass Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA) for 1 User in the free version of the plugin.
6
- * Version: 5.3.16
7
  * Author: miniOrange
8
  * Author URI: https://miniorange.com
9
  * License: GPL2
10
  */
11
  define( 'MO_HOST_NAME', 'https://login.xecurify.com' );
12
- define( 'MO2F_VERSION', '5.3.16' );
13
  define( 'MO2F_TEST_MODE', false );
14
  class Miniorange_twoFactor{
15
 
16
  function __construct()
17
  {
 
18
  register_deactivation_hook(__FILE__ , array( $this, 'mo_wpns_deactivate' ) );
19
  register_activation_hook (__FILE__ , array( $this, 'mo_wpns_activate' ) );
20
  add_action( 'admin_menu' , array( $this, 'mo_wpns_widget_menu' ) );
3
  * Plugin Name: miniOrange 2 Factor Authentication
4
  * Plugin URI: https://miniorange.com
5
  * Description: This plugin provides various two-factor authentication methods as an additional layer of security after the default wordpress login. We Support Google/Authy/LastPass Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA) for 1 User in the free version of the plugin.
6
+ * Version: 5.3.17
7
  * Author: miniOrange
8
  * Author URI: https://miniorange.com
9
  * License: GPL2
10
  */
11
  define( 'MO_HOST_NAME', 'https://login.xecurify.com' );
12
+ define( 'MO2F_VERSION', '5.3.17' );
13
  define( 'MO2F_TEST_MODE', false );
14
  class Miniorange_twoFactor{
15
 
16
  function __construct()
17
  {
18
+
19
  register_deactivation_hook(__FILE__ , array( $this, 'mo_wpns_deactivate' ) );
20
  register_activation_hook (__FILE__ , array( $this, 'mo_wpns_activate' ) );
21
  add_action( 'admin_menu' , array( $this, 'mo_wpns_widget_menu' ) );
readme.txt CHANGED
@@ -6,7 +6,7 @@ Donate link: https://miniorange.com/
6
  Requires at least: 3.0.1
7
  Tested up to: 5.3
8
  Requires PHP: 5.3.0
9
- Stable tag: 5.3.16
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -272,6 +272,9 @@ miniOrange authentication service has 15+ authentication methods.One time passco
272
 
273
  == Changelog ==
274
 
 
 
 
275
  = 5.3.16 =
276
  * Google Authenticator-Two Factor Authentication (2FA) : Anti-Virus : Stop Scan.
277
 
@@ -712,6 +715,9 @@ More descriptive setup messages and UI changes.
712
 
713
  == Upgrade Notice ==
714
 
 
 
 
715
  = 5.3.16 =
716
  * Google Authenticator-Two Factor Authentication (2FA) : Anti-Virus : Stop Scan.
717
 
6
  Requires at least: 3.0.1
7
  Tested up to: 5.3
8
  Requires PHP: 5.3.0
9
+ Stable tag: 5.3.17
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
272
 
273
  == Changelog ==
274
 
275
+ = 5.3.17 =
276
+ * Google Authenticator-Two Factor Authentication (2FA) : Anti-Virus : Improved Stop Scan.
277
+
278
  = 5.3.16 =
279
  * Google Authenticator-Two Factor Authentication (2FA) : Anti-Virus : Stop Scan.
280
 
715
 
716
  == Upgrade Notice ==
717
 
718
+ = 5.3.17 =
719
+ * Google Authenticator-Two Factor Authentication (2FA) : Anti-Virus : Improved Stop Scan.
720
+
721
  = 5.3.16 =
722
  * Google Authenticator-Two Factor Authentication (2FA) : Anti-Virus : Stop Scan.
723
 
views/scan_summary_view.php CHANGED
@@ -55,7 +55,9 @@ add_action('admin_footer','mo_wpns_start_scan');
55
  <div id="mo_wpns_progress" class="mo_wpns_progress">
56
  <div id="mo_wpns_progress_bar" class="mo_wpns_progress_bar">0%</div>
57
  </div>
 
58
  <input type="button" name="mo_stop_button" id="mo_stop_button" class="mo_wpns_scan_button" value="Stop Scan" style="margin-left: 45%;">
 
59
  </div>
60
 
61
  <?php
@@ -65,9 +67,11 @@ function mo_wpns_start_scan(){
65
  }
66
  ?>
67
  <script>
68
- var status_var,progress_bar,scan_progress;
69
  jQuery(document).ready(function(){
70
  scan_progress= "<?php echo get_option('mo_wpns_malware_scan_in_progress'); ?>";
 
 
71
  if(scan_progress=="IN PROGRESS"){
72
  status_progress();
73
  jQuery('input[name="quick_scan_button"]').attr('disabled', true);
@@ -94,12 +98,21 @@ function mo_wpns_start_scan(){
94
  }
95
  status_var = 1;
96
  document.getElementById("mo_progress").style.display="block";
 
 
 
 
 
 
 
 
97
  progress_bar = setInterval(status_progress, 2000);
98
  }
99
  jQuery('input[name="quick_scan_button"]').click(function(){
100
  document.getElementById("quick_scan_button").value = "Scanning...";
101
-
102
  document.getElementById("mo_progress").style.display="block";
 
 
103
  document.getElementById("progress_message").innerHTML = "Scan progress...";
104
  document.getElementById("mo_wpns_progress_bar").style.width= 0 + "%";
105
  document.getElementById("mo_wpns_progress_bar").innerHTML= 0 + "%";
@@ -138,6 +151,7 @@ function mo_wpns_start_scan(){
138
  }else{
139
  jQuery("#mo_scan_message").addClass("notice notice-success is-dismissible");
140
  jQuery("#mo_scan_message").append("Scan has been completed. You can see the results in the Scan Reports tab.");
 
141
  window.scrollTo({ top: 0, behavior: "smooth" });
142
  jQuery('#summary_all_scan_text').html(response['total_files']);
143
  jQuery('#summary_current_scan_text').html(response['scan_files']);
@@ -162,6 +176,8 @@ function mo_wpns_start_scan(){
162
  document.getElementById("standard_scan_button").value = "Scanning...";
163
 
164
  document.getElementById("mo_progress").style.display="block";
 
 
165
  document.getElementById("progress_message").innerHTML = "Scan progress...";
166
  document.getElementById("mo_wpns_progress_bar").style.width= 0 + "%";
167
  document.getElementById("mo_wpns_progress_bar").innerHTML= 0 + "%";
@@ -200,6 +216,7 @@ function mo_wpns_start_scan(){
200
  }else{
201
  jQuery("#mo_scan_message").addClass("notice notice-success is-dismissible");
202
  jQuery("#mo_scan_message").append("Scan has been completed. You can see the results in the Scan Reports tab.");
 
203
  window.scrollTo({ top: 0, behavior: "smooth" });
204
  jQuery('#summary_all_scan_text').html(response['total_files']);
205
  jQuery('#summary_current_scan_text').html(response['scan_files']);
@@ -223,6 +240,8 @@ function mo_wpns_start_scan(){
223
  document.getElementById("custom_scan_button").value = "Scanning...";
224
 
225
  document.getElementById("mo_progress").style.display="block";
 
 
226
  document.getElementById("progress_message").innerHTML = "Scan progress...";
227
  document.getElementById("mo_wpns_progress_bar").style.width= 0 + "%";
228
  document.getElementById("mo_wpns_progress_bar").innerHTML= 0 + "%";
@@ -261,6 +280,7 @@ function mo_wpns_start_scan(){
261
  }else{
262
  jQuery("#mo_scan_message").addClass("notice notice-success is-dismissible");
263
  jQuery("#mo_scan_message").append("Scan has been completed. You can see the results in the Scan Reports tab.");
 
264
  window.scrollTo({ top: 0, behavior: "smooth" });
265
  jQuery('#summary_all_scan_text').html(response['total_files']);
266
  jQuery('#summary_current_scan_text').html(response['scan_files']);
@@ -281,21 +301,31 @@ function mo_wpns_start_scan(){
281
  });
282
 
283
  jQuery('input[name="mo_stop_button"]').click(function(){
284
- jQuery('input[name="quick_scan_button"]').removeAttr('disabled');
285
- document.getElementById('quick_scan_button').style.backgroundColor = '#20b2aa';
286
- document.getElementById("quick_scan_button").value = "Quick Scan";
287
- jQuery('input[name="standard_scan_button"]').removeAttr('disabled');
288
- document.getElementById('standard_scan_button').style.backgroundColor = '#20b2aa';
289
- document.getElementById("standard_scan_button").value = "Standard Scan";
290
- jQuery('input[name="custom_scan_button"]').removeAttr('disabled');
291
- document.getElementById('custom_scan_button').style.backgroundColor = '#20b2aa';
292
- document.getElementById("custom_scan_button").value = "Custom Scan";
293
- document.getElementById("mo_progress").style.display="none";
294
  var data={
295
  'action':'mo_wpns_malware_redirect',
296
  'call_type':'malware_scan_terminate'
297
  };
298
  jQuery.post(ajaxurl, data, function(response){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299
  jQuery('#mo_scan_message').show();
300
  jQuery('#mo_scan_message').empty();
301
  jQuery("#mo_scan_message").addClass("notice notice-success is-dismissible");
@@ -330,6 +360,10 @@ function mo_wpns_start_scan(){
330
  jQuery('#summary_current_scan_text').html(response['scan_files']);
331
  jQuery('#summary_all_infect_text').html(response['total_mal']);
332
  jQuery('#summary_current_infect_text').html(response['mal_files']);
 
 
 
 
333
 
334
  }
335
  clearInterval(progress_bar);
@@ -340,6 +374,7 @@ function mo_wpns_start_scan(){
340
  var width= (response['scanned']/response['total'])*100;
341
  width = Math.round(width);
342
  }
 
343
  bar.style.width= width + "%";
344
  if(response['repo_scan']==1 && width==0){
345
  document.getElementById("progress_message").innerHTML= "Downloading plugins/themes/wordpress files from repository...";
55
  <div id="mo_wpns_progress" class="mo_wpns_progress">
56
  <div id="mo_wpns_progress_bar" class="mo_wpns_progress_bar">0%</div>
57
  </div>
58
+ <div id="mo_stop_button_div" style="display: none;">
59
  <input type="button" name="mo_stop_button" id="mo_stop_button" class="mo_wpns_scan_button" value="Stop Scan" style="margin-left: 45%;">
60
+ </div >
61
  </div>
62
 
63
  <?php
67
  }
68
  ?>
69
  <script>
70
+ var status_var,progress_bar,scan_progress,stop_scan_progress;
71
  jQuery(document).ready(function(){
72
  scan_progress= "<?php echo get_option('mo_wpns_malware_scan_in_progress'); ?>";
73
+ stop_scan_progress= "<?php echo get_option('mo_stop_scan'); ?>";
74
+
75
  if(scan_progress=="IN PROGRESS"){
76
  status_progress();
77
  jQuery('input[name="quick_scan_button"]').attr('disabled', true);
98
  }
99
  status_var = 1;
100
  document.getElementById("mo_progress").style.display="block";
101
+ document.getElementById('mo_stop_button_div').style.display="block";
102
+
103
+ if(stop_scan_progress==1){
104
+
105
+ jQuery('input[name="mo_stop_button"]').attr('disabled', true);
106
+ jQuery('input[name="mo_stop_button"]').val("Stop Scanning...");
107
+ document.getElementById('mo_stop_button').style.backgroundColor = '#b0d2cf';
108
+ }
109
  progress_bar = setInterval(status_progress, 2000);
110
  }
111
  jQuery('input[name="quick_scan_button"]').click(function(){
112
  document.getElementById("quick_scan_button").value = "Scanning...";
 
113
  document.getElementById("mo_progress").style.display="block";
114
+ jQuery('input[name="mo_stop_button"]').val("Stop Scan");
115
+ document.getElementById('mo_stop_button_div').style.display="block";
116
  document.getElementById("progress_message").innerHTML = "Scan progress...";
117
  document.getElementById("mo_wpns_progress_bar").style.width= 0 + "%";
118
  document.getElementById("mo_wpns_progress_bar").innerHTML= 0 + "%";
151
  }else{
152
  jQuery("#mo_scan_message").addClass("notice notice-success is-dismissible");
153
  jQuery("#mo_scan_message").append("Scan has been completed. You can see the results in the Scan Reports tab.");
154
+ document.getElementById('mo_stop_button_div').style.display="none";
155
  window.scrollTo({ top: 0, behavior: "smooth" });
156
  jQuery('#summary_all_scan_text').html(response['total_files']);
157
  jQuery('#summary_current_scan_text').html(response['scan_files']);
176
  document.getElementById("standard_scan_button").value = "Scanning...";
177
 
178
  document.getElementById("mo_progress").style.display="block";
179
+ jQuery('input[name="mo_stop_button"]').val("Stop Scan");
180
+ document.getElementById('mo_stop_button_div').style.display="block";
181
  document.getElementById("progress_message").innerHTML = "Scan progress...";
182
  document.getElementById("mo_wpns_progress_bar").style.width= 0 + "%";
183
  document.getElementById("mo_wpns_progress_bar").innerHTML= 0 + "%";
216
  }else{
217
  jQuery("#mo_scan_message").addClass("notice notice-success is-dismissible");
218
  jQuery("#mo_scan_message").append("Scan has been completed. You can see the results in the Scan Reports tab.");
219
+ document.getElementById('mo_stop_button_div').style.display="none";
220
  window.scrollTo({ top: 0, behavior: "smooth" });
221
  jQuery('#summary_all_scan_text').html(response['total_files']);
222
  jQuery('#summary_current_scan_text').html(response['scan_files']);
240
  document.getElementById("custom_scan_button").value = "Scanning...";
241
 
242
  document.getElementById("mo_progress").style.display="block";
243
+ jQuery('input[name="mo_stop_button"]').val("Stop Scan");
244
+ document.getElementById('mo_stop_button_div').style.display="block";
245
  document.getElementById("progress_message").innerHTML = "Scan progress...";
246
  document.getElementById("mo_wpns_progress_bar").style.width= 0 + "%";
247
  document.getElementById("mo_wpns_progress_bar").innerHTML= 0 + "%";
280
  }else{
281
  jQuery("#mo_scan_message").addClass("notice notice-success is-dismissible");
282
  jQuery("#mo_scan_message").append("Scan has been completed. You can see the results in the Scan Reports tab.");
283
+ document.getElementById('mo_stop_button_div').style.display="none";
284
  window.scrollTo({ top: 0, behavior: "smooth" });
285
  jQuery('#summary_all_scan_text').html(response['total_files']);
286
  jQuery('#summary_current_scan_text').html(response['scan_files']);
301
  });
302
 
303
  jQuery('input[name="mo_stop_button"]').click(function(){
304
+ jQuery('input[name="mo_stop_button"]').attr('disabled', true);
305
+
306
+ jQuery('input[name="mo_stop_button"]').val("Stop Scanning...");
307
+ document.getElementById('mo_stop_button').style.backgroundColor = '#b0d2cf';
308
+
 
 
 
 
 
309
  var data={
310
  'action':'mo_wpns_malware_redirect',
311
  'call_type':'malware_scan_terminate'
312
  };
313
  jQuery.post(ajaxurl, data, function(response){
314
+ jQuery('input[name="mo_stop_button"]').removeAttr('disabled');
315
+ document.getElementById('mo_stop_button').style.backgroundColor = '#20b2aa';
316
+
317
+ jQuery('input[name="mo_stop_button"]').val("Stop Scanning...");
318
+ jQuery('input[name="quick_scan_button"]').removeAttr('disabled');
319
+ document.getElementById('quick_scan_button').style.backgroundColor = '#20b2aa';
320
+ document.getElementById("quick_scan_button").value = "Quick Scan";
321
+ jQuery('input[name="standard_scan_button"]').removeAttr('disabled');
322
+ document.getElementById('standard_scan_button').style.backgroundColor = '#20b2aa';
323
+ document.getElementById("standard_scan_button").value = "Standard Scan";
324
+ jQuery('input[name="custom_scan_button"]').removeAttr('disabled');
325
+ document.getElementById('custom_scan_button').style.backgroundColor = '#20b2aa';
326
+ document.getElementById("custom_scan_button").value = "Custom Scan";
327
+ document.getElementById("mo_progress").style.display="none";
328
+
329
  jQuery('#mo_scan_message').show();
330
  jQuery('#mo_scan_message').empty();
331
  jQuery("#mo_scan_message").addClass("notice notice-success is-dismissible");
360
  jQuery('#summary_current_scan_text').html(response['scan_files']);
361
  jQuery('#summary_all_infect_text').html(response['total_mal']);
362
  jQuery('#summary_current_infect_text').html(response['mal_files']);
363
+ jQuery('input[name="mo_stop_button"]').val("Stop Scan");
364
+ document.getElementById('mo_stop_button_div').style.display="none";
365
+ document.getElementById('mo_stop_button').style.backgroundColor = '#20b2aa';
366
+ jQuery('input[name="mo_stop_button"]').removeAttr('disabled');
367
 
368
  }
369
  clearInterval(progress_bar);
374
  var width= (response['scanned']/response['total'])*100;
375
  width = Math.round(width);
376
  }
377
+ //alert(width);
378
  bar.style.width= width + "%";
379
  if(response['repo_scan']==1 && width==0){
380
  document.getElementById("progress_message").innerHTML= "Downloading plugins/themes/wordpress files from repository...";