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

Version Description

  • Google Authenticator-Two Factor Authentication (2FA) : Password Pattern Fix.
Download this release

Release Info

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

Code changes from version 5.1.10 to 5.1.11

class-customer-setup.php CHANGED
@@ -118,7 +118,7 @@ class Customer_Setup {
118
  $customer_feature = "V3";
119
  }
120
 
121
- $query = '[WordPress 2 Factor Authentication Plugin: ' . $customer_feature . ' - V 5.1.10]: ' . $message;
122
 
123
  $content = '<div >First Name :' . $user->user_firstname . '<br><br>Last Name :' . $user->user_lastname . ' <br><br>Company :<a href="' . $_SERVER['SERVER_NAME'] . '" target="_blank" >' . $_SERVER['SERVER_NAME'] . '</a><br><br>Phone Number :' . $phone . '<br><br>Email :<a href="mailto:' . $fromEmail . '" target="_blank">' . $fromEmail . '</a><br><br>Query :' . $query . '</div>';
124
 
@@ -619,7 +619,7 @@ class Customer_Setup {
619
  $customer_feature = "V3";
620
  }
621
 
622
- $query = '[WordPress 2 Factor Authentication Plugin: ' . $customer_feature . ' - V 5.1.10]: ' . $query;
623
  $fields = array(
624
  'firstName' => $user->user_firstname,
625
  'lastName' => $user->user_lastname,
118
  $customer_feature = "V3";
119
  }
120
 
121
+ $query = '[WordPress 2 Factor Authentication Plugin: ' . $customer_feature . ' - V 5.1.11]: ' . $message;
122
 
123
  $content = '<div >First Name :' . $user->user_firstname . '<br><br>Last Name :' . $user->user_lastname . ' <br><br>Company :<a href="' . $_SERVER['SERVER_NAME'] . '" target="_blank" >' . $_SERVER['SERVER_NAME'] . '</a><br><br>Phone Number :' . $phone . '<br><br>Email :<a href="mailto:' . $fromEmail . '" target="_blank">' . $fromEmail . '</a><br><br>Query :' . $query . '</div>';
124
 
619
  $customer_feature = "V3";
620
  }
621
 
622
+ $query = '[WordPress 2 Factor Authentication Plugin: ' . $customer_feature . ' - V 5.1.11]: ' . $query;
623
  $fields = array(
624
  'firstName' => $user->user_firstname,
625
  'lastName' => $user->user_lastname,
class-miniorange-2-factor-login.php CHANGED
@@ -177,8 +177,8 @@ class Miniorange_Mobile_Login {
177
  }
178
 
179
  function mo_2_factor_hide_login() {
180
- wp_register_style( 'hide-login', plugins_url( 'includes/css/hide-login.css?version=5.1.10', __FILE__ ) );
181
- wp_register_style( 'bootstrap', plugins_url( 'includes/css/bootstrap.min.css?version=5.1.10', __FILE__ ) );
182
 
183
  wp_enqueue_style( 'hide-login' );
184
  wp_enqueue_style( 'bootstrap' );
@@ -240,7 +240,7 @@ class Miniorange_Mobile_Login {
240
  }
241
 
242
  function mo_2_factor_show_login_with_password_when_phonelogin_enabled() {
243
- wp_register_style( 'show-login', plugins_url( 'includes/css/show-login.css?version=5.1.10', __FILE__ ) );
244
  wp_enqueue_style( 'show-login' );
245
  }
246
 
@@ -262,9 +262,9 @@ class Miniorange_Mobile_Login {
262
 
263
  function mo_2_factor_show_login() {
264
  if ( get_option( 'mo2f_enable_login_with_2nd_factor' ) ) {
265
- wp_register_style( 'show-login', plugins_url( 'includes/css/hide-login-form.css?version=5.1.10', __FILE__ ) );
266
  } else {
267
- wp_register_style( 'show-login', plugins_url( 'includes/css/show-login.css?version=5.1.10', __FILE__ ) );
268
  }
269
  wp_enqueue_style( 'show-login' );
270
  }
177
  }
178
 
179
  function mo_2_factor_hide_login() {
180
+ wp_register_style( 'hide-login', plugins_url( 'includes/css/hide-login.css?version=5.1.11', __FILE__ ) );
181
+ wp_register_style( 'bootstrap', plugins_url( 'includes/css/bootstrap.min.css?version=5.1.11', __FILE__ ) );
182
 
183
  wp_enqueue_style( 'hide-login' );
184
  wp_enqueue_style( 'bootstrap' );
240
  }
241
 
242
  function mo_2_factor_show_login_with_password_when_phonelogin_enabled() {
243
+ wp_register_style( 'show-login', plugins_url( 'includes/css/show-login.css?version=5.1.11', __FILE__ ) );
244
  wp_enqueue_style( 'show-login' );
245
  }
246
 
262
 
263
  function mo_2_factor_show_login() {
264
  if ( get_option( 'mo2f_enable_login_with_2nd_factor' ) ) {
265
+ wp_register_style( 'show-login', plugins_url( 'includes/css/hide-login-form.css?version=5.1.11', __FILE__ ) );
266
  } else {
267
+ wp_register_style( 'show-login', plugins_url( 'includes/css/show-login.css?version=5.1.11', __FILE__ ) );
268
  }
269
  wp_enqueue_style( 'show-login' );
270
  }
class-miniorange-2-factor-user-registration.php CHANGED
@@ -30,7 +30,7 @@ class Miniorange_User_Register {
30
  }
31
 
32
  function plugin_settings_style() {
33
- wp_enqueue_style( 'mo_2_factor_admin_settings_style', plugins_url( 'includes/css/style_settings.css?version=5.1.10', __FILE__ ) );
34
  }
35
 
36
  function mo_auth_success_message() {
30
  }
31
 
32
  function plugin_settings_style() {
33
+ wp_enqueue_style( 'mo_2_factor_admin_settings_style', plugins_url( 'includes/css/style_settings.css?version=5.1.11', __FILE__ ) );
34
  }
35
 
36
  function mo_auth_success_message() {
miniorange_2_factor_common_login.php CHANGED
@@ -838,10 +838,10 @@ function mo2f_customize_logo() { ?>
838
  function echo_js_css_files() {
839
  echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>';
840
  echo '<script src="' . plugins_url( 'includes/js/bootstrap.min.js', __FILE__ ) . '" ></script>';
841
- echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/bootstrap.min.css?version=5.1.10', __FILE__ ) . '" />';
842
- echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/front_end_login.css?version=5.1.10', __FILE__ ) . '" />';
843
- echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/style_settings.css?version=5.1.10', __FILE__ ) . '" />';
844
- echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/hide-login.css?version=5.1.10', __FILE__ ) . '" />';
845
 
846
  if ( get_option( 'mo2f_personalization_ui' ) ) {
847
  echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/mo2f_login_popup_ui.css', __FILE__ ) . '" />';
838
  function echo_js_css_files() {
839
  echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>';
840
  echo '<script src="' . plugins_url( 'includes/js/bootstrap.min.js', __FILE__ ) . '" ></script>';
841
+ echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/bootstrap.min.css?version=5.1.11', __FILE__ ) . '" />';
842
+ echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/front_end_login.css?version=5.1.11', __FILE__ ) . '" />';
843
+ echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/style_settings.css?version=5.1.11', __FILE__ ) . '" />';
844
+ echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/hide-login.css?version=5.1.11', __FILE__ ) . '" />';
845
 
846
  if ( get_option( 'mo2f_personalization_ui' ) ) {
847
  echo '<link rel="stylesheet" type="text/css" href="' . plugins_url( 'includes/css/mo2f_login_popup_ui.css', __FILE__ ) . '" />';
miniorange_2_factor_configuration.php CHANGED
@@ -202,12 +202,14 @@ function mo2f_show_registration_page( $user ) {
202
  } ?>"/></td>
203
  </tr>
204
  <tr>
205
- <td><b><span class="impt">*</span><?php echo mo2f_lt( 'Password :' ); ?></b></td>
206
- <td><input class="mo2f_table_textbox" type="password" required name="password" pattern="(^[(\w)*(\!\@\#\$\%\^\&\*\.\-\_)*]+$).{6,}" title="Minimum 6 characters required"/></td>
 
207
  </tr>
208
- <tr>
 
209
  <td><b><span class="impt">*</span><?php echo mo2f_lt( 'Confirm Password :' ); ?></b></td>
210
- <td><input class="mo2f_table_textbox" type="password" required name="confirmPassword" pattern="(^[(\w)*(\!\@\#\$\%\^\&\*\.\-\_)*]+$).{6,}" title="Minimum 6 characters required" /></td>
211
  </tr>
212
  <tr>
213
  <td>&nbsp;</td>
@@ -218,7 +220,7 @@ function mo2f_show_registration_page( $user ) {
218
  </table>
219
  <br>
220
 
221
- </div>
222
  </div>
223
  </form>
224
  <form name="f" method="post" action="" id="mo2f_verify_customerform">
202
  } ?>"/></td>
203
  </tr>
204
  <tr>
205
+ <td ><b><span class="impt">*</span><?php echo mo2f_lt( 'Password :' ); ?></b></td>
206
+ <td rowspan="2"><input class="mo2f_table_textbox" type="password" required name="password" pattern="^[(\w)*(!@#$.%^&*-_)*]+$" title="Minimum 6 characters should be present. Maximum 15 characters should be present. Only following symbols (!@#.$%^&*) should be present."/><label style="font-size:11px;color:red;">(Minimum 6 and Maximum 15 characters should be present. Only following symbols ()!@#.$%^&* are allowed.)</label><br></td>
207
+
208
  </tr>
209
+ <tr ><td></td><td></td></tr>
210
+ <tr>
211
  <td><b><span class="impt">*</span><?php echo mo2f_lt( 'Confirm Password :' ); ?></b></td>
212
+ <td><input class="mo2f_table_textbox" type="password" required name="confirmPassword" pattern="^[(\w)*(!@#$.%^&*-_)*]+$" title="Minimum 6 characters should be present. Maximum 15 characters should be present. Only following symbols (!@#.$%^&*) should be present." /></td>
213
  </tr>
214
  <tr>
215
  <td>&nbsp;</td>
220
  </table>
221
  <br>
222
 
223
+ </div>
224
  </div>
225
  </form>
226
  <form name="f" method="post" action="" id="mo2f_verify_customerform">
miniorange_2_factor_settings.php CHANGED
@@ -3,7 +3,7 @@
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 Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA) for 1 User in the free version of the plugin.
6
- * Version: 5.1.10
7
  * Author: miniOrange
8
  * Author URI: https://miniorange.com
9
  * License: GPL2
@@ -439,21 +439,21 @@ class Miniorange_Authentication {
439
  }
440
 
441
  function mo_2_factor_enable_frontend_style() {
442
- wp_enqueue_style( 'mo2f_frontend_login_style', plugins_url( 'includes/css/front_end_login.css?version=5.1.10', __FILE__ ) );
443
- wp_enqueue_style( 'bootstrap_style', plugins_url( 'includes/css/bootstrap.min.css?version=5.1.10', __FILE__ ) );
444
- wp_enqueue_style( 'mo_2_factor_admin_settings_phone_style', plugins_url( 'includes/css/phone.css?version=5.1.10', __FILE__ ) );
445
  wp_enqueue_style( 'mo_2_factor_wpb-fa', plugins_url( 'includes/css/font-awesome.min.css', __FILE__ ) );
446
- wp_enqueue_style( 'mo2f_login_popup_style', plugins_url( 'includes/css/mo2f_login_popup_ui.css?version=5.1.10', __FILE__ ) );
447
  }
448
 
449
  function plugin_settings_style( $mo2fa_hook_page ) {
450
  if ( 'toplevel_page_miniOrange_2_factor_settings' != $mo2fa_hook_page ) {
451
  return;
452
  }
453
- wp_enqueue_style( 'mo_2_factor_admin_settings_style', plugins_url( 'includes/css/style_settings.css?version=5.1.10', __FILE__ ) );
454
- wp_enqueue_style( 'mo_2_factor_admin_settings_phone_style', plugins_url( 'includes/css/phone.css?version=5.1.10', __FILE__ ) );
455
- wp_enqueue_style( 'bootstrap_style', plugins_url( 'includes/css/bootstrap.min.css?version=5.1.10', __FILE__ ) );
456
- wp_enqueue_style( 'bootstrap_style_ass', plugins_url( 'includes/css/bootstrap-tour-standalone.css?version=5.1.10', __FILE__ ) );
457
  wp_enqueue_style( 'mo_2_factor_wpb-fa', plugins_url( 'includes/css/font-awesome.min.css', __FILE__ ) );
458
  }
459
 
@@ -535,66 +535,73 @@ class Miniorange_Authentication {
535
  }
536
  if ( isset( $_POST['option'] ) and $_POST['option'] == "mo_auth_register_customer" ) { //register the admin to miniOrange
537
  //miniorange_register_customer_nonce
538
- $nonce = $_POST['miniorange_register_customer_nonce'];
539
- if ( ! wp_verify_nonce( $nonce, 'miniorange-register-customer-nonce' ) ) {
540
- $error = new WP_Error();
541
- $error->add( 'empty_username', '<strong>' . mo2f_lt( 'ERROR' ) . '</strong>: ' . mo2f_lt( 'Invalid Request.' ) );
542
 
543
- return $error;
544
- } else {
545
- //validate and sanitize
546
- $email = '';
547
- $password = '';
548
- $confirmPassword = '';
549
- $is_registration = get_user_meta( $user->ID, 'mo2f_email_otp_count', true );
550
 
551
- if ( MO2f_Utility::mo2f_check_empty_or_null( $_POST['email'] ) || MO2f_Utility::mo2f_check_empty_or_null( $_POST['password'] ) || MO2f_Utility::mo2f_check_empty_or_null( $_POST['confirmPassword'] ) ) {
552
- update_option( 'mo2f_message', Mo2fConstants:: langTranslate( "INVALID_ENTRY" ) );
553
 
554
- return;
555
- } else if ( strlen( $_POST['password'] ) < 6 || strlen( $_POST['confirmPassword'] ) < 6 ) {
556
- update_option( 'mo2f_message', Mo2fConstants:: langTranslate( "MIN_PASS_LENGTH" ) );
557
 
558
- } else {
559
- $email = sanitize_email( $_POST['email'] );
560
- $password = sanitize_text_field( $_POST['password'] );
561
- $confirmPassword = sanitize_text_field( $_POST['confirmPassword'] );
562
-
563
- $email = strtolower( $email );
564
- update_option( 'mo2f_email', $email );
565
 
566
- $Mo2fdbQueries->insert_user( $user_id, array( 'user_id' => $user_id ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
567
 
568
- if ( strcmp( $password, $confirmPassword ) == 0 ) {
569
- update_option( 'mo2f_password', stripslashes( $password ) );
570
- $customer = new Customer_Setup();
571
- $customerKey = json_decode( $customer->check_customer(), true );
572
-
573
- if ( strcasecmp( $customerKey['status'], 'CUSTOMER_NOT_FOUND' ) == 0 ) {
574
- if ( $customerKey['status'] == 'ERROR' ) {
575
- update_option( 'mo2f_message', Mo2fConstants:: langTranslate( $customerKey['message'] ) );
576
- } else {
577
- $this->mo2f_create_customer( $user );
578
- delete_user_meta( $user->ID, 'mo_2fa_verify_otp_create_account' );
579
- delete_user_meta( $user->ID, 'register_account' );
580
- if(get_user_meta( $user->ID, 'mo2f_2FA_method_to_configure'))
581
- update_user_meta( $user->ID, 'configure_2FA', 1 );
582
 
583
- }
584
- } else { //customer already exists, redirect him to login page
585
 
586
- update_option( 'mo2f_message', Mo2fConstants:: langTranslate( "ACCOUNT_ALREADY_EXISTS" ) );
587
- $Mo2fdbQueries->update_user_details( $user->ID, array( 'mo_2factor_user_registration_status' => 'MO_2_FACTOR_VERIFY_CUSTOMER' ) );
588
 
 
 
 
 
 
 
 
 
589
  }
590
-
591
- } else {
592
- update_option( 'mo2f_message', Mo2fConstants:: langTranslate( "PASSWORDS_MISMATCH" ) );
593
- $this->mo_auth_show_error_message();
594
  }
595
  }
596
  }
597
- }
598
 
599
  if ( isset( $_POST['option'] ) and $_POST['option'] == "mo2f_goto_verifycustomer" ) {
600
  $nonce = $_POST['mo2f_goto_verifycustomer_nonce'];
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 Authenticator, QR Code, Push Notification, Soft Token and Security Questions(KBA) for 1 User in the free version of the plugin.
6
+ * Version: 5.1.11
7
  * Author: miniOrange
8
  * Author URI: https://miniorange.com
9
  * License: GPL2
439
  }
440
 
441
  function mo_2_factor_enable_frontend_style() {
442
+ wp_enqueue_style( 'mo2f_frontend_login_style', plugins_url( 'includes/css/front_end_login.css?version=5.1.11', __FILE__ ) );
443
+ wp_enqueue_style( 'bootstrap_style', plugins_url( 'includes/css/bootstrap.min.css?version=5.1.11', __FILE__ ) );
444
+ wp_enqueue_style( 'mo_2_factor_admin_settings_phone_style', plugins_url( 'includes/css/phone.css?version=5.1.11', __FILE__ ) );
445
  wp_enqueue_style( 'mo_2_factor_wpb-fa', plugins_url( 'includes/css/font-awesome.min.css', __FILE__ ) );
446
+ wp_enqueue_style( 'mo2f_login_popup_style', plugins_url( 'includes/css/mo2f_login_popup_ui.css?version=5.1.11', __FILE__ ) );
447
  }
448
 
449
  function plugin_settings_style( $mo2fa_hook_page ) {
450
  if ( 'toplevel_page_miniOrange_2_factor_settings' != $mo2fa_hook_page ) {
451
  return;
452
  }
453
+ wp_enqueue_style( 'mo_2_factor_admin_settings_style', plugins_url( 'includes/css/style_settings.css?version=5.1.11', __FILE__ ) );
454
+ wp_enqueue_style( 'mo_2_factor_admin_settings_phone_style', plugins_url( 'includes/css/phone.css?version=5.1.11', __FILE__ ) );
455
+ wp_enqueue_style( 'bootstrap_style', plugins_url( 'includes/css/bootstrap.min.css?version=5.1.11', __FILE__ ) );
456
+ wp_enqueue_style( 'bootstrap_style_ass', plugins_url( 'includes/css/bootstrap-tour-standalone.css?version=5.1.11', __FILE__ ) );
457
  wp_enqueue_style( 'mo_2_factor_wpb-fa', plugins_url( 'includes/css/font-awesome.min.css', __FILE__ ) );
458
  }
459
 
535
  }
536
  if ( isset( $_POST['option'] ) and $_POST['option'] == "mo_auth_register_customer" ) { //register the admin to miniOrange
537
  //miniorange_register_customer_nonce
538
+ $nonce = $_POST['miniorange_register_customer_nonce'];
539
+ if ( ! wp_verify_nonce( $nonce, 'miniorange-register-customer-nonce' ) ) {
540
+ $error = new WP_Error();
541
+ $error->add( 'empty_username', '<strong>' . mo2f_lt( 'ERROR' ) . '</strong>: ' . mo2f_lt( 'Invalid Request.' ) );
542
 
543
+ return $error;
544
+ } else {
545
+ //validate and sanitize
546
+ $email = '';
547
+ $password = '';
548
+ $confirmPassword = '';
549
+ $is_registration = get_user_meta( $user->ID, 'mo2f_email_otp_count', true );
550
 
551
+ if ( MO2f_Utility::mo2f_check_empty_or_null( $_POST['email'] ) || MO2f_Utility::mo2f_check_empty_or_null( $_POST['password'] ) || MO2f_Utility::mo2f_check_empty_or_null( $_POST['confirmPassword'] ) ) {
552
+ update_option( 'mo2f_message', Mo2fConstants:: langTranslate( "INVALID_ENTRY" ) );
553
 
554
+ return;
555
+ } else if ( strlen( $_POST['password'] ) < 6 || strlen( $_POST['confirmPassword'] ) < 6 ) {
556
+ update_option( 'mo2f_message', Mo2fConstants:: langTranslate( "MIN_PASS_LENGTH" ) );
557
 
558
+ } else {
559
+ $email = sanitize_email( $_POST['email'] );
560
+ $password = sanitize_text_field( $_POST['password'] );
561
+ $confirmPassword = sanitize_text_field( $_POST['confirmPassword'] );
562
+
563
+ $email = strtolower( $email );
564
+ update_option( 'mo2f_email', $email );
565
 
566
+ $Mo2fdbQueries->insert_user( $user_id, array( 'user_id' => $user_id ) );
567
+ $pattern = '/^[(\w)*(\!\@\#\$\%\^\&\*\.\-\_)*]+$/';
568
+
569
+ if(preg_match($pattern,$password)){
570
+ if ( strcmp( $password, $confirmPassword ) == 0 ) {
571
+ update_option( 'mo2f_password', stripslashes( $password ) );
572
+ $customer = new Customer_Setup();
573
+ $customerKey = json_decode( $customer->check_customer(), true );
574
+
575
+ if ( strcasecmp( $customerKey['status'], 'CUSTOMER_NOT_FOUND' ) == 0 ) {
576
+ if ( $customerKey['status'] == 'ERROR' ) {
577
+ update_option( 'mo2f_message', Mo2fConstants:: langTranslate( $customerKey['message'] ) );
578
+ } else {
579
+ $this->mo2f_create_customer( $user );
580
+ delete_user_meta( $user->ID, 'mo_2fa_verify_otp_create_account' );
581
+ delete_user_meta( $user->ID, 'register_account' );
582
+ if(get_user_meta( $user->ID, 'mo2f_2FA_method_to_configure'))
583
+ update_user_meta( $user->ID, 'configure_2FA', 1 );
584
 
585
+ }
586
+ } else { //customer already exists, redirect him to login page
 
 
 
 
 
 
 
 
 
 
 
 
587
 
588
+ update_option( 'mo2f_message', Mo2fConstants:: langTranslate( "ACCOUNT_ALREADY_EXISTS" ) );
589
+ $Mo2fdbQueries->update_user_details( $user->ID, array( 'mo_2factor_user_registration_status' => 'MO_2_FACTOR_VERIFY_CUSTOMER' ) );
590
 
591
+ }
 
592
 
593
+ } else {
594
+ update_option( 'mo2f_message', Mo2fConstants:: langTranslate( "PASSWORDS_MISMATCH" ) );
595
+ $this->mo_auth_show_error_message();
596
+ }
597
+ }
598
+ else{
599
+ update_option( 'mo2f_message', "Minimum 6 characters should be present. Maximum 15 characters should be present. Only following symbols (!@#.$%^&*-_) should be present." );
600
+ $this->mo_auth_show_error_message();
601
  }
 
 
 
 
602
  }
603
  }
604
  }
 
605
 
606
  if ( isset( $_POST['option'] ) and $_POST['option'] == "mo2f_goto_verifycustomer" ) {
607
  $nonce = $_POST['mo2f_goto_verifycustomer_nonce'];
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: cyberlord92, twofactor
3
  Tags: google authenticator, two factor authentication, two factor, 2FA, TFA, 2 factor authentication, two step verification, 1 google authenticator, login, authy, authy two factor, Clef, 2 Factor, yubico, Two-Factor Authentication, Mobile Authentication, otp, strong authentication, 2 step authentication, smartphone authentication, Multifactor authentication, multi factor authentication, multi factor, no password, passwordless login, security, website security, one time passcode, password, soft token, woocommerce, authenticate, two factor auth, two-factor, duo, QR Code, QR Code Authentication, scan QR Code, wordfence, login security, google authenticator, google , email verification, trusted device, device Id , KBA , knowledge based authentication
4
  Donate link: https://miniorange.com/
5
  Requires at least: 3.0.1
6
- Tested up to: 4.9.4
7
  Requires PHP: 5.3.0
8
- Stable tag: 5.1.10
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -222,6 +222,9 @@ miniOrange authentication service has 15+ authentication methods.One time passco
222
 
223
  == Changelog ==
224
 
 
 
 
225
  = 5.1.10 =
226
  * Google Authenticator-Two Factor Authentication (2FA) : Javascript Error fixes.
227
 
@@ -555,6 +558,10 @@ More descriptive setup messages and UI changes.
555
  * First version of Two Factor Authentication ( 2FA ) plugin supported with mobile auhthentication for admin only.
556
 
557
  == Upgrade Notice ==
 
 
 
 
558
  = 5.1.10 =
559
  * Google Authenticator-Two Factor Authentication (2FA) : Javascript Error fixes.
560
 
3
  Tags: google authenticator, two factor authentication, two factor, 2FA, TFA, 2 factor authentication, two step verification, 1 google authenticator, login, authy, authy two factor, Clef, 2 Factor, yubico, Two-Factor Authentication, Mobile Authentication, otp, strong authentication, 2 step authentication, smartphone authentication, Multifactor authentication, multi factor authentication, multi factor, no password, passwordless login, security, website security, one time passcode, password, soft token, woocommerce, authenticate, two factor auth, two-factor, duo, QR Code, QR Code Authentication, scan QR Code, wordfence, login security, google authenticator, google , email verification, trusted device, device Id , KBA , knowledge based authentication
4
  Donate link: https://miniorange.com/
5
  Requires at least: 3.0.1
6
+ Tested up to: 5.0.0
7
  Requires PHP: 5.3.0
8
+ Stable tag: 5.1.11
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
222
 
223
  == Changelog ==
224
 
225
+ = 5.1.11 =
226
+ * Google Authenticator-Two Factor Authentication (2FA) : Password Pattern Fix.
227
+
228
  = 5.1.10 =
229
  * Google Authenticator-Two Factor Authentication (2FA) : Javascript Error fixes.
230
 
558
  * First version of Two Factor Authentication ( 2FA ) plugin supported with mobile auhthentication for admin only.
559
 
560
  == Upgrade Notice ==
561
+
562
+ = 5.1.11 =
563
+ * Google Authenticator-Two Factor Authentication (2FA) : Password Pattern Fix.
564
+
565
  = 5.1.10 =
566
  * Google Authenticator-Two Factor Authentication (2FA) : Javascript Error fixes.
567
 
views/feedback_form.php CHANGED
@@ -9,7 +9,7 @@
9
  wp_enqueue_style( 'wp-pointer' );
10
  wp_enqueue_script( 'wp-pointer' );
11
  wp_enqueue_script( 'utils' );
12
- wp_enqueue_style( 'mo_2_factor_admin_plugins_page_style', plugins_url( '/../includes/css/mo2f_plugins_page.css?version=5.1.10', __FILE__ ) );
13
 
14
  $action = 'install-plugin';
15
  $slug = 'miniorange-google-authenticator';
9
  wp_enqueue_style( 'wp-pointer' );
10
  wp_enqueue_script( 'wp-pointer' );
11
  wp_enqueue_script( 'utils' );
12
+ wp_enqueue_style( 'mo_2_factor_admin_plugins_page_style', plugins_url( '/../includes/css/mo2f_plugins_page.css?version=5.1.11', __FILE__ ) );
13
 
14
  $action = 'install-plugin';
15
  $slug = 'miniorange-google-authenticator';