User registration & user profile – Profile Builder - Version 3.6.2

Version Description

  • Fix: a notice regarding wp.passwordStrength.userInputBlacklist()
  • Fix: default focus not working anymore on add new fields select2
  • Fix: Issue with email field getting disabled in registration when using the Change Email Confirmation option
  • Fix: a security issue regarding the Email Confirmation fallback landing page. Thanks to Chloe Chamberland
Download this release

Release Info

Developer raster02
Plugin Icon 128x128 User registration & user profile – Profile Builder
Version 3.6.2
Comparing to
See all releases

Code changes from version 3.6.1 to 3.6.2

admin/advanced-settings/includes/forms/confirm-user-email-change.php CHANGED
@@ -218,7 +218,7 @@ function wppb_toolbox_remove_email_from_userdata_update( $userdata ) {
218
  $transient_check_key = apply_filters('wppb_pending_email_change_transient_key', '');
219
  $transient_check = get_transient('wppb_pending_email_change_request_exists_' . $transient_check_key);
220
 
221
- if ($transient_check !== false)
222
  unset( $userdata['user_email'] );
223
 
224
  return $userdata;
218
  $transient_check_key = apply_filters('wppb_pending_email_change_transient_key', '');
219
  $transient_check = get_transient('wppb_pending_email_change_request_exists_' . $transient_check_key);
220
 
221
+ if ($transient_check !== false && ( !isset( $_POST['action'] ) || $_POST['action'] != 'register' ) )
222
  unset( $userdata['user_email'] );
223
 
224
  return $userdata;
assets/js/jquery-pb-sitewide.js CHANGED
@@ -233,3 +233,8 @@ jQuery( function() {
233
  }
234
  });
235
 
 
 
 
 
 
233
  }
234
  });
235
 
236
+ // Fix for Select2 search not focusing
237
+ jQuery(document).on('select2:open', function() {
238
+ let allSelect2Found = document.querySelectorAll('.select2-container--open .select2-search__field');
239
+ allSelect2Found[allSelect2Found.length - 1].focus();
240
+ });
assets/js/script-front-end.js CHANGED
@@ -13,4 +13,10 @@ jQuery(document).ready(function(){
13
  if( jQuery("#wppb_form_general_message").length ){
14
  jQuery([document.documentElement, document.body]).animate({ scrollTop: jQuery("#wppb_form_general_message").offset().top }, 500);
15
  }
 
 
 
 
 
 
16
  });
13
  if( jQuery("#wppb_form_general_message").length ){
14
  jQuery([document.documentElement, document.body]).animate({ scrollTop: jQuery("#wppb_form_general_message").offset().top }, 500);
15
  }
16
+
17
+ // Fix for Select2 search not focusing
18
+ jQuery(document).on('select2:open', function() {
19
+ let allSelect2Found = document.querySelectorAll('.select2-container--open .select2-search__field');
20
+ allSelect2Found[allSelect2Found.length - 1].focus();
21
+ });
22
  });
assets/misc/elementor/widgets/class-pb-widget-rf-epf.php CHANGED
@@ -84,7 +84,7 @@ abstract class PB_Elementor_Register_Edit_Profile_Widget extends PB_Elementor_Wi
84
  $wppb_module_settings = get_option( 'wppb_module_settings', 'not_found' );
85
 
86
  $this->start_controls_section(
87
- $section_id_prefix.'_settings_section',
88
  array(
89
  'label' => __( 'Form Settings', 'profile-builder' ),
90
  'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
84
  $wppb_module_settings = get_option( 'wppb_module_settings', 'not_found' );
85
 
86
  $this->start_controls_section(
87
+ sprintf( '%s_settings_section', $section_id_prefix ),
88
  array(
89
  'label' => __( 'Form Settings', 'profile-builder' ),
90
  'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
assets/misc/fallback-page.php CHANGED
@@ -9,7 +9,6 @@ include_once ( $path_to_wp_install_dir.'wp-load.php' );
9
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
10
 
11
  $site_name = ( isset( $_GET['site_name'] ) ? filter_var ( urldecode( $_GET['site_name'] ), FILTER_SANITIZE_STRING ) : '' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
12
- $site_url = ( isset( $_GET['site_url'] ) ? filter_var ( urldecode( $_GET['site_url'] ), FILTER_SANITIZE_STRING ) : '' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
13
  $message = ( isset( $_GET['message'] ) ? filter_var ( urldecode( $_GET['message'] ), FILTER_SANITIZE_STRING ) : '' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
14
  ?>
15
 
@@ -27,6 +26,6 @@ $message = ( isset( $_GET['message'] ) ? filter_var ( urldecode( $_GET['message'
27
 
28
  <?php echo '<p>'. htmlspecialchars( strip_tags( $message ) ). '</p>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
29
 
30
- <?php echo 'Click <a href="'. htmlspecialchars( $site_url, ENT_QUOTES ) .'">here</a> to return to the main site'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
31
  </body>
32
  </html>
9
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
10
 
11
  $site_name = ( isset( $_GET['site_name'] ) ? filter_var ( urldecode( $_GET['site_name'] ), FILTER_SANITIZE_STRING ) : '' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
 
12
  $message = ( isset( $_GET['message'] ) ? filter_var ( urldecode( $_GET['message'] ), FILTER_SANITIZE_STRING ) : '' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
13
  ?>
14
 
26
 
27
  <?php echo '<p>'. htmlspecialchars( strip_tags( $message ) ). '</p>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
28
 
29
+ <?php echo 'Click <a href="/">here</a> to return to the main site'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
30
  </body>
31
  </html>
features/functions.php CHANGED
@@ -272,7 +272,7 @@ function wppb_activate_account_check(){
272
  }elseif ( strpos( $post->post_content, '[wppb-register' ) === false ){
273
  //no activation page was selected, and the sent link pointed to the home url
274
  nocache_headers();
275
- wp_redirect( apply_filters( 'wppb_activatate_account_redirect_url', WPPB_PLUGIN_URL.'assets/misc/fallback-page.php?activation_key='.urlencode( $activation_key ).'&site_name='.urlencode( get_bloginfo( 'name' ) ).'&site_url='.urlencode( get_bloginfo( 'url' ) ).'&message='.urlencode( $activation_message = wppb_activate_signup( $activation_key ) ), $activation_key, $activation_message ) );
276
  exit;
277
  }
278
  }
@@ -828,7 +828,7 @@ function wppb_password_strength_check(){
828
  return;
829
  }
830
 
831
- strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass2 );
832
 
833
  switch ( strength ) {
834
  case 2:
272
  }elseif ( strpos( $post->post_content, '[wppb-register' ) === false ){
273
  //no activation page was selected, and the sent link pointed to the home url
274
  nocache_headers();
275
+ wp_redirect( apply_filters( 'wppb_activatate_account_redirect_url', WPPB_PLUGIN_URL.'assets/misc/fallback-page.php?activation_key='.urlencode( $activation_key ).'&site_name='.urlencode( get_bloginfo( 'name' ) ).'&message='.urlencode( $activation_message = wppb_activate_signup( $activation_key ) ), $activation_key, $activation_message ) );
276
  exit;
277
  }
278
  }
828
  return;
829
  }
830
 
831
+ strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputDisallowedList(), pass2 );
832
 
833
  switch ( strength ) {
834
  case 2:
front-end/default-fields/email/email.php CHANGED
@@ -28,7 +28,7 @@ function wppb_email_handler( $output, $form_location, $field, $user_id, $field_c
28
 
29
  $output = '
30
  <label for="email">'.$item_title.$error_mark.'</label>
31
- <input class="text-input default_field_email '. apply_filters( 'wppb_fields_extra_css_class', '', $field ) .'" name="email" maxlength="'. apply_filters( 'wppb_maximum_character_length', 70, $field ) .'" type="email" id="email" value="'. esc_attr( $input_value ) .'" '. $extra_attr .' '. $email_input_status .' />';
32
  if( !empty( $item_description ) )
33
  $output .= '<span class="wppb-description-delimiter">'. $item_description .'</span>';
34
 
28
 
29
  $output = '
30
  <label for="email">'.$item_title.$error_mark.'</label>
31
+ <input class="text-input default_field_email '. apply_filters( 'wppb_fields_extra_css_class', '', $field ) .'" name="email" maxlength="'. apply_filters( 'wppb_maximum_character_length', 70, $field ) .'" type="email" id="email" value="'. esc_attr( $input_value ) .'" '. $extra_attr .' '. (( $form_location != 'register' ) ? $email_input_status : '') .' />';
32
  if( !empty( $item_description ) )
33
  $output .= '<span class="wppb-description-delimiter">'. $item_description .'</span>';
34
 
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Profile Builder
4
  Plugin URI: https://www.cozmoslabs.com/wordpress-profile-builder/
5
  Description: Login, registration and edit profile shortcodes for the front-end. Also you can choose what fields should be displayed or add new (custom) ones both in the front-end and in the dashboard.
6
- Version: 3.6.1
7
  Author: Cozmoslabs
8
  Author URI: https://www.cozmoslabs.com/
9
  Text Domain: profile-builder
@@ -70,7 +70,7 @@ function wppb_free_plugin_init() {
70
  *
71
  *
72
  */
73
- define('PROFILE_BUILDER_VERSION', '3.6.1' );
74
  define('WPPB_PLUGIN_DIR', plugin_dir_path(__FILE__));
75
  define('WPPB_PLUGIN_URL', plugin_dir_url(__FILE__));
76
  define('WPPB_PLUGIN_BASENAME', plugin_basename(__FILE__));
3
  Plugin Name: Profile Builder
4
  Plugin URI: https://www.cozmoslabs.com/wordpress-profile-builder/
5
  Description: Login, registration and edit profile shortcodes for the front-end. Also you can choose what fields should be displayed or add new (custom) ones both in the front-end and in the dashboard.
6
+ Version: 3.6.2
7
  Author: Cozmoslabs
8
  Author URI: https://www.cozmoslabs.com/
9
  Text Domain: profile-builder
70
  *
71
  *
72
  */
73
+ define('PROFILE_BUILDER_VERSION', '3.6.2' );
74
  define('WPPB_PLUGIN_DIR', plugin_dir_path(__FILE__));
75
  define('WPPB_PLUGIN_URL', plugin_dir_url(__FILE__));
76
  define('WPPB_PLUGIN_BASENAME', plugin_basename(__FILE__));
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: cozmoslabs, reflectionmedia, sareiodata, adispiac, madalin.ungurea
3
  Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
4
  Tags: user registration, user profile, registration, profile, user registration form, user fields, edit profile, user custom fields, front-end login, front-end edit profile, front-end user registration, email confirmation, login form, content restriction, restrict content
5
  Requires at least: 3.1
6
- Tested up to: 5.8.1
7
- Stable tag: 3.6.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -56,6 +56,7 @@ You can use the following shortcode list to display the forms:
56
  * Restrict WooCommerce shop page and products
57
  * Invisible reCAPTCHA support for both Profile Builder forms as well as default WordPress forms
58
  * **Private Website**: setup a [WordPress private site](https://www.cozmoslabs.com/132715-wordpress-private-site/) that is visible only to members or logged in users
 
59
 
60
  **PROFILE BUILDER PRO**
61
 
@@ -176,6 +177,12 @@ This plugin adds/removes user fields in the front-end. Both default and extra pr
176
  15. Edit or Add New User Role
177
 
178
  == Changelog ==
 
 
 
 
 
 
179
  = 3.6.1 =
180
  * Fix: make sure email change request UI only appears on edit profile forms
181
  * Fix: pass referer url as get parameter when content is restricted with a redirect
3
  Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
4
  Tags: user registration, user profile, registration, profile, user registration form, user fields, edit profile, user custom fields, front-end login, front-end edit profile, front-end user registration, email confirmation, login form, content restriction, restrict content
5
  Requires at least: 3.1
6
+ Tested up to: 5.8.3
7
+ Stable tag: 3.6.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
56
  * Restrict WooCommerce shop page and products
57
  * Invisible reCAPTCHA support for both Profile Builder forms as well as default WordPress forms
58
  * **Private Website**: setup a [WordPress private site](https://www.cozmoslabs.com/132715-wordpress-private-site/) that is visible only to members or logged in users
59
+ * **GDPR**: collect users consent about the data you collect about them under the new [GDPR law](https://www.cozmoslabs.com/docs/profile-builder-2/how-to-make-profile-builder-forms-gdpr-compliant/) requirements
60
 
61
  **PROFILE BUILDER PRO**
62
 
177
  15. Edit or Add New User Role
178
 
179
  == Changelog ==
180
+ = 3.6.2 =
181
+ * Fix: a notice regarding wp.passwordStrength.userInputBlacklist()
182
+ * Fix: default focus not working anymore on add new fields select2
183
+ * Fix: Issue with email field getting disabled in registration when using the Change Email Confirmation option
184
+ * Fix: a security issue regarding the Email Confirmation fallback landing page. Thanks to Chloe Chamberland
185
+
186
  = 3.6.1 =
187
  * Fix: make sure email change request UI only appears on edit profile forms
188
  * Fix: pass referer url as get parameter when content is restricted with a redirect
translation/profile-builder.pot CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2021 Profile Builder
2
  # This file is distributed under the same license as the Profile Builder package.
3
  msgid ""
4
  msgstr ""
@@ -477,7 +477,7 @@ msgstr ""
477
  msgid "MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!"
478
  msgstr ""
479
 
480
- #: ../pb-add-on-multi-step-forms/index.php:102, ../pb-add-on-multi-step-forms/index.php:530
481
  msgid "Step"
482
  msgstr ""
483
 
@@ -549,11 +549,11 @@ msgstr ""
549
  msgid "Update Multi-Step"
550
  msgstr ""
551
 
552
- #: ../pb-add-on-multi-step-forms/index.php:459
553
  msgid "Next"
554
  msgstr ""
555
 
556
- #: ../pb-add-on-multi-step-forms/index.php:460
557
  msgid "Previous"
558
  msgstr ""
559
 
1
+ # Copyright (C) 2022 Profile Builder
2
  # This file is distributed under the same license as the Profile Builder package.
3
  msgid ""
4
  msgstr ""
477
  msgid "MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!"
478
  msgstr ""
479
 
480
+ #: ../pb-add-on-multi-step-forms/index.php:102, ../pb-add-on-multi-step-forms/index.php:556
481
  msgid "Step"
482
  msgstr ""
483
 
549
  msgid "Update Multi-Step"
550
  msgstr ""
551
 
552
+ #: ../pb-add-on-multi-step-forms/index.php:477
553
  msgid "Next"
554
  msgstr ""
555
 
556
+ #: ../pb-add-on-multi-step-forms/index.php:478
557
  msgid "Previous"
558
  msgstr ""
559