Version Description
- Google Authenticator-Two Factor Authentication (2FA) : Security and MFA UI updates.
Download this release
Release Info
Developer | cyberlord92 |
Plugin | 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 +8 -3
- controllers/dashboard_ajax.php +2 -19
- controllers/main_controller.php +2 -4
- controllers/wpns-loginsecurity-ajax.php +14 -1
- handler/login.php +1 -0
- handler/security_features.php +0 -9
- handler/twofa/setup_twofa.php +1 -1
- handler/twofa/two_fa_settings.php +1 -0
- helper/constants.php +1 -1
- includes/css/style_settings.css +9 -151
- includes/images/card.png +0 -0
- includes/images/netbanking.png +0 -0
- includes/images/paypal.png +0 -0
- includes/js/settings_page.js +0 -17
- miniorange_2_factor_settings.php +11 -16
- readme.txt +16 -36
- views/dashboard.php +8 -22
- views/navbar.php +2 -3
- views/registration-security.php +5 -2
- views/twofa/setup/setup_google_authenticator.php +63 -98
- views/twofa/setup/setup_google_authenticator_onpremise.php +63 -100
- views/twofa/two_fa.php +2 -2
- views/upgrade.php +193 -397
- views/upgrade_2fa.php +29 -29
- views/upgrade_2fa_lite.php +0 -420
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 |
-
|
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
|
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 |
-
|
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 |
-
|
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:
|
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:
|
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 |
-
|
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:
|
560 |
height: 100px;
|
561 |
margin-left: 1%;
|
562 |
font-weight: 600;
|
@@ -598,11 +463,8 @@
|
|
598 |
|
599 |
.mo_wpns_dashboard_text
|
600 |
{
|
601 |
-
|
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:
|
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:
|
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'>  "+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'>  "+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 |
* 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.
|
13 |
-
define( 'MO2F_TEST_MODE',
|
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(
|
73 |
-
|
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(
|
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
|
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.
|
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>
|
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
|
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-
|
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
|
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.
|
56 |
* **Backup Method:** KBA(Security Questions)
|
57 |
* Multisite compatible.
|
58 |
-
* User role based redirection after Login
|
59 |
-
* Custom Security Questions (KBA)
|
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
|
67 |
-
* **Backup Methods:** KBA(Security Questions), OTP Over Email, Backup Codes
|
68 |
* Multisite compatible.
|
69 |
-
*
|
70 |
-
*
|
71 |
-
*
|
72 |
-
*
|
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"
|
18 |
<center>
|
19 |
-
<div class ="mo_wpns_inside_dashboard_layout "
|
20 |
-
<
|
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:
|
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 |
-
|
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 |
-
|
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 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
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 |
-
|
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 |
-
|
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>, ' +
|
131 |
'<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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('
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
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>, ' +
|
184 |
-
// '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
195 |
-
// '<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
206 |
-
// '<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b> </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
|
25 |
+
<input type="radio" name="authy" value="aa"> Authy Authenticator
|
26 |
+
<input type="radio" name="lastpass" value="lpa"> LastPass Authenticator
|
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;?>" />
|
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>, ' +
|
132 |
'<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
149 |
+
'<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
160 |
+
'<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
171 |
+
'<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
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 |
-
|
37 |
-
|
38 |
-
|
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 |
-
|
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>, ' +
|
159 |
'<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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('
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
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>, ' +
|
197 |
-
'<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
214 |
-
// '<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
225 |
-
// '<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php// echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
236 |
-
// '<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php //echo mo2f_lt( "iOS App Store" ); ?>.</b> </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
|
23 |
+
<input type="radio" name="authy" value="aa"> Authy Authenticator
|
24 |
+
<input type="radio" name="lastpass" value="lpa"> LastPass Authenticator
|
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;?>" />
|
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>, ' +
|
160 |
'<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
177 |
+
'<a href="http://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
188 |
+
'<a href="https://itunes.apple.com/in/app/authy/id494168017" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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>, ' +
|
199 |
+
'<a href="https://itunes.apple.com/in/app/lastpass-authenticator/id1079110004" target="_blank"><b><?php echo mo2f_lt( "iOS App Store" ); ?>.</b> </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: -
|
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">
|
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 |
-
|
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">
|
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
|
86 |
</center>
|
87 |
|
88 |
<br>
|
89 |
<div style="text-align: center;">
|
90 |
<?php if( $is_customer_registered) {
|
91 |
?>
|
92 |
-
<button
|
93 |
<?php }else{
|
94 |
?>
|
95 |
-
<button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
|
96 |
-
<?php }
|
97 |
-
|
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
|
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="
|
132 |
<?php
|
133 |
}else{ ?>
|
134 |
-
<button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"onclick="
|
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
|
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="
|
173 |
<?php
|
174 |
}else
|
175 |
{ ?>
|
176 |
-
<button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button" onclick="
|
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>
|
187 |
-
<a id= "mo2f_hide_features" class="mo_wpns_upgrade_page_hide_feature" onclick="mo2fa_hide_detail_features()"><span style="font-size: 63%;"><u>
|
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:
|
329 |
<?php
|
330 |
include $mo2f_dirName . 'views'.DIRECTORY_SEPARATOR.'upgrade_2fa.php';?>
|
331 |
</div>
|
332 |
-
|
333 |
-
<?php
|
334 |
-
include $mo2f_dirName . 'views'.DIRECTORY_SEPARATOR.'upgrade_2fa_lite.php';
|
335 |
-
?>
|
336 |
-
</div>
|
337 |
|
338 |
-
|
339 |
-
<div
|
340 |
-
|
341 |
-
|
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="
|
377 |
<?php }else{ ?>
|
378 |
<button
|
379 |
class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
|
380 |
-
onclick="
|
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="
|
414 |
<?php }else{ ?>
|
415 |
|
416 |
<button class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
|
417 |
-
onclick="
|
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="
|
454 |
<?php }else{ ?>
|
455 |
|
456 |
<button
|
457 |
class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
|
458 |
-
onclick="
|
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="
|
494 |
<?php }else{ ?>
|
495 |
<button
|
496 |
class="mo_wpns_button mo_wpns_button1 mo_wpns_upgrade_page_button"
|
497 |
-
onclick="
|
498 |
-
<?php }
|
499 |
-
?>
|
500 |
|
501 |
</div></div></div>
|
502 |
-
|
503 |
-
|
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
|
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="
|
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( '$
|
622 |
-
<option><?php echo mo2f_lt( '$
|
623 |
-
<option><?php echo mo2f_lt( '$
|
624 |
-
<option><?php echo mo2f_lt( '$
|
625 |
-
<option><?php echo mo2f_lt( '$
|
626 |
-
<option><?php echo mo2f_lt( '$
|
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( '
|
640 |
-
<option> <?php echo mo2f_lt( '
|
641 |
-
<option> <?php echo mo2f_lt( '
|
642 |
-
<option> <?php echo mo2f_lt( '
|
643 |
-
<option> <?php echo mo2f_lt( '
|
644 |
-
<option> <?php echo mo2f_lt( '
|
645 |
-
<option> <?php echo mo2f_lt( '
|
646 |
-
<option> <?php echo mo2f_lt( '
|
647 |
-
<option> <?php echo mo2f_lt( '
|
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( '
|
660 |
-
<option> <?php echo mo2f_lt( '
|
661 |
-
<option> <?php echo mo2f_lt( '
|
662 |
-
<option> <?php echo mo2f_lt( '
|
663 |
-
<option> <?php echo mo2f_lt( '
|
664 |
-
<option> <?php echo mo2f_lt( '
|
665 |
-
<option> <?php echo mo2f_lt( '
|
666 |
-
<option> <?php echo mo2f_lt( '
|
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( '
|
679 |
-
<option> <?php echo mo2f_lt( '
|
680 |
-
<option> <?php echo mo2f_lt( '
|
681 |
-
<option> <?php echo mo2f_lt( '
|
682 |
-
<option> <?php echo mo2f_lt( '
|
683 |
-
<option> <?php echo mo2f_lt( '
|
684 |
-
<option> <?php echo mo2f_lt( '
|
685 |
-
<option> <?php echo mo2f_lt( '
|
686 |
|
687 |
</select>
|
688 |
</p>
|
689 |
<?php
|
690 |
}
|
691 |
-
function
|
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 - $
|
712 |
-
<option> <?php echo mo2f_lt( '
|
713 |
-
<option> <?php echo mo2f_lt( '
|
714 |
-
|
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( '
|
729 |
-
<option> <?php echo mo2f_lt( '
|
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( '
|
744 |
-
<option> <?php echo mo2f_lt( '
|
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( '
|
759 |
-
<option> <?php echo mo2f_lt( '
|
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( '
|
774 |
-
<option> <?php echo mo2f_lt( '
|
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").
|
|
|
|
|
|
|
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").
|
|
|
805 |
|
806 |
document.getElementById("mo2f_show_features").style.display = "block";
|
807 |
document.getElementById("mo2f_hide_features").style.display = "none";
|
808 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
809 |
}
|
810 |
-
|
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
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
{
|
830 |
jQuery('#requestOrigin').val(planType);
|
831 |
jQuery('input[name="requestOrigin"]').val(planType);
|
832 |
jQuery('#mo2fa_register_to_upgrade_form').submit();
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
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 |
-
"
|
|
|
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 |
-
"
|
|
|
60 |
"Backup Methods" => array(
|
61 |
false,
|
62 |
-
"
|
63 |
-
array( "
|
64 |
-
array( "
|
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"
|
77 |
-
"2FA for specific Users"
|
78 |
-
"Choose specific authentication methods"
|
79 |
-
"Force Two Factor for users"
|
80 |
"One Time Email Verification for Users during 2FA Registration" => array( false, false, true, true ),
|
81 |
-
"Enable Security Questions as backup"
|
82 |
-
"App Specific Password from mobile Apps"
|
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 |
-
"
|
|
|
102 |
"Backup Methods" => array(
|
103 |
-
"
|
104 |
-
"
|
105 |
-
array( "
|
106 |
-
array( "
|
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"
|
118 |
-
"2FA for specific Users"
|
119 |
-
"Choose specific authentication methods"
|
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"
|
123 |
-
"App Specific Password from mobile Apps"
|
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 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|