Custom Login Page Customizer | LoginPress - Version 1.0.23

Version Description

  • 2017-12-26 =
  • Compatibility: Compatible with WordPress 4.9.1
  • New Feature: Implement Edit Shortcut Icons in the Customizer Preview.
  • Enhancement: Improved the UI/UX of the whole plugin.
  • Enhancement: Apply live Google Fonts on footer text in Customizer (Pro Feature).
  • Bugfix: Welcome messages in Customizer.
  • Bugfix: Activation multiple plugins issue.
  • Bugfix: PHP 7 Warning.
  • Bugfix: RTL Settings pages.
  • Bugfix: Typo in log file.
  • Bugfix: Optimized plugin speed and code improvement.
Download this release

Release Info

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

Code changes from version 1.0.22 to 1.0.23

classes/class-loginpress-addons.php CHANGED
@@ -27,7 +27,7 @@ if ( ! class_exists( 'LoginPress_Addons' ) ) :
27
 
28
  $this->plugins_list = get_plugins();
29
  // add_filter( 'plugins_api', array( $this, 'get_addon_info' ), 100, 3 );
30
- // $this->get_addons_link();
31
  }
32
 
33
  /**
@@ -36,7 +36,8 @@ if ( ! class_exists( 'LoginPress_Addons' ) ) :
36
  */
37
  function get_addons_name() {
38
 
39
- $raw_response = wp_remote_post( 'https://wpbrigade.com/loginpress-api/api.php');
 
40
 
41
  if ( is_wp_error( $raw_response ) || $raw_response['response']['code'] != 200 ) {
42
  return false;
27
 
28
  $this->plugins_list = get_plugins();
29
  // add_filter( 'plugins_api', array( $this, 'get_addon_info' ), 100, 3 );
30
+ $this->get_addons_link();
31
  }
32
 
33
  /**
36
  */
37
  function get_addons_name() {
38
 
39
+ //$raw_response = wp_remote_post( 'http://localhost/wpbrigade.com/loginpress-api/api.php' );
40
+ $raw_response = wp_remote_post( 'https://wpbrigade.com/loginpress-api/api.php');
41
 
42
  if ( is_wp_error( $raw_response ) || $raw_response['response']['code'] != 200 ) {
43
  return false;
classes/class-loginpress-ajax.php CHANGED
@@ -183,6 +183,8 @@ if ( ! class_exists( 'LoginPress_AJAX' ) ) :
183
  /**
184
  * [deactivate get response from user on deactivating plugin]
185
  * @return [string] [response]
 
 
186
  */
187
  public function deactivate() {
188
 
@@ -214,6 +216,7 @@ if ( ! class_exists( 'LoginPress_AJAX' ) ) :
214
  'reason_detail' => $reason_detail,
215
  'blog_language' => get_bloginfo( 'language' ),
216
  'wordpress_version' => get_bloginfo( 'version' ),
 
217
  'plugin_version' => LOGINPRESS_VERSION,
218
  'plugin_name' => 'LoginPress Free',
219
  );
183
  /**
184
  * [deactivate get response from user on deactivating plugin]
185
  * @return [string] [response]
186
+ * @since 1.0.15
187
+ * @version 1.0.23
188
  */
189
  public function deactivate() {
190
 
216
  'reason_detail' => $reason_detail,
217
  'blog_language' => get_bloginfo( 'language' ),
218
  'wordpress_version' => get_bloginfo( 'version' ),
219
+ 'php_version' => PHP_VERSION,
220
  'plugin_version' => LOGINPRESS_VERSION,
221
  'plugin_name' => 'LoginPress Free',
222
  );
classes/class-loginpress-log.php CHANGED
@@ -20,8 +20,8 @@ class LoginPress_Log_Info {
20
  global $wpdb;
21
  $loginpress_setting = get_option( 'loginpress_setting' );
22
  $loginpress_config = get_option( 'loginpress_customization' );
23
- $session_expiration = ( isset( $loginpress_setting['session_expiration'] ) && '0' != $loginpress_setting['session_expiration'] ) ? $loginpress_setting['session_expiration'] . ' Seconds' : 'Not Set';
24
- $login_with_email = isset( $loginpress_setting['login_with_email'] ) ? $loginpress_setting['login_with_email'] : 'off';
25
  $customization = isset( $loginpress_config ) ? print_r( $loginpress_config, true ) : 'No customization yet';
26
 
27
  $html = '### Begin System Info ###' . "\n\n";
@@ -41,7 +41,7 @@ class LoginPress_Log_Info {
41
  $html .= "\n" . '-- LoginPress Configuration --' . "\n\n";
42
  $html .= 'Plugin Version: ' . LOGINPRESS_VERSION . "\n";
43
  $html .= 'Expiration: ' . $session_expiration . "\n";
44
- $html .= 'Force Login with Email: ' . $login_with_email . "\n";
45
  $html .= 'Total Customized Fields: ' . count( $loginpress_config ) . "\n";
46
  $html .= 'Customization Detail: ' . $customization . "\n";
47
 
@@ -84,7 +84,7 @@ class LoginPress_Log_Info {
84
 
85
  // PHP configs... now we're getting to the important stuff
86
  $html .= "\n" . '-- PHP Configuration --' . "\n\n";
87
- $html .= 'Safe Mode: ' . ( ini_get( 'safe_mode' ) ? 'Enabled' : 'Disabled' . "\n" );
88
  $html .= 'Memory Limit: ' . ini_get( 'memory_limit' ) . "\n";
89
  $html .= 'Post Max Size: ' . ini_get( 'post_max_size' ) . "\n";
90
  $html .= 'Upload Max Filesize: ' . ini_get( 'upload_max_filesize' ) . "\n";
20
  global $wpdb;
21
  $loginpress_setting = get_option( 'loginpress_setting' );
22
  $loginpress_config = get_option( 'loginpress_customization' );
23
+ $session_expiration = ( isset( $loginpress_setting['session_expiration'] ) && '0' != $loginpress_setting['session_expiration'] ) ? $loginpress_setting['session_expiration'] . ' Minute' : 'Not Set';
24
+ $login_order = isset( $loginpress_setting['login_order'] ) ? $loginpress_setting['login_order'] : 'Default';
25
  $customization = isset( $loginpress_config ) ? print_r( $loginpress_config, true ) : 'No customization yet';
26
 
27
  $html = '### Begin System Info ###' . "\n\n";
41
  $html .= "\n" . '-- LoginPress Configuration --' . "\n\n";
42
  $html .= 'Plugin Version: ' . LOGINPRESS_VERSION . "\n";
43
  $html .= 'Expiration: ' . $session_expiration . "\n";
44
+ $html .= 'Login Order: ' . ucfirst( $login_order ) . "\n";
45
  $html .= 'Total Customized Fields: ' . count( $loginpress_config ) . "\n";
46
  $html .= 'Customization Detail: ' . $customization . "\n";
47
 
84
 
85
  // PHP configs... now we're getting to the important stuff
86
  $html .= "\n" . '-- PHP Configuration --' . "\n\n";
87
+ // $html .= 'Safe Mode: ' . ( ini_get( 'safe_mode' ) ? 'Enabled' : 'Disabled' . "\n" );
88
  $html .= 'Memory Limit: ' . ini_get( 'memory_limit' ) . "\n";
89
  $html .= 'Post Max Size: ' . ini_get( 'post_max_size' ) . "\n";
90
  $html .= 'Upload Max Filesize: ' . ini_get( 'upload_max_filesize' ) . "\n";
classes/class-loginpress-settings-api.php CHANGED
@@ -104,9 +104,9 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
104
  add_option( $section['id'] );
105
  }
106
 
107
- if ( isset($section['desc']) && !empty($section['desc']) ) {
108
  $section['desc'] = '<div class="inside">' . $section['desc'] . '</div>';
109
- $callback = create_function('', 'echo "' . str_replace( '"', '\"', $section['desc'] ) . '";');
110
  } else if ( isset( $section['callback'] ) ) {
111
  $callback = $section['callback'];
112
  } else {
@@ -219,6 +219,7 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
219
  * Displays a checkbox for a settings field
220
  *
221
  * @param array $args settings field args
 
222
  */
223
  function callback_checkbox( $args ) {
224
 
@@ -227,8 +228,8 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
227
  $html = '<fieldset>';
228
  $html .= sprintf( '<label for="wpb-%1$s[%2$s]">', $args['section'], $args['id'] );
229
  $html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" />', $args['section'], $args['id'] );
230
- $html .= sprintf( '<input type="checkbox" class="checkbox" id="wpb-%1$s[%2$s]" name="%1$s[%2$s]" value="on" %3$s />', $args['section'], $args['id'], checked( $value, 'on', false ) );
231
- $html .= sprintf( '%1$s</label>', $args['desc'] );
232
  $html .= '</fieldset>';
233
 
234
  echo $html;
@@ -238,6 +239,7 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
238
  * Displays a multicheckbox a settings field
239
  *
240
  * @param array $args settings field args
 
241
  */
242
  function callback_multicheck( $args ) {
243
 
@@ -247,8 +249,8 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
247
  foreach ( $args['options'] as $key => $label ) {
248
  $checked = isset( $value[$key] ) ? $value[$key] : '0';
249
  $html .= sprintf( '<label for="wpb-%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
250
- $html .= sprintf( '<input type="checkbox" class="checkbox" id="wpb-%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $checked, $key, false ) );
251
- $html .= sprintf( '%1$s</label><br>', $label );
252
  }
253
 
254
  $html .= $this->get_field_description( $args );
@@ -411,12 +413,12 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
411
  /**
412
  * Displays a search field for a autologin field
413
  *
414
- * @param array $args settings field args
415
  */
416
  function callback_autologin( $args ) {
417
 
418
  $html = apply_filters( 'loginpress_autologin', $args );
419
- $html .= $this->get_field_description( $args );
420
 
421
  echo $html;
422
  }
@@ -424,7 +426,7 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
424
  /**
425
  * Displays a text field for a hidelogin field
426
  *
427
- * @param array $args settings field args
428
  */
429
  function callback_hidelogin( $args ) {
430
 
@@ -435,6 +437,20 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
435
  echo $html;
436
  }
437
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
438
  /**
439
  * Sanitize callback for Settings API
440
  *
@@ -530,7 +546,9 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
530
  /**
531
  * Show the section settings forms
532
  *
533
- * This function displays every sections in a different form
 
 
534
  */
535
  function show_forms() {
536
  ?>
@@ -539,22 +557,47 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
539
  <div id="<?php echo $form['id']; ?>" class="group" style="display: none;">
540
  <form method="post" action="options.php">
541
  <?php
 
542
  do_action( 'wsa_form_top_' . $form['id'], $form );
543
  settings_fields( $form['id'] );
544
  do_settings_sections( $form['id'] );
545
  do_action( 'wsa_form_bottom_' . $form['id'], $form );
546
  if ( isset( $this->settings_fields[ $form['id'] ] ) ) :
547
- if( $form['id'] !== 'loginpress_autologin' ) : // Remove submit button from Autologin tab.
548
- ?>
549
  <div style="padding-left: 10px">
550
  <?php submit_button(); ?>
551
  </div>
552
  <?php endif; ?>
553
  <?php endif; ?>
554
  </form>
555
- <?php if ( $form['id'] == 'loginpress_autologin' ) {
556
- do_action( 'loginpress_autologin_script' );
557
- } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
558
  </div>
559
  <?php endforeach; ?>
560
 
@@ -639,8 +682,8 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
639
  });
640
  });
641
 
642
- if (activetab != '' && $(activetab + '-tab').length ) {
643
- $(activetab + '-tab').addClass('nav-tab-active');
644
  }
645
  else {
646
  $('.nav-tab-wrapper a:first').addClass('nav-tab-active');
@@ -688,8 +731,7 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
688
  function _style_fix() {
689
  global $wp_version;
690
 
691
- if (version_compare($wp_version, '3.8', '<=')):
692
- ?>
693
  <style type="text/css">
694
  /** WordPress 3.8 Fix **/
695
  .form-table th { padding: 20px 10px; }
104
  add_option( $section['id'] );
105
  }
106
 
107
+ if ( isset( $section['desc'] ) && !empty( $section['desc'] ) ) {
108
  $section['desc'] = '<div class="inside">' . $section['desc'] . '</div>';
109
+ $callback = create_function( '', 'echo "' . str_replace( '"', '\"', $section['desc'] ) . '";' );
110
  } else if ( isset( $section['callback'] ) ) {
111
  $callback = $section['callback'];
112
  } else {
219
  * Displays a checkbox for a settings field
220
  *
221
  * @param array $args settings field args
222
+ * @version 1.0.23
223
  */
224
  function callback_checkbox( $args ) {
225
 
228
  $html = '<fieldset>';
229
  $html .= sprintf( '<label for="wpb-%1$s[%2$s]">', $args['section'], $args['id'] );
230
  $html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" />', $args['section'], $args['id'] );
231
+ $html .= sprintf( '<input type="checkbox" class="checkbox loginpress-check-hidden" id="wpb-%1$s[%2$s]" name="%1$s[%2$s]" value="on" %3$s />', $args['section'], $args['id'], checked( $value, 'on', false ) );
232
+ $html .= sprintf( '%2$s%1$s</label>', $args['desc'], '<span class="loginpress-checkbox"></span>' );
233
  $html .= '</fieldset>';
234
 
235
  echo $html;
239
  * Displays a multicheckbox a settings field
240
  *
241
  * @param array $args settings field args
242
+ * @version 1.0.23
243
  */
244
  function callback_multicheck( $args ) {
245
 
249
  foreach ( $args['options'] as $key => $label ) {
250
  $checked = isset( $value[$key] ) ? $value[$key] : '0';
251
  $html .= sprintf( '<label for="wpb-%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
252
+ $html .= sprintf( '<input type="checkbox" class="checkbox loginpress-check-hidden" id="wpb-%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $checked, $key, false ) );
253
+ $html .= sprintf( '%2$s%1$s</label><br>', $label, '<span class="loginpress-checkbox"></span>' );
254
  }
255
 
256
  $html .= $this->get_field_description( $args );
413
  /**
414
  * Displays a search field for a autologin field
415
  *
416
+ * @param array $args settings field args
417
  */
418
  function callback_autologin( $args ) {
419
 
420
  $html = apply_filters( 'loginpress_autologin', $args );
421
+ $html .= $this->get_field_description( $args );
422
 
423
  echo $html;
424
  }
426
  /**
427
  * Displays a text field for a hidelogin field
428
  *
429
+ * @param array $args settings field args
430
  */
431
  function callback_hidelogin( $args ) {
432
 
437
  echo $html;
438
  }
439
 
440
+ /**
441
+ * Displays a search field for a login redirects.
442
+ *
443
+ * @param array $args settings field args
444
+ * @since 1.0.23
445
+ */
446
+ function callback_login_redirect( $args ) {
447
+
448
+ $html = apply_filters( 'loginpress_login_redirects', $args );
449
+ $html .= $this->get_field_description( $args );
450
+
451
+ echo $html;
452
+ }
453
+
454
  /**
455
  * Sanitize callback for Settings API
456
  *
546
  /**
547
  * Show the section settings forms
548
  *
549
+ * This function displays every sections in a different form.
550
+ * @since 1.0.9
551
+ * @version 1.0.23
552
  */
553
  function show_forms() {
554
  ?>
557
  <div id="<?php echo $form['id']; ?>" class="group" style="display: none;">
558
  <form method="post" action="options.php">
559
  <?php
560
+ $remove_submit = array( 'loginpress_autologin', 'loginpress_login_redirects' );
561
  do_action( 'wsa_form_top_' . $form['id'], $form );
562
  settings_fields( $form['id'] );
563
  do_settings_sections( $form['id'] );
564
  do_action( 'wsa_form_bottom_' . $form['id'], $form );
565
  if ( isset( $this->settings_fields[ $form['id'] ] ) ) :
566
+ if( ! in_array( $form['id'], $remove_submit ) ) : // Remove submit button from Autologin & Redirects tab. ?>
 
567
  <div style="padding-left: 10px">
568
  <?php submit_button(); ?>
569
  </div>
570
  <?php endif; ?>
571
  <?php endif; ?>
572
  </form>
573
+ <?php
574
+ /**
575
+ * Add Autologin Addon Action Hook
576
+ * @since 1.0.9
577
+ * @version 1.0.23
578
+ * @return string
579
+ */
580
+ if ( $form['id'] == 'loginpress_autologin' ) :
581
+ do_action( 'loginpress_autologin_script' );
582
+ endif;
583
+ /**
584
+ * Add Login Redirects Addon Action Hook
585
+ * @since 1.0.23
586
+ * @return string
587
+ */
588
+ if ( $form['id'] == 'loginpress_login_redirects' ) :
589
+ do_action( 'loginpress_login_redirect_script' );
590
+ endif;
591
+ /**
592
+ * Add Limit Login Attempts Addon Action Hook
593
+ * @since 1.0.23
594
+ * @return string
595
+ */
596
+ if ( $form['id'] == 'loginpress_limit_login_attempts' ) :
597
+ do_action( 'loginpress_limit_login_attempts_log_script' );
598
+ do_action( 'loginpress_limit_login_attempts_whitelist_script' );
599
+ do_action( 'loginpress_limit_login_attempts_blacklist_script' );
600
+ endif; ?>
601
  </div>
602
  <?php endforeach; ?>
603
 
682
  });
683
  });
684
 
685
+ if ( activetab != '' && $( activetab + '-tab' ).length ) {
686
+ $( activetab + '-tab' ).addClass('nav-tab-active');
687
  }
688
  else {
689
  $('.nav-tab-wrapper a:first').addClass('nav-tab-active');
731
  function _style_fix() {
732
  global $wp_version;
733
 
734
+ if ( version_compare( $wp_version, '3.8', '<=' ) ) : ?>
 
735
  <style type="text/css">
736
  /** WordPress 3.8 Fix **/
737
  .form-table th { padding: 20px 10px; }
classes/class-loginpress-setup.php CHANGED
@@ -120,7 +120,7 @@ class LoginPress_Settings {
120
  array(
121
  'name' => 'session_expiration',
122
  'label' => __( 'Session Expire', 'loginpress' ),
123
- 'desc' => __( 'Set the session expiration time in minutes. e.g: 10', 'loginpress' ),
124
  'placeholder' => __( '10', 'loginpress' ),
125
  'min' => 0,
126
  // 'max' => 100,
120
  array(
121
  'name' => 'session_expiration',
122
  'label' => __( 'Session Expire', 'loginpress' ),
123
+ 'desc' => __( 'Set the session expiration time in minutes. e.g: 10', 'loginpress' ), //<br /> When you set the time, here you need to set the expiration cookies. for this, you just need to logout at least one time. After login again, it should be working fine.<br />For removing the session expiration just pass empty value in “Expiration” field and save it. Now clear the expiration cookies by logout at least one time.
124
  'placeholder' => __( '10', 'loginpress' ),
125
  'min' => 0,
126
  // 'max' => 100,
classes/controls/miscellaneous.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for Radio Button Control.
4
+ *
5
+ * @since 1.0.23
6
+ * @access public
7
+ */
8
+ class LoginPress_Misc_Control extends WP_Customize_Control {
9
+
10
+ /**
11
+ * The type of customize control being rendered.
12
+ *
13
+ * @since 1.0.23
14
+ * @access public
15
+ * @var string
16
+ */
17
+ public $type = '';
18
+
19
+ /**
20
+ * Enqueue scripts/styles.
21
+ *
22
+ * @since 1.0.23
23
+ * @access public
24
+ * @return void
25
+ */
26
+ public function enqueue() {
27
+
28
+ // wp_enqueue_script( 'loginpress-miscellaneous-control-js', LOGINPRESS_DIR_URL . 'js/controls/loginpress-miscellaneous-control.js', array( 'jquery' ), LOGINPRESS_VERSION, true );
29
+ // wp_enqueue_style( 'loginpress-miscellaneous-control-css', LOGINPRESS_DIR_URL . 'css/controls/loginpress-miscellaneous-control.css', array(), LOGINPRESS_VERSION );
30
+
31
+ }
32
+
33
+ /**
34
+ * Displays the control content.
35
+ *
36
+ * @since 1.0.23
37
+ * @access public
38
+ * @return void
39
+ */
40
+ public function render_content() {
41
+
42
+ switch ( $this->type ) {
43
+ default:
44
+
45
+ case 'hr' :
46
+ echo '<hr />';
47
+ break;
48
+ }
49
+ }
50
+ }
classes/controls/radio-button.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for Radio Button Control.
4
+ *
5
+ * @since 1.0.23
6
+ * @access public
7
+ */
8
+ class LoginPress_Radio_Control extends WP_Customize_Control {
9
+
10
+ /**
11
+ * The type of customize control being rendered.
12
+ *
13
+ * @since 1.0.23
14
+ * @access public
15
+ * @var string
16
+ */
17
+ public $type = 'ios';
18
+
19
+ /**
20
+ * Enqueue scripts/styles.
21
+ *
22
+ * @since 1.0.23
23
+ * @access public
24
+ * @return void
25
+ */
26
+ public function enqueue() {
27
+
28
+ wp_enqueue_script( 'loginpress-radio-control-js', LOGINPRESS_DIR_URL . 'js/controls/loginpress-radio-button-control.js', array( 'jquery' ), LOGINPRESS_VERSION, true );
29
+ wp_enqueue_style( 'loginpress-radio-control-css', LOGINPRESS_DIR_URL . 'css/controls/loginpress-radio-button-control.css', array(), LOGINPRESS_VERSION );
30
+
31
+ $css = '
32
+ .disabled-control-title {
33
+ color: #a0a5aa;
34
+ }
35
+ input[type=checkbox].loginpress-radio-light:checked + .loginpress-radio-btn {
36
+ background: #0085ba;
37
+ }
38
+ input[type=checkbox].loginpress-radio-light + .loginpress-radio-btn {
39
+ background: #a0a5aa;
40
+ }
41
+ input[type=checkbox].loginpress-radio-light + .loginpress-radio-btn:after {
42
+ background: #f7f7f7;
43
+ }
44
+
45
+ input[type=checkbox].loginpress-radio-ios:checked + .loginpress-radio-btn {
46
+ background: #0085ba;
47
+ }
48
+
49
+ input[type=checkbox].loginpress-radio-flat:checked + .loginpress-radio-btn {
50
+ border: 4px solid #0085ba;
51
+ }
52
+ input[type=checkbox].loginpress-radio-flat:checked + .loginpress-radio-btn:after {
53
+ background: #0085ba;
54
+ }
55
+ ';
56
+ wp_add_inline_style( 'loginpress-radio-control-css' , $css );
57
+ }
58
+
59
+ /**
60
+ * Displays the control content.
61
+ *
62
+ * @since 1.0.23
63
+ * @access public
64
+ * @return void
65
+ */
66
+ public function render_content() {
67
+ ?>
68
+ <label>
69
+ <div style="display:flex;flex-direction: row;justify-content: flex-start;">
70
+ <span class="customize-control-title" style="flex: 2 0 0; vertical-align: middle;"><?php echo esc_html( $this->label ); ?></span>
71
+ <input id="cb<?php echo $this->instance_number ?>" type="checkbox" class="loginpress-radio loginpress-radio-<?php echo $this->type?>" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); checked( $this->value() ); ?> />
72
+ <label for="cb<?php echo $this->instance_number ?>" class="loginpress-radio-btn"></label>
73
+ </div>
74
+ <?php if ( ! empty( $this->description ) ) : ?>
75
+ <span class="description customize-control-description"><?php echo $this->description; ?></span>
76
+ <?php endif; ?>
77
+ </label>
78
+ <?php
79
+ }
80
+ }
classes/controls/range.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for Range Control.
4
+ *
5
+ * @since 1.0.23
6
+ * @access public
7
+ */
8
+ class LoginPress_Range_Control extends WP_Customize_Control {
9
+
10
+ /**
11
+ * The type of customize control being rendered.
12
+ *
13
+ * @since 1.0.23
14
+ * @access public
15
+ * @var string
16
+ */
17
+ public $type = 'loginpress-range';
18
+
19
+ /**
20
+ * Default for the Controler
21
+ *
22
+ * @since 1.0.23
23
+ * @access public
24
+ * @var string
25
+ */
26
+ public $default;
27
+
28
+ /**
29
+ * Unit for the Controler
30
+ *
31
+ * @since 1.0.23
32
+ * @access public
33
+ * @var string
34
+ */
35
+ public $unit = 'px';
36
+
37
+ /**
38
+ * Enqueue scripts/styles.
39
+ *
40
+ * @since 1.0.23
41
+ * @access public
42
+ * @return void
43
+ */
44
+ public function enqueue() {
45
+
46
+ wp_enqueue_script( 'loginpress-range-control-js', LOGINPRESS_DIR_URL . 'js/controls/loginpress-range-control.js', array( 'jquery' ), LOGINPRESS_VERSION, true );
47
+
48
+ wp_enqueue_style( 'loginpress-range-control-css', LOGINPRESS_DIR_URL . 'css/controls/loginpress-range-control.css', array(), LOGINPRESS_VERSION );
49
+ }
50
+
51
+ /**
52
+ * Displays the control content.
53
+ *
54
+ * @since 1.0.23
55
+ * @access public
56
+ * @return void
57
+ */
58
+ public function render_content() {
59
+ ?>
60
+ <label>
61
+ <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
62
+ <div class="loginpress-range-slider" style="width:100%; display:flex;flex-direction: row;justify-content: flex-start;">
63
+ <span style="width:100%; flex: 1 0 0; vertical-align: middle;">
64
+ <span class="loginpress-range-slider_reset"><a type="button" value="reset" class="loginpress-range-reset"></a></span>
65
+ <input class="loginpress-range-slider_range" data-default-value="<?php echo esc_html( $this->default ); ?>" type="range" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->input_attrs(); $this->link(); ?>>
66
+ <input type="text" class="loginpress-range-slider_val" value="<?php echo esc_attr( $this->value() ); ?>" />
67
+ <span><?php echo $this->unit; ?></span>
68
+ </span>
69
+ </div>
70
+ <?php if ( ! empty( $this->description ) ) : ?>
71
+ <span class="description customize-control-description"><?php echo $this->description; ?></span>
72
+ <?php endif; ?>
73
+ </label>
74
+ <?php
75
+ }
76
+ }
css/controls/loginpress-radio-button-control.css ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ input[type=checkbox].loginpress-radio {
2
+ display: none;
3
+ }
4
+ input[type=checkbox].loginpress-radio, input[type=checkbox].loginpress-radio:after, input[type=checkbox].loginpress-radio:before, input[type=checkbox].loginpress-radio *, input[type=checkbox].loginpress-radio *:after, input[type=checkbox].loginpress-radio *:before, input[type=checkbox].loginpress-radio + .loginpress-radio-btn {
5
+ box-sizing: border-box;
6
+ }
7
+ input[type=checkbox].loginpress-radio::-moz-selection, input[type=checkbox].loginpress-radio:after::-moz-selection, input[type=checkbox].loginpress-radio:before::-moz-selection, input[type=checkbox].loginpress-radio *::-moz-selection, input[type=checkbox].loginpress-radio *:after::-moz-selection, input[type=checkbox].loginpress-radio *:before::-moz-selection, input[type=checkbox].loginpress-radio + .loginpress-radio-btn::-moz-selection {
8
+ background: none;
9
+ }
10
+ input[type=checkbox].loginpress-radio::selection, input[type=checkbox].loginpress-radio:after::selection, input[type=checkbox].loginpress-radio:before::selection, input[type=checkbox].loginpress-radio *::selection, input[type=checkbox].loginpress-radio *:after::selection, input[type=checkbox].loginpress-radio *:before::selection, input[type=checkbox].loginpress-radio + .loginpress-radio-btn::selection {
11
+ background: none;
12
+ }
13
+ input[type=checkbox].loginpress-radio + .loginpress-radio-btn {
14
+ outline: 0;
15
+ display: block;
16
+ width: 32px;
17
+ height: 18px;
18
+ position: relative;
19
+ cursor: pointer;
20
+ -webkit-user-select: none;
21
+ -moz-user-select: none;
22
+ -ms-user-select: none;
23
+ user-select: none;
24
+ }
25
+ input[type=checkbox].loginpress-radio + .loginpress-radio-btn:after, input[type=checkbox].loginpress-radio + .loginpress-radio-btn:before {
26
+ position: relative;
27
+ display: block;
28
+ content: "";
29
+ width: 50%;
30
+ height: 100%;
31
+ }
32
+ input[type=checkbox].loginpress-radio + .loginpress-radio-btn:after {
33
+ left: 0;
34
+ }
35
+ input[type=checkbox].loginpress-radio + .loginpress-radio-btn:before {
36
+ display: none;
37
+ }
38
+ input[type=checkbox].loginpress-radio:checked + .loginpress-radio-btn:after {
39
+ left: 15px;
40
+ border-color: #fff;
41
+ background: #33b3db;
42
+ }
43
+ input[type=checkbox].loginpress-radio + .loginpress-radio-btn:hover{
44
+ background-color: #e2e4e7;
45
+ }
46
+ input[type=checkbox].loginpress-radio-ios + .loginpress-radio-btn:active:after{
47
+ border-width: 5px;
48
+ }
49
+ input[type=checkbox].loginpress-radio-ios + .loginpress-radio-btn:checked:active:after{
50
+ border-width: 5px;
51
+ border-color: #fff;
52
+ background: #fff;
53
+ }
54
+ input[type=checkbox].loginpress-radio-light + .loginpress-radio-btn {
55
+ background: #f0f0f0;
56
+ border-radius: 2em;
57
+ padding: 2px;
58
+ -webkit-transition: all .4s ease;
59
+ transition: all .4s ease;
60
+
61
+ }
62
+ input[type=checkbox].loginpress-radio-light + .loginpress-radio-btn:after {
63
+ border-radius: 50%;
64
+ background: #fff;
65
+ -webkit-transition: all .2s ease;
66
+ transition: all .2s ease;
67
+ }
68
+ input[type=checkbox].loginpress-radio-light:checked + .loginpress-radio-btn {
69
+ background: #9FD6AE;
70
+ }
71
+
72
+ input[type=checkbox].loginpress-radio-ios + .loginpress-radio-btn {
73
+ background: #fff;
74
+ border-radius: 2em;
75
+ padding: 2px;
76
+ -webkit-transition: all .4s ease;
77
+ transition: all .4s ease;
78
+ border: 2px solid #555d66;
79
+ }
80
+ input[type=checkbox].loginpress-radio-ios + .loginpress-radio-btn:after {
81
+ border-radius: 2em;
82
+ background: #fbfbfb;
83
+ -webkit-transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
84
+ transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
85
+ border:2px solid #555d66;
86
+ box-sizing: border-box;
87
+ width: 10px;
88
+ height: 10px;
89
+ }
90
+ input[type=checkbox].loginpress-radio-ios + .loginpress-radio-btn:hover:after {
91
+ will-change: padding;
92
+ }
93
+ input[type=checkbox].loginpress-radio-ios + .loginpress-radio-btn:active {
94
+ box-shadow: inset 0 0 0 2em #e8eae9;
95
+ }
96
+ input[type=checkbox].loginpress-radio-ios:checked + .loginpress-radio-btn {
97
+
98
+ background: #33b3db !important;
99
+ border-color: #33b3db !important;
100
+ }
101
+ input[type=checkbox].loginpress-radio-ios:checked + .loginpress-radio-btn:active {
102
+ box-shadow: none;
103
+ }
104
+
105
+ input[type=checkbox].loginpress-radio-flat + .loginpress-radio-btn {
106
+ padding: 2px;
107
+ -webkit-transition: all .2s ease;
108
+ transition: all .2s ease;
109
+ background: #fff;
110
+ border: 4px solid #f2f2f2;
111
+ border-radius: 2em;
112
+ }
113
+ input[type=checkbox].loginpress-radio-flat + .loginpress-radio-btn:after {
114
+ -webkit-transition: all .2s ease;
115
+ transition: all .2s ease;
116
+ background: #f2f2f2;
117
+ content: "";
118
+ border-radius: 1em;
119
+ }
120
+ input[type=checkbox].loginpress-radio-flat:checked + .loginpress-radio-btn {
121
+ border: 4px solid #7FC6A6;
122
+ }
123
+ input[type=checkbox].loginpress-radio-flat:checked + .loginpress-radio-btn:after {
124
+ left: 50%;
125
+ background: #7FC6A6;
126
+ border-color: #7FC6A6;
127
+ }
css/controls/loginpress-range-control.css ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .customize-control-loginpress-range:hover .loginpress-range-reset {
2
+ opacity: 1;
3
+ }
4
+
5
+
6
+ .customize-control-loginpress-range .loginpress-range-reset {
7
+ cursor: pointer;
8
+ height: 19px;
9
+ left: 0;
10
+ position: relative;
11
+ top: 5px;
12
+ -webkit-transition: opacity 150ms cubic-bezier(0.694, 0.0482, 0.335, 1);
13
+ transition: opacity 150ms cubic-bezier(0.694, 0.0482, 0.335, 1);
14
+ width: 19px;
15
+ }
16
+
17
+ .customize-control-loginpress-range .loginpress-range-reset::after {
18
+ content: "\f531";
19
+ cursor: pointer;
20
+ font: 100 20px/1 dashicons;
21
+ left: 0;
22
+ position: relative;
23
+ top: 2px;
24
+ z-index: 999;
25
+ }
26
+
27
+ .loginpress-range-slider {
28
+ width: 100%;
29
+ }
30
+
31
+ .loginpress-range-slider_range {
32
+ -webkit-appearance: none;
33
+ width: calc(100% - (100px));
34
+ height: 5px;
35
+ border-radius: 2.5px;
36
+ background: #d7dcdf;
37
+ outline: none;
38
+ padding: 0;
39
+ margin: 0;
40
+ }
41
+
42
+ .loginpress-range-slider_range::-webkit-slider-thumb {
43
+ -webkit-appearance: none;
44
+ appearance: none;
45
+ width: 16px;
46
+ height: 16px;
47
+ border-radius: 50%;
48
+ background: #0085ba;
49
+ cursor: pointer;
50
+ -webkit-transition: background .15s ease-in-out;
51
+ transition: background .15s ease-in-out;
52
+ }
53
+
54
+ .loginpress-range-slider_range::-webkit-slider-thumb:hover {
55
+ background: #0085ba;
56
+ }
57
+
58
+ .loginpress-range-slider_range:active::-webkit-slider-thumb {
59
+ background: #0085ba;
60
+ }
61
+
62
+ .loginpress-range-slider_range::-moz-range-thumb {
63
+ width: 20px;
64
+ height: 20px;
65
+ border: 0;
66
+ border-radius: 50%;
67
+ background: #0085ba;
68
+ cursor: pointer;
69
+ -webkit-transition: background .15s ease-in-out;
70
+ transition: background .15s ease-in-out;
71
+ }
72
+
73
+ .loginpress-range-slider_range::-moz-range-thumb:hover {
74
+ background: #0085ba;
75
+ }
76
+
77
+ .loginpress-range-slider_range:active::-moz-range-thumb {
78
+ background: #0085ba;
79
+ }
80
+
81
+ .customize-control input[type=text].loginpress-range-slider_val {
82
+ display: inline-block;
83
+ position: relative;
84
+ width: 50px;
85
+ color: #32373c;
86
+ line-height: 20px;
87
+ text-align: center;
88
+ border-radius: 3px;
89
+ padding: 5px 10px;
90
+ margin-left: 3px;
91
+ }
92
+
93
+ ::-moz-range-track {
94
+ background: #d7dcdf;
95
+ border: 0;
96
+ }
97
+
98
+ input::-moz-focus-inner, input::-moz-focus-outer {
99
+ border: 0;
100
+ }
css/style-login.php CHANGED
@@ -41,6 +41,17 @@ function loginpress_check_px( $value ) {
41
  }
42
  }
43
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
  $loginpress_logo_img = loginpress_get_option_key( 'setting_logo', $loginpress_array );
46
  $loginpress_get_logo_width = loginpress_get_option_key( 'customize_logo_width', $loginpress_array );
@@ -104,7 +115,6 @@ $loginpress_custom_js = loginpress_get_option_key( 'loginpress_custom_js',
104
 
105
  $loginpress_display_bg = loginpress_bg_option( 'loginpress_display_bg', $loginpress_array );
106
  $loginpress_theme_tem = get_option( 'customize_presets_settings', 'default1' );
107
-
108
  // ob_start();
109
  ?>
110
  <style type="text/css">
@@ -280,7 +290,7 @@ body.login {
280
 
281
  #login {
282
  <?php if ( ! empty( $loginpress_form_width ) ) : ?>
283
- max-width: <?php echo $loginpress_form_width; ?>;
284
  <?php else : ?>
285
  <?php endif; ?>
286
  }
@@ -292,7 +302,7 @@ body.login {
292
 
293
  .login form .input, .login input[type="text"] {
294
  <?php if ( ! empty( $loginpress_form_field_width ) ) : ?>
295
- width: <?php echo $loginpress_form_field_width; ?>;
296
  <?php endif; ?>
297
  <?php if ( ! empty( $loginpress_form_field_margin ) ) : ?>
298
  margin: <?php echo $loginpress_form_field_margin; ?>;
@@ -349,8 +359,8 @@ body.login {
349
  <?php if ( ! empty( $loginpress_footer_bg_color ) ) : ?>
350
  background-color: <?php echo $loginpress_footer_bg_color; ?>;
351
  <?php endif; ?>
352
- <?php if ( ! empty( $loginpress_footer_display ) ) : ?>
353
- display: <?php echo $loginpress_footer_display; ?>
354
  <?php endif; ?>
355
  }
356
 
@@ -389,8 +399,8 @@ body.login {
389
  <?php if ( ! empty( $loginpress_back_font_size ) ) : ?>
390
  font-size: <?php echo $loginpress_back_font_size; ?>;
391
  <?php endif; ?>
392
- <?php if ( ! empty( $loginpress_back_display ) ) : ?>
393
- display: <?php echo $loginpress_back_display; ?>
394
  <?php endif; ?>
395
  }
396
 
41
  }
42
  }
43
 
44
+ function loginpress_check_percentage( $value ) {
45
+
46
+ if ( strpos( $value, "%" ) ) {
47
+ return $value;
48
+ } else {
49
+ if ( ! empty( $value ) ) {
50
+ return $value . '%';
51
+ }
52
+ }
53
+ }
54
+
55
 
56
  $loginpress_logo_img = loginpress_get_option_key( 'setting_logo', $loginpress_array );
57
  $loginpress_get_logo_width = loginpress_get_option_key( 'customize_logo_width', $loginpress_array );
115
 
116
  $loginpress_display_bg = loginpress_bg_option( 'loginpress_display_bg', $loginpress_array );
117
  $loginpress_theme_tem = get_option( 'customize_presets_settings', 'default1' );
 
118
  // ob_start();
119
  ?>
120
  <style type="text/css">
290
 
291
  #login {
292
  <?php if ( ! empty( $loginpress_form_width ) ) : ?>
293
+ max-width: <?php echo loginpress_check_px( $loginpress_form_width ); ?>;
294
  <?php else : ?>
295
  <?php endif; ?>
296
  }
302
 
303
  .login form .input, .login input[type="text"] {
304
  <?php if ( ! empty( $loginpress_form_field_width ) ) : ?>
305
+ width: <?php echo loginpress_check_percentage($loginpress_form_field_width); ?>;
306
  <?php endif; ?>
307
  <?php if ( ! empty( $loginpress_form_field_margin ) ) : ?>
308
  margin: <?php echo $loginpress_form_field_margin; ?>;
359
  <?php if ( ! empty( $loginpress_footer_bg_color ) ) : ?>
360
  background-color: <?php echo $loginpress_footer_bg_color; ?>;
361
  <?php endif; ?>
362
+ <?php if ( isset( $loginpress_footer_display ) && '1' != $loginpress_footer_display) : ?>
363
+ display: none;
364
  <?php endif; ?>
365
  }
366
 
399
  <?php if ( ! empty( $loginpress_back_font_size ) ) : ?>
400
  font-size: <?php echo $loginpress_back_font_size; ?>;
401
  <?php endif; ?>
402
+ <?php if ( isset( $loginpress_back_display ) && '1' != $loginpress_back_display ) : ?>
403
+ display: none;
404
  <?php endif; ?>
405
  }
406
 
css/style-presets.php CHANGED
@@ -1,17 +1,14 @@
1
  <?php
 
 
 
 
 
2
 
3
- // $multi_values = ! is_array( get_option( 'customize_presets_settings' ) ) ? explode( ',', get_option( 'customize_presets_settings' ) ) : get_option( 'customize_presets_settings' );
4
- //
5
- $selected_preset = get_option( 'customize_presets_settings', true );
6
-
7
- // $selected_preset = 'default1';
8
- ?>
9
-
10
- <?php
11
- if ( $selected_preset == 'default1' ) {
12
- include_once LOGINPRESS_ROOT_PATH . 'css/themes/default-1.php';
13
- echo first_presets();
14
- } else {
15
- do_action( 'loginpress_add_pro_theme', $selected_preset );
16
- }
17
- ?>
1
  <?php
2
+ /**
3
+ * Get the Template and implement it's design.
4
+ * @since 1.0.9
5
+ */
6
+ $selected_preset = get_option( 'customize_presets_settings', true );
7
 
8
+ if ( $selected_preset == 'default1' ) {
9
+ include_once LOGINPRESS_ROOT_PATH . 'css/themes/default-1.php';
10
+ echo first_presets();
11
+ } else {
12
+ do_action( 'loginpress_add_pro_theme', $selected_preset );
13
+ }
14
+ ?>
 
 
 
 
 
 
 
 
css/style-previewer.css ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Style Sceet for Customizer Previewer.
3
+ * @since 1.0.23
4
+ */
5
+ .login h1{
6
+ position: relative;
7
+ }
8
+ body:hover .customize-partial-edit-shortcut button{
9
+ opacity: 1;
10
+ }
11
+ .login h1 .customize-partial-edit-shortcut{
12
+ position: absolute;
13
+ top: -8px;
14
+ left: 50%;
15
+ margin-left: 15px;
16
+ height: 30px;
17
+ width: 30px;
18
+ cursor: pointer;
19
+ }
20
+ .customize-partial-edit-shortcut{
21
+ height: 34px;
22
+ width: 34px;
23
+ }
24
+ .customize-partial-edit-shortcut button{
25
+ left: 0;
26
+ }
27
+ .loginpress-presets-partial{
28
+ position: absolute;
29
+ top: 10px;
30
+ left: 10px;
31
+ cursor: pointer;
32
+ }
33
+ .loginpress-background-partial{
34
+ position: absolute;
35
+ top: 55px;
36
+ left: 10px;
37
+ cursor: pointer;
38
+ }
39
+ .loginpress-footer-partial{
40
+ position: absolute;
41
+ bottom: 5px;
42
+ left: 10px;
43
+ cursor: pointer;
44
+ }
css/style.css CHANGED
@@ -110,6 +110,11 @@
110
  color: #fff;
111
  background-color: #616060;
112
  }
 
 
 
 
 
113
  .dashicons-star-filled:before {
114
  color: #FFD700;
115
  font-size: 14px;
@@ -258,24 +263,7 @@
258
 
259
  /**********license-page**********/
260
 
261
- /**********autologin-settings**********/
262
- .loginpress_autologin_users{
263
- width: 100%;
264
- text-align: left;
265
- border-collapse: collapse;
266
- border-bottom: 1px solid #ccc;
267
- }
268
- .loginpress_autologin_users tr th,.loginpress_autologin_users tr td{
269
- text-align: left;
270
- padding: 5px 10px;
271
- border-top: 1px solid #ccc;
272
- border-left: 1px solid #ccc;
273
- }
274
- .loginpress_autologin_users tr th:last-child,.loginpress_autologin_users tr td:last-child{
275
- text-align: right;
276
- border-right: 1px solid #ccc;
277
- }
278
- /**********autologin-settings**********/
279
  .recapthca-promo-img{
280
  display: none;
281
  }
@@ -313,6 +301,70 @@
313
  .recapthca-promo:hover .recapthca-promo-link{
314
  opacity: 1;
315
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316
  @media screen and (max-width: 1170px) {
317
 
318
  }
110
  color: #fff;
111
  background-color: #616060;
112
  }
113
+ html[dir="rtl"] .loginpress-premium{
114
+ float: right;
115
+ margin-right: .5em;
116
+ margin-left: 0;
117
+ }
118
  .dashicons-star-filled:before {
119
  color: #FFD700;
120
  font-size: 14px;
263
 
264
  /**********license-page**********/
265
 
266
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
267
  .recapthca-promo-img{
268
  display: none;
269
  }
301
  .recapthca-promo:hover .recapthca-promo-link{
302
  opacity: 1;
303
  }
304
+
305
+ /*---- LoginPress-Settings-Checkbox ----*/
306
+
307
+ .checkbox.loginpress-check-hidden{
308
+ display: none;
309
+ }
310
+ .loginpress-check-hidden + .loginpress-checkbox{
311
+ display: inline-block;
312
+ outline: 0;
313
+ width: 32px;
314
+ height: 18px;
315
+ position: relative;
316
+ cursor: pointer;
317
+ -webkit-user-select: none;
318
+ -moz-user-select: none;
319
+ -ms-user-select: none;
320
+ user-select: none;
321
+ vertical-align: middle;
322
+ border-radius: 2em;
323
+ padding: 2px;
324
+ -webkit-transition: all .4s ease;
325
+ transition: all .4s ease;
326
+ border: 2px solid #555d66;
327
+ background: #fff;
328
+ margin-right: 5px;
329
+ margin-top: -4px;
330
+ }
331
+ html[dir="rtl"] .loginpress-check-hidden + .loginpress-checkbox{
332
+ margin-right: 0;
333
+ margin-left: 5px;
334
+ }
335
+ input[type=checkbox].loginpress-check-hidden + .loginpress-checkbox:after {
336
+ position: relative;
337
+ display: block;
338
+ content: "";
339
+ width: 10px;
340
+ height: 10px;
341
+ box-sizing: border-box;
342
+ border:2px solid #555d66;
343
+ border-radius: 2em;
344
+ background: #fbfbfb;
345
+ -webkit-transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
346
+ transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
347
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 0 rgba(0, 0, 0, 0.08);
348
+ left: 0;
349
+ }
350
+ input[type=checkbox].loginpress-check-hidden + .loginpress-checkbox:active:after{
351
+ border-width: 5px;
352
+ }
353
+ input[type=checkbox].loginpress-check-hidden:checked + .loginpress-checkbox:after {
354
+ left: 14px;
355
+ background: #33b3db;
356
+ border-color: #fff;
357
+ }
358
+ input[type=checkbox].loginpress-check-hidden:checked + .loginpress-checkbox {
359
+ background: #33b3db;
360
+ border-color: #33b3db;
361
+ }
362
+ input[type=checkbox].loginpress-check-hidden:checked + .loginpress-checkbox:active:after{
363
+ background: #fff;
364
+ }
365
+
366
+ /*---- !LoginPress-Settings-Checkbox ----*/
367
+
368
  @media screen and (max-width: 1170px) {
369
 
370
  }
custom.php CHANGED
@@ -38,8 +38,18 @@ class LoginPress_Entities {
38
  add_action( 'init', array( $this, 'redirect_to_custom_page' ) );
39
  add_action( 'admin_menu', array( $this, 'menu_url' ), 10 );
40
 
 
 
 
41
  add_action( 'customize_controls_enqueue_scripts', array( $this, 'loginpress_customizer_js' ) );
42
- // add_action( 'customize_preview_init', array( $this, 'loginpress_customizer_js' ) );
 
 
 
 
 
 
 
43
  add_filter( 'woocommerce_process_login_errors', array( $this, 'loginpress_woo_login_errors' ), 10, 3 );
44
 
45
  }
@@ -49,10 +59,18 @@ class LoginPress_Entities {
49
  * Enqueue jQuery and use wp_localize_script.
50
  *
51
  * @since 1.0.9
 
52
  */
53
  function loginpress_customizer_js() {
54
  wp_enqueue_script('jquery');
55
- wp_enqueue_script( 'loginpress-customize-control', plugins_url( 'js/customize-controls.js' , LOGINPRESS_ROOT_FILE ), array( 'jquery', 'customize-preview' ), LOGINPRESS_VERSION, true );
 
 
 
 
 
 
 
56
 
57
 
58
  // Get Background URL for use in Customizer JS.
@@ -71,7 +89,20 @@ class LoginPress_Entities {
71
 
72
  }
73
 
 
 
 
 
 
 
 
 
 
 
74
 
 
 
 
75
 
76
  /**
77
  * Register plugin settings Panel in WP Customizer
@@ -83,6 +114,12 @@ class LoginPress_Entities {
83
 
84
  include LOGINPRESS_ROOT_PATH .'classes/control-presets.php';
85
 
 
 
 
 
 
 
86
  if ( ! has_action( 'loginpress_pro_add_template' ) ) :
87
  include LOGINPRESS_ROOT_PATH .'classes/class-loginpress-promo.php';
88
  endif;
@@ -102,6 +139,7 @@ class LoginPress_Entities {
102
  * =============================
103
  *
104
  * @since 1.0.9
 
105
  */
106
  $wp_customize->add_section( 'customize_presets', array(
107
  'title' => __( 'Themes', 'loginpress' ),
@@ -116,117 +154,55 @@ class LoginPress_Entities {
116
  'capability' => 'manage_options',
117
  ) );
118
 
119
- $loginpress_free_templates = array(
120
- 'default1' => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  'img' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ),
122
  'thumbnail' => plugins_url( 'img/thumbnail/default-1.png', LOGINPRESS_ROOT_FILE ),
123
  'id' => 'default1',
124
  'name' => 'Default'
125
- ),
126
- 'default2' => array(
127
- 'thumbnail' => plugins_url( 'img/thumbnail/default-2.png', LOGINPRESS_ROOT_FILE ),
128
- 'id' => 'default2',
129
- 'name' => __( 'Company', 'loginpress' ),
130
- 'pro' => 'yes'
131
- ),
132
- 'default3' => array(
133
- 'thumbnail' => plugins_url( 'img/thumbnail/default-3.png', LOGINPRESS_ROOT_FILE ),
134
- 'id' => 'default3',
135
- 'name' => __( 'Persona', 'loginpress' ),
136
- 'pro' => 'yes'
137
- ),
138
- 'default4' => array(
139
- 'thumbnail' => plugins_url( 'img/thumbnail/default-4.jpg', LOGINPRESS_ROOT_FILE ),
140
- 'id' => 'default4',
141
- 'name' => __( 'Corporate', 'loginpress' ),
142
- 'pro' => 'yes'
143
- ),
144
- 'default5' => array(
145
- 'thumbnail' => plugins_url( 'img/thumbnail/default-5.png', LOGINPRESS_ROOT_FILE ),
146
- 'id' => 'default5',
147
- 'name' => __( 'Corporate', 'loginpress' ),
148
- 'pro' => 'yes'
149
- ),
150
- 'default6' => array(
151
- 'thumbnail' => plugins_url( 'img/thumbnail/default-6.png', LOGINPRESS_ROOT_FILE ),
152
- 'id' => 'default6',
153
- 'name' => __( 'Startup', 'loginpress' ),
154
- 'pro' => 'yes'
155
- ),
156
- 'default7' => array(
157
- 'thumbnail' => plugins_url( 'img/thumbnail/default-7.png', LOGINPRESS_ROOT_FILE ),
158
- 'id' => 'default7',
159
- 'name' => __( 'Wedding', 'loginpress' ),
160
- 'pro' => 'yes'
161
- ),
162
- 'default8' => array(
163
- 'thumbnail' => plugins_url( 'img/thumbnail/default-8.png', LOGINPRESS_ROOT_FILE ),
164
- 'id' => 'default8',
165
- 'name' => __( 'Wedding #2', 'loginpress' ),
166
- 'pro' => 'yes'
167
- ),
168
- 'default9' => array(
169
- 'thumbnail' => plugins_url( 'img/thumbnail/default-9.png', LOGINPRESS_ROOT_FILE ),
170
- 'id' => 'default9',
171
- 'name' => __( 'Company', 'loginpress' ),
172
- 'pro' => 'yes'
173
- ),
174
- 'default10' => array(
175
- 'thumbnail' => plugins_url( 'img/thumbnail/default-10.png', LOGINPRESS_ROOT_FILE ),
176
- 'id' => 'default10',
177
- 'name' => __( 'Bikers', 'loginpress' ),
178
- 'pro' => 'yes'
179
- ),
180
- 'default11' => array(
181
- 'thumbnail' => plugins_url( 'img/thumbnail/default-11.png', LOGINPRESS_ROOT_FILE ),
182
- 'id' => 'default11',
183
- 'name' => __( 'Fitness', 'loginpress' ),
184
- 'pro' => 'yes'
185
- ),
186
- 'default12' => array(
187
- 'thumbnail' => plugins_url( 'img/thumbnail/default-12.png', LOGINPRESS_ROOT_FILE ),
188
- 'id' => 'default12',
189
- 'name' => __( 'Shopping', 'loginpress' ),
190
- 'pro' => 'yes'
191
- ),
192
- 'default13' => array(
193
- 'thumbnail' => plugins_url( 'img/thumbnail/default-13.png', LOGINPRESS_ROOT_FILE ),
194
- 'id' => 'default13',
195
- 'name' => __( 'Writers', 'loginpress' ),
196
- 'pro' => 'yes'
197
- ),
198
- 'default14' => array(
199
- 'thumbnail' => plugins_url( 'img/thumbnail/default-14.png', LOGINPRESS_ROOT_FILE ),
200
- 'id' => 'default14',
201
- 'name' => __( 'Persona', 'loginpress' ),
202
- 'pro' => 'yes'
203
- ),
204
- 'default15' => array(
205
- 'thumbnail' => plugins_url( 'img/thumbnail/default-15.png', LOGINPRESS_ROOT_FILE ),
206
- 'id' => 'default15',
207
- 'name' => __( 'Geek', 'loginpress' ),
208
- 'pro' => 'yes'
209
- ),
210
- 'default16' => array(
211
- 'thumbnail' => plugins_url( 'img/thumbnail/default-16.png', LOGINPRESS_ROOT_FILE ),
212
- 'id' => 'default16',
213
- 'name' => __( 'Innovation', 'loginpress' ),
214
- 'pro' => 'yes'
215
- ),
216
- 'default17' => array(
217
- 'thumbnail' => plugins_url( 'img/thumbnail/default-17.png', LOGINPRESS_ROOT_FILE ),
218
- 'id' => 'default17',
219
- 'name' => __( 'Photographers', 'loginpress' ),
220
- 'pro' => 'yes'
221
- ),
222
- 'default18' => array(
223
- 'thumbnail' => plugins_url( 'img/thumbnail/custom-design.png', LOGINPRESS_ROOT_FILE ),
224
- 'id' => 'default18',
225
- 'name' => 'Custom Design',
226
- 'pro' => 'yes'
227
- )
228
-
229
- );
230
  $loginpress_templates = apply_filters( 'loginpress_pro_add_template', $loginpress_free_templates );
231
 
232
  $wp_customize->add_control( new LoginPress_Presets( $wp_customize, 'customize_presets_settings',
@@ -261,18 +237,48 @@ class LoginPress_Entities {
261
  'settings' => 'loginpress_customization[setting_logo]'
262
  ) ) );
263
 
264
- $logo_control = array( 'customize_logo_width', 'customize_logo_height', 'customize_logo_padding', 'customize_logo_hover', 'customize_logo_hover_title' );
265
- $logo_default = array( '84px', '84px', '5px', '', '' );
266
- $logo_label = array(
267
- __( 'Logo Width:', 'loginpress' ),
268
- __( 'Logo Height:', 'loginpress' ),
269
- __( 'Padding Bottom:', 'loginpress' ),
270
- __( 'Logo URL:', 'loginpress' ),
271
- __( 'Logo Hover Title:', 'loginpress' )
 
 
 
 
272
  );
273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  $logo = 0;
275
- while ( $logo < 5 ) :
276
 
277
  $wp_customize->add_setting( "loginpress_customization[{$logo_control[$logo]}]", array(
278
  'default' => $logo_default[$logo],
@@ -301,21 +307,6 @@ class LoginPress_Entities {
301
  'panel' => 'loginpress_panel',
302
  ) );
303
 
304
- $wp_customize->add_setting( 'loginpress_customization[loginpress_display_bg]', array(
305
- 'default' => true,
306
- 'type' => 'option',
307
- 'capability' => 'manage_options',
308
- 'transport' => 'postMessage'
309
- ) );
310
-
311
- $wp_customize->add_control( 'loginpress_customization[loginpress_display_bg]', array(
312
- 'settings' => 'loginpress_customization[loginpress_display_bg]',
313
- 'label' => __( 'Display Background Image?', 'loginpress'),
314
- 'section' => 'section_background',
315
- 'priority' => 5,
316
- 'type' => 'checkbox',
317
- ) );
318
-
319
  $wp_customize->add_setting( 'loginpress_customization[setting_background_color]', array(
320
  // 'default' => '#ddd5c3',
321
  'type' => 'option',
@@ -326,10 +317,29 @@ class LoginPress_Entities {
326
  $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'loginpress_customization[setting_background_color]', array(
327
  'label' => __( 'Background Color:', 'loginpress' ),
328
  'section' => 'section_background',
329
- 'priority' => 10,
330
  'settings' => 'loginpress_customization[setting_background_color]'
331
  ) ) );
332
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
333
  $wp_customize->add_setting( 'loginpress_customization[setting_background]', array(
334
  // 'default' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ) ,
335
  'type' => 'option',
@@ -438,19 +448,56 @@ class LoginPress_Entities {
438
  'settings' => 'loginpress_customization[setting_form_background]'
439
  ) ) );
440
 
441
- $form_control = array( 'customize_form_width', 'customize_form_height', 'customize_form_padding', 'customize_form_border', 'textfield_width', 'textfield_margin' );
442
- $form_default = array( '', '200px', '26px 24px 46px', '', '100%', '2px 6px 16px 0px' );
443
- $form_label = array(
 
 
 
 
 
444
  __( 'Form Width:', 'loginpress' ),
445
  __( 'Form Minimum Height:', 'loginpress' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
446
  __( 'Form Padding:', 'loginpress' ),
447
  __( 'Border (Example: 2px dotted black):', 'loginpress' ),
448
- __( 'Input Text Field Width:', 'loginpress' ),
449
  __( 'Input Text Field Margin:', 'loginpress' )
450
  );
451
 
452
  $form = 0;
453
- while ( $form < 6 ) :
454
 
455
  $wp_customize->add_setting( "loginpress_customization[{$form_control[$form]}]", array(
456
  'default' => $form_default[$form],
@@ -872,37 +919,38 @@ class LoginPress_Entities {
872
  'panel' => 'loginpress_panel',
873
  ) );
874
 
875
- $wp_customize->add_setting( 'loginpress_customization[login_footer_text]', array(
876
- 'default' => 'Lost your password?',
877
  'type' => 'option',
878
  'capability' => 'manage_options',
879
  'transport' => 'postMessage'
880
- ) );
881
 
882
- $wp_customize->add_control( 'loginpress_customization[login_footer_text]', array(
883
- 'label' => __( 'Lost Password Text', 'loginpress' ),
884
- 'section' => 'section_fotter',
885
- 'priority' => 5,
886
- 'settings' => 'loginpress_customization[login_footer_text]',
887
- ) );
 
 
 
 
 
 
888
 
889
- $wp_customize->add_setting( 'loginpress_customization[footer_display_text]', array(
890
- 'default' => 'block',
891
  'type' => 'option',
892
  'capability' => 'manage_options',
893
  'transport' => 'postMessage'
894
- ));
895
 
896
- $wp_customize->add_control( 'loginpress_customization[footer_display_text]', array(
897
- 'label' => __( 'Footer Text Display:', 'loginpress' ),
898
  'section' => 'section_fotter',
899
  'priority' => 10,
900
- 'settings' => 'loginpress_customization[footer_display_text]',
901
- 'type' => 'radio',
902
- 'choices' => array(
903
- 'block' => 'show',
904
- 'none' => 'hide',
905
- ),
906
  ) );
907
 
908
  $wp_customize->add_setting( 'loginpress_customization[login_footer_text_decoration]', array(
@@ -954,19 +1002,28 @@ class LoginPress_Entities {
954
  'settings' => 'loginpress_customization[login_footer_color_hover]'
955
  ) ) );
956
 
957
- $wp_customize->add_setting( 'loginpress_customization[login_footer_font_size]', array(
958
- 'default' => '13px',
959
- 'type' => 'option',
960
- 'capability' => 'manage_options',
961
- 'transport' => 'postMessage'
 
962
  ) );
963
 
964
- $wp_customize->add_control( 'loginpress_customization[login_footer_font_size]', array(
965
- 'label' => __( 'Text Font Size:', 'loginpress' ),
966
- 'section' => 'section_fotter',
967
- 'priority' => 30,
968
- 'settings' => 'loginpress_customization[login_footer_font_size]',
969
- ) );
 
 
 
 
 
 
 
 
970
 
971
  $wp_customize->add_setting( 'loginpress_customization[login_footer_bg_color]', array(
972
  // 'default' => '#17a8e3',
@@ -981,6 +1038,16 @@ class LoginPress_Entities {
981
  'priority' => 35,
982
  'settings' => 'loginpress_customization[login_footer_bg_color]'
983
  ) ) );
 
 
 
 
 
 
 
 
 
 
984
  // Fields for Back Link
985
  // $wp_customize->add_setting( 'login_back_text', array(
986
  // 'default' => 'Lost your password?',
@@ -996,23 +1063,24 @@ class LoginPress_Entities {
996
  // ));
997
 
998
  $wp_customize->add_setting( 'loginpress_customization[back_display_text]', array(
999
- 'default' => 'block',
1000
  'type' => 'option',
1001
  'capability' => 'manage_options',
1002
  'transport' => 'postMessage'
1003
  ) );
1004
 
1005
- $wp_customize->add_control( 'loginpress_customization[back_display_text]', array(
1006
- 'label' => __( '"Back to" Text Display:', 'loginpress' ),
1007
- 'section' => 'section_fotter',
1008
- 'priority' => 45,
1009
- 'settings' => 'loginpress_customization[back_display_text]',
1010
- 'type' => 'radio',
1011
- 'choices' => array(
1012
- 'block' => 'show',
1013
- 'none' => 'hide',
1014
- ),
1015
- ) );
 
1016
 
1017
  $wp_customize->add_setting( 'loginpress_customization[login_back_text_decoration]', array(
1018
  'default' => 'none',
@@ -1063,19 +1131,28 @@ class LoginPress_Entities {
1063
  'settings' => 'loginpress_customization[login_back_color_hover]'
1064
  ) ) );
1065
 
1066
- $wp_customize->add_setting( 'loginpress_customization[login_back_font_size]', array(
1067
- 'default' => '13px;',
1068
- 'type' => 'option',
1069
- 'capability' => 'manage_options',
1070
- 'transport' => 'postMessage'
 
1071
  ) );
1072
 
1073
- $wp_customize->add_control( 'loginpress_customization[login_back_font_size]', array(
1074
- 'label' => __( '"Back to" Text Font Size:', 'loginpress' ),
1075
- 'section' => 'section_fotter',
1076
- 'priority' => 65,
1077
- 'settings' => 'loginpress_customization[login_back_font_size]',
1078
- ) );
 
 
 
 
 
 
 
 
1079
 
1080
  $wp_customize->add_setting( 'loginpress_customization[login_back_bg_color]', array(
1081
  // 'default' => '#17a8e3',
@@ -1098,6 +1175,16 @@ class LoginPress_Entities {
1098
  'transport' => 'postMessage'
1099
  ) );
1100
 
 
 
 
 
 
 
 
 
 
 
1101
  $wp_customize->add_control( 'loginpress_customization[login_footer_copy_right]', array(
1102
  'label' => __( 'Copyright Note:', 'loginpress' ),
1103
  'type' => 'textarea',
@@ -1113,13 +1200,18 @@ class LoginPress_Entities {
1113
  'transport' => 'postMessage'
1114
  ) );
1115
 
1116
- $wp_customize->add_control( 'loginpress_customization[loginpress_show_love]', array(
1117
- 'settings' => 'loginpress_customization[loginpress_show_love]',
1118
- 'section' => 'section_fotter',
1119
- 'priority' => 80,
1120
- 'type' => 'checkbox',
1121
- 'label' => __( 'Show some Love. Please help other learn about this free plugin by placing small link in footer. Thank you very much!', 'loginpress' ),
1122
- ) );
 
 
 
 
 
1123
 
1124
  // =============================
1125
  // = Section for Custom CSS/JS =
38
  add_action( 'init', array( $this, 'redirect_to_custom_page' ) );
39
  add_action( 'admin_menu', array( $this, 'menu_url' ), 10 );
40
 
41
+ /**
42
+ * This function enqueues scripts and styles in the Customizer.
43
+ */
44
  add_action( 'customize_controls_enqueue_scripts', array( $this, 'loginpress_customizer_js' ) );
45
+
46
+ /**
47
+ * This function is triggered on the initialization of the Previewer in the Customizer.
48
+ * We add actions that pertain to the Previewer window here.
49
+ * The actions added here are triggered only in the Previewer and not in the Customizer.
50
+ * @since 1.0.23
51
+ */
52
+ add_action( 'customize_preview_init', array( $this, 'loginpress_customizer_previewer_js' ) );
53
  add_filter( 'woocommerce_process_login_errors', array( $this, 'loginpress_woo_login_errors' ), 10, 3 );
54
 
55
  }
59
  * Enqueue jQuery and use wp_localize_script.
60
  *
61
  * @since 1.0.9
62
+ * @version 1.0.23
63
  */
64
  function loginpress_customizer_js() {
65
  wp_enqueue_script('jquery');
66
+ wp_enqueue_script( 'loginpress-customize-control', plugins_url( 'js/customize-controls.js' , LOGINPRESS_ROOT_FILE ), array( 'jquery', 'customize-preview' ), LOGINPRESS_VERSION, true );
67
+
68
+ /*
69
+ * Our Customizer script
70
+ *
71
+ * Dependencies: Customizer Controls script (core)
72
+ */
73
+ wp_enqueue_script( 'loginpress-control-script', plugins_url( 'js/customizer.js' , LOGINPRESS_ROOT_FILE ), array( 'customize-controls' ), LOGINPRESS_VERSION, true );
74
 
75
 
76
  // Get Background URL for use in Customizer JS.
89
 
90
  }
91
 
92
+ /**
93
+ * This function is called only on the Previwer and enqueues scripts and styles.
94
+ * Our Customizer script
95
+ *
96
+ * Dependencies: Customizer Preview script (core)
97
+ * @since 1.0.23
98
+ */
99
+ function loginpress_customizer_previewer_js() {
100
+
101
+ wp_enqueue_style( 'loginpress-customizer-previewer-style', plugins_url( 'css/style-previewer.css' , LOGINPRESS_ROOT_FILE ), array(), LOGINPRESS_VERSION );
102
 
103
+ wp_enqueue_script( 'loginpress-customizer-previewer-script', plugins_url( 'js/customizer-previewer.js' , LOGINPRESS_ROOT_FILE ), array( 'customize-preview' ), LOGINPRESS_VERSION, true );
104
+
105
+ }
106
 
107
  /**
108
  * Register plugin settings Panel in WP Customizer
114
 
115
  include LOGINPRESS_ROOT_PATH .'classes/control-presets.php';
116
 
117
+ include LOGINPRESS_ROOT_PATH .'classes/controls/range.php';
118
+
119
+ include LOGINPRESS_ROOT_PATH .'classes/controls/radio-button.php';
120
+
121
+ include LOGINPRESS_ROOT_PATH .'classes/controls/miscellaneous.php';
122
+
123
  if ( ! has_action( 'loginpress_pro_add_template' ) ) :
124
  include LOGINPRESS_ROOT_PATH .'classes/class-loginpress-promo.php';
125
  endif;
139
  * =============================
140
  *
141
  * @since 1.0.9
142
+ * @version 1.0.23
143
  */
144
  $wp_customize->add_section( 'customize_presets', array(
145
  'title' => __( 'Themes', 'loginpress' ),
154
  'capability' => 'manage_options',
155
  ) );
156
 
157
+ $loginpress_free_templates = array();
158
+ $loginpress_theme_name = array( "", "",
159
+ __( 'Company', 'loginpress' ),
160
+ __( 'Persona', 'loginpress' ),
161
+ __( 'Corporate', 'loginpress' ),
162
+ __( 'Corporate', 'loginpress' ),
163
+ __( 'Startup', 'loginpress' ),
164
+ __( 'Wedding', 'loginpress' ),
165
+ __( 'Wedding #2', 'loginpress' ),
166
+ __( 'Company', 'loginpress' ),
167
+ __( 'Bikers', 'loginpress' ),
168
+ __( 'Fitness', 'loginpress' ),
169
+ __( 'Shopping', 'loginpress' ),
170
+ __( 'Writers', 'loginpress' ),
171
+ __( 'Persona', 'loginpress' ),
172
+ __( 'Geek', 'loginpress' ),
173
+ __( 'Innovation', 'loginpress' ),
174
+ __( 'Photographers', 'loginpress' ) );
175
+
176
+ // 1st template that is default
177
+ $loginpress_free_templates["default1" ] = array(
178
  'img' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ),
179
  'thumbnail' => plugins_url( 'img/thumbnail/default-1.png', LOGINPRESS_ROOT_FILE ),
180
  'id' => 'default1',
181
  'name' => 'Default'
182
+ ) ;
183
+
184
+ // Loof through the templates.
185
+ $_count = 2;
186
+ while ( $_count <= 17 ) :
187
+
188
+ $loginpress_free_templates["default{$_count}" ] = array(
189
+ // 'img' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ),
190
+ 'thumbnail' => plugins_url( "img/thumbnail/default-{$_count}.png", LOGINPRESS_ROOT_FILE ),
191
+ 'id' => "default{$_count}",
192
+ 'name' => $loginpress_theme_name[$_count],
193
+ 'pro' => 'yes'
194
+ );
195
+ $_count++;
196
+ endwhile;
197
+
198
+ // 18th template for custom design.
199
+ $loginpress_free_templates["default18" ] = array(
200
+ 'img' => plugins_url( 'loginpress/img/bg17.jpg', LOGINPRESS_ROOT_PATH ),
201
+ 'thumbnail' => plugins_url( 'loginpress/img/thumbnail/custom-design.png', LOGINPRESS_ROOT_PATH ),
202
+ 'id' => 'default18',
203
+ 'name' => __( 'Custom Design', 'loginpress' ),
204
+ 'link' => 'yes'
205
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  $loginpress_templates = apply_filters( 'loginpress_pro_add_template', $loginpress_free_templates );
207
 
208
  $wp_customize->add_control( new LoginPress_Presets( $wp_customize, 'customize_presets_settings',
237
  'settings' => 'loginpress_customization[setting_logo]'
238
  ) ) );
239
 
240
+ /**
241
+ * [ Change CSS Properties Input fields with LoginPress_Range_Control ]
242
+ * @since 1.0.1
243
+ * @version 1.0.23
244
+ */
245
+ $logo_range_control = array( 'customize_logo_width', 'customize_logo_height', 'customize_logo_padding' );
246
+ $logo_range_default = array( '84', '84', '5' );
247
+ $logo_range_label = array( __( 'Logo Width:', 'loginpress' ), __( 'Logo Height:', 'loginpress' ), __( 'Padding Bottom:', 'loginpress' ) );
248
+ $logo_range_attrs = array(
249
+ array( 'min' => 0, 'max' => 500, 'step' => 1, 'suffix' => 'px' ),
250
+ array( 'min' => 0, 'max' => 500, 'step' => 1, 'suffix' => 'px' ),
251
+ array( 'min' => 0, 'max' => 100, 'step' => 1, 'suffix' => 'px' )
252
  );
253
 
254
+ $logo_range = 0;
255
+ while ( $logo_range < 3 ) :
256
+ $wp_customize->add_setting( "loginpress_customization[{$logo_range_control[$logo_range]}]", array(
257
+ 'default' => $logo_range_default[$logo_range],
258
+ 'type' => 'option',
259
+ 'capability' => 'manage_options',
260
+ 'transport' => 'postMessage',
261
+ 'sanitize_callback' => 'absint',
262
+ ) );
263
+
264
+ $wp_customize->add_control( new LoginPress_Range_Control( $wp_customize, "loginpress_customization[{$logo_range_control[$logo_range]}]", array(
265
+ 'type' => 'loginpress-range',
266
+ 'label' => $logo_range_label[$logo_range],
267
+ 'section' => 'customize_logo_section',
268
+ 'settings' => "loginpress_customization[{$logo_range_control[$logo_range]}]",
269
+ 'default' => $logo_range_default[$logo_range],
270
+ 'input_attrs' => $logo_range_attrs[$logo_range],
271
+ ) ) );
272
+
273
+ $logo_range++;
274
+ endwhile;
275
+
276
+ $logo_control = array( 'customize_logo_hover', 'customize_logo_hover_title' );
277
+ $logo_default = array( '', '' );
278
+ $logo_label = array( __( 'Logo URL:', 'loginpress' ), __( 'Logo Hover Title:', 'loginpress' ) );
279
+
280
  $logo = 0;
281
+ while ( $logo < 2 ) :
282
 
283
  $wp_customize->add_setting( "loginpress_customization[{$logo_control[$logo]}]", array(
284
  'default' => $logo_default[$logo],
307
  'panel' => 'loginpress_panel',
308
  ) );
309
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
310
  $wp_customize->add_setting( 'loginpress_customization[setting_background_color]', array(
311
  // 'default' => '#ddd5c3',
312
  'type' => 'option',
317
  $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'loginpress_customization[setting_background_color]', array(
318
  'label' => __( 'Background Color:', 'loginpress' ),
319
  'section' => 'section_background',
320
+ 'priority' => 5,
321
  'settings' => 'loginpress_customization[setting_background_color]'
322
  ) ) );
323
 
324
+ $wp_customize->add_setting( 'loginpress_customization[loginpress_display_bg]', array(
325
+ 'default' => true,
326
+ 'type' => 'option',
327
+ 'capability' => 'manage_options',
328
+ 'transport' => 'postMessage'
329
+ ) );
330
+ /**
331
+ * [Enable / Disabe Background Image with LoginPress_Radio_Control]
332
+ * @since 1.0.1
333
+ * @version 1.0.23
334
+ */
335
+ $wp_customize->add_control( new LoginPress_Radio_Control( $wp_customize, 'loginpress_customization[loginpress_display_bg]', array(
336
+ 'settings' => 'loginpress_customization[loginpress_display_bg]',
337
+ 'label' => __( 'Display Background Image?', 'loginpress'),
338
+ 'section' => 'section_background',
339
+ 'priority' => 10,
340
+ 'type' => 'ios',// light, ios, flat
341
+ ) ) );
342
+
343
  $wp_customize->add_setting( 'loginpress_customization[setting_background]', array(
344
  // 'default' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ) ,
345
  'type' => 'option',
448
  'settings' => 'loginpress_customization[setting_form_background]'
449
  ) ) );
450
 
451
+ /**
452
+ * [ Change CSS Properties Input fields with LoginPress_Range_Control ]
453
+ * @since 1.0.1
454
+ * @version 1.0.23
455
+ */
456
+ $form_range_control = array( 'customize_form_width', 'customize_form_height', 'textfield_width' );
457
+ $form_range_default = array( '350', '200', '100' );
458
+ $form_range_label = array(
459
  __( 'Form Width:', 'loginpress' ),
460
  __( 'Form Minimum Height:', 'loginpress' ),
461
+ __( 'Input Text Field Width:', 'loginpress' ) );
462
+ $form_range_attrs = array(
463
+ array( 'min' => 0, 'max' => 800, 'step' => 1, 'suffix' => 'px' ),
464
+ array( 'min' => 0, 'max' => 500, 'step' => 1, 'suffix' => 'px' ),
465
+ array( 'min' => 0, 'max' => 100, 'step' => 1, 'suffix' => '%' )
466
+ );
467
+ $form_range_unit = array( 'px', 'px', '%' );
468
+ $form_range = 0;
469
+ while ( $form_range < 3 ) :
470
+ $wp_customize->add_setting( "loginpress_customization[{$form_range_control[$form_range]}]", array(
471
+ 'default' => $form_range_default[$form_range],
472
+ 'type' => 'option',
473
+ 'capability' => 'manage_options',
474
+ 'transport' => 'postMessage',
475
+ 'sanitize_callback' => 'absint',
476
+ ) );
477
+
478
+ $wp_customize->add_control( new LoginPress_Range_Control( $wp_customize, "loginpress_customization[{$form_range_control[$form_range]}]", array(
479
+ 'type' => 'loginpress-range',
480
+ 'label' => $form_range_label[$form_range],
481
+ 'section' => 'section_form',
482
+ 'settings' => "loginpress_customization[{$form_range_control[$form_range]}]",
483
+ 'default' => $form_range_default[$form_range],
484
+ 'input_attrs' => $form_range_attrs[$form_range],
485
+ 'unit' => $form_range_unit[$form_range],
486
+ ) ) );
487
+
488
+ $form_range++;
489
+ endwhile;
490
+
491
+ $form_control = array( 'customize_form_padding', 'customize_form_border', 'textfield_margin' );
492
+ $form_default = array( '26px 24px 46px', '', '2px 6px 16px 0px' );
493
+ $form_label = array(
494
  __( 'Form Padding:', 'loginpress' ),
495
  __( 'Border (Example: 2px dotted black):', 'loginpress' ),
 
496
  __( 'Input Text Field Margin:', 'loginpress' )
497
  );
498
 
499
  $form = 0;
500
+ while ( $form < 3 ) :
501
 
502
  $wp_customize->add_setting( "loginpress_customization[{$form_control[$form]}]", array(
503
  'default' => $form_default[$form],
919
  'panel' => 'loginpress_panel',
920
  ) );
921
 
922
+ $wp_customize->add_setting( 'loginpress_customization[footer_display_text]', array(
923
+ 'default' => true,
924
  'type' => 'option',
925
  'capability' => 'manage_options',
926
  'transport' => 'postMessage'
927
+ ));
928
 
929
+ /**
930
+ * [Enable / Disabe Footer Text with LoginPress_Radio_Control]
931
+ * @since 1.0.1
932
+ * @version 1.0.23
933
+ */
934
+ $wp_customize->add_control( new LoginPress_Radio_Control( $wp_customize, 'loginpress_customization[footer_display_text]', array(
935
+ 'settings' => 'loginpress_customization[footer_display_text]',
936
+ 'label' => __( 'Footer Text Display', 'loginpress' ),
937
+ 'section' => 'section_fotter',
938
+ 'priority' => 5,
939
+ 'type' => 'ios',// light, ios, flat
940
+ ) ) );
941
 
942
+ $wp_customize->add_setting( 'loginpress_customization[login_footer_text]', array(
943
+ 'default' => 'Lost your password?',
944
  'type' => 'option',
945
  'capability' => 'manage_options',
946
  'transport' => 'postMessage'
947
+ ) );
948
 
949
+ $wp_customize->add_control( 'loginpress_customization[login_footer_text]', array(
950
+ 'label' => __( 'Lost Password Text', 'loginpress' ),
951
  'section' => 'section_fotter',
952
  'priority' => 10,
953
+ 'settings' => 'loginpress_customization[login_footer_text]',
 
 
 
 
 
954
  ) );
955
 
956
  $wp_customize->add_setting( 'loginpress_customization[login_footer_text_decoration]', array(
1002
  'settings' => 'loginpress_customization[login_footer_color_hover]'
1003
  ) ) );
1004
 
1005
+ $wp_customize->add_setting( "loginpress_customization[login_footer_font_size]", array(
1006
+ 'default' => '13',
1007
+ 'type' => 'option',
1008
+ 'capability' => 'manage_options',
1009
+ 'transport' => 'postMessage',
1010
+ 'sanitize_callback' => 'absint',
1011
  ) );
1012
 
1013
+ /**
1014
+ * [ Change login_footer_font_size Input fields with LoginPress_Range_Control ]
1015
+ * @since 1.0.1
1016
+ * @version 1.0.23
1017
+ */
1018
+ $wp_customize->add_control( new LoginPress_Range_Control( $wp_customize, "loginpress_customization[login_footer_font_size]", array(
1019
+ 'type' => 'loginpress-range',
1020
+ 'label' => __( 'Text Font Size:', 'loginpress' ),
1021
+ 'section' => 'section_fotter',
1022
+ 'settings' => "loginpress_customization[login_footer_font_size]",
1023
+ 'default' => '13',
1024
+ 'priority' => 30,
1025
+ 'input_attrs' => array( 'min' => 0, 'max' => 100, 'step' => 1, 'suffix' => 'px' )
1026
+ ) ) );
1027
 
1028
  $wp_customize->add_setting( 'loginpress_customization[login_footer_bg_color]', array(
1029
  // 'default' => '#17a8e3',
1038
  'priority' => 35,
1039
  'settings' => 'loginpress_customization[login_footer_bg_color]'
1040
  ) ) );
1041
+
1042
+ $wp_customize->add_setting( 'loginpress_customization[login_footer_br]', array(
1043
+ 'sanitize_callback' => 'sanitize_text_field',
1044
+ ) );
1045
+
1046
+ $wp_customize->add_control( new LoginPress_Misc_Control( $wp_customize, 'loginpress_customization[login_footer_br]', array(
1047
+ 'section' => 'section_fotter',
1048
+ 'type' => 'hr',
1049
+ 'priority' => 36,
1050
+ ) ) );
1051
  // Fields for Back Link
1052
  // $wp_customize->add_setting( 'login_back_text', array(
1053
  // 'default' => 'Lost your password?',
1063
  // ));
1064
 
1065
  $wp_customize->add_setting( 'loginpress_customization[back_display_text]', array(
1066
+ 'default' => true,
1067
  'type' => 'option',
1068
  'capability' => 'manage_options',
1069
  'transport' => 'postMessage'
1070
  ) );
1071
 
1072
+ /**
1073
+ * [Enable / Disabe Footer Text with LoginPress_Radio_Control]
1074
+ * @since 1.0.1
1075
+ * @version 1.0.23
1076
+ */
1077
+ $wp_customize->add_control( new LoginPress_Radio_Control( $wp_customize, 'loginpress_customization[back_display_text]', array(
1078
+ 'settings' => 'loginpress_customization[back_display_text]',
1079
+ 'label' => __( '"Back to" Text Display:', 'loginpress' ),
1080
+ 'section' => 'section_fotter',
1081
+ 'priority' => 45,
1082
+ 'type' => 'ios',// light, ios, flat
1083
+ ) ) );
1084
 
1085
  $wp_customize->add_setting( 'loginpress_customization[login_back_text_decoration]', array(
1086
  'default' => 'none',
1131
  'settings' => 'loginpress_customization[login_back_color_hover]'
1132
  ) ) );
1133
 
1134
+ $wp_customize->add_setting( "loginpress_customization[login_back_font_size]", array(
1135
+ 'default' => '13',
1136
+ 'type' => 'option',
1137
+ 'capability' => 'manage_options',
1138
+ 'transport' => 'postMessage',
1139
+ 'sanitize_callback' => 'absint',
1140
  ) );
1141
 
1142
+ /**
1143
+ * [ Change login_back_font_size Input fields with LoginPress_Range_Control ]
1144
+ * @since 1.0.1
1145
+ * @version 1.0.23
1146
+ */
1147
+ $wp_customize->add_control( new LoginPress_Range_Control( $wp_customize, "loginpress_customization[login_back_font_size]", array(
1148
+ 'type' => 'loginpress-range',
1149
+ 'label' => __( '"Back to" Text Font Size:', 'loginpress' ),
1150
+ 'section' => 'section_fotter',
1151
+ 'settings' => "loginpress_customization[login_back_font_size]",
1152
+ 'default' => '13',
1153
+ 'priority' => 65,
1154
+ 'input_attrs' => array( 'min' => 0, 'max' => 100, 'step' => 1, 'suffix' => 'px' )
1155
+ ) ) );
1156
 
1157
  $wp_customize->add_setting( 'loginpress_customization[login_back_bg_color]', array(
1158
  // 'default' => '#17a8e3',
1175
  'transport' => 'postMessage'
1176
  ) );
1177
 
1178
+ $wp_customize->add_setting( 'loginpress_customization[login_back_br]', array(
1179
+ 'sanitize_callback' => 'sanitize_text_field',
1180
+ ) );
1181
+
1182
+ $wp_customize->add_control( new LoginPress_Misc_Control( $wp_customize, 'loginpress_customization[login_back_br]', array(
1183
+ 'section' => 'section_fotter',
1184
+ 'type' => 'hr',
1185
+ 'priority' => 71,
1186
+ ) ) );
1187
+
1188
  $wp_customize->add_control( 'loginpress_customization[login_footer_copy_right]', array(
1189
  'label' => __( 'Copyright Note:', 'loginpress' ),
1190
  'type' => 'textarea',
1200
  'transport' => 'postMessage'
1201
  ) );
1202
 
1203
+ /**
1204
+ * [Enable / Disabe Footer Text with LoginPress_Radio_Control]
1205
+ * @since 1.0.1
1206
+ * @version 1.0.23
1207
+ */
1208
+ $wp_customize->add_control( new LoginPress_Radio_Control( $wp_customize, 'loginpress_customization[loginpress_show_love]', array(
1209
+ 'settings' => 'loginpress_customization[loginpress_show_love]',
1210
+ 'section' => 'section_fotter',
1211
+ 'priority' => 180,
1212
+ 'type' => 'ios',// light, ios, flat
1213
+ 'label' => __( 'Show some Love. Please help other learn about this free plugin by placing small link in footer. Thank you very much!', 'loginpress' ),
1214
+ ) ) );
1215
 
1216
  // =============================
1217
  // = Section for Custom CSS/JS =
include/compatibility.php CHANGED
@@ -9,14 +9,16 @@
9
 
10
  /**
11
  * Run a compatibility check on 1.0.21 and change the settings.
12
- *
13
  */
14
  add_action( 'init', 'loginpress_upgrade_1_0_22', 1 );
15
 
16
 
17
  /**
18
- * loginpress_upgrade_1_0_22 remove 'login_with_email' from loginpress setting and update 'login_order'
19
- *
 
 
20
  * @since 1.0.22
21
  * @return array update loginpress_setting
22
  */
9
 
10
  /**
11
  * Run a compatibility check on 1.0.21 and change the settings.
12
+ *
13
  */
14
  add_action( 'init', 'loginpress_upgrade_1_0_22', 1 );
15
 
16
 
17
  /**
18
+ * loginpress_upgrade_1_0_22
19
+ * Remove elemant 'login_with_email' from loginpress_setting array that was defined in 1.0.21
20
+ * and update 'login_order' in loginpress_setting for compatiblity.
21
+ *
22
  * @since 1.0.22
23
  * @return array update loginpress_setting
24
  */
js/controls/loginpress-radio-button-control.js ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Script run inside a Customizer control sidebar
3
+ *
4
+ * Enable / disable the control title by toggeling its .disabled-control-title style class on or off.
5
+ */
6
+ ( function( $ ) {
7
+ wp.customize.bind( 'ready', function() { // Ready?
8
+
9
+ var customize = this; // Customize object alias.
10
+ // Array with the control names
11
+ // TODO: Replace #CONTROLNAME01#, #CONTROLNAME02# etc with the real control names.
12
+ var toggleControls = [
13
+ '#CONTROLNAME01#',
14
+ '#CONTROLNAME02#'
15
+ ];
16
+ $.each( toggleControls, function( index, control_name ) {
17
+ customize( control_name, function( value ) {
18
+ var controlTitle = customize.control( control_name ).container.find( '.customize-control-title' ); // Get control title.
19
+ // 1. On loading.
20
+ controlTitle.toggleClass('disabled-control-title', !value.get() );
21
+ // 2. Binding to value change.
22
+ value.bind( function( to ) {
23
+ controlTitle.toggleClass( 'disabled-control-title', !value.get() );
24
+ } );
25
+ } );
26
+ } );
27
+ } );
28
+ } )( jQuery );
js/controls/loginpress-range-control.js ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Script run inside a Customizer control sidebar
3
+ */
4
+ (function($) {
5
+ wp.customize.bind('ready', function() {
6
+ rangeSlider();
7
+ });
8
+
9
+ var rangeSlider = function() {
10
+ var slider = $('.loginpress-range-slider'),
11
+ range = $('.loginpress-range-slider_range'),
12
+ value = $('.loginpress-range-slider_val'),
13
+ reset = $('.loginpress-range-reset');
14
+
15
+ slider.each(function() {
16
+
17
+ value.each(function() {
18
+
19
+ var eachVal = $(this).prev().attr('value');
20
+
21
+ $(this).val( eachVal );
22
+ });
23
+
24
+ value.on( 'keyup', function() {
25
+
26
+ var keyupVal = $(this).val();
27
+
28
+ $(this).prev().attr( 'value', keyupVal );
29
+ $(this).prev().trigger('input');
30
+ });
31
+
32
+ range.on( 'input', function() {
33
+
34
+ $(this).next(value).val( this.value );
35
+ });
36
+
37
+ reset.on( 'click', function () {
38
+
39
+ var rangeVal = $(this).parent().next().data('default-value');
40
+ $(this).parent().next().val( rangeVal );
41
+ $(this).parent().next().trigger('input');
42
+ });
43
+ });
44
+
45
+ };
46
+
47
+ })(jQuery);
js/customize-controls.js CHANGED
@@ -74,6 +74,26 @@ jQuery(document).ready(function() {
74
  } );
75
  } // finish loginpress_css_property();
76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  // function for change LoginPress attribute in real time...
78
  function loginpress_attr_property( setting, target, property ) {
79
  wp.customize( setting, function( value ) {
@@ -122,9 +142,43 @@ jQuery(document).ready(function() {
122
  } );
123
  } // finish loginpress_input_property();
124
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  // function for change LoginPress error and welcome messages in real time...
126
- function loginpress_text_message( errorlog, target ) {
127
- wp.customize( errorlog, function( value ) {
 
 
 
 
 
 
128
  value.bind( function( loginPressVal ) {
129
 
130
  if ( loginPressVal == '' ) {
@@ -132,24 +186,38 @@ jQuery(document).ready(function() {
132
  .contents()
133
  .find( target )
134
  .text('');
 
 
 
 
 
135
  } else {
136
  $( '#customize-preview iframe' )
137
  .contents()
138
  .find( target )
139
  .text( loginPressVal );
 
 
 
 
 
140
  }
141
  } );
142
  } );
143
  }
144
 
145
  var change_theme;
146
- // function for change LoginPress error and welcome messages in real time...
 
 
 
 
 
147
  wp.customize('customize_presets_settings', function(value) {
148
  value.bind(function(loginPressVal) {
149
 
150
  change_theme = loginPressVal;
151
 
152
-
153
  });
154
  });
155
 
@@ -158,67 +226,48 @@ jQuery(document).ready(function() {
158
  function loginpress_display_control(setting) {
159
  // Update the login logo width in real time...
160
  wp.customize(setting, function(value) {
161
- value.bind(function(loginPressVal) {
162
-
163
  // Control on footer text.
164
- if ('loginpress_customization[footer_display_text]' ==
165
- setting && 'none' == loginPressVal) {
166
-
167
- $('#customize-control-login_footer_text_decoration').css(
168
- 'display', 'none');
169
- $('#customize-control-login_footer_color').css('display',
170
- 'none');
171
- $('#customize-control-login_footer_color_hover').css(
172
- 'display', 'none');
173
- $('#customize-control-login_footer_font_size').css(
174
- 'display', 'none');
175
- $('#customize-control-login_footer_bg_color').css('display',
176
- 'none');
177
-
178
- } else if ('loginpress_customization[footer_display_text]' ==
179
- setting && 'block' == loginPressVal) {
180
-
181
- $('#customize-control-login_footer_text_decoration').css(
182
- 'display', 'list-item');
183
- $('#customize-control-login_footer_color').css('display',
184
- 'list-item');
185
- $('#customize-control-login_footer_color_hover').css(
186
- 'display', 'list-item');
187
- $('#customize-control-login_footer_font_size').css(
188
- 'display', 'list-item');
189
- $('#customize-control-login_footer_bg_color').css('display',
190
- 'list-item');
191
 
192
  }
193
 
194
  // Control on footer back link text.
195
- if ('loginpress_customization[back_display_text]' == setting &&
196
- 'none' == loginPressVal) {
197
-
198
- $('#customize-control-login_back_text_decoration').css(
199
- 'display', 'none');
200
- $('#customize-control-login_back_color').css('display',
201
- 'none');
202
- $('#customize-control-login_back_color_hover').css(
203
- 'display', 'none');
204
- $('#customize-control-login_back_font_size').css('display',
205
- 'none');
206
- $('#customize-control-login_back_bg_color').css('display',
207
- 'none');
208
-
209
- } else if ('loginpress_customization[back_display_text]' ==
210
- setting && 'block' == loginPressVal) {
211
-
212
- $('#customize-control-login_back_text_decoration').css(
213
- 'display', 'list-item');
214
- $('#customize-control-login_back_color').css('display',
215
- 'list-item');
216
- $('#customize-control-login_back_color_hover').css(
217
- 'display', 'list-item');
218
- $('#customize-control-login_back_font_size').css('display',
219
- 'list-item');
220
- $('#customize-control-login_back_bg_color').css('display',
221
- 'list-item');
222
 
223
  }
224
  });
@@ -308,8 +357,7 @@ jQuery(document).ready(function() {
308
  }
309
  }
310
 
311
- wp.customize('loginpress_customization[loginpress_display_bg]', function(
312
- value) {
313
  value.bind(function(loginPressVal) {
314
 
315
  // Check the theme id.
@@ -317,15 +365,15 @@ jQuery(document).ready(function() {
317
  .login_theme;
318
 
319
  // Set custom style on customizer.
320
- if ($('#customize-preview iframe').contents().find(
321
- '#loginpress-customize').length == 0) {
322
  $("<style type='text/css' id='loginpress-customize'></style>")
323
- .appendTo($('#customize-preview iframe').contents().find(
324
- 'head'));
 
325
  }
326
 
327
  // Set conditions on behalf on themes.
328
- if (loginPressVal == false) {
329
 
330
  if ('default6' == customizer_bg) {
331
 
@@ -356,9 +404,10 @@ jQuery(document).ready(function() {
356
  .css('background-image', 'none');
357
  }
358
 
359
- $('#customize-control-setting_background').hide();
360
- $('#customize-control-background_image_size').hide();
361
- $('#customize-control-background_repeat_radio').hide();
 
362
 
363
  } else {
364
 
@@ -470,9 +519,10 @@ jQuery(document).ready(function() {
470
  }
471
  }
472
 
473
- $('#customize-control-setting_background').show();
474
- $('#customize-control-background_image_size').show();
475
- $('#customize-control-background_repeat_radio').show();
 
476
 
477
  } // endif; conditions on behalf on themes.
478
  });
@@ -638,8 +688,8 @@ jQuery(document).ready(function() {
638
  });
639
  // localStorage.removeItem("loginpress_bg");
640
  // localStorage.removeItem("loginpress_bg_check");
641
- // loginpress_display_control( 'loginpress_customization[footer_display_text]' );
642
- // loginpress_display_control( 'loginpress_customization[back_display_text]' );
643
 
644
  // Update the login logo in real time...
645
  wp.customize('loginpress_customization[setting_logo]', function(value) {
@@ -656,18 +706,19 @@ jQuery(document).ready(function() {
656
  });
657
  });
658
 
659
- loginpress_css_property('loginpress_customization[customize_logo_width]',
660
- '#login h1 a', 'width');
661
- loginpress_css_property('loginpress_customization[customize_logo_height]',
662
- '#login h1 a', 'height');
663
- loginpress_css_property('loginpress_customization[customize_logo_padding]',
664
- '#login h1 a', 'padding-bottom');
 
 
 
 
665
 
666
- loginpress_attr_property('loginpress_customization[customize_logo_hover]',
667
- '#login h1 a', 'href');
668
- loginpress_attr_property(
669
- 'loginpress_customization[customize_logo_hover_title]', '#login h1 a',
670
- 'title');
671
 
672
 
673
  // loginpress_css_property(
@@ -846,40 +897,24 @@ jQuery(document).ready(function() {
846
  });
847
 
848
 
849
- loginpress_background_img(
850
- 'loginpress_customization[setting_form_background]', '#loginform');
851
-
852
- loginpress_css_property('loginpress_customization[customize_form_width]',
853
- '#login', 'max-width');
854
- loginpress_css_property('loginpress_customization[customize_form_height]',
855
- '#loginform', 'min-height');
856
- loginpress_css_property('loginpress_customization[customize_form_padding]',
857
- '#loginform', 'padding');
858
- loginpress_css_property('loginpress_customization[customize_form_border]',
859
- '#loginform', 'border');
860
 
861
- loginpress_input_property('loginpress_customization[textfield_width]',
862
- 'width');
863
- loginpress_input_property('loginpress_customization[textfield_margin]',
864
- 'margin');
865
- loginpress_input_property(
866
- 'loginpress_customization[textfield_background_color]', 'background');
867
- loginpress_input_property('loginpress_customization[textfield_color]',
868
- 'color');
869
 
 
 
 
 
870
 
871
- loginpress_css_property('loginpress_customization[form_background_color]',
872
- '#loginform', 'background-color');
 
 
873
 
874
- loginpress_css_property('loginpress_customization[textfield_label_color]',
875
- '.login label', 'color');
876
 
877
- loginpress_background_img(
878
- 'loginpress_customization[forget_form_background]', '#lostpasswordform'
879
- );
880
- loginpress_css_property(
881
- 'loginpress_customization[forget_form_background_color]',
882
- '#lostpasswordform', 'background-color');
883
 
884
  //Buttons starts.
885
  // Update the login form button background in real time...
@@ -1044,14 +1079,13 @@ jQuery(document).ready(function() {
1044
  });
1045
  });
1046
 
1047
- loginpress_text_message('loginpress_customization[login_footer_text]',
1048
- '.login #nav a:nth-child(2)');
 
 
1049
 
1050
- loginpress_css_property('loginpress_customization[footer_display_text]',
1051
- '.login #nav', 'display');
1052
- loginpress_css_property(
1053
- 'loginpress_customization[login_footer_text_decoration]',
1054
- '.login #nav a', 'text-decoration');
1055
 
1056
  var loginPressFtrClr;
1057
  var loginPressFtrHvr;
@@ -1134,193 +1168,229 @@ jQuery(document).ready(function() {
1134
  });
1135
  });
1136
 
1137
- loginpress_css_property('loginpress_customization[login_footer_font_size]',
1138
- '.login #nav a', 'font-size');
1139
- loginpress_css_property('loginpress_customization[login_footer_bg_color]',
1140
- '.login #nav', 'background-color');
1141
 
1142
- loginpress_css_property('loginpress_customization[back_display_text]',
1143
- '.login #backtoblog', 'display');
1144
- loginpress_css_property(
1145
- 'loginpress_customization[login_back_text_decoration]',
1146
- '.login #backtoblog a', 'text-decoration');
1147
 
1148
  var loginPressFtrBackClr;
1149
  var loginPressFtrBackHvr;
1150
- // Update the login form button border-color in real time...
1151
- wp.customize('loginpress_customization[login_back_color]', function(value) {
1152
- value.bind(function(loginPressVal) {
1153
-
1154
- if (loginPressVal == '') {
1155
- $('#customize-preview iframe').contents().find(
1156
- '.login #backtoblog a').css('color', '');
1157
- $('#customize-preview iframe').contents().find(
1158
- '.login #backtoblog a').on('mouseover', function() {
1159
 
1160
- if (typeof loginPressFtrBackHvr !== "undefined" ||
1161
- loginPressFtrBackHvr === null) {
1162
- $(this).css('color', loginPressFtrBackHvr);
 
 
 
 
 
 
 
 
1163
  } else {
1164
- $(this).css('color', '');
1165
  }
1166
- }).on('mouseleave', function() {
1167
- $(this).css('color', '');
1168
- });
 
1169
  } else {
1170
  loginPressFtrBackClr = loginPressVal;
1171
- $('#customize-preview iframe').contents().find(
1172
- '.login #backtoblog a').css('color', loginPressVal);
1173
- $('#customize-preview iframe').contents().find(
1174
- '.login #backtoblog a').on('mouseover', function() {
1175
-
1176
- if (typeof loginPressFtrBackHvr !== "undefined" ||
1177
- loginPressFtrBackHvr === null) {
1178
- $(this).css('color', loginPressFtrBackHvr);
 
 
1179
  } else {
1180
- $(this).css('color', '');
1181
  }
1182
- }).on('mouseleave', function() {
1183
- $(this).css('color', loginPressVal);
 
1184
  });
1185
  }
1186
  });
1187
  });
1188
 
1189
- // Update the login form button border-color in real time...
1190
- wp.customize('loginpress_customization[login_back_color_hover]', function(
1191
- value) {
1192
- value.bind(function(loginPressVal) {
1193
-
1194
- if (loginPressVal == '') {
1195
-
1196
- $('#customize-preview iframe').contents().find(
1197
- '.login #backtoblog a').css('color', '');
1198
 
1199
- $('#customize-preview iframe').contents().find(
1200
- '.login #backtoblog a').on('mouseover', function() {
1201
- $(this).css('color', '');
1202
- }).on('mouseleave', function() {
1203
 
1204
- if (typeof loginPressFtrBackClr !== "undefined" ||
1205
- loginPressFtrBackClr === null) {
1206
- $(this).css('color', loginPressFtrBackClr);
 
 
 
 
 
 
 
 
 
 
 
1207
  } else {
1208
- $(this).css('color', '');
1209
  }
1210
  });
1211
  } else {
1212
  loginPressFtrBackHvr = loginPressVal;
1213
- $('#customize-preview iframe').contents().find(
1214
- '.login #backtoblog a').on('mouseover', function() {
1215
- $(this).css('color', loginPressVal);
1216
- }).on('mouseleave', function() {
1217
-
1218
- if (typeof loginPressFtrBackClr !== "undefined" ||
1219
- loginPressFtrBackClr === null) {
1220
- $(this).css('color', loginPressFtrBackClr);
 
1221
  } else {
1222
- $(this).css('color', '');
1223
  }
1224
  });
1225
  }
1226
  });
1227
  });
1228
 
1229
- loginpress_css_property('loginpress_customization[login_back_font_size]',
1230
- '.login #backtoblog a', 'font-size');
1231
- loginpress_css_property('loginpress_customization[login_back_bg_color]',
1232
- '.login #backtoblog', 'background-color');
1233
- loginpress_footer_text_message(
1234
- 'loginpress_customization[login_footer_copy_right]', '.copyRight');
1235
-
1236
- loginpress_text_message('loginpress_customization[incorrect_username]',
1237
- '#login_error');
1238
- loginpress_text_message('loginpress_customization[incorrect_password]',
1239
- '#login_error');
1240
- loginpress_text_message('loginpress_customization[empty_username]',
1241
- '#login_error');
1242
- loginpress_text_message('loginpress_customization[empty_password]',
1243
- '#login_error');
1244
- loginpress_text_message('loginpress_customization[invalid_email]',
1245
- '#login_error');
1246
- loginpress_text_message('loginpress_customization[empty_email]',
1247
- '#login_error');
1248
- loginpress_text_message('loginpress_customization[invalidcombo_message]',
1249
- '#login_error');
1250
-
1251
- loginpress_text_message('loginpress_customization[lostpwd_welcome_message]',
1252
- '.login .custom-message');
1253
- loginpress_text_message('loginpress_customization[welcome_message]',
1254
- '.login .custom-message');
1255
- loginpress_text_message(
1256
- 'loginpress_customization[register_welcome_message]',
1257
- '.login .custom-message');
1258
- loginpress_text_message('loginpress_customization[logout_message]',
1259
- '.login .custom-message');
1260
-
1261
- loginpress_css_property(
1262
- 'loginpress_customization[message_background_border]',
1263
- '.login .custom-message', 'border');
1264
- loginpress_css_property(
1265
- 'loginpress_customization[message_background_color]',
1266
- '.login .custom-message', 'background-color');
1267
-
1268
  wp.customize( 'loginpress_customization[loginpress_show_love]', function( value ) {
1269
  value.bind( function( loginPressVal ) {
1270
 
1271
- if ( loginPressVal == '' ) {
1272
- $( '#customize-preview iframe' ).contents().find( '.loginpress-show-love' ).hide();
 
 
 
 
1273
  } else {
1274
- $( '#customize-preview iframe' ).contents().find( '.loginpress-show-love' ).show();
 
 
 
 
1275
  }
1276
  } );
1277
  } );
1278
- // loginpress_css_property( 'loginpress_customization[google_font]', '#login', 'font-family' );
1279
-
1280
- // wp.customize( 'loginpress_customization[google_font]', function( value ) {
1281
- // value.bind( function( loginPressVal ) {
1282
- //
1283
- // if( loginPressVal == '' ) {
1284
- // $('#customize-preview iframe').contents().find( '#login' ).css( 'font-family', '' );
1285
- // } else {
1286
- // $('#customize-preview iframe').contents().find( '#login' ).css( 'font-family', loginPressVal );
1287
- // console.log(loginPressVal);
1288
- // }
1289
- // } );
1290
- // } );
1291
- // console.log($('#customize-control-loginpress_display_bg').val());
1292
 
1293
- // function for change LoginPress background-image in real time...
 
 
 
 
1294
 
1295
- wp.customize('loginpress_customization[recaptcha_size]', function(value) {
1296
- value.bind(function(loginPressVal) {
1297
- console.log(loginPressVal);
1298
- if (loginPressVal == '') {
1299
- $('#customize-preview iframe').contents().find(
1300
- '.loginpress_recaptcha_wrapper .g-recaptcha').css(
1301
- 'transform', '');
1302
  } else {
1303
- $('#customize-preview iframe').contents().find(
1304
- '.loginpress_recaptcha_wrapper .g-recaptcha').css(
1305
- 'transform', 'scale(' + loginPressVal + ')');
 
1306
  }
1307
  });
1308
  });
1309
 
1310
-
1311
  $(window).on('load', function() {
1312
 
1313
  // console.log($('#customize-control-loginpress_display_bg input[type="checkbox"]').length);
1314
- if ($(
1315
- '#customize-control-loginpress_display_bg input[type="checkbox"]'
1316
- ).is(":checked")) {
1317
- $('#customize-control-setting_background').show();
1318
- $('#customize-control-background_repeat_radio').show();
1319
- $('#customize-control-background_image_size').show();
1320
  } else {
1321
- $('#customize-control-setting_background').hide();
1322
- $('#customize-control-background_repeat_radio').hide();
1323
- $('#customize-control-background_image_size').hide();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1324
  }
1325
 
1326
  $("<style type='text/css' id='loginpress-customize'></style>").appendTo(
74
  } );
75
  } // finish loginpress_css_property();
76
 
77
+ // function for change LoginPress CSS in real time...
78
+ function loginpress_new_css_property( setting, target, property, suffix ) {
79
+ // Update the login logo width in real time...
80
+ wp.customize( setting, function( value ) {
81
+ value.bind( function( loginPressVal ) {
82
+
83
+ if ( loginPressVal == '' ) {
84
+ $( '#customize-preview iframe' )
85
+ .contents()
86
+ .find( target )
87
+ .css( property, '' );
88
+ } else {
89
+ $( '#customize-preview iframe' )
90
+ .contents()
91
+ .find( target )
92
+ .css( property, loginPressVal + suffix );
93
+ }
94
+ } );
95
+ } );
96
+ } // finish loginpress_css_property();
97
  // function for change LoginPress attribute in real time...
98
  function loginpress_attr_property( setting, target, property ) {
99
  wp.customize( setting, function( value ) {
142
  } );
143
  } // finish loginpress_input_property();
144
 
145
+ // function for change LoginPress input fields in real time...
146
+ function loginpress_new_input_property( setting, property, suffix ) {
147
+ wp.customize( setting, function( value ) {
148
+ value.bind( function( loginPressVal ) {
149
+
150
+ if ( loginPressVal == '' ) {
151
+ $( '#customize-preview iframe' )
152
+ .contents()
153
+ .find( '.login input[type="text"]' )
154
+ .css( property, '' );
155
+ $( '#customize-preview iframe' )
156
+ .contents()
157
+ .find( '.login input[type="password"]' )
158
+ .css( property, '' );
159
+ } else {
160
+ $( '#customize-preview iframe' )
161
+ .contents()
162
+ .find( '.login input[type="text"]' )
163
+ .css( property, loginPressVal + suffix);
164
+ $( '#customize-preview iframe' )
165
+ .contents()
166
+ .find( '.login input[type="password"]' )
167
+ .css( property, loginPressVal + suffix);
168
+ }
169
+ } );
170
+ } );
171
+ } // finish loginpress_input_property();
172
+
173
  // function for change LoginPress error and welcome messages in real time...
174
+ /**
175
+ * [loginpress_text_message LoginPress (Error + Welcome) Message live Control. ]
176
+ * @param id [unique ID of the section. ]
177
+ * @param target [CSS Property]
178
+ * @return string [CSS property]
179
+ */
180
+ function loginpress_text_message( id, target ) {
181
+ wp.customize( id, function( value ) {
182
  value.bind( function( loginPressVal ) {
183
 
184
  if ( loginPressVal == '' ) {
186
  .contents()
187
  .find( target )
188
  .text('');
189
+
190
+ $( '#customize-preview iframe' )
191
+ .contents()
192
+ .find( target )
193
+ .css( 'display', 'none' );
194
  } else {
195
  $( '#customize-preview iframe' )
196
  .contents()
197
  .find( target )
198
  .text( loginPressVal );
199
+
200
+ $( '#customize-preview iframe' )
201
+ .contents()
202
+ .find( target )
203
+ .css( 'display', 'block' );
204
  }
205
  } );
206
  } );
207
  }
208
 
209
  var change_theme;
210
+
211
+ /**
212
+ * Change the LoginPress Presets Theme.
213
+ * @param {[type]} value [Customized value from user.]
214
+ * @return {[type]} [Theme ID]
215
+ */
216
  wp.customize('customize_presets_settings', function(value) {
217
  value.bind(function(loginPressVal) {
218
 
219
  change_theme = loginPressVal;
220
 
 
221
  });
222
  });
223
 
226
  function loginpress_display_control(setting) {
227
  // Update the login logo width in real time...
228
  wp.customize(setting, function(value) {
229
+ value.bind(function( loginPressVal ) {
 
230
  // Control on footer text.
231
+ if ( 'loginpress_customization[footer_display_text]' == setting && false == loginPressVal ) {
232
+
233
+ $( '#customize-preview iframe' ).contents().find( '.login #nav' ).css( 'display', 'none' );
234
+ $('#customize-control-loginpress_customization-login_footer_text').fadeOut().css( 'display', 'none' );
235
+ $('#customize-control-loginpress_customization-login_footer_text_decoration').fadeOut().css( 'display', 'none' );
236
+ $('#customize-control-loginpress_customization-login_footer_color').fadeOut().css( 'display', 'none' );
237
+ $('#customize-control-loginpress_customization-login_footer_color_hover').fadeOut().css( 'display', 'none' );
238
+ $('#customize-control-loginpress_customization-login_footer_font_size').fadeOut().css( 'display', 'none' );
239
+ $('#customize-control-loginpress_customization-login_footer_bg_color').fadeOut().css( 'display', 'none' );
240
+
241
+ } else if ('loginpress_customization[footer_display_text]' == setting && true == loginPressVal ) {
242
+
243
+ $( '#customize-preview iframe' ).contents().find( '.login #nav' ).css( 'display', 'block' );
244
+ $('#customize-control-loginpress_customization-login_footer_text').fadeIn().css( 'display', 'list-item' );
245
+ $('#customize-control-loginpress_customization-login_footer_text_decoration').fadeIn().css( 'display', 'list-item' );
246
+ $('#customize-control-loginpress_customization-login_footer_color').fadeIn().css( 'display', 'list-item' );
247
+ $('#customize-control-loginpress_customization-login_footer_color_hover').fadeIn().css( 'display', 'list-item' );
248
+ $('#customize-control-loginpress_customization-login_footer_font_size').fadeIn().css( 'display', 'list-item' );
249
+ $('#customize-control-loginpress_customization-login_footer_bg_color').fadeIn().css( 'display', 'list-item' );
 
 
 
 
 
 
 
 
250
 
251
  }
252
 
253
  // Control on footer back link text.
254
+ if ('loginpress_customization[back_display_text]' == setting && false == loginPressVal ) {
255
+
256
+ $( '#customize-preview iframe' ).contents().find( '.login #backtoblog' ).css( 'display', 'none' );
257
+ $('#customize-control-loginpress_customization-login_back_text_decoration').fadeOut().css( 'display', 'none' );
258
+ $('#customize-control-loginpress_customization-login_back_color').fadeOut().css( 'display', 'none' );
259
+ $('#customize-control-loginpress_customization-login_back_color_hover').fadeOut().css( 'display', 'none' );
260
+ $('#customize-control-loginpress_customization-login_back_font_size').fadeOut().css( 'display', 'none' );
261
+ $('#customize-control-loginpress_customization-login_back_bg_color').fadeOut().css( 'display', 'none' );
262
+
263
+ } else if ('loginpress_customization[back_display_text]' == setting && true == loginPressVal ) {
264
+
265
+ $( '#customize-preview iframe' ).contents().find( '.login #backtoblog' ).css( 'display', 'block' );
266
+ $('#customize-control-loginpress_customization-login_back_text_decoration').fadeIn().css( 'display', 'list-item' );
267
+ $('#customize-control-loginpress_customization-login_back_color').fadeIn().css( 'display', 'list-item' );
268
+ $('#customize-control-loginpress_customization-login_back_color_hover').fadeIn().css( 'display', 'list-item' );
269
+ $('#customize-control-loginpress_customization-login_back_font_size').fadeIn().css( 'display', 'list-item' );
270
+ $('#customize-control-loginpress_customization-login_back_bg_color').fadeIn().css( 'display', 'list-item' );
 
 
 
 
 
 
 
 
 
 
271
 
272
  }
273
  });
357
  }
358
  }
359
 
360
+ wp.customize('loginpress_customization[loginpress_display_bg]', function(value) {
 
361
  value.bind(function(loginPressVal) {
362
 
363
  // Check the theme id.
365
  .login_theme;
366
 
367
  // Set custom style on customizer.
368
+ if ( $('#customize-preview iframe').contents().find('#loginpress-customize').length == 0 ) {
 
369
  $("<style type='text/css' id='loginpress-customize'></style>")
370
+ .appendTo($('#customize-preview iframe')
371
+ .contents()
372
+ .find('head'));
373
  }
374
 
375
  // Set conditions on behalf on themes.
376
+ if ( loginPressVal == false ) {
377
 
378
  if ('default6' == customizer_bg) {
379
 
404
  .css('background-image', 'none');
405
  }
406
 
407
+ $('#customize-control-loginpress_customization-setting_background').fadeOut().css( 'display', 'none' );
408
+ $('#customize-control-loginpress_customization-background_repeat_radio').fadeOut().css( 'display', 'none' );
409
+ $('#customize-control-loginpress_customization-background_position').fadeOut().css( 'display', 'none' );
410
+ $('#customize-control-loginpress_customization-background_image_size').fadeOut().css( 'display', 'none' );
411
 
412
  } else {
413
 
519
  }
520
  }
521
 
522
+ $('#customize-control-loginpress_customization-setting_background').fadeIn().css( 'display', 'list-item' );
523
+ $('#customize-control-loginpress_customization-background_repeat_radio').fadeIn().css( 'display', 'list-item' );
524
+ $('#customize-control-loginpress_customization-background_position').fadeIn().css( 'display', 'list-item' );
525
+ $('#customize-control-loginpress_customization-background_image_size').fadeIn().css( 'display', 'list-item' );
526
 
527
  } // endif; conditions on behalf on themes.
528
  });
688
  });
689
  // localStorage.removeItem("loginpress_bg");
690
  // localStorage.removeItem("loginpress_bg_check");
691
+ loginpress_display_control( 'loginpress_customization[footer_display_text]' );
692
+ loginpress_display_control( 'loginpress_customization[back_display_text]' );
693
 
694
  // Update the login logo in real time...
695
  wp.customize('loginpress_customization[setting_logo]', function(value) {
706
  });
707
  });
708
 
709
+ /**
710
+ * [loginpress_new_css_property Apply Live JS on WordPress Login Page Logo]
711
+ * @param {[type]} loginpress_customization [Section ID]
712
+ * @param {[type]} login [Targeted CSS]
713
+ * @param {[type]} width [Property]
714
+ * @param {[type]} px [Unit]
715
+ */
716
+ loginpress_new_css_property( 'loginpress_customization[customize_logo_width]', '#login h1 a', 'width', 'px' );
717
+ loginpress_new_css_property( 'loginpress_customization[customize_logo_height]', '#login h1 a', 'height', 'px' );
718
+ loginpress_new_css_property( 'loginpress_customization[customize_logo_padding]', '#login h1 a', 'padding-bottom', 'px' );
719
 
720
+ loginpress_attr_property( 'loginpress_customization[customize_logo_hover]', '#login h1 a', 'href' );
721
+ loginpress_attr_property( 'loginpress_customization[customize_logo_hover_title]', '#login h1 a', 'title' );
 
 
 
722
 
723
 
724
  // loginpress_css_property(
897
  });
898
 
899
 
900
+ loginpress_background_img( 'loginpress_customization[setting_form_background]', '#loginform');
 
 
 
 
 
 
 
 
 
 
901
 
 
 
 
 
 
 
 
 
902
 
903
+ loginpress_new_css_property( 'loginpress_customization[customize_form_width]', '#login', 'max-width', 'px' );
904
+ loginpress_new_css_property( 'loginpress_customization[customize_form_height]', '#loginform', 'min-height', 'px' );
905
+ loginpress_css_property( 'loginpress_customization[customize_form_padding]', '#loginform', 'padding' );
906
+ loginpress_css_property( 'loginpress_customization[customize_form_border]', '#loginform', 'border' );
907
 
908
+ loginpress_new_input_property( 'loginpress_customization[textfield_width]', 'width', '%' );
909
+ loginpress_input_property( 'loginpress_customization[textfield_margin]', 'margin' );
910
+ loginpress_input_property( 'loginpress_customization[textfield_background_color]', 'background' );
911
+ loginpress_input_property( 'loginpress_customization[textfield_color]', 'color' );
912
 
913
+ loginpress_css_property( 'loginpress_customization[form_background_color]', '#loginform', 'background-color' );
914
+ loginpress_css_property( 'loginpress_customization[textfield_label_color]', '.login label', 'color' );
915
 
916
+ loginpress_background_img( 'loginpress_customization[forget_form_background]', '#lostpasswordform' );
917
+ loginpress_css_property( 'loginpress_customization[forget_form_background_color]', '#lostpasswordform', 'background-color' );
 
 
 
 
918
 
919
  //Buttons starts.
920
  // Update the login form button background in real time...
1079
  });
1080
  });
1081
 
1082
+ /**
1083
+ * WordPress Login Page Footer Message.
1084
+ */
1085
+ loginpress_text_message( 'loginpress_customization[login_footer_text]', '.login #nav a:nth-child(2)' );
1086
 
1087
+ // loginpress_css_property( 'loginpress_customization[footer_display_text]', '.login #nav', 'display' );
1088
+ loginpress_css_property( 'loginpress_customization[login_footer_text_decoration]', '.login #nav a', 'text-decoration' );
 
 
 
1089
 
1090
  var loginPressFtrClr;
1091
  var loginPressFtrHvr;
1168
  });
1169
  });
1170
 
1171
+ // loginpress_css_property( 'loginpress_customization[login_footer_font_size]', '.login #nav a', 'font-size' );
1172
+ loginpress_new_css_property( 'loginpress_customization[login_footer_font_size]', '.login #nav a', 'font-size', 'px' );
1173
+ loginpress_css_property( 'loginpress_customization[login_footer_bg_color]', '.login #nav', 'background-color' );
 
1174
 
1175
+ // loginpress_css_property( 'loginpress_customization[back_display_text]', '.login #backtoblog', 'display' );
1176
+ loginpress_css_property( 'loginpress_customization[login_back_text_decoration]', '.login #backtoblog a', 'text-decoration' );
 
 
 
1177
 
1178
  var loginPressFtrBackClr;
1179
  var loginPressFtrBackHvr;
1180
+ /**
1181
+ * Change LoginPress 'Back to Blog(link)' color live.
1182
+ */
1183
+ wp.customize( 'loginpress_customization[login_back_color]', function( value ) {
1184
+ value.bind(function( loginPressVal ) {
 
 
 
 
1185
 
1186
+ if ( loginPressVal == '' ) {
1187
+ $( '#customize-preview iframe' )
1188
+ .contents()
1189
+ .find( '.login #backtoblog a' )
1190
+ .css( 'color', '' );
1191
+ $( '#customize-preview iframe' )
1192
+ .contents()
1193
+ .find( '.login #backtoblog a' )
1194
+ .on( 'mouseover', function() {
1195
+ if ( typeof loginPressFtrBackHvr !== "undefined" || loginPressFtrBackHvr === null ) {
1196
+ $(this).css( 'color', loginPressFtrBackHvr );
1197
  } else {
1198
+ $(this).css( 'color', '' );
1199
  }
1200
+ } )
1201
+ .on( 'mouseleave', function() {
1202
+ $(this).css( 'color', '' );
1203
+ } );
1204
  } else {
1205
  loginPressFtrBackClr = loginPressVal;
1206
+ $( '#customize-preview iframe' )
1207
+ .contents()
1208
+ .find( '.login #backtoblog a' )
1209
+ .css( 'color', loginPressVal );
1210
+ $( '#customize-preview iframe' )
1211
+ .contents()
1212
+ .find( '.login #backtoblog a')
1213
+ .on( 'mouseover', function() {
1214
+ if ( typeof loginPressFtrBackHvr !== "undefined" || loginPressFtrBackHvr === null ) {
1215
+ $(this).css( 'color', loginPressFtrBackHvr );
1216
  } else {
1217
+ $(this).css( 'color', '' );
1218
  }
1219
+ } )
1220
+ .on( 'mouseleave', function() {
1221
+ $(this).css( 'color', loginPressVal );
1222
  });
1223
  }
1224
  });
1225
  });
1226
 
1227
+ /**
1228
+ * Change LoginPress 'Back to Blog(link)' hover color live.
1229
+ */
1230
+ wp.customize( 'loginpress_customization[login_back_color_hover]', function( value ) {
1231
+ value.bind( function( loginPressVal ) {
 
 
 
 
1232
 
1233
+ if ( loginPressVal == '' ) {
 
 
 
1234
 
1235
+ $( '#customize-preview iframe' )
1236
+ .contents()
1237
+ .find( '.login #backtoblog a' )
1238
+ .css( 'color', '' );
1239
+
1240
+ $( '#customize-preview iframe' )
1241
+ .contents()
1242
+ .find( '.login #backtoblog a' )
1243
+ .on( 'mouseover', function() {
1244
+ $(this).css( 'color', '' );
1245
+ } )
1246
+ .on( 'mouseleave', function() {
1247
+ if ( typeof loginPressFtrBackClr !== "undefined" || loginPressFtrBackClr === null ) {
1248
+ $(this).css( 'color', loginPressFtrBackClr );
1249
  } else {
1250
+ $(this).css( 'color', '' );
1251
  }
1252
  });
1253
  } else {
1254
  loginPressFtrBackHvr = loginPressVal;
1255
+ $( '#customize-preview iframe' )
1256
+ .contents()
1257
+ .find( '.login #backtoblog a' )
1258
+ .on( 'mouseover', function() {
1259
+ $(this).css( 'color', loginPressVal );
1260
+ } )
1261
+ .on( 'mouseleave', function() {
1262
+ if ( typeof loginPressFtrBackClr !== "undefined" || loginPressFtrBackClr === null ) {
1263
+ $(this).css( 'color', loginPressFtrBackClr );
1264
  } else {
1265
+ $(this).css( 'color', '' );
1266
  }
1267
  });
1268
  }
1269
  });
1270
  });
1271
 
1272
+ /**
1273
+ * WordPress Login Page Footer Style.
1274
+ */
1275
+ loginpress_new_css_property( 'loginpress_customization[login_back_font_size]', '.login #backtoblog a', 'font-size', 'px' );
1276
+ loginpress_css_property( 'loginpress_customization[login_back_font_size]', '.login #backtoblog a', 'font-size' );
1277
+ loginpress_css_property( 'loginpress_customization[login_back_bg_color]', '.login #backtoblog', 'background-color' );
1278
+ loginpress_footer_text_message( 'loginpress_customization[login_footer_copy_right]', '.copyRight' );
1279
+
1280
+ /**
1281
+ * WordPress Login Page Error Messages.
1282
+ */
1283
+ loginpress_text_message( 'loginpress_customization[incorrect_username]', '#login_error' );
1284
+ loginpress_text_message( 'loginpress_customization[incorrect_password]', '#login_error' );
1285
+ loginpress_text_message( 'loginpress_customization[empty_username]', '#login_error' );
1286
+ loginpress_text_message( 'loginpress_customization[empty_password]', '#login_error' );
1287
+ loginpress_text_message( 'loginpress_customization[invalid_email]', '#login_error' );
1288
+ loginpress_text_message( 'loginpress_customization[empty_email]', '#login_error' );
1289
+ loginpress_text_message( 'loginpress_customization[invalidcombo_message]', '#login_error' );
1290
+
1291
+ /**
1292
+ * WordPress Login Page Welcome Messages.
1293
+ */
1294
+ loginpress_text_message( 'loginpress_customization[lostpwd_welcome_message]', '.login-action-lostpassword .custom-message' );
1295
+ loginpress_text_message( 'loginpress_customization[welcome_message]', '.login-action-login .custom-message' );
1296
+ loginpress_text_message( 'loginpress_customization[register_welcome_message]', '.login-action-register .custom-message' );
1297
+ loginpress_text_message( 'loginpress_customization[logout_message]', '.login .custom-message' );
1298
+
1299
+ /**
1300
+ * WordPress Login Page Welcome Messages Style.
1301
+ */
1302
+ loginpress_css_property( 'loginpress_customization[message_background_border]', '.login .custom-message', 'border' );
1303
+ loginpress_css_property( 'loginpress_customization[message_background_color]', '.login .custom-message', 'background-color' );
1304
+
1305
+ /**
1306
+ * Enable / Disable LoginPress Footer link.
1307
+ */
 
 
 
1308
  wp.customize( 'loginpress_customization[loginpress_show_love]', function( value ) {
1309
  value.bind( function( loginPressVal ) {
1310
 
1311
+ if ( loginPressVal == false ) {
1312
+ $( '#customize-preview iframe' )
1313
+ .contents()
1314
+ .find( '.loginpress-show-love' )
1315
+ .fadeOut()
1316
+ .hide();
1317
  } else {
1318
+ $( '#customize-preview iframe' )
1319
+ .contents()
1320
+ .find( '.loginpress-show-love' )
1321
+ .fadeIn()
1322
+ .show();
1323
  }
1324
  } );
1325
  } );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1326
 
1327
+ /**
1328
+ * Change LoginPress Google reCaptcha size in real time...
1329
+ */
1330
+ wp.customize( 'loginpress_customization[recaptcha_size]', function( value ) {
1331
+ value.bind( function( loginPressVal ) {
1332
 
1333
+ if ( loginPressVal == '' ) {
1334
+ $( '#customize-preview iframe' )
1335
+ .contents()
1336
+ .find( '.loginpress_recaptcha_wrapper .g-recaptcha' )
1337
+ .css( 'transform', '' );
 
 
1338
  } else {
1339
+ $( '#customize-preview iframe' )
1340
+ .contents()
1341
+ .find( '.loginpress_recaptcha_wrapper .g-recaptcha' )
1342
+ .css( 'transform', 'scale(' + loginPressVal + ')' );
1343
  }
1344
  });
1345
  });
1346
 
 
1347
  $(window).on('load', function() {
1348
 
1349
  // console.log($('#customize-control-loginpress_display_bg input[type="checkbox"]').length);
1350
+ if ( $('#customize-control-loginpress_customization-loginpress_display_bg input[type="checkbox"]').is(":checked") ) {
1351
+ $('#customize-control-loginpress_customization-setting_background').css( 'display', 'list-item' );
1352
+ $('#customize-control-loginpress_customization-background_repeat_radio').css( 'display', 'list-item' );
1353
+ $('#customize-control-loginpress_customization-background_position').css( 'display', 'list-item' );
1354
+ $('#customize-control-loginpress_customization-background_image_size').css( 'display', 'list-item' );
 
1355
  } else {
1356
+ $('#customize-control-loginpress_customization-setting_background').css( 'display', 'none' );
1357
+ $('#customize-control-loginpress_customization-background_repeat_radio').css( 'display', 'none' );
1358
+ $('#customize-control-loginpress_customization-background_position').css( 'display', 'none' );
1359
+ $('#customize-control-loginpress_customization-background_image_size').css( 'display', 'none' );
1360
+ }
1361
+
1362
+ if ( $('#customize-control-loginpress_customization-footer_display_text input[type="checkbox"]').is(":checked") ) {
1363
+
1364
+ $('#customize-control-loginpress_customization-login_footer_text').css( 'display', 'list-item' );
1365
+ $('#customize-control-loginpress_customization-login_footer_text_decoration').css( 'display', 'list-item' );
1366
+ $('#customize-control-loginpress_customization-login_footer_color').css( 'display', 'list-item' );
1367
+ $('#customize-control-loginpress_customization-login_footer_color_hover').css( 'display', 'list-item' );
1368
+ $('#customize-control-loginpress_customization-login_footer_font_size').css( 'display', 'list-item' );
1369
+ $('#customize-control-loginpress_customization-login_footer_bg_color').css( 'display', 'list-item' );
1370
+ } else {
1371
+
1372
+ $('#customize-control-loginpress_customization-login_footer_text').css( 'display', 'none' );
1373
+ $('#customize-control-loginpress_customization-login_footer_text_decoration').css( 'display', 'none' );
1374
+ $('#customize-control-loginpress_customization-login_footer_color').css( 'display', 'none' );
1375
+ $('#customize-control-loginpress_customization-login_footer_color_hover').css( 'display', 'none' );
1376
+ $('#customize-control-loginpress_customization-login_footer_font_size').css( 'display', 'none' );
1377
+ $('#customize-control-loginpress_customization-login_footer_bg_color').css( 'display', 'none' );
1378
+ }
1379
+
1380
+ if ( $('#customize-control-loginpress_customization-back_display_text input[type="checkbox"]').is(":checked") ) {
1381
+
1382
+ $('#customize-control-loginpress_customization-login_back_text_decoration').css( 'display', 'list-item' );
1383
+ $('#customize-control-loginpress_customization-login_back_color').css( 'display', 'list-item' );
1384
+ $('#customize-control-loginpress_customization-login_back_color_hover').css( 'display', 'list-item' );
1385
+ $('#customize-control-loginpress_customization-login_back_font_size').css( 'display', 'list-item' );
1386
+ $('#customize-control-loginpress_customization-login_back_bg_color').css( 'display', 'list-item' );
1387
+ } else {
1388
+
1389
+ $('#customize-control-loginpress_customization-login_back_text_decoration').css( 'display', 'none' );
1390
+ $('#customize-control-loginpress_customization-login_back_color').css( 'display', 'none' );
1391
+ $('#customize-control-loginpress_customization-login_back_color_hover').css( 'display', 'none' );
1392
+ $('#customize-control-loginpress_customization-login_back_font_size').css( 'display', 'none' );
1393
+ $('#customize-control-loginpress_customization-login_back_bg_color').css( 'display', 'none' );
1394
  }
1395
 
1396
  $("<style type='text/css' id='loginpress-customize'></style>").appendTo(
js/customizer-previewer.js ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Customizer Previewer
3
+ * @since 1.0.23
4
+ */
5
+ ( function ( wp, $ ) {
6
+ "use strict";
7
+
8
+ // Bail if the customizer isn't initialized
9
+ if ( ! wp || ! wp.customize ) {
10
+ return;
11
+ }
12
+
13
+ var api = wp.customize, OldPreview;
14
+
15
+ // Custom Customizer Preview class (attached to the Customize API)
16
+ api.myCustomizerPreview = {
17
+ // Init
18
+ init: function () {
19
+
20
+ var $body = $( 'body'),
21
+ $body_bg = $( '#login h1'),
22
+ $form = $( '#login form'),
23
+ $document = $( document ); // Store references to the body and document elements
24
+
25
+ // Append our button to the <body> element
26
+ $body_bg.append( '<span class="loginpress-logo-partial loginpress-partial customize-partial-edit-shortcut" title="Change Logo"><button class="loginpress-event-button customize-partial-edit-shortcut-button" data-customizer-event="customize_logo_section"><span class="dashicons dashicons-edit"></span></button></span>' );
27
+
28
+ $body.append( '<span class="loginpress-presets-partial loginpress-partial customize-partial-edit-shortcut" title="Change Template"><button class="loginpress-event-button customize-partial-edit-shortcut-button" data-customizer-event="customize_presets"><span class="dashicons dashicons-admin-appearance"></span></button></span>' );
29
+
30
+ $body.append( '<span class="loginpress-background-partial loginpress-partial customize-partial-edit-shortcut" title="Change Background"><button class="loginpress-event-button customize-partial-edit-shortcut-button" data-customizer-event="section_background"><span class="dashicons dashicons-images-alt"></span></button></span>' );
31
+
32
+ $body.append( '<span class="loginpress-footer-partial loginpress-partial customize-partial-edit-shortcut" title="Change Footer"><button class="loginpress-event-button customize-partial-edit-shortcut-button" data-customizer-event="section_fotter"><span class="dashicons dashicons-edit"></span></button></span>' );
33
+
34
+ // $form.append( '<span class="loginpress-form-partial loginpress-partial customize-partial-edit-shortcut"><button class="loginpress-event-button customize-partial-edit-shortcut-button" data-customizer-event="section_form"><span class="dashicons dashicons-edit"></span></button></span>' );
35
+
36
+ /**
37
+ * Listen for events on the LoginPress previewer button
38
+ */
39
+ $document.on( 'touch click', '.loginpress-partial.customize-partial-edit-shortcut', function( e ) {
40
+
41
+ var $el = $(this),
42
+ $event = $el.children().data('customizer-event'),
43
+ $title = ' .accordion-section-title',
44
+ $panel = '#accordion-panel-loginpress_panel' + $title,
45
+ $section = '#accordion-section-' + $event + $title,
46
+ $customizer = parent.document;
47
+
48
+ if( !$el.hasClass( "active" ) ) {
49
+
50
+ $( $panel, $customizer ).trigger('click');
51
+ $( $section, $customizer ).trigger('click');
52
+ }
53
+
54
+ $('.loginpress-partial.customize-partial-edit-shortcut').removeClass( 'active' );
55
+ $el.addClass( 'active' );
56
+ } );
57
+
58
+ /**
59
+ * Prevent logo link for customizer
60
+ */
61
+ $document.on( 'click touch', '.login h1 a', function( e ) {
62
+ e.preventDefault();
63
+ });
64
+
65
+ /**
66
+ * Prevent Submit Button for customizer
67
+ */
68
+ $document.on( 'click touch', '.submit', function( e ) {
69
+ e.preventDefault();
70
+ });
71
+ }
72
+ };
73
+
74
+ /**
75
+ * Capture the instance of the Preview since it is private (this has changed in WordPress 4.0)
76
+ */
77
+ OldPreview = api.Preview;
78
+ api.Preview = OldPreview.extend( {
79
+ initialize: function( params, options ) {
80
+ // Store a reference to the Preview
81
+ api.myCustomizerPreview.preview = this;
82
+
83
+ // Call the old Preview's initialize function
84
+ OldPreview.prototype.initialize.call( this, params, options );
85
+ }
86
+ } );
87
+
88
+ // Document ready
89
+ $( function () {
90
+ // Initialize our Preview
91
+ api.myCustomizerPreview.init();
92
+ } );
93
+ } )( window.wp, jQuery );
js/customizer.js ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Customizer Communicator
3
+ *
4
+ * @since 1.0.23
5
+ */
6
+ ( function ( exports, $ ) {
7
+ "use strict";
8
+
9
+ var api = wp.customize, OldPreviewer;
10
+
11
+ // Custom Customizer Previewer class (attached to the Customize API)
12
+ api.myCustomizerPreviewer = {
13
+ // Init
14
+ init: function () {
15
+ var self = this; // Store a reference to "this" in case callback functions need to reference it
16
+
17
+ // Listen to the "customize-section-back" event for removing 'active' class from customize-partial-edit-shortcut.
18
+
19
+ $(document).on( 'click', '.customize-section-back', function() {
20
+ $('#customize-preview iframe').contents().find('.loginpress-partial.customize-partial-edit-shortcut').each( function(){
21
+ $(this).removeClass('active');
22
+ } );
23
+ } );
24
+ }
25
+ };
26
+
27
+
28
+ /**
29
+ * Capture the instance of the Preview since it is private (this has changed in WordPress 4.0)
30
+ */
31
+ OldPreviewer = api.Previewer;
32
+ api.Previewer = OldPreviewer.extend( {
33
+ initialize: function( params, options ) {
34
+ // Store a reference to the Previewer
35
+ api.myCustomizerPreviewer.preview = this;
36
+
37
+ // Call the old Previewer's initialize function
38
+ OldPreviewer.prototype.initialize.call( this, params, options );
39
+ }
40
+ } );
41
+
42
+ // Document Ready
43
+ $( function() {
44
+ // Initialize our Previewer
45
+ api.myCustomizerPreviewer.init();
46
+ } );
47
+ } )( wp, jQuery );
languages/loginpress-fr_FR.mo CHANGED
Binary file
languages/loginpress-fr_FR.po CHANGED
@@ -1,483 +1,737 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Custom Login Page Brigade\n"
4
- "POT-Creation-Date: 2017-02-25 12:58+0500\n"
5
- "PO-Revision-Date: 2017-02-25 12:58+0500\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: fr\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.8.12\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "X-Poedit-SourceCharset: UTF-8\n"
15
  "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
16
- "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;"
17
- "_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
18
  "Plural-Forms: nplurals=2; plural=(n > 1);\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
  "X-Poedit-SearchPathExcluded-0: *.js\n"
21
 
22
- #: classes/control-presets.php:73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  msgid "Unlock Premium Feature"
24
  msgstr ""
25
 
26
- #: classes/control-presets.php:77
27
- msgid "Contact us for Custom Design"
28
  msgstr ""
29
 
30
- #: classes/loginpress-settings-api.php:365
31
  msgid "Choose File"
32
  msgstr ""
33
 
34
- #: classes/loginpress-settings-api.php:528
35
- msgid "Getting Started Video - 60 sec"
36
  msgstr ""
37
 
38
- #: classes/loginpress-settings-api.php:536
39
  msgid "Why Go Pro?"
40
  msgstr ""
41
 
42
- #: classes/loginpress-settings-api.php:539
43
  msgid "Secure login with Google reCaptcha"
44
  msgstr ""
45
 
46
- #: classes/loginpress-settings-api.php:540
47
  msgid "20+ Custom Login Themes"
48
  msgstr ""
49
 
50
- #: classes/loginpress-settings-api.php:541
51
- msgid "Full customizatin with Custom CSS & JS"
52
  msgstr ""
53
 
54
- #: classes/loginpress-settings-api.php:546
55
  msgid "See What's In The Pro Version"
56
  msgstr ""
57
 
58
- #: classes/loginpress-settings-api.php:555
59
  msgid "Plugin Support"
60
  msgstr ""
61
 
62
- #: classes/loginpress-settings-api.php:558
63
  msgid "Got a Question, Idea, Problem or Praise?"
64
  msgstr ""
65
 
66
- #: classes/loginpress-settings-api.php:560
67
  msgid "Support Request"
68
  msgstr ""
69
 
70
- #: classes/loginpress-setup.php:52
71
  msgid "Default Settings Restored"
72
  msgstr ""
73
 
74
- #: classes/loginpress-setup.php:59 classes/loginpress-setup.php:67
 
 
 
 
75
  msgid "Settings"
76
  msgstr ""
77
 
78
- #: classes/loginpress-setup.php:68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  #, php-format
80
  msgid "Everything else is customizable through %1$sWordPress Customizer%2$s."
81
  msgstr ""
82
 
83
- #: classes/loginpress-setup.php:74
84
- msgid "Try Premium Version"
 
 
 
 
85
  msgstr ""
86
 
87
- #: classes/loginpress-setup.php:93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  msgid "Reset Default Settings"
89
  msgstr ""
90
 
91
- #: classes/loginpress-setup.php:94
92
  msgid "Remove my custom settings."
93
  msgstr ""
94
 
95
- #: classes/loginpress-setup.php:99
96
- msgid "Allow Usage Tracking?"
 
 
 
 
97
  msgstr ""
98
 
99
- #: classes/loginpress-setup.php:100
 
 
 
 
 
 
 
 
 
 
100
  msgid ""
101
- "Allow LoginPress to <a href=\"https://wpbrigade.com/wordpress/plugins/non-"
102
- "sensitive-diagnostic-tracking/\" target=\"_blank\">non-sensitive diagnostic "
103
- "tracking</a> and help us make the plugin even better."
104
  msgstr ""
105
 
106
- #: custom.php:89 loginpress.php:154 loginpress.php:156
107
- msgid "LoginPress"
108
  msgstr ""
109
 
110
- #: custom.php:90
 
 
 
 
111
  msgid "Customize Your WordPress Login Page with LoginPress :)"
112
  msgstr ""
113
 
114
- #: custom.php:100
115
  msgid "Themes"
116
  msgstr ""
117
 
118
- #: custom.php:101
119
  msgid "Choose Theme"
120
  msgstr ""
121
 
122
- #: custom.php:122 custom.php:164
123
  msgid "Company"
124
  msgstr ""
125
 
126
- #: custom.php:128 custom.php:194
127
  msgid "Persona"
128
  msgstr ""
129
 
130
- #: custom.php:134 custom.php:140
131
  msgid "Corporate"
132
  msgstr ""
133
 
134
- #: custom.php:146
135
  msgid "Startup"
136
  msgstr ""
137
 
138
- #: custom.php:152
139
  msgid "Wedding"
140
  msgstr ""
141
 
142
- #: custom.php:158
143
  msgid "Wedding #2"
144
  msgstr ""
145
 
146
- #: custom.php:170
147
  msgid "Bikers"
148
  msgstr ""
149
 
150
- #: custom.php:176
151
  msgid "Fitness"
152
  msgstr ""
153
 
154
- #: custom.php:182
155
  msgid "Shopping"
156
  msgstr ""
157
 
158
- #: custom.php:188
159
  msgid "Writers"
160
  msgstr ""
161
 
162
- #: custom.php:200
163
  msgid "Geek"
164
  msgstr ""
165
 
166
- #: custom.php:206
167
  msgid "Innovation"
168
  msgstr ""
169
 
170
- #: custom.php:212
171
  msgid "Photographers"
172
  msgstr ""
173
 
174
- #: custom.php:238
175
  msgid "Logo"
176
  msgstr ""
177
 
178
- #: custom.php:239
179
  msgid "Customize Your Logo Section"
180
  msgstr ""
181
 
182
- #: custom.php:251
183
  msgid "Logo Image:"
184
  msgstr ""
185
 
186
- #: custom.php:260
187
  msgid "Logo Width:"
188
  msgstr ""
189
 
190
- #: custom.php:261
191
  msgid "Logo Height:"
192
  msgstr ""
193
 
194
- #: custom.php:262
195
  msgid "Padding Bottom:"
196
  msgstr ""
197
 
198
- #: custom.php:263
199
  msgid "Logo URL:"
200
  msgstr ""
201
 
202
- #: custom.php:264
203
  msgid "Logo Hover Title:"
204
  msgstr ""
205
 
206
- #: custom.php:291
207
  msgid "Background"
208
  msgstr "Arrière plan"
209
 
210
- #: custom.php:306
211
  msgid "Display Background Image?"
212
  msgstr ""
213
 
214
- #: custom.php:320
215
  msgid "Background Color:"
216
  msgstr ""
217
 
218
- #: custom.php:334
219
  msgid "Background Image:"
220
  msgstr ""
221
 
222
- #: custom.php:349
223
  msgid "Background Repeat:"
224
  msgstr "Répétition d’arrière plan"
225
 
226
- #: custom.php:372
227
  msgid "Select Position:"
228
  msgstr ""
229
 
230
- #: custom.php:397
231
  msgid "Background Image Size: "
232
  msgstr ""
233
 
234
- #: custom.php:415
235
  msgid "Customize Login Form"
236
  msgstr ""
237
 
238
- #: custom.php:428
239
  msgid "Form Background Image"
240
  msgstr "S'il vous plaît remplir le formulaire complet"
241
 
242
- #: custom.php:437
243
  msgid "Form Width:"
244
  msgstr "Largeur du formulaire"
245
 
246
- #: custom.php:438
247
  msgid "Form Minimum Height:"
248
  msgstr ""
249
 
250
- #: custom.php:439
251
  msgid "Form Padding:"
252
  msgstr "Remplissage de la forme :"
253
 
254
- #: custom.php:440
255
  msgid "Border (Example: 2px dotted black):"
256
  msgstr ""
257
 
258
- #: custom.php:441
259
  msgid "Input Text Field Width:"
260
  msgstr ""
261
 
262
- #: custom.php:442
263
  msgid "Input Text Field Margin:"
264
  msgstr ""
265
 
266
- #: custom.php:468
267
  msgid "Form Background Color:"
268
  msgstr ""
269
 
270
- #: custom.php:469
271
  msgid "Input Field Background Color:"
272
  msgstr ""
273
 
274
- #: custom.php:470
275
  msgid "Input Field Text Color:"
276
  msgstr ""
277
 
278
- #: custom.php:471
279
  msgid "Label Color:"
280
  msgstr ""
281
 
282
- #: custom.php:504
283
  msgid "Customize Forget Form"
284
  msgstr "S'il vous plaît remplir le formulaire complet"
285
 
286
- #: custom.php:521
287
  msgid "Forget Form Background Image"
288
  msgstr "Oubliez l'Image de fond de forme"
289
 
290
- #: custom.php:535
291
  msgid "Forget Form Background Color"
292
  msgstr "Oubliez la couleur d'arrière-plan de forme"
293
 
294
- #: custom.php:545
295
  msgid "Button Beauty"
296
  msgstr "Beauté de touche"
297
 
298
- #: custom.php:554
299
  msgid "Button Color:"
300
  msgstr ""
301
 
302
- #: custom.php:555
303
  msgid "Button Border Color:"
304
  msgstr ""
305
 
306
- #: custom.php:556
307
  msgid "Button Color (Hover):"
308
  msgstr ""
309
 
310
- #: custom.php:557
311
  msgid "Button Border (Hover):"
312
  msgstr ""
313
 
314
- #: custom.php:558
315
  msgid "Button Box Shadow:"
316
  msgstr ""
317
 
318
- #: custom.php:559
319
  msgid "Button Text Color:"
320
  msgstr ""
321
 
322
- #: custom.php:586
323
  msgid "Error Messages"
324
  msgstr "Messages d'erreur"
325
 
326
- #: custom.php:595
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
  msgid "Incorrect Username Message:"
328
  msgstr "Message de nom d'utilisateur incorrect :"
329
 
330
- #: custom.php:596
331
  msgid "Incorrect Password Message:"
332
  msgstr "Message de mot de passe incorrect :"
333
 
334
- #: custom.php:597
335
  msgid "Empty Username Message:"
336
  msgstr "Empty Nom d'utilisateur Message:"
337
 
338
- #: custom.php:598
339
  msgid "Empty Password Message:"
340
  msgstr "Mot de passe vide Message:"
341
 
342
- #: custom.php:599
343
  msgid "Invalid Email Message:"
344
  msgstr "support marketing: cpc, bannière, e-mail"
345
 
346
- #: custom.php:600
347
  msgid "Empty Email Message:"
348
  msgstr "Message E-mail :"
349
 
350
- #: custom.php:601
 
 
 
 
 
 
 
 
351
  msgid "Forget Password Message:"
352
  msgstr "Oubliez le mot de passe :"
353
 
354
- #: custom.php:628
 
 
 
 
 
 
355
  msgid "Welcome Messages"
356
  msgstr "Messages de bienvenue"
357
 
358
- #: custom.php:637
359
  msgid "Welcome Message on Lost Password:"
360
  msgstr "Message de Bienvenue sur mot de passe perdu :"
361
 
362
- #: custom.php:638
363
- msgid "Welcome Message on Front Page:"
 
 
364
  msgstr "Message de Bienvenue sur la Page de couverture :"
365
 
366
- #: custom.php:639
367
  msgid "Welcome Message on Registration:"
368
  msgstr "Message de Bienvenue sur inscription :"
369
 
370
- #: custom.php:640
371
  msgid "Logout Message:"
372
  msgstr "Message de déconnexion :"
373
 
374
- #: custom.php:641
375
  msgid "Message Field Border: ( Example: 1px solid #00a0d2; )"
376
  msgstr ""
377
 
378
- #: custom.php:672
379
  msgid "Message Field Background Color:"
380
  msgstr "Message champ couleur de fond :"
381
 
382
- #: custom.php:856
383
  msgid "Form Footer"
384
  msgstr ""
385
 
386
- #: custom.php:870
387
  msgid "Lost Password Text"
388
  msgstr "Texte de mot de passe perdu"
389
 
390
- #: custom.php:884
391
  msgid "Footer Text Display:"
392
  msgstr "Affichage de texte de pied de page :"
393
 
394
- #: custom.php:924
395
  msgid "Footer Text Color:"
396
  msgstr "Couleur du texte de Pied de page"
397
 
398
- #: custom.php:938
399
  msgid "Footer Text Hover Color:"
400
  msgstr "Couleur du texte de lien de pied de page au survol"
401
 
402
- #: custom.php:952
403
  msgid "Text Font Size:"
404
  msgstr "Texte : taille de la police"
405
 
406
- #: custom.php:966 custom.php:1079
407
  msgid "Footer Background Color:"
408
  msgstr "Couleur d’arrière-plan du Pied de page"
409
 
410
- #: custom.php:993
411
  msgid "\"Back to\" Text Display:"
412
  msgstr ""
413
 
414
- #: custom.php:1013
415
  msgid "\"Back to\" Text Decoration:"
416
  msgstr ""
417
 
418
- #: custom.php:1037
419
  msgid "\"Back to\" Text Color:"
420
  msgstr ""
421
 
422
- #: custom.php:1051
423
  msgid "\"Back to\" Text Hover Color:"
424
  msgstr ""
425
 
426
- #: custom.php:1065
427
  msgid "\"Back to\" Text Font Size:"
428
  msgstr ""
429
 
430
- #: custom.php:1086
431
- #, php-format
432
- msgid "© 2017 %1$s, All Rights Reserved."
433
- msgstr ""
 
434
 
435
- #: custom.php:1093
436
  msgid "Copyright Note:"
437
  msgstr ""
438
 
439
- #: custom.php:1106
440
- msgid "Custom CSS"
 
 
 
 
 
 
 
 
441
  msgstr "CSS Personalisé"
442
 
443
- #: custom.php:1119
444
  msgid "Customize CSS"
445
  msgstr "Personnaliser le CSS"
446
 
447
- #: custom.php:1132
448
- msgid "Custom JS"
449
- msgstr "Personnaliser le JavaScript"
 
 
 
450
 
451
- #: custom.php:1145
452
  msgid "Customize JS"
453
  msgstr "Personnaliser les JS"
454
 
455
- #: custom.php:1259
456
- msgid "Invalid Username"
457
- msgstr ""
458
-
459
- #: custom.php:1261
460
- msgid "Invalid Password"
461
  msgstr ""
462
 
463
- #: custom.php:1263
464
- msgid "Empty Username"
465
  msgstr ""
466
 
467
- #: custom.php:1265
468
- msgid "Empty Password"
 
 
469
  msgstr ""
470
 
471
- #: custom.php:1267
472
- msgid "The email address is incorrect."
473
  msgstr ""
474
 
475
- #: custom.php:1269
476
- msgid "The email address is empty."
477
  msgstr ""
478
 
479
- #: custom.php:1271
480
- msgid "Invalid Username or Email."
481
  msgstr ""
482
 
483
  #: include/class-remote-notification-client.php:126
@@ -518,6 +772,10 @@ msgstr ""
518
  msgid "I found a better plugin"
519
  msgstr ""
520
 
 
 
 
 
521
  #: include/deactivate_modal.php:117
522
  msgid "The plugin broke my site"
523
  msgstr ""
@@ -546,54 +804,219 @@ msgstr ""
546
  msgid "Anonymous feedback"
547
  msgstr ""
548
 
 
 
 
 
549
  #: include/deactivate_modal.php:165
 
 
 
 
550
  msgid "Cancel"
551
  msgstr ""
552
 
553
- #: loginpress.php:158
554
- msgid "Customizer"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
555
  msgstr ""
556
 
557
- #: loginpress.php:182
 
 
 
 
558
  msgid "Vote!"
559
  msgstr ""
560
 
561
- #: loginpress.php:411
 
 
 
 
 
 
 
562
  msgid "Leave A Review?"
563
  msgstr ""
564
 
565
- #: loginpress.php:412
566
  msgid ""
567
  "We hope you've enjoyed using LoginPress! Would you consider leaving us a "
568
  "review on WordPress.org?"
569
  msgstr ""
570
 
571
- #: loginpress.php:414
572
  msgid "Sure! I'd love to!"
573
  msgstr ""
574
 
575
- #: loginpress.php:415
576
  msgid "I've already left a review"
577
  msgstr ""
578
 
579
- #: loginpress.php:416
580
  msgid "Maybe Later"
581
  msgstr ""
582
 
583
- #: loginpress.php:417
584
  msgid "Never show again"
585
  msgstr ""
586
 
587
- #: loginpress.php:439
588
  #, php-format
589
  msgid "%1$s Settings %2$s | %3$s Customize %4$s"
590
  msgstr ""
591
 
592
- #: loginpress.php:443
 
 
 
 
 
 
 
 
 
 
593
  #, php-format
594
  msgid "%1$s %3$s Upgrade Pro %4$s %2$s"
595
  msgstr ""
596
 
 
 
 
597
  #~ msgid "Login Logo"
598
  #~ msgstr "Le logo de connexion"
599
 
@@ -714,9 +1137,6 @@ msgstr ""
714
  #~ msgid "Footer Links 4"
715
  #~ msgstr "Liens du pied de page"
716
 
717
- #~ msgid "All Rights Reserved by:"
718
- #~ msgstr "Tous droits réservés"
719
-
720
  #~ msgid "Footer Links Background Color:"
721
  #~ msgstr "Couleur d'arrière-plan des liens du pied de page :"
722
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Custom Login Page Brigade\n"
4
+ "POT-Creation-Date: 2017-11-18 13:58+0500\n"
5
+ "PO-Revision-Date: 2017-11-18 14:01+0500\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: fr\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.0.2\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "X-Poedit-SourceCharset: UTF-8\n"
15
  "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
16
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
17
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
18
  "Plural-Forms: nplurals=2; plural=(n > 1);\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
  "X-Poedit-SearchPathExcluded-0: *.js\n"
21
 
22
+ #: classes/class-loginpress-addons.php:81
23
+ #, php-format
24
+ msgid "%1$s Already Installed %2$s"
25
+ msgstr ""
26
+
27
+ #: classes/class-loginpress-addons.php:86
28
+ #, php-format
29
+ msgid "%1$s Activate Plugin %2$s"
30
+ msgstr ""
31
+
32
+ #: classes/class-loginpress-addons.php:93
33
+ #, php-format
34
+ msgid "%1$s Install %2$s"
35
+ msgstr ""
36
+
37
+ #: classes/class-loginpress-addons.php:246
38
+ msgid "Extend the functionality of LoginPress with these awesome Add-ons"
39
+ msgstr ""
40
+
41
+ #: classes/class-loginpress-addons.php:270
42
+ msgid "Trouble in loading Add-ons. Please reload the page."
43
+ msgstr ""
44
+
45
+ #: classes/class-loginpress-addons.php:272
46
+ #, php-format
47
+ msgid "Findout the LoginPress %1$s"
48
+ msgstr ""
49
+
50
+ #: classes/class-loginpress-custom-password.php:45
51
+ msgid "Password"
52
+ msgstr "Mot de passe"
53
+
54
+ #: classes/class-loginpress-custom-password.php:49
55
+ msgid "Confirm Password"
56
+ msgstr "Confirmez le mot de passe"
57
+
58
+ #: classes/class-loginpress-custom-password.php:70
59
+ msgid "<strong>ERROR</strong>: Please enter your password twice."
60
+ msgstr ""
61
+ "<strong>ERREUR</strong>: S&#8217;il vous plaît entrez deux fois votre mot de "
62
+ "passe."
63
+
64
+ #: classes/class-loginpress-custom-password.php:74
65
+ msgid ""
66
+ "<strong>ERROR</strong>: Please enter the same password in the end password "
67
+ "fields."
68
+ msgstr ""
69
+ "<strong>ERREUR</strong>: S&#8217;il vous plaît entrer le même mot de passe "
70
+ "dans les deux champs de mot de passe."
71
+
72
+ #: classes/class-loginpress-filter-plugin.php:42
73
+ #, php-format
74
+ msgid "Buy %s now"
75
+ msgstr ""
76
+
77
+ #: classes/class-loginpress-filter-plugin.php:43
78
+ msgid "Buy Now"
79
+ msgstr ""
80
+
81
+ #: classes/class-loginpress-filter-plugin.php:186
82
+ msgid "Analytify"
83
+ msgstr ""
84
+
85
+ #: classes/class-loginpress-filter-plugin.php:195
86
+ msgid ""
87
+ "Analytify is reshaping Google Analytics in WordPress. See Social Media, "
88
+ "Keywords, Realtime, Country, Mobile and Browsers Statistics under pages and "
89
+ "posts."
90
+ msgstr ""
91
+
92
+ #: classes/class-loginpress-filter-plugin.php:198
93
+ msgid "Related Posts"
94
+ msgstr ""
95
+
96
+ #: classes/class-loginpress-filter-plugin.php:207
97
+ msgid ""
98
+ "Related Post Thumbnails plugin is for those who want the showcase of their "
99
+ "related posts after the post detail. The plugin allows customizing thumbnail "
100
+ "sizes, display settings, and type of relations. The plugin is using original "
101
+ "WordPress taxonomy. It returns generated HTML, that is essential for page "
102
+ "load speed of blogs that use many Javascript widgets."
103
+ msgstr ""
104
+
105
+ #: classes/class-loginpress-filter-plugin.php:210
106
+ msgid "LoginPress Pro"
107
+ msgstr ""
108
+
109
+ #: classes/class-loginpress-filter-plugin.php:220
110
+ msgid ""
111
+ "LoginPress Plugin by LoginPress holds a lot of customization fields to "
112
+ "change the layout of the login page of WordPress. You can modify the look "
113
+ "and feel of login page completely even the login error messages, forgot "
114
+ "error messages, registration error messages, forget password hint message "
115
+ "and many more."
116
+ msgstr ""
117
+
118
+ #: classes/class-loginpress-login-order.php:69 custom.php:594 custom.php:1325
119
+ #, php-format
120
+ msgid "%1$sError:%2$s The username field is empty."
121
+ msgstr ""
122
+
123
+ #: classes/class-loginpress-login-order.php:71 custom.php:595 custom.php:1327
124
+ #, php-format
125
+ msgid "%1$sError:%2$s The password field is empty."
126
+ msgstr ""
127
+
128
+ #: classes/class-loginpress-login-order.php:92 custom.php:601
129
+ #, php-format
130
+ msgid "%1$sError:%2$s Invalid Email Address"
131
+ msgstr ""
132
+
133
+ #: classes/class-loginpress-login-order.php:114 custom.php:593 custom.php:1321
134
+ #, php-format
135
+ msgid "%1$sError:%2$s Invalid Username."
136
+ msgstr ""
137
+
138
+ #: classes/class-loginpress-promo.php:9
139
+ msgid "Google Fonts"
140
+ msgstr ""
141
+
142
+ #: classes/class-loginpress-promo.php:26 classes/class-loginpress-promo.php:47
143
+ #: classes/control-presets.php:74
144
  msgid "Unlock Premium Feature"
145
  msgstr ""
146
 
147
+ #: classes/class-loginpress-promo.php:31
148
+ msgid "reCAPTCHA"
149
  msgstr ""
150
 
151
+ #: classes/class-loginpress-settings-api.php:370
152
  msgid "Choose File"
153
  msgstr ""
154
 
155
+ #: classes/class-loginpress-settings-api.php:565
156
+ msgid "Getting Started Video"
157
  msgstr ""
158
 
159
+ #: classes/class-loginpress-settings-api.php:573
160
  msgid "Why Go Pro?"
161
  msgstr ""
162
 
163
+ #: classes/class-loginpress-settings-api.php:576
164
  msgid "Secure login with Google reCaptcha"
165
  msgstr ""
166
 
167
+ #: classes/class-loginpress-settings-api.php:577
168
  msgid "20+ Custom Login Themes"
169
  msgstr ""
170
 
171
+ #: classes/class-loginpress-settings-api.php:578
172
+ msgid "Full customization with Custom CSS & JS"
173
  msgstr ""
174
 
175
+ #: classes/class-loginpress-settings-api.php:583
176
  msgid "See What's In The Pro Version"
177
  msgstr ""
178
 
179
+ #: classes/class-loginpress-settings-api.php:592
180
  msgid "Plugin Support"
181
  msgstr ""
182
 
183
+ #: classes/class-loginpress-settings-api.php:595
184
  msgid "Got a Question, Idea, Problem or Praise?"
185
  msgstr ""
186
 
187
+ #: classes/class-loginpress-settings-api.php:597
188
  msgid "Support Request"
189
  msgstr ""
190
 
191
+ #: classes/class-loginpress-setup.php:52
192
  msgid "Default Settings Restored"
193
  msgstr ""
194
 
195
+ #: classes/class-loginpress-setup.php:59 custom.php:94 loginpress.php:212
196
+ msgid "LoginPress"
197
+ msgstr ""
198
+
199
+ #: classes/class-loginpress-setup.php:61 classes/class-loginpress-setup.php:78
200
  msgid "Settings"
201
  msgstr ""
202
 
203
+ #: classes/class-loginpress-setup.php:63
204
+ msgid "Customizer"
205
+ msgstr ""
206
+
207
+ #: classes/class-loginpress-setup.php:65
208
+ msgid "Help"
209
+ msgstr ""
210
+
211
+ #: classes/class-loginpress-setup.php:67 include/loginpress-import-export.php:9
212
+ msgid "Import/Export LoginPress Settings"
213
+ msgstr ""
214
+
215
+ #: classes/class-loginpress-setup.php:67
216
+ msgid "Import / Export"
217
+ msgstr ""
218
+
219
+ #: classes/class-loginpress-setup.php:69
220
+ msgid "Add-Ons"
221
+ msgstr ""
222
+
223
+ #: classes/class-loginpress-setup.php:79
224
  #, php-format
225
  msgid "Everything else is customizable through %1$sWordPress Customizer%2$s."
226
  msgstr ""
227
 
228
+ #: classes/class-loginpress-setup.php:97
229
+ msgid "Upgrade to Pro for More Features"
230
+ msgstr ""
231
+
232
+ #: classes/class-loginpress-setup.php:122
233
+ msgid "Session Expire"
234
  msgstr ""
235
 
236
+ #: classes/class-loginpress-setup.php:123
237
+ msgid "Set the session expiration time in minutes. e.g: 10"
238
+ msgstr ""
239
+
240
+ #: classes/class-loginpress-setup.php:124
241
+ msgid "10"
242
+ msgstr ""
243
+
244
+ #: classes/class-loginpress-setup.php:147
245
+ #, fuzzy
246
+ #| msgid "Lost Password Text"
247
+ msgid "Custom Password Fields"
248
+ msgstr "Texte de mot de passe perdu"
249
+
250
+ #: classes/class-loginpress-setup.php:148
251
+ msgid "Enable custom password fields on registration form."
252
+ msgstr ""
253
+
254
+ #: classes/class-loginpress-setup.php:153
255
+ msgid "Login Order"
256
+ msgstr ""
257
+
258
+ #: classes/class-loginpress-setup.php:154
259
+ msgid "Enable users to login using their username and/or email address."
260
+ msgstr ""
261
+
262
+ #: classes/class-loginpress-setup.php:171
263
  msgid "Reset Default Settings"
264
  msgstr ""
265
 
266
+ #: classes/class-loginpress-setup.php:172
267
  msgid "Remove my custom settings."
268
  msgstr ""
269
 
270
+ #: classes/class-loginpress-setup.php:180
271
+ msgid "Enable reCAPTCHA"
272
+ msgstr ""
273
+
274
+ #: classes/class-loginpress-setup.php:181
275
+ msgid "Enable LoginPress reCaptcha"
276
  msgstr ""
277
 
278
+ #: classes/class-loginpress-setup.php:199
279
+ msgid "LoginPress - Rebranding your boring WordPress Login pages"
280
+ msgstr ""
281
+
282
+ #: classes/class-loginpress-setup.php:218
283
+ #, php-format
284
+ msgid "Free support is available on the %1$s plugin support forums%2$s."
285
+ msgstr ""
286
+
287
+ #: classes/class-loginpress-setup.php:220
288
+ #, php-format
289
  msgid ""
290
+ "For premium features, add-ons and priority email support, %1$s upgrade to pro"
291
+ "%2$s."
 
292
  msgstr ""
293
 
294
+ #: classes/class-loginpress-setup.php:226
295
+ msgid "Download Log File"
296
  msgstr ""
297
 
298
+ #: classes/control-presets.php:78
299
+ msgid "Contact us for Custom Design"
300
+ msgstr ""
301
+
302
+ #: custom.php:95
303
  msgid "Customize Your WordPress Login Page with LoginPress :)"
304
  msgstr ""
305
 
306
+ #: custom.php:107
307
  msgid "Themes"
308
  msgstr ""
309
 
310
+ #: custom.php:108
311
  msgid "Choose Theme"
312
  msgstr ""
313
 
314
+ #: custom.php:129 custom.php:171
315
  msgid "Company"
316
  msgstr ""
317
 
318
+ #: custom.php:135 custom.php:201
319
  msgid "Persona"
320
  msgstr ""
321
 
322
+ #: custom.php:141 custom.php:147
323
  msgid "Corporate"
324
  msgstr ""
325
 
326
+ #: custom.php:153
327
  msgid "Startup"
328
  msgstr ""
329
 
330
+ #: custom.php:159
331
  msgid "Wedding"
332
  msgstr ""
333
 
334
+ #: custom.php:165
335
  msgid "Wedding #2"
336
  msgstr ""
337
 
338
+ #: custom.php:177
339
  msgid "Bikers"
340
  msgstr ""
341
 
342
+ #: custom.php:183
343
  msgid "Fitness"
344
  msgstr ""
345
 
346
+ #: custom.php:189
347
  msgid "Shopping"
348
  msgstr ""
349
 
350
+ #: custom.php:195
351
  msgid "Writers"
352
  msgstr ""
353
 
354
+ #: custom.php:207
355
  msgid "Geek"
356
  msgstr ""
357
 
358
+ #: custom.php:213
359
  msgid "Innovation"
360
  msgstr ""
361
 
362
+ #: custom.php:219
363
  msgid "Photographers"
364
  msgstr ""
365
 
366
+ #: custom.php:245
367
  msgid "Logo"
368
  msgstr ""
369
 
370
+ #: custom.php:246
371
  msgid "Customize Your Logo Section"
372
  msgstr ""
373
 
374
+ #: custom.php:258
375
  msgid "Logo Image:"
376
  msgstr ""
377
 
378
+ #: custom.php:267
379
  msgid "Logo Width:"
380
  msgstr ""
381
 
382
+ #: custom.php:268
383
  msgid "Logo Height:"
384
  msgstr ""
385
 
386
+ #: custom.php:269
387
  msgid "Padding Bottom:"
388
  msgstr ""
389
 
390
+ #: custom.php:270
391
  msgid "Logo URL:"
392
  msgstr ""
393
 
394
+ #: custom.php:271
395
  msgid "Logo Hover Title:"
396
  msgstr ""
397
 
398
+ #: custom.php:298
399
  msgid "Background"
400
  msgstr "Arrière plan"
401
 
402
+ #: custom.php:313
403
  msgid "Display Background Image?"
404
  msgstr ""
405
 
406
+ #: custom.php:327
407
  msgid "Background Color:"
408
  msgstr ""
409
 
410
+ #: custom.php:341
411
  msgid "Background Image:"
412
  msgstr ""
413
 
414
+ #: custom.php:356
415
  msgid "Background Repeat:"
416
  msgstr "Répétition d’arrière plan"
417
 
418
+ #: custom.php:379
419
  msgid "Select Position:"
420
  msgstr ""
421
 
422
+ #: custom.php:404
423
  msgid "Background Image Size: "
424
  msgstr ""
425
 
426
+ #: custom.php:422
427
  msgid "Customize Login Form"
428
  msgstr ""
429
 
430
+ #: custom.php:435
431
  msgid "Form Background Image"
432
  msgstr "S'il vous plaît remplir le formulaire complet"
433
 
434
+ #: custom.php:444
435
  msgid "Form Width:"
436
  msgstr "Largeur du formulaire"
437
 
438
+ #: custom.php:445
439
  msgid "Form Minimum Height:"
440
  msgstr ""
441
 
442
+ #: custom.php:446
443
  msgid "Form Padding:"
444
  msgstr "Remplissage de la forme :"
445
 
446
+ #: custom.php:447
447
  msgid "Border (Example: 2px dotted black):"
448
  msgstr ""
449
 
450
+ #: custom.php:448
451
  msgid "Input Text Field Width:"
452
  msgstr ""
453
 
454
+ #: custom.php:449
455
  msgid "Input Text Field Margin:"
456
  msgstr ""
457
 
458
+ #: custom.php:475
459
  msgid "Form Background Color:"
460
  msgstr ""
461
 
462
+ #: custom.php:476
463
  msgid "Input Field Background Color:"
464
  msgstr ""
465
 
466
+ #: custom.php:477
467
  msgid "Input Field Text Color:"
468
  msgstr ""
469
 
470
+ #: custom.php:478
471
  msgid "Label Color:"
472
  msgstr ""
473
 
474
+ #: custom.php:507
475
  msgid "Customize Forget Form"
476
  msgstr "S'il vous plaît remplir le formulaire complet"
477
 
478
+ #: custom.php:520
479
  msgid "Forget Form Background Image"
480
  msgstr "Oubliez l'Image de fond de forme"
481
 
482
+ #: custom.php:534
483
  msgid "Forget Form Background Color"
484
  msgstr "Oubliez la couleur d'arrière-plan de forme"
485
 
486
+ #: custom.php:544
487
  msgid "Button Beauty"
488
  msgstr "Beauté de touche"
489
 
490
+ #: custom.php:553
491
  msgid "Button Color:"
492
  msgstr ""
493
 
494
+ #: custom.php:554
495
  msgid "Button Border Color:"
496
  msgstr ""
497
 
498
+ #: custom.php:555
499
  msgid "Button Color (Hover):"
500
  msgstr ""
501
 
502
+ #: custom.php:556
503
  msgid "Button Border (Hover):"
504
  msgstr ""
505
 
506
+ #: custom.php:557
507
  msgid "Button Box Shadow:"
508
  msgstr ""
509
 
510
+ #: custom.php:558
511
  msgid "Button Text Color:"
512
  msgstr ""
513
 
514
+ #: custom.php:585
515
  msgid "Error Messages"
516
  msgstr "Messages d'erreur"
517
 
518
+ #: custom.php:593 custom.php:1323
519
+ #, php-format
520
+ msgid "%1$sError:%2$s Invalid Password."
521
+ msgstr ""
522
+
523
+ #: custom.php:596 custom.php:1329
524
+ #, php-format
525
+ msgid "%1$sError:%2$s The email address isn't correct.."
526
+ msgstr ""
527
+
528
+ #: custom.php:597 custom.php:1331
529
+ #, php-format
530
+ msgid "%1$sError:%2$s Please type your email address."
531
+ msgstr ""
532
+
533
+ #: custom.php:598 custom.php:1333
534
+ #, php-format
535
+ msgid ""
536
+ "%1$sError:%2$s This username is already registered. Please choose another "
537
+ "one."
538
+ msgstr ""
539
+
540
+ #: custom.php:599 custom.php:1335
541
+ #, php-format
542
+ msgid ""
543
+ "%1$sError:%2$s This email is already registered, please choose another one."
544
+ msgstr ""
545
+
546
+ #: custom.php:600 custom.php:1337
547
+ #, php-format
548
+ msgid "%1$sError:%2$s Invalid username or email."
549
+ msgstr ""
550
+
551
+ #: custom.php:603
552
  msgid "Incorrect Username Message:"
553
  msgstr "Message de nom d'utilisateur incorrect :"
554
 
555
+ #: custom.php:604
556
  msgid "Incorrect Password Message:"
557
  msgstr "Message de mot de passe incorrect :"
558
 
559
+ #: custom.php:605
560
  msgid "Empty Username Message:"
561
  msgstr "Empty Nom d'utilisateur Message:"
562
 
563
+ #: custom.php:606
564
  msgid "Empty Password Message:"
565
  msgstr "Mot de passe vide Message:"
566
 
567
+ #: custom.php:607
568
  msgid "Invalid Email Message:"
569
  msgstr "support marketing: cpc, bannière, e-mail"
570
 
571
+ #: custom.php:608
572
  msgid "Empty Email Message:"
573
  msgstr "Message E-mail :"
574
 
575
+ #: custom.php:609
576
+ msgid "Username Already Exist Message:"
577
+ msgstr "Nom d'utilisateur Déjà existant Message:"
578
+
579
+ #: custom.php:610
580
+ msgid "Email Already Exist Message:"
581
+ msgstr "Email existe déjà Message:"
582
+
583
+ #: custom.php:611
584
  msgid "Forget Password Message:"
585
  msgstr "Oubliez le mot de passe :"
586
 
587
+ #: custom.php:612
588
+ #, fuzzy
589
+ #| msgid "Invalid Email Message:"
590
+ msgid "Login with Email Message:"
591
+ msgstr "support marketing: cpc, bannière, e-mail"
592
+
593
+ #: custom.php:639
594
  msgid "Welcome Messages"
595
  msgstr "Messages de bienvenue"
596
 
597
+ #: custom.php:648
598
  msgid "Welcome Message on Lost Password:"
599
  msgstr "Message de Bienvenue sur mot de passe perdu :"
600
 
601
+ #: custom.php:649
602
+ #, fuzzy
603
+ #| msgid "Welcome Message on Front Page:"
604
+ msgid "Welcome Message on Login Page:"
605
  msgstr "Message de Bienvenue sur la Page de couverture :"
606
 
607
+ #: custom.php:650
608
  msgid "Welcome Message on Registration:"
609
  msgstr "Message de Bienvenue sur inscription :"
610
 
611
+ #: custom.php:651
612
  msgid "Logout Message:"
613
  msgstr "Message de déconnexion :"
614
 
615
+ #: custom.php:652
616
  msgid "Message Field Border: ( Example: 1px solid #00a0d2; )"
617
  msgstr ""
618
 
619
+ #: custom.php:685
620
  msgid "Message Field Background Color:"
621
  msgstr "Message champ couleur de fond :"
622
 
623
+ #: custom.php:869
624
  msgid "Form Footer"
625
  msgstr ""
626
 
627
+ #: custom.php:883
628
  msgid "Lost Password Text"
629
  msgstr "Texte de mot de passe perdu"
630
 
631
+ #: custom.php:897
632
  msgid "Footer Text Display:"
633
  msgstr "Affichage de texte de pied de page :"
634
 
635
+ #: custom.php:937
636
  msgid "Footer Text Color:"
637
  msgstr "Couleur du texte de Pied de page"
638
 
639
+ #: custom.php:951
640
  msgid "Footer Text Hover Color:"
641
  msgstr "Couleur du texte de lien de pied de page au survol"
642
 
643
+ #: custom.php:965
644
  msgid "Text Font Size:"
645
  msgstr "Texte : taille de la police"
646
 
647
+ #: custom.php:979 custom.php:1088
648
  msgid "Footer Background Color:"
649
  msgstr "Couleur d’arrière-plan du Pied de page"
650
 
651
+ #: custom.php:1006
652
  msgid "\"Back to\" Text Display:"
653
  msgstr ""
654
 
655
+ #: custom.php:1026
656
  msgid "\"Back to\" Text Decoration:"
657
  msgstr ""
658
 
659
+ #: custom.php:1046
660
  msgid "\"Back to\" Text Color:"
661
  msgstr ""
662
 
663
+ #: custom.php:1060
664
  msgid "\"Back to\" Text Hover Color:"
665
  msgstr ""
666
 
667
+ #: custom.php:1074
668
  msgid "\"Back to\" Text Font Size:"
669
  msgstr ""
670
 
671
+ #: custom.php:1095
672
+ #, fuzzy, php-format
673
+ #| msgid "All Rights Reserved by:"
674
+ msgid "© %1$s %2$s, All Rights Reserved."
675
+ msgstr "Tous droits réservés"
676
 
677
+ #: custom.php:1102
678
  msgid "Copyright Note:"
679
  msgstr ""
680
 
681
+ #: custom.php:1121
682
+ msgid ""
683
+ "Show some Love. Please help other learn about this free plugin by placing "
684
+ "small link in footer. Thank you very much!"
685
+ msgstr ""
686
+
687
+ #: custom.php:1130
688
+ #, fuzzy
689
+ #| msgid "Custom CSS"
690
+ msgid "Custom CSS/JS"
691
  msgstr "CSS Personalisé"
692
 
693
+ #: custom.php:1143
694
  msgid "Customize CSS"
695
  msgstr "Personnaliser le CSS"
696
 
697
+ #: custom.php:1148
698
+ #, php-format
699
+ msgid ""
700
+ "Custom CSS doen't make effect live. For preview please save the setting and "
701
+ "visit %1$s login%2$s page or after save refresh the customizer."
702
+ msgstr ""
703
 
704
+ #: custom.php:1158
705
  msgid "Customize JS"
706
  msgstr "Personnaliser les JS"
707
 
708
+ #: custom.php:1163
709
+ #, php-format
710
+ msgid ""
711
+ "Custom JS doen't make effect live. For preview please save the setting and "
712
+ "visit %1$s login%2$s page or after save refresh the customizer."
 
713
  msgstr ""
714
 
715
+ #: custom.php:1201
716
+ msgid "Powered by:"
717
  msgstr ""
718
 
719
+ #: custom.php:1403
720
+ msgid ""
721
+ "Please enter your username or email address. You will receive a link to "
722
+ "create a new password via email."
723
  msgstr ""
724
 
725
+ #: custom.php:1411
726
+ msgid "Register For This Site"
727
  msgstr ""
728
 
729
+ #: custom.php:1429 custom.php:1433
730
+ msgid "Your password has been reset."
731
  msgstr ""
732
 
733
+ #: custom.php:1433
734
+ msgid "Log in"
735
  msgstr ""
736
 
737
  #: include/class-remote-notification-client.php:126
772
  msgid "I found a better plugin"
773
  msgstr ""
774
 
775
+ #: include/deactivate_modal.php:110
776
+ msgid "Kindly tell us the Plugin name."
777
+ msgstr ""
778
+
779
  #: include/deactivate_modal.php:117
780
  msgid "The plugin broke my site"
781
  msgstr ""
804
  msgid "Anonymous feedback"
805
  msgstr ""
806
 
807
+ #: include/deactivate_modal.php:162
808
+ msgid "Skip & Deactivate"
809
+ msgstr ""
810
+
811
  #: include/deactivate_modal.php:165
812
+ msgid "Submit & Deactivate"
813
+ msgstr ""
814
+
815
+ #: include/deactivate_modal.php:166
816
  msgid "Cancel"
817
  msgstr ""
818
 
819
+ #: include/loginpress-import-export.php:10
820
+ msgid ""
821
+ "Import/Export your LoginPress Settings for/from other sites. This will "
822
+ "export/import all the settings including Customizer settings as well."
823
+ msgstr ""
824
+
825
+ #: include/loginpress-import-export.php:15
826
+ msgid "Import Settings:"
827
+ msgstr ""
828
+
829
+ #: include/loginpress-import-export.php:19
830
+ msgid "Import"
831
+ msgstr ""
832
+
833
+ #: include/loginpress-import-export.php:23
834
+ msgid "LoginPress Settings Imported Successfully."
835
+ msgstr ""
836
+
837
+ #: include/loginpress-import-export.php:25
838
+ msgid "Select a file and click on Import to start processing."
839
+ msgstr ""
840
+
841
+ #: include/loginpress-import-export.php:30
842
+ msgid "Export Settings:"
843
+ msgstr ""
844
+
845
+ #: include/loginpress-import-export.php:33
846
+ msgid "Export"
847
+ msgstr ""
848
+
849
+ #: include/loginpress-import-export.php:37
850
+ msgid "LoginPress Settings Exported Successfully!"
851
+ msgstr ""
852
+
853
+ #: include/loginpress-import-export.php:38
854
+ msgid "Export LoginPress Settings."
855
+ msgstr ""
856
+
857
+ #: include/loginpress-optin-form.php:301
858
+ msgid "Welcome to LoginPress"
859
+ msgstr ""
860
+
861
+ #: include/loginpress-optin-form.php:307
862
+ #, php-format
863
+ msgid ""
864
+ "%1$s Hey %2$s, %4$s If you opt-in some data about your installation of "
865
+ "LoginPress will be sent to WPBrigade.com (This doesn't include stats)%4$s "
866
+ "and You will receive new feature updates, security notifications etc %5$sNo "
867
+ "Spam, I promise.%6$s %4$s%4$s Help us %7$sImprove LoginPress%8$s %4$s %4$s "
868
+ msgstr ""
869
+
870
+ #: include/loginpress-optin-form.php:308
871
+ msgid "Allow and Continue "
872
+ msgstr ""
873
+
874
+ #: include/loginpress-optin-form.php:309
875
+ msgid "Skip This Step"
876
+ msgstr ""
877
+
878
+ #: include/loginpress-optin-form.php:311
879
+ msgid "What permissions are being granted?"
880
+ msgstr ""
881
+
882
+ #: include/loginpress-optin-form.php:313
883
+ msgid "Your Website Overview"
884
+ msgstr ""
885
+
886
+ #: include/loginpress-optin-form.php:314
887
+ msgid ""
888
+ "Your Site URL, WordPress & PHP version, plugins & themes. This data lets us "
889
+ "make sure this plugin always stays compatible with the most popular plugins "
890
+ "and themes."
891
+ msgstr ""
892
+
893
+ #: include/loginpress-optin-form.php:316
894
+ msgid "Your Profile Overview"
895
+ msgstr ""
896
+
897
+ #: include/loginpress-optin-form.php:317
898
+ msgid "Your name and email address."
899
+ msgstr ""
900
+
901
+ #: include/loginpress-optin-form.php:319
902
+ msgid "Admin Notices"
903
+ msgstr ""
904
+
905
+ #: include/loginpress-optin-form.php:320
906
+ msgid "Updates, Announcement, Marketing. No Spam, I promise."
907
+ msgstr ""
908
+
909
+ #: include/loginpress-optin-form.php:322
910
+ msgid "Plugin Actions"
911
+ msgstr ""
912
+
913
+ #: include/loginpress-optin-form.php:323
914
+ msgid ""
915
+ "Active, Deactive, Uninstallation and How you use this plugin's features and "
916
+ "settings. This is limited to usage data. It does not include any of your "
917
+ "sensitive LoginPress data, such as traffic. This data helps us learn which "
918
+ "features are most popular, so we can improve the plugin further."
919
+ msgstr ""
920
+
921
+ #: include/loginpress-optout-form.php:94 include/loginpress-optout-form.php:109
922
+ msgid "Opt Out"
923
+ msgstr ""
924
+
925
+ #: include/loginpress-optout-form.php:98
926
+ msgid ""
927
+ "We appreciate your help in making the plugin better by letting us track some "
928
+ "usage data."
929
+ msgstr ""
930
+
931
+ #: include/loginpress-optout-form.php:102
932
+ #, php-format
933
+ msgid ""
934
+ "Usage tracking is done in the name of making %1$s LoginPress %2$s better. "
935
+ "Making a better user experience, prioritizing new features, and more good "
936
+ "things. We'd really appreciate if you'll reconsider letting us continue with "
937
+ "the tracking."
938
+ msgstr ""
939
+
940
+ #: include/loginpress-optout-form.php:103
941
+ #, php-format
942
+ msgid ""
943
+ "By clicking \"Opt Out\", we will no longer be sending any data to %1$s "
944
+ "LoginPress%2$s."
945
+ msgstr ""
946
+
947
+ #: include/loginpress-optout-form.php:110
948
+ msgid "On second thought - I want to continue helping"
949
+ msgstr ""
950
+
951
+ #: include/privacy-policy.php:13
952
+ #, php-format
953
+ msgid "%1$sPrivacy Policy%2$s."
954
  msgstr ""
955
 
956
+ #: loginpress.php:210
957
+ msgid "Activate"
958
+ msgstr ""
959
+
960
+ #: loginpress.php:309
961
  msgid "Vote!"
962
  msgstr ""
963
 
964
+ #: loginpress.php:423
965
+ #, php-format
966
+ msgid ""
967
+ "%1$s%2$sHi, LoginPress is not compatible with multisite right now. %3$s "
968
+ "Checkout this Ticket in WordPress core %4$s %5$s%6$s"
969
+ msgstr ""
970
+
971
+ #: loginpress.php:486
972
  msgid "Leave A Review?"
973
  msgstr ""
974
 
975
+ #: loginpress.php:487
976
  msgid ""
977
  "We hope you've enjoyed using LoginPress! Would you consider leaving us a "
978
  "review on WordPress.org?"
979
  msgstr ""
980
 
981
+ #: loginpress.php:489
982
  msgid "Sure! I'd love to!"
983
  msgstr ""
984
 
985
+ #: loginpress.php:490
986
  msgid "I've already left a review"
987
  msgstr ""
988
 
989
+ #: loginpress.php:491
990
  msgid "Maybe Later"
991
  msgstr ""
992
 
993
+ #: loginpress.php:492
994
  msgid "Never show again"
995
  msgstr ""
996
 
997
+ #: loginpress.php:514
998
  #, php-format
999
  msgid "%1$s Settings %2$s | %3$s Customize %4$s"
1000
  msgstr ""
1001
 
1002
+ #: loginpress.php:518
1003
+ #, php-format
1004
+ msgid " | %1$s Opt Out %2$s "
1005
+ msgstr ""
1006
+
1007
+ #: loginpress.php:520
1008
+ #, php-format
1009
+ msgid " | %1$s Opt In %2$s "
1010
+ msgstr ""
1011
+
1012
+ #: loginpress.php:526
1013
  #, php-format
1014
  msgid "%1$s %3$s Upgrade Pro %4$s %2$s"
1015
  msgstr ""
1016
 
1017
+ #~ msgid "Custom JS"
1018
+ #~ msgstr "Personnaliser le JavaScript"
1019
+
1020
  #~ msgid "Login Logo"
1021
  #~ msgstr "Le logo de connexion"
1022
 
1137
  #~ msgid "Footer Links 4"
1138
  #~ msgstr "Liens du pied de page"
1139
 
 
 
 
1140
  #~ msgid "Footer Links Background Color:"
1141
  #~ msgstr "Couleur d'arrière-plan des liens du pied de page :"
1142
 
loginpress.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /**
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
- * Plugin URI: http://www.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.0.22
7
  * Author: WPBrigade
8
- * Author URI: http://www.WPBrigade.com/
9
  * Text Domain: loginpress
10
  * Domain Path: /languages
11
  *
@@ -22,7 +22,7 @@ if ( ! class_exists( 'LoginPress' ) ) :
22
  /**
23
  * @var string
24
  */
25
- public $version = '1.0.22';
26
 
27
  /**
28
  * @var The single instance of the class
@@ -117,7 +117,6 @@ if ( ! class_exists( 'LoginPress' ) ) :
117
  add_action( 'plugin_action_links', array( $this, 'loginpress_action_links' ), 10, 2 );
118
  add_action( 'admin_init', array( $this, 'redirect_optin' ) );
119
  add_filter( 'auth_cookie_expiration', array( $this, '_change_auth_cookie_expiration' ), 10, 3 );
120
- add_action( 'activated_plugin', array( $this, 'loginpress_activate_redirect' ), 10, 1 );
121
  // add_filter( 'plugins_api', array( $this, 'get_addon_info_' ) , 100, 3 );
122
 
123
  }
@@ -227,7 +226,7 @@ if ( ! class_exists( 'LoginPress' ) ) :
227
  * @param [arrays] $args.
228
  *
229
  * @since 1.0.15
230
- *
231
  */
232
  function _send_data( $args ) {
233
 
@@ -241,6 +240,7 @@ if ( ! class_exists( 'LoginPress' ) ) :
241
  'display_name' => $cuurent_user->display_name,
242
  'blog_language' => get_bloginfo( 'language' ),
243
  'wordpress_version' => get_bloginfo( 'version' ),
 
244
  'plugin_version' => LOGINPRESS_VERSION,
245
  'plugin_name' => 'LoginPress Free',
246
  );
@@ -363,6 +363,7 @@ if ( ! class_exists( 'LoginPress' ) ) :
363
  'reason_detail' => '',
364
  'blog_language' => get_bloginfo( 'language' ),
365
  'wordpress_version' => get_bloginfo( 'version' ),
 
366
  'plugin_version' => LOGINPRESS_VERSION,
367
  'plugin_name' => 'LoginPress Free',
368
  );
@@ -531,20 +532,6 @@ if ( ! class_exists( 'LoginPress' ) ) :
531
  return $links;
532
  }
533
 
534
- /**
535
- * [loginpress_activate_redirect redirect to loginpress settings page after activate plugin]
536
- * @param [string] $plugins
537
- * @since 1.0.19
538
- */
539
- function loginpress_activate_redirect( $plugins ) {
540
-
541
- // Redirect only if pluign is LoginPress.
542
- if ( 'loginpress/loginpress.php' == $plugins ) {
543
- wp_redirect( admin_url( 'admin.php?page=loginpress-settings' ) );
544
- exit();
545
- }
546
- }
547
-
548
  function get_addon_info_( $api, $action, $args ) {
549
 
550
  if ( $action == 'plugin_information' && empty( $api ) && ( ! empty( $_GET['lgp'] ) ) ) {
1
  <?php
2
  /**
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
+ * Plugin URI: http://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.0.23
7
  * Author: WPBrigade
8
+ * Author URI: http://WPBrigade.com/
9
  * Text Domain: loginpress
10
  * Domain Path: /languages
11
  *
22
  /**
23
  * @var string
24
  */
25
+ public $version = '1.0.23';
26
 
27
  /**
28
  * @var The single instance of the class
117
  add_action( 'plugin_action_links', array( $this, 'loginpress_action_links' ), 10, 2 );
118
  add_action( 'admin_init', array( $this, 'redirect_optin' ) );
119
  add_filter( 'auth_cookie_expiration', array( $this, '_change_auth_cookie_expiration' ), 10, 3 );
 
120
  // add_filter( 'plugins_api', array( $this, 'get_addon_info_' ) , 100, 3 );
121
 
122
  }
226
  * @param [arrays] $args.
227
  *
228
  * @since 1.0.15
229
+ * @version 1.0.23
230
  */
231
  function _send_data( $args ) {
232
 
240
  'display_name' => $cuurent_user->display_name,
241
  'blog_language' => get_bloginfo( 'language' ),
242
  'wordpress_version' => get_bloginfo( 'version' ),
243
+ 'php_version' => PHP_VERSION,
244
  'plugin_version' => LOGINPRESS_VERSION,
245
  'plugin_name' => 'LoginPress Free',
246
  );
363
  'reason_detail' => '',
364
  'blog_language' => get_bloginfo( 'language' ),
365
  'wordpress_version' => get_bloginfo( 'version' ),
366
+ 'php_version' => PHP_VERSION,
367
  'plugin_version' => LOGINPRESS_VERSION,
368
  'plugin_name' => 'LoginPress Free',
369
  );
532
  return $links;
533
  }
534
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
535
  function get_addon_info_( $api, $action, $args ) {
536
 
537
  if ( $action == 'plugin_information' && empty( $api ) && ( ! empty( $_GET['lgp'] ) ) ) {
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tested up to: 4.9
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
  Tags: wp-login, custom wp-login, login customizer, custom login, custom login logo, login customizer, custom login page, login error, login page style, loginpress
7
- Stable tag: 1.0.22
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,17 +12,17 @@ LoginPress is a WordPress Custom Login Page Customizer plugin allows you to easi
12
 
13
  == Description ==
14
 
15
- <a href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade" rel="friend">LoginPress Plugin</a> by LoginPress holds a lot of customization fields to change the layout of the login page of WordPress. You can modify the look and feel of login page completely even the login error messages, forgot error messages, registration error messages, forget password hint message and many more.
16
  LoginPress Plugin would give you and your users a feeling that it is a custom login page and a part of the site layout. You must checkout the Demo video of how you can customize WordPress login page.
17
 
18
  **Getting Started video for customizing login page using LoginPress**
19
 
20
  `[youtube https://www.youtube.com/watch?v=GMAwsHomJlE]`
21
 
22
- **[Why You Should Upgrade to PRO ??](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade)**
23
  `[youtube https://www.youtube.com/watch?v=9snT9rWxO4g]`
24
 
25
- [Checkout the Pro version](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade)
26
 
27
  LoginPress plugin is built using The Customizer API which is getting popular for live-previewing any changes to the layouts of WordPress. So, with LoginPress you can preview your login page changes instantly. This login customizer plugin is easy enough & required no coding skills. Just have options for each element on the login form and make a new customized login page within seconds.
28
 
@@ -98,9 +98,9 @@ If you like this plugin, then consider checking out our other projects:
98
 
99
  == Notes ==
100
 
101
- LoginPress is absolutely, positively the most <a href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade" rel="friend" title="Best Custom login form plugin">beginner friendly WordPress custom login form plugin</a> on the market. It is both easy and powerful.
102
 
103
- Also, I'm the founder of <a href="http://www.wpbrigade.com/" rel="friend">WPBrigade</a>, We do custom WordPress themes for clients and can transform any website in WordPress. It was a huge priority for me to make a WordPress custom login form plugin that beginners can use without any training.
104
 
105
  I feel that we have done that here. I hope you enjoy using LoginPress.
106
 
@@ -141,14 +141,14 @@ If you have a WordPress Website, and you want to add a cool looking login page.
141
 
142
  = How to upgrade to LoginPress Pro? =
143
 
144
- Buy Pro version from <a target="_blank" rel="friend" href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=readme-faqs&utm_campaign=pro-upgrade">this link</a>. LoginPress Pro is a premium plugin which works if you have installed Free version already. So, first install our Free version and then install the Pro package.
145
 
146
  LoginPress Pro version extends the Premium functionality to our Core Free version of LoginPress.
147
 
148
  = Step-by-step instructions on How to Upgrade from existing Free version to Pro =
149
 
150
  1. You have installed and setup Free version already.
151
- 2. Buy Pro version from <a target="_blank" rel="friend" href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=readme-faqs&utm_campaign=pro-upgrade">this link</a>.
152
  3. Upload the Pro version.
153
  4. Pro features will be enabled automatically.
154
  5. You don't need to setup Free version options again.
@@ -160,36 +160,49 @@ You can find it in the email Sales Receipt.
160
 
161
  = How to donate or contribute? =
162
 
163
- Please visit <a target="_blank" rel="friend" href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=readme-donate&utm_campaign=pro-upgrade">this link</a> for more info.
164
 
165
  == Screenshots ==
166
 
167
  1. Custom Login page Example #1 with Default Background
168
- 2. Custom Login page (Company theme) Example #2 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
169
- 3. Custom Login page (Company theme) Example #3 with Captcha [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
170
- 4. Custom Login page (Persona theme) Example #4 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
171
- 5. Custom Login page (Corporate theme) Example #5 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
172
- 6. Custom Login page (Corporate theme) Example #6 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
173
- 7. Custom Login page (Startup theme) Example #7 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
174
- 8. Custom Login page (Wedding theme) Example #8 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
175
- 9. Custom Login page (Wedding theme) Example #9 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
176
- 10. Custom Login page (Company theme) Example #10 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
177
- 11. Custom Login page (Company theme) Example #11 with Captcha [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
178
- 12. Custom Login page (Bikers theme) Example #12 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
179
- 13. Custom Login page (Fitness theme) Example #13 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
180
- 14. Custom Login page (Shopping theme) Example #14 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
181
- 15. Custom Login page (Writers theme) Example #15 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
182
- 16. Custom Login page (Writers theme) Example #16 with reCaptcha [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
183
- 17. Custom Login page (Persona theme) Example #17 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
184
- 18. Custom Login page (Persona theme) Example #18 with reCaptcha [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
185
- 19. Custom Login page (Geek theme) Example #19 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
186
- 20. Custom Login page (Geek theme) Example #20 with reCaptcha [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
187
- 21. Custom Login page (Innovation theme) Example #21 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
188
- 22. Custom Login page (Photographers theme) Example #22 [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
189
- 23. Custom Login page (Company theme) Example #23 with Captcha [Pro feature](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
190
 
191
  == Changelog ==
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  = 1.0.22 - 2017-09-08 =
194
  * New Feature: Custom Password Field on Registration Form.
195
  * New Feature: Should be Login with Username and/or Email Address.
@@ -302,5 +315,5 @@ Please visit <a target="_blank" rel="friend" href="http://www.WPBrigade.com/word
302
 
303
  == Upgrade Notice ==
304
 
305
- = 1.0.22 =
306
- * Important release, Multiple New Features, BugFixes & enhancements, Please upgrade immediately.
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
  Tags: wp-login, custom wp-login, login customizer, custom login, custom login logo, login customizer, custom login page, login error, login page style, loginpress
7
+ Stable tag: 1.0.23
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
15
+ <a href="http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade" rel="friend">LoginPress Plugin</a> by LoginPress holds a lot of customization fields to change the layout of the login page of WordPress. You can modify the look and feel of login page completely even the login error messages, forgot error messages, registration error messages, forget password hint message and many more.
16
  LoginPress Plugin would give you and your users a feeling that it is a custom login page and a part of the site layout. You must checkout the Demo video of how you can customize WordPress login page.
17
 
18
  **Getting Started video for customizing login page using LoginPress**
19
 
20
  `[youtube https://www.youtube.com/watch?v=GMAwsHomJlE]`
21
 
22
+ **[Why You Should Upgrade to PRO ??](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade)**
23
  `[youtube https://www.youtube.com/watch?v=9snT9rWxO4g]`
24
 
25
+ [Checkout the Pro version](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade)
26
 
27
  LoginPress plugin is built using The Customizer API which is getting popular for live-previewing any changes to the layouts of WordPress. So, with LoginPress you can preview your login page changes instantly. This login customizer plugin is easy enough & required no coding skills. Just have options for each element on the login form and make a new customized login page within seconds.
28
 
98
 
99
  == Notes ==
100
 
101
+ LoginPress is absolutely, positively the most <a href="http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade" rel="friend" title="Best Custom login form plugin">beginner friendly WordPress custom login form plugin</a> on the market. It is both easy and powerful.
102
 
103
+ Also, I'm the founder of <a href="http://WPBrigade.com/" rel="friend">WPBrigade</a>, We do custom WordPress themes for clients and can transform any website in WordPress. It was a huge priority for me to make a WordPress custom login form plugin that beginners can use without any training.
104
 
105
  I feel that we have done that here. I hope you enjoy using LoginPress.
106
 
141
 
142
  = How to upgrade to LoginPress Pro? =
143
 
144
+ Buy Pro version from <a target="_blank" rel="friend" href="http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=readme-faqs&utm_campaign=pro-upgrade">this link</a>. LoginPress Pro is a premium plugin which works if you have installed Free version already. So, first install our Free version and then install the Pro package.
145
 
146
  LoginPress Pro version extends the Premium functionality to our Core Free version of LoginPress.
147
 
148
  = Step-by-step instructions on How to Upgrade from existing Free version to Pro =
149
 
150
  1. You have installed and setup Free version already.
151
+ 2. Buy Pro version from <a target="_blank" rel="friend" href="http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=readme-faqs&utm_campaign=pro-upgrade">this link</a>.
152
  3. Upload the Pro version.
153
  4. Pro features will be enabled automatically.
154
  5. You don't need to setup Free version options again.
160
 
161
  = How to donate or contribute? =
162
 
163
+ Please visit <a target="_blank" rel="friend" href="http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=readme-donate&utm_campaign=pro-upgrade">this link</a> for more info.
164
 
165
  == Screenshots ==
166
 
167
  1. Custom Login page Example #1 with Default Background
168
+ 2. Custom Login page (Company theme) Example #2 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
169
+ 3. Custom Login page (Company theme) Example #3 with Captcha [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
170
+ 4. Custom Login page (Persona theme) Example #4 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
171
+ 5. Custom Login page (Corporate theme) Example #5 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
172
+ 6. Custom Login page (Corporate theme) Example #6 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
173
+ 7. Custom Login page (Startup theme) Example #7 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
174
+ 8. Custom Login page (Wedding theme) Example #8 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
175
+ 9. Custom Login page (Wedding theme) Example #9 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
176
+ 10. Custom Login page (Company theme) Example #10 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
177
+ 11. Custom Login page (Company theme) Example #11 with Captcha [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
178
+ 12. Custom Login page (Bikers theme) Example #12 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
179
+ 13. Custom Login page (Fitness theme) Example #13 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
180
+ 14. Custom Login page (Shopping theme) Example #14 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
181
+ 15. Custom Login page (Writers theme) Example #15 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
182
+ 16. Custom Login page (Writers theme) Example #16 with reCaptcha [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
183
+ 17. Custom Login page (Persona theme) Example #17 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
184
+ 18. Custom Login page (Persona theme) Example #18 with reCaptcha [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
185
+ 19. Custom Login page (Geek theme) Example #19 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
186
+ 20. Custom Login page (Geek theme) Example #20 with reCaptcha [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
187
+ 21. Custom Login page (Innovation theme) Example #21 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
188
+ 22. Custom Login page (Photographers theme) Example #22 [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
189
+ 23. Custom Login page (Company theme) Example #23 with Captcha [Pro feature](http://WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=screenshots&utm_campaign=pro-upgrade)
190
 
191
  == Changelog ==
192
 
193
+ = 1.0.23 - 2017-12-26 =
194
+ * Compatibility: Compatible with WordPress 4.9.1
195
+ * New Feature: Implement Edit Shortcut Icons in the Customizer Preview.
196
+ * Enhancement: Improved the UI/UX of the whole plugin.
197
+ * Enhancement: Apply live Google Fonts on footer text in Customizer (Pro Feature).
198
+ * Bugfix: Welcome messages in Customizer.
199
+ * Bugfix: Activation multiple plugins issue.
200
+ * Bugfix: PHP 7 Warning.
201
+ * Bugfix: RTL Settings pages.
202
+ * Bugfix: Typo in log file.
203
+ * Bugfix: Optimized plugin speed and code improvement.
204
+
205
+
206
  = 1.0.22 - 2017-09-08 =
207
  * New Feature: Custom Password Field on Registration Form.
208
  * New Feature: Should be Login with Username and/or Email Address.
315
 
316
  == Upgrade Notice ==
317
 
318
+ = 1.0.23 =
319
+ * Compatible with 4.9 - Huge UI/UX Update - Upgrade Now!!