Custom Login Page Customizer | LoginPress - Version 1.2.4

Version Description

  • 2019-07-23 =
  • BugFix: Compatibility issue, fatal error fixed.
Download this release

Release Info

Developer hiddenpearls
Plugin Icon 128x128 Custom Login Page Customizer | LoginPress
Version 1.2.4
Comparing to
See all releases

Code changes from version 1.2.2 to 1.2.4

classes/class-loginpress-setup.php CHANGED
@@ -61,11 +61,11 @@ class LoginPress_Settings {
61
 
62
 
63
  function loginpressicon() {
64
- $ttf = plugins_url( '../loginpressfonts/loginpress.ttf?gb7unf', __FILE__ );
65
- $woff = plugins_url( '../loginpressfonts/loginpress.woff?gb7unf', __FILE__ );
66
- $svg = plugins_url( '../loginpressfonts/loginpress.svg?gb7unf', __FILE__ );
67
  $eotie = plugins_url( '../loginpressfonts/loginpress.eot?gb7unf#iefix', __FILE__ );
68
- $eot = plugins_url( '../loginpressfonts/loginpress.eot?gb7unf', __FILE__ );
69
  echo "<style>
70
  @font-face {
71
  font-family: 'loginpress';
@@ -78,8 +78,13 @@ class LoginPress_Settings {
78
  font-style: normal;
79
  }
80
 
81
- [class^='icon-'], [class*=' icon-'] {
82
- /* use !important to prevent issues with browser extensions that change fonts */
 
 
 
 
 
83
  font-family: 'loginpress' !important;
84
  speak: none;
85
  font-style: normal;
@@ -92,15 +97,6 @@ class LoginPress_Settings {
92
  -webkit-font-smoothing: antialiased;
93
  -moz-osx-font-smoothing: grayscale;
94
  }
95
-
96
- .icon-loginpress-dashicon:before {
97
- content: '\\e560';
98
- color: #fff;
99
- }
100
- #adminmenu li#toplevel_page_loginpress-settings>a>div.wp-menu-image:before{
101
- content: '\\e560';
102
- font-family: 'loginpress' !important;
103
- }
104
  </style>";
105
  }
106
  add_menu_page( __( 'LoginPress', 'loginpress' ), __( 'LoginPress', 'loginpress' ), 'manage_options', "loginpress-settings", array( $this, 'plugin_page' ), false, 50 );
@@ -175,6 +171,12 @@ class LoginPress_Settings {
175
  // 'type' => 'wysiwyg',
176
  // 'default' => __( sprintf( __( '%1$sPrivacy Policy%2$s.', 'loginpress' ), '<a href="' . admin_url( 'admin.php?page=loginpress-settings' ) . '">', '</a>' ) )
177
  // ),
 
 
 
 
 
 
178
  array(
179
  'name' => 'enable_reg_pass_field',
180
  'label' => __( 'Custom Password Fields', 'loginpress' ),
61
 
62
 
63
  function loginpressicon() {
64
+ $ttf = plugins_url( '../loginpressfonts/loginpress.ttf?gb7unf', __FILE__ );
65
+ $woff = plugins_url( '../loginpressfonts/loginpress.woff?gb7unf', __FILE__ );
66
+ $svg = plugins_url( '../loginpressfonts/loginpress.svg?gb7unf', __FILE__ );
67
  $eotie = plugins_url( '../loginpressfonts/loginpress.eot?gb7unf#iefix', __FILE__ );
68
+ $eot = plugins_url( '../loginpressfonts/loginpress.eot?gb7unf', __FILE__ );
69
  echo "<style>
70
  @font-face {
71
  font-family: 'loginpress';
78
  font-style: normal;
79
  }
80
 
81
+ .icon-loginpress-dashicon:before {
82
+ content: '\\e560';
83
+ color: #fff;
84
+ }
85
+
86
+ #adminmenu li#toplevel_page_loginpress-settings>a>div.wp-menu-image:before{
87
+ content: '\\e560';
88
  font-family: 'loginpress' !important;
89
  speak: none;
90
  font-style: normal;
97
  -webkit-font-smoothing: antialiased;
98
  -moz-osx-font-smoothing: grayscale;
99
  }
 
 
 
 
 
 
 
 
 
100
  </style>";
101
  }
102
  add_menu_page( __( 'LoginPress', 'loginpress' ), __( 'LoginPress', 'loginpress' ), 'manage_options', "loginpress-settings", array( $this, 'plugin_page' ), false, 50 );
171
  // 'type' => 'wysiwyg',
172
  // 'default' => __( sprintf( __( '%1$sPrivacy Policy%2$s.', 'loginpress' ), '<a href="' . admin_url( 'admin.php?page=loginpress-settings' ) . '">', '</a>' ) )
173
  // ),
174
+ array(
175
+ 'name' => 'auto_remember_me',
176
+ 'label' => __( 'Auto Remember Me', 'loginpress' ),
177
+ 'desc' => __( 'Keep remember me option always checked on login page', 'loginpress' ),
178
+ 'type' => 'checkbox'
179
+ ),
180
  array(
181
  'name' => 'enable_reg_pass_field',
182
  'label' => __( 'Custom Password Fields', 'loginpress' ),
css/style-login.php CHANGED
@@ -1003,6 +1003,10 @@ text-shadow: none;
1003
  body.login #login.login_tranparent,body.login #login.login_tranparent #loginform{
1004
  background: none !important;
1005
  }
 
 
 
 
1006
  </style>
1007
 
1008
  <?php // $content = ob_get_clean(); ?>
1003
  body.login #login.login_tranparent,body.login #login.login_tranparent #loginform{
1004
  background: none !important;
1005
  }
1006
+ body.login{
1007
+ display: flex;
1008
+ flex-direction: column;
1009
+ }
1010
  </style>
1011
 
1012
  <?php // $content = ob_get_clean(); ?>
css/themes/default-1.php CHANGED
@@ -19,7 +19,7 @@ function first_presets() {
19
  * visit: https://wordpress.org/plugins/loginpress/ *
20
  *************************************************************/
21
  body.login {
22
- background-image: url(<?php echo plugins_url( 'img/bg.jpg', LOGINPRESS_PLUGIN_BASENAME ) ?>);
23
  /*background-color: #ddd5c3;*/
24
  background-repeat: no-repeat;
25
  background-position: center;
@@ -185,6 +185,7 @@ function first_presets() {
185
  }
186
  .footer-wrapper{
187
  /* display: table-footer-group; */
 
188
  position: sticky;
189
  top: 100vh;
190
  }
19
  * visit: https://wordpress.org/plugins/loginpress/ *
20
  *************************************************************/
21
  body.login {
22
+ background-image: url(<?php echo esc_url( apply_filters( 'loginpress_default_bg', plugins_url( 'img/bg.jpg', LOGINPRESS_PLUGIN_BASENAME ) ) ); ?>);
23
  /*background-color: #ddd5c3;*/
24
  background-repeat: no-repeat;
25
  background-position: center;
185
  }
186
  .footer-wrapper{
187
  /* display: table-footer-group; */
188
+ position: -webkit-sticky;
189
  position: sticky;
190
  top: 100vh;
191
  }
custom.php CHANGED
@@ -106,6 +106,7 @@ class LoginPress_Entities {
106
  'preset_loader' => includes_url( 'js/tinymce/skins/lightgray/img/loader.gif' ),
107
  'autoFocusPanel' => $loginpress_auto_focus,
108
  'recaptchaType' => $cap_type,
 
109
  );
110
 
111
  wp_localize_script( 'loginpress-customize-control', 'loginpress_script', $loginpress_localize );
@@ -312,8 +313,10 @@ class LoginPress_Entities {
312
 
313
  // 1st template that is default
314
  $loginpress_free_templates["default1" ] = array(
315
- 'img' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ),
316
- 'thumbnail' => plugins_url( 'img/thumbnail/default-1.png', LOGINPRESS_ROOT_FILE ),
 
 
317
  'id' => 'default1',
318
  'name' => 'Default'
319
  ) ;
106
  'preset_loader' => includes_url( 'js/tinymce/skins/lightgray/img/loader.gif' ),
107
  'autoFocusPanel' => $loginpress_auto_focus,
108
  'recaptchaType' => $cap_type,
109
+ 'filter_bg' => apply_filters( 'loginpress_default_bg', '' ),
110
  );
111
 
112
  wp_localize_script( 'loginpress-customize-control', 'loginpress_script', $loginpress_localize );
313
 
314
  // 1st template that is default
315
  $loginpress_free_templates["default1" ] = array(
316
+ // 'img' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ),
317
+ // 'thumbnail' => plugins_url( 'img/thumbnail/default-1.png', LOGINPRESS_ROOT_FILE ),
318
+ 'img' => esc_url( apply_filters( 'loginpress_default_bg', plugins_url( 'img/bg.jpg', LOGINPRESS_PLUGIN_BASENAME ) ) ),
319
+ 'thumbnail' => esc_url( apply_filters( 'loginpress_default_bg', plugins_url( 'img/thumbnail/default-1.png', LOGINPRESS_ROOT_FILE ) ) ),
320
  'id' => 'default1',
321
  'name' => 'Default'
322
  ) ;
include/compatibility.php CHANGED
@@ -51,6 +51,7 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
51
  * Remove conflictions.
52
  * Add CSS Support.
53
  * @since 1.0.3
 
54
  */
55
  class LoginPress_Compatibility {
56
 
@@ -62,7 +63,90 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
62
 
63
  add_action( 'wp_print_scripts', array( $this, 'dequeue_conflicted_script' ), 100 );
64
  add_action( 'login_headerurl', array( $this, 'remove_conflicted_action' ) );
65
- add_action( 'init', array( $this, 'enqueue_loginpress_compatibility_script') );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  }
67
 
68
  public function enqueue_loginpress_compatibility_script() {
@@ -131,4 +215,3 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
131
  endif;
132
 
133
  new LoginPress_Compatibility;
134
- ?>
51
  * Remove conflictions.
52
  * Add CSS Support.
53
  * @since 1.0.3
54
+ * @version 1.2.3
55
  */
56
  class LoginPress_Compatibility {
57
 
63
 
64
  add_action( 'wp_print_scripts', array( $this, 'dequeue_conflicted_script' ), 100 );
65
  add_action( 'login_headerurl', array( $this, 'remove_conflicted_action' ) );
66
+ add_action( 'init', array( $this, 'enqueue_loginpress_compatibility_script') );
67
+
68
+ /*************************************
69
+ WebArx Compatibility Fix // v1.2.3
70
+ *************************************/
71
+
72
+ // add_filter( 'wp_redirect', array( $this, 'wp_redirect_remove_filter' ), 9 );
73
+ // add_filter( 'site_url', array( $this, 'site_url_remove_filter' ) , 9 );
74
+ // add_filter( 'network_site_url', array( $this, 'network_site_url_remove_filter' ), 9 );
75
+ // add_action( 'plugins_loaded', array( $this, 'plugins_loaded_remove_action' ), 10 );
76
+ // add_action( 'wp_loaded', array( $this, 'wp_loaded_remove_action' ), 9 );
77
+ // add_action( 'init', array( $this, 'init_remove_action' ), 9 );
78
+ }
79
+
80
+ public function wp_redirect_remove_filter( $location ) {
81
+ if ( class_exists( 'Webarx' ) ) {
82
+ $webarx_login = get_option( 'webarx_mv_wp_login' );
83
+ $user_loged_in = is_user_logged_in();
84
+
85
+ if ( ( isset( $user_loged_in ) && true === $user_loged_in ) && ( isset( $webarx_login ) && '1' === $webarx_login ) && $_GET['action'] != 'logout' ) {
86
+ remove_filter( 'wp_redirect', array( webarx()->hide_login, 'wp_redirect' ) );
87
+ }
88
+
89
+ return $location;
90
+ }
91
+ }
92
+
93
+ public function site_url_remove_filter( $url ) {
94
+ if ( class_exists( 'Webarx' ) ) {
95
+ $webarx_login = get_option( 'webarx_mv_wp_login' );
96
+ $user_loged_in = is_user_logged_in();
97
+
98
+ if ( ( isset( $user_loged_in ) && true === $user_loged_in ) && ( isset( $webarx_login ) && '1' === $webarx_login ) ) {
99
+ remove_filter('site_url', array( webarx()->hide_login, 'site_url' ) ) ;
100
+ }
101
+
102
+ return $url;
103
+ }
104
+ }
105
+
106
+ public function network_site_url_remove_filter( $url ) {
107
+ if ( class_exists( 'Webarx' ) ) {
108
+ $webarx_login = get_option( 'webarx_mv_wp_login' );
109
+ $user_loged_in = is_user_logged_in();
110
+
111
+ if ( ( isset( $user_loged_in ) && true === $user_loged_in ) && ( isset( $webarx_login ) && '1' === $webarx_login ) ) {
112
+ remove_filter('network_site_url', array( webarx()->hide_login, 'network_site_url' ) ) ;
113
+ }
114
+
115
+ return $url;
116
+ }
117
+ }
118
+
119
+ public function plugins_loaded_remove_action() {
120
+ if ( class_exists( 'Webarx' ) ) {
121
+ $webarx_login = get_option( 'webarx_mv_wp_login' );
122
+ $user_loged_in = is_user_logged_in();
123
+
124
+ if ( ( isset( $user_loged_in ) && true === $user_loged_in ) && ( isset( $webarx_login ) && '1' === $webarx_login ) ) {
125
+ remove_action( 'plugins_loaded', array( webarx()->hide_login, 'plugins_loaded' ), 9999 ) ;
126
+ }
127
+ }
128
+ }
129
+
130
+ public function wp_loaded_remove_action() {
131
+ if ( class_exists( 'Webarx' ) ) {
132
+ $webarx_login = get_option( 'webarx_mv_wp_login' );
133
+ $user_loged_in = is_user_logged_in();
134
+
135
+ if ( ( isset( $user_loged_in ) && true === $user_loged_in ) && ( isset( $webarx_login ) && '1' === $webarx_login ) ) {
136
+ remove_action( 'wp_loaded', array( webarx()->hide_login, 'wp_loaded' ) );
137
+ }
138
+ }
139
+ }
140
+
141
+ public function init_remove_action() {
142
+ if ( class_exists( 'Webarx' ) ) {
143
+ $webarx_login = get_option( 'webarx_mv_wp_login' );
144
+ $user_loged_in = is_user_logged_in();
145
+
146
+ if ( ( isset( $user_loged_in ) && true === $user_loged_in ) && ( isset( $webarx_login ) && '1' === $webarx_login ) ) {
147
+ remove_action( 'init', array( webarx()->hide_login, 'denyRequestsToWpLogin' ) ) ;
148
+ }
149
+ }
150
  }
151
 
152
  public function enqueue_loginpress_compatibility_script() {
215
  endif;
216
 
217
  new LoginPress_Compatibility;
 
js/customize-controls.js CHANGED
@@ -460,14 +460,20 @@ jQuery(document).ready(function($) {
460
  } else {
461
  // $( '#customize-preview iframe' ).contents().find( '.login #loginpress_video-background' )
462
  var video = $('#customize-control-loginpress_customization-background_video video').html();
463
- if($('#customize_presets_settingsdefault6').is(':checked') || $('#customize_presets_settingsdefault10').is(':checked') || $('#customize_presets_settingsdefault17').is(':checked')){
464
- $( '#customize-preview iframe' ).contents().find('#login').append("<div id=\"loginpress_video-background-wrapper\"><video autoplay loop id=\"loginpress_video-background\""+$('[data-customize-setting-link="loginpress_customization[background_video_muted]"]').is(':checked')+" plays-inline>\n" + video + "</video></div>\n");
465
- }else if($('#customize_presets_settingsdefault17').is(':checked') || $('#customize_presets_settingsdefault18').is(':checked')){
466
- $( '#customize-preview iframe' ).contents().find('.login').append("<div id=\"loginpress_video-background-wrapper\"><video autoplay loop id=\"loginpress_video-background\""+$('[data-customize-setting-link="loginpress_customization[background_video_muted]"]').is(':checked')+" plays-inline>\n" + video + "</video></div>\n");
467
- }else{
468
- $( '#customize-preview iframe' ).contents().find('.login').append("<video autoplay loop id=\"loginpress_video-background\""+$('[data-customize-setting-link="loginpress_customization[background_video_muted]"]').is(':checked')+" plays-inline>\n" + video + "</video>\n");
 
 
 
 
 
 
 
469
  }
470
- $( '#customize-preview iframe' ).contents().find( '.login #loginpress_video-background' )[0].play();
471
  }
472
  $('#customize-control-loginpress_customization-background_video').fadeIn().css( 'display', 'list-item' );
473
  if($('#customize-control-loginpress_customization-background_video video').length>0){
@@ -541,7 +547,9 @@ jQuery(document).ready(function($) {
541
  */
542
  function loginpress_customizer_bg(customizer_bg) {
543
 
544
- if ( 'default1' == customizer_bg ) {
 
 
545
  loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress/img/bg.jpg)';
546
  } else if ( 'default2' == customizer_bg ) {
547
  loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress/img/bg2.jpg)';
460
  } else {
461
  // $( '#customize-preview iframe' ).contents().find( '.login #loginpress_video-background' )
462
  var video = $('#customize-control-loginpress_customization-background_video video').html();
463
+ var muted_video = '';
464
+ if ( $('[data-customize-setting-link="loginpress_customization[background_video_muted]"]').is(':checked') ) {
465
+ muted_video = ' muted ';
466
+ }
467
+ if ( $('#customize-control-loginpress_customization-background_video video').length > 0 ) {
468
+ if( $('#customize_presets_settingsdefault6').is(':checked') || $('#customize_presets_settingsdefault10').is(':checked') || $('#customize_presets_settingsdefault17').is(':checked')) {
469
+ $( '#customize-preview iframe' ).contents().find('#login').append("<div id=\"loginpress_video-background-wrapper\"><video autoplay loop id=\"loginpress_video-background\"" + muted_video + " plays-inline>\n" + video + "</video></div>\n");
470
+ } else if( $('#customize_presets_settingsdefault17').is(':checked') || $('#customize_presets_settingsdefault18').is(':checked') ) {
471
+ $( '#customize-preview iframe' ).contents().find('.login').append("<div id=\"loginpress_video-background-wrapper\"><video autoplay loop id=\"loginpress_video-background\"" + muted_video + " plays-inline>\n" + video + "</video></div>\n");
472
+ } else {
473
+ $( '#customize-preview iframe' ).contents().find('.login').append("<video autoplay loop id=\"loginpress_video-background\"" + muted_video + " plays-inline>\n" + video + "</video>\n");
474
+ }
475
+ $( '#customize-preview iframe' ).contents().find( '.login #loginpress_video-background' )[0].play();
476
  }
 
477
  }
478
  $('#customize-control-loginpress_customization-background_video').fadeIn().css( 'display', 'list-item' );
479
  if($('#customize-control-loginpress_customization-background_video video').length>0){
547
  */
548
  function loginpress_customizer_bg(customizer_bg) {
549
 
550
+ if ( 'default1' == customizer_bg && loginpress_script.filter_bg.length > 0 ) {
551
+ loginpress_bg = 'url(' + loginpress_script.filter_bg + ')';
552
+ } else if ( 'default1' == customizer_bg ) {
553
  loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress/img/bg.jpg)';
554
  } else if ( 'default2' == customizer_bg ) {
555
  loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress/img/bg2.jpg)';
js/script-login.php CHANGED
@@ -3,6 +3,7 @@
3
  /**
4
  * script-login.php is created for adding JS code in login page footer.
5
  * @since 1.2.2
 
6
  */
7
 
8
  function loginpress_custom_js( $loginpress_key ) {
@@ -16,6 +17,9 @@ function loginpress_custom_js( $loginpress_key ) {
16
 
17
  }
18
  }
 
 
 
19
  $loginpress_capslock = __( 'Caps Lock is on', 'loginpress' );
20
  $loginpress_custom_js = loginpress_custom_js( 'loginpress_custom_js' );
21
 
@@ -81,4 +85,11 @@ document.addEventListener('DOMContentLoaded', function(){
81
  }
82
  };
83
  };
 
 
 
 
 
 
 
84
  </script>
3
  /**
4
  * script-login.php is created for adding JS code in login page footer.
5
  * @since 1.2.2
6
+ * @version 1.2.3
7
  */
8
 
9
  function loginpress_custom_js( $loginpress_key ) {
17
 
18
  }
19
  }
20
+
21
+ $loginpress_setting = get_option( 'loginpress_setting' );
22
+ $loginpress_autorm = isset( $loginpress_setting['auto_remember_me'] ) ? $loginpress_setting['auto_remember_me'] : 'off';
23
  $loginpress_capslock = __( 'Caps Lock is on', 'loginpress' );
24
  $loginpress_custom_js = loginpress_custom_js( 'loginpress_custom_js' );
25
 
85
  }
86
  };
87
  };
88
+
89
+ <?php if ( 'off' != $loginpress_autorm ) : ?>
90
+ var _LoginPressRMChecked = document.getElementById("rememberme");
91
+ if ( null != _LoginPressRMChecked ) {
92
+ _LoginPressRMChecked.checked = true;
93
+ }
94
+ <?php endif; ?>
95
  </script>
loginpress.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
  * Plugin URI: https://WPBrigade.com/wordpress/plugins/loginpress/
5
  * Description: LoginPress is the best <code>wp-login</code> Login Page Customizer plugin by <a href="https://wpbrigade.com/">WPBrigade</a> which allows you to completely change the layout of login, register and forgot password forms.
6
- * Version: 1.2.2
7
  * Author: WPBrigade
8
  * Author URI: https://WPBrigade.com/
9
  * Text Domain: loginpress
@@ -22,7 +22,7 @@ if ( ! class_exists( 'LoginPress' ) ) :
22
  /**
23
  * @var string
24
  */
25
- public $version = '1.2.2';
26
 
27
  /**
28
  * @var The single instance of the class
@@ -585,4 +585,3 @@ $notification = new TAV_Remote_Notification_Client( 125, '16765c0902705d62', 'ht
585
 
586
  register_activation_hook( __FILE__, array( 'LoginPress', 'plugin_activation' ) );
587
  register_uninstall_hook( __FILE__, array( 'LoginPress', 'plugin_uninstallation' ) );
588
- ?>
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
  * Plugin URI: https://WPBrigade.com/wordpress/plugins/loginpress/
5
  * Description: LoginPress is the best <code>wp-login</code> Login Page Customizer plugin by <a href="https://wpbrigade.com/">WPBrigade</a> which allows you to completely change the layout of login, register and forgot password forms.
6
+ * Version: 1.2.4
7
  * Author: WPBrigade
8
  * Author URI: https://WPBrigade.com/
9
  * Text Domain: loginpress
22
  /**
23
  * @var string
24
  */
25
+ public $version = '1.2.4';
26
 
27
  /**
28
  * @var The single instance of the class
585
 
586
  register_activation_hook( __FILE__, array( 'LoginPress', 'plugin_activation' ) );
587
  register_uninstall_hook( __FILE__, array( 'LoginPress', 'plugin_uninstallation' ) );
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tested up to: 5.2
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
  Tags: wp-login, login, login customizer, custom login, wordpress login,
7
- Stable tag: 1.2.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -214,6 +214,17 @@ Please visit <a target="_blank" rel="friend" href="https://WPBrigade.com/wordpre
214
 
215
  == Changelog ==
216
 
 
 
 
 
 
 
 
 
 
 
 
217
  = 1.2.2 - 2019-07-15 =
218
  * New Feature: One click Install / Activate / Deactivate Add-Ons on addons page.
219
  * Bugfix: Enable / Disable "Back To" link issue in customizer.
@@ -502,5 +513,5 @@ Please visit <a target="_blank" rel="friend" href="https://WPBrigade.com/wordpre
502
 
503
  == Upgrade Notice ==
504
 
505
- = 1.2.2 =
506
  * Important Release, upgrade immediately.
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
  Tags: wp-login, login, login customizer, custom login, wordpress login,
7
+ Stable tag: 1.2.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
214
 
215
  == Changelog ==
216
 
217
+ = 1.2.4 - 2019-07-23 =
218
+ * BugFix: Compatibility issue, fatal error fixed.
219
+
220
+ = 1.2.3 - 2019-07-23 =
221
+ * New Feature: Compatible LoginPress Customizer with WebARX plugin.
222
+ * New Feature: Add settings for "remember me" option already checked on login form.
223
+ * New Feature: Create a hook for change the default login page background.
224
+ * Bugfix: Footer issue in Safari Browser.
225
+ * Bugfix: LoginPress Dashicon confliction with other custom dashicons.
226
+ * Bugfix: Video Previewer issue in customizer.
227
+
228
  = 1.2.2 - 2019-07-15 =
229
  * New Feature: One click Install / Activate / Deactivate Add-Ons on addons page.
230
  * Bugfix: Enable / Disable "Back To" link issue in customizer.
513
 
514
  == Upgrade Notice ==
515
 
516
+ = 1.2.4 =
517
  * Important Release, upgrade immediately.