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

Version Description

  • Google Authenticator-Two Factor Authentication (2FA) : Improving Google Authenticator and adding Payment options.
Download this release

Release Info

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

Code changes from version 5.4.4 to 5.4.6

controllers/account.php CHANGED
@@ -215,6 +215,13 @@
215
  update_option( 'mo_wpns_enable_log_requests' , true );
216
  update_option( 'mo2f_miniorange_admin', $user->ID );
217
  update_option( 'mo_2factor_admin_registration_status', 'MO_2_FACTOR_CUSTOMER_REGISTERED_SUCCESS' );
 
 
 
 
 
 
 
218
  $Mo2fdbQueries->insert_user( $user->ID );
219
  $Mo2fdbQueries->update_user_details( $user->ID, array(
220
  'mo2f_EmailVerification_config_status' => get_option( 'mo2f_is_NC' ) == 0 ? true : false,
@@ -271,6 +278,7 @@
271
  update_user_meta( $user->ID, 'configure_2FA', 1 );
272
  }
273
  }
 
274
  update_option( 'mo2f_message', $mo2f_message );
275
  delete_user_meta( $user->ID, 'register_account_popup' );
276
  delete_option( 'mo_wpns_verify_customer' );
215
  update_option( 'mo_wpns_enable_log_requests' , true );
216
  update_option( 'mo2f_miniorange_admin', $user->ID );
217
  update_option( 'mo_2factor_admin_registration_status', 'MO_2_FACTOR_CUSTOMER_REGISTERED_SUCCESS' );
218
+
219
+ if (get_option('mo_wpns_upgrade_onprem'))
220
+ {
221
+ ?>
222
+ <script>location.reload(true);</script>
223
+ <?php
224
+ }
225
  $Mo2fdbQueries->insert_user( $user->ID );
226
  $Mo2fdbQueries->update_user_details( $user->ID, array(
227
  'mo2f_EmailVerification_config_status' => get_option( 'mo2f_is_NC' ) == 0 ? true : false,
278
  update_user_meta( $user->ID, 'configure_2FA', 1 );
279
  }
280
  }
281
+
282
  update_option( 'mo2f_message', $mo2f_message );
283
  delete_user_meta( $user->ID, 'register_account_popup' );
284
  delete_option( 'mo_wpns_verify_customer' );
controllers/dashboard_ajax.php CHANGED
@@ -8,7 +8,7 @@ class Mo2f_ajax_dashboard
8
  public function mo2f_switch_functions(){
9
  if(isset($_POST) && isset($_POST['option'])){
10
  $tab_count= get_site_option('mo2f_tab_count', 0);
11
- if($tab_count == 7)
12
  update_site_option('mo_2f_switch_all', 1);
13
  else if($tab_count == 0)
14
  update_site_option('mo_2f_switch_all', 0);
@@ -36,12 +36,7 @@ class Mo2f_ajax_dashboard
36
  case "tab_block_switch":
37
  $this->mo2f_handle_block_enable($santizied_post);
38
  break;
39
- case "tab_report_switch":
40
- $this->mo2f_handle_report_enable($santizied_post);
41
- break;
42
- case "tab_notif_switch":
43
- $this->mo2f_handle_notif_enable($santizied_post);
44
- break;
45
  }
46
  }
47
  }
@@ -52,11 +47,9 @@ class Mo2f_ajax_dashboard
52
  $this->mo2f_handle_backup_enable($POSTED);
53
  $this->mo2f_handle_malware_enable($POSTED);
54
  $this->mo2f_handle_block_enable($POSTED);
55
- $this->mo2f_handle_report_enable($POSTED);
56
- $this->mo2f_handle_notif_enable($POSTED);
57
  if($POSTED){
58
  update_option('mo_2f_switch_all',1);
59
- update_site_option('mo2f_tab_count', 7);
60
  do_action('wpns_show_message',MoWpnsMessages::showMessage('ALL_ENABLED'),'SUCCESS');
61
  }
62
  else{
@@ -86,8 +79,13 @@ class Mo2f_ajax_dashboard
86
  if($POSTED){
87
  update_site_option('mo_2f_switch_waf', 1);
88
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
89
- if($_POST['option'] == 'tab_waf_switch')
90
- do_action('wpns_show_message',MoWpnsMessages::showMessage('WAF_ENABLE'),'SUCCESS');
 
 
 
 
 
91
  }
92
  else{
93
  update_site_option('mo_2f_switch_waf', 0);
@@ -114,8 +112,11 @@ class Mo2f_ajax_dashboard
114
  if($POSTED){
115
  update_site_option('mo_2f_switch_loginspam', 1);
116
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
 
 
117
  if($_POST['option'] == 'tab_login_switch')
118
  do_action('wpns_show_message',MoWpnsMessages::showMessage('LOGIN_ENABLE'),'SUCCESS');
 
119
  }
120
  else{
121
  update_site_option('mo_2f_switch_loginspam', 0);
@@ -145,8 +146,11 @@ class Mo2f_ajax_dashboard
145
  if($POSTED){
146
  update_site_option('mo_2f_switch_backup', 1);
147
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
 
 
148
  if($_POST['option'] == 'tab_backup_switch')
149
  do_action('wpns_show_message',MoWpnsMessages::showMessage('BACKUP_ENABLE'),'SUCCESS');
 
150
  }
151
  else{
152
  update_site_option('mo_2f_switch_backup', 0);
@@ -165,8 +169,11 @@ class Mo2f_ajax_dashboard
165
  if($POSTED){
166
  update_site_option('mo_2f_switch_malware', 1);
167
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
 
 
168
  if($_POST['option'] == 'tab_malware_switch')
169
  do_action('wpns_show_message',MoWpnsMessages::showMessage('MALWARE_ENABLE'),'SUCCESS');
 
170
  }else{
171
  update_site_option('mo_2f_switch_malware', 0);
172
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')-1);
@@ -179,8 +186,11 @@ class Mo2f_ajax_dashboard
179
  if($POSTED){
180
  update_site_option('mo_2f_switch_adv_block', 1);
181
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
 
 
182
  if($_POST['option'] == 'tab_block_switch')
183
  do_action('wpns_show_message',MoWpnsMessages::showMessage('ADV_BLOCK_ENABLE'),'SUCCESS');
 
184
  }
185
  else{
186
  update_site_option('mo_2f_switch_adv_block', 0);
@@ -195,37 +205,6 @@ class Mo2f_ajax_dashboard
195
  }
196
  }
197
 
198
- public function mo2f_handle_report_enable($POSTED){
199
- if($POSTED){
200
- update_site_option('mo_2f_switch_reports', 1);
201
- update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
202
- if($_POST['option'] == 'tab_report_switch')
203
- do_action('wpns_show_message',MoWpnsMessages::showMessage('REPORT_ENABLE'),'SUCCESS');
204
- }
205
- else{
206
- update_site_option('mo_2f_switch_reports', 0);
207
- update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')-1);
208
- if($_POST['option'] == 'tab_report_switch')
209
- do_action('wpns_show_message',MoWpnsMessages::showMessage('REPORT_DISABLE'),'ERROR');
210
- }
211
- }
212
-
213
- public function mo2f_handle_notif_enable($POSTED){
214
- if($POSTED){
215
- update_site_option('mo_2f_switch_notif', 1);
216
- update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
217
- if($_POST['option'] == 'tab_notif_switch')
218
- do_action('wpns_show_message',MoWpnsMessages::showMessage('NOTIF_ENABLE'),'SUCCESS');
219
- }
220
- else{
221
- update_site_option('mo_2f_switch_notif', 0);
222
- update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')-1);
223
- update_site_option('mo_wpns_enable_ip_blocked_email_to_admin', false);
224
- update_site_option('mo_wpns_enable_unusual_activity_email_to_user', false);
225
- if($_POST['option'] == 'tab_notif_switch')
226
- do_action('wpns_show_message',MoWpnsMessages::showMessage('NOTIF_DISABLE'),'ERROR');
227
- }
228
- }
229
 
230
  }
231
  new Mo2f_ajax_dashboard();
8
  public function mo2f_switch_functions(){
9
  if(isset($_POST) && isset($_POST['option'])){
10
  $tab_count= get_site_option('mo2f_tab_count', 0);
11
+ if($tab_count == 5)
12
  update_site_option('mo_2f_switch_all', 1);
13
  else if($tab_count == 0)
14
  update_site_option('mo_2f_switch_all', 0);
36
  case "tab_block_switch":
37
  $this->mo2f_handle_block_enable($santizied_post);
38
  break;
39
+
 
 
 
 
 
40
  }
41
  }
42
  }
47
  $this->mo2f_handle_backup_enable($POSTED);
48
  $this->mo2f_handle_malware_enable($POSTED);
49
  $this->mo2f_handle_block_enable($POSTED);
 
 
50
  if($POSTED){
51
  update_option('mo_2f_switch_all',1);
52
+ update_site_option('mo2f_tab_count', 5);
53
  do_action('wpns_show_message',MoWpnsMessages::showMessage('ALL_ENABLED'),'SUCCESS');
54
  }
55
  else{
79
  if($POSTED){
80
  update_site_option('mo_2f_switch_waf', 1);
81
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
82
+ if (isset($_POST['option'] ))
83
+ {
84
+ if($_POST['option'] == 'tab_waf_switch')
85
+ {
86
+ do_action('wpns_show_message',MoWpnsMessages::showMessage('WAF_ENABLE'),'SUCCESS');
87
+ }
88
+ }
89
  }
90
  else{
91
  update_site_option('mo_2f_switch_waf', 0);
112
  if($POSTED){
113
  update_site_option('mo_2f_switch_loginspam', 1);
114
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
115
+ if (isset($_POST['option'] ))
116
+ {
117
  if($_POST['option'] == 'tab_login_switch')
118
  do_action('wpns_show_message',MoWpnsMessages::showMessage('LOGIN_ENABLE'),'SUCCESS');
119
+ }
120
  }
121
  else{
122
  update_site_option('mo_2f_switch_loginspam', 0);
146
  if($POSTED){
147
  update_site_option('mo_2f_switch_backup', 1);
148
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
149
+ if (isset($_POST['option'] ))
150
+ {
151
  if($_POST['option'] == 'tab_backup_switch')
152
  do_action('wpns_show_message',MoWpnsMessages::showMessage('BACKUP_ENABLE'),'SUCCESS');
153
+ }
154
  }
155
  else{
156
  update_site_option('mo_2f_switch_backup', 0);
169
  if($POSTED){
170
  update_site_option('mo_2f_switch_malware', 1);
171
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
172
+ if (isset($_POST['option'] ))
173
+ {
174
  if($_POST['option'] == 'tab_malware_switch')
175
  do_action('wpns_show_message',MoWpnsMessages::showMessage('MALWARE_ENABLE'),'SUCCESS');
176
+ }
177
  }else{
178
  update_site_option('mo_2f_switch_malware', 0);
179
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')-1);
186
  if($POSTED){
187
  update_site_option('mo_2f_switch_adv_block', 1);
188
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
189
+ if (isset($_POST['option'] ))
190
+ {
191
  if($_POST['option'] == 'tab_block_switch')
192
  do_action('wpns_show_message',MoWpnsMessages::showMessage('ADV_BLOCK_ENABLE'),'SUCCESS');
193
+ }
194
  }
195
  else{
196
  update_site_option('mo_2f_switch_adv_block', 0);
205
  }
206
  }
207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
 
209
  }
210
  new Mo2f_ajax_dashboard();
controllers/main_controller.php CHANGED
@@ -52,8 +52,10 @@
52
  include $controller . 'request_demo.php';
53
  }
54
  }
55
-
56
- include $controller . 'support.php';
 
 
57
  }
58
  else
59
  {
52
  include $controller . 'request_demo.php';
53
  }
54
  }
55
+ if($_GET['page'] != 'mo_2fa_upgrade')
56
+ {
57
+ include $controller . 'support.php';
58
+ }
59
  }
60
  else
61
  {
controllers/navbar.php CHANGED
@@ -14,7 +14,7 @@
14
 
15
  if( isset( $_GET[ 'page' ])){
16
  $tab_count= get_site_option('mo2f_tab_count', 0);
17
- if($tab_count == 7)
18
  update_site_option('mo_2f_switch_all', 1);
19
  else
20
  update_site_option('mo_2f_switch_all', 0);
@@ -22,37 +22,28 @@
22
  {
23
  case 'mo_2fa_login_and_spam':
24
  update_option('mo_2f_switch_loginspam', 1);
25
- if($tab_count < 7 && !get_site_option('mo_2f_switch_loginspam'))
26
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
27
  break;
28
  case 'mo_2fa_backup':
29
  update_option('mo_2f_switch_backup', 1);
30
- if($tab_count < 7 && !get_site_option('mo_2f_switch_backup'))
31
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
32
  break;
33
  case 'mo_2fa_waf':
34
  update_option('mo_2f_switch_waf', 1);
35
- if($tab_count < 7 && !get_site_option('mo_2f_switch_waf'))
36
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
37
  break;
38
  case 'mo_2fa_advancedblocking':
39
  update_option('mo_2f_switch_adv_block', 1);
40
- if($tab_count < 7 && !get_site_option('mo_2f_switch_adv_block'))
41
- update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
42
- break;
43
- case 'mo_2fa_notifications':
44
- update_option('mo_2f_switch_notif', 1);
45
- if($tab_count < 7 && !get_site_option('mo_2f_switch_notif'))
46
- update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
47
- break;
48
- case 'mo_2fa_reports':
49
- update_option('mo_2f_switch_reports', 1);
50
- if($tab_count < 7 && !get_site_option('mo_2f_switch_reports'))
51
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
52
  break;
 
53
  case 'mo_2fa_malwarescan':
54
  update_option('mo_2f_switch_malware', 1);
55
- if($tab_count < 7 && !get_site_option('mo_2f_switch_malware'))
56
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
57
  break;
58
  }
14
 
15
  if( isset( $_GET[ 'page' ])){
16
  $tab_count= get_site_option('mo2f_tab_count', 0);
17
+ if($tab_count == 5)
18
  update_site_option('mo_2f_switch_all', 1);
19
  else
20
  update_site_option('mo_2f_switch_all', 0);
22
  {
23
  case 'mo_2fa_login_and_spam':
24
  update_option('mo_2f_switch_loginspam', 1);
25
+ if($tab_count < 5 && !get_site_option('mo_2f_switch_loginspam'))
26
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
27
  break;
28
  case 'mo_2fa_backup':
29
  update_option('mo_2f_switch_backup', 1);
30
+ if($tab_count < 5 && !get_site_option('mo_2f_switch_backup'))
31
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
32
  break;
33
  case 'mo_2fa_waf':
34
  update_option('mo_2f_switch_waf', 1);
35
+ if($tab_count < 5 && !get_site_option('mo_2f_switch_waf'))
36
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
37
  break;
38
  case 'mo_2fa_advancedblocking':
39
  update_option('mo_2f_switch_adv_block', 1);
40
+ if($tab_count < 5 && !get_site_option('mo_2f_switch_adv_block'))
 
 
 
 
 
 
 
 
 
 
41
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
42
  break;
43
+
44
  case 'mo_2fa_malwarescan':
45
  update_option('mo_2f_switch_malware', 1);
46
+ if($tab_count < 5 && !get_site_option('mo_2f_switch_malware'))
47
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
48
  break;
49
  }
controllers/wpns-loginsecurity-ajax.php CHANGED
@@ -30,11 +30,24 @@ class wpns_ajax
30
  $this->wpns_waf_rate_limiting_form(); break;
31
  case 'wpns_ip_lookup':
32
  $this->wpns_ip_lookup(); break;
 
 
 
 
33
  }
34
  }
35
 
36
-
37
- function wpns_handle_bf_configuration_form(){
 
 
 
 
 
 
 
 
 
38
 
39
  $nonce = $_POST['nonce'];
40
  if ( ! wp_verify_nonce( $nonce, 'wpns-brute-force' ) ){
30
  $this->wpns_waf_rate_limiting_form(); break;
31
  case 'wpns_ip_lookup':
32
  $this->wpns_ip_lookup(); break;
33
+ case 'wpns_upgrade':
34
+ $this->wpns_upgrade(); break;
35
+ case 'wpns_upgrade_idp':
36
+ $this->wpns_upgrade_idp(); break;
37
  }
38
  }
39
 
40
+ function wpns_upgrade()
41
+ {
42
+ update_option('mo_wpns_upgrade_onprem' , 1);
43
+ update_option('mo_wpns_plantype', $_POST['plantype'] );
44
+
45
+ }
46
+ function wpns_upgrade_idp()
47
+ {
48
+ update_option('mo_wpns_upgrade_onprem' , 0);
49
+ }
50
+ function wpns_handle_bf_configuration_form(){
51
 
52
  $nonce = $_POST['nonce'];
53
  if ( ! wp_verify_nonce( $nonce, 'wpns-brute-force' ) ){
handler/login.php CHANGED
@@ -341,6 +341,7 @@ class LoginHandler
341
  $error->add( 'empty_username', '<strong>' . mo2f_lt( 'ERROR' ) . '</strong>: ' . mo2f_lt( 'Invalid Request.' ) );
342
  return $error;
343
  } else {
 
344
  if(!$Mo2fdbQueries->get_user_detail( 'mo_2factor_user_registration_status', $user->ID) =='MO_2_FACTOR_PLUGIN_SETTINGS'){
345
  //$Mo2fdbQueries->update_user_details( $user->ID, array( 'mo_2factor_user_registration_status' => '' ) );
346
  delete_user_meta( $user->ID, 'register_account_popup' );
341
  $error->add( 'empty_username', '<strong>' . mo2f_lt( 'ERROR' ) . '</strong>: ' . mo2f_lt( 'Invalid Request.' ) );
342
  return $error;
343
  } else {
344
+ update_option('mo_wpns_upgrade_onprem',0);
345
  if(!$Mo2fdbQueries->get_user_detail( 'mo_2factor_user_registration_status', $user->ID) =='MO_2_FACTOR_PLUGIN_SETTINGS'){
346
  //$Mo2fdbQueries->update_user_details( $user->ID, array( 'mo_2factor_user_registration_status' => '' ) );
347
  delete_user_meta( $user->ID, 'register_account_popup' );
handler/security_features.php CHANGED
@@ -17,9 +17,25 @@ class Mo_2fa_security_features
17
  $enable_newtwork_security_features = isset($postvalue['mo_wpns_2fa_with_network_security']) ? true : false;
18
 
19
  update_option( 'mo_wpns_2fa_with_network_security', $enable_newtwork_security_features);
 
 
 
 
 
 
 
 
 
20
  update_option( 'mo_wpns_2fa_with_network_security_popup_visible', 0);
 
 
 
 
 
 
 
 
21
 
22
- ?><script>window.location.href="admin.php?page=mo_2fa_two_fa";</script><?php
23
 
24
  }
25
  else
17
  $enable_newtwork_security_features = isset($postvalue['mo_wpns_2fa_with_network_security']) ? true : false;
18
 
19
  update_option( 'mo_wpns_2fa_with_network_security', $enable_newtwork_security_features);
20
+
21
+ if ($enable_newtwork_security_features)
22
+ {
23
+ $mo2f_enable_all_enable = new Mo2f_ajax_dashboard();
24
+ $mo2f_enable_all_enable -> mo2f_handle_all_enable(1);
25
+ }
26
+
27
+
28
+
29
  update_option( 'mo_wpns_2fa_with_network_security_popup_visible', 0);
30
+ if(get_option('mo_wpns_2fa_with_network_security'))
31
+ {
32
+ ?><script>window.location.href="admin.php?page=mo_2fa_dashboard";</script><?php
33
+ }
34
+ else
35
+ {
36
+ ?><script>window.location.href="admin.php?page=mo_2fa_two_fa";</script><?php
37
+ }
38
 
 
39
 
40
  }
41
  else
handler/twofa/setup_twofa.php CHANGED
@@ -439,7 +439,7 @@ function display_customer_registration_forms($user){
439
  </div>
440
  </div>
441
  <?php }
442
- if(in_array($mo2f_current_registration_status, array("REGISTRATION_STARTED", "MO_2_FACTOR_OTP_DELIVERED_SUCCESS", "MO_2_FACTOR_OTP_DELIVERED_FAILURE", "MO_2_FACTOR_VERIFY_CUSTOMER"))){
443
  mo2f_show_registration_screen($user);
444
  }
445
  ?>
439
  </div>
440
  </div>
441
  <?php }
442
+ if(in_array($mo2f_current_registration_status, array("REGISTRATION_STARTED", "MO_2_FACTOR_OTP_DELIVERED_SUCCESS", "MO_2_FACTOR_OTP_DELIVERED_FAILURE", "MO_2_FACTOR_VERIFY_CUSTOMER")) || get_option('mo_wpns_upgrade_onprem')){
443
  mo2f_show_registration_screen($user);
444
  }
445
  ?>
handler/twofa/two_fa_settings.php CHANGED
@@ -602,6 +602,7 @@ class Miniorange_Authentication {
602
  return $error;
603
  } else {
604
  //$Mo2fdbQueries->update_user_details( $user->ID, array( 'mo_2factor_user_registration_status' => '' ) );
 
605
  delete_user_meta( $user->ID, 'register_account_popup' );
606
  }
607
  }else if ( isset( $_POST['option'] ) and $_POST['option'] == "mo_auth_verify_customer" ) { //register the admin to miniOrange if already exist
602
  return $error;
603
  } else {
604
  //$Mo2fdbQueries->update_user_details( $user->ID, array( 'mo_2factor_user_registration_status' => '' ) );
605
+ update_option('mo_wpns_upgrade_onprem', 0);
606
  delete_user_meta( $user->ID, 'register_account_popup' );
607
  }
608
  }else if ( isset( $_POST['option'] ) and $_POST['option'] == "mo_auth_verify_customer" ) { //register the admin to miniOrange if already exist
helper/constants.php CHANGED
@@ -30,7 +30,7 @@
30
  public static $country = array('A1' =>'ANONYMOUS PROXY','A2' =>'SATELLITE PROVIDER','O1' =>'OTHER COUNTRY','AF' => 'AFGHANISTAN','AL' => 'ALBANIA','DZ' => 'ALGERIA','AS' => 'AMERICAN SAMOA','AD' => 'ANDORRA','AO' => 'ANGOLA','AI' => 'ANGUILLA','AQ' => 'ANTARCTICA','AG' => 'ANTIGUA AND BARBUDA','AR' => 'ARGENTINA','AM' => 'ARMENIA','AW' => 'ARUBA','AU' => 'AUSTRALIA','AT' => 'AUSTRIA','AZ' => 'AZERBAIJAN','BS' => 'BAHAMAS','BH' => 'BAHRAIN','BD' => 'BANGLADESH','BB' => 'BARBADOS','BY' => 'BELARUS','BE' => 'BELGIUM','BZ' => 'BELIZE','BJ' => 'BENIN','BM' => 'BERMUDA','BT' => 'BHUTAN','BO' => 'BOLIVIA','BA' => 'BOSNIA AND HERZEGOVINA','BW' => 'BOTSWANA','BV' => 'BOUVET ISLAND','BR' => 'BRAZIL','IO' => 'BRITISH INDIAN OCEAN TERRITORY','BN' => 'BRUNEI DARUSSALAM','BG' => 'BULGARIA','BF' => 'BURKINA FASO','BI' => 'BURUNDI','KH' => 'CAMBODIA','CM' => 'CAMEROON','CA' => 'CANADA','CV' => 'CAPE VERDE','KY' => 'CAYMAN ISLANDS','CF' => 'CENTRAL AFRICAN REPUBLIC','TD' => 'CHAD','CL' => 'CHILE','CN' => 'CHINA','CX' => 'CHRISTMAS ISLAND','CC' => 'COCOS (KEELING) ISLANDS','CO' => 'COLOMBIA','KM' => 'COMOROS','CG' => 'CONGO','CD' => 'CONGO, THE DEMOCRATIC REPUBLIC OF THE','CK' => 'COOK ISLANDS','CR' => 'COSTA RICA','CI' => 'COTE D IVOIRE','HR' => 'CROATIA','CU' => 'CUBA','CY' => 'CYPRUS','CZ' => 'CZECH REPUBLIC','DK' => 'DENMARK','DJ' => 'DJIBOUTI','DM' => 'DOMINICA','DO' => 'DOMINICAN REPUBLIC','TP' => 'EAST TIMOR','EC' => 'ECUADOR','EG' => 'EGYPT','SV' => 'EL SALVADOR','GQ' => 'EQUATORIAL GUINEA','ER' => 'ERITREA','EE' => 'ESTONIA','ET' => 'ETHIOPIA','FK' => 'FALKLAND ISLANDS (MALVINAS)','FO' => 'FAROE ISLANDS','FJ' => 'FIJI','FI' => 'FINLAND','FR' => 'FRANCE','GF' => 'FRENCH GUIANA','PF' => 'FRENCH POLYNESIA','TF' => 'FRENCH SOUTHERN TERRITORIES','GA' => 'GABON','GM' => 'GAMBIA','GE' => 'GEORGIA','DE' => 'GERMANY','GH' => 'GHANA','GI' => 'GIBRALTAR','GR' => 'GREECE','GL' => 'GREENLAND','GD' => 'GRENADA','GP' => 'GUADELOUPE','GU' => 'GUAM','GT' => 'GUATEMALA','GN' => 'GUINEA','GW' => 'GUINEA-BISSAU','GY' => 'GUYANA','HT' => 'HAITI','HM' => 'HEARD ISLAND AND MCDONALD ISLANDS','VA' => 'HOLY SEE (VATICAN CITY STATE)','HN' => 'HONDURAS','HK' => 'HONG KONG','HU' => 'HUNGARY','IS' => 'ICELAND','IN' => 'INDIA','ID' => 'INDONESIA','IR' => 'IRAN, ISLAMIC REPUBLIC OF','IQ' => 'IRAQ','IE' => 'IRELAND','IL' => 'ISRAEL','IT' => 'ITALY','JM' => 'JAMAICA','JP' => 'JAPAN','JO' => 'JORDAN','KZ' => 'KAZAKSTAN','KE' => 'KENYA','KI' => 'KIRIBATI','KP' => 'KOREA DEMOCRATIC PEOPLES REPUBLIC OF','KR' => 'KOREA REPUBLIC OF','KW' => 'KUWAIT','KG' => 'KYRGYZSTAN','LA' => 'LAO PEOPLES DEMOCRATIC REPUBLIC','LV' => 'LATVIA','LB' => 'LEBANON','LS' => 'LESOTHO','LR' => 'LIBERIA','LY' => 'LIBYAN ARAB JAMAHIRIYA','LI' => 'LIECHTENSTEIN','LT' => 'LITHUANIA','LU' => 'LUXEMBOURG','MO' => 'MACAU','MK' => 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF','MG' => 'MADAGASCAR','MW' => 'MALAWI','MY' => 'MALAYSIA','MV' => 'MALDIVES','ML' => 'MALI','MT' => 'MALTA','MH' => 'MARSHALL ISLANDS','MQ' => 'MARTINIQUE','MR' => 'MAURITANIA','MU' => 'MAURITIUS','YT' => 'MAYOTTE','MX' => 'MEXICO','FM' => 'MICRONESIA, FEDERATED STATES OF','MD' => 'MOLDOVA, REPUBLIC OF','MC' => 'MONACO','MN' => 'MONGOLIA','MS' => 'MONTSERRAT','MA' => 'MOROCCO','MZ' => 'MOZAMBIQUE','MM' => 'MYANMAR','NA' => 'NAMIBIA','NR' => 'NAURU','NP' => 'NEPAL','NL' => 'NETHERLANDS','AN' => 'NETHERLANDS ANTILLES','NC' => 'NEW CALEDONIA','NZ' => 'NEW ZEALAND','NI' => 'NICARAGUA','NE' => 'NIGER','NG' => 'NIGERIA','NU' => 'NIUE','NF' => 'NORFOLK ISLAND','MP' => 'NORTHERN MARIANA ISLANDS','NO' => 'NORWAY','OM' => 'OMAN','PK' => 'PAKISTAN','PW' => 'PALAU','PS' => 'PALESTINIAN TERRITORY, OCCUPIED','PA' => 'PANAMA','PG' => 'PAPUA NEW GUINEA','PY' => 'PARAGUAY','PE' => 'PERU','PH' => 'PHILIPPINES','PN' => 'PITCAIRN','PL' => 'POLAND','PT' => 'PORTUGAL','PR' => 'PUERTO RICO','QA' => 'QATAR','RE' => 'REUNION','RO' => 'ROMANIA','RU' => 'RUSSIAN FEDERATION','RW' => 'RWANDA','SH' => 'SAINT HELENA','KN' => 'SAINT KITTS AND NEVIS','LC' => 'SAINT LUCIA','PM' => 'SAINT PIERRE AND MIQUELON','VC' => 'SAINT VINCENT AND THE GRENADINES','WS' => 'SAMOA','SM' => 'SAN MARINO','ST' => 'SAO TOME AND PRINCIPE','SA' => 'SAUDI ARABIA','SN' => 'SENEGAL','SC' => 'SEYCHELLES','SL' => 'SIERRA LEONE','SG' => 'SINGAPORE','SK' => 'SLOVAKIA','SI' => 'SLOVENIA','SB' => 'SOLOMON ISLANDS','SO' => 'SOMALIA','ZA' => 'SOUTH AFRICA','GS' => 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS','ES' => 'SPAIN','LK' => 'SRI LANKA','SD' => 'SUDAN','SR' => 'SURINAME','SJ' => 'SVALBARD AND JAN MAYEN','SZ' => 'SWAZILAND','SE' => 'SWEDEN','CH' => 'SWITZERLAND','SY' => 'SYRIAN ARAB REPUBLIC','TW' => 'TAIWAN, PROVINCE OF CHINA','TJ' => 'TAJIKISTAN','TZ' => 'TANZANIA, UNITED REPUBLIC OF','TH' => 'THAILAND','TG' => 'TOGO','TK' => 'TOKELAU','TO' => 'TONGA','TT' => 'TRINIDAD AND TOBAGO','TN' => 'TUNISIA','TR' => 'TURKEY','TM' => 'TURKMENISTAN','TC' => 'TURKS AND CAICOS ISLANDS','TV' => 'TUVALU','UG' => 'UGANDA','UA' => 'UKRAINE','AE' => 'UNITED ARAB EMIRATES','GB' => 'UNITED KINGDOM','US' => 'UNITED STATES','UM' => 'UNITED STATES MINOR OUTLYING ISLANDS','UY' => 'URUGUAY','UZ' => 'UZBEKISTAN','VU' => 'VANUATU','VE' => 'VENEZUELA','VN' => 'VIET NAM','VG' => 'VIRGIN ISLANDS, BRITISH','VI' => 'VIRGIN ISLANDS, U.S.','WF' => 'WALLIS AND FUTUNA','EH' => 'WESTERN SAHARA','YE' => 'YEMEN','YU' => 'YUGOSLAVIA','ZM' => 'ZAMBIA','ZW' => 'ZIMBABWE');
31
 
32
  const RECAPTCHA_VERIFY = 'https://www.google.com/recaptcha/api/siteverify';
33
-
34
  const LOGIN_ATTEMPTS_EXCEEDED = "User exceeded allowed login attempts.";
35
  const BLOCKED_BY_ADMIN = "Blocked by Admin";
36
  const IP_RANGE_BLOCKING = "IP Range Blocking";
30
  public static $country = array('A1' =>'ANONYMOUS PROXY','A2' =>'SATELLITE PROVIDER','O1' =>'OTHER COUNTRY','AF' => 'AFGHANISTAN','AL' => 'ALBANIA','DZ' => 'ALGERIA','AS' => 'AMERICAN SAMOA','AD' => 'ANDORRA','AO' => 'ANGOLA','AI' => 'ANGUILLA','AQ' => 'ANTARCTICA','AG' => 'ANTIGUA AND BARBUDA','AR' => 'ARGENTINA','AM' => 'ARMENIA','AW' => 'ARUBA','AU' => 'AUSTRALIA','AT' => 'AUSTRIA','AZ' => 'AZERBAIJAN','BS' => 'BAHAMAS','BH' => 'BAHRAIN','BD' => 'BANGLADESH','BB' => 'BARBADOS','BY' => 'BELARUS','BE' => 'BELGIUM','BZ' => 'BELIZE','BJ' => 'BENIN','BM' => 'BERMUDA','BT' => 'BHUTAN','BO' => 'BOLIVIA','BA' => 'BOSNIA AND HERZEGOVINA','BW' => 'BOTSWANA','BV' => 'BOUVET ISLAND','BR' => 'BRAZIL','IO' => 'BRITISH INDIAN OCEAN TERRITORY','BN' => 'BRUNEI DARUSSALAM','BG' => 'BULGARIA','BF' => 'BURKINA FASO','BI' => 'BURUNDI','KH' => 'CAMBODIA','CM' => 'CAMEROON','CA' => 'CANADA','CV' => 'CAPE VERDE','KY' => 'CAYMAN ISLANDS','CF' => 'CENTRAL AFRICAN REPUBLIC','TD' => 'CHAD','CL' => 'CHILE','CN' => 'CHINA','CX' => 'CHRISTMAS ISLAND','CC' => 'COCOS (KEELING) ISLANDS','CO' => 'COLOMBIA','KM' => 'COMOROS','CG' => 'CONGO','CD' => 'CONGO, THE DEMOCRATIC REPUBLIC OF THE','CK' => 'COOK ISLANDS','CR' => 'COSTA RICA','CI' => 'COTE D IVOIRE','HR' => 'CROATIA','CU' => 'CUBA','CY' => 'CYPRUS','CZ' => 'CZECH REPUBLIC','DK' => 'DENMARK','DJ' => 'DJIBOUTI','DM' => 'DOMINICA','DO' => 'DOMINICAN REPUBLIC','TP' => 'EAST TIMOR','EC' => 'ECUADOR','EG' => 'EGYPT','SV' => 'EL SALVADOR','GQ' => 'EQUATORIAL GUINEA','ER' => 'ERITREA','EE' => 'ESTONIA','ET' => 'ETHIOPIA','FK' => 'FALKLAND ISLANDS (MALVINAS)','FO' => 'FAROE ISLANDS','FJ' => 'FIJI','FI' => 'FINLAND','FR' => 'FRANCE','GF' => 'FRENCH GUIANA','PF' => 'FRENCH POLYNESIA','TF' => 'FRENCH SOUTHERN TERRITORIES','GA' => 'GABON','GM' => 'GAMBIA','GE' => 'GEORGIA','DE' => 'GERMANY','GH' => 'GHANA','GI' => 'GIBRALTAR','GR' => 'GREECE','GL' => 'GREENLAND','GD' => 'GRENADA','GP' => 'GUADELOUPE','GU' => 'GUAM','GT' => 'GUATEMALA','GN' => 'GUINEA','GW' => 'GUINEA-BISSAU','GY' => 'GUYANA','HT' => 'HAITI','HM' => 'HEARD ISLAND AND MCDONALD ISLANDS','VA' => 'HOLY SEE (VATICAN CITY STATE)','HN' => 'HONDURAS','HK' => 'HONG KONG','HU' => 'HUNGARY','IS' => 'ICELAND','IN' => 'INDIA','ID' => 'INDONESIA','IR' => 'IRAN, ISLAMIC REPUBLIC OF','IQ' => 'IRAQ','IE' => 'IRELAND','IL' => 'ISRAEL','IT' => 'ITALY','JM' => 'JAMAICA','JP' => 'JAPAN','JO' => 'JORDAN','KZ' => 'KAZAKSTAN','KE' => 'KENYA','KI' => 'KIRIBATI','KP' => 'KOREA DEMOCRATIC PEOPLES REPUBLIC OF','KR' => 'KOREA REPUBLIC OF','KW' => 'KUWAIT','KG' => 'KYRGYZSTAN','LA' => 'LAO PEOPLES DEMOCRATIC REPUBLIC','LV' => 'LATVIA','LB' => 'LEBANON','LS' => 'LESOTHO','LR' => 'LIBERIA','LY' => 'LIBYAN ARAB JAMAHIRIYA','LI' => 'LIECHTENSTEIN','LT' => 'LITHUANIA','LU' => 'LUXEMBOURG','MO' => 'MACAU','MK' => 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF','MG' => 'MADAGASCAR','MW' => 'MALAWI','MY' => 'MALAYSIA','MV' => 'MALDIVES','ML' => 'MALI','MT' => 'MALTA','MH' => 'MARSHALL ISLANDS','MQ' => 'MARTINIQUE','MR' => 'MAURITANIA','MU' => 'MAURITIUS','YT' => 'MAYOTTE','MX' => 'MEXICO','FM' => 'MICRONESIA, FEDERATED STATES OF','MD' => 'MOLDOVA, REPUBLIC OF','MC' => 'MONACO','MN' => 'MONGOLIA','MS' => 'MONTSERRAT','MA' => 'MOROCCO','MZ' => 'MOZAMBIQUE','MM' => 'MYANMAR','NA' => 'NAMIBIA','NR' => 'NAURU','NP' => 'NEPAL','NL' => 'NETHERLANDS','AN' => 'NETHERLANDS ANTILLES','NC' => 'NEW CALEDONIA','NZ' => 'NEW ZEALAND','NI' => 'NICARAGUA','NE' => 'NIGER','NG' => 'NIGERIA','NU' => 'NIUE','NF' => 'NORFOLK ISLAND','MP' => 'NORTHERN MARIANA ISLANDS','NO' => 'NORWAY','OM' => 'OMAN','PK' => 'PAKISTAN','PW' => 'PALAU','PS' => 'PALESTINIAN TERRITORY, OCCUPIED','PA' => 'PANAMA','PG' => 'PAPUA NEW GUINEA','PY' => 'PARAGUAY','PE' => 'PERU','PH' => 'PHILIPPINES','PN' => 'PITCAIRN','PL' => 'POLAND','PT' => 'PORTUGAL','PR' => 'PUERTO RICO','QA' => 'QATAR','RE' => 'REUNION','RO' => 'ROMANIA','RU' => 'RUSSIAN FEDERATION','RW' => 'RWANDA','SH' => 'SAINT HELENA','KN' => 'SAINT KITTS AND NEVIS','LC' => 'SAINT LUCIA','PM' => 'SAINT PIERRE AND MIQUELON','VC' => 'SAINT VINCENT AND THE GRENADINES','WS' => 'SAMOA','SM' => 'SAN MARINO','ST' => 'SAO TOME AND PRINCIPE','SA' => 'SAUDI ARABIA','SN' => 'SENEGAL','SC' => 'SEYCHELLES','SL' => 'SIERRA LEONE','SG' => 'SINGAPORE','SK' => 'SLOVAKIA','SI' => 'SLOVENIA','SB' => 'SOLOMON ISLANDS','SO' => 'SOMALIA','ZA' => 'SOUTH AFRICA','GS' => 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS','ES' => 'SPAIN','LK' => 'SRI LANKA','SD' => 'SUDAN','SR' => 'SURINAME','SJ' => 'SVALBARD AND JAN MAYEN','SZ' => 'SWAZILAND','SE' => 'SWEDEN','CH' => 'SWITZERLAND','SY' => 'SYRIAN ARAB REPUBLIC','TW' => 'TAIWAN, PROVINCE OF CHINA','TJ' => 'TAJIKISTAN','TZ' => 'TANZANIA, UNITED REPUBLIC OF','TH' => 'THAILAND','TG' => 'TOGO','TK' => 'TOKELAU','TO' => 'TONGA','TT' => 'TRINIDAD AND TOBAGO','TN' => 'TUNISIA','TR' => 'TURKEY','TM' => 'TURKMENISTAN','TC' => 'TURKS AND CAICOS ISLANDS','TV' => 'TUVALU','UG' => 'UGANDA','UA' => 'UKRAINE','AE' => 'UNITED ARAB EMIRATES','GB' => 'UNITED KINGDOM','US' => 'UNITED STATES','UM' => 'UNITED STATES MINOR OUTLYING ISLANDS','UY' => 'URUGUAY','UZ' => 'UZBEKISTAN','VU' => 'VANUATU','VE' => 'VENEZUELA','VN' => 'VIET NAM','VG' => 'VIRGIN ISLANDS, BRITISH','VI' => 'VIRGIN ISLANDS, U.S.','WF' => 'WALLIS AND FUTUNA','EH' => 'WESTERN SAHARA','YE' => 'YEMEN','YU' => 'YUGOSLAVIA','ZM' => 'ZAMBIA','ZW' => 'ZIMBABWE');
31
 
32
  const RECAPTCHA_VERIFY = 'https://www.google.com/recaptcha/api/siteverify';
33
+ const FAQ_PAYMENT_URL = 'https://faq.miniorange.com/knowledgebase/all-i-want-to-do-is-upgrade-to-a-premium-licence/';
34
  const LOGIN_ATTEMPTS_EXCEEDED = "User exceeded allowed login attempts.";
35
  const BLOCKED_BY_ADMIN = "Blocked by Admin";
36
  const IP_RANGE_BLOCKING = "IP Range Blocking";
includes/css/popup.css CHANGED
@@ -21,13 +21,13 @@
21
  }
22
  }
23
  .mo_popup_lable {
24
- height: 100%;
25
  display: block;
26
  background: white;
27
  border: 2px solid #20b2aa;
28
  border-radius: 20px;
29
  padding: 1rem;
30
- margin-bottom: 1rem;
31
  /*//margin: 1rem;*/
32
  text-align: center;
33
  box-shadow: 0px 3px 10px -2px hsla(150, 5%, 65%, 0.5);
21
  }
22
  }
23
  .mo_popup_lable {
24
+ height: 80%;
25
  display: block;
26
  background: white;
27
  border: 2px solid #20b2aa;
28
  border-radius: 20px;
29
  padding: 1rem;
30
+ padding-top: 0px;
31
  /*//margin: 1rem;*/
32
  text-align: center;
33
  box-shadow: 0px 3px 10px -2px hsla(150, 5%, 65%, 0.5);
includes/css/style_settings.css CHANGED
@@ -1,4 +1,241 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  .popup_text_not_JQ
3
  {
4
  color:black;
@@ -121,6 +358,7 @@
121
  background-color: #f1f1f1;
122
  margin:0px 22px;
123
  height: 84px;
 
124
 
125
  }
126
  .filebackupmessage{
@@ -251,7 +489,7 @@
251
  float: left;
252
  width: 42%;
253
  margin-left: 1%;
254
- min-height: 165px;
255
  overflow: hidden;
256
  text-align: center;
257
  border-top: 6px solid lightseagreen;
@@ -288,6 +526,7 @@
288
  text-align: center;
289
  }
290
 
 
291
  .mo_wpns_small_3_layout
292
  {
293
  float: left;
@@ -303,7 +542,7 @@
303
  .mo_wpns_dashboard_layout
304
  {
305
  margin: 10px;
306
- padding: 5px 20px;
307
  background-color: none;
308
  /*border: 1px solid #CCCCCC;*/
309
  float: left;
@@ -313,17 +552,17 @@
313
  }
314
  .mo_wpns_inside_dashboard_layout
315
  {
316
- /*margin-top: 10px;*/
317
  padding: 5px 0px;
318
  background-color: #FFFFFF;
319
  border: 1px solid #CCCCCC;
320
  float: left;
321
- width: 17.5%;
322
  height: 100px;
323
  margin-left: 1%;
324
  font-weight: 600;
325
  border-top: 2px solid lightseagreen;
326
- box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.19);
327
  }
328
  .mo_wpns_sub_dashboards_layout
329
  {
@@ -360,8 +599,11 @@
360
 
361
  .mo_wpns_dashboard_text
362
  {
363
- font-size: 50px;
364
- margin-top: -15px;
 
 
 
365
 
366
  }
367
  .mo_wpns_dashboard_upgrade_layout
@@ -649,7 +891,14 @@ h2.mo_wpns_nav-tab-wrapper
649
  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19);
650
  color: white;
651
  }
652
-
 
 
 
 
 
 
 
653
  .mo_wpns_products-dollar-amount {
654
  color: #797878;
655
  font-weight: 400;
@@ -935,11 +1184,11 @@ h2.mo_wpns_nav-tab-wrapper
935
  background-color: #FFFFFF;
936
  border: 1px solid #CCCCCC;
937
  float: left;
938
- width: 17.5%;
939
  height: 100px;
940
  border-top: 2px solid lightseagreen;
941
  font-weight: 600;
942
- box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.19);
943
  }
944
 
945
  /*.wpns_font_size {
@@ -2564,7 +2813,11 @@ a.mo2f_thumbnail:hover, a.mo2f_thumbnail:focus, a.mo2f_thumbnail.active {
2564
  .mo2f_gauth_column {
2565
  float: left;
2566
  padding: 10px;
2567
- height: 210px;
 
 
 
 
2568
  }
2569
 
2570
  .mo2f_gauth_left {
1
+ .mo_upgrade_toggle
2
+ {
3
+ text-align: center;
4
+ margin-top: -1%;
5
+ }
6
+ .mo_upgrade_toggle_2fa
7
+ {
8
+ background-color: black;
9
+ display: inline-block;
10
+ position: relative;
11
+ border-radius: 50em;
12
+ border-width: 1px;
13
+ border-style: solid;
14
+ border-color: #20b2aa;
15
+ border-image: initial;
16
+ }
17
+ .mo_upgrade_toggle_2fa_lable
18
+ {
19
+ position: relative;
20
+ z-index: 1;
21
+ display: inline-block;
22
+ float: left;
23
+ width: 160px;
24
+ height: 44px;
25
+ line-height: 40px;
26
+ cursor: pointer;
27
+ color: rgb(255, 255, 255);
28
+ font-size: 18px;
29
+ }
30
+ .mo2f_popup_close {
31
+ color: #aaaaaa;
32
+ float: right;
33
+ font-size: 28px;
34
+ font-weight: bold;
35
+ }
36
+
37
+ .mo2f_popup_close:hover,
38
+ .mo2f_popup_close:focus {
39
+ color: #000;
40
+ text-decoration: none;
41
+ cursor: pointer;
42
+ }
43
+ .mo_2fa_container
44
+ {
45
+ display:block;
46
+ box-sizing:border-box;
47
+ width:100%;
48
+ margin:auto;
49
+ }
50
+ .mo_2fa_card-deck
51
+ {
52
+ text-align:center!important;
53
+ margin-bottom:1rem!important;
54
+ flex-flow:row wrap;
55
+ margin-right:-15px;
56
+ margin-left:-15px;
57
+ display:flex;
58
+ box-sizing:border-box;
59
+ justify-content:center;
60
+ margin:auto;
61
+ }
62
+ .mo_2fa_card
63
+ {
64
+ margin:20px;
65
+ margin-top:16px;
66
+ border-radius:2%;
67
+ height:270px;
68
+ overflow: hidden;
69
+ width:25%;
70
+ border:1px solid #ecebeb;
71
+ box-sizing:border-box;
72
+ text-align:center!important;
73
+ background-color:#31ccfb1a;
74
+ box-shadow:1px 1px 6px -2px;
75
+ }
76
+ .mo_2fa_mo-supportnote
77
+ {
78
+ margin:auto;
79
+ text-align:center;
80
+ }
81
+ .mo_2fa_animation:hover
82
+ {
83
+ transition-property:all;
84
+ transition-duration:.25s;
85
+ transition-timing-function:linear;
86
+ transform:translateX(0) scale(1.02);
87
+ }
88
+ .mo_2fa_Card-header
89
+ {
90
+ box-sizing:border-box;
91
+ text-align:center!important;
92
+ display:block;
93
+ }
94
+ .mo_2fa_card-body
95
+ {
96
+ flex:1 1 auto;
97
+ padding:1.25rem;
98
+ padding-top: 0%;
99
+ box-sizing:border-box;
100
+ text-align:center!important;
101
+ display:block;
102
+ }
103
+ .mo_wpns_upgrade_title11
104
+ {
105
+ width: 23%;
106
+ min-height: 500px;
107
+ background-color: white;
108
+ float: left;
109
+ border: 2px solid black;
110
+ }
111
+ .mo_wpns_upgrade_title_2fa_lite
112
+ {
113
+ width: 31.1%;
114
+ min-height: 500px;
115
+ background-color: white;
116
+ float: left;
117
+ border: 2px solid black;
118
+ }
119
+ .mo_wpns_upgrade_page_title_name
120
+ {
121
+ text-align: center;
122
+ background-color: black;
123
+ text-shadow: 3px 2px 2px black;
124
 
125
+ }
126
+ .mo_wpns_upgrade_page_2fa_plan_name
127
+ {
128
+ margin-top: 0%;
129
+ padding: 6% 0% 0% 0%;
130
+ color: white;
131
+ font-size: 280%;
132
+ }
133
+ .mo_wpns_upgrade_page_hr
134
+ {
135
+ border:1px solid black;
136
+ }
137
+ .mo_wpns_upgrade_page_2fa_background
138
+ {
139
+ width: 100%;
140
+ min-height: 388px;
141
+ background-color: #4dbfb9;
142
+ }
143
+ .mo_wpns_upgrade_page_2fa_lite_background
144
+ {
145
+ width: 100%;
146
+ min-height: 404px;
147
+ background-color: #4dbfb9;
148
+ }
149
+ .mo_wpns_upgrade_page_show_feature_arrow
150
+ {
151
+ width: 100%;
152
+ float: left;
153
+ text-align: center;
154
+ min-height: 50px;
155
+ margin-top: 10%;
156
+ }
157
+ .mo_wpns_upgrade_page_hide_feature_arrow
158
+ {
159
+ width: 100%;
160
+ float: left;
161
+ text-align: center;
162
+ min-height: 50px;
163
+ margin-top: 10%;
164
+ display: none;
165
+ }
166
+ .mo_wpns_upgrade_page_space_in_div
167
+ {
168
+ width: 1%;
169
+ min-height: 500px;
170
+ background-color: none;
171
+ float: left;
172
+ }
173
+ .mo_wpns_upgrade_page_arrow_size
174
+ {
175
+ font-size: 50px;
176
+ }
177
+ .mo_wpns_upgrade_pade_pricing
178
+ {
179
+ color: white;
180
+ font-size: 400%;
181
+ }
182
+ .mo_wpns_upgrade_page_starting_price
183
+ {
184
+ color: white;
185
+ padding-top: 2%;
186
+ }
187
+ .mo_wpns_upgrade_page_2fa_ns
188
+ {
189
+ width: 96.2%;
190
+ background-color: white;
191
+ color: #6cd3cd;
192
+ float: left;
193
+ text-align: center;
194
+ border-top: 4px solid #24a49d;
195
+ }
196
+ .mo_wpns_upgrade_page_show_feature
197
+ {
198
+ color: #20b2aa;
199
+ background-color: white;
200
+ font-size: 250%;
201
+ font-weight: 500;
202
+ }
203
+ .mo_wpns_upgrade_page_hide_feature
204
+ {
205
+ color: #20b2aa;
206
+ background-color: white;
207
+ font-size: 250%;
208
+ font-weight: 500;
209
+ display: none;
210
+ }
211
+ .mo_wpns_upgrade_page_2fa_ns_1
212
+ {
213
+ color: #13817b;
214
+ font-size: 250%;
215
+ }
216
+ .mo_wpns_upgrade_page_ns_background
217
+ {
218
+ width: 100%;
219
+ min-height: 310px;
220
+ background-color: #4dbfb9;
221
+ }
222
+ .mo_wpns_button_info_tab {
223
+ background-color: #20b2aa;
224
+ border: none;
225
+ color: white;
226
+ height: 1.8em;
227
+ width: 100%;
228
+ padding-top: 13px;
229
+ font-size: 7px;
230
+ text-align: center;
231
+ text-decoration: none;
232
+ display: inline-block;
233
+ font-size: 16px;
234
+ margin: 26px 0px;
235
+ cursor: pointer;
236
+ -webkit-transition-duration: 0.4s;
237
+ transition-duration: 0.4s;
238
+ }
239
  .popup_text_not_JQ
240
  {
241
  color:black;
358
  background-color: #f1f1f1;
359
  margin:0px 22px;
360
  height: 84px;
361
+ margin-left: 0px;
362
 
363
  }
364
  .filebackupmessage{
489
  float: left;
490
  width: 42%;
491
  margin-left: 1%;
492
+ min-height: 220px;
493
  overflow: hidden;
494
  text-align: center;
495
  border-top: 6px solid lightseagreen;
526
  text-align: center;
527
  }
528
 
529
+
530
  .mo_wpns_small_3_layout
531
  {
532
  float: left;
542
  .mo_wpns_dashboard_layout
543
  {
544
  margin: 10px;
545
+ /*padding: 5px 20px;*/
546
  background-color: none;
547
  /*border: 1px solid #CCCCCC;*/
548
  float: left;
552
  }
553
  .mo_wpns_inside_dashboard_layout
554
  {
555
+ margin-top: 10px;
556
  padding: 5px 0px;
557
  background-color: #FFFFFF;
558
  border: 1px solid #CCCCCC;
559
  float: left;
560
+ width: 18.5%;
561
  height: 100px;
562
  margin-left: 1%;
563
  font-weight: 600;
564
  border-top: 2px solid lightseagreen;
565
+ /*box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.19);*/
566
  }
567
  .mo_wpns_sub_dashboards_layout
568
  {
599
 
600
  .mo_wpns_dashboard_text
601
  {
602
+ /*font-size: 50px;
603
+ margin-top: -15px;*/
604
+ font-size: 50px;
605
+ margin-bottom: -19px;
606
+ margin-top: -21px;
607
 
608
  }
609
  .mo_wpns_dashboard_upgrade_layout
891
  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19);
892
  color: white;
893
  }
894
+ .mo_wpns_upgrade_page_button
895
+ {
896
+ border: 1px solid;
897
+ background-color: black;
898
+ padding: 5% 10% 5% 10%;
899
+ border-radius: 7%;
900
+ box-shadow: 0px 2px 10px black;
901
+ }
902
  .mo_wpns_products-dollar-amount {
903
  color: #797878;
904
  font-weight: 400;
1184
  background-color: #FFFFFF;
1185
  border: 1px solid #CCCCCC;
1186
  float: left;
1187
+ width: 18.5%;
1188
  height: 100px;
1189
  border-top: 2px solid lightseagreen;
1190
  font-weight: 600;
1191
+ /*box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.19);*/
1192
  }
1193
 
1194
  /*.wpns_font_size {
2813
  .mo2f_gauth_column {
2814
  float: left;
2815
  padding: 10px;
2816
+ height: 165px;
2817
+ }
2818
+ .mo2f_gauth_column_cloud {
2819
+ float: left;
2820
+ height: 150px;
2821
  }
2822
 
2823
  .mo2f_gauth_left {
includes/images/card.png ADDED
Binary file
includes/images/netbanking.png ADDED
Binary file
includes/images/paypal.png ADDED
Binary file
includes/js/settings_page.js CHANGED
@@ -104,4 +104,21 @@ function ajaxCall(option,element,hide)
104
  },
105
  error: function(o, e, n) {}
106
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  }
104
  },
105
  error: function(o, e, n) {}
106
  });
107
+ }
108
+
109
+ function success_msg(msg){
110
+ jQuery('#wpns_nav_message').empty();
111
+ jQuery('#wpns_nav_message').append("<div id='notice_div' class='overlay_success'><div class='popup_text'>&nbsp&nbsp"+msg+"</div></div>");
112
+ window.onload = nav_popup();
113
+ }
114
+
115
+ function error_msg(msg){
116
+ jQuery('#wpns_nav_message').empty();
117
+ jQuery('#wpns_nav_message').append("<div id='notice_div' class='overlay_error'><div class='popup_text'>&nbsp&nbsp"+msg+"</div></div>");
118
+ window.onload = nav_popup();
119
+ }
120
+
121
+ function nav_popup() {
122
+ document.getElementById("notice_div").style.width = "40%";
123
+ setTimeout(function(){ jQuery('#notice_div').fadeOut('slow'); }, 3000);
124
  }
miniorange_2_factor_settings.php CHANGED
@@ -3,13 +3,13 @@
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.4.4
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.4.4' );
13
  define( 'MO2F_TEST_MODE', FALSE );
14
  define( 'MO2F_IS_ONPREM', get_option('is_onprem'));
15
  class Miniorange_twoFactor{
@@ -159,7 +159,7 @@
159
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Login and Spam' ,'administrator','mo_2fa_login_and_spam' , array( $this, 'mo_wpns'),4);
160
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Backup' ,'administrator','mo_2fa_backup' , array( $this, 'mo_wpns'),5);
161
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Malware Scan' ,'administrator','mo_2fa_malwarescan' , array( $this, 'mo_wpns'),6);
162
- add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Advanced Blocking' ,'administrator','mo_2fa_advancedblocking' , array( $this, 'mo_wpns'),7);
163
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Notifications' ,'administrator','mo_2fa_notifications' , array( $this, 'mo_wpns'),8);
164
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Reports' ,'administrator','mo_2fa_reports' , array( $this, 'mo_wpns'),9);
165
  }
@@ -250,8 +250,9 @@
250
  add_option( 'mo_wpns_2fa_with_network_security' , 1);
251
  add_option( 'mo_wpns_2fa_with_network_security_popup_visible', 1);
252
 
 
 
253
 
254
- //add_option( 'is_onprem' ,1);
255
  }
256
 
257
  function mo_wpns_deactivate()
@@ -266,6 +267,8 @@
266
  delete_option('mo2f_customer_token');
267
  delete_option('mo_wpns_transactionId');
268
  delete_option('mo_wpns_registration_status');
 
 
269
 
270
  $two_fa_settings = new Miniorange_Authentication();
271
  $two_fa_settings->mo_auth_deactivate();
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.4.6
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.4.6' );
13
  define( 'MO2F_TEST_MODE', FALSE );
14
  define( 'MO2F_IS_ONPREM', get_option('is_onprem'));
15
  class Miniorange_twoFactor{
159
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Login and Spam' ,'administrator','mo_2fa_login_and_spam' , array( $this, 'mo_wpns'),4);
160
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Backup' ,'administrator','mo_2fa_backup' , array( $this, 'mo_wpns'),5);
161
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Malware Scan' ,'administrator','mo_2fa_malwarescan' , array( $this, 'mo_wpns'),6);
162
+ add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'IP Blocking' ,'administrator','mo_2fa_advancedblocking' , array( $this, 'mo_wpns'),7);
163
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Notifications' ,'administrator','mo_2fa_notifications' , array( $this, 'mo_wpns'),8);
164
  add_submenu_page( $menu_slug ,'miniOrange 2-Factor' ,'Reports' ,'administrator','mo_2fa_reports' , array( $this, 'mo_wpns'),9);
165
  }
250
  add_option( 'mo_wpns_2fa_with_network_security' , 1);
251
  add_option( 'mo_wpns_2fa_with_network_security_popup_visible', 1);
252
 
253
+ add_option( 'mo_wpns_upgrade_onprem', 0);
254
+ add_option( 'mo_wpns_plantype' , 0);
255
 
 
256
  }
257
 
258
  function mo_wpns_deactivate()
267
  delete_option('mo2f_customer_token');
268
  delete_option('mo_wpns_transactionId');
269
  delete_option('mo_wpns_registration_status');
270
+ delete_option('mo_wpns_upgrade_onprem',0);
271
+ delete_option('mo_wpns_plantype');
272
 
273
  $two_fa_settings = new Miniorange_Authentication();
274
  $two_fa_settings->mo_auth_deactivate();
readme.txt CHANGED
@@ -1,16 +1,16 @@
1
- === Google Authenticator - WordPress Two Factor Authentication (2FA) ===
2
 
3
  Contributors: cyberlord92, twofactor
4
- Tags: google authenticator, two factor authentication, two factor, 2FA, TFA, MFA, 2 factor authentication, Remember Device, OTP, two step authentication,Clef, two factor auth, Mobile Authentication, strong authentication, 2 step authentication, Multifactor authentication, passwordless login, one time passcode, soft token Authentication, QR Code Authentication, email verification, KBA, Security Questions, knowledge based authentication,authy, authy two factor,yubico,Two-Factor Authentication, security, website security, login security, multi factor authentication, multi factor,wordfence, IP Blocking, IP Whitelisting, login Audits, woocommerce, smartphone authenticationDonate link: https://miniorange.com/
5
  Donate link: https://miniorange.com/
6
  Requires at least: 3.0.1
7
  Tested up to: 5.4
8
  Requires PHP: 5.3.0
9
- Stable tag: 5.4.4
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
13
- Simple & Easy 2FA setup with any App supporting TOTP algorithm like Google, Authy, LastPass Authenticator & other 2FA methods. Supports Google Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA).
14
 
15
  == Description ==
16
 
@@ -18,9 +18,13 @@ Simple & Easy 2FA setup with any App supporting TOTP algorithm like Google, Auth
18
 
19
  Have a completely Secure login to your WordPress website using this FREE, Simple & very easy to setup plugin. It provides two factor authentication (2FA, MFA) whenever login to your WordPress website ensuring no unauthorised access to your website.
20
 
21
- <h4>supports variety of WordPress forms</h4>
 
 
 
 
22
  * Ultimate Member – User Profile & Membership Form : <a href="https://wordpress.org/plugins/ultimate-member/">Ultimate Member – User Profile & Membership Form</a>
23
- * Restrict Content Form : <a href="https://wordpress.org/plugins/restrict-content/">Restrict Content Form</a>
24
  * My theme Login Form :<a href="https://wordpress.org/plugins/theme-my-login/">My theme Login Form</a>
25
  * User Registration – Custom Registration Form : <a href="https://wordpress.org/plugins/user-registration/">User Registration – Custom Registration Form</a>
26
  * Custom Login Page Customizer Form :<a href="https://wordpress.org/plugins/loginpress/">Custom Login Page Customizer Form</a>
@@ -28,14 +32,16 @@ Have a completely Secure login to your WordPress website using this FREE, Simple
28
  * RegistrationMagic – Custom Registration Forms : <a href="https://wordpress.org/plugins/custom-registration-form-builder-with-submission-manager/">RegistrationMagic – Custom Registration Forms</a>
29
  and more.
30
 
31
- If you are looking for OTP Verification of users during <b>Registration</b> then we have a separate plugin for this. <a href="https://wordpress.org/plugins/miniorange-otp-verification/"> Click Here </a> to learn more.
 
 
32
 
33
  <h4>FREE Plugin Features</h4>
34
  * Simplified & easy to user interface.
35
  * Two Factor Authentication (2FA) for **3 User** forever FREE!
36
  * **Variety of Authentication Methods:** Any App supporting TOTP algorithm like Google, Authy, LastPass Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA)
37
  * Includes Language Translation Support. Supports a wide variety of languages
38
- * Passwordless login
39
  * This plugin Supports standard TOTP + HOTP protocols for Authentication Methods.
40
  * Two Factor Authentication (2FA) allows authentication on login page itself for Google Authenticator & miniOrange Soft Token.
41
  * Brute force attack prevention & IP Blocking.
@@ -46,25 +52,28 @@ If you are looking for OTP Verification of users during <b>Registration</b> then
46
  * Two Factor Authentication (2FA) for Users as per the upgrade *( User-based pricing )*
47
  * **Available Authentication Methods:** Google, Authy, LastPass Authenticator, QR Code, Push Notification, Soft Token, Security Questions(KBA), OTP Over Email, OTP Over SMS, OTP Over SMS and Email, Email Verification. *( SMS credits need to be purchased as per the need)*
48
  * Includes language Translation Support. Supports wide variety of languages.
49
- * **Multiple Login Options:** Username + password + two-factor (or) Username + two-factor i.e. Passwordless login.
50
  * **Backup Method:** KBA(Security Questions)
51
  * Multisite compatible.
52
- * User role based redirection after Login, Customize account name in Google Authenticator app
53
- * Custom Security Questions (KBA)
54
 
55
  <h4>Premium Plugin Features</h4>
56
 
57
  * Two Factor Authentication (2FA) for Users as per the upgrade *( User-based pricing )*
58
  * **Available Authentication Methods:** Google, Authy, LastPass Authenticator, QR Code, Push Notification, Soft Token, Security Questions(KBA), OTP Over Email, OTP Over SMS, OTP Over SMS and Email, Email Verification, Hardware Token. *( SMS and Email credits need to be purchased as per the need)*
59
  * Language Translation Support
60
- * **Multiple Login Options:** Username + password + two-factor (or) Username + two-factor i.e. Passwordless login.
61
- * **Backup Methods:** KBA(Security Questions), OTP Over Email, Backup Codes
62
  * Multisite compatible.
63
- * Email notification to users asking them to set up Two Factor Authentication (2FA).
64
- * User role based redirection after Login, Custom Security Questions (KBA), Customize account name in Google Authenticator app.
65
- * Enable Two Factor Authentication (2FA) for specific Users/User Roles
66
- * Choose specific authentication methods for Users
 
 
67
  * App Specific Password to login from mobile Apps
 
68
  * **Add-Ons Included:** RBA & Trusted Devices Management Add-on, Personalization Add-on and Short Codes Add-on
69
 
70
  <h4>Enterprise Plugin Features</h4>
@@ -298,6 +307,12 @@ miniOrange authentication service has 15+ authentication methods.One time passco
298
 
299
  == Changelog ==
300
 
 
 
 
 
 
 
301
  = 5.4.4 =
302
  * Google Authenticator-Two Factor Authentication (2FA) : Two Factor : Woocommerce login page integration.
303
 
@@ -785,6 +800,12 @@ More descriptive setup messages and UI changes.
785
 
786
  == Upgrade Notice ==
787
 
 
 
 
 
 
 
788
  = 5.4.4 =
789
  * Google Authenticator-Two Factor Authentication (2FA) : Two Factor : Woocommerce login page integration.
790
 
1
+ === Google Authenticator - WordPress Two Factor Authentication (2FA , MFA) ===
2
 
3
  Contributors: cyberlord92, twofactor
4
+ Tags: google authenticator, two factor authentication, two factor, 2FA,two-step verification, mobile verification,OTP, two-step verification, mobile verification,two factor,Two step verification, 2FA, TFA, MFA, 2 factor authentication, Remember Device, OTP,WordPress otp, two step authentication,Clef,SMS, email, signup security, two factor auth, Mobile Authentication, strong authentication, 2 step authentication, mobile verification,Multifactor authentication, passwordless login, one time passcode, soft token Authentication, QR Code Authentication, email verification, KBA, Security Questions,2FA, login OTP, login with SMS, mobile login, phone login, OTP login, mobile verification,knowledge based authentication,authy, authy two factor,yubico,Two-Factor Authentication,WordPress otp, security,user security, ​Twilio WordPress, SMS gateway, Solutions Infini, Clickatell, BulkSMS, MSG91, Nexmo, SMS Country, message, woocommerce, website security, login security, multi factor authentication, multi factor,wordfence, IP Blocking, IP Whitelisting, login Audits, woocommerce, SMS login, passwordless login, auth, login with OTP WordPress, OTP, two-step authentication, Mobile Authentication,passwordless login, one time passcode, email verification, security, website security, login security, multi-factor authentication,, woocommerce, smartphone,WordPress otp, register with OTP, user OTP verification, SMS OTP, OTP Email, registration with OTP verification, registration verification,smartphone authentication
5
  Donate link: https://miniorange.com/
6
  Requires at least: 3.0.1
7
  Tested up to: 5.4
8
  Requires PHP: 5.3.0
9
+ Stable tag: 5.4.6
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
13
+ Simple & Easy 2FA setup with any App supporting TOTP algorithm like Google, Authy, LastPass Authenticator & other 2FA methods. Supports Google Authenticator, QR Code, Push Notification, Soft Token and Security Questions.
14
 
15
  == Description ==
16
 
18
 
19
  Have a completely Secure login to your WordPress website using this FREE, Simple & very easy to setup plugin. It provides two factor authentication (2FA, MFA) whenever login to your WordPress website ensuring no unauthorised access to your website.
20
 
21
+ <h4>Supports variety of WordPress forms and plugins</h4>
22
+ * Woocommerce : <a href="https://wordpress.org/plugins/woocommerce/">Woocommerce</a>
23
+ * BuddyPress : <a href="https://wordpress.org/plugins/buddypress/">BuddyPress</a>
24
+ * bbpress : <a href="https://wordpress.org/plugins/bbpress/">bbPress</a>
25
+
26
  * Ultimate Member – User Profile & Membership Form : <a href="https://wordpress.org/plugins/ultimate-member/">Ultimate Member – User Profile & Membership Form</a>
27
+ * Restrict Content Pro Form : <a href="https://wordpress.org/plugins/restrict-content/">Restrict Content Form</a>
28
  * My theme Login Form :<a href="https://wordpress.org/plugins/theme-my-login/">My theme Login Form</a>
29
  * User Registration – Custom Registration Form : <a href="https://wordpress.org/plugins/user-registration/">User Registration – Custom Registration Form</a>
30
  * Custom Login Page Customizer Form :<a href="https://wordpress.org/plugins/loginpress/">Custom Login Page Customizer Form</a>
32
  * RegistrationMagic – Custom Registration Forms : <a href="https://wordpress.org/plugins/custom-registration-form-builder-with-submission-manager/">RegistrationMagic – Custom Registration Forms</a>
33
  and more.
34
 
35
+ <h4>Prevent Account Sharing Between Users</h4>
36
+ Many video sharing and E-learning platforms want to prevent sharing of account between the users. This can be done using miniOrange Two factor plugin. Also, e-learning portals can use this to their advantage. It can be used on any websites which create and sell courses. It can be integrated with plugins like Learndash.
37
+ Other sites like premium video content or any premium content where you want users not to share passwords between friends and Family then you can go for this solution.
38
 
39
  <h4>FREE Plugin Features</h4>
40
  * Simplified & easy to user interface.
41
  * Two Factor Authentication (2FA) for **3 User** forever FREE!
42
  * **Variety of Authentication Methods:** Any App supporting TOTP algorithm like Google, Authy, LastPass Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA)
43
  * Includes Language Translation Support. Supports a wide variety of languages
44
+ * Passwordless login or login with phone number
45
  * This plugin Supports standard TOTP + HOTP protocols for Authentication Methods.
46
  * Two Factor Authentication (2FA) allows authentication on login page itself for Google Authenticator & miniOrange Soft Token.
47
  * Brute force attack prevention & IP Blocking.
52
  * Two Factor Authentication (2FA) for Users as per the upgrade *( User-based pricing )*
53
  * **Available Authentication Methods:** Google, Authy, LastPass Authenticator, QR Code, Push Notification, Soft Token, Security Questions(KBA), OTP Over Email, OTP Over SMS, OTP Over SMS and Email, Email Verification. *( SMS credits need to be purchased as per the need)*
54
  * Includes language Translation Support. Supports wide variety of languages.
55
+ * **Multiple Login Options:** Username + password + two-factor (or) Username + two-factor i.e. Passwordless login. [Guide](https://docs.miniorange.com/documentation/login-username-2nd-factor-2)
56
  * **Backup Method:** KBA(Security Questions)
57
  * Multisite compatible.
58
+ * User role based redirection after Login [Guide](https://docs.miniorange.com/documentation/custom-redirect-login-url), Customize account name in Google Authenticator app [Guide](https://docs.miniorange.com/documentation/google-authenticator-app-name)
59
+ * Custom Security Questions (KBA) [Guide](https://docs.miniorange.com/documentation/custom-security-questions)
60
 
61
  <h4>Premium Plugin Features</h4>
62
 
63
  * Two Factor Authentication (2FA) for Users as per the upgrade *( User-based pricing )*
64
  * **Available Authentication Methods:** Google, Authy, LastPass Authenticator, QR Code, Push Notification, Soft Token, Security Questions(KBA), OTP Over Email, OTP Over SMS, OTP Over SMS and Email, Email Verification, Hardware Token. *( SMS and Email credits need to be purchased as per the need)*
65
  * Language Translation Support
66
+ * **Multiple Login Options:** Username + password + two-factor (or) Username + two-factor i.e. Passwordless login [Guide](https://docs.miniorange.com/documentation/login-username-2nd-factor-2)
67
+ * **Backup Methods:** KBA(Security Questions), OTP Over Email, Backup Codes [Guide](https://docs.miniorange.com/documentation/want-configure-backup-methods-users-can-configure-case-locked-site-not-able-log)
68
  * Multisite compatible.
69
+ * Force Two factor for users [Guide](https://docs.miniorange.com/documentation/enforce-2fa-users)
70
+ * Email notification to users asking them to set up Two Factor Authentication (2FA) [Guide](https://docs.miniorange.com/documentation/want-send-email-notification-users-setting-2-factor).
71
+ * User role based redirection after Login [Guide](https://docs.miniorange.com/documentation/custom-redirect-login-url), Custom Security Questions (KBA) [Guide](https://docs.miniorange.com/documentation/custom-security-questions), Customize account name in Google Authenticator app [Guide](https://docs.miniorange.com/documentation/google-authenticator-app-name).
72
+ * Enable Two Factor Authentication (2FA) for specific Users/User Roles [Guide](https://docs.miniorange.com/documentation/enable-two-factor-based-roles)
73
+ * Choose specific authentication methods for Users [Guide](https://docs.miniorange.com/documentation/specific-set-authentication-methods-based-role)
74
+ * Set Privacy Policy for users [Guide](https://docs.miniorange.com/documentation/privacy-policy-site)
75
  * App Specific Password to login from mobile Apps
76
+ * Remember Device [Guide](https://docs.miniorange.com/documentation/remember-my-device)
77
  * **Add-Ons Included:** RBA & Trusted Devices Management Add-on, Personalization Add-on and Short Codes Add-on
78
 
79
  <h4>Enterprise Plugin Features</h4>
307
 
308
  == Changelog ==
309
 
310
+ = 5.4.6 =
311
+ * Google Authenticator-Two Factor Authentication (2FA) : Improving Google Authenticator and adding Payment options.
312
+
313
+ = 5.4.5 =
314
+ * Google Authenticator-Two Factor Authentication (2FA) : Security and MFA UI updates.
315
+
316
  = 5.4.4 =
317
  * Google Authenticator-Two Factor Authentication (2FA) : Two Factor : Woocommerce login page integration.
318
 
800
 
801
  == Upgrade Notice ==
802
 
803
+ = 5.4.6 =
804
+ * Google Authenticator-Two Factor Authentication (2FA) : Improving Google Authenticator and adding Payment options.
805
+
806
+ = 5.4.5 =
807
+ * Google Authenticator-Two Factor Authentication (2FA) : Security and MFA UI updates.
808
+
809
  = 5.4.4 =
810
  * Google Authenticator-Two Factor Authentication (2FA) : Two Factor : Woocommerce login page integration.
811
 
uninstall.php CHANGED
@@ -366,8 +366,6 @@
366
  delete_option( 'mo_2f_switch_backup');
367
  delete_option( 'mo_2f_switch_malware');
368
  delete_option( 'mo_2f_switch_adv_block');
369
- delete_option( 'mo_2f_switch_reports');
370
- delete_option( 'mo_2f_switch_notif');
371
 
372
  delete_option( 'mo_wpns_last_themes');
373
  delete_option( 'mo_wpns_last_plugins');
366
  delete_option( 'mo_2f_switch_backup');
367
  delete_option( 'mo_2f_switch_malware');
368
  delete_option( 'mo_2f_switch_adv_block');
 
 
369
 
370
  delete_option( 'mo_wpns_last_themes');
371
  delete_option( 'mo_wpns_last_plugins');
views/dashboard.php CHANGED
@@ -10,28 +10,35 @@ $login_spam_on= get_site_option("mo_2f_switch_loginspam")?"checked":"";
10
  $backup_on= get_site_option("mo_2f_switch_backup")?"checked":"";
11
  $malware_on= get_site_option("mo_2f_switch_malware")?"checked":"";
12
  $adv_block_on= get_site_option("mo_2f_switch_adv_block")?"checked":"";
13
- $report_on= get_site_option("mo_2f_switch_reports")?"checked":"";
14
- $notif_on= get_site_option("mo_2f_switch_notif")?"checked":"";
15
  echo '<div id="mo_switch_message" style=" padding:8px"></div>';
16
  echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
17
  <div class="mo_wpns_divided_layout">
18
 
19
- <div class="mo_wpns_dashboard_layout">
20
  <center>
21
- <div class ="mo_wpns_inside_dashboard_layout ">Failed Login<hr class="line"><p class ="wpns_font_size mo_wpns_dashboard_text" >'.$wpns_attacks_blocked.'</p></div>
22
- <div class ="mo_wpns_inside_dashboard_layout">Attacks Blocked <hr class="line"><p class ="wpns_font_size mo_wpns_dashboard_text">'.$totalAttacks.'</p></div>
23
- <div class ="mo_wpns_inside_dashboard_layout">Blocked IPs<hr class="line"><p class ="wpns_font_size mo_wpns_dashboard_text">'.$wpns_count_ips_blocked.'</p></div>
24
- <div class ="mo_wpns_inside_dashboard_layout">Infected Files<hr class="line"><p class ="wpns_font_size mo_wpns_dashboard_text" >'.$total_malicious.'</p></div>
25
- <div class ="mo_wpns_inside_dashboard_layout">White-listed IPs<hr class="line"><p class ="wpns_font_size mo_wpns_dashboard_text">'.$wpns_count_ips_whitelisted.'</p></div>
 
 
 
 
 
 
 
 
 
26
 
27
 
28
  </center>
29
  </div>
30
 
31
 
32
- <div style="padding: 0px 0px 0px 5px; width:30%; margin-left:634px; margin-right:25px; float:right;" >
33
  <form name="tab_all" id="tab_all" method="post">
34
- <h3>Enable/Disable all features
35
  <label class="mo_wpns_switch">
36
  <input type="hidden" name="option" value="tab_all_switch"/>
37
  <input type=checkbox id="switch_all" name="switch_val" value="1" '.$all_on.' />
@@ -56,7 +63,12 @@ echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximu
56
  echo ' </h3>
57
  </form>
58
  <br>
 
59
  Two Factor Authentication adds an extra security layer for verification that involve <b>google authenticator, other application based authentication, Soft Token, Push Notification, USB based Hardware token, Security Questions, One time passcodes (OTP) over SMS, OTP over Email </b> etc.
 
 
 
 
60
 
61
  </div>
62
  <div class="mo_wpns_small_layout">
@@ -70,7 +82,11 @@ echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximu
70
  </h3>
71
  </form>
72
  <br>
 
73
  Web Application Firewall protects your website from several website attacks such as <b>SQL Injection(SQLI), Cross Site Scripting(XSS), Remote File Inclusion</b> and many more cyber attacks.It also protects your website from <b>critical attacks</b> such as <b>Dos and DDos attacks.</b><br>
 
 
 
74
  </div>
75
  <div class="mo_wpns_small_layout">
76
  <form name="tab_login" id="tab_login" method="post">
@@ -83,9 +99,13 @@ echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximu
83
  </h3>
84
  </form>
85
  <br>
 
86
  Firewall protects the whole website.
87
  If you just want to prevent your login page from <b> password guessing attacks</b> by humans or by bots.
88
- We have features such as <b> Brute Force,Enforcing Strong Password,Custom Login Page URL,Recaptcha </b> etc. <br>
 
 
 
89
  </div>
90
  <div class="mo_wpns_small_layout">
91
  <form name="tab_backup" id="tab_backup" method="post">
@@ -98,7 +118,11 @@ echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximu
98
  </h3>
99
  </form>
100
  <br>
 
101
  Creating regular backups for your website is essential. By Creating backup you can <b>restore your website back to normal</b> within a few minutes. miniOrange creates <b>database and file Backup</b> which is stored locally in your system.
 
 
 
102
  </div>
103
  <div class="mo_wpns_small_layout">
104
  <form name="tab_malware" id="tab_malware" method="post">
@@ -111,11 +135,15 @@ echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximu
111
  </h3>
112
  </form>
113
  <br>
114
- A malware scanner / detector or virus scanner is a <b>software that detects the malware</b> into the system. It detects different kinds of malware and categories based on the <b>strength of vulnerability or harmfulness.</b> <br>
 
 
 
 
115
  </div>
116
  <div class="mo_wpns_small_layout">
117
  <form name="tab_adv_block" id="tab_adv_block" method="post">
118
- <h3>Advanced Blocking
119
  <label class="mo_wpns_switch" style="float: right">
120
  <input type="hidden" name="option" value="tab_block_switch"/>
121
  <input type=checkbox id="switch_adv_block" name="switch_val" value="1" ' .$adv_block_on. '/>
@@ -124,37 +152,45 @@ echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximu
124
  </h3>
125
  </form>
126
  <br>
127
- In Advanced blocking we have features like <b> Country Blocking, IP range Blocking , Browser blocking </b> and other options you can set up specifically according to your needs
 
 
 
 
128
  </div>
129
  <div class="mo_wpns_small_layout">
130
  <form name="tab_report" id="tab_report" method="post">
131
  <h3>Reports
132
- <label class="mo_wpns_switch" style="float: right">
133
- <input type="hidden" name="option" value="tab_report_switch"/>
134
- <input type=checkbox id="switch_reports" name="switch_val" value="1" ' .$report_on. '/>
135
- <span class="mo_wpns_slider mo_wpns_round"></span>
136
- </label>
137
  </h3>
138
  </form>
139
  <br>
140
- Track users <b>login activity</b> on your website. You can also <b>track 404 error</b> so that if anyone tries to access it too many times you can take action.
 
 
 
141
  </div>
142
 
143
  <div class="mo_wpns_small_layout">
144
  <form name="tab_notif" id="tab_notif" method="post">
145
  <h3>Notification
146
- <label class="mo_wpns_switch" style="float: right">
147
- <input type="hidden" name="option" value="tab_notif_switch"/>
148
- <input type=checkbox id="switch_notification" name="switch_val" value="1" ' .$notif_on. '/>
149
- <span class="mo_wpns_slider mo_wpns_round"></span>
150
- </label>
151
  </h3>
152
  </form>
153
  <br>
154
- Get <b>Notified realtime</b> about any <b>IP getting Blocked.</b> With that, also get informed about any <b>unusual activities</b> detected by miniOrange.
 
 
 
 
155
  </div>
156
 
157
- </div> ';
 
 
 
 
 
158
 
159
  function mo_2fa_dashboard_switch(){
160
  if ( ('admin.php' != basename( $_SERVER['PHP_SELF'] )) || ($_GET['page'] != 'mo_2fa_dashboard') ) {
@@ -195,10 +231,6 @@ function mo_2fa_dashboard_switch(){
195
  jQuery("#tab_report").submit();
196
  });
197
 
198
- jQuery("#switch_notification").click(function(){
199
- jQuery("#tab_notif").submit();
200
- });
201
-
202
  });
203
  </script>
204
  <?php
10
  $backup_on= get_site_option("mo_2f_switch_backup")?"checked":"";
11
  $malware_on= get_site_option("mo_2f_switch_malware")?"checked":"";
12
  $adv_block_on= get_site_option("mo_2f_switch_adv_block")?"checked":"";
 
 
13
  echo '<div id="mo_switch_message" style=" padding:8px"></div>';
14
  echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
15
  <div class="mo_wpns_divided_layout">
16
 
17
+ <div class="mo_wpns_dashboard_layout" style= "background-color: white;width: 94.5%;border: 2px solid #20b2aa;padding-bottom: 52px;">
18
  <center>
19
+ <div class ="mo_wpns_inside_dashboard_layout "><p style="font-weight: bold;">Failed Login</p><p class ="wpns_font_size mo_wpns_dashboard_text" >'.$wpns_attacks_blocked.'</p>
20
+ <a class="mo_wpns_button_info_tab" onclick="clear_Local_storage()" style="color:white;" href="admin.php?page=mo_2fa_reports&tab=default&view">Details</a>
21
+
22
+ </div>
23
+
24
+
25
+ <div class ="mo_wpns_inside_dashboard_layout"><p style="font-weight: bold;">Attacks Blocked </p><p class ="wpns_font_size mo_wpns_dashboard_text">'.$totalAttacks.'</p><a class="mo_wpns_button_info_tab" style="color:white;" onclick="clear_Local_storage()" href="admin.php?page=mo_2fa_waf">Details</a></div>
26
+
27
+
28
+ <div class ="mo_wpns_inside_dashboard_layout"><p style="font-weight: bold;">Blocked IPs</p><p class ="wpns_font_size mo_wpns_dashboard_text">'.$wpns_count_ips_blocked.'</p><a class="mo_wpns_button_info_tab" style="color:white;" onclick="clear_Local_storage()" href="admin.php?page=mo_2fa_advancedblocking">Details</a></div>
29
+
30
+ <div class ="mo_wpns_inside_dashboard_layout"><p style="font-weight: bold;">Infected Files</p><p class ="wpns_font_size mo_wpns_dashboard_text" >'.$total_malicious.'</p><a class="mo_wpns_button_info_tab" style="color:white;" onclick="clear_Local_storage()" href="admin.php?page=mo_2fa_malwarescan">Details</a></div>
31
+
32
+ <div class ="mo_wpns_inside_dashboard_layout"><p style="font-weight: bold;">White-listed IPs</p><p class ="wpns_font_size mo_wpns_dashboard_text">'.$wpns_count_ips_whitelisted.'</p><a class="mo_wpns_button_info_tab" style="color:white;" onclick="clear_Local_storage()" href="admin.php?page=mo_2fa_advancedblocking">Details</a></div>
33
 
34
 
35
  </center>
36
  </div>
37
 
38
 
39
+ <div style="padding: 0px 0px 0px 5px;text-align:center" >
40
  <form name="tab_all" id="tab_all" method="post">
41
+ <h3 style="text-align:center;margin-right:4.5%;">Enable All
42
  <label class="mo_wpns_switch">
43
  <input type="hidden" name="option" value="tab_all_switch"/>
44
  <input type=checkbox id="switch_all" name="switch_val" value="1" '.$all_on.' />
63
  echo ' </h3>
64
  </form>
65
  <br>
66
+ <div style="text-align:justify;">
67
  Two Factor Authentication adds an extra security layer for verification that involve <b>google authenticator, other application based authentication, Soft Token, Push Notification, USB based Hardware token, Security Questions, One time passcodes (OTP) over SMS, OTP over Email </b> etc.
68
+ </div>
69
+ <br>
70
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$two_fa.'">Settings</a>
71
+
72
 
73
  </div>
74
  <div class="mo_wpns_small_layout">
82
  </h3>
83
  </form>
84
  <br>
85
+ <div style="text-align:justify;">
86
  Web Application Firewall protects your website from several website attacks such as <b>SQL Injection(SQLI), Cross Site Scripting(XSS), Remote File Inclusion</b> and many more cyber attacks.It also protects your website from <b>critical attacks</b> such as <b>Dos and DDos attacks.</b><br>
87
+ </div>
88
+ <br><br>
89
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$waf.'">Settings</a>
90
  </div>
91
  <div class="mo_wpns_small_layout">
92
  <form name="tab_login" id="tab_login" method="post">
99
  </h3>
100
  </form>
101
  <br>
102
+ <div style="text-align:justify;">
103
  Firewall protects the whole website.
104
  If you just want to prevent your login page from <b> password guessing attacks</b> by humans or by bots.
105
+ We have features such as <b> Brute Force,Enforcing Strong Password,Custom Login Page URL,Recaptcha </b> etc.
106
+ <br><br>
107
+ </div>
108
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$login_and_spam.'">Settings</a>
109
  </div>
110
  <div class="mo_wpns_small_layout">
111
  <form name="tab_backup" id="tab_backup" method="post">
118
  </h3>
119
  </form>
120
  <br>
121
+ <div style="text-align:justify;">
122
  Creating regular backups for your website is essential. By Creating backup you can <b>restore your website back to normal</b> within a few minutes. miniOrange creates <b>database and file Backup</b> which is stored locally in your system.
123
+ <br><br>
124
+ </div>
125
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$backup.'">Settings</a>
126
  </div>
127
  <div class="mo_wpns_small_layout">
128
  <form name="tab_malware" id="tab_malware" method="post">
135
  </h3>
136
  </form>
137
  <br>
138
+ <div style="text-align:justify;">
139
+ A malware scanner / detector or virus scanner is a <b>software that detects the malware</b> into the system. It detects different kinds of malware and categories based on the <b>strength of vulnerability or harmfulness.</b>
140
+ <br><br>
141
+ </div>
142
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$scan_url.'">Settings</a>
143
  </div>
144
  <div class="mo_wpns_small_layout">
145
  <form name="tab_adv_block" id="tab_adv_block" method="post">
146
+ <h3>IP Blocking
147
  <label class="mo_wpns_switch" style="float: right">
148
  <input type="hidden" name="option" value="tab_block_switch"/>
149
  <input type=checkbox id="switch_adv_block" name="switch_val" value="1" ' .$adv_block_on. '/>
152
  </h3>
153
  </form>
154
  <br>
155
+ <div style="text-align:justify;">
156
+ In IP blocking we have features like <b> Country Blocking, IP range Blocking , Browser blocking </b> and other options you can set up specifically according to your needs
157
+ <br><br><br>
158
+ </div>
159
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$advance_block.'">Settings</a>
160
  </div>
161
  <div class="mo_wpns_small_layout">
162
  <form name="tab_report" id="tab_report" method="post">
163
  <h3>Reports
164
+
 
 
 
 
165
  </h3>
166
  </form>
167
  <br>
168
+ <div style="text-align:justify;">
169
+ Track users <b>login activity</b> on your website. You can also <b>track 404 error</b> so that if anyone tries to access it too many times you can take action.<br>
170
+ </div><br>
171
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$reports_url.'">Settings</a>
172
  </div>
173
 
174
  <div class="mo_wpns_small_layout">
175
  <form name="tab_notif" id="tab_notif" method="post">
176
  <h3>Notification
177
+
 
 
 
 
178
  </h3>
179
  </form>
180
  <br>
181
+ <div style="text-align:justify;">
182
+ Get <b>Notified realtime</b> about any <b>IP getting Blocked.</b> With that, also get informed about any <b>unusual activities</b> detected by miniOrange.<br><br>
183
+ </div><br>
184
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$notif_url.'">Settings</a>
185
+
186
  </div>
187
 
188
+ </div>
189
+ <script>
190
+ function clear_Local_storage(){
191
+ localStorage.clear();
192
+ }
193
+ </script>';
194
 
195
  function mo_2fa_dashboard_switch(){
196
  if ( ('admin.php' != basename( $_SERVER['PHP_SELF'] )) || ($_GET['page'] != 'mo_2fa_dashboard') ) {
231
  jQuery("#tab_report").submit();
232
  });
233
 
 
 
 
 
234
  });
235
  </script>
236
  <?php
views/navbar.php CHANGED
@@ -20,42 +20,44 @@ $security_features_nonce = wp_create_nonce('mo_2fa_security_features_nonce');
20
  <div><img style="float:left;margin-top:5px;" src="'.$logo_url.'"></div>
21
  <h1>
22
  miniOrange 2-Factor &nbsp;
23
- <a class="add-new-h2" href="'.$profile_url.'">Account</a>
24
- <a class="add-new-h2" href="'.$help_url.'">Troubleshooting</a>
25
- <a class="license-button add-new-h2" href="'.$license_url.'">Upgrade</a>';
26
  if(get_option("mo_wpns_2fa_with_network_security"))
27
  {
28
- echo '<a class="license-button add-new-h2" id="restart-tour" href="#" style="background-color: lightblue;">Restart tour</a> ';
29
  }
30
  echo' <span style="text-align:right;">
31
 
32
- <form id="mo_wpns_2fa_with_network_security" method="post" action="" style="margin-top: -2%; width: 25%; text-align: right; padding-left: 75%;">
33
  <input type="hidden" name="mo_security_features_nonce" value="'.$security_features_nonce.'"/>
34
 
35
  <input type="hidden" name="option" value="mo_wpns_2fa_with_network_security">
36
-
 
37
  <label class="mo_wpns_switch">
38
  <input type="checkbox" name="mo_wpns_2fa_with_network_security" '.$network_security_features.' onchange="document.getElementById(\'mo_wpns_2fa_with_network_security\').submit();">
39
  <span class="mo_wpns_slider mo_wpns_round"></span>
40
- </label><span>&nbsp;&nbsp;&nbsp;<i>2FA + Security Features</i></span>
 
41
 
42
  </form>
43
- </span>
44
 
45
 
46
- </h1>
 
47
  </div>';
48
  //check_is_curl_installed();
49
  ?>
50
 
51
 
52
- <br>
53
  <div class="mo_flex-container">
54
  <?php
55
  if(get_option('mo_wpns_2fa_with_network_security'))
56
  {
57
  echo '<a class="nav-tab '.($active_tab == 'mo_2fa_dashboard' ? 'nav-tab-active' : '').'" href="'.$dashboard_url .'">Dashboard</a>';
58
- }
59
  if($is_onprem){
60
  if( ($flag) or ($userID == $onprem_admin) ){
61
  echo '<a class="nav-tab '.($active_tab == 'mo_2fa_two_fa' ? 'nav-tab-active' : '').'" href="'.$two_fa .'">Two Factor</a>';
@@ -65,8 +67,6 @@ echo' <span style="text-align:right;">
65
  echo '<a class="nav-tab '.($active_tab == 'mo_2fa_two_fa' ? 'nav-tab-active' : '').'" href="'.$two_fa .'">Two Factor</a>';
66
  }
67
 
68
- if(get_option('mo_wpns_2fa_with_network_security'))
69
- {
70
  if(get_site_option('mo_2f_switch_waf')){
71
  echo '<a id="mo_2fa_waf" class="nav-tab '.($active_tab == 'mo_2fa_waf' ? 'nav-tab-active' : '').'" href="'.$waf .'">Firewall</a>';
72
  }
@@ -80,16 +80,10 @@ echo' <span style="text-align:right;">
80
  echo '<a id="malware_tab" class="nav-tab '.($active_tab == 'mo_2fa_malwarescan' ? 'nav-tab-active' : '').'" href="'.$scan_url .'">Malware Scan</a>';
81
  }
82
  if(get_site_option('mo_2f_switch_adv_block')){
83
- echo '<a id="adv_block_tab" class="nav-tab '.($active_tab == 'mo_2fa_advancedblocking'? 'nav-tab-active' : '').'" href="'.$advance_block .'">Advanced Blocking</a>';
84
- }
85
- if(get_site_option('mo_2f_switch_notif')){
86
- echo '<a id="notif_tab" class="nav-tab '.($active_tab == 'mo_2fa_notifications' ? 'nav-tab-active' : '').'" href="'.$notif_url .'">Notifications</a>';
87
  }
88
- if(get_site_option('mo_2f_switch_reports')){
89
- echo '<a id="report_tab" class="nav-tab '.($active_tab == 'mo_2fa_reports' ? 'nav-tab-active' : '').'" href="'.$reports_url .'">Reports</a>';
90
- }
91
- }
92
  echo '<a class="nav-tab '.($active_tab == 'mo_2fa_upgrade' ? 'nav-tab-active' : '').'" href="'.$upgrade_url .'">Upgrade</a>';
93
- echo '<a class="nav-tab '.($active_tab == 'mo_2fa_request_demo' ? 'nav-tab-active' : '').'" href="'.$request_demo_url .'">Request for Demo</a>';
94
  ?>
95
  </div>
20
  <div><img style="float:left;margin-top:5px;" src="'.$logo_url.'"></div>
21
  <h1>
22
  miniOrange 2-Factor &nbsp;
23
+ <a class="add-new-h2" style="font-size:17px" href="'.$profile_url.'">Account</a>
24
+ <a class="add-new-h2" style="font-size:17px" href="'.$help_url.'">FAQs</a>
25
+ <a class="license-button add-new-h2" style="font-size:17px" href="'.$request_demo_url.'">Request for Demo</a>';
26
  if(get_option("mo_wpns_2fa_with_network_security"))
27
  {
28
+ echo '<a class="license-button add-new-h2" id="restart-tour" href="#" style="background-color: lightblue;font-size:17px;">Restart tour</a> ';
29
  }
30
  echo' <span style="text-align:right;">
31
 
32
+ <form id="mo_wpns_2fa_with_network_security" method="post" action="" style="margin-top: -2%; width: 30%; text-align: right; padding-left: 70%;">
33
  <input type="hidden" name="mo_security_features_nonce" value="'.$security_features_nonce.'"/>
34
 
35
  <input type="hidden" name="option" value="mo_wpns_2fa_with_network_security">
36
+
37
+ <div><i>2FA + Website Security</i><span>
38
  <label class="mo_wpns_switch">
39
  <input type="checkbox" name="mo_wpns_2fa_with_network_security" '.$network_security_features.' onchange="document.getElementById(\'mo_wpns_2fa_with_network_security\').submit();">
40
  <span class="mo_wpns_slider mo_wpns_round"></span>
41
+ </label></span>
42
+ </div>
43
 
44
  </form>
45
+ </span>';
46
 
47
 
48
+ echo '<div id = "wpns_nav_message"></div>';
49
+ echo'</h1>
50
  </div>';
51
  //check_is_curl_installed();
52
  ?>
53
 
54
 
55
+
56
  <div class="mo_flex-container">
57
  <?php
58
  if(get_option('mo_wpns_2fa_with_network_security'))
59
  {
60
  echo '<a class="nav-tab '.($active_tab == 'mo_2fa_dashboard' ? 'nav-tab-active' : '').'" href="'.$dashboard_url .'">Dashboard</a>';
 
61
  if($is_onprem){
62
  if( ($flag) or ($userID == $onprem_admin) ){
63
  echo '<a class="nav-tab '.($active_tab == 'mo_2fa_two_fa' ? 'nav-tab-active' : '').'" href="'.$two_fa .'">Two Factor</a>';
67
  echo '<a class="nav-tab '.($active_tab == 'mo_2fa_two_fa' ? 'nav-tab-active' : '').'" href="'.$two_fa .'">Two Factor</a>';
68
  }
69
 
 
 
70
  if(get_site_option('mo_2f_switch_waf')){
71
  echo '<a id="mo_2fa_waf" class="nav-tab '.($active_tab == 'mo_2fa_waf' ? 'nav-tab-active' : '').'" href="'.$waf .'">Firewall</a>';
72
  }
80
  echo '<a id="malware_tab" class="nav-tab '.($active_tab == 'mo_2fa_malwarescan' ? 'nav-tab-active' : '').'" href="'.$scan_url .'">Malware Scan</a>';
81
  }
82
  if(get_site_option('mo_2f_switch_adv_block')){
83
+ echo '<a id="adv_block_tab" class="nav-tab '.($active_tab == 'mo_2fa_advancedblocking'? 'nav-tab-active' : '').'" href="'.$advance_block .'">IP Blocking</a>';
 
 
 
84
  }
85
+
 
 
 
86
  echo '<a class="nav-tab '.($active_tab == 'mo_2fa_upgrade' ? 'nav-tab-active' : '').'" href="'.$upgrade_url .'">Upgrade</a>';
87
+ }
88
  ?>
89
  </div>
views/network_security_features.php CHANGED
@@ -9,15 +9,13 @@ if ( 'admin.php' == basename( $_SERVER['PHP_SELF'] ) )
9
  <div id="myModal" class="modal">
10
 
11
  <div class="mo_wpns_divided_layout" style="margin-left: 13%;">
12
- <div class="mo_wpns_setting_layout">
13
 
14
- <h1 style="color: #20b2aa; font-size: x-large; text-align: center;">What are you looking for?</h1><br>
15
- <hr>
16
-
17
 
18
  <form id="mo_wpns_2fa_with_network_security" method="post" action="">
19
  <div style="width: 100%;">
20
- <h3>
21
  <?php echo ' <input type="hidden" name="mo_security_features_nonce" value="'.$security_features_nonce.'"/>';?>
22
 
23
  <input type="hidden" name="mo_wpns_2fa_with_network_security" value="on">
@@ -25,24 +23,20 @@ if ( 'admin.php' == basename( $_SERVER['PHP_SELF'] ) )
25
  <div class="mo_popup_div" id="mo_popup_div1" >
26
  <input type="radio" class="mo_popup_radio" name="mo_wpns_features" id="nw_2fa" value="mo_wpns_2fa_with_network_security" checked >
27
  <label for="nw_2fa" class="mo_popup_lable">
28
- <p class="" style="font-size: 1.5em;">2-Factor + Website Security</p>
29
- <p class="mo_popup_para">In which you will get 2FA with Web Application Firewall, Login Security, Malware Scanner, Encrypted Backup, Spam Protection and other security features.</p>
30
  </label>
31
  </div>
32
  <div class="mo_popup_div" id="mo_popup_div2" >
33
  <input type="radio" class="mo_popup_radio" name="mo_wpns_features" id="only_2fa" value="mo_wpns_2fa_features">
34
  <label for="only_2fa" class="mo_popup_lable">
35
- <p class="" style="font-size: 1.5em;">Just 2-Factor Authentication</p>
36
- <p class="mo_popup_para">If you are looking for only 2-Factor Authentication and no other security features then please continue with this option.</p>
37
  </label>
38
  </div>
39
  </div>
40
  </h3>
41
 
42
- <br>
43
-
44
-
45
- <br>
46
  <center>
47
  <input type="submit" class="mo_wpns_button mo_wpns_button1" onchange="document.getElementById(\'mo_wpns_2fa_with_network_security\').submit();" value="Continue"></center>
48
  </div>
9
  <div id="myModal" class="modal">
10
 
11
  <div class="mo_wpns_divided_layout" style="margin-left: 13%;">
12
+ <div class="mo_wpns_setting_layout" style="padding-bottom: 16px;">
13
 
14
+ <h1 style="color: #20b2aa; font-size: x-large; text-align: center;">What are you looking for?</h1>
 
 
15
 
16
  <form id="mo_wpns_2fa_with_network_security" method="post" action="">
17
  <div style="width: 100%;">
18
+ <h3 style="margin-bottom: 0%;">
19
  <?php echo ' <input type="hidden" name="mo_security_features_nonce" value="'.$security_features_nonce.'"/>';?>
20
 
21
  <input type="hidden" name="mo_wpns_2fa_with_network_security" value="on">
23
  <div class="mo_popup_div" id="mo_popup_div1" >
24
  <input type="radio" class="mo_popup_radio" name="mo_wpns_features" id="nw_2fa" value="mo_wpns_2fa_with_network_security" checked >
25
  <label for="nw_2fa" class="mo_popup_lable">
26
+ <p class="" style="font-size: 1.5em;margin-top: 2%;margin-bottom: 3%;">2-Factor + Website Security</p>
27
+ <p class="mo_popup_para" style="font-size: 15px;">In which you will get 2FA with Web Application Firewall, Login Security, Malware Scanner, Encrypted Backup, Spam Protection and other security features.</p>
28
  </label>
29
  </div>
30
  <div class="mo_popup_div" id="mo_popup_div2" >
31
  <input type="radio" class="mo_popup_radio" name="mo_wpns_features" id="only_2fa" value="mo_wpns_2fa_features">
32
  <label for="only_2fa" class="mo_popup_lable">
33
+ <p class="" style="font-size: 1.5em;margin-top: 2%;margin-bottom: 3%;">Just 2-Factor Authentication</p>
34
+ <p class="mo_popup_para" style="font-size: 15px;">If you are looking for only 2-Factor Authentication and no other security features then please continue with this option.</p>
35
  </label>
36
  </div>
37
  </div>
38
  </h3>
39
 
 
 
 
 
40
  <center>
41
  <input type="submit" class="mo_wpns_button mo_wpns_button1" onchange="document.getElementById(\'mo_wpns_2fa_with_network_security\').submit();" value="Continue"></center>
42
  </div>
views/notification-settings.php CHANGED
@@ -5,7 +5,9 @@ echo'<div class="mo_wpns_divided_layout">
5
 
6
  $email= get_option("admin_email_address_status")?get_option("admin_email_address"):'';
7
 
8
- echo' <h3>Email Notifications</h3>
 
 
9
  <p>If you want to get notification over email, Please enter email address below!</p>
10
  <form id="mo_wpns_get_manual_email" method="post" action="">
11
  <input type="hidden" name="option" value="mo_wpns_get_manual_email">
5
 
6
  $email= get_option("admin_email_address_status")?get_option("admin_email_address"):'';
7
 
8
+ echo'
9
+
10
+ <h3>Email Notifications<span style="float:right"><a class="mo_wpns_button mo_wpns_button1" href="'.$dashboard_url.'">Back</a></span></h3>
11
  <p>If you want to get notification over email, Please enter email address below!</p>
12
  <form id="mo_wpns_get_manual_email" method="post" action="">
13
  <input type="hidden" name="option" value="mo_wpns_get_manual_email">
views/registration-security.php CHANGED
@@ -17,11 +17,8 @@ echo' <h3>Block Registerations from fake users</h3>
17
  <div class="mo_wpns_setting_layout">
18
  <h3>Advanced User Verification</h3>
19
  <div class="mo_wpns_subheading">Verify identity of user by sending One Time Password ( OTP ) on his phone number or email address.</div>
20
-
21
- <form id="mo_wpns_advanced_user_verification" method="post" action="">
22
- <input type="hidden" name="option" value="mo_wpns_advanced_user_verification">
23
- <input type="checkbox" name="mo_wpns_enable_advanced_user_verification" '.$user_verify.' onchange="document.getElementById(\'mo_wpns_advanced_user_verification\').submit();"> Enable advanced user verification<br>
24
- </form>';
25
 
26
  if($user_verify)
27
  echo $html1;
17
  <div class="mo_wpns_setting_layout">
18
  <h3>Advanced User Verification</h3>
19
  <div class="mo_wpns_subheading">Verify identity of user by sending One Time Password ( OTP ) on his phone number or email address.</div>
20
+ <p>Contact us using the plugin support form on the right or mail us directly on <a href="mailto:2fasupport@xecurify.com">2fasupport@xecurify.com</a> or <a href="mailto:info@xecurify.com">info@xecurify.com</a>
21
+ ';
 
 
 
22
 
23
  if($user_verify)
24
  echo $html1;
views/reports.php CHANGED
@@ -10,6 +10,8 @@ echo' <div>
10
  <table>
11
  <tr>
12
  <td style="width: 100%">
 
 
13
  <h2>
14
  Login Transactions Report
15
  </h2>
10
  <table>
11
  <tr>
12
  <td style="width: 100%">
13
+ <a class="mo_wpns_button mo_wpns_button1" href="'.$dashboard_url.'">Back</a>
14
+
15
  <h2>
16
  Login Transactions Report
17
  </h2>
views/twofa/setup/setup_google_authenticator.php CHANGED
@@ -15,39 +15,39 @@ function mo2f_configure_google_authenticator( $user ) {
15
 
16
  <hr>
17
 
18
- <p style="background-color:#a3e8c2;padding:5px;">
19
- <?php echo mo2f_lt( 'You can configure this method in your Google/Authy/LastPass Authenticator apps.' ); ?>
20
- </p>
21
-
22
- <h4>1. <?php echo mo2f_lt( 'Install the Authenticator App that you wish to configure, in your phone.' ); ?></h4>
23
- <div style="margin-left:40px;">
24
- <input type="radio" name="google" value="ga" checked> Google Authenticator &nbsp;&nbsp;
25
- <input type="radio" name="authy" value="aa"> Authy Authenticator &nbsp;&nbsp;
26
- <input type="radio" name="lastpass" value="lpa"> LastPass Authenticator &nbsp;&nbsp;
27
  </div>
28
 
29
  <span id="links_to_apps"></span>
30
- <div id="mo2f_change_app_name">
31
- <h4>2. <?php echo mo2f_lt('Choose the account name to be configured in the App:'); ?></h4>
32
- <div style="margin-left:40px;">
33
- <form name="f" id="login_settings_appname_form" method="post" action="">
34
- <input type="hidden" name="option" value="mo2f_google_appname" />
35
- <input type="hidden" name="mo2f_google_appname_nonce"
36
- value="<?php echo wp_create_nonce( "mo2f-google-appname-nonce" ) ?>"/>
37
- <input type="text" class="mo2f_table_textbox" style="width:22% !important;" pattern="[^\s][A-Z]*[a-z]*[0-9]*[^\s]" name="mo2f_google_auth_appname" placeholder="Enter the app name" value="<?php echo $gauth_name;?>" />&nbsp;&nbsp;&nbsp;
38
-
39
- <input type="submit" name="submit" value="Save App Name" class="mo_wpns_button mo_wpns_button1" />
40
-
41
- <br>
42
- </form>
43
- </div>
44
- </div>
45
  <h4><span id="step_number"></span><?php echo mo2f_lt( 'Scan the QR code from the Authenticator App.' ); ?></h4>
46
  <div style="margin-left:40px;">
47
  <ol>
48
  <li><?php echo mo2f_lt( 'In the app, tap on Menu and select "Set up account".' ); ?></li>
49
- <li><?php echo mo2f_lt( 'Select "Scan a barcode". Use your phone\'s camera to scan this barcode.' ); ?></li>
50
- <div id="displayQrCode"style="padding:10px;"><?php echo '<img src="data:image/jpg;base64,' . $data . '" />'; ?></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
  </ol>
53
 
@@ -117,8 +117,7 @@ function mo2f_configure_google_authenticator( $user ) {
117
  <input type="hidden" name="mo2f_go_back_nonce"
118
  value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
119
  </form>
120
- </div><br><br>
121
-
122
  </td>
123
  </tr>
124
  </table>
@@ -126,13 +125,13 @@ function mo2f_configure_google_authenticator( $user ) {
126
  <script>
127
  jQuery(document).ready(function(){
128
  jQuery(this).scrollTop(0);
129
- if(jQuery('input[type=radio][name=google]').is(':checked')){
130
  jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
131
- 'Get the Google Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
132
  '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
133
  jQuery('#mo2f_change_app_name').show();
134
  jQuery('#links_to_apps').show();
135
- }
136
  });
137
 
138
  jQuery('input[type=radio][name=mo2f_app_type_radio]').change(function () {
@@ -143,38 +142,74 @@ function mo2f_configure_google_authenticator( $user ) {
143
  jQuery('#mo2f_change_app_name').hide();
144
  jQuery('#step_number').html('2. ');
145
 
146
- jQuery('input[type=radio][name=google]').click(function(){
147
- jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
148
- 'Get the Google Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
149
- '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
150
- jQuery('#step_number').html('3. ');
151
- jQuery("input[type=radio][name=authy]").prop("checked", false);
152
- jQuery("input[type=radio][name=lastpass]").prop("checked", false);
153
- jQuery('#mo2f_change_app_name').show();
154
- jQuery('#links_to_apps').show();
155
- });
156
-
157
- jQuery('input[type=radio][name=authy]').click(function(){
158
- jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
159
- 'Get the Authy Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.authy.authy" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
160
- '<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
161
- jQuery("input[type=radio][name=google]").prop("checked", false);
162
- jQuery("input[type=radio][name=lastpass]").prop("checked", false);
163
- jQuery('#mo2f_change_app_name').hide();
164
- jQuery('#step_number').html('2. ');
165
- jQuery('#links_to_apps').show();
166
- });
167
-
168
- jQuery('input[type=radio][name=lastpass]').click(function(){
169
- jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
170
- 'Get the LastPass Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.lastpass.authenticator" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
171
- '<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
172
- jQuery("input[type=radio][name=authy]").prop("checked", false);
173
- jQuery("input[type=radio][name=google]").prop("checked", false);
174
- jQuery('#mo2f_change_app_name').show();
175
- jQuery('#step_number').html('3. ');
176
- jQuery('#links_to_apps').show();
177
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  </script>
179
  <?php
180
  }
15
 
16
  <hr>
17
 
18
+ <div>
19
+ <label for="authenticator_type"><b>1. Choose an Authenticator app:</b></label>
20
+
21
+ <select id="authenticator_type">
22
+ <option value="google_authenticator">Google Authenticator</option>
23
+ <option value="authy_authenticator">Authy Authenticator</option>
24
+ <option value="last_pass_auth">LastPass Authenticator</option>
25
+ </select>
 
26
  </div>
27
 
28
  <span id="links_to_apps"></span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  <h4><span id="step_number"></span><?php echo mo2f_lt( 'Scan the QR code from the Authenticator App.' ); ?></h4>
30
  <div style="margin-left:40px;">
31
  <ol>
32
  <li><?php echo mo2f_lt( 'In the app, tap on Menu and select "Set up account".' ); ?></li>
33
+ <li><?php echo mo2f_lt( 'Select "Scan a barcode".' ); ?></li>
34
+ <!-- div id="displayQrCode"style="padding:10px;"><?php //echo '<img src="data:image/jpg;base64,' . $data . '" />'; ?></div> -->
35
+ <form name="f" id="login_settings_appname_form" method="post" action="">
36
+ <input type="hidden" name="option" value="mo2f_google_appname" />
37
+ <input type="hidden" name="mo2f_google_appname_nonce"
38
+ value="<?php echo wp_create_nonce( "mo2f-google-appname-nonce" ) ?>"/>
39
+ <div style="margin-left: 14%;">
40
+ <div class="mo2f_gauth_column_cloud mo2f_gauth_left" >
41
+ <div id="displayQrCode"><?php echo '<img src="data:image/jpg;base64,' . $data . '" />'; ?></div>
42
+ </div>
43
+ </div>
44
+ <input type="text" class="mo2f_table_textbox" style="margin-left: -1.5px;width: 32%;margin-top: 4%;" name="mo2f_google_auth_appname" placeholder="Enter the app name" value="<?php echo $gauth_name;?>" />
45
+
46
+ <input type="submit" name="submit" value="Save App Name" class="mo_wpns_button mo_wpns_button1" style="padding: 6px 19px;margin-top: -0.1%;margin-left: -1.5px;width: 32%;" />
47
+ <br>
48
+
49
+
50
+ </form>
51
 
52
  </ol>
53
 
117
  <input type="hidden" name="mo2f_go_back_nonce"
118
  value="<?php echo wp_create_nonce( "mo2f-go-back-nonce" ) ?>"/>
119
  </form>
120
+ </div><br>
 
121
  </td>
122
  </tr>
123
  </table>
125
  <script>
126
  jQuery(document).ready(function(){
127
  jQuery(this).scrollTop(0);
128
+ // if(jQuery('input[type=radio][name=google]').is(':checked')){
129
  jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
130
+ 'Get the App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
131
  '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
132
  jQuery('#mo2f_change_app_name').show();
133
  jQuery('#links_to_apps').show();
134
+ // }
135
  });
136
 
137
  jQuery('input[type=radio][name=mo2f_app_type_radio]').change(function () {
142
  jQuery('#mo2f_change_app_name').hide();
143
  jQuery('#step_number').html('2. ');
144
 
145
+ jQuery('#authenticator_type').change(function(){
146
+ var auth_type = jQuery(this).val();
147
+ if(auth_type == 'google_authenticator'){
148
+ jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
149
+ 'Get the App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
150
+ '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
151
+ // jQuery('#step_number').html('3. ');
152
+ // jQuery("input[type=radio][name=authy]").prop("checked", false);
153
+ // jQuery("input[type=radio][name=lastpass]").prop("checked", false);
154
+ jQuery('#mo2f_change_app_name').show();
155
+ jQuery('#links_to_apps').show();
156
+ }else if(auth_type == 'authy_authenticator'){
157
+ jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
158
+ 'Get the App - <a href="https://play.google.com/store/apps/details?id=com.authy.authy" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
159
+ '<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
160
+ // jQuery("input[type=radio][name=google]").prop("checked", false);
161
+ // jQuery("input[type=radio][name=lastpass]").prop("checked", false);
162
+ // jQuery('#mo2f_change_app_name').hide();
163
+ jQuery('#step_number').html('2. ');
164
+ jQuery('#links_to_apps').show();
165
+ }else{
166
+ jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
167
+ 'Get the App - <a href="https://play.google.com/store/apps/details?id=com.lastpass.authenticator" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
168
+ '<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
169
+ // jQuery("input[type=radio][name=authy]").prop("checked", false);
170
+ // jQuery("input[type=radio][name=google]").prop("checked", false);
171
+ jQuery('#mo2f_change_app_name').show();
172
+ jQuery('#step_number').html('3. ');
173
+ jQuery('#links_to_apps').show();
174
+ }
175
+ });
176
+
177
+
178
+
179
+
180
+
181
+ // jQuery('input[type=radio][name=google]').click(function(){
182
+ // jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
183
+ // 'Get the Google Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php //echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
184
+ // '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
185
+ // jQuery('#step_number').html('3. ');
186
+ // jQuery("input[type=radio][name=authy]").prop("checked", false);
187
+ // jQuery("input[type=radio][name=lastpass]").prop("checked", false);
188
+ // jQuery('#mo2f_change_app_name').show();
189
+ // jQuery('#links_to_apps').show();
190
+ // });
191
+
192
+ // jQuery('input[type=radio][name=authy]').click(function(){
193
+ // jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
194
+ // 'Get the Authy Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.authy.authy" target="_blank"><b><?php //echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
195
+ // '<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
196
+ // jQuery("input[type=radio][name=google]").prop("checked", false);
197
+ // jQuery("input[type=radio][name=lastpass]").prop("checked", false);
198
+ // jQuery('#mo2f_change_app_name').hide();
199
+ // jQuery('#step_number').html('2. ');
200
+ // jQuery('#links_to_apps').show();
201
+ // });
202
+
203
+ // jQuery('input[type=radio][name=lastpass]').click(function(){
204
+ // jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
205
+ // 'Get the LastPass Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.lastpass.authenticator" target="_blank"><b><?php //echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
206
+ // '<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
207
+ // jQuery("input[type=radio][name=authy]").prop("checked", false);
208
+ // jQuery("input[type=radio][name=google]").prop("checked", false);
209
+ // jQuery('#mo2f_change_app_name').show();
210
+ // jQuery('#step_number').html('3. ');
211
+ // jQuery('#links_to_apps').show();
212
+ // });
213
  </script>
214
  <?php
215
  }
views/twofa/setup/setup_google_authenticator_onpremise.php CHANGED
@@ -13,43 +13,41 @@ function mo2f_configure_google_authenticator_onprem( $secret,$url,$otpcode ) {
13
 
14
  <hr>
15
 
16
- <p style="background-color:#a3e8c2;padding:5px;">
17
- <?php echo mo2f_lt( 'You can configure this method in your Google/Authy/LastPass Authenticator apps.' ); ?>
18
- </p>
19
-
20
- <h4>1. <?php echo mo2f_lt( 'Install the Authenticator App that you wish to configure, in your phone.' ); ?></h4>
21
- <div style="margin-left:40px;">
22
- <input type="radio" name="google" value="ga" checked> Google Authenticator &nbsp;&nbsp;
23
- <input type="radio" name="authy" value="aa"> Authy Authenticator &nbsp;&nbsp;
24
- <input type="radio" name="lastpass" value="lpa"> LastPass Authenticator &nbsp;&nbsp;
25
  </div>
26
 
27
  <span id="links_to_apps"></span>
28
- <div id="mo2f_change_app_name">
29
- <h4>2. <?php echo mo2f_lt('Choose the account name to be configured in the App:'); ?></h4>
30
- <div style="margin-left:40px;">
31
- <form name="f" id="login_settings_appname_form" method="post" action="">
32
- <input type="hidden" name="option" value="mo2f_google_appname" />
33
- <input type="hidden" name="mo2f_google_appname_nonce"
34
- value="<?php echo wp_create_nonce( "mo2f-google-appname-nonce" ) ?>"/>
35
- <input type="text" class="mo2f_table_textbox" style="width:22% !important;" name="mo2f_google_auth_appname" placeholder="Enter the app name" value="<?php echo $gauth_name;?>" />&nbsp;&nbsp;&nbsp;
36
-
37
- <input type="submit" name="submit" value="Save App Name" class="mo_wpns_button mo_wpns_button1" />
38
-
39
- <br>
40
- </form>
41
- </div>
42
- </div>
43
  <h4><span id="step_number"></span><?php echo mo2f_lt( 'Scan the QR code from the Authenticator App.' ); ?></h4>
44
  <div style="margin-left:40px;">
45
  <ol>
46
  <li><?php echo mo2f_lt( 'In the app, tap on Menu and select "Set up account".' ); ?></li>
47
- <li><?php echo mo2f_lt( 'Select "Scan a barcode". Use your phone\'s camera to scan this barcode.' ); ?></li>
48
  <!-- <div id="displayQrCode"style="padding:10px;"><?php //echo '<img src="data:image/jpg;base64,' . $url . '" />'; ?></div> -->
49
- <div class="mo2f_gauth_column mo2f_gauth_left" >
50
- <div class="mo2f_gauth" data-qrcode="<?php echo $url;?>" style="float:left;margin-left:10%;"></div>
51
- </div>
52
-
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
  </ol>
55
 
@@ -153,14 +151,15 @@ $q = $_SERVER['REQUEST_TIME']*1000;
153
  ?>
154
  <script>
155
  jQuery(document).ready(function(){
 
156
  jQuery(this).scrollTop(0);
157
- if(jQuery('input[type=radio][name=google]').is(':checked')){
158
  jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
159
- 'Get the Google Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
160
  '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
161
  jQuery('#mo2f_change_app_name').show();
162
  jQuery('#links_to_apps').show();
163
- }
164
  });
165
 
166
  jQuery('input[type=radio][name=mo2f_app_type_radio]').change(function () {
@@ -171,38 +170,76 @@ $q = $_SERVER['REQUEST_TIME']*1000;
171
  jQuery('#mo2f_change_app_name').hide();
172
  jQuery('#step_number').html('2. ');
173
 
174
- jQuery('input[type=radio][name=google]').click(function(){
175
- jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
176
- 'Get the Google Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
177
- '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
178
- jQuery('#step_number').html('3. ');
179
- jQuery("input[type=radio][name=authy]").prop("checked", false);
180
- jQuery("input[type=radio][name=lastpass]").prop("checked", false);
181
- jQuery('#mo2f_change_app_name').show();
182
- jQuery('#links_to_apps').show();
183
- });
184
 
185
- jQuery('input[type=radio][name=authy]').click(function(){
186
- jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
187
- 'Get the Authy Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.authy.authy" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
188
- '<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
189
- jQuery("input[type=radio][name=google]").prop("checked", false);
190
- jQuery("input[type=radio][name=lastpass]").prop("checked", false);
191
- jQuery('#mo2f_change_app_name').hide();
192
- jQuery('#step_number').html('2. ');
193
- jQuery('#links_to_apps').show();
194
- });
195
-
196
- jQuery('input[type=radio][name=lastpass]').click(function(){
197
- jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
198
- 'Get the LastPass Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.lastpass.authenticator" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
199
- '<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
200
- jQuery("input[type=radio][name=authy]").prop("checked", false);
201
- jQuery("input[type=radio][name=google]").prop("checked", false);
202
- jQuery('#mo2f_change_app_name').show();
203
- jQuery('#step_number').html('3. ');
204
- jQuery('#links_to_apps').show();
205
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  </script>
207
  <?php
208
  }
13
 
14
  <hr>
15
 
16
+
17
+ <div>
18
+ <label for="authenticator_type"><b>1. Choose an Authenticator app:</b></label>
19
+
20
+ <select id="authenticator_type">
21
+ <option value="google_authenticator">Google Authenticator</option>
22
+ <option value="authy_authenticator">Authy Authenticator</option>
23
+ <option value="last_pass_auth">LastPass Authenticator</option>
24
+ </select>
25
  </div>
26
 
27
  <span id="links_to_apps"></span>
28
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  <h4><span id="step_number"></span><?php echo mo2f_lt( 'Scan the QR code from the Authenticator App.' ); ?></h4>
30
  <div style="margin-left:40px;">
31
  <ol>
32
  <li><?php echo mo2f_lt( 'In the app, tap on Menu and select "Set up account".' ); ?></li>
33
+ <li><?php echo mo2f_lt( 'Select "Scan a barcode".' ); ?></li>
34
  <!-- <div id="displayQrCode"style="padding:10px;"><?php //echo '<img src="data:image/jpg;base64,' . $url . '" />'; ?></div> -->
35
+
36
+ <form name="f" id="login_settings_appname_form" method="post" action="">
37
+ <input type="hidden" name="option" value="mo2f_google_appname" />
38
+ <input type="hidden" name="mo2f_google_appname_nonce"
39
+ value="<?php echo wp_create_nonce( "mo2f-google-appname-nonce" ) ?>"/>
40
+ <div style="margin-left: 14%;">
41
+ <div class="mo2f_gauth_column mo2f_gauth_left" >
42
+ <div class="mo2f_gauth" data-qrcode="<?php echo $url;?>" ></div>
43
+ </div>
44
+ </div>
45
+ <input type="text" class="mo2f_table_textbox" style="margin-left: -1.5px;width: 32%;margin-top: 4%;" name="mo2f_google_auth_appname" placeholder="Enter the app name" value="<?php echo $gauth_name;?>" />
46
+
47
+ <input type="submit" name="submit" value="Save App Name" class="mo_wpns_button mo_wpns_button1" style="padding: 6px 19px;margin-top: -0.1%;margin-left: -1.5px;width: 32%;" />
48
+ <br>
49
+
50
+ </form>
51
 
52
  </ol>
53
 
151
  ?>
152
  <script>
153
  jQuery(document).ready(function(){
154
+
155
  jQuery(this).scrollTop(0);
156
+ // if(jQuery('input[type=radio][name=google]').is(':checked')){
157
  jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
158
+ 'Get the App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
159
  '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
160
  jQuery('#mo2f_change_app_name').show();
161
  jQuery('#links_to_apps').show();
162
+ // }
163
  });
164
 
165
  jQuery('input[type=radio][name=mo2f_app_type_radio]').change(function () {
170
  jQuery('#mo2f_change_app_name').hide();
171
  jQuery('#step_number').html('2. ');
172
 
 
 
 
 
 
 
 
 
 
 
173
 
174
+ jQuery('#authenticator_type').change(function(){
175
+ var auth_type = jQuery(this).val();
176
+ if(auth_type == 'google_authenticator'){
177
+ jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
178
+ 'Get the App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
179
+ '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
180
+ // jQuery('#step_number').html('3. ');
181
+ // jQuery("input[type=radio][name=authy]").prop("checked", false);
182
+ // jQuery("input[type=radio][name=lastpass]").prop("checked", false);
183
+ jQuery('#mo2f_change_app_name').show();
184
+ jQuery('#links_to_apps').show();
185
+ }else if(auth_type == 'authy_authenticator'){
186
+ jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
187
+ 'Get the App - <a href="https://play.google.com/store/apps/details?id=com.authy.authy" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
188
+ '<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
189
+ // jQuery("input[type=radio][name=google]").prop("checked", false);
190
+ // jQuery("input[type=radio][name=lastpass]").prop("checked", false);
191
+ // jQuery('#mo2f_change_app_name').hide();
192
+ jQuery('#step_number').html('2. ');
193
+ jQuery('#links_to_apps').show();
194
+ }else{
195
+ jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
196
+ 'Get the App - <a href="https://play.google.com/store/apps/details?id=com.lastpass.authenticator" target="_blank"><b><?php echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
197
+ '<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
198
+ // jQuery("input[type=radio][name=authy]").prop("checked", false);
199
+ // jQuery("input[type=radio][name=google]").prop("checked", false);
200
+ jQuery('#mo2f_change_app_name').show();
201
+ jQuery('#step_number').html('3. ');
202
+ jQuery('#links_to_apps').show();
203
+ }
204
+ });
205
+
206
+
207
+
208
+
209
+
210
+
211
+ // jQuery('input[type=radio][name=google]').click(function(){
212
+ // jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
213
+ // 'Get the Google Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank"><b><?php //echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
214
+ // '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
215
+ // jQuery('#step_number').html('3. ');
216
+ // jQuery("input[type=radio][name=authy]").prop("checked", false);
217
+ // jQuery("input[type=radio][name=lastpass]").prop("checked", false);
218
+ // jQuery('#mo2f_change_app_name').show();
219
+ // jQuery('#links_to_apps').show();
220
+ // });
221
+
222
+ // jQuery('input[type=radio][name=authy]').click(function(){
223
+ // jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
224
+ // 'Get the Authy Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.authy.authy" target="_blank"><b><?php //echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
225
+ // '<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php// echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
226
+ // jQuery("input[type=radio][name=google]").prop("checked", false);
227
+ // jQuery("input[type=radio][name=lastpass]").prop("checked", false);
228
+ // jQuery('#mo2f_change_app_name').hide();
229
+ // jQuery('#step_number').html('2. ');
230
+ // jQuery('#links_to_apps').show();
231
+ // });
232
+
233
+ // jQuery('input[type=radio][name=lastpass]').click(function(){
234
+ // jQuery('#links_to_apps').html('<p style="background-color:#e8e4e4;padding:5px;margin-left:40px;width:65%">' +
235
+ // 'Get the LastPass Authenticator App - <a href="https://play.google.com/store/apps/details?id=com.lastpass.authenticator" target="_blank"><b><?php //echo mo2f_lt( "Android Play Store" ); ?></b></a>, &nbsp;' +
236
+ // '<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b>&nbsp;</p>');
237
+ // jQuery("input[type=radio][name=authy]").prop("checked", false);
238
+ // jQuery("input[type=radio][name=google]").prop("checked", false);
239
+ // jQuery('#mo2f_change_app_name').show();
240
+ // jQuery('#step_number').html('3. ');
241
+ // jQuery('#links_to_apps').show();
242
+ // });
243
  </script>
244
  <?php
245
  }
views/twofa/two_fa.php CHANGED
@@ -1,13 +1,31 @@
1
- <div class="mo_wpns_tab">
 
 
 
 
 
 
 
 
 
 
 
 
2
  <button class="tablinks" onclick="openTab2fa(this)" id="setup_2fa">Setup Two Factor</button>
3
  <?php
 
 
 
 
 
 
4
  if(current_user_can('administrator'))
5
  {
6
  if( !get_option( 'mo2f_is_NC' ))
7
  {
8
  ?>
9
  <button class="tablinks" onclick="openTab2fa(this)" id="login_option_2fa">Login Option</button>
10
- <button class="tablinks" onclick="openTab2fa(this)" id="custom_form_2fa">Integration</button>
11
  <?php
12
  }
13
  else
@@ -15,7 +33,7 @@
15
  ?>
16
  <button class="tablinks" onclick="openTab2fa(this)" id="rba_2fa">Remember Device</button>
17
  <button class="tablinks" onclick="openTab2fa(this)" id="custom_login_2fa">Personalization</button>
18
- <button class="tablinks" onclick="openTab2fa(this)" id="custom_form_2fa">Integration</button>
19
  <button class="tablinks" onclick="openTab2fa(this)" id="shortcode_2fa">Shortcode</button>
20
  <?php
21
  }
@@ -27,13 +45,15 @@
27
 
28
  <button class="tablinks" onclick="openTab2fa(this)" id="video_guide_2fa">Video Guide</button>
29
  <?php
30
- if(current_user_can('administrator') )
31
- {
32
- ?>
33
- <button class="tablinks" onclick="openTab2fa(this)" id="unlimittedUser_2fa">Multiple Users [Free]</button>
34
- <?php
 
35
  }
36
  ?>
 
37
  </div>
38
  <div id="mo_scan_message" style=" padding-top:8px"></div>
39
  <div class="mo_wpns_divided_layout" id="setup_2fa_div">
@@ -75,8 +95,12 @@
75
  <div class="mo_wpns_divided_layout" id="unlimittedUser_2fa_div">
76
  <?php include_once $mo2f_dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_unlimittedUser.php'; ?>
77
  </div>
 
 
 
78
  <script>
79
  jQuery("#setup_2fa_div").css("display", "block");
 
80
  jQuery("#rba_2fa_div").css("display", "none");
81
  jQuery("#custom_login_2fa_div").css("display", "none");
82
  jQuery("#shortcode_2fa_div").css("display", "none");
@@ -87,7 +111,7 @@
87
  jQuery("#setup_2fa").addClass("active");
88
  function openTab2fa(elmt){
89
  var tabname = elmt.id;
90
- var tabarray = ["setup_2fa","rba_2fa","custom_login_2fa","shortcode_2fa","login_option_2fa", "custom_form_2fa", "video_guide_2fa","unlimittedUser_2fa"];
91
  for (var i = 0; i < tabarray.length; i++) {
92
  if(tabarray[i] == tabname){
93
  jQuery("#"+tabarray[i]).addClass("active");
@@ -125,6 +149,11 @@
125
  {
126
  document.getElementById("unlimittedUser_2fa").click();
127
  }
 
 
 
 
 
128
  else{
129
  document.getElementById("setup_2fa").click();
130
  }
1
+ <?php
2
+ $mo_2fa_with_network_security = get_option('mo_wpns_2fa_with_network_security');
3
+ if ($mo_2fa_with_network_security) {
4
+ ?>
5
+ <div class="mo_wpns_tab" >
6
+ <?php
7
+ }
8
+ else
9
+ {
10
+ ?> <div class="mo_wpns_tab" style="margin-top: -1%;"><?php
11
+ }
12
+ ?>
13
+
14
  <button class="tablinks" onclick="openTab2fa(this)" id="setup_2fa">Setup Two Factor</button>
15
  <?php
16
+ if(current_user_can('administrator') )
17
+ {
18
+ ?>
19
+ <button class="tablinks" onclick="openTab2fa(this)" id="unlimittedUser_2fa">Multiple Users [Free]</button>
20
+ <?php
21
+ }
22
  if(current_user_can('administrator'))
23
  {
24
  if( !get_option( 'mo2f_is_NC' ))
25
  {
26
  ?>
27
  <button class="tablinks" onclick="openTab2fa(this)" id="login_option_2fa">Login Option</button>
28
+ <button class="tablinks" onclick="openTab2fa(this)" id="custom_form_2fa">Login Form Integration</button>
29
  <?php
30
  }
31
  else
33
  ?>
34
  <button class="tablinks" onclick="openTab2fa(this)" id="rba_2fa">Remember Device</button>
35
  <button class="tablinks" onclick="openTab2fa(this)" id="custom_login_2fa">Personalization</button>
36
+ <button class="tablinks" onclick="openTab2fa(this)" id="custom_form_2fa">Login Form Integration</button>
37
  <button class="tablinks" onclick="openTab2fa(this)" id="shortcode_2fa">Shortcode</button>
38
  <?php
39
  }
45
 
46
  <button class="tablinks" onclick="openTab2fa(this)" id="video_guide_2fa">Video Guide</button>
47
  <?php
48
+
49
+ if($mo_2fa_with_network_security == 0)
50
+ {
51
+ ?>
52
+ <button class="tablinks" onclick="openTab2fa(this)" id="upgrade_2fa">Upgrade</button>
53
+ <?php
54
  }
55
  ?>
56
+
57
  </div>
58
  <div id="mo_scan_message" style=" padding-top:8px"></div>
59
  <div class="mo_wpns_divided_layout" id="setup_2fa_div">
95
  <div class="mo_wpns_divided_layout" id="unlimittedUser_2fa_div">
96
  <?php include_once $mo2f_dirName . 'controllers'.DIRECTORY_SEPARATOR.'twofa'.DIRECTORY_SEPARATOR.'two_fa_unlimittedUser.php'; ?>
97
  </div>
98
+ <div class="mo_wpns_divided_layout" id="upgrade_2fa_div" style="width: 100%;">
99
+ <?php include_once $mo2f_dirName . 'controllers'.DIRECTORY_SEPARATOR.'upgrade.php'; ?>
100
+ </div>
101
  <script>
102
  jQuery("#setup_2fa_div").css("display", "block");
103
+ jQuery("#upgrade_2fa_div").css("display" , "none");
104
  jQuery("#rba_2fa_div").css("display", "none");
105
  jQuery("#custom_login_2fa_div").css("display", "none");
106
  jQuery("#shortcode_2fa_div").css("display", "none");
111
  jQuery("#setup_2fa").addClass("active");
112
  function openTab2fa(elmt){
113
  var tabname = elmt.id;
114
+ var tabarray = ["setup_2fa","rba_2fa","custom_login_2fa","shortcode_2fa","login_option_2fa", "custom_form_2fa", "video_guide_2fa","unlimittedUser_2fa","upgrade_2fa"];
115
  for (var i = 0; i < tabarray.length; i++) {
116
  if(tabarray[i] == tabname){
117
  jQuery("#"+tabarray[i]).addClass("active");
149
  {
150
  document.getElementById("unlimittedUser_2fa").click();
151
  }
152
+ else if(tab == "upgrade_2fa")
153
+ {
154
+ document.getElementById("upgrade_2fa").click();
155
+
156
+ }
157
  else{
158
  document.getElementById("setup_2fa").click();
159
  }
views/twofa/two_fa_custom_login.php CHANGED
@@ -11,7 +11,7 @@
11
 
12
  <h3 id="custom_description" style=" color: #20b2aa;text-align: center;">
13
  <?php echo __( 'This helps you to modify and redesign the 2FA prompt to match according to your website and various customizations in the plugin dashboard.', 'miniorange-2-factor-authentication' ); ?>
14
- <b style="color: red;">&nbsp;&nbsp;[ PREMIUM ]</b>
15
  </h3>
16
  <br>
17
  </div>
11
 
12
  <h3 id="custom_description" style=" color: #20b2aa;text-align: center;">
13
  <?php echo __( 'This helps you to modify and redesign the 2FA prompt to match according to your website and various customizations in the plugin dashboard.', 'miniorange-2-factor-authentication' ); ?>
14
+ <b><?php echo '<a href="'.$upgrade_url .'" style="color: red">'; ?>[ PREMIUM ]</a></b>
15
  </h3>
16
  <br>
17
  </div>
views/twofa/two_fa_rba.php CHANGED
@@ -22,7 +22,8 @@
22
 
23
  </p>
24
  <div class="mo_wpns_setting_layout" style="background-color: aliceblue; border:none;">
25
- <h3 style="display: inline;float: left">Device Configuration</h3><h3 style="color: red;"><b>&nbsp;&nbsp;&nbsp;&nbsp;[ PREMIUM ]</b></h3><hr>
 
26
  <label class="mo_wpns_switch">
27
  <input type="checkbox" id="pluginWAF" name="pluginWAF" <?php echo 'disabled'; ?>>
28
  <span class="mo_wpns_slider mo_wpns_round"></span>
@@ -69,7 +70,8 @@
69
 
70
  </p>
71
  <div class="mo_wpns_setting_layout" style="background-color: aliceblue; border:none;">
72
- <h3 style="display: inline;float: left">IP Blocking Configuration </h3><h3 style="color: red;"><b>&nbsp;&nbsp;&nbsp;&nbsp;[ PREMIUM ]</b></h3><hr>
 
73
  <label class="mo_wpns_switch">
74
  <input type="checkbox" id="pluginWAF" name="pluginWAF" <?php echo 'disabled'; ?>>
75
  <span class="mo_wpns_slider mo_wpns_round"></span>
@@ -140,11 +142,13 @@
140
  global $current_user;
141
  $current_user = wp_get_current_user();
142
  global $dbQueries,$Mo2fdbQueries;
 
143
  ?>
144
 
145
  <div>
146
  <div class="mo_wpns_setting_layout" style="background-color: aliceblue; border:none;">
147
- <h3>Remember device<b style="color: red;">&nbsp;&nbsp;&nbsp;&nbsp;[ PREMIUM ]</b></h3>
 
148
  <input type="checkbox" id="mo2f_remember_device" name="mo2f_remember_device"
149
  value="1" <?php checked( get_option( 'mo2f_remember_device' ) == 1 );
150
 
@@ -175,4 +179,4 @@
175
  }
176
 
177
 
178
- ?>
22
 
23
  </p>
24
  <div class="mo_wpns_setting_layout" style="background-color: aliceblue; border:none;">
25
+ <h3 style="display: inline;float: left">Device Configuration</h3><h3 style="color: red;"><b >&nbsp;&nbsp;&nbsp;&nbsp;
26
+ <?php echo '<a href="'.$upgrade_url .'" style="color: red">'; ?>[ PREMIUM ]</a></b></h3><hr>
27
  <label class="mo_wpns_switch">
28
  <input type="checkbox" id="pluginWAF" name="pluginWAF" <?php echo 'disabled'; ?>>
29
  <span class="mo_wpns_slider mo_wpns_round"></span>
70
 
71
  </p>
72
  <div class="mo_wpns_setting_layout" style="background-color: aliceblue; border:none;">
73
+ <h3 style="display: inline;float: left">IP Blocking Configuration </h3><h3 style="color: red;"><b >&nbsp;&nbsp;&nbsp;&nbsp;
74
+ <?php echo '<a href="'.$upgrade_url .'" style="color: red">'; ?>[ PREMIUM ]</a></b></h3><hr>
75
  <label class="mo_wpns_switch">
76
  <input type="checkbox" id="pluginWAF" name="pluginWAF" <?php echo 'disabled'; ?>>
77
  <span class="mo_wpns_slider mo_wpns_round"></span>
142
  global $current_user;
143
  $current_user = wp_get_current_user();
144
  global $dbQueries,$Mo2fdbQueries;
145
+ $upgrade_url = add_query_arg(array('page' => 'mo_2fa_upgrade' ), $_SERVER['REQUEST_URI']);
146
  ?>
147
 
148
  <div>
149
  <div class="mo_wpns_setting_layout" style="background-color: aliceblue; border:none;">
150
+ <h3>Remember device<b >&nbsp;&nbsp;&nbsp;&nbsp;
151
+ <?php echo '<a href="'.$upgrade_url .'" style="color: red">'; ?>[ PREMIUM ]</a></b></h3>
152
  <input type="checkbox" id="mo2f_remember_device" name="mo2f_remember_device"
153
  value="1" <?php checked( get_option( 'mo2f_remember_device' ) == 1 );
154
 
179
  }
180
 
181
 
182
+ ?>
views/twofa/two_fa_shortcode.php CHANGED
@@ -7,7 +7,7 @@
7
 
8
 
9
  <div id="mo2f_hide_shortcode_content" >
10
- <h3><?php echo __( 'List of Shortcodes', 'miniorange-2-factor-authentication' ); ?><b style="color: red;">&nbsp;&nbsp;&nbsp;&nbsp;[ PREMIUM ]</b></h3>
11
  <hr>
12
  <ol style="margin-left:2%">
13
  <li>
7
 
8
 
9
  <div id="mo2f_hide_shortcode_content" >
10
+ <h3><?php echo __( 'List of Shortcodes', 'miniorange-2-factor-authentication' ); ?><b><?php echo '<a href="'.$upgrade_url .'" style="color: red">'; ?>[ PREMIUM ]</a></b></h3>
11
  <hr>
12
  <ol style="margin-left:2%">
13
  <li>
views/twofa/two_fa_unlimittedUser.php CHANGED
@@ -5,9 +5,10 @@ function miniorange_2_factor_user_roles($current_user) {
5
  global $wp_roles;
6
  if (!isset($wp_roles))
7
  $wp_roles = new WP_Roles();
 
8
 
9
- print '<div><span style="font-size:16px;">Roles<div style="float:right;">Custom Redirect Login Url <b style = "color:red"> [PREMIUM] </b> </div></span><br /><br />';
10
- foreach($wp_roles->role_names as $id => $name) {
11
  $setting = get_site_option('mo2fa_'.$id);
12
  ?>
13
  <div>
@@ -27,7 +28,7 @@ function miniorange_2_factor_user_roles($current_user) {
27
  <?php
28
  echo $name;
29
  if($name != 'Administrator')
30
- echo " <b style='color:red;padding-left:10px;'> [PREMIUM] </b>";
31
  ?>
32
  <input type="text" class="mo2f_table_textbox" style="width:50% !important;float:right;" id="<?php echo 'mo2fa_'.$id; ?>_login_url" value="<?php echo get_option('mo2fa_' .$id . '_login_url'); ?>"
33
  <?php
@@ -694,4 +695,4 @@ if(!MO2F_IS_ONPREM && current_user_can('administrator')){
694
 
695
  <?php
696
  }
697
- ?>
5
  global $wp_roles;
6
  if (!isset($wp_roles))
7
  $wp_roles = new WP_Roles();
8
+ $upgrade_url = add_query_arg(array('page' => 'mo_2fa_upgrade' ), $_SERVER['REQUEST_URI']);
9
 
10
+ echo '<div><span style="font-size:16px;">Roles<div style="float:right;">Custom Redirect Login Url<a href="'.$upgrade_url .'" style="color: red">[ PREMIUM ]</a></div></span><br /><br />';
11
+ foreach($wp_roles->role_names as $id => $name) {
12
  $setting = get_site_option('mo2fa_'.$id);
13
  ?>
14
  <div>
28
  <?php
29
  echo $name;
30
  if($name != 'Administrator')
31
+ echo ' <a href="'.$upgrade_url .'" style="color: red">[ PREMIUM ]</a>';
32
  ?>
33
  <input type="text" class="mo2f_table_textbox" style="width:50% !important;float:right;" id="<?php echo 'mo2fa_'.$id; ?>_login_url" value="<?php echo get_option('mo2fa_' .$id . '_login_url'); ?>"
34
  <?php
695
 
696
  <?php
697
  }
698
+ ?>
views/upgrade.php CHANGED
@@ -2,139 +2,344 @@
2
  global $Mo2fdbQueries;
3
  $user = wp_get_current_user();
4
  $is_NC = get_option( 'mo2f_is_NC' );
5
-
6
  $is_customer_registered = $Mo2fdbQueries->get_user_detail( 'user_registration_with_miniorange', $user->ID ) == 'SUCCESS' ? true : false;
 
 
 
 
7
  ?>
8
- <br><br>
9
- <div style="width: 23%;min-height: 500px;background-color: white;float: left;border: 2px solid #6cd3cd;">
10
- <div style="width: 100%;min-height: 350px; background-color: #6cd3cd;">
11
- <div><center><h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 280%;">Free</h1><br><br>
12
- <h1 style="color: #291283;">[ Current Plan ]</h1></center></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  </div>
14
- <center><br><br>
15
- <h4>No. of User:- 1 <br>
 
 
 
 
 
16
  Basic security features<br>
17
  Five Authenticaton Methods<br>
18
- Login with Username + password + 2FA<br>
19
  </h4>
20
- </center>
21
- </div>
22
- <div style="width: 1%;min-height: 500px;background-color: none;float: left;"></div>
23
- <div style="width: 23%;min-height: 500px;background-color: white;float: left; border: 2px solid #4dbfb9;">
24
- <div style="width: 100%;min-height: 350px; background-color: #4dbfb9;">
25
- <div><center><h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 280%;">Standard</h1></center></div>
26
- <center>
27
- <h4 style="color: white;">Starting From</h4>
28
- <h1 style="color: white;font-size: 400%;">$5</h1>
29
-
30
- <?php echo mo2f_yearly_standard_pricing_plan(); ?>
31
- <?php echo mo2f_sms_cost1();?>
32
- </center>
33
-
34
- </div>
35
- <?php if( $is_customer_registered) {
36
- ?>
37
- <button class="mo_wpns_button mo_wpns_button1" style="border: 1px solid;background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
38
- onclick="mo2f_upgradeform1('wp_2fa_basic_plan')" >Upgrade</button>
39
- <?php }else{ ?>
40
-
41
- <button class="mo_wpns_button mo_wpns_button1" style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
42
- onclick="mo2f_register_and_upgradeform1('wp_2fa_basic_plan')" >Upgrade</button>
43
- <?php } ?>
44
 
45
 
 
 
 
 
 
 
 
 
 
46
  <center>
47
  <h4> Multi-Site Support<br>
48
  Backup Methods [ KBA ]<br>
 
49
  Additional Authentication Methods<br>
50
- User role based redirection after Login
51
- <br>
52
-
53
  </h4>
54
  </center>
55
- </div>
56
- <div style="width: 1%;min-height: 500px;background-color: none;float: left;"></div>
57
- <div style="width: 23%;min-height: 500px;background-color: white;float: left;border: 2px solid #2ba29b;">
58
- <div style="width: 100%;min-height: 350px; background-color: #2ba29b;">
59
- <center>
60
- <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 280%;">Premium</h1>
61
- </center>
62
  <center>
63
- <h4 style="color: white;">Starting From</h4>
64
- <h1 style="color: white;font-size: 400%;">$30</h1>
65
 
66
- <?php echo mo2f_yearly_premium_pricing_plan(); ?>
67
- <?php echo mo2f_sms_cost1();?>
68
  </center>
69
- </div>
70
- <?php if( $is_customer_registered) {
71
- ?>
72
- <button
73
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
74
- onclick="mo2f_upgradeform1('wp_2fa_premium_plan')" >Upgrade</button>
75
- <?php }else{ ?>
 
 
 
 
 
76
 
77
- <button
78
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
79
- onclick="mo2f_register_and_upgradeform1('wp_2fa_premium_plan')" >Upgrade</button>
80
- <?php } ?>
81
 
 
 
 
 
 
 
 
 
 
82
  <center>
83
  <h4>Multi-Site Support<br>
84
  Additional 2FA methods<br>
85
- Enable 2FA for specific User Roles<br>
86
- Force Two Factor for users
 
87
 
88
  </h4>
89
  </center>
90
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
 
92
- </div>
93
- <div style="width: 1%;min-height: 500px;background-color: none;float: left;"></div>
94
- <div style="width: 23%;min-height: 500px;background-color: white;float: left; border: 2px solid #198782;">
95
- <div style="width: 100%;min-height: 350px; background-color: #198782;">
96
- <center>
97
- <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 280%;">
98
- Enterprise</h1>
99
 
100
- <h4 style="color: white;">Starting From</h4>
101
- <h1 style="color: white;font-size: 400%;">$59</h1>
102
- <span style="color: white;font-size: 200%;line-height: 1;">+</span>
103
- <?php echo mo2f_yearly_premium_pricing_plan(); ?>
104
- <?php echo mo2f_sms_cost1();?>
105
- </center>
 
 
 
 
106
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  <?php if( $is_customer_registered) {
108
  ?>
109
- <button
110
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
111
- onclick="mo2f_upgradeform1('wp_2fa_enterprise_plan')" >Upgrade</button>
112
- <?php }else{ ?>
113
- <button
114
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
115
- onclick="mo2f_register_and_upgradeform1('wp_2fa_enterprise_plan')" >Upgrade</button>
116
- <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  <center>
118
- <h4>Multi-Site Support<br>
119
- Additional 2FA methods<br>
120
- Security Features<br>
121
- Login Protection, File Protection, Strong Passwords
122
-
123
- <br>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
  </h4>
126
  </center>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
 
128
- </div><div style="width: 1%;min-height: 500px;background-color: none;float: left;"></div>
129
  <div style="width: 96%; min-height: 60px;background-color: white;float: left;border-bottom: 2px solid #2ba29b; text-align: center;">
130
- <br>
131
- <a id= "mo2f_show_features" style="color: #20b2aa;background-color: white; font-size: 250%;font-weight: 500;" onclick="mo2f_show_features()"><span style="font-size: 63%;"><u>Show more Features</u></span></a>
132
- <a id= "mo2f_hide_features" style="color: #20b2aa;background-color: white; display: none; font-size: 250%;font-weight: 500;" onclick="mo2f_hide_features()"><span style="font-size: 63%;"><u>Hide Features</u></span>
133
- </a>
134
-
135
  </div>
136
-
137
- <form class="mo2f_display_none_forms" id="mo2fa_loginform"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  action="<?php echo MO_HOST_NAME . '/moas/login'; ?>"
139
  target="_blank" method="post">
140
  <input type="email" name="username" value="<?php echo get_option( 'mo2f_email' ); ?>"/>
@@ -150,82 +355,336 @@
150
  value="<?php echo wp_create_nonce( 'miniorange-2-factor-user-reg-to-upgrade-nonce' ); ?>"/>
151
  </form>
152
 
153
-
154
- <script type="text/javascript">
155
- var flag=1;flag1=1;
156
- function mo2f_show_features()
157
- {
158
- jQuery("#mo2f_features_id").slideToggle();
159
- if (flag)
160
- {
161
- document.getElementById("mo2f_hide_features").style.display = "block";
162
- document.getElementById("mo2f_show_features").style.display = "none";
163
- flag = 0;
164
- }
165
-
166
- }
167
-
168
-
169
- function mo2f_hide_features()
170
- {
171
- jQuery("#mo2f_features_id").slideToggle();
172
-
173
- if (flag == 0)
174
- {
175
- document.getElementById("mo2f_hide_features").style.display = "none";
176
- document.getElementById("mo2f_show_features").style.display = "block";
177
-
178
- flag = 1;
179
- }
180
-
181
- }
182
-
183
-
184
- function mo2f_features()
185
- {
186
- document.getElementById("mo2f_visible").style.display = "block";
187
- }
188
- function mo2f_features_disable()
189
- {
190
- document.getElementById("mo2f_visible").style.display = "none";
191
- document.getElementById("mo2f_features_id").style.display = "none";
192
- }
193
- function mo2f_upgradeform1(planType) {
194
- jQuery('#requestOrigin').val(planType);
195
- jQuery('#mo2fa_loginform').submit();
196
- }
197
-
198
- function mo2f_register_and_upgradeform1(planType) {
199
- jQuery('#requestOrigin').val(planType);
200
- jQuery('input[name="requestOrigin"]').val(planType);
201
- jQuery('#mo2fa_register_to_upgrade_form').submit();
202
- }
203
- </script>
204
  <div id="mo2f_features_id" style="display: none; float: left;width: 96.6%;">
205
  <?php
206
  include $mo2f_dirName . 'views'.DIRECTORY_SEPARATOR.'upgrade_2fa.php';?>
207
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  <?php
210
- function mo2f_sms_cost1() {
 
211
  ?>
212
- <p class="mo2f_pricing_text" id="mo2f_sms_cost1" style="color: white;"
 
 
 
 
 
 
 
 
 
 
 
 
213
  title="<?php echo mo2f_lt( '(Only applicable if OTP over SMS is your preferred authentication method.)' ); ?>"><?php echo mo2f_lt( 'SMS + OTP Cost' ); ?>
214
  <b style="color: black;">[optional]</b><br/>
215
  <select id="mo2f_sms" class="form-control" style="border-radius:5px;width:200px;">
216
- <option><?php echo mo2f_lt( '$5 per 100 OTP + SMS delivery charges' ); ?></option>
217
- <option><?php echo mo2f_lt( '$15 per 500 OTP + SMS delivery charges' ); ?></option>
218
- <option><?php echo mo2f_lt( '$22 per 1k OTP + SMS delivery charges' ); ?></option>
219
- <option><?php echo mo2f_lt( '$30 per 5k OTP + SMS delivery charges' ); ?></option>
220
- <option><?php echo mo2f_lt( '$40 per 10k OTP + SMS delivery charges' ); ?></option>
221
- <option><?php echo mo2f_lt( '$90 per 50k OTP + SMS delivery charges' ); ?></option>
222
  </select>
223
  </p>
 
224
  <?php
225
  }
226
  function mo2f_yearly_standard_pricing_plan() {
227
  ?>
228
- <p class="mo2f_pricing_text" style="color: white;"
 
229
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
230
 
231
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
@@ -245,7 +704,7 @@ function mo2f_yearly_standard_pricing_plan() {
245
  }
246
  function mo2f_yearly_premium_pricing_plan() {
247
  ?>
248
- <p class="mo2f_pricing_text" style="color: white;"
249
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
250
 
251
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
@@ -264,38 +723,56 @@ function mo2f_yearly_premium_pricing_plan() {
264
  }
265
  function mo2f_yearly_all_inclusive_pricing_plan() {
266
  ?>
267
- <p class="mo2f_pricing_text" style="color: white;"
268
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
269
 
270
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
271
- <option> <?php echo mo2f_lt( '1 site - $199 per year' ); ?> </option>
272
- <option> <?php echo mo2f_lt( '2 sites - $329 per year' ); ?> </option>
273
- <option> <?php echo mo2f_lt( '3-5 sites - $499 per year' ); ?> </option>
274
- <option> <?php echo mo2f_lt( '6-10 sites - $599 per year' ); ?> </option>
275
- <option> <?php echo mo2f_lt( '11-25 sites - $799 per year' ); ?> </option>
276
- <option> <?php echo mo2f_lt( '25+ sites - Contact Us' ); ?> </option>
 
 
277
 
278
  </select>
279
  </p>
280
  <?php
281
  }
282
- function mo2f_yearly_standard_pricing1() {
283
  ?>
284
- <p class="mo2f_pricing_text" style="color: white;"
285
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
286
-
287
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
288
- <option> <?php echo mo2f_lt( '1 site - $15 per year' ); ?> </option>
289
- <option> <?php echo mo2f_lt( '5 sites - $35 per year' ); ?> </option>
290
- <option> <?php echo mo2f_lt( '10 sites - $60 per year' ); ?> </option>
291
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292
  </select>
293
  </p>
294
  <?php
295
  }
296
  function mo2f_waf_yearly_standard_pricing() {
297
  ?>
298
- <p class="mo2f_pricing_text" style="color: white;"
299
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
300
 
301
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
@@ -305,11 +782,12 @@ function mo2f_waf_yearly_standard_pricing() {
305
 
306
  </select>
307
  </p>
 
308
  <?php
309
  }
310
  function mo2f_login_yearly_standard_pricing() {
311
  ?>
312
- <p class="mo2f_pricing_text" style="color: white;"
313
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
314
 
315
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
@@ -319,11 +797,12 @@ function mo2f_login_yearly_standard_pricing() {
319
 
320
  </select>
321
  </p>
 
322
  <?php
323
  }
324
  function mo2f_backup_yearly_standard_pricing() {
325
  ?>
326
- <p class="mo2f_pricing_text" style="color: white;"
327
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
328
 
329
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
@@ -333,11 +812,12 @@ function mo2f_backup_yearly_standard_pricing() {
333
 
334
  </select>
335
  </p>
 
336
  <?php
337
  }
338
  function mo2f_scanner_yearly_standard_pricing() {
339
  ?>
340
- <p class="mo2f_pricing_text" style="color: white;"
341
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
342
 
343
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
@@ -347,204 +827,11 @@ function mo2f_scanner_yearly_standard_pricing() {
347
 
348
  </select>
349
  </p>
 
350
  <?php
351
  }
352
  ?>
353
- <?php ?>
354
- <br><br>
355
- <div style="width: 23%;min-height: 500px;background-color: white;float: left;margin-top: 5%;border: 2px solid #6cd3cd;">
356
- <div style="width: 100%;min-height: 280px; background-color: #6cd3cd;">
357
- <div>
358
- <center>
359
- <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 280%;">WAF</h1></center></div>
360
- <center>
361
- <h4 style="color: white;">Starting From</h4>
362
- <h1 style="color: white;font-size: 400%;">$50</h1>
363
-
364
- <?php echo mo2f_waf_yearly_standard_pricing(); ?>
365
-
366
- </center>
367
- </div>
368
- <?php if( $is_customer_registered) {
369
- ?>
370
- <button
371
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
372
- onclick="mo2f_upgradeform1('wp_security_waf_plan')" >Upgrade</button>
373
- <?php }else{ ?>
374
- <button
375
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
376
- onclick="mo2f_register_and_upgradeform1('wp_security_waf_plan')" >Upgrade</button>
377
- <?php } ?>
378
- <div><center><b>
379
- <ul>
380
- <li>Realtime IP Blocking</li>
381
- <li>Live Traffic and Audit</li>
382
- <li>IP Blocking and Whitelisting</li>
383
- <li>OWASP TOP 10 Firewall Rules</li>
384
- <li>Standard Rate Limiting/ DOS Protection</li>
385
- <li><a onclick="wpns_pricing()">Know more</a></li>
386
- </ul>
387
- </b></center></div>
388
- </div>
389
- <div style="width: 1%;min-height: 500px;background-color: none;float: left;"></div>
390
- <div style="width: 23%;min-height: 500px;background-color: white;float: left;margin-top: 5%;border: 2px solid #4dbfb9;">
391
- <div style="width: 100%;min-height: 280px; background-color: #4dbfb9;">
392
- <div>
393
- <center>
394
- <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 280%;">Login and Spam</h1></center>
395
- </div>
396
- <center>
397
- <h4 style="color: white;">Starting From</h4>
398
- <h1 style="color: white;font-size: 400%;">$15</h1>
399
-
400
- <?php echo mo2f_login_yearly_standard_pricing(); ?>
401
-
402
- </center>
403
-
404
- </div>
405
- <?php if( $is_customer_registered) {
406
- ?>
407
- <button class="mo_wpns_button mo_wpns_button1" style="border: 1px solid;background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
408
- onclick="mo2f_upgradeform1('wp_security_login_and_spam_plan')" >Upgrade</button>
409
- <?php }else{ ?>
410
 
411
- <button class="mo_wpns_button mo_wpns_button1" style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
412
- onclick="mo2f_register_and_upgradeform1('wp_security_login_and_spam_plan')" >Upgrade</button>
413
- <?php } ?>
414
-
415
- <div><center><b>
416
- <ul>
417
- <li>Limit login Attempts</li>
418
- <li>CAPTCHA on login</li>
419
- <li>Blocking time period</li>
420
- <li>Enforce Strong Password</li>
421
- <li>SPAM Content and Comment Protection</li>
422
- <li><a onclick="wpns_pricing()">Know more</a></li>
423
- </ul>
424
- </b></center></div>
425
-
426
-
427
- </div>
428
- <div style="width: 1%;min-height: 500px;background-color: none;float: left;"></div>
429
- <div style="width: 23%;min-height: 500px;background-color: white;float: left;margin-top: 5%;border: 2px solid #2ba29b;">
430
- <div style="width: 100%;min-height: 280px; background-color: #2ba29b;">
431
- <center>
432
- <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 280%;">Malware Scanner</h1>
433
-
434
- <h4 style="color: white;">Starting From</h4>
435
- <h1 style="color: white;font-size: 400%;">$15</h1>
436
-
437
- <?php echo mo2f_scanner_yearly_standard_pricing(); ?>
438
-
439
- </center>
440
- </div>
441
- <?php if( $is_customer_registered) {
442
- ?>
443
- <button
444
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
445
- onclick="mo2f_upgradeform1('wp_security_malware_plan')" >Upgrade</button>
446
- <?php }else{ ?>
447
-
448
- <button
449
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
450
- onclick="mo2f_register_and_upgradeform1('wp_security_malware_plan')" >Upgrade</button>
451
- <?php } ?>
452
- <div><center><b>
453
- <ul>
454
- <li>Malware Detection</li>
455
- <li>Blacklisted Domains</li>
456
- <li>Action On Malicious Files</li>
457
- <li>Repository Version Comparison</li>
458
- <li>Detect any changes in the files</li>
459
- <li><a onclick="wpns_pricing()">Know more</a></li>
460
- </ul>
461
- </b></center></div>
462
-
463
- </div>
464
- <div style="width: 1%;min-height: 500px;background-color: none;float: left;"></div>
465
- <div style="width: 23%;min-height: 500px;background-color: white;float: left;margin-top: 5%;border: 2px solid #198782;">
466
- <div style="width: 100%;min-height: 280px; background-color: #198782;">
467
- <center>
468
- <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 280%;">Encrypted Backup</h1>
469
-
470
- <h4 style="color: white;">Starting From</h4>
471
- <h1 style="color: white;font-size: 400%;">$30</h1>
472
-
473
- <?php echo mo2f_backup_yearly_standard_pricing(); ?>
474
-
475
- </center>
476
- </div>
477
- <?php if( $is_customer_registered) {
478
- ?>
479
- <button
480
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
481
- onclick="mo2f_upgradeform1('wp_security_backup_plan')" >Upgrade</button>
482
- <?php }else{ ?>
483
- <button
484
- class="mo_wpns_button mo_wpns_button1"style="border: 1px solid; background-color: #291283;padding: 5% 10% 5% 10%; margin-top: -25%;border-radius: 30%;margin-left: 30%;box-shadow: 5px 10px 18px #888888;"
485
- onclick="mo2f_register_and_upgradeform1('wp_security_backup_plan')" >Upgrade</button>
486
- <?php } ?>
487
- <div><center><b>
488
- <ul>
489
- <li>Schedule Backup</li>
490
- <li>Encrypted Backup</li>
491
- <li>Files/Database Backup</li>
492
- <li>Restore and Migration</li>
493
- <li>Password Protected Zip files</li>
494
- <li><a onclick="wpns_pricing()">Know more</a></li>
495
- </ul>
496
- </b></center></div>
497
- </div>
498
-
499
- <div style="float: left; background-color: white; min-height: 100px;width: 91.9%;margin-top: 4%;height: auto;padding: 2%; border: 2px solid #20b2aa;">
500
- <div>
501
- <h2>Steps to upgrade to the Premium Plan</h2>
502
- <ol class="mo2f_licensing_plans_ol">
503
- <li><?php echo mo2f_lt( 'Click on \'Upgrade\' button of your preferred plan above.' ); ?></li>
504
- <li><?php echo mo2f_lt( ' You will be redirected to the miniOrange Console. Enter your miniOrange username and password, after which you will be redirected to the payment page.' ); ?></li>
505
-
506
- <li><?php echo mo2f_lt( 'Select the number of users you wish to upgrade for, and any add-ons if you wish to purchase, and make the payment.' ); ?></li>
507
- <li><?php echo mo2f_lt( 'After making the payment, you can find the Standard/Premium plugin to download from the \'License\' tab in the left navigation bar of the miniOrange Console.' ); ?></li>
508
- <li><?php echo mo2f_lt( 'Download the premium plugin from the miniOrange Console.' ); ?></li>
509
- <li><?php echo mo2f_lt( 'In the Wordpress dashboard, uninstall the free plugin and install the premium plugin downloaded.' ); ?></li>
510
- <li><?php echo mo2f_lt( 'Login to the premium plugin with the miniOrange account you used to make the payment, after this your users will be able to set up 2FA.' ); ?></li>
511
- </ol>
512
- </div>
513
- <div>
514
- <h2>Note</h2>
515
- <ul class="mo2f_licensing_plans_ol">
516
- <li><?php echo mo2f_lt( 'There is no license key required to activate the Standard/Premium Plugins. You will have to just login with the miniOrange Account you used to make the purchase.' ); ?></li>
517
- </ul>
518
- </div>
519
-
520
- <br>
521
- <hr>
522
- <br>
523
- <div>
524
- <h2>Refund Policy</h2>
525
- <p class="mo2f_licensing_plans_ol"><?php echo mo2f_lt( 'At miniOrange, we want to ensure you are 100% happy with your purchase. If the premium plugin you purchased is not working as advertised and you\'ve attempted to resolve any issues with our support team, which couldn\'t get resolved then we will refund the whole amount within 10 days of the purchase.' ); ?>
526
- </p>
527
- </div>
528
- <br>
529
- <hr>
530
- <br>
531
- <div>
532
- <h2>Privacy Policy</h2>
533
- <p class="mo2f_licensing_plans_ol"><a
534
- href="https://www.miniorange.com/2-factor-authentication-for-wordpress-gdpr">Click Here</a>
535
- to read our Privacy Policy.
536
- </p>
537
- </div>
538
- <br>
539
- <hr>
540
- <br>
541
- <div>
542
- <h2>Contact Us</h2>
543
- <p class="mo2f_licensing_plans_ol"><?php echo mo2f_lt( 'If you have any doubts regarding the licensing plans, you can mail us at' ); ?>
544
- <a href="mailto:info@xecurify.com"><i>info@xecurify.com</i></a> <?php echo mo2f_lt( 'or submit a query using the support form.' ); ?>
545
- </p>
546
- </div>
547
- </div>
548
  <script type="text/javascript">
549
 
550
  function wpns_pricing()
@@ -552,3 +839,100 @@ function wpns_pricing()
552
  window.open("https://security.miniorange.com/pricing/");
553
  }
554
  </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  global $Mo2fdbQueries;
3
  $user = wp_get_current_user();
4
  $is_NC = get_option( 'mo2f_is_NC' );
 
5
  $is_customer_registered = $Mo2fdbQueries->get_user_detail( 'user_registration_with_miniorange', $user->ID ) == 'SUCCESS' ? true : false;
6
+
7
+ if ($_GET['page'] == 'mo_2fa_upgrade') {
8
+ ?><br><br><?php
9
+ }
10
  ?>
11
+ <div class="mo_upgrade_toggle">
12
+ <p class="mo_upgrade_toggle_2fa">
13
+
14
+ <input type="radio" name="sitetype" value="mo_2fa_lite" id="mo_2fa_lite" onclick="mo_2fa_lite_show_plans(); " style="display: none;" >
15
+
16
+ <label for="mo_2fa_lite" class="mo_upgrade_toggle_2fa_lable" id="mo_2fa_lite_licensing_plans_title" style="background-color: #20b2aa;border-radius: 50em;">Two Factor Lite</label>
17
+ <label for="mo_2fa_lite" class="mo_upgrade_toggle_2fa_lable" id="mo_2fa_lite_licensing_plans_title1" style="display: none;">Two Factor Lite</label>
18
+
19
+
20
+ <input type="radio" name="sitetype" value="regular_plans" id="regular_plans" onclick="mo_2fa_show_plans();" style="display: none;" >
21
+
22
+ <label for="regular_plans" id="mo_2fa_licensing_plans_title" class="mo_upgrade_toggle_2fa_lable">Two Factor</label>
23
+ <label for="regular_plans" id="mo_2fa_licensing_plans_title1" class="mo_upgrade_toggle_2fa_lable" style="background-color: #20b2aa;border-radius: 50em;display: none;">Two Factor</label>
24
+
25
+
26
+ <input type="radio" name="sitetype" value="Recharge" id="Recharge" onclick="mo_ns_show_plans(); " style="display: none;">
27
+
28
+ <label for="Recharge" class="mo_upgrade_toggle_2fa_lable" id="mo_ns_licensing_plans_title">Website Security</label>
29
+ <label for="Recharge" class="mo_upgrade_toggle_2fa_lable" id="mo_ns_licensing_plans_title1" style="background-color: #20b2aa;border-radius: 50em;display: none;">Website Security</label>
30
+
31
+ <span class="cd-switch"></span>
32
+ </p>
33
+ </div>
34
+
35
+ <div id="mo_2fa_features_only" style="display: none;">
36
+ <div class="mo_wpns_upgrade_page_2fa_ns">
37
+ <div style="float: left;">
38
+ <?php
39
+ if (!get_option('mo_wpns_2fa_with_network_security') && ($_GET['page'] == 'mo_2fa_upgrade')) {
40
+ echo '<a class="mo_wpns_button mo_wpns_button1" href="'.$two_fa.'">Back</a>';
41
+ }
42
+ ?>
43
+ </div>
44
+ <h1 class="mo_wpns_upgrade_page_2fa_ns_1"> Two Factor Authentication</h1> <span></span>
45
  </div>
46
+ <div class="mo_wpns_upgrade_title11">
47
+ <div class="mo_wpns_upgrade_page_title_name">
48
+ <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Free</h1>
49
+ <hr class="mo_wpns_upgrade_page_hr">
50
+ </div>
51
+ <center>
52
+ <h4>No. of User:- 3 <br>
53
  Basic security features<br>
54
  Five Authenticaton Methods<br>
55
+ Login with Username + password + 2FA<br><br>
56
  </h4>
57
+ </center>
58
+ <div class="mo_wpns_upgrade_page_2fa_background"><br><br><br><br><br><br><br><br><br>
59
+ <h1 style="text-align: center;color: white;">Current Plan</h1>
60
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
 
62
 
63
+ </div>
64
+
65
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
66
+
67
+ <div class="mo_wpns_upgrade_title11" >
68
+ <div class="mo_wpns_upgrade_page_title_name">
69
+ <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Standard</h1>
70
+ <hr class="mo_wpns_upgrade_page_hr">
71
+ </div>
72
  <center>
73
  <h4> Multi-Site Support<br>
74
  Backup Methods [ KBA ]<br>
75
+ Prevent Account Sharing<br>
76
  Additional Authentication Methods<br>
77
+ User role based redirection after Login<br>
 
 
78
  </h4>
79
  </center>
80
+ <div class="mo_wpns_upgrade_page_2fa_background">
81
+
 
 
 
 
 
82
  <center>
83
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
84
+ <h1 class="mo_wpns_upgrade_pade_pricing">$5</h1>
85
 
86
+ <?php echo mo2f_yearly_standard_pricing_plan(); ?>
87
+ <?php echo mo2f_sms_cost();?>
88
  </center>
89
+
90
+ <br>
91
+ <div style="text-align: center;">
92
+ <?php if( $is_customer_registered) {
93
+ ?>
94
+ <button id="wp_2fa_basic_plan1" class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_upgradeform('wp_2fa_basic_plan')" >Upgrade</button>
95
+ <?php }else{
96
+ ?>
97
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" id="std_upgrade_onprem" onclick="mo2f_registration_before_upgrade('wp_2fa_basic_plan')">Upgrade</button>
98
+ <?php }
99
+ mo2f_payment_option_ui();
100
+ ?>
101
 
 
 
 
 
102
 
103
+ </div>
104
+ </div>
105
+ </div>
106
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
107
+ <div class="mo_wpns_upgrade_title11" >
108
+ <div class="mo_wpns_upgrade_page_title_name">
109
+ <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Premium</h1>
110
+ <hr class="mo_wpns_upgrade_page_hr">
111
+ </div>
112
  <center>
113
  <h4>Multi-Site Support<br>
114
  Additional 2FA methods<br>
115
+ Prevent Account Sharing<br>
116
+ Force Two Factor for users<br>
117
+ Enable 2FA for specific User Roles
118
 
119
  </h4>
120
  </center>
121
+ <div class="mo_wpns_upgrade_page_2fa_background">
122
+ <center>
123
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
124
+ <h1 class="mo_wpns_upgrade_pade_pricing">$30</h1>
125
+
126
+ <?php echo mo2f_yearly_premium_pricing_plan(); ?>
127
+ <?php echo mo2f_sms_cost();?>
128
+ </center>
129
+ <br>
130
+ <div style="text-align: center;">
131
+ <?php if( $is_customer_registered) {
132
+ ?>
133
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_upgradeform('wp_2fa_premium_plan')" >Upgrade</button>
134
+ <?php
135
+ }else{ ?>
136
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_registration_before_upgrade('wp_2fa_premium_plan')" >Upgrade</button>
137
+ <?php }
138
+ mo2f_payment_option_ui();
139
+ ?>
140
 
 
 
 
 
 
 
 
141
 
142
+ </div>
143
+ </div>
144
+ </div>
145
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
146
+ <div class="mo_wpns_upgrade_title11" >
147
+
148
+ <div class="mo_wpns_upgrade_page_title_name">
149
+ <h1 class="mo_wpns_upgrade_page_2fa_plan_name">
150
+ Enterprise</h1>
151
+ <hr class="mo_wpns_upgrade_page_hr">
152
  </div>
153
+ <center>
154
+ <h4>
155
+ Security Features<br>
156
+ Multi-Site Support<br>
157
+ Additional 2FA methods<br>
158
+ Prevent Account Sharing<br>
159
+ Login and File Protection, Strong Passwords<br>
160
+ </h4>
161
+ </center>
162
+ <div class="mo_wpns_upgrade_page_2fa_background">
163
+ <center>
164
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
165
+ <h1 class="mo_wpns_upgrade_pade_pricing">$59</h1>
166
+ <?php echo mo2f_yearly_all_inclusive_pricing_plan(); ?>
167
+ <?php echo mo2f_sms_cost();?>
168
+ </center>
169
+
170
+ <br>
171
+ <div style="text-align: center;">
172
  <?php if( $is_customer_registered) {
173
  ?>
174
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_upgradeform('wp_2fa_enterprise_plan')" >Upgrade</button>
175
+ <?php
176
+ }else
177
+ { ?>
178
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_registration_before_upgrade('wp_2fa_enterprise_plan')" >Upgrade</button>
179
+ <?php }
180
+ mo2f_payment_option_ui();
181
+ ?>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
186
+ <div style="width: 96%; min-height: 60px;background-color: white;float: left;border-bottom: 2px solid #2ba29b; text-align: center;">
187
+ <br>
188
+ <a id= "mo2f_show_features" class="mo_wpns_upgrade_page_show_feature" onclick="mo2fa_show_detail_features()"><span style="font-size: 63%;"><u>Hide Features</u></span></a>
189
+ <a id= "mo2f_hide_features" class="mo_wpns_upgrade_page_hide_feature" onclick="mo2fa_hide_detail_features()"><span style="font-size: 63%;"><u>Show more Features</u></span></a>
190
+ <br>
191
+ </div>
192
+ </div>
193
+ <div id="mo_2fa_lite_features_only" style="display: block;">
194
+ <div class="mo_wpns_upgrade_page_2fa_ns">
195
+ <div style="float: left;">
196
+ <?php
197
+ if (!get_option('mo_wpns_2fa_with_network_security') && ($_GET['page'] == 'mo_2fa_upgrade')) {
198
+ echo '<a class="mo_wpns_button mo_wpns_button1" href="'.$two_fa.'">Back</a>';
199
+ }
200
+ ?>
201
+ </div>
202
+ <h1 class="mo_wpns_upgrade_page_2fa_ns_1"> Two Factor Authentication (Lite)</h1> <span></span>
203
+ </div>
204
+ <div class="mo_wpns_upgrade_title_2fa_lite">
205
+ <div class="mo_wpns_upgrade_page_title_name">
206
+ <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Free</h1>
207
+ <hr class="mo_wpns_upgrade_page_hr">
208
+ </div>
209
  <center>
210
+ <h4>No. of User:- 3 <br>
211
+ Basic security features<br>
212
+ Five Authenticaton Methods<br>
213
+ Login with Username + password + 2FA<br>
214
+ </h4>
215
+ </center>
216
+ <div class="mo_wpns_upgrade_page_2fa_lite_background"><br><br><br><br><br><br><br><br><br>
217
+ <h1 style="text-align: center;color: white;">Current Plan</h1>
218
+ </div>
219
+
220
+
221
+ </div>
222
+
223
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
224
+ <div class="mo_wpns_upgrade_title_2fa_lite" >
225
+ <div class="mo_wpns_upgrade_page_title_name">
226
+ <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Standard</h1>
227
+ <hr class="mo_wpns_upgrade_page_hr">
228
+ </div>
229
+ <center>
230
+ <h4>
231
+ Unlimited Users<br>
232
+ Multi-Site Support<br>
233
+ Additional Authentication Methods<br>
234
+ User role based redirection after Login<br>
235
+ </h4>
236
+ </center>
237
+ <div class="mo_wpns_upgrade_page_2fa_lite_background">
238
+
239
+ <center>
240
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
241
+ <h1 class="mo_wpns_upgrade_pade_pricing">$49</h1>
242
+
243
+ <?php echo mo2f_yearly_standard_pricing_onpremise(); ?>
244
+ <?php echo mo2f_sms_cost();?>
245
+ </center>
246
+
247
+ <br>
248
+ <div style="text-align: center;">
249
+ <?php if( $is_customer_registered) {
250
+ ?>
251
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_upgradeform('wp_security_two_factor_standard_lite_plan')" >Upgrade</button>
252
+ <?php }else{
253
+ ?>
254
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" id="std_upgrade_onprem" onclick="mo2f_registration_before_upgrade('wp_security_two_factor_standard_lite_plan')">Upgrade</button>
255
+ <?php }
256
+ mo2f_payment_option_ui();
257
+ ?>
258
+
259
+
260
+ </div>
261
+ </div>
262
+ </div>
263
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
264
+ <div class="mo_wpns_upgrade_title_2fa_lite" >
265
+ <div class="mo_wpns_upgrade_page_title_name">
266
+ <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Premium</h1>
267
+ <hr class="mo_wpns_upgrade_page_hr">
268
+ </div>
269
+ <center>
270
+ <h4>
271
+ Unlimited Users<br>
272
+ Multi-Site Support<br>
273
+ Force Two Factor for users<br>
274
+ Enable 2FA for specific User Roles<br>
275
 
276
  </h4>
277
  </center>
278
+ <div class="mo_wpns_upgrade_page_2fa_lite_background">
279
+ <center>
280
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
281
+ <h1 class="mo_wpns_upgrade_pade_pricing">$99</h1>
282
+
283
+ <?php echo mo2f_yearly_premium_pricing_onpremise(); ?>
284
+ <?php echo mo2f_sms_cost();?>
285
+ </center>
286
+ <br>
287
+ <div style="text-align: center;">
288
+ <?php if( $is_customer_registered) {
289
+ ?>
290
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_upgradeform('wp_security_two_factor_premium_lite_plan')" >Upgrade</button>
291
+ <?php
292
+ }else{ ?>
293
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_registration_before_upgrade('wp_security_two_factor_premium_lite_plan')" >Upgrade</button>
294
+ <?php }
295
+ mo2f_payment_option_ui();
296
+ ?>
297
+
298
+
299
+ </div>
300
+ </div>
301
+ </div>
302
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
303
 
304
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
305
  <div style="width: 96%; min-height: 60px;background-color: white;float: left;border-bottom: 2px solid #2ba29b; text-align: center;">
306
+ <h1 style="color: #2ba29b;">Features</h1>
 
 
 
 
307
  </div>
308
+ </div>
309
+
310
+ <br><br>
311
+ <div id="mo_upgrade_plan_cloud">
312
+ <?php
313
+ if (get_option('mo_wpns_upgrade_onprem'))
314
+ {
315
+ $user = wp_get_current_user();
316
+
317
+ if( $is_customer_registered)
318
+ {
319
+ ?>
320
+ <script type="text/javascript">
321
+ var plantype = "<?php echo get_option('mo_wpns_plantype');?>";
322
+ var data =
323
+ {
324
+ 'action' : 'wpns_login_security',
325
+ 'wpns_loginsecurity_ajax' : 'wpns_upgrade_idp',
326
+ };
327
+ jQuery.post(ajaxurl, data, function(response)
328
+ {
329
+ var mo_upgrade_modal = document.getElementById("mo2f_myModal_upgrade");
330
+ mo_upgrade_modal.style.display = "block";
331
+ });
332
+
333
+ </script>
334
+ <?php
335
+
336
+ }
337
+ else
338
+ display_customer_registration_forms( $user);
339
+ }
340
+ ?>
341
+ </div>
342
+ <form class="mo2f_display_none_forms" id="mo2fa_loginform"
343
  action="<?php echo MO_HOST_NAME . '/moas/login'; ?>"
344
  target="_blank" method="post">
345
  <input type="email" name="username" value="<?php echo get_option( 'mo2f_email' ); ?>"/>
355
  value="<?php echo wp_create_nonce( 'miniorange-2-factor-user-reg-to-upgrade-nonce' ); ?>"/>
356
  </form>
357
 
358
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
359
  <div id="mo2f_features_id" style="display: none; float: left;width: 96.6%;">
360
  <?php
361
  include $mo2f_dirName . 'views'.DIRECTORY_SEPARATOR.'upgrade_2fa.php';?>
362
  </div>
363
+ <div id="mo2f_2fa_lite_features_id" style="display: block; float: left;width: 96.6%;">
364
+ <?php
365
+ include $mo2f_dirName . 'views'.DIRECTORY_SEPARATOR.'upgrade_2fa_lite.php';
366
+ ?>
367
+ </div>
368
+
369
+ <div id="mo_ns_features_only" style="display: none;margin-top: -2.5%;">
370
+ <div class="mo_wpns_upgrade_page_2fa_ns">
371
+ <div style="float: left;">
372
+ <?php
373
+ if (!get_option('mo_wpns_2fa_with_network_security') && ($_GET['page'] == 'mo_2fa_upgrade')) {
374
+ echo '<a class="mo_wpns_button mo_wpns_button1" href="'.$two_fa.'">Back</a>';
375
+ }
376
+ ?>
377
+ </div>
378
+ <h1 class="mo_wpns_upgrade_page_2fa_ns_1"> Website Security Plans</h1></div>
379
+ <div class="mo_wpns_upgrade_title11" >
380
+ <div class="mo_wpns_upgrade_page_title_name">
381
+ <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 250%;">
382
+ WAF</h1><hr class="mo_wpns_upgrade_page_hr"></div>
383
+ <div><center><b>
384
+ <ul>
385
+ <li>Realtime IP Blocking</li>
386
+ <li>Live Traffic and Audit</li>
387
+ <li>IP Blocking and Whitelisting</li>
388
+ <li>OWASP TOP 10 Firewall Rules</li>
389
+ <li>Standard Rate Limiting/ DOS Protection</li>
390
+ <li><a onclick="wpns_pricing()">Know more</a></li>
391
+ </ul>
392
+ </b></center></div>
393
+ <div class="mo_wpns_upgrade_page_ns_background">
394
+ <center>
395
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
396
+ <h1 class="mo_wpns_upgrade_pade_pricing">$50</h1>
397
+
398
+ <?php echo mo2f_waf_yearly_standard_pricing(); ?>
399
+
400
+ </center>
401
 
402
+ <div style="text-align: center;">
403
+ <?php if( $is_customer_registered) {
404
+ ?>
405
+ <button
406
+ class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
407
+ onclick="mo2f_upgradeform('wp_security_waf_plan')" >Upgrade</button>
408
+ <?php }else{ ?>
409
+ <button
410
+ class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
411
+ onclick="mo2f_registration_before_upgrade('wp_security_waf_plan')" >Upgrade</button>
412
+ <?php }
413
+ ?>
414
+ </div></div>
415
+ </div>
416
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
417
+ <div class="mo_wpns_upgrade_title11" >
418
+ <div class="mo_wpns_upgrade_page_title_name">
419
+ <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 250%;">
420
+ Login and Spam</h1><hr class="mo_wpns_upgrade_page_hr"></div>
421
+ <div><center><b>
422
+ <ul>
423
+ <li>Limit login Attempts</li>
424
+ <li>CAPTCHA on login</li>
425
+ <li>Blocking time period</li>
426
+ <li>Enforce Strong Password</li>
427
+ <li>SPAM Content and Comment Protection</li>
428
+ <li><a onclick="wpns_pricing()">Know more</a></li>
429
+ </ul>
430
+ </b></center></div>
431
+ <div class="mo_wpns_upgrade_page_ns_background">
432
+ <center>
433
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
434
+ <h1 class="mo_wpns_upgrade_pade_pricing">$15</h1>
435
+
436
+ <?php echo mo2f_login_yearly_standard_pricing(); ?>
437
+
438
+ </center>
439
+
440
+ <div style="text-align: center;">
441
+ <?php if( $is_customer_registered) {
442
+ ?>
443
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
444
+ onclick="mo2f_upgradeform('wp_security_login_and_spam_plan')" >Upgrade</button>
445
+ <?php }else{ ?>
446
+
447
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
448
+ onclick="mo2f_registration_before_upgrade('wp_security_login_and_spam_plan')" >Upgrade</button>
449
+ <?php }
450
+ ?>
451
+ </div>
452
+ </div>
453
+
454
+
455
+ </div>
456
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
457
+ <div class="mo_wpns_upgrade_title11" >
458
+ <div class="mo_wpns_upgrade_page_title_name">
459
+ <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 250%;">
460
+ Malware Scanner</h1><hr class="mo_wpns_upgrade_page_hr"></div>
461
+ <div><center><b>
462
+ <ul>
463
+ <li>Malware Detection</li>
464
+ <li>Blacklisted Domains</li>
465
+ <li>Action On Malicious Files</li>
466
+ <li>Repository Version Comparison</li>
467
+ <li>Detect any changes in the files</li>
468
+ <li><a onclick="wpns_pricing()">Know more</a></li>
469
+ </ul>
470
+ </b></center></div>
471
+ <div class="mo_wpns_upgrade_page_ns_background">
472
+ <center>
473
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
474
+ <h1 class="mo_wpns_upgrade_pade_pricing">$15</h1>
475
+
476
+ <?php echo mo2f_scanner_yearly_standard_pricing(); ?>
477
+
478
+ </center>
479
+ <div style="text-align: center;">
480
+ <?php if( $is_customer_registered) {
481
+ ?>
482
+ <button
483
+ class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
484
+ onclick="mo2f_upgradeform('wp_security_malware_plan')" >Upgrade</button>
485
+ <?php }else{ ?>
486
+
487
+ <button
488
+ class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
489
+ onclick="mo2f_registration_before_upgrade('wp_security_malware_plan')" >Upgrade</button>
490
+ <?php }
491
+ ?>
492
+ </div>
493
+ </div>
494
+ </div>
495
+ <div class="mo_wpns_upgrade_page_space_in_div"></div>
496
+ <div class="mo_wpns_upgrade_title11" >
497
+ <div class="mo_wpns_upgrade_page_title_name">
498
+ <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 250%;">
499
+ Encrypted Backup</h1><hr class="mo_wpns_upgrade_page_hr"></div>
500
+ <div><center><b>
501
+ <ul>
502
+ <li>Schedule Backup</li>
503
+ <li>Encrypted Backup</li>
504
+ <li>Files/Database Backup</li>
505
+ <li>Restore and Migration</li>
506
+ <li>Password Protected Zip files</li>
507
+ <li><a onclick="wpns_pricing()">Know more</a></li>
508
+ </ul>
509
+ </b></center></div>
510
+ <div class="mo_wpns_upgrade_page_ns_background">
511
+
512
+ <center>
513
+ <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
514
+ <h1 class="mo_wpns_upgrade_pade_pricing">$30</h1>
515
+
516
+ <?php echo mo2f_backup_yearly_standard_pricing(); ?>
517
+
518
+ </center>
519
+ <div style="text-align: center;">
520
+ <?php if( $is_customer_registered) {
521
+ ?>
522
+ <button
523
+ class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
524
+ onclick="mo2f_upgradeform('wp_security_backup_plan')" >Upgrade</button>
525
+ <?php }else{ ?>
526
+ <button
527
+ class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
528
+ onclick="mo2f_registration_before_upgrade('wp_security_backup_plan')" >Upgrade</button>
529
+ <?php }
530
+ ?>
531
+
532
+ </div></div></div>
533
+ </div>
534
+ <div id="mo2f_payment_option" class="mo_wpns_setting_layout" style="margin-top: 1%;width: 93.5%;margin-left: 0%;">
535
+ <div>
536
+ <h3>Supported Payment Methods</h3><hr>
537
+ <div class="mo_2fa_container">
538
+ <div class="mo_2fa_card-deck">
539
+ <div class="mo_2fa_card mo_2fa_animation">
540
+ <div class="mo_2fa_Card-header">
541
+ <?php
542
+ echo'<img src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/card.png" style="size: landscape;width: 100px;height: 27px; margin-bottom: 4px;margin-top: 4px;opacity: 1;padding-left: 8px;">';?>
543
+ </div>
544
+ <hr style="border-top: 2px solid #143af4;">
545
+ <div class="mo_2fa_card-body">
546
+ <p style="font-size: 110%;">If payment is done through Credit Card/Intenational debit card, the license would be made automatically once payment is completed. </p>
547
+ <p style="font-size: 110%;"><i><b>For guide
548
+ <?php echo'<a href='.MoWpnsConstants::FAQ_PAYMENT_URL.' target="blank">Click Here.</a>';?></b></i></p>
549
+ <p style="font-size: 110%;"><i><b>Note:</b> There is an additional 18% GST applicable via PayPal.</i></p>
550
+ </div>
551
+ </div>
552
+ <div class="mo_2fa_card mo_2fa_animation">
553
+ <div class="mo_2fa_Card-header">
554
+ <?php
555
+ echo'<img src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/paypal.png" style="size: landscape;width: 100px;height: 27px; margin-bottom: 4px;margin-top: 4px;opacity: 1;padding-left: 8px;">';?>
556
+ </div>
557
+ <hr style="border-top: 2px solid #143af4;">
558
+ <div class="mo_2fa_card-body">
559
+ <?php echo'<p style="font-size: 110%;">Use the following PayPal id for payment via PayPal.</p><p><i><b style="color:#1261d8">'.MoWpnsConstants::SUPPORT_EMAIL.'</b></i></p>';?>
560
+ <p style="font-size: 110%;"><i><b>Note:</b> There is an additional 18% GST applicable via PayPal.</i></p>
561
+
562
+ </div>
563
+ </div>
564
+ <div class="mo_2fa_card mo_2fa_animation">
565
+ <div class="mo_2fa_Card-header">
566
+ <?php
567
+ echo'<img src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/netbanking.png" style="size: landscape;width: 100px;height: 27px; margin-bottom: 4px;margin-top: 4px;opacity: 1;padding-left: 8px;">';?>
568
+
569
+ </div>
570
+ <hr style="border-top: 2px solid #143af4;">
571
+ <div class="mo_2fa_card-body">
572
+ <?php echo'<p style="font-size: 110%;">If you want to use net banking for payment then contact us at <i><b style="color:#1261d8">'.MoWpnsConstants::SUPPORT_EMAIL.'</b></i> so that we can provide you bank details. </i></p>';?>
573
+ <p style="font-size: 110%;"><i><b>Note:</b> There is an additional 18% GST applicable via Bank Transfer.</i></p>
574
+ </div>
575
+ </div>
576
+ </div>
577
+ </div>
578
+ <div class="mo_2fa_mo-supportnote">
579
+ <p style="font-size: 110%;"><b>Note :</b> Once you have paid through PayPal/Net Banking, please inform us so that we can confirm and update your License.</p>
580
+ </div>
581
+ </div>
582
+ </div>
583
+
584
+ <div class="mo_wpns_setting_layout" style="width: 93.5%;margin-left: 0%;">
585
+ <div>
586
+ <h2>Steps to upgrade to the Premium Plan</h2>
587
+ <ol class="mo2f_licensing_plans_ol">
588
+ <li><?php echo mo2f_lt( 'Click on \'Upgrade\' button of your preferred plan above.' ); ?></li>
589
+ <li><?php echo mo2f_lt( ' You will be redirected to the miniOrange Console. Enter your miniOrange username and password, after which you will be redirected to the payment page.' ); ?></li>
590
+
591
+ <li><?php echo mo2f_lt( 'Select the number of users you wish to upgrade for, and any add-ons if you wish to purchase, and make the payment.' ); ?></li>
592
+ <li><?php echo mo2f_lt( 'After making the payment, you can find the Standard/Premium plugin to download from the \'License\' tab in the left navigation bar of the miniOrange Console.' ); ?></li>
593
+ <li><?php echo mo2f_lt( 'Download the premium plugin from the miniOrange Console.' ); ?></li>
594
+ <li><?php echo mo2f_lt( 'In the Wordpress dashboard, uninstall the free plugin and install the premium plugin downloaded.' ); ?></li>
595
+ <li><?php echo mo2f_lt( 'Login to the premium plugin with the miniOrange account you used to make the payment, after this your users will be able to set up 2FA.' ); ?></li>
596
+ </ol>
597
+ </div>
598
+
599
+
600
+ <br>
601
+ <hr>
602
+ <br>
603
+ <div>
604
+ <h2>Refund Policy</h2>
605
+ <p class="mo2f_licensing_plans_ol"><?php echo mo2f_lt( 'At miniOrange, we want to ensure you are 100% happy with your purchase. If the premium plugin you purchased is not working as advertised and you\'ve attempted to resolve any issues with our support team, which couldn\'t get resolved then we will refund the whole amount within 10 days of the purchase.' ); ?>
606
+ </p>
607
+ </div>
608
+ <br>
609
+ <hr>
610
+ <br>
611
+ <div>
612
+ <h2>Privacy Policy</h2>
613
+ <p class="mo2f_licensing_plans_ol"><a
614
+ href="https://www.miniorange.com/2-factor-authentication-for-wordpress-gdpr">Click Here</a>
615
+ to read our Privacy Policy.
616
+ </p>
617
+ </div>
618
+ <br>
619
+ <hr>
620
+ <br>
621
+ <div>
622
+ <h2>Contact Us</h2>
623
+ <p class="mo2f_licensing_plans_ol"><?php echo mo2f_lt( 'If you have any doubts regarding the licensing plans, you can mail us at' ); ?>
624
+ <a href="mailto:info@xecurify.com"><i>info@xecurify.com</i></a> <?php echo mo2f_lt( 'or submit a query using the support form.' ); ?>
625
+ </p>
626
+ </div>
627
+ </div>
628
+ <br>
629
+ <div id="mo2f_myModal_upgrade" class="modal" style="display: none;">
630
+
631
+ <div class="mo_wpns_divided_layout" style="margin-left: 32%;margin-top: 9%;">
632
+ <div class="mo_wpns_setting_layout" style="padding-bottom: 16px;text-align: center;width: 46%;">
633
+ <span class="mo2f_popup_close">&times;</span>
634
+ <h1 style="color: #20b2aa; font-size: x-large; text-align: center;">Thank You for registering with miniOrange</h1><hr>
635
+ <?php $mo_plantype = get_option('mo_wpns_plantype'); ?>
636
+ <p>You will be redrect to miniOrange Dashboard. Where you need to login with your miniOrange's credentials and then you can upgrade the plugin.</p>
637
+ <button id="wp_2fa_proceed_to_pay" class="mo_wpns_button mo_wpns_button1" onclick="mo2f_upgradeform('<?php echo $mo_plantype ?>')" >Proceed </button><br>
638
+ </div>
639
+ </div>
640
+ </div>
641
+
642
+ <script>
643
+ var mo_upgrade_modal = document.getElementById("mo2f_myModal_upgrade");
644
+
645
+ var span = document.getElementsByClassName("mo2f_popup_close")[0];
646
+ span.onclick = function()
647
+ {
648
+ mo_upgrade_modal.style.display = "none";
649
+ }
650
+ jQuery(window).click(function() {mo_upgrade_modal.style.display = "none";});
651
+
652
+ </script>
653
  <?php
654
+ function mo2f_payment_option_ui()
655
+ {
656
  ?>
657
+ <br><br>
658
+ <div style=" background-color: white;min-height: 35px;padding-top: 7px;">
659
+ <a onclick="mo2f_payment_option()" style="color: black; "><b>Payment Options</b>
660
+ <?php echo'<img src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/card.png" style="size: landscape;width: 71px;height: 18px; margin-bottom: -4px;margin-top: 4px;opacity: 1;padding-left: 8px;">
661
+ <img src="'.dirname(plugin_dir_url(__FILE__)).'/includes/images/paypal.png" style="size: landscape;width: 71px;height: 18px; margin-bottom: -4px;margin-top: 4px;opacity: 1;padding-left: 8px;">
662
+ '; ?><b style="font-size: 17px">⮟</b>
663
+ </a>
664
+ </div>
665
+ <?php
666
+ }
667
+ function mo2f_sms_cost() {
668
+ ?>
669
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price" id="mo2f_sms_cost"
670
  title="<?php echo mo2f_lt( '(Only applicable if OTP over SMS is your preferred authentication method.)' ); ?>"><?php echo mo2f_lt( 'SMS + OTP Cost' ); ?>
671
  <b style="color: black;">[optional]</b><br/>
672
  <select id="mo2f_sms" class="form-control" style="border-radius:5px;width:200px;">
673
+ <option><?php echo mo2f_lt( '$2 per 100 OTP + SMS delivery charges' ); ?></option>
674
+ <option><?php echo mo2f_lt( '$5 per 500 OTP + SMS delivery charges' ); ?></option>
675
+ <option><?php echo mo2f_lt( '$7 per 1k OTP + SMS delivery charges' ); ?></option>
676
+ <option><?php echo mo2f_lt( '$20 per 5k OTP + SMS delivery charges' ); ?></option>
677
+ <option><?php echo mo2f_lt( '$30 per 10k OTP + SMS delivery charges' ); ?></option>
678
+ <option><?php echo mo2f_lt( '$45 per 50k OTP + SMS delivery charges' ); ?></option>
679
  </select>
680
  </p>
681
+
682
  <?php
683
  }
684
  function mo2f_yearly_standard_pricing_plan() {
685
  ?>
686
+
687
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
688
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
689
 
690
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
704
  }
705
  function mo2f_yearly_premium_pricing_plan() {
706
  ?>
707
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
708
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
709
 
710
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
723
  }
724
  function mo2f_yearly_all_inclusive_pricing_plan() {
725
  ?>
726
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
727
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
728
 
729
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
730
+ <option> <?php echo mo2f_lt( '1 - 5 users - $59 per year' ); ?> </option>
731
+ <option> <?php echo mo2f_lt( '6 - 50 users - $128 per year' ); ?> </option>
732
+ <option> <?php echo mo2f_lt( '51 - 100 users - $228 per year' ); ?> </option>
733
+ <option> <?php echo mo2f_lt( '101 - 500 users - $378 per year' ); ?> </option>
734
+ <option> <?php echo mo2f_lt( '501 - 1000 users - $528 per year' ); ?> </option>
735
+ <option> <?php echo mo2f_lt( '1001 - 5000 users - $828 per year' ); ?> </option>
736
+ <option> <?php echo mo2f_lt( '5001 - 10000 users - $1028 per year ' ); ?></option>
737
+ <option> <?php echo mo2f_lt( '10001 - 20000 users - $1478 per year' ); ?> </option>
738
 
739
  </select>
740
  </p>
741
  <?php
742
  }
743
+ function mo2f_yearly_premium_pricing_onpremise() {
744
  ?>
745
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
746
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
 
747
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
748
+ <option> <?php echo mo2f_lt( '1 site - $99 per year' ); ?> </option>
749
+ <option> <?php echo mo2f_lt( '2 sites - $159 per year' ); ?> </option>
750
+ <option> <?php echo mo2f_lt( '3 - 5 sites - $199 per year' ); ?> </option>
751
+ <option> <?php echo mo2f_lt( '6 - 10 sites - $259 per year' ); ?> </option>
752
+ <option> <?php echo mo2f_lt( '11 - 25 sites - $349 per year' ); ?> </option>
753
+ <option> <?php echo mo2f_lt( '25+ sites - contact us' ); ?> </option>
754
+ </select>
755
+ </p>
756
+ <?php
757
+ }
758
+ function mo2f_yearly_standard_pricing_onpremise() {
759
+ ?>
760
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
761
+ id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
762
+ <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
763
+ <option> <?php echo mo2f_lt( '1 site - $49 per year' ); ?> </option>
764
+ <option> <?php echo mo2f_lt( '2 sites - $79 per year' ); ?> </option>
765
+ <option> <?php echo mo2f_lt( '3 - 5 sites - $99 per year' ); ?> </option>
766
+ <option> <?php echo mo2f_lt( '6 - 10 sites - $149 per year' ); ?> </option>
767
+ <option> <?php echo mo2f_lt( '11 - 25 sites - $199 per year' ); ?> </option>
768
+ <option> <?php echo mo2f_lt( '25+ sites - contact us' ); ?> </option>
769
  </select>
770
  </p>
771
  <?php
772
  }
773
  function mo2f_waf_yearly_standard_pricing() {
774
  ?>
775
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
776
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
777
 
778
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
782
 
783
  </select>
784
  </p>
785
+ <div><br></div>
786
  <?php
787
  }
788
  function mo2f_login_yearly_standard_pricing() {
789
  ?>
790
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
791
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
792
 
793
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
797
 
798
  </select>
799
  </p>
800
+ <div><br></div>
801
  <?php
802
  }
803
  function mo2f_backup_yearly_standard_pricing() {
804
  ?>
805
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
806
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
807
 
808
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
812
 
813
  </select>
814
  </p>
815
+ <div><br></div>
816
  <?php
817
  }
818
  function mo2f_scanner_yearly_standard_pricing() {
819
  ?>
820
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
821
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
822
 
823
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
827
 
828
  </select>
829
  </p>
830
+ <div><br></div>
831
  <?php
832
  }
833
  ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
834
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
835
  <script type="text/javascript">
836
 
837
  function wpns_pricing()
839
  window.open("https://security.miniorange.com/pricing/");
840
  }
841
  </script>
842
+
843
+ <script type="text/javascript">
844
+
845
+ function mo2fa_show_detail_features()
846
+ {
847
+ jQuery("#mo2f_features_id").hide(1500);
848
+
849
+ // document.getElementById('mo2fa_show_enterprise_features').scrollIntoView();
850
+
851
+ document.getElementById("mo2f_show_features").style.display = "none";
852
+ document.getElementById("mo2f_hide_features").style.display = "block";
853
+
854
+ }
855
+
856
+ function mo2fa_hide_detail_features()
857
+ {
858
+ // jQuery("#mo2f_features_id").slideToggle();
859
+ jQuery("#mo2f_features_id").show(1500);
860
+
861
+ document.getElementById("mo2f_show_features").style.display = "block";
862
+ document.getElementById("mo2f_hide_features").style.display = "none";
863
+
864
+ }
865
+ function mo2f_payment_option()
866
+ {
867
+ document.getElementById('mo2f_payment_option').scrollIntoView();
868
+ }
869
+ function mo2f_features()
870
+ {
871
+ document.getElementById("mo2f_visible").style.display = "block";
872
+ }
873
+ function mo2f_features_disable()
874
+ {
875
+ document.getElementById("mo2f_visible").style.display = "none";
876
+ document.getElementById("mo2f_features_id").style.display = "none";
877
+ }
878
+ function mo2f_upgradeform(planType)
879
+ {
880
+ jQuery('#requestOrigin').val(planType);
881
+ jQuery('#mo2fa_loginform').submit();
882
+ }
883
+ function mo2f_registration_before_upgrade(plantype)
884
+ {
885
+ var plantype = plantype;
886
+ var data = {
887
+ 'action' : 'wpns_login_security',
888
+ 'wpns_loginsecurity_ajax' : 'wpns_upgrade',
889
+ 'plantype' : plantype,
890
+ };
891
+ jQuery.post(ajaxurl, data, function(response) {
892
+ location.reload(true);
893
+ });
894
+
895
+ }
896
+ function mo_2fa_lite_show_plans()
897
+ {
898
+ document.getElementById('mo_2fa_lite_features_only').style.display = "block";
899
+ document.getElementById('mo_2fa_features_only').style.display = "none";
900
+ document.getElementById('mo_ns_features_only').style.display = "none";
901
+ document.getElementById('mo2f_features_id').style.display = "none";
902
+ document.getElementById('mo2f_2fa_lite_features_id').style.display = "block";
903
+ document.getElementById('mo_2fa_lite_licensing_plans_title').style.display = "block";
904
+ document.getElementById('mo_2fa_lite_licensing_plans_title1').style.display = "none";
905
+ document.getElementById('mo_ns_licensing_plans_title').style.display = "block";
906
+ document.getElementById('mo_ns_licensing_plans_title1').style.display = "none";
907
+ document.getElementById('mo_2fa_licensing_plans_title').style.display = "block";
908
+ document.getElementById('mo_2fa_licensing_plans_title1').style.display = "none";
909
+ }
910
+ function mo_2fa_show_plans()
911
+ {
912
+ document.getElementById('mo_2fa_features_only').style.display = "block";
913
+ document.getElementById('mo_ns_features_only').style.display = "none";
914
+ document.getElementById('mo2f_features_id').style.display = "block";
915
+ document.getElementById('mo2f_2fa_lite_features_id').style.display = "none";
916
+ document.getElementById('mo_2fa_lite_features_only').style.display = "none";
917
+ document.getElementById('mo_ns_licensing_plans_title').style.display = "block";
918
+ document.getElementById('mo_ns_licensing_plans_title1').style.display = "none";
919
+ document.getElementById('mo_2fa_licensing_plans_title').style.display = "none";
920
+ document.getElementById('mo_2fa_licensing_plans_title1').style.display = "block";
921
+ document.getElementById('mo_2fa_lite_licensing_plans_title').style.display = "none";
922
+ document.getElementById('mo_2fa_lite_licensing_plans_title1').style.display = "block";
923
+ }
924
+ function mo_ns_show_plans()
925
+ {
926
+ document.getElementById('mo_2fa_features_only').style.display = "none";
927
+ document.getElementById('mo_ns_features_only').style.display = "block";
928
+ document.getElementById('mo2f_features_id').style.display = "none";
929
+ document.getElementById('mo2f_2fa_lite_features_id').style.display = "none";
930
+ document.getElementById('mo_2fa_lite_features_only').style.display = "none";
931
+ document.getElementById('mo_2fa_licensing_plans_title').style.display = "block";
932
+ document.getElementById('mo_2fa_licensing_plans_title1').style.display = "none";
933
+ document.getElementById('mo_ns_licensing_plans_title1').style.display = "block";
934
+ document.getElementById('mo_ns_licensing_plans_title').style.display = "none";
935
+ document.getElementById('mo_2fa_lite_licensing_plans_title').style.display = "none";
936
+ document.getElementById('mo_2fa_lite_licensing_plans_title1').style.display = "block";
937
+ }
938
+ </script>
views/upgrade_2fa.php CHANGED
@@ -8,8 +8,7 @@
8
  $mo2f_feature_set = array(
9
  "Authentication Methods",
10
  "Language Translation Support",
11
- "Login with Username + password + 2FA",
12
- "Login with Username + 2FA (skip password)",
13
  "Backup Methods",
14
  "Multi-Site Support",
15
  "User role based redirection after Login",
@@ -20,13 +19,13 @@
20
  "Monitoring",
21
  "Strong Password",
22
  "File Protection",
23
- "Enable 2FA for specific User Roles",
24
- "Enable 2FA for specific Users",
25
- "Choose specific authentication methods for Users",
26
  "Force Two Factor for users",
27
  "One Time Email Verification for Users during 2FA Registration",
28
- "Enable Security Questions as backup for Users during 2FA registration",
29
- "App Specific Password to login from mobile Apps",
30
  "Support"
31
  );
32
 
@@ -57,13 +56,12 @@
57
 
58
 
59
  "Language Translation Support" => array( true, true, true, true ),
60
- "Login with Username + password + 2FA" => array( true, true, true, true ),
61
- "Login with Username + 2FA (skip password)" => array( false, true, true, true ),
62
  "Backup Methods" => array(
63
  false,
64
- "KBA",
65
- array( "KBA", "OTP Over Email", "Backup Codes" ),
66
- array( "KBA", "OTP Over Email", "Backup Codes" )
67
  ),
68
  "Multi-Site Support" => array( false, true, true, true ),
69
  "User role based redirection after Login" => array( false, true, true, true ),
@@ -75,13 +73,13 @@
75
  "Monitoring" => array( true, false, false, true ),
76
  "Strong Password" => array( true, false, false, true ),
77
  "File Protection" => array( true, false, false, true ),
78
- "Enable 2FA for specific User Roles" => array( false, false, true, true ),
79
- "Enable 2FA for specific Users" => array( false, false, true, true ),
80
- "Choose specific authentication methods for Users" => array( false, false, true, true ),
81
- "Force Two Factor for users" => array( false, false, true, true ),
82
  "One Time Email Verification for Users during 2FA Registration" => array( false, false, true, true ),
83
- "Enable Security Questions as backup for Users during 2FA registration" => array( false, false, true, true ),
84
- "App Specific Password to login from mobile Apps" => array( false, false, true, true ),
85
  "Support" => array(
86
  "Basic Support by Email",
87
  "Priority Support by Email",
@@ -100,13 +98,12 @@
100
  ),
101
 
102
  "Language Translation Support" => array( true, true, true, true ),
103
- "Login with Username + password + 2FA" => array( true, true, true, true ),
104
- "Login with Username + 2FA (skip password)" => array( true, true, true, true ),
105
  "Backup Methods" => array(
106
- "KBA",
107
- "KBA",
108
- array( "KBA", "OTP Over Email", "Backup Codes" ),
109
- array( "KBA", "OTP Over Email", "Backup Codes" )
110
  ),
111
  "Multi-Site Support" => array( false, true, true, true ),
112
  "Brute Force Protection" => array( true, false, false, true ),
@@ -117,13 +114,13 @@
117
  "User role based redirection after Login" => array( false, true, true, true ),
118
  "Add custom Security Questions (KBA)" => array( false, true, true, true ),
119
  "Customize account name in Google Authenticator app" => array( false, true, true, true ),
120
- "Enable 2FA for specific User Roles" => array( false, false, true, true ),
121
- "Enable 2FA for specific Users" => array( false, false, true, true ),
122
- "Choose specific authentication methods for Users" => array( false, false, true, true ),
123
  "Force Two Factor for users" => array( false, false, true, true ),
124
  "One Time Email Verification for Users during 2FA Registration" => array( false, false, true, true ),
125
- "Enable Security Questions as backup for Users during 2FA registration" => array( false, false, true, true ),
126
- "App Specific Password to login from mobile Apps" => array( false, false, true, true ),
127
  "Support" => array(
128
  "Basic Support by Email",
129
  "Priority Support by Email",
@@ -306,40 +303,16 @@
306
  <h2>Note</h2>
307
  <ol class="mo2f_licensing_plans_ol">
308
  <li><?php echo mo2f_lt( 'The plugin works with many of the default custom login forms (like Woocommerce / Theme My Login), however if you face any issues with your custom login form, contact us and we will help you with it.' ); ?></li>
 
 
 
309
  </ol>
310
  </div>
311
 
312
  <br>
313
  <hr>
314
 
315
- <form class="mo2f_display_none_forms" id="mo2fa_loginform"
316
- action="<?php echo MO_HOST_NAME . '/moas/login'; ?>"
317
- target="_blank" method="post">
318
- <input type="email" name="username" value="<?php echo get_option( 'mo2f_email' ); ?>"/>
319
- <input type="text" name="redirectUrl"
320
- value="<?php echo MO_HOST_NAME . '/moas/initializepayment'; ?>"/>
321
- <input type="text" name="requestOrigin" id="requestOrigin"/>
322
- </form>
323
-
324
- <form class="mo2f_display_none_forms" id="mo2fa_register_to_upgrade_form"
325
- method="post">
326
- <input type="hidden" name="requestOrigin" />
327
- <input type="hidden" name="mo2fa_register_to_upgrade_nonce"
328
- value="<?php echo wp_create_nonce( 'miniorange-2-factor-user-reg-to-upgrade-nonce' ); ?>"/>
329
- </form>
330
- <script>
331
-
332
- function mo2f_upgradeform(planType) {
333
- jQuery('#requestOrigin').val(planType);
334
- jQuery('#mo2fa_loginform').submit();
335
- }
336
-
337
- function mo2f_register_and_upgradeform(planType) {
338
- jQuery('#requestOrigin').val(planType);
339
- jQuery('input[name="requestOrigin"]').val(planType);
340
- jQuery('#mo2fa_register_to_upgrade_form').submit();
341
- }
342
- </script>
343
 
344
  <style>#mo2f_support_table {
345
  display: none;
8
  $mo2f_feature_set = array(
9
  "Authentication Methods",
10
  "Language Translation Support",
11
+ "Password Less Login",
 
12
  "Backup Methods",
13
  "Multi-Site Support",
14
  "User role based redirection after Login",
19
  "Monitoring",
20
  "Strong Password",
21
  "File Protection",
22
+ "2FA for specific User Roles",
23
+ "2FA for specific Users",
24
+ "Choose specific authentication methods",
25
  "Force Two Factor for users",
26
  "One Time Email Verification for Users during 2FA Registration",
27
+ "Enable Security Questions as backup",
28
+ "App Specific Password from mobile Apps",
29
  "Support"
30
  );
31
 
56
 
57
 
58
  "Language Translation Support" => array( true, true, true, true ),
59
+ "Password Less Login" => array( false, true, true, true ),
 
60
  "Backup Methods" => array(
61
  false,
62
+ "Security Questions",
63
+ array( "Security Questions", "OTP Over Email", "Backup Codes" ),
64
+ array( "Security Questions", "OTP Over Email", "Backup Codes" )
65
  ),
66
  "Multi-Site Support" => array( false, true, true, true ),
67
  "User role based redirection after Login" => array( false, true, true, true ),
73
  "Monitoring" => array( true, false, false, true ),
74
  "Strong Password" => array( true, false, false, true ),
75
  "File Protection" => array( true, false, false, true ),
76
+ "2FA for specific User Roles" => array( false, false, true, true ),
77
+ "2FA for specific Users" => array( false, false, true, true ),
78
+ "Choose specific authentication methods" => array( false, false, true, true ),
79
+ "Force Two Factor for users" => array( false, false, true, true ),
80
  "One Time Email Verification for Users during 2FA Registration" => array( false, false, true, true ),
81
+ "Enable Security Questions as backup" => array( false, false, true, true ),
82
+ "App Specific Password from mobile Apps" => array( false, false, true, true ),
83
  "Support" => array(
84
  "Basic Support by Email",
85
  "Priority Support by Email",
98
  ),
99
 
100
  "Language Translation Support" => array( true, true, true, true ),
101
+ "Password Less Login" => array( true, true, true, true ),
 
102
  "Backup Methods" => array(
103
+ "Security Questions",
104
+ "Security Questions",
105
+ array( "Security Questions", "OTP Over Email", "Backup Codes" ),
106
+ array( "Security Questions", "OTP Over Email", "Backup Codes" )
107
  ),
108
  "Multi-Site Support" => array( false, true, true, true ),
109
  "Brute Force Protection" => array( true, false, false, true ),
114
  "User role based redirection after Login" => array( false, true, true, true ),
115
  "Add custom Security Questions (KBA)" => array( false, true, true, true ),
116
  "Customize account name in Google Authenticator app" => array( false, true, true, true ),
117
+ "2FA for specific User Roles" => array( false, false, true, true ),
118
+ "2FA for specific Users" => array( false, false, true, true ),
119
+ "Choose specific authentication methods" => array( false, false, true, true ),
120
  "Force Two Factor for users" => array( false, false, true, true ),
121
  "One Time Email Verification for Users during 2FA Registration" => array( false, false, true, true ),
122
+ "Enable Security Questions as backup" => array( false, false, true, true ),
123
+ "App Specific Password from mobile Apps" => array( false, false, true, true ),
124
  "Support" => array(
125
  "Basic Support by Email",
126
  "Priority Support by Email",
303
  <h2>Note</h2>
304
  <ol class="mo2f_licensing_plans_ol">
305
  <li><?php echo mo2f_lt( 'The plugin works with many of the default custom login forms (like Woocommerce / Theme My Login), however if you face any issues with your custom login form, contact us and we will help you with it.' ); ?></li>
306
+ <li><?php echo mo2f_lt( 'There is no license key required to activate the Standard/Premium Plugins. You will have to just login with the miniOrange Account you used to make the purchase.' ); ?>
307
+
308
+ </li>
309
  </ol>
310
  </div>
311
 
312
  <br>
313
  <hr>
314
 
315
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316
 
317
  <style>#mo2f_support_table {
318
  display: none;
views/upgrade_2fa_lite.php ADDED
@@ -0,0 +1,420 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ global $Mo2fdbQueries;
3
+ $user = wp_get_current_user();
4
+ $is_NC = get_option( 'mo2f_is_NC' );
5
+
6
+ $is_customer_registered = $Mo2fdbQueries->get_user_detail( 'user_registration_with_miniorange', $user->ID ) == 'SUCCESS' ? true : false;
7
+
8
+ $mo2f_feature_set = array(
9
+ "Authentication Methods",
10
+ "Language Translation Support",
11
+ "Password Less Login",
12
+ "Backup Methods",
13
+ "Multi-Site Support",
14
+ "User role based redirection after Login",
15
+ "Add custom Security Questions (KBA)",
16
+ "Customize account name in Google Authenticator app",
17
+ "Brute Force Protection",
18
+ "Blocking IP",
19
+ "Monitoring",
20
+ "Strong Password",
21
+ "File Protection",
22
+ "2FA for specific User Roles",
23
+ "2FA for specific Users",
24
+ "Choose specific authentication methods",
25
+ "Force Two Factor for users",
26
+ "One Time Email Verification for Users during 2FA Registration",
27
+ "Enable Security Questions as backup",
28
+ "App Specific Password from mobile Apps",
29
+ "Support"
30
+ );
31
+
32
+
33
+ $two_factor_methods = array(
34
+ "miniOrange QR Code Authentication",
35
+ "miniOrange Soft Token",
36
+ "miniOrange Push Notification",
37
+ "Google Authenticator",
38
+ "Security Questions",
39
+ "Authy Authenticator",
40
+ "Email Verification",
41
+ "OTP Over Email",
42
+ "OTP Over SMS",
43
+ "OTP Over SMS and Email",
44
+ "Hardware Token"
45
+ );
46
+
47
+ $two_factor_methods_EC = array_slice( $two_factor_methods, 0, 7 );
48
+
49
+ $mo2f_feature_set_with_plans_NC = array(
50
+ "Authentication Methods" => array(
51
+ array_slice( $two_factor_methods, 3, 3 ),
52
+ array_slice( $two_factor_methods, 3, 5 ),
53
+ array_slice( $two_factor_methods, 3, 5 )
54
+ ),
55
+
56
+
57
+ "Language Translation Support" => array( true, true, true ),
58
+ "Password Less Login" => array( false, true, true ),
59
+ "Backup Methods" => array(
60
+ array("Backup Method:- None"),
61
+ array( " Backup Method:- Security Questions"),
62
+ array( "Backup Method:- Security Questions, OTP Over Email, Backup Codes" )
63
+ ),
64
+ "Multi-Site Support" => array( false, true, true ),
65
+ "User role based redirection after Login" => array( false, true, true ),
66
+ "Add custom Security Questions (KBA)" => array( false, true, true ),
67
+ "Add custom Security Questions (KBA)" => array( false, true, true ),
68
+ "Customize account name in Google Authenticator app" => array( false, true, true ),
69
+ "Brute Force Protection" => array( true, false, false ),
70
+ "Blocking IP" => array( true, false, false ),
71
+ "Monitoring" => array( true, false, false ),
72
+ "Strong Password" => array( true, false, false ),
73
+ "File Protection" => array( true, false, false ),
74
+ "2FA for specific User Roles" => array( false, false, true ),
75
+ "2FA for specific Users" => array( false, false, true ),
76
+ "Choose specific authentication methods" => array( false, false, true ),
77
+ "Force Two Factor for users" => array( false, false, true ),
78
+ "One Time Email Verification for Users during 2FA Registration" => array( false, false, true ),
79
+ "Enable Security Questions as backup" => array( false, false, true ),
80
+ "App Specific Password from mobile Apps" => array( false, false, true ),
81
+ "Support" => array(
82
+ array("Basic Support by Email"),
83
+ array("Priority Support by Email"),
84
+ array( "Priority Support by Email", "Priority Support with GoTo meetings" )
85
+ ),
86
+
87
+ );
88
+
89
+ $mo2f_feature_set_with_plans_EC = array(
90
+ "Authentication Methods" => array(
91
+ array_slice( $two_factor_methods, 3, 4 ),
92
+ array_slice( $two_factor_methods, 3, 5 ),
93
+ array_slice( $two_factor_methods, 3, 5 )
94
+ ),
95
+
96
+ "Language Translation Support" => array( true, true, true ),
97
+ "Password Less Login" => array( true, true, true ),
98
+ "Backup Methods" => array(
99
+ array( "Backup Method:- None"),
100
+ array( "Backup Method:- Security Questions"),
101
+ array( "Backup Method:- Security Questions, OTP Over Email, Backup Codes" )
102
+ ),
103
+ "Multi-Site Support" => array( false, true, true ),
104
+ "Brute Force Protection" => array( true, false, false ),
105
+ "Blocking IP" => array( true, false, false ),
106
+ "Monitoring" => array( true, false, false ),
107
+ "Strong Password" => array( true, false, false ),
108
+ "File Protection" => array( true, false, false ),
109
+ "User role based redirection after Login" => array( false, true, true ),
110
+ "Add custom Security Questions (KBA)" => array( false, true, true ),
111
+ "Customize account name in Google Authenticator app" => array( false, true, true ),
112
+ "2FA for specific User Roles" => array( false, false, true ),
113
+ "2FA for specific Users" => array( false, false, true ),
114
+ "Choose specific authentication methods" => array( false, false, true ),
115
+ "Force Two Factor for users" => array( false, false, true ),
116
+ "One Time Email Verification for Users during 2FA Registration" => array( false, false, true ),
117
+ "Enable Security Questions as backup" => array( false, false, true ),
118
+ "App Specific Password from mobile Apps" => array( false, false, true ),
119
+ "Support" => array(
120
+ array("Basic Support by Email"),
121
+ array("Priority Support by Email"),
122
+ array( "Priority Support by Email", "Priority Support with GoTo meetings" )
123
+ ),
124
+
125
+ );
126
+
127
+ $mo2f_addons = array(
128
+ "RBA & Trusted Devices Management Add-on",
129
+ "Personalization Add-on",
130
+ "Short Codes Add-on"
131
+ );
132
+ $mo2f_addons_plan_name = array(
133
+ "RBA & Trusted Devices Management Add-on" => "wp_2fa_addon_rba",
134
+ "Personalization Add-on" => "wp_2fa_addon_personalization",
135
+ "Short Codes Add-on" => "wp_2fa_addon_shortcode"
136
+ );
137
+
138
+
139
+ $mo2f_addons_with_features = array(
140
+ "Personalization Add-on" => array(
141
+ "Custom UI of 2FA popups",
142
+ "Custom Email and SMS Templates",
143
+ "Customize 'powered by' Logo",
144
+ "Customize Plugin Icon",
145
+ "Customize Plugin Name",
146
+
147
+ ),
148
+ "RBA & Trusted Devices Management Add-on" => array(
149
+ "Remember Device",
150
+ "Set Device Limit for the users to login",
151
+ "IP Restriction: Limit users to login from specific IPs"
152
+ ),
153
+ "Short Codes Add-on" => array(
154
+ "Option to turn on/off 2-factor by user",
155
+ "Option to configure the Google Authenticator and Security Questions by user",
156
+ "Option to 'Enable Remember Device' from a custom login form",
157
+ "On-Demand ShortCodes for specific fuctionalities ( like for enabling 2FA for specific pages)"
158
+ )
159
+ );
160
+ ?>
161
+ <div class="mo2f_licensing_plans" style="border:0px;width: 98%">
162
+
163
+ <table class="table mo_table-bordered mo_table-striped" style="width: 100%">
164
+ <thead>
165
+ <tr>
166
+ <th style="background-color: #20b2aa;border: 2px solid #20b2aa;width: 33%"><h1 style="color: white;">Free</h1></th>
167
+ <th style="background-color: #20b2aa;border: 2px solid #20b2aa;"><h1 style="color: white;">Standard</h1></th>
168
+ <th style="background-color: #20b2aa;border: 2px solid #20b2aa;"><h1 style="color: white;">Premium</h1></th>
169
+ </tr>
170
+
171
+
172
+ </thead>
173
+ <tbody class="mo_align-center mo-fa-icon">
174
+ <?php for ( $i = 0; $i < count( $mo2f_feature_set ); $i ++ ) { ?>
175
+ <tr>
176
+ <?php
177
+ $feature_set = $mo2f_feature_set[ $i ];
178
+
179
+ if ( $is_NC ) {
180
+ $f_feature_set_with_plan = $mo2f_feature_set_with_plans_NC[ $feature_set ];
181
+ } else {
182
+ $f_feature_set_with_plan = $mo2f_feature_set_with_plans_EC[ $feature_set ];
183
+ }
184
+ ?>
185
+ <td><?php
186
+ if ($feature_set == "Authentication Methods" || $feature_set == "Backup Methods" || $feature_set == "Support") {
187
+ ?>
188
+ <div>
189
+ <?php
190
+ }
191
+ else
192
+ {
193
+ ?>
194
+ <div style="float: left;">
195
+ <?php
196
+ }
197
+ if ( is_array( $f_feature_set_with_plan[0] ) ) {
198
+ echo mo2f_create_li( $f_feature_set_with_plan[0] );
199
+ } else {
200
+ if ( gettype( $f_feature_set_with_plan[0] ) == "boolean" ) {
201
+ echo mo2f_get_binary_equivalent_2fa_lite( $f_feature_set_with_plan[0] );
202
+ } else {
203
+ echo $f_feature_set_with_plan[0];
204
+ }
205
+ echo $feature_set;
206
+ } ?></div>
207
+ </td>
208
+ <td><?php
209
+ if ($feature_set == "Authentication Methods" || $feature_set == "Backup Methods" || $feature_set == "Support") {
210
+ ?>
211
+ <div>
212
+ <?php
213
+ }
214
+ else
215
+ {
216
+ ?>
217
+ <div style="float: left;">
218
+ <?php
219
+ }
220
+ if($feature_set != "Authentication Methods")
221
+ {
222
+ if ( is_array( $f_feature_set_with_plan[1] ) ) {
223
+ echo mo2f_create_li( $f_feature_set_with_plan[1] );
224
+ } else {
225
+ if ( gettype( $f_feature_set_with_plan[1] ) == "boolean" ) {
226
+ echo mo2f_get_binary_equivalent_2fa_lite( $f_feature_set_with_plan[1] );
227
+ } else {
228
+ echo $f_feature_set_with_plan[1];
229
+ }
230
+ echo $feature_set;
231
+ }
232
+ }
233
+ if ($feature_set == "Authentication Methods") {
234
+ $feature_array_1[] = array_slice( $two_factor_methods, 3, 5 );
235
+ for ($k=0; $k < 5 ; $k++)
236
+ {
237
+ if($is_NC)
238
+ {
239
+ if ($k<3)
240
+ {
241
+ echo $feature_array_1[0][$k];
242
+ ?><br><?php
243
+ }
244
+ else
245
+ {
246
+ ?><b><?php
247
+ echo $feature_array_1[0][$k];
248
+ ?></b><br><?php
249
+ }
250
+ }
251
+ else
252
+ {
253
+ if ($k<4)
254
+ {
255
+ echo $feature_array_1[0][$k];
256
+ ?><br><?php
257
+ }
258
+ else
259
+ {
260
+ ?><b><?php
261
+ echo $feature_array_1[0][$k];
262
+ ?></b><br><?php
263
+ }
264
+ }
265
+ }
266
+ ?>
267
+ <?php
268
+ }
269
+ ?>
270
+ </div>
271
+ </td>
272
+ <td><?php
273
+ if ($feature_set == "Authentication Methods" || $feature_set == "Backup Methods" || $feature_set == "Support") {
274
+ ?>
275
+ <div>
276
+ <?php
277
+ }
278
+ else
279
+ {
280
+ ?>
281
+ <div style="float: left;">
282
+ <?php
283
+ }
284
+ if($feature_set != "Authentication Methods")
285
+ {
286
+ if ( is_array( $f_feature_set_with_plan[2] ) ) {
287
+ echo mo2f_create_li( $f_feature_set_with_plan[2] );
288
+ } else {
289
+ if ( gettype( $f_feature_set_with_plan[2] ) == "boolean" ) {
290
+ echo mo2f_get_binary_equivalent_2fa_lite( $f_feature_set_with_plan[2] );
291
+ } else {
292
+ echo $f_feature_set_with_plan[2];
293
+ }
294
+ echo $feature_set;
295
+ }
296
+ }
297
+ if ($feature_set == "Authentication Methods") {
298
+ $feature_array_1[] = array_slice( $two_factor_methods, 3, 5 );
299
+ for ($k=0; $k < 5 ; $k++)
300
+ {
301
+ if ($is_NC)
302
+ {
303
+ if ($k<3)
304
+ {
305
+ echo $feature_array_1[0][$k];
306
+ ?><br><?php
307
+ }
308
+ else
309
+ {
310
+ ?><b><?php
311
+ echo $feature_array_1[0][$k];
312
+ ?></b><br><?php
313
+ }
314
+ }
315
+ else
316
+ {
317
+ if ($k<4)
318
+ {
319
+ echo $feature_array_1[0][$k];
320
+ ?><br><?php
321
+ }
322
+ else
323
+ {
324
+ ?><b><?php
325
+ echo $feature_array_1[0][$k];
326
+ ?></b><br><?php
327
+ }
328
+ }
329
+ }
330
+ ?>
331
+ <?php
332
+ }?></div>
333
+ </td>
334
+
335
+ </tr>
336
+ <?php } ?>
337
+
338
+ <tr>
339
+ <td><b>Add-Ons</b></td>
340
+ <?php if ( $is_NC ) { ?>
341
+ <td><b>Purchase Separately</b></td>
342
+ <?php } else { ?>
343
+ <td><b>Purchase Separately</b></td>
344
+ <?php } ?>
345
+ <td><b>Included</b></td>
346
+ </tr>
347
+ <?php for ( $i = 0; $i < count( $mo2f_addons ); $i ++ ) { ?>
348
+ <tr>
349
+ <td><?php echo $mo2f_addons[ $i ]; ?> <?php for ( $j = 0; $j < $i + 1; $j ++ ) { ?>*<?php } ?>
350
+ </td>
351
+ <?php if ( $is_NC ) { ?>
352
+ <td>
353
+ Contact Us
354
+
355
+ </td>
356
+ <?php } else { ?>
357
+ <td>Contact Us</td>
358
+ <?php } ?>
359
+
360
+ <td><div>Contact Us</div></td>
361
+ </tr>
362
+ <?php } ?>
363
+
364
+ </tbody>
365
+ </table>
366
+ <br>
367
+ <div style="padding:10px;">
368
+ <?php for ( $i = 0; $i < count( $mo2f_addons ); $i ++ ) {
369
+ $f_feature_set_of_addons = $mo2f_addons_with_features[ $mo2f_addons[ $i ] ];
370
+ for ( $j = 0; $j < $i + 1; $j ++ ) { ?>*<?php } ?>
371
+ <b><?php echo $mo2f_addons[ $i ]; ?> Features</b>
372
+ <br>
373
+ <ol>
374
+ <?php for ( $k = 0; $k < count( $f_feature_set_of_addons ); $k ++ ) { ?>
375
+ <li><?php echo $f_feature_set_of_addons[ $k ]; ?></li>
376
+ <?php } ?>
377
+ </ol>
378
+
379
+ <hr><br>
380
+ <?php } ?>
381
+ <b>**** SMS Charges</b>
382
+ <p><?php echo mo2f_lt( 'If you wish to choose OTP Over SMS / OTP Over SMS and Email as your authentication method,
383
+ SMS transaction prices & SMS delivery charges apply and they depend on country. SMS validity is for lifetime.' ); ?></p>
384
+ <hr>
385
+ <br>
386
+ <div>
387
+ <h2>Note</h2>
388
+ <ol class="mo2f_licensing_plans_ol">
389
+ <li><?php echo mo2f_lt( 'The plugin works with many of the default custom login forms (like Woocommerce / Theme My Login), however if you face any issues with your custom login form, contact us and we will help you with it.' ); ?></li>
390
+ <li style="color: red"><?php echo mo2f_lt( 'There is license key required to activate the Standard/Premium Plugins. You will have to login with the miniOrange Account you used to make the purchase then enter license key to activate plugin.' ); ?>
391
+
392
+ </li>
393
+ </ol>
394
+ </div>
395
+
396
+ <br>
397
+ <hr>
398
+
399
+
400
+
401
+ <style>#mo2f_support_table {
402
+ display: none;
403
+ }
404
+
405
+ </style>
406
+ </div>
407
+ </div>
408
+
409
+ <?php
410
+
411
+ function mo2f_get_binary_equivalent_2fa_lite( $mo2f_var ) {
412
+ switch ( $mo2f_var ) {
413
+ case 1:
414
+ return "<div style='color: #008ec2;font-size: large;float:left;margin:0px 5px;'>✔</div>";
415
+ case 0:
416
+ return "<div style='color: red;font-size: large;float:left;margin:0px 5px;'>×</div>";
417
+ default:
418
+ return $mo2f_var;
419
+ }
420
+ }