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

Version Description

  • Google Authenticator-Two Factor Authentication (2FA) : Security : fix UI Issue and improving 2fa.
Download this release

Release Info

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

Code changes from version 5.3.12 to 5.3.13

Files changed (59) hide show
  1. controllers/main_controller.php +15 -17
  2. controllers/two_fa.php +0 -4
  3. controllers/two_fa_custom_form.php +0 -2
  4. controllers/two_fa_custom_login.php +0 -3
  5. controllers/two_fa_login_option.php +0 -2
  6. controllers/two_fa_rba.php +0 -3
  7. controllers/two_fa_shortcode.php +0 -3
  8. controllers/two_fa_video_guide.php +0 -4
  9. controllers/{mo2fa_common_login.php → twofa/mo2fa_common_login.php} +17 -17
  10. controllers/{setup_twofa.php → twofa/setup_twofa.php} +1 -1
  11. controllers/twofa/two_fa.php +4 -0
  12. controllers/{two_fa_addon.php → twofa/two_fa_addon.php} +1 -1
  13. controllers/twofa/two_fa_custom_form.php +2 -0
  14. controllers/twofa/two_fa_custom_login.php +3 -0
  15. controllers/twofa/two_fa_login_option.php +2 -0
  16. controllers/twofa/two_fa_rba.php +3 -0
  17. controllers/twofa/two_fa_shortcode.php +3 -0
  18. controllers/twofa/two_fa_video_guide.php +4 -0
  19. handler/{class_miniorange_2fa_strong_password.php → twofa/class_miniorange_2fa_strong_password.php} +0 -0
  20. handler/{setup_twofa.php → twofa/setup_twofa.php} +16 -15
  21. handler/{two_fa_constants.php → twofa/two_fa_constants.php} +0 -0
  22. handler/{two_fa_login.php → twofa/two_fa_login.php} +1 -1
  23. handler/{two_fa_pass2login.php → twofa/two_fa_pass2login.php} +10 -10
  24. handler/{two_fa_settings.php → twofa/two_fa_settings.php} +2 -2
  25. handler/{two_fa_utility.php → twofa/two_fa_utility.php} +0 -0
  26. includes/css/style_settings.css +3 -3
  27. miniorange_2_factor_settings.php +7 -7
  28. readme.txt +7 -1
  29. views/test/test_twofa_email_verification.php +0 -76
  30. views/test/test_twofa_miniorange_qrcode_authentication.php +0 -97
  31. views/test_twofa_google_authy_authenticator.php +0 -35
  32. views/test_twofa_kba_questions.php +0 -55
  33. views/test_twofa_miniorange_push_notification.php +0 -68
  34. views/test_twofa_miniorange_soft_token.php +0 -38
  35. views/test_twofa_otp_over_sms.php +0 -51
  36. views/two_fa_custom_form.php +0 -17
  37. views/{setup_authy_authenticator.php → twofa/setup/setup_authy_authenticator.php} +0 -0
  38. views/{setup_google_authenticator.php → twofa/setup/setup_google_authenticator.php} +0 -0
  39. views/{setup_google_authenticator_onpremise.php → twofa/setup/setup_google_authenticator_onpremise.php} +0 -0
  40. views/{setup_kba_questions.php → twofa/setup/setup_kba_questions.php} +0 -0
  41. views/{setup_miniorange_authenticator.php → twofa/setup/setup_miniorange_authenticator.php} +4 -4
  42. views/{setup_otp_over_sms.php → twofa/setup/setup_otp_over_sms.php} +0 -0
  43. views/{setup_twofa.php → twofa/setup_twofa.php} +3 -3
  44. views/{test_twofa_email_verification.php → twofa/test/test_twofa_email_verification.php} +1 -1
  45. views/{test → twofa/test}/test_twofa_google_authy_authenticator.php +0 -0
  46. views/{test → twofa/test}/test_twofa_kba_questions.php +0 -0
  47. views/{test → twofa/test}/test_twofa_miniorange_push_notification.php +1 -1
  48. views/{test_twofa_miniorange_qrcode_authentication.php → twofa/test/test_twofa_miniorange_qrcode_authentication.php} +2 -2
  49. views/{test → twofa/test}/test_twofa_miniorange_soft_token.php +0 -0
  50. views/{test → twofa/test}/test_twofa_otp_over_sms.php +0 -0
  51. views/{two_fa.php → twofa/two_fa.php} +7 -7
  52. views/{two_fa_addon.php → twofa/two_fa_addon.php} +0 -0
  53. views/twofa/two_fa_custom_form.php +17 -0
  54. views/{two_fa_custom_login.php → twofa/two_fa_custom_login.php} +0 -0
  55. views/{two_fa_login_option.php → twofa/two_fa_login_option.php} +1 -1
  56. views/{two_fa_rba.php → twofa/two_fa_rba.php} +0 -0
  57. views/{two_fa_setup_notification.php → twofa/two_fa_setup_notification.php} +0 -0
  58. views/{two_fa_shortcode.php → twofa/two_fa_shortcode.php} +0 -0
  59. views/{two_fa_video_guide.php → twofa/two_fa_video_guide.php} +0 -0
controllers/main_controller.php CHANGED
@@ -41,7 +41,7 @@
41
  case 'mo_2fa_malwarescan':
42
  include $controller . 'scan_malware.php'; break;
43
  case 'mo_2fa_two_fa':
44
- include $controller . 'two_fa.php';
45
  update_option('mo2f_scan_nonce',wp_create_nonce('wpns-quick-scan')); break;
46
  }
47
  }
@@ -49,21 +49,19 @@
49
  include $controller . 'support.php';
50
  ?>
51
  <?php if(get_option('mo2f_scan_initialize')) { ?>
52
- <script>
53
- jQuery(document).ready(function(){
54
- var nonce = "<?php echo get_option('mo2f_scan_nonce');?>";
55
- var data={
56
- 'action':'mo_wpns_malware_redirect',
57
- 'call_type':'malware_scan_initiate',
58
- 'scan':'scan_start',
59
- 'scantype':'quick_scan',
60
- 'nonce': nonce
61
- };
62
- jQuery.post(ajaxurl, data, function(response){
63
-
64
- });
65
-
66
-
67
  });
68
- </script>
69
  <?php } ?>
41
  case 'mo_2fa_malwarescan':
42
  include $controller . 'scan_malware.php'; break;
43
  case 'mo_2fa_two_fa':
44
+ include $controller . 'twofa' . DIRECTORY_SEPARATOR . 'two_fa.php';
45
  update_option('mo2f_scan_nonce',wp_create_nonce('wpns-quick-scan')); break;
46
  }
47
  }
49
  include $controller . 'support.php';
50
  ?>
51
  <?php if(get_option('mo2f_scan_initialize')) { ?>
52
+ <script>
53
+ jQuery(document).ready(function(){
54
+ var nonce = "<?php echo get_option('mo2f_scan_nonce');?>";
55
+ var data={
56
+ 'action':'mo_wpns_malware_redirect',
57
+ 'call_type':'malware_scan_initiate',
58
+ 'scan':'scan_start',
59
+ 'scantype':'quick_scan',
60
+ 'nonce': nonce
61
+ };
62
+ jQuery.post(ajaxurl, data, function(response){
63
+
64
+ });
 
 
65
  });
66
+ </script>
67
  <?php } ?>
controllers/two_fa.php DELETED
@@ -1,4 +0,0 @@
1
- <?php
2
-
3
- include $dirName . 'views'.DIRECTORY_SEPARATOR.'two_fa.php';
4
- update_site_option('mo2f_two_factor',true);
 
 
 
 
controllers/two_fa_custom_form.php DELETED
@@ -1,2 +0,0 @@
1
- <?php
2
- include_once $dirName . 'views'.DIRECTORY_SEPARATOR.'two_fa_custom_form.php';
 
 
controllers/two_fa_custom_login.php DELETED
@@ -1,3 +0,0 @@
1
- <?php
2
-
3
- include $dirName . 'views'.DIRECTORY_SEPARATOR.'two_fa_custom_login.php';
 
 
 
controllers/two_fa_login_option.php DELETED
@@ -1,2 +0,0 @@
1
- <?php
2
- include_once $dirName . 'views'.DIRECTORY_SEPARATOR.'two_fa_login_option.php';
 
 
controllers/two_fa_rba.php DELETED
@@ -1,3 +0,0 @@
1
- <?php
2
-
3
- include $dirName . 'views'.DIRECTORY_SEPARATOR.'two_fa_rba.php';
 
 
 
controllers/two_fa_shortcode.php DELETED
@@ -1,3 +0,0 @@
1
- <?php
2
-
3
- include $dirName . 'views'.DIRECTORY_SEPARATOR.'two_fa_shortcode.php';
 
 
 
controllers/two_fa_video_guide.php DELETED
@@ -1,4 +0,0 @@
1
- <?php
2
- include_once $dirName . 'views'.DIRECTORY_SEPARATOR.'two_fa_video_guide.php';
3
-
4
-
 
 
 
 
controllers/{mo2fa_common_login.php → twofa/mo2fa_common_login.php} RENAMED
@@ -13,21 +13,21 @@ function mo2f_collect_device_attributes_handler( $redirect_to = null,$session_id
13
  <div>
14
  <form id="morba_loginform" method="post">
15
  <h1><?php echo mo2f_lt( 'Please wait' ); ?>...</h1>
16
- <img src="<?php echo plugins_url( 'includes/images/ajax-loader-login.gif', dirname(__FILE__) ); ?>"/>
17
  <?php
18
  if ( get_option( 'mo2f_remember_device' ) ) {
19
  ?>
20
  <p><input type="hidden" id="miniorange_rba_attribures" name="miniorange_rba_attribures" value=""/></p>
21
  <?php
22
- echo '<script src="' . plugins_url( 'includes/js/rba/js/jquery-1.9.1.js', dirname(__FILE__) ) . '" ></script>';
23
- echo '<script src="' . plugins_url( 'includes/js/rba/js/jquery.flash.js', dirname(__FILE__) ) . '" ></script>';
24
- echo '<script src="' . plugins_url( 'includes/js/rba/js/ua-parser.js', dirname(__FILE__) ) . '" ></script>';
25
- echo '<script src="' . plugins_url( 'includes/js/rba/js/client.js', dirname(__FILE__) ) . '" ></script>';
26
- echo '<script src="' . plugins_url( 'includes/js/rba/js/device_attributes.js', dirname(__FILE__) ) . '" ></script>';
27
- echo '<script src="' . plugins_url( 'includes/js/rba/js/swfobject.js', dirname(__FILE__) ) . '" ></script>';
28
- echo '<script src="' . plugins_url( 'includes/js/rba/js/fontdetect.js', dirname(__FILE__) ) . '" ></script>';
29
- echo '<script src="' . plugins_url( 'includes/js/rba/js/murmurhash3.js', dirname(__FILE__) ) . '" ></script>';
30
- echo '<script src="' . plugins_url( 'includes/js/rba/js/miniorange-fp.js', dirname(__FILE__) ) . '" ></script>';
31
  }
32
  ?>
33
  <input type="hidden" name="miniorange_attribute_collection_nonce"
@@ -385,7 +385,7 @@ function mo2f_get_push_notification_oobemail_prompt( $id, $login_status, $login_
385
  </div>
386
  <div id="showPushImage">
387
  <center>
388
- <img src="<?php echo plugins_url( '/../includes/images/ajax-loader-login.gif', __FILE__ ); ?>"/>
389
  </center>
390
  </div>
391
 
@@ -613,14 +613,14 @@ function mo2f_get_qrcode_authentication_prompt( $login_status, $login_message, $
613
  success: function (result) {
614
  var status = JSON.parse(JSON.stringify(result)).status;
615
  if (status == 'SUCCESS') {
616
- var content = "<div id='success'><center><img src='" + "<?php echo plugins_url( 'includes/images/right.png', dirname(__FILE__ ));?>" + "' /></center></div>";
617
  jQuery("#showQrCode").empty();
618
  jQuery("#showQrCode").append(content);
619
  setTimeout(function () {
620
  jQuery("#mo2f_mobile_validation_form").submit();
621
  }, 100);
622
  } else if (status == 'ERROR' || status == 'FAILED') {
623
- var content = "<div id='error'><center><img src='" + "<?php echo plugins_url( 'includes/images/wrong.png', dirname(__FILE__ ));?>" + "' /></center></div>";
624
  jQuery("#showQrCode").empty();
625
  jQuery("#showQrCode").append(content);
626
  setTimeout(function () {
@@ -796,7 +796,7 @@ function mo2f_get_device_form( $redirect_to, $session_id_encrypt ) {
796
  </div>
797
  <div id="showLoadingBar" hidden>
798
  <p class="mo2f_login_prompt_messages"><?php echo mo2f_lt( 'Please wait...We are taking you into your account.' ); ?></p>
799
- <img src="<?php echo plugins_url( 'includes/images/ajax-loader-login.gif', __FILE__ ); ?>"/>
800
  </div>
801
  <br><br>
802
  <span>
@@ -853,13 +853,13 @@ function mo2f_get_device_form( $redirect_to, $session_id_encrypt ) {
853
  function mo2f_customize_logo() { ?>
854
  <div style="float:right;"><a target="_blank" href="http://miniorange.com/2-factor-authentication"><img
855
  alt="logo"
856
- src="<?php echo plugins_url( '/includes/images/miniOrange2.png', dirname(__FILE__ )); ?>"/></a></div>
857
 
858
  <?php }
859
 
860
  function echo_js_css_files() {
861
  echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>';
862
- echo '<script src="' . plugins_url( 'includes/js/bootstrap.min.js', dirname(__FILE__ ) ) . '" ></script>';
863
- echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/twofa_style_settings.css?version=5.1.21', dirname(__FILE__ )) . '" />';
864
  }
865
  ?>
13
  <div>
14
  <form id="morba_loginform" method="post">
15
  <h1><?php echo mo2f_lt( 'Please wait' ); ?>...</h1>
16
+ <img src="<?php echo plugins_url( 'includes/images/ajax-loader-login.gif', dirname(dirname(dirname(__FILE__))) ); ?>"/>
17
  <?php
18
  if ( get_option( 'mo2f_remember_device' ) ) {
19
  ?>
20
  <p><input type="hidden" id="miniorange_rba_attribures" name="miniorange_rba_attribures" value=""/></p>
21
  <?php
22
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/jquery-1.9.1.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
23
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/jquery.flash.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
24
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/ua-parser.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
25
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/client.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
26
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/device_attributes.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
27
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/swfobject.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
28
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/fontdetect.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
29
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/murmurhash3.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
30
+ echo '<script src="' . plugins_url( 'includes/js/rba/js/miniorange-fp.js', dirname(dirname(dirname(__FILE__))) ) . '" ></script>';
31
  }
32
  ?>
33
  <input type="hidden" name="miniorange_attribute_collection_nonce"
385
  </div>
386
  <div id="showPushImage">
387
  <center>
388
+ <img src="<?php echo plugins_url( 'includes/images/ajax-loader-login.gif', dirname(dirname(__FILE__)) ); ?>"/>
389
  </center>
390
  </div>
391
 
613
  success: function (result) {
614
  var status = JSON.parse(JSON.stringify(result)).status;
615
  if (status == 'SUCCESS') {
616
+ var content = "<div id='success'><center><img src='" + "<?php echo plugins_url( 'includes/images/right.png', dirname(dirname(__FILE__)));?>" + "' /></center></div>";
617
  jQuery("#showQrCode").empty();
618
  jQuery("#showQrCode").append(content);
619
  setTimeout(function () {
620
  jQuery("#mo2f_mobile_validation_form").submit();
621
  }, 100);
622
  } else if (status == 'ERROR' || status == 'FAILED') {
623
+ var content = "<div id='error'><center><img src='" + "<?php echo plugins_url( 'includes/images/wrong.png', dirname(dirname(__FILE__)));?>" + "' /></center></div>";
624
  jQuery("#showQrCode").empty();
625
  jQuery("#showQrCode").append(content);
626
  setTimeout(function () {
796
  </div>
797
  <div id="showLoadingBar" hidden>
798
  <p class="mo2f_login_prompt_messages"><?php echo mo2f_lt( 'Please wait...We are taking you into your account.' ); ?></p>
799
+ <img src="<?php echo plugins_url( 'includes/images/ajax-loader-login.gif', dirname(dirname(__FILE__)) ); ?>"/>
800
  </div>
801
  <br><br>
802
  <span>
853
  function mo2f_customize_logo() { ?>
854
  <div style="float:right;"><a target="_blank" href="http://miniorange.com/2-factor-authentication"><img
855
  alt="logo"
856
+ src="<?php echo plugins_url( 'includes/images/miniOrange2.png', dirname(dirname(__FILE__))); ?>"/></a></div>
857
 
858
  <?php }
859
 
860
  function echo_js_css_files() {
861
  echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>';
862
+ echo '<script src="' . plugins_url( 'includes/js/bootstrap.min.js', dirname(dirname(__FILE__)) ) . '" ></script>';
863
+ echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/twofa_style_settings.css?version=5.1.21', dirname(dirname(__FILE__))) . '" />';
864
  }
865
  ?>
controllers/{setup_twofa.php → twofa/setup_twofa.php} RENAMED
@@ -7,4 +7,4 @@
7
  $email_registered = 1;
8
  else
9
  $email_registered = 0;
10
- include $dirName . 'views'.DIRECTORY_SEPARATOR.'setup_twofa.php';
7
  $email_registered = 1;
8
  else
9
  $email_registered = 0;
10
+ include $dirName .'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'setup_twofa.php';
controllers/twofa/two_fa.php ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php
2
+
3
+ include $dirName . 'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa.php';
4
+ update_site_option('mo2f_two_factor',true);
controllers/{two_fa_addon.php → twofa/two_fa_addon.php} RENAMED
@@ -1,4 +1,4 @@
1
  <?php
2
  global $Mo2fdbQueries;
3
  $mo2f_user_email = $Mo2fdbQueries->get_user_detail( 'mo2f_user_email', $current_user->ID );
4
- include_once $dirName . 'views'.DIRECTORY_SEPARATOR.'two_fa_addon.php';
1
  <?php
2
  global $Mo2fdbQueries;
3
  $mo2f_user_email = $Mo2fdbQueries->get_user_detail( 'mo2f_user_email', $current_user->ID );
4
+ include_once $dirName . 'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_addon.php';
controllers/twofa/two_fa_custom_form.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ include_once $dirName . 'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_custom_form.php';
controllers/twofa/two_fa_custom_login.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ include $dirName . 'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_custom_login.php';
controllers/twofa/two_fa_login_option.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ include_once $dirName .'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_login_option.php';
controllers/twofa/two_fa_rba.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ include $dirName . 'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_rba.php';
controllers/twofa/two_fa_shortcode.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ include $dirName . 'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_shortcode.php';
controllers/twofa/two_fa_video_guide.php ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php
2
+ include_once $dirName . 'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_video_guide.php';
3
+
4
+
handler/{class_miniorange_2fa_strong_password.php → twofa/class_miniorange_2fa_strong_password.php} RENAMED
File without changes
handler/{setup_twofa.php → twofa/setup_twofa.php} RENAMED
@@ -1,19 +1,20 @@
1
  <?php
2
 
3
- $dirName = dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR;
4
- include $dirName.'setup_google_authenticator.php';
5
- include $dirName.'setup_google_authenticator_onpremise.php';
6
- include $dirName.'setup_authy_authenticator.php';
7
- include $dirName.'setup_kba_questions.php';
8
- include $dirName.'setup_miniorange_authenticator.php';
9
- include $dirName.'setup_otp_over_sms.php';
10
- include $dirName.'test_twofa_email_verification.php';
11
- include $dirName.'test_twofa_google_authy_authenticator.php';
12
- include $dirName.'test_twofa_miniorange_qrcode_authentication.php';
13
- include $dirName.'test_twofa_kba_questions.php';
14
- include $dirName.'test_twofa_miniorange_push_notification.php';
15
- include $dirName.'test_twofa_miniorange_soft_token.php';
16
- include $dirName.'test_twofa_otp_over_sms.php';
 
17
 
18
  function mo2f_decode_2_factor( $selected_2_factor_method, $decode_type ) {
19
 
@@ -143,7 +144,7 @@
143
  <div style="width: 30%; float:left;">';
144
 
145
  if($is_image){
146
- $form .= '<img src="' . plugins_url( "includes/images/authmethods/" . $auth_method_abr . ".png", dirname(__FILE__ )) . '" style="width: 40px;height: 40px !important; padding: 20px; line-height: 80px;" />';
147
  }
148
 
149
  $form .= '</div>
1
  <?php
2
 
3
+ $setup_dirName = dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'setup'.DIRECTORY_SEPARATOR;
4
+ $test_dirName = dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'test'.DIRECTORY_SEPARATOR;
5
+ include $setup_dirName.'setup_google_authenticator.php';
6
+ include $setup_dirName.'setup_google_authenticator_onpremise.php';
7
+ include $setup_dirName.'setup_authy_authenticator.php';
8
+ include $setup_dirName.'setup_kba_questions.php';
9
+ include $setup_dirName.'setup_miniorange_authenticator.php';
10
+ include $setup_dirName.'setup_otp_over_sms.php';
11
+ include $test_dirName.'test_twofa_email_verification.php';
12
+ include $test_dirName.'test_twofa_google_authy_authenticator.php';
13
+ include $test_dirName.'test_twofa_miniorange_qrcode_authentication.php';
14
+ include $test_dirName.'test_twofa_kba_questions.php';
15
+ include $test_dirName.'test_twofa_miniorange_push_notification.php';
16
+ include $test_dirName.'test_twofa_miniorange_soft_token.php';
17
+ include $test_dirName.'test_twofa_otp_over_sms.php';
18
 
19
  function mo2f_decode_2_factor( $selected_2_factor_method, $decode_type ) {
20
 
144
  <div style="width: 30%; float:left;">';
145
 
146
  if($is_image){
147
+ $form .= '<img src="' . plugins_url( "includes/images/authmethods/" . $auth_method_abr . ".png", dirname(dirname(__FILE__))) . '" style="width: 40px;height: 40px !important; padding: 20px; line-height: 80px;" />';
148
  }
149
 
150
  $form .= '</div>
handler/{two_fa_constants.php → twofa/two_fa_constants.php} RENAMED
File without changes
handler/{two_fa_login.php → twofa/two_fa_login.php} RENAMED
@@ -21,7 +21,7 @@
21
  * This library is miniOrange Authentication Service.
22
  * Contains Request Calls to Customer service.
23
  **/
24
- include dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'controllers'.DIRECTORY_SEPARATOR.'mo2fa_common_login.php';
25
 
26
  class Miniorange_Mobile_Login {
27
 
21
  * This library is miniOrange Authentication Service.
22
  * Contains Request Calls to Customer service.
23
  **/
24
+ include dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'mo2fa_common_login.php';
25
 
26
  class Miniorange_Mobile_Login {
27
 
handler/{two_fa_pass2login.php → twofa/two_fa_pass2login.php} RENAMED
@@ -22,7 +22,7 @@
22
  * Contains Request Calls to Customer service.
23
  **/
24
 
25
- include 'two_fa_login.php';
26
  class Miniorange_Password_2Factor_Login {
27
 
28
  private $mo2f_kbaquestions;
@@ -741,15 +741,15 @@ class Miniorange_Password_2Factor_Login {
741
  ?>
742
  <p><input type="hidden" id="miniorange_rba_attribures" name="miniorange_rba_attribures" value=""/></p>
743
  <?php
744
- wp_enqueue_script( 'jquery_script', plugins_url( 'includes/js/rba/js/jquery-1.9.1.js', dirname(__FILE__) ) );
745
- wp_enqueue_script( 'flash_script', plugins_url( 'includes/js/rba/js/jquery.flash.js', dirname(__FILE__) ) );
746
- wp_enqueue_script( 'uaparser_script', plugins_url( 'includes/js/rba/js/ua-parser.js', dirname(__FILE__) ) );
747
- wp_enqueue_script( 'client_script', plugins_url( 'includes/js/rba/js/client.js', dirname(__FILE__) ) );
748
- wp_enqueue_script( 'device_script', plugins_url( 'includes/js/rba/js/device_attributes.js', dirname(__FILE__) ) );
749
- wp_enqueue_script( 'swf_script', plugins_url( 'includes/js/rba/js/swfobject.js', dirname(__FILE__) ) );
750
- wp_enqueue_script( 'font_script', plugins_url( 'includes/js/rba/js/fontdetect.js', dirname(__FILE__) ) );
751
- wp_enqueue_script( 'murmur_script', plugins_url( 'includes/js/rba/js/murmurhash3.js', dirname(__FILE__) ) );
752
- wp_enqueue_script( 'miniorange_script', plugins_url( 'includes/js/rba/js/miniorange-fp.js', dirname(__FILE__) ) );
753
  }else{
754
 
755
 
22
  * Contains Request Calls to Customer service.
23
  **/
24
 
25
+ include dirname(__FILE__).DIRECTORY_SEPARATOR.'two_fa_login.php';
26
  class Miniorange_Password_2Factor_Login {
27
 
28
  private $mo2f_kbaquestions;
741
  ?>
742
  <p><input type="hidden" id="miniorange_rba_attribures" name="miniorange_rba_attribures" value=""/></p>
743
  <?php
744
+ wp_enqueue_script( 'jquery_script', plugins_url( 'includes/js/rba/js/jquery-1.9.1.js', dirname(dirname(__FILE__)) ) );
745
+ wp_enqueue_script( 'flash_script', plugins_url( 'includes/js/rba/js/jquery.flash.js', dirname(dirname(__FILE__)) ) );
746
+ wp_enqueue_script( 'uaparser_script', plugins_url( 'includes/js/rba/js/ua-parser.js', dirname(dirname(__FILE__)) ) );
747
+ wp_enqueue_script( 'client_script', plugins_url( 'includes/js/rba/js/client.js', dirname(dirname(__FILE__)) ) );
748
+ wp_enqueue_script( 'device_script', plugins_url( 'includes/js/rba/js/device_attributes.js', dirname(dirname(__FILE__)) ) );
749
+ wp_enqueue_script( 'swf_script', plugins_url( 'includes/js/rba/js/swfobject.js', dirname(dirname(__FILE__)) ) );
750
+ wp_enqueue_script( 'font_script', plugins_url( 'includes/js/rba/js/fontdetect.js', dirname(dirname(__FILE__)) ) );
751
+ wp_enqueue_script( 'murmur_script', plugins_url( 'includes/js/rba/js/murmurhash3.js', dirname(dirname(__FILE__)) ) );
752
+ wp_enqueue_script( 'miniorange_script', plugins_url( 'includes/js/rba/js/miniorange-fp.js', dirname(dirname(__FILE__)) ) );
753
  }else{
754
 
755
 
handler/{two_fa_settings.php → twofa/two_fa_settings.php} RENAMED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
- include 'two_fa_pass2login.php';
4
- include dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.'two_fa_setup_notification.php';
5
  include 'class_miniorange_2fa_strong_password.php';
6
  class Miniorange_Authentication {
7
 
1
  <?php
2
 
3
+ include dirname(__FILE__).DIRECTORY_SEPARATOR.'two_fa_pass2login.php';
4
+ include dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_setup_notification.php';
5
  include 'class_miniorange_2fa_strong_password.php';
6
  class Miniorange_Authentication {
7
 
handler/{two_fa_utility.php → twofa/two_fa_utility.php} RENAMED
File without changes
includes/css/style_settings.css CHANGED
@@ -1057,7 +1057,7 @@ h2.mo_wpns_nav-tab-wrapper
1057
  padding: 10px;
1058
  text-align: center;
1059
  text-decoration: none;
1060
- display: inline-table;
1061
  font-size: 20px;
1062
  margin: 5px 0px;
1063
  cursor: pointer;
@@ -1307,7 +1307,7 @@ h1 .nav-tab, div .nav-tab
1307
  padding: 10px;
1308
  text-align: center;
1309
  text-decoration: none;
1310
- display: inline-table;
1311
  box-shadow: 3px 4px 3px #888888;
1312
 
1313
  /*font-size: 20px;*/
@@ -2446,7 +2446,7 @@ a.mo2f_thumbnail:hover, a.mo2f_thumbnail:focus, a.mo2f_thumbnail.active {
2446
  border: 1px;
2447
  text-align: center;
2448
  text-decoration: none;
2449
- display: inline-table;
2450
  font-size: 20px;
2451
  margin: 0px 0px;
2452
  cursor: pointer;
1057
  padding: 10px;
1058
  text-align: center;
1059
  text-decoration: none;
1060
+
1061
  font-size: 20px;
1062
  margin: 5px 0px;
1063
  cursor: pointer;
1307
  padding: 10px;
1308
  text-align: center;
1309
  text-decoration: none;
1310
+
1311
  box-shadow: 3px 4px 3px #888888;
1312
 
1313
  /*font-size: 20px;*/
2446
  border: 1px;
2447
  text-align: center;
2448
  text-decoration: none;
2449
+
2450
  font-size: 20px;
2451
  margin: 0px 0px;
2452
  cursor: pointer;
miniorange_2_factor_settings.php CHANGED
@@ -3,14 +3,14 @@
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.12
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.12' );
13
- define( 'MO2F_TEST_MODE', true );
14
  class Miniorange_twoFactor{
15
 
16
  function __construct()
@@ -200,10 +200,10 @@
200
  require('handler/feedback_form.php');
201
  require('handler/recaptcha.php');
202
  require('handler/login.php');
203
- require('handler/setup_twofa.php');
204
- require('handler/two_fa_settings.php');
205
- require('handler/two_fa_utility.php');
206
- require('handler/two_fa_constants.php');
207
  require('handler/registration.php');
208
  require('handler/logger.php');
209
  require('handler/spam.php');
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.13
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.13' );
13
+ define( 'MO2F_TEST_MODE', false );
14
  class Miniorange_twoFactor{
15
 
16
  function __construct()
200
  require('handler/feedback_form.php');
201
  require('handler/recaptcha.php');
202
  require('handler/login.php');
203
+ require('handler/twofa/setup_twofa.php');
204
+ require('handler/twofa/two_fa_settings.php');
205
+ require('handler/twofa/two_fa_utility.php');
206
+ require('handler/twofa/two_fa_constants.php');
207
  require('handler/registration.php');
208
  require('handler/logger.php');
209
  require('handler/spam.php');
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.12
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.12 =
276
  * Google Authenticator-Two Factor Authentication (2FA) : Security : backup table fix.
277
 
@@ -700,6 +703,9 @@ More descriptive setup messages and UI changes.
700
 
701
  == Upgrade Notice ==
702
 
 
 
 
703
  = 5.3.12 =
704
  * Google Authenticator-Two Factor Authentication (2FA) : Security : backup table fix.
705
 
6
  Requires at least: 3.0.1
7
  Tested up to: 5.3
8
  Requires PHP: 5.3.0
9
+ Stable tag: 5.3.13
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.13 =
276
+ * Google Authenticator-Two Factor Authentication (2FA) : Security : fix UI Issue and improving 2fa.
277
+
278
  = 5.3.12 =
279
  * Google Authenticator-Two Factor Authentication (2FA) : Security : backup table fix.
280
 
703
 
704
  == Upgrade Notice ==
705
 
706
+ = 5.3.13 =
707
+ * Google Authenticator-Two Factor Authentication (2FA) : Security : fix UI Issue and improving 2fa.
708
+
709
  = 5.3.12 =
710
  * Google Authenticator-Two Factor Authentication (2FA) : Security : backup table fix.
711
 
views/test/test_twofa_email_verification.php DELETED
@@ -1,76 +0,0 @@
1
- <?php function mo2f_test_email_verification() { ?>
2
-
3
- <h3><?php echo mo2f_lt( 'Test Email Verification' ); ?></h3>
4
- <hr>
5
- <div>
6
- <br>
7
- <br>
8
- <center>
9
- <h3><?php echo mo2f_lt( 'A verification email is sent to your registered email.' ); ?>
10
- <br>
11
- <?php echo mo2f_lt( 'We are waiting for your approval...' ); ?></h3>
12
- <img src="<?php echo plugins_url( '/../includes/images/ajax-loader-login.gif', __FILE__ ); ?>"/>
13
- </center>
14
-
15
- <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
16
- value="<?php echo mo2f_lt( 'Back' ); ?>"
17
- style="margin-top:100px;margin-left:10px;"/>
18
- </div>
19
-
20
- <form name="f" method="post" action="" id="mo2f_go_back_form">
21
- <input type="hidden" name="option" value="mo2f_go_back"/>
22
- <input type="hidden" name="mo2f_go_back_nonce"
23
- value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
24
- </form>
25
- <form name="f" method="post" id="mo2f_out_of_band_success_form" action="">
26
- <input type="hidden" name="option" value="mo2f_out_of_band_success"/>
27
- <input type="hidden" name="mo2f_out_of_band_success_nonce"
28
- value="<?php echo wp_create_nonce( "mo2f-out-of-band-success-nonce" ) ?>"/>
29
- </form>
30
- <form name="f" method="post" id="mo2f_out_of_band_error_form" action="">
31
- <input type="hidden" name="option" value="mo2f_out_of_band_error"/>
32
-
33
- <input type="hidden" name="mo2f_out_of_band_error_nonce"
34
- value="<?php echo wp_create_nonce( "mo2f-out-of-band-error-nonce" ) ?>"/>
35
- </form>
36
-
37
- <script>
38
- jQuery('#go_back').click(function () {
39
- jQuery('#mo2f_go_back_form').submit();
40
- });
41
-
42
- var timeout;
43
-
44
-
45
-
46
- pollMobileValidation();
47
- function pollMobileValidation() {
48
- var transId = "<?php echo $_SESSION['mo2f_transactionId']; ?>";
49
- var jsonString = "{\"txId\":\"" + transId + "\"}";
50
- var postUrl = "<?php echo MO_HOST_NAME; ?>" + "/moas/api/auth/auth-status";
51
-
52
- jQuery.ajax({
53
- url: postUrl,
54
- type: "POST",
55
- dataType: "json",
56
- data: jsonString,
57
- contentType: "application/json; charset=utf-8",
58
- success: function (result) {
59
- var status = JSON.parse(JSON.stringify(result)).status;
60
- if (status == 'SUCCESS') {
61
- jQuery('#mo2f_out_of_band_success_form').submit();
62
- } else if (status == 'ERROR' || status == 'FAILED' || status == 'DENIED') {
63
- jQuery('#mo2f_out_of_band_error_form').submit();
64
- } else {
65
- timeout = setTimeout(pollMobileValidation, 3000);
66
- }
67
- }
68
- });
69
- }
70
-
71
-
72
- </script>
73
-
74
- <?php }
75
-
76
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/test/test_twofa_miniorange_qrcode_authentication.php DELETED
@@ -1,97 +0,0 @@
1
- <?php
2
-
3
- function mo2f_test_miniorange_qr_code_authentication( $user ) {
4
- ?>
5
- <h3><?php echo mo2f_lt( 'Test QR Code Authentication' ); ?></h3>
6
- <hr>
7
- <p><?php echo mo2f_lt( 'Open your miniOrange' ); ?>
8
- <b><?php echo mo2f_lt( 'Authenticator App' ); ?></b> <?php echo mo2f_lt( 'and click on' ); ?>
9
- <b><?php echo mo2f_lt( 'SCAN QR Code' ); ?></b> <?php echo mo2f_lt( 'to scan the QR code. Your phone should have internet connectivity to scan QR code.' ); ?>
10
- </p>
11
-
12
- <div style="color:indianred;">
13
- <b><?php echo mo2f_lt( 'I am not able to scan the QR code,' ); ?> <a
14
- data-toggle="collapse" href="#mo2f_testscanqrcode"
15
- aria-expanded="false"><?php echo mo2f_lt( 'click here ' ); ?></a></b>
16
- </div>
17
- <div class="mo2f_collapse" id="mo2f_testscanqrcode">
18
- <br><?php echo mo2f_lt( 'Follow these instructions below and try again.' ); ?>
19
- <ol>
20
- <li><?php echo mo2f_lt( 'Make sure your desktop screen has enough brightness.' ); ?></li>
21
- <li><?php echo mo2f_lt( 'Open your app and click on Green button (your registered email is displayed on the button) to scan QR Code.' ); ?></li>
22
- <li><?php echo mo2f_lt( 'If you get cross mark on QR Code then click on \'Back\' button and again click on \'Test\' link.' ); ?></li>
23
- </ol>
24
- </div>
25
- <br>
26
- <table class="mo2f_settings_table">
27
- <div id="qr-success"></div>
28
- <div id="displayQrCode" >
29
- <br><?php echo '<img style="width:165px;" src="data:image/jpg;base64,' . $_SESSION['mo2f_qrCode'] . '" />'; ?>
30
- </div>
31
-
32
- </table>
33
-
34
- <div id="mobile_registered">
35
- <form name="f" method="post" id="mo2f_mobile_authenticate_success_form" action="">
36
- <input type="hidden" name="option" value="mo2f_mobile_authenticate_success"/>
37
- <input type="hidden" name="mo2f_mobile_authenticate_success_nonce"
38
- value="<?php echo wp_create_nonce( "mo2f-mobile-authenticate-success-nonce" ) ?>"/>
39
- </form>
40
- <form name="f" method="post" id="mo2f_mobile_authenticate_error_form" action="">
41
- <input type="hidden" name="option" value="mo2f_mobile_authenticate_error"/>
42
- <input type="hidden" name="mo2f_mobile_authenticate_error_nonce"
43
- value="<?php echo wp_create_nonce( "mo2f-mobile-authenticate-error-nonce" ) ?>"/>
44
- </form>
45
- <form name="f" method="post" action="" id="mo2f_go_back_form">
46
- <input type="hidden" name="option" value="mo2f_go_back"/>
47
- <input type="hidden" name="mo2f_go_back_nonce"
48
- value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
49
- <input type="submit" name="validate" id="validate" class="mo_wpns_button mo_wpns_button1"
50
- value="<?php echo mo2f_lt( 'Back' ); ?>"/>
51
- </form>
52
- </div>
53
-
54
-
55
- <script>
56
- var timeout;
57
- pollMobileValidation();
58
-
59
- function pollMobileValidation() {
60
- var transId = "<?php echo $_SESSION['mo2f_transactionId']; ?>";
61
- var jsonString = "{\"txId\":\"" + transId + "\"}";
62
- var postUrl = "<?php echo MO_HOST_NAME; ?>" + "/moas/api/auth/auth-status";
63
-
64
- jQuery.ajax({
65
- url: postUrl,
66
- type: "POST",
67
- dataType: "json",
68
- data: jsonString,
69
- contentType: "application/json; charset=utf-8",
70
- success: function (result) {
71
- var status = JSON.parse(JSON.stringify(result)).status;
72
- if (status == 'SUCCESS') {
73
- var content = "<br><div id='success'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( '/../includes/images/right.png', __FILE__ );?>" + "' /></div>";
74
- jQuery("#displayQrCode").empty();
75
- jQuery("#displayQrCode").append(content);
76
- setTimeout(function () {
77
- jQuery('#mo2f_mobile_authenticate_success_form').submit();
78
- }, 1000);
79
-
80
- } else if (status == 'ERROR' || status == 'FAILED') {
81
- var content = "<br><div id='error'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( '/../includes/images/wrong.png', __FILE__ );?>" + "' /></div>";
82
- jQuery("#displayQrCode").empty();
83
- jQuery("#displayQrCode").append(content);
84
- setTimeout(function () {
85
- jQuery('#mo2f_mobile_authenticate_error_form').submit();
86
- }, 1000);
87
- } else {
88
- timeout = setTimeout(pollMobileValidation, 3000);
89
- }
90
- }
91
- });
92
- }
93
-
94
- jQuery('html,body').animate({scrollTop: jQuery(document).height()}, 600);
95
- </script>
96
- <?php
97
- } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/test_twofa_google_authy_authenticator.php DELETED
@@ -1,35 +0,0 @@
1
- <?php function mo2f_test_google_authy_authenticator( $user, $method ) {
2
-
3
- ?>
4
- <h3><?php echo mo2f_lt( 'Test ' ) . mo2f_lt( $method ); ?></h3>
5
- <hr>
6
- <p><?php echo mo2f_lt( 'Enter the verification code from the configured account in your ' ) . mo2f_lt( $method )
7
- . mo2f_lt( ' app.' ); ?></p>
8
-
9
- <form name="f" method="post" action="">
10
- <input type="hidden" name="option" value="mo2f_validate_google_authy_test"/>
11
- <input type="hidden" name="mo2f_validate_google_authy_test_nonce"
12
- value="<?php echo wp_create_nonce( "mo2f-validate-google-authy-test-nonce" ) ?>"/>
13
-
14
- <input class="mo2f_table_textbox" style="width:200px;" autofocus="true" type="text" name="otp_token" required
15
- placeholder="<?php echo mo2f_lt( 'Enter OTP' ); ?>" style="width:95%;"/>
16
- <br><br>
17
- <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
18
- value="<?php echo mo2f_lt( 'Back' ); ?>"/>
19
- <input type="submit" name="validate" id="validate" class="mo_wpns_button mo_wpns_button1"
20
- value="<?php echo mo2f_lt( 'Submit' ); ?>"/>
21
-
22
- </form>
23
- <form name="f" method="post" action="" id="mo2f_go_back_form">
24
- <input type="hidden" name="option" value="mo2f_go_back"/>
25
- <input type="hidden" name="mo2f_go_back_nonce"
26
- value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
27
- </form>
28
- <script>
29
- jQuery('#go_back').click(function () {
30
- jQuery('#mo2f_go_back_form').submit();
31
- });
32
- </script>
33
-
34
- <?php
35
- } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/test_twofa_kba_questions.php DELETED
@@ -1,55 +0,0 @@
1
- <?php
2
- function mo2f_test_kba_security_questions( $user ) {
3
- ?>
4
- <h3><?php echo mo2f_lt( 'Test Security Questions( KBA )' ); ?></h3>
5
- <hr>
6
- <br>
7
-
8
-
9
- <form name="f" method="post" action="" id="mo2f_test_kba_form">
10
- <input type="hidden" name="option" value="mo2f_validate_kba_details"/>
11
- <input type="hidden" name="mo2f_validate_kba_details_nonce"
12
- value="<?php echo wp_create_nonce( "mo2f-validate-kba-details-nonce" ) ?>"/>
13
-
14
- <div id="mo2f_kba_content">
15
- <?php if ( isset( $_SESSION['mo_2_factor_kba_questions'] ) ) {
16
- echo $_SESSION['mo_2_factor_kba_questions'][0];
17
- ?>
18
- <br>
19
- <input class="mo2f_table_textbox" style="width:227px;" type="text" name="mo2f_answer_1"
20
- id="mo2f_answer_1" required="true" autofocus="true"
21
- pattern="(?=\S)[A-Za-z0-9_@.$#&amp;+\-\s]{1,100}"
22
- title="Only alphanumeric letters with special characters(_@.$#&amp;+-) are allowed."
23
- autocomplete="off"><br><br>
24
- <?php
25
- echo $_SESSION['mo_2_factor_kba_questions'][1];
26
- ?>
27
- <br>
28
- <input class="mo2f_table_textbox" style="width:227px;" type="text" name="mo2f_answer_2"
29
- id="mo2f_answer_2" required="true" pattern="(?=\S)[A-Za-z0-9_@.$#&amp;+\-\s]{1,100}"
30
- title="Only alphanumeric letters with special characters(_@.$#&amp;+-) are allowed."
31
- autocomplete="off"><br><br>
32
- <?php
33
- }
34
- ?>
35
- </div>
36
- <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1" value="<?php echo mo2f_lt( 'Back' ); ?>" />
37
- <input type="submit" name="validate" id="validate" class="mo_wpns_button mo_wpns_button1"
38
- value="<?php echo mo2f_lt( 'Validate Answers' ); ?>"/>
39
-
40
- </form>
41
- <form name="f" method="post" action="" id="mo2f_go_back_form">
42
- <input type="hidden" name="option" value="mo2f_go_back"/>
43
- <input type="hidden" name="mo2f_go_back_nonce"
44
- value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
45
- </form>
46
- <script>
47
- jQuery('#go_back').click(function () {
48
- jQuery('#mo2f_go_back_form').submit();
49
- });
50
- </script>
51
- <?php
52
-
53
- }
54
-
55
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/test_twofa_miniorange_push_notification.php DELETED
@@ -1,68 +0,0 @@
1
- <?php function mo2f_test_miniorange_push_notification( $user ) { ?>
2
-
3
- <h3><?php echo mo2f_lt( 'Test Push Notification' ); ?></h3>
4
- <hr>
5
- <div>
6
- <br><br>
7
- <center>
8
- <h4><?php echo mo2f_lt( 'A Push Notification has been sent to your phone.' ); ?>
9
- <br><?php echo mo2f_lt( 'We are waiting for your approval...' ); ?>
10
- </h4>
11
- <img src="<?php echo plugins_url( '/../includes/images/ajax-loader-login.gif', __FILE__); ?>"/>
12
- </center>
13
- <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
14
- value="<?php echo mo2f_lt( 'Back' ); ?>" style="margin-top:100px;margin-left:10px;"/>
15
- <br><br>
16
- </div>
17
-
18
- <form name="f" method="post" action="" id="mo2f_go_back_form">
19
- <input type="hidden" name="option" value="mo2f_go_back"/>
20
- <input type="hidden" name="mo2f_go_back_nonce"
21
- value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
22
- </form>
23
- <form name="f" method="post" id="mo2f_push_success_form" action="">
24
- <input type="hidden" name="option" value="mo2f_out_of_band_success"/>
25
- <input type="hidden" name="mo2f_out_of_band_success_nonce"
26
- value="<?php echo wp_create_nonce( "mo2f-out-of-band-success-nonce" ) ?>"/>
27
- </form>
28
- <form name="f" method="post" id="mo2f_push_error_form" action="">
29
- <input type="hidden" name="option" value="mo2f_out_of_band_error"/>
30
- <input type="hidden" name="mo2f_out_of_band_error_nonce"
31
- value="<?php echo wp_create_nonce( "mo2f-out-of-band-error-nonce" ) ?>"/>
32
- </form>
33
-
34
- <script>
35
- jQuery('#go_back').click(function () {
36
- jQuery('#mo2f_go_back_form').submit();
37
- });
38
-
39
- var timeout;
40
- pollMobileValidation();
41
-
42
- function pollMobileValidation() {
43
- var transId = "<?php echo $_SESSION['mo2f_transactionId']; ?>";
44
- var jsonString = "{\"txId\":\"" + transId + "\"}";
45
- var postUrl = "<?php echo MO_HOST_NAME; ?>" + "/moas/api/auth/auth-status";
46
-
47
- jQuery.ajax({
48
- url: postUrl,
49
- type: "POST",
50
- dataType: "json",
51
- data: jsonString,
52
- contentType: "application/json; charset=utf-8",
53
- success: function (result) {
54
- var status = JSON.parse(JSON.stringify(result)).status;
55
- if (status == 'SUCCESS') {
56
- jQuery('#mo2f_push_success_form').submit();
57
- } else if (status == 'ERROR' || status == 'FAILED' || status == 'DENIED') {
58
- jQuery('#mo2f_push_error_form').submit();
59
- } else {
60
- timeout = setTimeout(pollMobileValidation, 3000);
61
- }
62
- }
63
- });
64
- }
65
-
66
- </script>
67
-
68
- <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/test_twofa_miniorange_soft_token.php DELETED
@@ -1,38 +0,0 @@
1
- <?php function mo2f_test_miniorange_soft_token( $user ) {?>
2
- <div style="width:100%;">
3
- <h3><?php echo mo2f_lt( 'Test Soft Token' ); ?></h3>
4
- <hr>
5
- <p><?php echo mo2f_lt( 'Open your' ); ?>
6
- <b><?php echo mo2f_lt( 'miniOrange Authenticator App ' ); ?></b> <?php echo mo2f_lt( 'and ' ); ?>
7
- <?php echo mo2f_lt( 'enter the' ); ?>
8
- <b><?php echo mo2f_lt( 'one time passcode' ); ?></b> <?php echo mo2f_lt( 'shown in the App under your account.' ); ?>
9
- </p>
10
- <form name="f" method="post" action="" id="mo2f_test_token_form">
11
- <input type="hidden" name="option" value="mo2f_validate_soft_token"/>
12
- <input type="hidden" name="mo2f_validate_soft_token_nonce"
13
- value="<?php echo wp_create_nonce( "mo2f-validate-soft-token-nonce" ) ?>"/>
14
- <input class="mo2f_table_textbox" style="width:200px;" autofocus="true" type="text" name="otp_token" required
15
- placeholder="<?php echo mo2f_lt( 'Enter OTP' ); ?>" style="width:95%;"/>
16
-
17
- <br><br>
18
- <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
19
- value="<?php echo mo2f_lt( 'Back' ); ?>"/>
20
- <input type="submit" name="validate" id="validate" class="mo_wpns_button mo_wpns_button1"
21
- value="<?php echo mo2f_lt( 'Validate OTP' ); ?>"/>
22
-
23
- </form>
24
-
25
- <form name="f" method="post" action="" id="mo2f_go_back_form">
26
- <input type="hidden" name="option" value="mo2f_go_back"/>
27
- <input type="hidden" name="mo2f_go_back_nonce"
28
- value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
29
- </form>
30
- </div>
31
- <script>
32
- jQuery('#go_back').click(function () {
33
- jQuery('#mo2f_go_back_form').submit();
34
- });
35
- </script>
36
- <?php }
37
-
38
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/test_twofa_otp_over_sms.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- function mo2f_test_otp_over_sms( $user ) {
3
-
4
- ?>
5
- <h3><?php echo mo2f_lt( 'Test OTP Over SMS' ); ?>
6
- <hr>
7
- </h3>
8
- <p><?php echo mo2f_lt( 'Enter the one time passcode sent to your registered mobile number.' ); ?></p>
9
-
10
-
11
- <form name="f" method="post" action="" id="mo2f_test_token_form">
12
- <input type="hidden" name="option" value="mo2f_validate_otp_over_sms"/>
13
- <input type="hidden" name="mo2f_validate_otp_over_sms_nonce"
14
- value="<?php echo wp_create_nonce( "mo2f-validate-otp-over-sms-nonce" ) ?>"/>
15
-
16
- <input class="mo2f_table_textbox" style="width:200px;" autofocus="true" type="text" name="otp_token" required
17
- placeholder="<?php echo mo2f_lt( 'Enter OTP' ); ?>" style="width:95%;"/>
18
- <a href="#resendsmslink"><?php echo mo2f_lt( 'Resend OTP ?' ); ?></a>
19
- <br><br>
20
- <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
21
- value="<?php echo mo2f_lt( 'Back' ); ?>"/>
22
- <input type="submit" name="validate" id="validate" class="mo_wpns_button mo_wpns_button1"
23
- value="<?php echo mo2f_lt( 'Validate OTP' ); ?>"/>
24
-
25
- </form>
26
- <form name="f" method="post" action="" id="mo2f_go_back_form">
27
- <input type="hidden" name="option" value="mo2f_go_back"/>
28
- <input type="hidden" name="mo2f_go_back_nonce"
29
- value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
30
- </form>
31
-
32
- <form name="f" method="post" action="" id="mo2f_2factor_test_authentication_method_form">
33
- <input type="hidden" name="option" value="mo_2factor_test_authentication_method"/>
34
- <input type="hidden" name="mo_2factor_test_authentication_method_nonce"
35
- value="<?php echo wp_create_nonce( "mo-2factor-test-authentication-method-nonce" ) ?>"/>
36
- <input type="hidden" name="mo2f_configured_2FA_method_test" id="mo2f_configured_2FA_method_test"
37
- value="OTP Over SMS"/>
38
- </form>
39
-
40
-
41
-
42
- <script>
43
- jQuery('#go_back').click(function () {
44
- jQuery('#mo2f_go_back_form').submit();
45
- });
46
- jQuery('a[href=\"#resendsmslink\"]').click(function (e) {
47
- jQuery('#mo2f_2factor_test_authentication_method_form').submit();
48
- });
49
- </script>
50
-
51
- <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/two_fa_custom_form.php DELETED
@@ -1,17 +0,0 @@
1
- <div class="mo_wpns_setting_layout">
2
- <h2>Custom Login Forms</h2>
3
- <p>We support most of the login forms present on the wordpress. And our plugin is tested with almost all the forms like Woocommerce, Ultimate Member, Restrict Content Pro and so on.</p>
4
- <ul>
5
- <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/woocommerce.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Woocommerce</h3></li> <br>
6
- <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/ultimate_member.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Ultimate Member</h3></li><br>
7
- <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/restrict_content_pro.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Restrict Content Pro</h3></li><br>
8
- <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/theme_my_login.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">My Theme Login</h3></li><br>
9
- <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/user_registration.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">User Registration</h3></li><br>
10
- <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/Custom_Login_Page_Customizer_LoginPress.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Custom Login Page Customizer | LoginPress</h3></li><br>
11
- <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/Admin_Custom_Login.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Admin Custom Login</h3></li><br>
12
- <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/RegistrationMagic_Custom_Registration_Forms_and_User_Login.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">RegistrationMagic – Custom Registration Forms and User Login</h3></li>
13
- </ul>
14
- <p>And many more which are not mentioned here.</p>
15
-
16
- <p style="font-size:15px">If there is any custom login form where Two Factor is not initiated you can get let us know so that we can add support for it. You can reach us by dropping a query in the <b>Support</b> section.</p>
17
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/{setup_authy_authenticator.php → twofa/setup/setup_authy_authenticator.php} RENAMED
File without changes
views/{setup_google_authenticator.php → twofa/setup/setup_google_authenticator.php} RENAMED
File without changes
views/{setup_google_authenticator_onpremise.php → twofa/setup/setup_google_authenticator_onpremise.php} RENAMED
File without changes
views/{setup_kba_questions.php → twofa/setup/setup_kba_questions.php} RENAMED
File without changes
views/{setup_miniorange_authenticator.php → twofa/setup/setup_miniorange_authenticator.php} RENAMED
@@ -86,7 +86,7 @@ function download_instruction_for_mobile_app( $mobile_reg_status){ ?>
86
  </li>
87
  </ol>
88
  <br>
89
- <a style="margin-left:10%" target="_blank" href="https://itunes.apple.com/us/app/miniorange-authenticator/id796303566?ls=1"><img src="<?php echo plugins_url( '/../includes/images/appstore.png' , __FILE__ );?>" style="width:120px; height:45px; margin-left:6px;">
90
  </a>
91
  </td>
92
  <td style="padding:10px;">
@@ -105,7 +105,7 @@ function download_instruction_for_mobile_app( $mobile_reg_status){ ?>
105
  </li>
106
  </ol>
107
  <br>
108
- <a style="margin-left:10%" target="_blank" href="https://play.google.com/store/apps/details?id=com.miniorange.android.authenticator&hl=en"><img src="<?php echo plugins_url( '/../includes/images/playStore.png' , __FILE__ );?>" style="width:120px; height:=45px; margin-left:6px;"></a>
109
  </td>
110
  </tr>
111
  </table>
@@ -199,14 +199,14 @@ function initialize_mobile_registration() {
199
  success: function(result) {
200
  var status = JSON.parse(JSON.stringify(result)).status;
201
  if (status == 'SUCCESS') {
202
- var content = "<br><div id='success'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( '/../includes/images/right.png' , __FILE__ );?>" + "' /></div>";
203
  jQuery("#displayQrCode").empty();
204
  jQuery("#displayQrCode").append(content);
205
  setTimeout(function() {
206
  jQuery("#mobile_register_form").submit();
207
  }, 1000);
208
  } else if (status == 'ERROR' || status == 'FAILED') {
209
- var content = "<br><div id='error'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( '/../includes/images/wrong.png' , __FILE__ );?>" + "' /></div>";
210
  jQuery("#displayQrCode").empty();
211
  jQuery("#displayQrCode").append(content);
212
  jQuery("#messages").empty();
86
  </li>
87
  </ol>
88
  <br>
89
+ <a style="margin-left:10%" target="_blank" href="https://itunes.apple.com/us/app/miniorange-authenticator/id796303566?ls=1"><img src="<?php echo plugins_url( 'includes/images/appstore.png' , dirname(dirname(dirname(__FILE__))) );?>" style="width:120px; height:45px; margin-left:6px;">
90
  </a>
91
  </td>
92
  <td style="padding:10px;">
105
  </li>
106
  </ol>
107
  <br>
108
+ <a style="margin-left:10%" target="_blank" href="https://play.google.com/store/apps/details?id=com.miniorange.android.authenticator&hl=en"><img src="<?php echo plugins_url( 'includes/images/playStore.png' , dirname(dirname(dirname(__FILE__))) );?>" style="width:120px; height:=45px; margin-left:6px;"></a>
109
  </td>
110
  </tr>
111
  </table>
199
  success: function(result) {
200
  var status = JSON.parse(JSON.stringify(result)).status;
201
  if (status == 'SUCCESS') {
202
+ var content = "<br><div id='success'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( 'includes/images/right.png' , dirname(dirname(dirname(__FILE__))) );?>" + "' /></div>";
203
  jQuery("#displayQrCode").empty();
204
  jQuery("#displayQrCode").append(content);
205
  setTimeout(function() {
206
  jQuery("#mobile_register_form").submit();
207
  }, 1000);
208
  } else if (status == 'ERROR' || status == 'FAILED') {
209
+ var content = "<br><div id='error'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( 'includes/images/wrong.png' , dirname(dirname(dirname(__FILE__))) );?>" + "' /></div>";
210
  jQuery("#displayQrCode").empty();
211
  jQuery("#displayQrCode").append(content);
212
  jQuery("#messages").empty();
views/{setup_otp_over_sms.php → twofa/setup/setup_otp_over_sms.php} RENAMED
File without changes
views/{setup_twofa.php → twofa/setup_twofa.php} RENAMED
@@ -111,7 +111,7 @@
111
  <div>
112
  <div>
113
  <a class="mo2f_view_free_plan_auth_methods" onclick="show_free_plan_auth_methods()">
114
- <img src="<?php echo plugins_url( 'includes/images/right-arrow.png"', dirname(__FILE__ )); ?>"
115
  class="mo2f_2factor_heading_images" style="margin-top: 2px;"/>
116
  <p class="mo2f_heading_style" style="padding:0px;"><?php echo mo2f_lt( 'Authentication methods' ); ?>
117
  <?php if ( $can_display_admin_features ) { ?>
@@ -160,7 +160,7 @@
160
  <?php if ( $can_display_admin_features ) { ?>
161
  <div id="mo2f_standard_plan">
162
  <a class="mo2f_view_standard_plan_auth_methods" onclick="show_standard_plan_auth_methods()">
163
- <img src="<?php echo plugins_url( 'includes/images/right-arrow.png"', dirname(__FILE__ ) ); ?>"
164
  class="mo2f_2factor_heading_images"/>
165
  <p class="mo2f_heading_style"><span > <?php echo mo2f_lt( 'Standard plan - Authentication methods' ); ?>
166
  *</span></p>
@@ -170,7 +170,7 @@
170
  <hr>
171
  <div>
172
  <span id="mo2f_premium_plan"> <a class="mo2f_view_premium_plan_auth_methods" onclick="show_premium_auth_methods()">
173
- <img src="<?php echo plugins_url( 'includes/images/right-arrow.png"', dirname(__FILE__ )); ?>"
174
  class="mo2f_2factor_heading_images"/>
175
  <p class="mo2f_heading_style"><?php echo mo2f_lt( 'Premium plan - Authentication methods' ); ?>
176
  *</p></a></span>
111
  <div>
112
  <div>
113
  <a class="mo2f_view_free_plan_auth_methods" onclick="show_free_plan_auth_methods()">
114
+ <img src="<?php echo plugins_url( 'includes/images/right-arrow.png"', dirname(dirname(__FILE__))); ?>"
115
  class="mo2f_2factor_heading_images" style="margin-top: 2px;"/>
116
  <p class="mo2f_heading_style" style="padding:0px;"><?php echo mo2f_lt( 'Authentication methods' ); ?>
117
  <?php if ( $can_display_admin_features ) { ?>
160
  <?php if ( $can_display_admin_features ) { ?>
161
  <div id="mo2f_standard_plan">
162
  <a class="mo2f_view_standard_plan_auth_methods" onclick="show_standard_plan_auth_methods()">
163
+ <img src="<?php echo plugins_url( 'includes/images/right-arrow.png"', dirname(dirname(__FILE__)) ); ?>"
164
  class="mo2f_2factor_heading_images"/>
165
  <p class="mo2f_heading_style"><span > <?php echo mo2f_lt( 'Standard plan - Authentication methods' ); ?>
166
  *</span></p>
170
  <hr>
171
  <div>
172
  <span id="mo2f_premium_plan"> <a class="mo2f_view_premium_plan_auth_methods" onclick="show_premium_auth_methods()">
173
+ <img src="<?php echo plugins_url( 'includes/images/right-arrow.png"', dirname(dirname(__FILE__))); ?>"
174
  class="mo2f_2factor_heading_images"/>
175
  <p class="mo2f_heading_style"><?php echo mo2f_lt( 'Premium plan - Authentication methods' ); ?>
176
  *</p></a></span>
views/{test_twofa_email_verification.php → twofa/test/test_twofa_email_verification.php} RENAMED
@@ -9,7 +9,7 @@
9
  <h3><?php echo mo2f_lt( 'A verification email is sent to your registered email.' ); ?>
10
  <br>
11
  <?php echo mo2f_lt( 'We are waiting for your approval...' ); ?></h3>
12
- <img src="<?php echo plugins_url( '/../includes/images/ajax-loader-login.gif', __FILE__ ); ?>"/>
13
  </center>
14
 
15
  <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
9
  <h3><?php echo mo2f_lt( 'A verification email is sent to your registered email.' ); ?>
10
  <br>
11
  <?php echo mo2f_lt( 'We are waiting for your approval...' ); ?></h3>
12
+ <img src="<?php echo plugins_url( 'includes/images/ajax-loader-login.gif', dirname(dirname(dirname(__FILE__))) ); ?>"/>
13
  </center>
14
 
15
  <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
views/{test → twofa/test}/test_twofa_google_authy_authenticator.php RENAMED
File without changes
views/{test → twofa/test}/test_twofa_kba_questions.php RENAMED
File without changes
views/{test → twofa/test}/test_twofa_miniorange_push_notification.php RENAMED
@@ -8,7 +8,7 @@
8
  <h4><?php echo mo2f_lt( 'A Push Notification has been sent to your phone.' ); ?>
9
  <br><?php echo mo2f_lt( 'We are waiting for your approval...' ); ?>
10
  </h4>
11
- <img src="<?php echo plugins_url( '/../includes/images/ajax-loader-login.gif', __FILE__); ?>"/>
12
  </center>
13
  <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
14
  value="<?php echo mo2f_lt( 'Back' ); ?>" style="margin-top:100px;margin-left:10px;"/>
8
  <h4><?php echo mo2f_lt( 'A Push Notification has been sent to your phone.' ); ?>
9
  <br><?php echo mo2f_lt( 'We are waiting for your approval...' ); ?>
10
  </h4>
11
+ <img src="<?php echo plugins_url( 'includes/images/ajax-loader-login.gif', dirname(dirname(dirname(__FILE__)))); ?>"/>
12
  </center>
13
  <input type="button" name="back" id="go_back" class="mo_wpns_button mo_wpns_button1"
14
  value="<?php echo mo2f_lt( 'Back' ); ?>" style="margin-top:100px;margin-left:10px;"/>
views/{test_twofa_miniorange_qrcode_authentication.php → twofa/test/test_twofa_miniorange_qrcode_authentication.php} RENAMED
@@ -70,7 +70,7 @@ function mo2f_test_miniorange_qr_code_authentication( $user ) {
70
  success: function (result) {
71
  var status = JSON.parse(JSON.stringify(result)).status;
72
  if (status == 'SUCCESS') {
73
- var content = "<br><div id='success'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( '/../includes/images/right.png', __FILE__ );?>" + "' /></div>";
74
  jQuery("#displayQrCode").empty();
75
  jQuery("#displayQrCode").append(content);
76
  setTimeout(function () {
@@ -78,7 +78,7 @@ function mo2f_test_miniorange_qr_code_authentication( $user ) {
78
  }, 1000);
79
 
80
  } else if (status == 'ERROR' || status == 'FAILED') {
81
- var content = "<br><div id='error'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( '/../includes/images/wrong.png', __FILE__ );?>" + "' /></div>";
82
  jQuery("#displayQrCode").empty();
83
  jQuery("#displayQrCode").append(content);
84
  setTimeout(function () {
70
  success: function (result) {
71
  var status = JSON.parse(JSON.stringify(result)).status;
72
  if (status == 'SUCCESS') {
73
+ var content = "<br><div id='success'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( 'includes/images/right.png', dirname(dirname(dirname(__FILE__))) );?>" + "' /></div>";
74
  jQuery("#displayQrCode").empty();
75
  jQuery("#displayQrCode").append(content);
76
  setTimeout(function () {
78
  }, 1000);
79
 
80
  } else if (status == 'ERROR' || status == 'FAILED') {
81
+ var content = "<br><div id='error'><img style='width:165px;margin-top:-1%;margin-left:2%;' src='" + "<?php echo plugins_url( 'includes/images/wrong.png', dirname(dirname(dirname(__FILE__))) );?>" + "' /></div>";
82
  jQuery("#displayQrCode").empty();
83
  jQuery("#displayQrCode").append(content);
84
  setTimeout(function () {
views/{test → twofa/test}/test_twofa_miniorange_soft_token.php RENAMED
File without changes
views/{test → twofa/test}/test_twofa_otp_over_sms.php RENAMED
File without changes
views/{two_fa.php → twofa/two_fa.php} RENAMED
@@ -24,7 +24,7 @@
24
  <div id="mo_scan_message" ></div>
25
 
26
  <div class="mo_wpns_divided_layout" id="setup_2fa_div">
27
- <?php include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'setup_twofa.php'; ?>
28
  </div>
29
 
30
 
@@ -33,7 +33,7 @@
33
  if ( get_option( 'mo2f_rba_installed' ) )
34
  mo2f_rba_description($mo2f_user_email);
35
  else
36
- include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'two_fa_rba.php';
37
  ?>
38
  </div>
39
  <div class="mo_wpns_divided_layout" id="custom_login_2fa_div">
@@ -41,7 +41,7 @@
41
  if ( get_option( 'mo2f_personalization_installed' ) )
42
  mo2f_personalization_description($mo2f_user_email);
43
  else
44
- include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'two_fa_custom_login.php';
45
  ?>
46
  </div>
47
  <div class="mo_wpns_divided_layout" id="shortcode_2fa_div">
@@ -49,18 +49,18 @@
49
  if ( get_option( 'mo2f_shortcode_installed' ) )
50
  mo2f_shortcode_description($mo2f_user_email);
51
  else
52
- include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'two_fa_shortcode.php';
53
  ?>
54
  </div>
55
 
56
  <div class="mo_wpns_divided_layout" id="login_option_2fa_div">
57
- <?php include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'two_fa_login_option.php'; ?>
58
  </div>
59
  <div class="mo_wpns_divided_layout" id="custom_form_2fa_div">
60
- <?php include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'two_fa_custom_form.php'; ?>
61
  </div>
62
  <div class="mo_wpns_divided_layout" id="video_guide_2fa_div">
63
- <?php include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'two_fa_video_guide.php'; ?>
64
  </div>
65
  <script>
66
  jQuery("#setup_2fa_div").css("display", "block");
24
  <div id="mo_scan_message" ></div>
25
 
26
  <div class="mo_wpns_divided_layout" id="setup_2fa_div">
27
+ <?php include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'setup_twofa.php'; ?>
28
  </div>
29
 
30
 
33
  if ( get_option( 'mo2f_rba_installed' ) )
34
  mo2f_rba_description($mo2f_user_email);
35
  else
36
+ include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_rba.php';
37
  ?>
38
  </div>
39
  <div class="mo_wpns_divided_layout" id="custom_login_2fa_div">
41
  if ( get_option( 'mo2f_personalization_installed' ) )
42
  mo2f_personalization_description($mo2f_user_email);
43
  else
44
+ include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_custom_login.php';
45
  ?>
46
  </div>
47
  <div class="mo_wpns_divided_layout" id="shortcode_2fa_div">
49
  if ( get_option( 'mo2f_shortcode_installed' ) )
50
  mo2f_shortcode_description($mo2f_user_email);
51
  else
52
+ include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_shortcode.php';
53
  ?>
54
  </div>
55
 
56
  <div class="mo_wpns_divided_layout" id="login_option_2fa_div">
57
+ <?php include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_login_option.php'; ?>
58
  </div>
59
  <div class="mo_wpns_divided_layout" id="custom_form_2fa_div">
60
+ <?php include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_custom_form.php'; ?>
61
  </div>
62
  <div class="mo_wpns_divided_layout" id="video_guide_2fa_div">
63
+ <?php include_once $dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_video_guide.php'; ?>
64
  </div>
65
  <script>
66
  jQuery("#setup_2fa_div").css("display", "block");
views/{two_fa_addon.php → twofa/two_fa_addon.php} RENAMED
File without changes
views/twofa/two_fa_custom_form.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="mo_wpns_setting_layout">
2
+ <h2>Custom Login Forms</h2>
3
+ <p>We support most of the login forms present on the wordpress. And our plugin is tested with almost all the forms like Woocommerce, Ultimate Member, Restrict Content Pro and so on.</p>
4
+ <ul>
5
+ <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(dirname(__FILE__))).'/includes/images/woocommerce.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Woocommerce</h3></li> <br>
6
+ <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(dirname(__FILE__))).'/includes/images/ultimate_member.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Ultimate Member</h3></li><br>
7
+ <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(dirname(__FILE__))).'/includes/images/restrict_content_pro.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Restrict Content Pro</h3></li><br>
8
+ <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(dirname(__FILE__))).'/includes/images/theme_my_login.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">My Theme Login</h3></li><br>
9
+ <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(dirname(__FILE__))).'/includes/images/user_registration.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">User Registration</h3></li><br>
10
+ <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(dirname(__FILE__))).'/includes/images/Custom_Login_Page_Customizer_LoginPress.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Custom Login Page Customizer | LoginPress</h3></li><br>
11
+ <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(dirname(__FILE__))).'/includes/images/Admin_Custom_Login.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">Admin Custom Login</h3></li><br>
12
+ <li><?php echo '<img style="width:30px; height:30px;display: inline;float: left;" src="'.dirname(plugin_dir_url(dirname(__FILE__))).'/includes/images/RegistrationMagic_Custom_Registration_Forms_and_User_Login.png">';?><h3 style="margin-left: 15px; font-size: large; display: inline; float: inherit;">RegistrationMagic – Custom Registration Forms and User Login</h3></li>
13
+ </ul>
14
+ <p>And many more which are not mentioned here.</p>
15
+
16
+ <p style="font-size:15px">If there is any custom login form where Two Factor is not initiated you can get let us know so that we can add support for it. You can reach us by dropping a query in the <b>Support</b> section.</p>
17
+ </div>
views/{two_fa_custom_login.php → twofa/two_fa_custom_login.php} RENAMED
File without changes
views/{two_fa_login_option.php → twofa/two_fa_login_option.php} RENAMED
@@ -279,7 +279,7 @@ function get_standard_premium_options( $user ) {
279
  <?php if ( $is_NC ) { ?>
280
  <div>
281
  <a class="mo2f_view_backup_options" onclick="show_backup_options()">
282
- <img src="<?php echo plugins_url( 'includes/images/right-arrow.png', __FILE__ ); ?>"
283
  class="mo2f_advanced_options_images"/>
284
 
285
  <p class="mo2f_heading_style"><?php echo mo2f_lt( 'Backup Options' ); ?></p>
279
  <?php if ( $is_NC ) { ?>
280
  <div>
281
  <a class="mo2f_view_backup_options" onclick="show_backup_options()">
282
+ <img src="<?php echo plugins_url( 'includes/images/right-arrow.png', dirname(dirname(__FILE__)) ); ?>"
283
  class="mo2f_advanced_options_images"/>
284
 
285
  <p class="mo2f_heading_style"><?php echo mo2f_lt( 'Backup Options' ); ?></p>
views/{two_fa_rba.php → twofa/two_fa_rba.php} RENAMED
File without changes
views/{two_fa_setup_notification.php → twofa/two_fa_setup_notification.php} RENAMED
File without changes
views/{two_fa_shortcode.php → twofa/two_fa_shortcode.php} RENAMED
File without changes
views/{two_fa_video_guide.php → twofa/two_fa_video_guide.php} RENAMED
File without changes