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

Version Description

  • Google Authenticator-Two Factor Authentication (2FA) : Security and MFA UI updates.
Download this release

Release Info

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

Code changes from version 5.4.7 to 5.4.5

controllers/account.php CHANGED
@@ -216,7 +216,13 @@
216
  update_option( 'mo2f_miniorange_admin', $user->ID );
217
  update_option( 'mo_2factor_admin_registration_status', 'MO_2_FACTOR_CUSTOMER_REGISTERED_SUCCESS' );
218
 
219
-
 
 
 
 
 
 
220
  $Mo2fdbQueries->insert_user( $user->ID );
221
  $Mo2fdbQueries->update_user_details( $user->ID, array(
222
  'mo2f_EmailVerification_config_status' => get_option( 'mo2f_is_NC' ) == 0 ? true : false,
@@ -267,8 +273,7 @@
267
  $mo2f_customer_selected_plan = get_option( 'mo2f_customer_selected_plan' );
268
  if ( ! empty( $mo2f_customer_selected_plan ) ) {
269
  delete_option( 'mo2f_customer_selected_plan' );
270
- ?><script>window.location.href="admin.php?page=mo_2fa_upgrade";</script><?php
271
-
272
  } else if ( $mo2f_second_factor == 'NONE' ) {
273
  if(get_user_meta( $user->ID, 'register_account_popup', true)){
274
  update_user_meta( $user->ID, 'configure_2FA', 1 );
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
+ // update_option( 'mo_wpns_upgrade_onprem' , 0);
226
  $Mo2fdbQueries->insert_user( $user->ID );
227
  $Mo2fdbQueries->update_user_details( $user->ID, array(
228
  'mo2f_EmailVerification_config_status' => get_option( 'mo2f_is_NC' ) == 0 ? true : false,
273
  $mo2f_customer_selected_plan = get_option( 'mo2f_customer_selected_plan' );
274
  if ( ! empty( $mo2f_customer_selected_plan ) ) {
275
  delete_option( 'mo2f_customer_selected_plan' );
276
+ header( 'Location: admin.php?page=mo_2fa_upgrade' );
 
277
  } else if ( $mo2f_second_factor == 'NONE' ) {
278
  if(get_user_meta( $user->ID, 'register_account_popup', true)){
279
  update_user_meta( $user->ID, 'configure_2FA', 1 );
controllers/dashboard_ajax.php CHANGED
@@ -79,13 +79,8 @@ class Mo2f_ajax_dashboard
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,11 +107,8 @@ class Mo2f_ajax_dashboard
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,11 +138,8 @@ class Mo2f_ajax_dashboard
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,11 +158,8 @@ class Mo2f_ajax_dashboard
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,11 +172,8 @@ class Mo2f_ajax_dashboard
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);
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($_POST['option'] == 'tab_waf_switch')
83
+ do_action('wpns_show_message',MoWpnsMessages::showMessage('WAF_ENABLE'),'SUCCESS');
 
 
 
 
 
84
  }
85
  else{
86
  update_site_option('mo_2f_switch_waf', 0);
107
  if($POSTED){
108
  update_site_option('mo_2f_switch_loginspam', 1);
109
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
 
 
110
  if($_POST['option'] == 'tab_login_switch')
111
  do_action('wpns_show_message',MoWpnsMessages::showMessage('LOGIN_ENABLE'),'SUCCESS');
 
112
  }
113
  else{
114
  update_site_option('mo_2f_switch_loginspam', 0);
138
  if($POSTED){
139
  update_site_option('mo_2f_switch_backup', 1);
140
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
 
 
141
  if($_POST['option'] == 'tab_backup_switch')
142
  do_action('wpns_show_message',MoWpnsMessages::showMessage('BACKUP_ENABLE'),'SUCCESS');
 
143
  }
144
  else{
145
  update_site_option('mo_2f_switch_backup', 0);
158
  if($POSTED){
159
  update_site_option('mo_2f_switch_malware', 1);
160
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
 
 
161
  if($_POST['option'] == 'tab_malware_switch')
162
  do_action('wpns_show_message',MoWpnsMessages::showMessage('MALWARE_ENABLE'),'SUCCESS');
 
163
  }else{
164
  update_site_option('mo_2f_switch_malware', 0);
165
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')-1);
172
  if($POSTED){
173
  update_site_option('mo_2f_switch_adv_block', 1);
174
  update_site_option('mo2f_tab_count', get_site_option('mo2f_tab_count')+1);
 
 
175
  if($_POST['option'] == 'tab_block_switch')
176
  do_action('wpns_show_message',MoWpnsMessages::showMessage('ADV_BLOCK_ENABLE'),'SUCCESS');
 
177
  }
178
  else{
179
  update_site_option('mo_2f_switch_adv_block', 0);
controllers/main_controller.php CHANGED
@@ -52,10 +52,8 @@
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
  {
52
  include $controller . 'request_demo.php';
53
  }
54
  }
55
+
56
+ include $controller . 'support.php';
 
 
57
  }
58
  else
59
  {
controllers/wpns-loginsecurity-ajax.php CHANGED
@@ -30,10 +30,23 @@ 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'];
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'];
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,15 +17,6 @@ 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
-
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
  {
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
  if(get_option('mo_wpns_2fa_with_network_security'))
22
  {
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
- 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";
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";
includes/css/style_settings.css CHANGED
@@ -1,104 +1,3 @@
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
- overflow: hidden;
68
- width:25%;
69
- border:1px solid #ecebeb;
70
- box-sizing:border-box;
71
- text-align:center!important;
72
- background-color:#31ccfb1a;
73
- box-shadow:1px 1px 6px -2px;
74
- }
75
- .mo_2fa_mo-supportnote
76
- {
77
- margin:auto;
78
- text-align:center;
79
- }
80
- .mo_2fa_animation:hover
81
- {
82
- transition-property:all;
83
- transition-duration:.25s;
84
- transition-timing-function:linear;
85
- transform:translateX(0) scale(1.02);
86
- }
87
- .mo_2fa_Card-header
88
- {
89
- box-sizing:border-box;
90
- text-align:center!important;
91
- display:block;
92
- }
93
- .mo_2fa_card-body
94
- {
95
- flex:1 1 auto;
96
- padding:1.25rem;
97
- padding-top: 0%;
98
- box-sizing:border-box;
99
- text-align:center!important;
100
- display:block;
101
- }
102
  .mo_wpns_upgrade_title11
103
  {
104
  width: 23%;
@@ -106,14 +5,6 @@
106
  background-color: white;
107
  float: left;
108
  border: 2px solid black;
109
- }
110
- .mo_wpns_upgrade_title_2fa_lite
111
- {
112
- width: 31.1%;
113
- min-height: 500px;
114
- background-color: white;
115
- float: left;
116
- border: 2px solid black;
117
  }
118
  .mo_wpns_upgrade_page_title_name
119
  {
@@ -136,13 +27,7 @@
136
  .mo_wpns_upgrade_page_2fa_background
137
  {
138
  width: 100%;
139
- min-height: 388px;
140
- background-color: #4dbfb9;
141
- }
142
- .mo_wpns_upgrade_page_2fa_lite_background
143
- {
144
- width: 100%;
145
- min-height: 404px;
146
  background-color: #4dbfb9;
147
  }
148
  .mo_wpns_upgrade_page_show_feature_arrow
@@ -181,7 +66,6 @@
181
  .mo_wpns_upgrade_page_starting_price
182
  {
183
  color: white;
184
- padding-top: 2%;
185
  }
186
  .mo_wpns_upgrade_page_2fa_ns
187
  {
@@ -215,26 +99,9 @@
215
  .mo_wpns_upgrade_page_ns_background
216
  {
217
  width: 100%;
218
- min-height: 310px;
219
  background-color: #4dbfb9;
220
  }
221
- .mo_wpns_button_info_tab {
222
- background-color: #20b2aa;
223
- border: none;
224
- color: white;
225
- height: 1.8em;
226
- width: 100%;
227
- padding-top: 13px;
228
- font-size: 7px;
229
- text-align: center;
230
- text-decoration: none;
231
- display: inline-block;
232
- font-size: 16px;
233
- margin: 26px 0px;
234
- cursor: pointer;
235
- -webkit-transition-duration: 0.4s;
236
- transition-duration: 0.4s;
237
- }
238
  .popup_text_not_JQ
239
  {
240
  color:black;
@@ -357,7 +224,6 @@
357
  background-color: #f1f1f1;
358
  margin:0px 22px;
359
  height: 84px;
360
- margin-left: 0px;
361
 
362
  }
363
  .filebackupmessage{
@@ -525,7 +391,6 @@
525
  text-align: center;
526
  }
527
 
528
-
529
  .mo_wpns_small_3_layout
530
  {
531
  float: left;
@@ -541,7 +406,7 @@
541
  .mo_wpns_dashboard_layout
542
  {
543
  margin: 10px;
544
- /*padding: 5px 20px;*/
545
  background-color: none;
546
  /*border: 1px solid #CCCCCC;*/
547
  float: left;
@@ -551,12 +416,12 @@
551
  }
552
  .mo_wpns_inside_dashboard_layout
553
  {
554
- margin-top: 10px;
555
  padding: 5px 0px;
556
  background-color: #FFFFFF;
557
  border: 1px solid #CCCCCC;
558
  float: left;
559
- width: 18.5%;
560
  height: 100px;
561
  margin-left: 1%;
562
  font-weight: 600;
@@ -598,11 +463,8 @@
598
 
599
  .mo_wpns_dashboard_text
600
  {
601
- /*font-size: 50px;
602
- margin-top: -15px;*/
603
- font-size: 50px;
604
- margin-bottom: -19px;
605
- margin-top: -21px;
606
 
607
  }
608
  .mo_wpns_dashboard_upgrade_layout
@@ -1183,7 +1045,7 @@ h2.mo_wpns_nav-tab-wrapper
1183
  background-color: #FFFFFF;
1184
  border: 1px solid #CCCCCC;
1185
  float: left;
1186
- width: 18.5%;
1187
  height: 100px;
1188
  border-top: 2px solid lightseagreen;
1189
  font-weight: 600;
@@ -2812,11 +2674,7 @@ a.mo2f_thumbnail:hover, a.mo2f_thumbnail:focus, a.mo2f_thumbnail.active {
2812
  .mo2f_gauth_column {
2813
  float: left;
2814
  padding: 10px;
2815
- height: 165px;
2816
- }
2817
- .mo2f_gauth_column_cloud {
2818
- float: left;
2819
- height: 150px;
2820
  }
2821
 
2822
  .mo2f_gauth_left {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  .mo_wpns_upgrade_title11
2
  {
3
  width: 23%;
5
  background-color: white;
6
  float: left;
7
  border: 2px solid black;
 
 
 
 
 
 
 
 
8
  }
9
  .mo_wpns_upgrade_page_title_name
10
  {
27
  .mo_wpns_upgrade_page_2fa_background
28
  {
29
  width: 100%;
30
+ min-height: 380px;
 
 
 
 
 
 
31
  background-color: #4dbfb9;
32
  }
33
  .mo_wpns_upgrade_page_show_feature_arrow
66
  .mo_wpns_upgrade_page_starting_price
67
  {
68
  color: white;
 
69
  }
70
  .mo_wpns_upgrade_page_2fa_ns
71
  {
99
  .mo_wpns_upgrade_page_ns_background
100
  {
101
  width: 100%;
102
+ min-height: 280px;
103
  background-color: #4dbfb9;
104
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  .popup_text_not_JQ
106
  {
107
  color:black;
224
  background-color: #f1f1f1;
225
  margin:0px 22px;
226
  height: 84px;
 
227
 
228
  }
229
  .filebackupmessage{
391
  text-align: center;
392
  }
393
 
 
394
  .mo_wpns_small_3_layout
395
  {
396
  float: left;
406
  .mo_wpns_dashboard_layout
407
  {
408
  margin: 10px;
409
+ padding: 5px 20px;
410
  background-color: none;
411
  /*border: 1px solid #CCCCCC;*/
412
  float: left;
416
  }
417
  .mo_wpns_inside_dashboard_layout
418
  {
419
+ /*margin-top: 10px;*/
420
  padding: 5px 0px;
421
  background-color: #FFFFFF;
422
  border: 1px solid #CCCCCC;
423
  float: left;
424
+ width: 17.5%;
425
  height: 100px;
426
  margin-left: 1%;
427
  font-weight: 600;
463
 
464
  .mo_wpns_dashboard_text
465
  {
466
+ font-size: 50px;
467
+ margin-top: -15px;
 
 
 
468
 
469
  }
470
  .mo_wpns_dashboard_upgrade_layout
1045
  background-color: #FFFFFF;
1046
  border: 1px solid #CCCCCC;
1047
  float: left;
1048
+ width: 17.5%;
1049
  height: 100px;
1050
  border-top: 2px solid lightseagreen;
1051
  font-weight: 600;
2674
  .mo2f_gauth_column {
2675
  float: left;
2676
  padding: 10px;
2677
+ height: 210px;
 
 
 
 
2678
  }
2679
 
2680
  .mo2f_gauth_left {
includes/images/card.png DELETED
Binary file
includes/images/netbanking.png DELETED
Binary file
includes/images/paypal.png DELETED
Binary file
includes/js/settings_page.js CHANGED
@@ -104,21 +104,4 @@ function ajaxCall(option,element,hide)
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
  }
104
  },
105
  error: function(o, e, n) {}
106
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  }
miniorange_2_factor_settings.php CHANGED
@@ -3,14 +3,14 @@
3
  * Plugin Name: miniOrange 2 Factor Authentication
4
  * Plugin URI: https://miniorange.com
5
  * Description: This plugin provides various two-factor authentication methods as an additional layer of security after the default wordpress login. We Support Google/Authy/LastPass Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA) for 1 User in the free version of the plugin.
6
- * Version: 5.4.7
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.7' );
13
- define( 'MO2F_TEST_MODE', FALSE );
14
  define( 'MO2F_IS_ONPREM', get_option('is_onprem'));
15
  class Miniorange_twoFactor{
16
 
@@ -69,13 +69,8 @@
69
  if(is_array($theme_last)){
70
  if(sizeof($theme_current) == sizeof($theme_last)){
71
  foreach ($theme_current as $key => $value) {
72
- if(isset($theme_last[$key])){
73
- if($theme_current[$key] != $theme_last[$key]){
74
- $flag_theme=1;
75
- break;
76
- }
77
- }else{
78
- $flag_theme = 1;
79
  break;
80
  }
81
  }
@@ -92,12 +87,7 @@
92
  if(is_array($plugin_last)){
93
  if(sizeof($plugins_found) == sizeof($plugin_last)){
94
  foreach ($plugins_found as $key => $value) {
95
- if(isset($plugin_last[$key])){
96
- if($plugins_found[$key] != $plugin_last[$key]){
97
- $flag_plugin=1;
98
- break;
99
- }
100
- }else{
101
  $flag_plugin=1;
102
  break;
103
  }
@@ -260,7 +250,10 @@
260
  add_option( 'mo_wpns_2fa_with_network_security' , 1);
261
  add_option( 'mo_wpns_2fa_with_network_security_popup_visible', 1);
262
 
 
 
263
 
 
264
  }
265
 
266
  function mo_wpns_deactivate()
@@ -275,6 +268,8 @@
275
  delete_option('mo2f_customer_token');
276
  delete_option('mo_wpns_transactionId');
277
  delete_option('mo_wpns_registration_status');
 
 
278
 
279
  $two_fa_settings = new Miniorange_Authentication();
280
  $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.5
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.5' );
13
+ define( 'MO2F_TEST_MODE', False );
14
  define( 'MO2F_IS_ONPREM', get_option('is_onprem'));
15
  class Miniorange_twoFactor{
16
 
69
  if(is_array($theme_last)){
70
  if(sizeof($theme_current) == sizeof($theme_last)){
71
  foreach ($theme_current as $key => $value) {
72
+ if($theme_current[$key] != $theme_last[$key]){
73
+ $flag_theme=1;
 
 
 
 
 
74
  break;
75
  }
76
  }
87
  if(is_array($plugin_last)){
88
  if(sizeof($plugins_found) == sizeof($plugin_last)){
89
  foreach ($plugins_found as $key => $value) {
90
+ if($plugins_found[$key] != $plugin_last[$key]){
 
 
 
 
 
91
  $flag_plugin=1;
92
  break;
93
  }
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
+ //add_option( 'is_onprem' ,1);
257
  }
258
 
259
  function mo_wpns_deactivate()
268
  delete_option('mo2f_customer_token');
269
  delete_option('mo_wpns_transactionId');
270
  delete_option('mo_wpns_registration_status');
271
+ delete_option('mo_wpns_upgrade_onprem',0);
272
+ delete_option('mo_wpns_plantype');
273
 
274
  $two_fa_settings = new Miniorange_Authentication();
275
  $two_fa_settings->mo_auth_deactivate();
readme.txt CHANGED
@@ -1,4 +1,4 @@
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
@@ -6,11 +6,11 @@ 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.7
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,13 +18,9 @@ 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 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>
@@ -33,15 +29,14 @@ Have a completely Secure login to your WordPress website using this FREE, Simple
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,28 +47,25 @@ Other sites like premium video content or any premium content where you want use
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,12 +299,6 @@ miniOrange authentication service has 15+ authentication methods.One time passco
307
 
308
  == Changelog ==
309
 
310
- = 5.4.7 =
311
- * Google Authenticator-Two Factor Authentication (2FA) : Fixing warnings and adding minor changes in the plans.
312
-
313
- = 5.4.6 =
314
- * Google Authenticator-Two Factor Authentication (2FA) : Improving Google Authenticator and adding Payment options.
315
-
316
  = 5.4.5 =
317
  * Google Authenticator-Two Factor Authentication (2FA) : Security and MFA UI updates.
318
 
@@ -803,12 +789,6 @@ More descriptive setup messages and UI changes.
803
 
804
  == Upgrade Notice ==
805
 
806
- = 5.4.7 =
807
- * Google Authenticator-Two Factor Authentication (2FA) : Fixing warnings and adding minor changes in the plans.
808
-
809
- = 5.4.6 =
810
- * Google Authenticator-Two Factor Authentication (2FA) : Improving Google Authenticator and adding Payment options.
811
-
812
  = 5.4.5 =
813
  * Google Authenticator-Two Factor Authentication (2FA) : Security and MFA UI updates.
814
 
1
+ === Google Authenticator - WordPress Two Factor Authentication (2FA) ===
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
6
  Requires at least: 3.0.1
7
  Tested up to: 5.4
8
  Requires PHP: 5.3.0
9
+ Stable tag: 5.4.5
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
 
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
  * 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>
29
  and more.
30
 
31
  <h4>Prevent Account Sharing Between Users</h4>
32
+ Many video sharing and E-learing platforms want to prevent sharing of account between the users. This can be done using miniOrange Two factor plugin. Also, elearning 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.
 
33
 
34
  <h4>FREE Plugin Features</h4>
35
  * Simplified & easy to user interface.
36
  * Two Factor Authentication (2FA) for **3 User** forever FREE!
37
  * **Variety of Authentication Methods:** Any App supporting TOTP algorithm like Google, Authy, LastPass Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA)
38
  * Includes Language Translation Support. Supports a wide variety of languages
39
+ * Passwordless login
40
  * This plugin Supports standard TOTP + HOTP protocols for Authentication Methods.
41
  * Two Factor Authentication (2FA) allows authentication on login page itself for Google Authenticator & miniOrange Soft Token.
42
  * Brute force attack prevention & IP Blocking.
47
  * Two Factor Authentication (2FA) for Users as per the upgrade *( User-based pricing )*
48
  * **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)*
49
  * Includes language Translation Support. Supports wide variety of languages.
50
+ * **Multiple Login Options:** Username + password + two-factor (or) Username + two-factor i.e. Passwordless login.
51
  * **Backup Method:** KBA(Security Questions)
52
  * Multisite compatible.
53
+ * User role based redirection after Login, Customize account name in Google Authenticator app
54
+ * Custom Security Questions (KBA)
55
 
56
  <h4>Premium Plugin Features</h4>
57
 
58
  * Two Factor Authentication (2FA) for Users as per the upgrade *( User-based pricing )*
59
  * **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)*
60
  * Language Translation Support
61
+ * **Multiple Login Options:** Username + password + two-factor (or) Username + two-factor i.e. Passwordless login.
62
+ * **Backup Methods:** KBA(Security Questions), OTP Over Email, Backup Codes
63
  * Multisite compatible.
64
+ * Email notification to users asking them to set up Two Factor Authentication (2FA).
65
+ * User role based redirection after Login, Custom Security Questions (KBA), Customize account name in Google Authenticator app.
66
+ * Enable Two Factor Authentication (2FA) for specific Users/User Roles
67
+ * Choose specific authentication methods for Users
 
 
68
  * App Specific Password to login from mobile Apps
 
69
  * **Add-Ons Included:** RBA & Trusted Devices Management Add-on, Personalization Add-on and Short Codes Add-on
70
 
71
  <h4>Enterprise Plugin Features</h4>
299
 
300
  == Changelog ==
301
 
 
 
 
 
 
 
302
  = 5.4.5 =
303
  * Google Authenticator-Two Factor Authentication (2FA) : Security and MFA UI updates.
304
 
789
 
790
  == Upgrade Notice ==
791
 
 
 
 
 
 
 
792
  = 5.4.5 =
793
  * Google Authenticator-Two Factor Authentication (2FA) : Security and MFA UI updates.
794
 
views/dashboard.php CHANGED
@@ -14,22 +14,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>
@@ -38,7 +29,7 @@ echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximu
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.' />
@@ -185,12 +176,7 @@ echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximu
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') ) {
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">
18
  <center>
19
+ <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>
20
+ <div class ="mo_wpns_inside_dashboard_layout">Attacks Blocked <hr class="line"><p class ="wpns_font_size mo_wpns_dashboard_text">'.$totalAttacks.'</p></div>
21
+ <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>
22
+ <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>
23
+ <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>
 
 
 
 
 
 
 
 
 
24
 
25
 
26
  </center>
29
 
30
  <div style="padding: 0px 0px 0px 5px;text-align:center" >
31
  <form name="tab_all" id="tab_all" method="post">
32
+ <h3 style="text-align:right;margin-right:4.5%;">Enable All
33
  <label class="mo_wpns_switch">
34
  <input type="hidden" name="option" value="tab_all_switch"/>
35
  <input type=checkbox id="switch_all" name="switch_val" value="1" '.$all_on.' />
176
 
177
  </div>
178
 
179
+ </div> ';
 
 
 
 
 
180
 
181
  function mo_2fa_dashboard_switch(){
182
  if ( ('admin.php' != basename( $_SERVER['PHP_SELF'] )) || ($_GET['page'] != 'mo_2fa_dashboard') ) {
views/navbar.php CHANGED
@@ -42,11 +42,10 @@ echo' <span style="text-align:right;">
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
  ?>
42
  </div>
43
 
44
  </form>
45
+ </span>
46
 
47
 
48
+ </h1>
 
49
  </div>';
50
  //check_is_curl_installed();
51
  ?>
views/registration-security.php CHANGED
@@ -17,8 +17,11 @@ 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
- <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;
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;
views/twofa/setup/setup_google_authenticator.php CHANGED
@@ -15,39 +15,39 @@ function mo2f_configure_google_authenticator( $user ) {
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,7 +117,8 @@ 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>
 
121
  </td>
122
  </tr>
123
  </table>
@@ -125,13 +126,13 @@ function mo2f_configure_google_authenticator( $user ) {
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,74 +143,38 @@ function mo2f_configure_google_authenticator( $user ) {
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
  }
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
  <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
  <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
  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
  }
views/twofa/setup/setup_google_authenticator_onpremise.php CHANGED
@@ -13,41 +13,43 @@ function mo2f_configure_google_authenticator_onprem( $secret,$url,$otpcode ) {
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,15 +153,14 @@ $q = $_SERVER['REQUEST_TIME']*1000;
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,76 +171,38 @@ $q = $_SERVER['REQUEST_TIME']*1000;
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
  }
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
  ?>
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
  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
  }
views/twofa/two_fa.php CHANGED
@@ -7,7 +7,7 @@ if ($mo_2fa_with_network_security) {
7
  }
8
  else
9
  {
10
- ?> <div class="mo_wpns_tab" style="margin-top: -1%;"><?php
11
  }
12
  ?>
13
 
@@ -16,7 +16,7 @@ else
16
  if(current_user_can('administrator') )
17
  {
18
  ?>
19
- <button class="tablinks" onclick="openTab2fa(this)" id="unlimittedUser_2fa">Settings</button>
20
  <?php
21
  }
22
  if(current_user_can('administrator'))
7
  }
8
  else
9
  {
10
+ ?> <div class="mo_wpns_tab" style="margin-top: -2%;"><?php
11
  }
12
  ?>
13
 
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'))
views/upgrade.php CHANGED
@@ -8,29 +8,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="regular_plans" id="regular_plans" onclick="mo_2fa_show_plans();" style="display: none;" >
15
-
16
- <label for="regular_plans" id="mo_2fa_licensing_plans_title" class="mo_upgrade_toggle_2fa_lable" style="display: none;">User Based Plan</label>
17
- <label for="regular_plans" id="mo_2fa_licensing_plans_title1" class="mo_upgrade_toggle_2fa_lable" style="background-color: #20b2aa;border-radius: 50em;">User Based Plan</label>
18
-
19
- <input type="radio" name="sitetype" value="mo_2fa_lite" id="mo_2fa_lite" onclick="mo_2fa_lite_show_plans(); " style="display: none;" >
20
-
21
- <label for="mo_2fa_lite" class="mo_upgrade_toggle_2fa_lable" id="mo_2fa_lite_licensing_plans_title" >Site Based Plan</label>
22
- <label for="mo_2fa_lite" class="mo_upgrade_toggle_2fa_lable" id="mo_2fa_lite_licensing_plans_title1" style="background-color: #20b2aa;border-radius: 50em;display: none;">Site Based Plan</label>
23
-
24
- <input type="radio" name="sitetype" value="Recharge" id="Recharge" onclick="mo_ns_show_plans(); " style="display: none;">
25
-
26
- <label for="Recharge" class="mo_upgrade_toggle_2fa_lable" id="mo_ns_licensing_plans_title">Website Security</label>
27
- <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>
28
-
29
- <span class="cd-switch"></span>
30
- </p>
31
- </div>
32
-
33
- <div id="mo_2fa_features_only" style="display: block;">
34
  <div class="mo_wpns_upgrade_page_2fa_ns">
35
  <div style="float: left;">
36
  <?php
@@ -39,7 +17,7 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
39
  }
40
  ?>
41
  </div>
42
- <h1 class="mo_wpns_upgrade_page_2fa_ns_1"> Two Factor Authentication</h1> <span></span>
43
  </div>
44
  <div class="mo_wpns_upgrade_title11">
45
  <div class="mo_wpns_upgrade_page_title_name">
@@ -55,7 +33,13 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
55
  </center>
56
  <div class="mo_wpns_upgrade_page_2fa_background"><br><br><br><br><br><br><br><br><br>
57
  <h1 style="text-align: center;color: white;">Current Plan</h1>
58
- </div>
 
 
 
 
 
 
59
 
60
 
61
  </div>
@@ -78,28 +62,56 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
78
  <div class="mo_wpns_upgrade_page_2fa_background">
79
 
80
  <center>
 
81
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
82
  <h1 class="mo_wpns_upgrade_pade_pricing">$5</h1>
83
 
84
  <?php echo mo2f_yearly_standard_pricing_plan(); ?>
85
- <?php echo mo2f_sms_cost();?>
86
  </center>
87
 
88
  <br>
89
  <div style="text-align: center;">
90
  <?php if( $is_customer_registered) {
91
  ?>
92
- <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>
93
  <?php }else{
94
  ?>
95
- <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_register_and_upgradeform('wp_2fa_basic_plan')">Upgrade</button>
96
- <?php }
97
- mo2f_payment_option_ui();
98
- ?>
99
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
 
101
  </div>
102
  </div>
 
 
 
 
 
103
  </div>
104
  <div class="mo_wpns_upgrade_page_space_in_div"></div>
105
  <div class="mo_wpns_upgrade_title11" >
@@ -117,28 +129,31 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
117
  </h4>
118
  </center>
119
  <div class="mo_wpns_upgrade_page_2fa_background">
120
- <center>
121
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
122
  <h1 class="mo_wpns_upgrade_pade_pricing">$30</h1>
123
 
124
  <?php echo mo2f_yearly_premium_pricing_plan(); ?>
125
- <?php echo mo2f_sms_cost();?>
126
  </center>
127
  <br>
128
  <div style="text-align: center;">
129
  <?php if( $is_customer_registered) {
130
  ?>
131
- <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_upgradeform('wp_2fa_premium_plan')" >Upgrade</button>
132
  <?php
133
  }else{ ?>
134
- <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_register_and_upgradeform('wp_2fa_premium_plan')" >Upgrade</button>
135
- <?php }
136
- mo2f_payment_option_ui();
137
- ?>
138
 
139
 
140
  </div>
141
  </div>
 
 
 
 
 
142
  </div>
143
  <div class="mo_wpns_upgrade_page_space_in_div"></div>
144
  <div class="mo_wpns_upgrade_title11" >
@@ -159,154 +174,39 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
159
  </center>
160
  <div class="mo_wpns_upgrade_page_2fa_background">
161
  <center>
 
162
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
163
  <h1 class="mo_wpns_upgrade_pade_pricing">$59</h1>
164
  <?php echo mo2f_yearly_all_inclusive_pricing_plan(); ?>
165
- <?php echo mo2f_sms_cost();?>
166
  </center>
167
 
168
  <br>
169
  <div style="text-align: center;">
170
  <?php if( $is_customer_registered) {
171
  ?>
172
- <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_upgradeform('wp_2fa_enterprise_plan')" >Upgrade</button>
173
  <?php
174
  }else
175
  { ?>
176
- <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_register_and_upgradeform('wp_2fa_enterprise_plan')" >Upgrade</button>
177
- <?php }
178
- mo2f_payment_option_ui();
179
- ?>
180
  </div>
181
  </div>
 
 
 
 
 
182
  </div>
183
  <div class="mo_wpns_upgrade_page_space_in_div"></div>
184
  <div style="width: 96%; min-height: 60px;background-color: white;float: left;border-bottom: 2px solid #2ba29b; text-align: center;">
185
  <br>
186
- <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>
187
- <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>
188
- <br>
189
- </div>
190
- </div>
191
- <div id="mo_2fa_lite_features_only" style="display: none;">
192
- <div class="mo_wpns_upgrade_page_2fa_ns">
193
- <div style="float: left;">
194
- <?php
195
- if (!get_option('mo_wpns_2fa_with_network_security') && ($_GET['page'] == 'mo_2fa_upgrade')) {
196
- echo '<a class="mo_wpns_button mo_wpns_button1" href="'.$two_fa.'">Back</a>';
197
- }
198
- ?>
199
- </div>
200
- <h1 class="mo_wpns_upgrade_page_2fa_ns_1"> Two Factor Lite: Unlimited Users </h1> <span></span>
201
- </div>
202
- <div class="mo_wpns_upgrade_title_2fa_lite">
203
- <div class="mo_wpns_upgrade_page_title_name">
204
- <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Free</h1>
205
- <hr class="mo_wpns_upgrade_page_hr">
206
- </div>
207
- <center>
208
- <h4>No. of User:- 3 <br>
209
- Basic security features<br>
210
- Five Authenticaton Methods<br>
211
- Login with Username + password + 2FA<br>
212
- </h4>
213
- </center>
214
- <div class="mo_wpns_upgrade_page_2fa_lite_background"><br><br><br><br><br><br><br><br><br>
215
- <h1 style="text-align: center;color: white;">Current Plan</h1>
216
- </div>
217
-
218
-
219
- </div>
220
-
221
- <div class="mo_wpns_upgrade_page_space_in_div"></div>
222
- <div class="mo_wpns_upgrade_title_2fa_lite" >
223
- <div class="mo_wpns_upgrade_page_title_name">
224
- <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Standard</h1>
225
- <hr class="mo_wpns_upgrade_page_hr">
226
- </div>
227
- <center>
228
- <h4>
229
- Unlimited Users<br>
230
- Multi-Site Support<br>
231
- Additional Authentication Methods<br>
232
- User role based redirection after Login<br>
233
- </h4>
234
- </center>
235
- <div class="mo_wpns_upgrade_page_2fa_lite_background">
236
-
237
- <center>
238
- <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
239
- <h1 class="mo_wpns_upgrade_pade_pricing">$49</h1>
240
-
241
- <?php echo mo2f_yearly_standard_pricing_onpremise(); ?>
242
- <?php echo mo2f_sms_cost();?>
243
- </center>
244
-
245
  <br>
246
- <div style="text-align: center;">
247
- <?php if( $is_customer_registered) {
248
- ?>
249
- <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>
250
- <?php }else{
251
- ?>
252
- <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" id="std_upgrade_onprem" onclick="mo2f_register_and_upgradeform('wp_security_two_factor_standard_lite_plan')">Upgrade</button>
253
- <?php }
254
- mo2f_payment_option_ui();
255
- ?>
256
-
257
-
258
- </div>
259
- </div>
260
  </div>
261
- <div class="mo_wpns_upgrade_page_space_in_div"></div>
262
- <div class="mo_wpns_upgrade_title_2fa_lite" >
263
- <div class="mo_wpns_upgrade_page_title_name">
264
- <h1 class="mo_wpns_upgrade_page_2fa_plan_name">Premium</h1>
265
- <hr class="mo_wpns_upgrade_page_hr">
266
- </div>
267
- <center>
268
- <h4>
269
- Unlimited Users<br>
270
- Multi-Site Support<br>
271
- Force Two Factor for users<br>
272
- Enable 2FA for specific User Roles<br>
273
-
274
- </h4>
275
- </center>
276
- <div class="mo_wpns_upgrade_page_2fa_lite_background">
277
- <center>
278
- <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
279
- <h1 class="mo_wpns_upgrade_pade_pricing">$99</h1>
280
-
281
- <?php echo mo2f_yearly_premium_pricing_onpremise(); ?>
282
- <?php echo mo2f_sms_cost();?>
283
- </center>
284
- <br>
285
- <div style="text-align: center;">
286
- <?php if( $is_customer_registered) {
287
- ?>
288
- <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>
289
- <?php
290
- }else{ ?>
291
- <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_register_and_upgradeform('wp_security_two_factor_premium_lite_plan')" >Upgrade</button>
292
- <?php }
293
- mo2f_payment_option_ui();
294
- ?>
295
-
296
-
297
- </div>
298
- </div>
299
- </div>
300
- <div class="mo_wpns_upgrade_page_space_in_div"></div>
301
-
302
- <div class="mo_wpns_upgrade_page_space_in_div"></div>
303
- <div style="width: 96%; min-height: 60px;background-color: white;float: left;border-bottom: 2px solid #2ba29b; text-align: center;">
304
- <h1 style="color: #2ba29b;">Features</h1>
305
- </div>
306
- </div>
307
-
308
  <br><br>
309
-
310
  <form class="mo2f_display_none_forms" id="mo2fa_loginform"
311
  action="<?php echo MO_HOST_NAME . '/moas/login'; ?>"
312
  target="_blank" method="post">
@@ -322,29 +222,18 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
322
  <input type="hidden" name="mo2fa_register_to_upgrade_nonce"
323
  value="<?php echo wp_create_nonce( 'miniorange-2-factor-user-reg-to-upgrade-nonce' ); ?>"/>
324
  </form>
325
-
326
 
327
-
328
- <div id="mo2f_features_id" style="display: block; float: left;width: 96.6%;">
329
  <?php
330
  include $mo2f_dirName . 'views'.DIRECTORY_SEPARATOR.'upgrade_2fa.php';?>
331
  </div>
332
- <div id="mo2f_2fa_lite_features_id" style="display: none; float: left;width: 96.6%;">
333
- <?php
334
- include $mo2f_dirName . 'views'.DIRECTORY_SEPARATOR.'upgrade_2fa_lite.php';
335
- ?>
336
- </div>
337
 
338
- <div id="mo_ns_features_only" style="display: none;margin-top: -2.5%;">
339
- <div class="mo_wpns_upgrade_page_2fa_ns">
340
- <div style="float: left;">
341
- <?php
342
- if (!get_option('mo_wpns_2fa_with_network_security') && ($_GET['page'] == 'mo_2fa_upgrade')) {
343
- echo '<a class="mo_wpns_button mo_wpns_button1" href="'.$two_fa.'">Back</a>';
344
- }
345
- ?>
346
- </div>
347
- <h1 class="mo_wpns_upgrade_page_2fa_ns_1"> Website Security Plans</h1></div>
348
  <div class="mo_wpns_upgrade_title11" >
349
  <div class="mo_wpns_upgrade_page_title_name">
350
  <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 250%;">
@@ -360,6 +249,7 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
360
  </ul>
361
  </b></center></div>
362
  <div class="mo_wpns_upgrade_page_ns_background">
 
363
  <center>
364
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
365
  <h1 class="mo_wpns_upgrade_pade_pricing">$50</h1>
@@ -373,13 +263,12 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
373
  ?>
374
  <button
375
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
376
- onclick="mo2f_upgradeform('wp_security_waf_plan')" >Upgrade</button>
377
  <?php }else{ ?>
378
  <button
379
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
380
- onclick="mo2f_register_and_upgradeform('wp_security_waf_plan')" >Upgrade</button>
381
- <?php }
382
- ?>
383
  </div></div>
384
  </div>
385
  <div class="mo_wpns_upgrade_page_space_in_div"></div>
@@ -398,6 +287,7 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
398
  </ul>
399
  </b></center></div>
400
  <div class="mo_wpns_upgrade_page_ns_background">
 
401
  <center>
402
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
403
  <h1 class="mo_wpns_upgrade_pade_pricing">$15</h1>
@@ -410,13 +300,12 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
410
  <?php if( $is_customer_registered) {
411
  ?>
412
  <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
413
- onclick="mo2f_upgradeform('wp_security_login_and_spam_plan')" >Upgrade</button>
414
  <?php }else{ ?>
415
 
416
  <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
417
- onclick="mo2f_register_and_upgradeform('wp_security_login_and_spam_plan')" >Upgrade</button>
418
- <?php }
419
- ?>
420
  </div>
421
  </div>
422
 
@@ -439,6 +328,7 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
439
  </b></center></div>
440
  <div class="mo_wpns_upgrade_page_ns_background">
441
  <center>
 
442
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
443
  <h1 class="mo_wpns_upgrade_pade_pricing">$15</h1>
444
 
@@ -450,14 +340,13 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
450
  ?>
451
  <button
452
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
453
- onclick="mo2f_upgradeform('wp_security_malware_plan')" >Upgrade</button>
454
  <?php }else{ ?>
455
 
456
  <button
457
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
458
- onclick="mo2f_register_and_upgradeform('wp_security_malware_plan')" >Upgrade</button>
459
- <?php }
460
- ?>
461
  </div>
462
  </div>
463
  </div>
@@ -479,6 +368,7 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
479
  <div class="mo_wpns_upgrade_page_ns_background">
480
 
481
  <center>
 
482
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
483
  <h1 class="mo_wpns_upgrade_pade_pricing">$30</h1>
484
 
@@ -490,67 +380,16 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
490
  ?>
491
  <button
492
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
493
- onclick="mo2f_upgradeform('wp_security_backup_plan')" >Upgrade</button>
494
  <?php }else{ ?>
495
  <button
496
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
497
- onclick="mo2f_register_and_upgradeform('wp_security_backup_plan')" >Upgrade</button>
498
- <?php }
499
- ?>
500
 
501
  </div></div></div>
502
- </div>
503
- <div id="mo2f_payment_option" class="mo_wpns_setting_layout" style="margin-top: 1%;width: 93.5%;margin-left: 0%;">
504
- <div>
505
- <h3>Supported Payment Methods</h3><hr>
506
- <div class="mo_2fa_container">
507
- <div class="mo_2fa_card-deck">
508
- <div class="mo_2fa_card mo_2fa_animation">
509
- <div class="mo_2fa_Card-header">
510
- <?php
511
- 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;">';?>
512
- </div>
513
- <hr style="border-top: 2px solid #143af4;">
514
- <div class="mo_2fa_card-body">
515
- <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>
516
- <p style="font-size: 110%;"><i><b>For guide
517
- <?php echo'<a href='.MoWpnsConstants::FAQ_PAYMENT_URL.' target="blank">Click Here.</a>';?></b></i></p>
518
-
519
- </div>
520
- </div>
521
- <div class="mo_2fa_card mo_2fa_animation">
522
- <div class="mo_2fa_Card-header">
523
- <?php
524
- 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;">';?>
525
- </div>
526
- <hr style="border-top: 2px solid #143af4;">
527
- <div class="mo_2fa_card-body">
528
- <?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>';?>
529
- <p style="font-size: 110%;"><i><b>Note:</b> There is an additional 18% GST applicable via PayPal.</i></p>
530
-
531
- </div>
532
- </div>
533
- <div class="mo_2fa_card mo_2fa_animation">
534
- <div class="mo_2fa_Card-header">
535
- <?php
536
- 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;">';?>
537
-
538
- </div>
539
- <hr style="border-top: 2px solid #143af4;">
540
- <div class="mo_2fa_card-body">
541
- <?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>';?>
542
- <p style="font-size: 110%;"><i><b>Note:</b> There is an additional 18% GST applicable via Bank Transfer.</i></p>
543
- </div>
544
- </div>
545
- </div>
546
- </div>
547
- <div class="mo_2fa_mo-supportnote">
548
- <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>
549
- </div>
550
- </div>
551
- </div>
552
-
553
- <div class="mo_wpns_setting_layout" style="width: 93.5%;margin-left: 0%;">
554
  <div>
555
  <h2>Steps to upgrade to the Premium Plan</h2>
556
  <ol class="mo2f_licensing_plans_ol">
@@ -564,7 +403,12 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
564
  <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>
565
  </ol>
566
  </div>
567
-
 
 
 
 
 
568
 
569
  <br>
570
  <hr>
@@ -594,57 +438,38 @@ if ($_GET['page'] == 'mo_2fa_upgrade') {
594
  </p>
595
  </div>
596
  </div>
597
- <br>
598
-
599
-
600
-
601
  <?php
602
- function mo2f_payment_option_ui()
603
- {
604
- ?>
605
- <br><br>
606
- <div style=" background-color: white;min-height: 35px;padding-top: 7px;">
607
- <a onclick="mo2f_payment_option()" style="color: black; "><b>Payment Options</b>
608
- <?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;">
609
- <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;">
610
- '; ?><b style="font-size: 17px">⮟</b>
611
- </a>
612
- </div>
613
- <?php
614
- }
615
- function mo2f_sms_cost() {
616
  ?>
617
- <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price" id="mo2f_sms_cost"
618
  title="<?php echo mo2f_lt( '(Only applicable if OTP over SMS is your preferred authentication method.)' ); ?>"><?php echo mo2f_lt( 'SMS + OTP Cost' ); ?>
619
  <b style="color: black;">[optional]</b><br/>
620
  <select id="mo2f_sms" class="form-control" style="border-radius:5px;width:200px;">
621
- <option><?php echo mo2f_lt( '$1 per 100 OTP + SMS delivery charges' ); ?></option>
622
- <option><?php echo mo2f_lt( '$5 per 500 OTP + SMS delivery charges' ); ?></option>
623
- <option><?php echo mo2f_lt( '$7 per 1k OTP + SMS delivery charges' ); ?></option>
624
- <option><?php echo mo2f_lt( '$24 per 5k OTP + SMS delivery charges' ); ?></option>
625
- <option><?php echo mo2f_lt( '$43 per 10k OTP + SMS delivery charges' ); ?></option>
626
- <option><?php echo mo2f_lt( '$160 per 50k OTP + SMS delivery charges' ); ?></option>
627
  </select>
628
  </p>
629
-
630
  <?php
631
  }
632
  function mo2f_yearly_standard_pricing_plan() {
633
  ?>
634
-
635
  <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
636
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
637
 
638
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
639
- <option> <?php echo mo2f_lt( 'Upto 2 users - $5 per year' ); ?> </option>
640
- <option> <?php echo mo2f_lt( 'Upto 5 users - $20 per year' ); ?> </option>
641
- <option> <?php echo mo2f_lt( 'Upto 50 users - $30 per year' ); ?> </option>
642
- <option> <?php echo mo2f_lt( 'Upto 100 users - $49 per year' ); ?> </option>
643
- <option> <?php echo mo2f_lt( 'Upto 500 users - $99 per year' ); ?> </option>
644
- <option> <?php echo mo2f_lt( 'Upto 1000 users - $199 per year' ); ?> </option>
645
- <option> <?php echo mo2f_lt( 'Upto 5000 users - $299 per year' ); ?> </option>
646
- <option> <?php echo mo2f_lt( 'Upto 10000 users - $499 per year' ); ?></option>
647
- <option> <?php echo mo2f_lt( 'Upto 20000 users - $799 per year' ); ?> </option>
648
 
649
  </select>
650
  </p>
@@ -656,14 +481,14 @@ function mo2f_yearly_premium_pricing_plan() {
656
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
657
 
658
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
659
- <option> <?php echo mo2f_lt( 'Upto 5 users - $30 per year' ); ?> </option>
660
- <option> <?php echo mo2f_lt( 'Upto 50 users - $99 per year' ); ?> </option>
661
- <option> <?php echo mo2f_lt( 'Upto 100 users - $199 per year' ); ?> </option>
662
- <option> <?php echo mo2f_lt( 'Upto 500 users - $349 per year' ); ?> </option>
663
- <option> <?php echo mo2f_lt( 'Upto 1000 users - $499 per year' ); ?> </option>
664
- <option> <?php echo mo2f_lt( 'Upto 5000 users - $799 per year' ); ?> </option>
665
- <option> <?php echo mo2f_lt( 'Upto 10000 users - $999 per year ' ); ?></option>
666
- <option> <?php echo mo2f_lt( 'Upto 20000 users - $1449 per year' ); ?> </option>
667
 
668
  </select>
669
  </p>
@@ -675,45 +500,29 @@ function mo2f_yearly_all_inclusive_pricing_plan() {
675
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
676
 
677
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
678
- <option> <?php echo mo2f_lt( 'Upto 5 users - $59 per year' ); ?> </option>
679
- <option> <?php echo mo2f_lt( 'Upto 50 users - $128 per year' ); ?> </option>
680
- <option> <?php echo mo2f_lt( 'Upto 100 users - $228 per year' ); ?> </option>
681
- <option> <?php echo mo2f_lt( 'Upto 500 users - $378 per year' ); ?> </option>
682
- <option> <?php echo mo2f_lt( 'Upto 1000 users - $528 per year' ); ?> </option>
683
- <option> <?php echo mo2f_lt( 'Upto 5000 users - $828 per year' ); ?> </option>
684
- <option> <?php echo mo2f_lt( 'Upto 10000 users - $1028 per year ' ); ?></option>
685
- <option> <?php echo mo2f_lt( 'Upto 20000 users - $1478 per year' ); ?> </option>
686
 
687
  </select>
688
  </p>
689
  <?php
690
  }
691
- function mo2f_yearly_premium_pricing_onpremise() {
692
- ?>
693
- <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
694
- id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
695
- <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
696
- <option> <?php echo mo2f_lt( '1 site - $99 per year' ); ?> </option>
697
- <option> <?php echo mo2f_lt( 'Upto 2 sites - $159 per year' ); ?> </option>
698
- <option> <?php echo mo2f_lt( 'Upto 5 sites - $199 per year' ); ?> </option>
699
- <option> <?php echo mo2f_lt( 'Upto 10 sites - $259 per year' ); ?> </option>
700
- <option> <?php echo mo2f_lt( 'Upto 25 sites - $349 per year' ); ?> </option>
701
- <option> <?php echo mo2f_lt( '25+ sites - contact us' ); ?> </option>
702
- </select>
703
- </p>
704
- <?php
705
- }
706
- function mo2f_yearly_standard_pricing_onpremise() {
707
  ?>
708
  <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
709
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
 
710
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
711
- <option> <?php echo mo2f_lt( '1 site - $49 per year' ); ?> </option>
712
- <option> <?php echo mo2f_lt( 'Upto 2 sites - $79 per year' ); ?> </option>
713
- <option> <?php echo mo2f_lt( 'Upto 5 sites - $99 per year' ); ?> </option>
714
- <option> <?php echo mo2f_lt( 'Upto 10 sites - $149 per year' ); ?> </option>
715
- <option> <?php echo mo2f_lt( 'Upto 25 sites - $199 per year' ); ?> </option>
716
- <option> <?php echo mo2f_lt( '25+ sites - contact us' ); ?> </option>
717
  </select>
718
  </p>
719
  <?php
@@ -725,12 +534,11 @@ function mo2f_waf_yearly_standard_pricing() {
725
 
726
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
727
  <option> <?php echo mo2f_lt( '1 site - $50 per year' ); ?> </option>
728
- <option> <?php echo mo2f_lt( 'Upto 5 sites - $100 per year' ); ?> </option>
729
- <option> <?php echo mo2f_lt( 'Upto 10 sites - $150 per year' ); ?> </option>
730
 
731
  </select>
732
  </p>
733
- <div><br></div>
734
  <?php
735
  }
736
  function mo2f_login_yearly_standard_pricing() {
@@ -740,12 +548,11 @@ function mo2f_login_yearly_standard_pricing() {
740
 
741
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
742
  <option> <?php echo mo2f_lt( '1 site - $15 per year' ); ?> </option>
743
- <option> <?php echo mo2f_lt( 'Upto 5 sites - $35 per year' ); ?> </option>
744
- <option> <?php echo mo2f_lt( 'Upto 10 sites - $60 per year' ); ?> </option>
745
 
746
  </select>
747
  </p>
748
- <div><br></div>
749
  <?php
750
  }
751
  function mo2f_backup_yearly_standard_pricing() {
@@ -755,12 +562,11 @@ function mo2f_backup_yearly_standard_pricing() {
755
 
756
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
757
  <option> <?php echo mo2f_lt( '1 site - $30 per year' ); ?> </option>
758
- <option> <?php echo mo2f_lt( 'Upto 5 sites - $50 per year' ); ?> </option>
759
- <option> <?php echo mo2f_lt( 'Upto 10 sites - $70 per year' ); ?> </option>
760
 
761
  </select>
762
  </p>
763
- <div><br></div>
764
  <?php
765
  }
766
  function mo2f_scanner_yearly_standard_pricing() {
@@ -770,12 +576,11 @@ function mo2f_scanner_yearly_standard_pricing() {
770
 
771
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
772
  <option> <?php echo mo2f_lt( '1 site - $15 per year' ); ?> </option>
773
- <option> <?php echo mo2f_lt( 'Upto 5 sites - $35 per year' ); ?> </option>
774
- <option> <?php echo mo2f_lt( 'Upto 10 sites - $60 per year' ); ?> </option>
775
 
776
  </select>
777
  </p>
778
- <div><br></div>
779
  <?php
780
  }
781
  ?>
@@ -789,28 +594,51 @@ function wpns_pricing()
789
  </script>
790
 
791
  <script type="text/javascript">
 
792
 
793
  function mo2fa_show_detail_features()
794
  {
795
- jQuery("#mo2f_features_id").hide(1500);
 
 
 
796
 
797
  document.getElementById("mo2f_show_features").style.display = "none";
798
  document.getElementById("mo2f_hide_features").style.display = "block";
799
 
 
 
 
 
 
 
 
 
 
 
800
  }
801
 
802
  function mo2fa_hide_detail_features()
803
  {
804
- jQuery("#mo2f_features_id").show(1500);
 
805
 
806
  document.getElementById("mo2f_show_features").style.display = "block";
807
  document.getElementById("mo2f_hide_features").style.display = "none";
808
 
 
 
 
 
 
 
 
 
 
 
 
809
  }
810
- function mo2f_payment_option()
811
- {
812
- document.getElementById('mo2f_payment_option').scrollIntoView();
813
- }
814
  function mo2f_features()
815
  {
816
  document.getElementById("mo2f_visible").style.display = "block";
@@ -820,58 +648,26 @@ function wpns_pricing()
820
  document.getElementById("mo2f_visible").style.display = "none";
821
  document.getElementById("mo2f_features_id").style.display = "none";
822
  }
823
- function mo2f_upgradeform(planType)
824
- {
825
- jQuery('#requestOrigin').val(planType);
826
- jQuery('#mo2fa_loginform').submit();
827
- }
828
- function mo2f_register_and_upgradeform(planType)
829
- {
830
  jQuery('#requestOrigin').val(planType);
831
  jQuery('input[name="requestOrigin"]').val(planType);
832
  jQuery('#mo2fa_register_to_upgrade_form').submit();
833
- }
834
-
835
- function mo_2fa_lite_show_plans()
836
- {
837
- document.getElementById('mo_2fa_lite_features_only').style.display = "block";
838
- document.getElementById('mo_2fa_features_only').style.display = "none";
839
- document.getElementById('mo_ns_features_only').style.display = "none";
840
- document.getElementById('mo2f_features_id').style.display = "none";
841
- document.getElementById('mo2f_2fa_lite_features_id').style.display = "block";
842
- document.getElementById('mo_2fa_lite_licensing_plans_title').style.display = "none";
843
- document.getElementById('mo_2fa_lite_licensing_plans_title1').style.display = "block";
844
- document.getElementById('mo_ns_licensing_plans_title').style.display = "block";
845
- document.getElementById('mo_ns_licensing_plans_title1').style.display = "none";
846
- document.getElementById('mo_2fa_licensing_plans_title').style.display = "block";
847
- document.getElementById('mo_2fa_licensing_plans_title1').style.display = "none";
848
- }
849
- function mo_2fa_show_plans()
850
- {
851
- document.getElementById('mo_2fa_features_only').style.display = "block";
852
- document.getElementById('mo_ns_features_only').style.display = "none";
853
- document.getElementById('mo2f_features_id').style.display = "block";
854
- document.getElementById('mo2f_2fa_lite_features_id').style.display = "none";
855
- document.getElementById('mo_2fa_lite_features_only').style.display = "none";
856
- document.getElementById('mo_ns_licensing_plans_title').style.display = "block";
857
- document.getElementById('mo_ns_licensing_plans_title1').style.display = "none";
858
- document.getElementById('mo_2fa_licensing_plans_title').style.display = "none";
859
- document.getElementById('mo_2fa_licensing_plans_title1').style.display = "block";
860
- document.getElementById('mo_2fa_lite_licensing_plans_title').style.display = "block";
861
- document.getElementById('mo_2fa_lite_licensing_plans_title1').style.display = "none";
862
- }
863
- function mo_ns_show_plans()
864
- {
865
- document.getElementById('mo_2fa_features_only').style.display = "none";
866
- document.getElementById('mo_ns_features_only').style.display = "block";
867
- document.getElementById('mo2f_features_id').style.display = "none";
868
- document.getElementById('mo2f_2fa_lite_features_id').style.display = "none";
869
- document.getElementById('mo_2fa_lite_features_only').style.display = "none";
870
- document.getElementById('mo_2fa_licensing_plans_title').style.display = "block";
871
- document.getElementById('mo_2fa_licensing_plans_title1').style.display = "none";
872
- document.getElementById('mo_ns_licensing_plans_title1').style.display = "block";
873
- document.getElementById('mo_ns_licensing_plans_title').style.display = "none";
874
- document.getElementById('mo_2fa_lite_licensing_plans_title').style.display = "block";
875
- document.getElementById('mo_2fa_lite_licensing_plans_title1').style.display = "none";
876
- }
877
- </script>
8
  ?><br><br><?php
9
  }
10
  ?>
11
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  <div class="mo_wpns_upgrade_page_2fa_ns">
13
  <div style="float: left;">
14
  <?php
17
  }
18
  ?>
19
  </div>
20
+ <h1 class="mo_wpns_upgrade_page_2fa_ns_1"> 2 Factor Authentication</h1> <span></span>
21
  </div>
22
  <div class="mo_wpns_upgrade_title11">
23
  <div class="mo_wpns_upgrade_page_title_name">
33
  </center>
34
  <div class="mo_wpns_upgrade_page_2fa_background"><br><br><br><br><br><br><br><br><br>
35
  <h1 style="text-align: center;color: white;">Current Plan</h1>
36
+ </div>
37
+ <div>
38
+ <a class="mo_wpns_upgrade_page_show_feature_arrow" id="mo2fa_show_free_features" onclick="mo2fa_show_detail_features()">
39
+ <span class="mo_wpns_upgrade_page_arrow_size">⮟</span></a>
40
+ <a class="mo_wpns_upgrade_page_hide_feature_arrow" id="mo2fa_hide_free_features" onclick="mo2fa_hide_detail_features()">
41
+ <span class="mo_wpns_upgrade_page_arrow_size">⮝</span></a>
42
+ </div>
43
 
44
 
45
  </div>
62
  <div class="mo_wpns_upgrade_page_2fa_background">
63
 
64
  <center>
65
+ <br>
66
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
67
  <h1 class="mo_wpns_upgrade_pade_pricing">$5</h1>
68
 
69
  <?php echo mo2f_yearly_standard_pricing_plan(); ?>
70
+ <?php echo mo2f_sms_cost1();?>
71
  </center>
72
 
73
  <br>
74
  <div style="text-align: center;">
75
  <?php if( $is_customer_registered) {
76
  ?>
77
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_upgradeform1('wp_2fa_basic_plan')" >Upgrade</button>
78
  <?php }else{
79
  ?>
80
+ <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>
81
+ <?php } ?>
82
+ <div id="mo_upgrade_plan_cloud" style="display: hidden;" disabled>
83
+ <?php
84
+ if (get_option('mo_wpns_upgrade_onprem'))
85
+ {
86
+ $user = wp_get_current_user();
87
+ if( $is_customer_registered)
88
+ {
89
+ ?>
90
+ <script type="text/javascript">
91
+ var plantype = "<?php echo get_option('mo_wpns_plantype');?>";
92
+ var data = {
93
+ 'action' : 'wpns_login_security',
94
+ 'wpns_loginsecurity_ajax' : 'wpns_upgrade_idp',
95
+ };
96
+ jQuery.post(ajaxurl, data, function(response) {
97
+ mo2f_upgradeform1(plantype);
98
+ });
99
+ </script>
100
+ <?php
101
+ }
102
+ else
103
+ display_customer_registration_forms( $user);
104
+ }
105
+ ?>
106
+ </div>
107
 
108
  </div>
109
  </div>
110
+ <div>
111
+ <a class="mo_wpns_upgrade_page_show_feature_arrow" id="mo2fa_show_standard_features" onclick="mo2fa_show_detail_features()"><span class="mo_wpns_upgrade_page_arrow_size">⮟</span></a>
112
+ <a class="mo_wpns_upgrade_page_hide_feature_arrow" id="mo2fa_hide_standard_features" onclick="mo2fa_hide_detail_features()"><span class="mo_wpns_upgrade_page_arrow_size">⮝</span></a>
113
+
114
+ </div>
115
  </div>
116
  <div class="mo_wpns_upgrade_page_space_in_div"></div>
117
  <div class="mo_wpns_upgrade_title11" >
129
  </h4>
130
  </center>
131
  <div class="mo_wpns_upgrade_page_2fa_background">
132
+ <center><br>
133
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
134
  <h1 class="mo_wpns_upgrade_pade_pricing">$30</h1>
135
 
136
  <?php echo mo2f_yearly_premium_pricing_plan(); ?>
137
+ <?php echo mo2f_sms_cost1();?>
138
  </center>
139
  <br>
140
  <div style="text-align: center;">
141
  <?php if( $is_customer_registered) {
142
  ?>
143
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_upgradeform1('wp_2fa_premium_plan')" >Upgrade</button>
144
  <?php
145
  }else{ ?>
146
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="mo2f_registration_before_upgrade('wp_2fa_premium_plan')" >Upgrade</button>
147
+ <?php } ?>
 
 
148
 
149
 
150
  </div>
151
  </div>
152
+ <div>
153
+ <a class="mo_wpns_upgrade_page_show_feature_arrow" id="mo2fa_show_premium_features" onclick="mo2fa_show_detail_features()"><span class="mo_wpns_upgrade_page_arrow_size">⮟</span></a>
154
+ <a class="mo_wpns_upgrade_page_hide_feature_arrow" id="mo2fa_hide_premium_features" onclick="mo2fa_hide_detail_features()"><span class="mo_wpns_upgrade_page_arrow_size">⮝</span></a>
155
+
156
+ </div>
157
  </div>
158
  <div class="mo_wpns_upgrade_page_space_in_div"></div>
159
  <div class="mo_wpns_upgrade_title11" >
174
  </center>
175
  <div class="mo_wpns_upgrade_page_2fa_background">
176
  <center>
177
+ <br>
178
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
179
  <h1 class="mo_wpns_upgrade_pade_pricing">$59</h1>
180
  <?php echo mo2f_yearly_all_inclusive_pricing_plan(); ?>
181
+ <?php echo mo2f_sms_cost1();?>
182
  </center>
183
 
184
  <br>
185
  <div style="text-align: center;">
186
  <?php if( $is_customer_registered) {
187
  ?>
188
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_upgradeform1('wp_2fa_enterprise_plan')" >Upgrade</button>
189
  <?php
190
  }else
191
  { ?>
192
+ <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="mo2f_registration_before_upgrade('wp_2fa_enterprise_plan')" >Upgrade</button>
193
+ <?php } ?>
 
 
194
  </div>
195
  </div>
196
+ <div>
197
+ <a class="mo_wpns_upgrade_page_show_feature_arrow" id="mo2fa_show_enterprise_features" onclick="mo2fa_show_detail_features()"><span class="mo_wpns_upgrade_page_arrow_size">⮟</span></a>
198
+ <a class="mo_wpns_upgrade_page_hide_feature_arrow" id="mo2fa_hide_enterprise_features" onclick="mo2fa_hide_detail_features()"><span class="mo_wpns_upgrade_page_arrow_size">⮝</span></a>
199
+
200
+ </div>
201
  </div>
202
  <div class="mo_wpns_upgrade_page_space_in_div"></div>
203
  <div style="width: 96%; min-height: 60px;background-color: white;float: left;border-bottom: 2px solid #2ba29b; text-align: center;">
204
  <br>
205
+ <a id= "mo2f_show_features" class="mo_wpns_upgrade_page_show_feature" onclick="mo2fa_show_detail_features()"><span style="font-size: 63%;"><u>Show more Features</u></span></a>
206
+ <a id= "mo2f_hide_features" class="mo_wpns_upgrade_page_hide_feature" onclick="mo2fa_hide_detail_features()"><span style="font-size: 63%;"><u>Hide Features</u></span></a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
  <br>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  <br><br>
 
210
  <form class="mo2f_display_none_forms" id="mo2fa_loginform"
211
  action="<?php echo MO_HOST_NAME . '/moas/login'; ?>"
212
  target="_blank" method="post">
222
  <input type="hidden" name="mo2fa_register_to_upgrade_nonce"
223
  value="<?php echo wp_create_nonce( 'miniorange-2-factor-user-reg-to-upgrade-nonce' ); ?>"/>
224
  </form>
 
225
 
226
+
227
+ <div id="mo2f_features_id" style="display: none; float: left;width: 96.6%;">
228
  <?php
229
  include $mo2f_dirName . 'views'.DIRECTORY_SEPARATOR.'upgrade_2fa.php';?>
230
  </div>
231
+
 
 
 
 
232
 
233
+ <?php ?>
234
+ <div style="float: left;min-height: 40px;width: 96.2%;">
235
+ </div>
236
+ <div class="mo_wpns_upgrade_page_2fa_ns"><h1 class="mo_wpns_upgrade_page_2fa_ns_1"> Website Security Plans</h1></div>
 
 
 
 
 
 
237
  <div class="mo_wpns_upgrade_title11" >
238
  <div class="mo_wpns_upgrade_page_title_name">
239
  <h1 style="margin-top: 0%;padding: 10% 0% 0% 0%; color: white;font-size: 250%;">
249
  </ul>
250
  </b></center></div>
251
  <div class="mo_wpns_upgrade_page_ns_background">
252
+ <br>
253
  <center>
254
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
255
  <h1 class="mo_wpns_upgrade_pade_pricing">$50</h1>
263
  ?>
264
  <button
265
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
266
+ onclick="mo2f_upgradeform1('wp_security_waf_plan')" >Upgrade</button>
267
  <?php }else{ ?>
268
  <button
269
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
270
+ onclick="mo2f_registration_before_upgrade('wp_security_waf_plan')" >Upgrade</button>
271
+ <?php } ?>
 
272
  </div></div>
273
  </div>
274
  <div class="mo_wpns_upgrade_page_space_in_div"></div>
287
  </ul>
288
  </b></center></div>
289
  <div class="mo_wpns_upgrade_page_ns_background">
290
+ <br>
291
  <center>
292
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
293
  <h1 class="mo_wpns_upgrade_pade_pricing">$15</h1>
300
  <?php if( $is_customer_registered) {
301
  ?>
302
  <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
303
+ onclick="mo2f_upgradeform1('wp_security_login_and_spam_plan')" >Upgrade</button>
304
  <?php }else{ ?>
305
 
306
  <button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
307
+ onclick="mo2f_registration_before_upgrade('wp_security_login_and_spam_plan')" >Upgrade</button>
308
+ <?php } ?>
 
309
  </div>
310
  </div>
311
 
328
  </b></center></div>
329
  <div class="mo_wpns_upgrade_page_ns_background">
330
  <center>
331
+ <br>
332
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
333
  <h1 class="mo_wpns_upgrade_pade_pricing">$15</h1>
334
 
340
  ?>
341
  <button
342
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
343
+ onclick="mo2f_upgradeform1('wp_security_malware_plan')" >Upgrade</button>
344
  <?php }else{ ?>
345
 
346
  <button
347
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
348
+ onclick="mo2f_registration_before_upgrade('wp_security_malware_plan')" >Upgrade</button>
349
+ <?php } ?>
 
350
  </div>
351
  </div>
352
  </div>
368
  <div class="mo_wpns_upgrade_page_ns_background">
369
 
370
  <center>
371
+ <br>
372
  <h4 class="mo_wpns_upgrade_page_starting_price">Starting From</h4>
373
  <h1 class="mo_wpns_upgrade_pade_pricing">$30</h1>
374
 
380
  ?>
381
  <button
382
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
383
+ onclick="mo2f_upgradeform1('wp_security_backup_plan')" >Upgrade</button>
384
  <?php }else{ ?>
385
  <button
386
  class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
387
+ onclick="mo2f_registration_before_upgrade('wp_security_backup_plan')" >Upgrade</button>
388
+ <?php } ?>
 
389
 
390
  </div></div></div>
391
+
392
+ <div style="float: left; background-color: white; min-height: 100px;width: 91.9%;margin-top: 4%;height: auto;padding: 2%; border: 2px solid #20b2aa;">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
393
  <div>
394
  <h2>Steps to upgrade to the Premium Plan</h2>
395
  <ol class="mo2f_licensing_plans_ol">
403
  <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>
404
  </ol>
405
  </div>
406
+ <div>
407
+ <h2>Note</h2>
408
+ <ul class="mo2f_licensing_plans_ol">
409
+ <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>
410
+ </ul>
411
+ </div>
412
 
413
  <br>
414
  <hr>
438
  </p>
439
  </div>
440
  </div>
 
 
 
 
441
  <?php
442
+ function mo2f_sms_cost1() {
 
 
 
 
 
 
 
 
 
 
 
 
 
443
  ?>
444
+ <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price" id="mo2f_sms_cost1"
445
  title="<?php echo mo2f_lt( '(Only applicable if OTP over SMS is your preferred authentication method.)' ); ?>"><?php echo mo2f_lt( 'SMS + OTP Cost' ); ?>
446
  <b style="color: black;">[optional]</b><br/>
447
  <select id="mo2f_sms" class="form-control" style="border-radius:5px;width:200px;">
448
+ <option><?php echo mo2f_lt( '$5 per 100 OTP + SMS delivery charges' ); ?></option>
449
+ <option><?php echo mo2f_lt( '$15 per 500 OTP + SMS delivery charges' ); ?></option>
450
+ <option><?php echo mo2f_lt( '$22 per 1k OTP + SMS delivery charges' ); ?></option>
451
+ <option><?php echo mo2f_lt( '$30 per 5k OTP + SMS delivery charges' ); ?></option>
452
+ <option><?php echo mo2f_lt( '$40 per 10k OTP + SMS delivery charges' ); ?></option>
453
+ <option><?php echo mo2f_lt( '$90 per 50k OTP + SMS delivery charges' ); ?></option>
454
  </select>
455
  </p>
 
456
  <?php
457
  }
458
  function mo2f_yearly_standard_pricing_plan() {
459
  ?>
 
460
  <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
461
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
462
 
463
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
464
+ <option> <?php echo mo2f_lt( '1 - 2 users - $5 per year' ); ?> </option>
465
+ <option> <?php echo mo2f_lt( '3 - 5 users - $20 per year' ); ?> </option>
466
+ <option> <?php echo mo2f_lt( '6 - 50 users - $30 per year' ); ?> </option>
467
+ <option> <?php echo mo2f_lt( '51 - 100 users - $49 per year' ); ?> </option>
468
+ <option> <?php echo mo2f_lt( '101 - 500 users - $99 per year' ); ?> </option>
469
+ <option> <?php echo mo2f_lt( '501 - 1000 users - $199 per year' ); ?> </option>
470
+ <option> <?php echo mo2f_lt( '1001 - 5000 users - $299 per year' ); ?> </option>
471
+ <option> <?php echo mo2f_lt( '5001 - 10000 users - $499 per year' ); ?></option>
472
+ <option> <?php echo mo2f_lt( '10001 - 20000 users - $799 per year' ); ?> </option>
473
 
474
  </select>
475
  </p>
481
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
482
 
483
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
484
+ <option> <?php echo mo2f_lt( '1 - 5 users - $30 per year' ); ?> </option>
485
+ <option> <?php echo mo2f_lt( '6 - 50 users - $99 per year' ); ?> </option>
486
+ <option> <?php echo mo2f_lt( '51 - 100 users - $199 per year' ); ?> </option>
487
+ <option> <?php echo mo2f_lt( '101 - 500 users - $349 per year' ); ?> </option>
488
+ <option> <?php echo mo2f_lt( '501 - 1000 users - $499 per year' ); ?> </option>
489
+ <option> <?php echo mo2f_lt( '1001 - 5000 users - $799 per year' ); ?> </option>
490
+ <option> <?php echo mo2f_lt( '5001 - 10000 users - $999 per year ' ); ?></option>
491
+ <option> <?php echo mo2f_lt( '10001 - 20000 users - $1449 per year' ); ?> </option>
492
 
493
  </select>
494
  </p>
500
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
501
 
502
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
503
+ <option> <?php echo mo2f_lt( '1 - 5 users - $59 per year' ); ?> </option>
504
+ <option> <?php echo mo2f_lt( '6 - 50 users - $128 per year' ); ?> </option>
505
+ <option> <?php echo mo2f_lt( '51 - 100 users - $228 per year' ); ?> </option>
506
+ <option> <?php echo mo2f_lt( '101 - 500 users - $378 per year' ); ?> </option>
507
+ <option> <?php echo mo2f_lt( '501 - 1000 users - $528 per year' ); ?> </option>
508
+ <option> <?php echo mo2f_lt( '1001 - 5000 users - $828 per year' ); ?> </option>
509
+ <option> <?php echo mo2f_lt( '5001 - 10000 users - $1028 per year ' ); ?></option>
510
+ <option> <?php echo mo2f_lt( '10001 - 20000 users - $1478 per year' ); ?> </option>
511
 
512
  </select>
513
  </p>
514
  <?php
515
  }
516
+ function mo2f_yearly_standard_pricing1() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
517
  ?>
518
  <p class="mo2f_pricing_text mo_wpns_upgrade_page_starting_price"
519
  id="mo2f_yearly_sub"><?php echo __( 'Yearly Subscription Fees', 'miniorange-2-factor-authentication' ); ?><br>
520
+
521
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
522
+ <option> <?php echo mo2f_lt( '1 site - $15 per year' ); ?> </option>
523
+ <option> <?php echo mo2f_lt( '5 sites - $35 per year' ); ?> </option>
524
+ <option> <?php echo mo2f_lt( '10 sites - $60 per year' ); ?> </option>
525
+
 
 
526
  </select>
527
  </p>
528
  <?php
534
 
535
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
536
  <option> <?php echo mo2f_lt( '1 site - $50 per year' ); ?> </option>
537
+ <option> <?php echo mo2f_lt( '5 sites - $100 per year' ); ?> </option>
538
+ <option> <?php echo mo2f_lt( '10 sites - $150 per year' ); ?> </option>
539
 
540
  </select>
541
  </p>
 
542
  <?php
543
  }
544
  function mo2f_login_yearly_standard_pricing() {
548
 
549
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
550
  <option> <?php echo mo2f_lt( '1 site - $15 per year' ); ?> </option>
551
+ <option> <?php echo mo2f_lt( '5 sites - $35 per year' ); ?> </option>
552
+ <option> <?php echo mo2f_lt( '10 sites - $60 per year' ); ?> </option>
553
 
554
  </select>
555
  </p>
 
556
  <?php
557
  }
558
  function mo2f_backup_yearly_standard_pricing() {
562
 
563
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
564
  <option> <?php echo mo2f_lt( '1 site - $30 per year' ); ?> </option>
565
+ <option> <?php echo mo2f_lt( '5 sites - $50 per year' ); ?> </option>
566
+ <option> <?php echo mo2f_lt( '10 sites - $70 per year' ); ?> </option>
567
 
568
  </select>
569
  </p>
 
570
  <?php
571
  }
572
  function mo2f_scanner_yearly_standard_pricing() {
576
 
577
  <select id="mo2f_yearly" class="form-control" style="border-radius:5px;width:200px;">
578
  <option> <?php echo mo2f_lt( '1 site - $15 per year' ); ?> </option>
579
+ <option> <?php echo mo2f_lt( '5 sites - $35 per year' ); ?> </option>
580
+ <option> <?php echo mo2f_lt( '10 sites - $60 per year' ); ?> </option>
581
 
582
  </select>
583
  </p>
 
584
  <?php
585
  }
586
  ?>
594
  </script>
595
 
596
  <script type="text/javascript">
597
+ var $='jQuery';
598
 
599
  function mo2fa_show_detail_features()
600
  {
601
+ // jQuery("#mo2f_features_id").slideToggle();
602
+ jQuery("#mo2f_features_id").show(1500);
603
+
604
+ document.getElementById('mo2fa_show_enterprise_features').scrollIntoView();
605
 
606
  document.getElementById("mo2f_show_features").style.display = "none";
607
  document.getElementById("mo2f_hide_features").style.display = "block";
608
 
609
+ document.getElementById("mo2fa_show_free_features").style.display = "none";
610
+ document.getElementById("mo2fa_hide_free_features").style.display = "block";
611
+ document.getElementById("mo2fa_show_enterprise_features").style.display = "none";
612
+ document.getElementById("mo2fa_hide_enterprise_features").style.display = "block";
613
+
614
+ document.getElementById("mo2fa_show_standard_features").style.display = "none";
615
+ document.getElementById("mo2fa_hide_standard_features").style.display = "block";
616
+
617
+ document.getElementById("mo2fa_show_premium_features").style.display = "none";
618
+ document.getElementById("mo2fa_hide_premium_features").style.display = "block";
619
  }
620
 
621
  function mo2fa_hide_detail_features()
622
  {
623
+ // jQuery("#mo2f_features_id").slideToggle();
624
+ jQuery("#mo2f_features_id").hide(1500);
625
 
626
  document.getElementById("mo2f_show_features").style.display = "block";
627
  document.getElementById("mo2f_hide_features").style.display = "none";
628
 
629
+ document.getElementById("mo2fa_show_free_features").style.display = "block";
630
+ document.getElementById("mo2fa_hide_free_features").style.display = "none";
631
+
632
+ document.getElementById("mo2fa_show_enterprise_features").style.display = "block";
633
+ document.getElementById("mo2fa_hide_enterprise_features").style.display = "none";
634
+
635
+ document.getElementById("mo2fa_show_standard_features").style.display = "block";
636
+ document.getElementById("mo2fa_hide_standard_features").style.display = "none";
637
+
638
+ document.getElementById("mo2fa_show_premium_features").style.display = "block";
639
+ document.getElementById("mo2fa_hide_premium_features").style.display = "none";
640
  }
641
+
 
 
 
642
  function mo2f_features()
643
  {
644
  document.getElementById("mo2f_visible").style.display = "block";
648
  document.getElementById("mo2f_visible").style.display = "none";
649
  document.getElementById("mo2f_features_id").style.display = "none";
650
  }
651
+ function mo2f_upgradeform1(planType) {
652
+ jQuery('#requestOrigin').val(planType);
653
+ jQuery('#mo2fa_loginform').submit();
654
+ }
655
+
656
+ function mo2f_register_and_upgradeform1(planType) {
 
657
  jQuery('#requestOrigin').val(planType);
658
  jQuery('input[name="requestOrigin"]').val(planType);
659
  jQuery('#mo2fa_register_to_upgrade_form').submit();
660
+ }
661
+ function mo2f_registration_before_upgrade(plantype)
662
+ {
663
+ var plantype = plantype;
664
+ var data = {
665
+ 'action' : 'wpns_login_security',
666
+ 'wpns_loginsecurity_ajax' : 'wpns_upgrade',
667
+ 'plantype' : plantype,
668
+ };
669
+ jQuery.post(ajaxurl, data, function(response) {
670
+ location.reload(true);
671
+ });
672
+ }
673
+ </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/upgrade_2fa.php CHANGED
@@ -8,7 +8,8 @@
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,13 +20,13 @@
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,12 +57,13 @@
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,13 +75,13 @@
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,12 +100,13 @@
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,13 +117,13 @@
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,9 +306,6 @@
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
 
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
  "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
 
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
  "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
  ),
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
  "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
  <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
 
views/upgrade_2fa_lite.php DELETED
@@ -1,420 +0,0 @@
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
- }