User registration & user profile – Profile Builder - Version 3.6.6

Version Description

  • Feature: login users automatically after a password reset. Can be activated from the Advanced Settings -> Forms tab
  • Fix: notice when deleting a labels edit add-on entry
  • Fix: issue with Labels Edit page not refreshing after an import
  • Fix: compatibility issue between Stripe and Invisible reCaptcha
  • Misc: corrected a notice relating to PHP 8
  • Added more security improvements
Download this release

Release Info

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

Code changes from version 3.6.5 to 3.6.6

add-ons-free/import-export/inc/class-pbie-export.php CHANGED
@@ -14,7 +14,10 @@ class WPPB_ImpEx_Export {
14
  }
15
 
16
  /* function to export from database */
17
- public function export_array() {
 
 
 
18
  /* export options from database */
19
  $option_values = array();
20
  foreach( $this->args_to_export['options'] as $option ) {
@@ -44,8 +47,10 @@ class WPPB_ImpEx_Export {
44
 
45
  /* export to json file */
46
  public function download_to_json_format( $prefix ) {
47
- $all_for_export = $this->export_array();
48
  if( isset( $_POST['cozmos-export'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_export_settings' ) ) {
 
 
49
  $json = json_encode( $all_for_export );
50
  $filename = $prefix . date( 'Y-m-d_h.i.s', time() );
51
  $filename .= '.json';
@@ -55,6 +60,8 @@ class WPPB_ImpEx_Export {
55
  header( 'Connection: close' );
56
  echo $json; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
57
  exit;
 
58
  }
 
59
  }
60
  }
14
  }
15
 
16
  /* function to export from database */
17
+ private function export_array( $nonce ) {
18
+ if( !wp_verify_nonce( $nonce, 'wppb_export_settings' ) )
19
+ return array();
20
+
21
  /* export options from database */
22
  $option_values = array();
23
  foreach( $this->args_to_export['options'] as $option ) {
47
 
48
  /* export to json file */
49
  public function download_to_json_format( $prefix ) {
50
+
51
  if( isset( $_POST['cozmos-export'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_export_settings' ) ) {
52
+
53
+ $all_for_export = $this->export_array( sanitize_text_field( $_POST['wppb_nonce'] ) );
54
  $json = json_encode( $all_for_export );
55
  $filename = $prefix . date( 'Y-m-d_h.i.s', time() );
56
  $filename .= '.json';
60
  header( 'Connection: close' );
61
  echo $json; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
62
  exit;
63
+
64
  }
65
+
66
  }
67
  }
add-ons-free/import-export/inc/class-pbie-import.php CHANGED
@@ -20,7 +20,15 @@ class WPPB_ImpEx_Import {
20
  *
21
  * @param string $json_content imported json.
22
  */
23
- public function json_to_db( $json_content ) {
 
 
 
 
 
 
 
 
24
  /* decode and put json to array */
25
  $imported_array_from_json = json_decode( $json_content, true );
26
  if ( $imported_array_from_json !== NULL ) {
@@ -80,7 +88,7 @@ class WPPB_ImpEx_Import {
80
  $target = $target . basename( $_FILES['cozmos-upload']['name'] );
81
  move_uploaded_file( $_FILES['cozmos-upload']['tmp_name'], $target );
82
  */
83
- $this->json_to_db($json_content);
84
  if (empty($this->pbie_import_messages)) {
85
  $this->import_messages[$this->j]['message'] = __('Import successfully!', 'profile-builder');
86
  $this->import_messages[$this->j]['type'] = 'updated';
20
  *
21
  * @param string $json_content imported json.
22
  */
23
+ private function json_to_db( $json_content, $nonce ) {
24
+
25
+ if( !wp_verify_nonce( $nonce, 'wppb_import_setttings' ) ){
26
+ $this->import_messages[$this->j]['message'] = __( 'You are not allowed to do this!', 'profile-builder' );
27
+ $this->import_messages[$this->j]['type'] = 'error';
28
+ $this->j++;
29
+ return;
30
+ }
31
+
32
  /* decode and put json to array */
33
  $imported_array_from_json = json_decode( $json_content, true );
34
  if ( $imported_array_from_json !== NULL ) {
88
  $target = $target . basename( $_FILES['cozmos-upload']['name'] );
89
  move_uploaded_file( $_FILES['cozmos-upload']['tmp_name'], $target );
90
  */
91
+ $this->json_to_db( $json_content, sanitize_text_field( $_POST['wppb_nonce'] ) );
92
  if (empty($this->pbie_import_messages)) {
93
  $this->import_messages[$this->j]['message'] = __('Import successfully!', 'profile-builder');
94
  $this->import_messages[$this->j]['type'] = 'updated';
add-ons-free/labels-edit/inc/class-pble-export.php CHANGED
@@ -14,7 +14,11 @@ class WPPB_LE_Export {
14
  }
15
 
16
  /* function to export from database */
17
- public function export_array() {
 
 
 
 
18
  /* export labels from database */
19
  $all_for_export = array();
20
  foreach( $this->args_to_export as $labels ) {
@@ -26,9 +30,9 @@ class WPPB_LE_Export {
26
 
27
  /* export to json file */
28
  public function download_to_json_format( $prefix ) {
29
- $all_for_export = $this->export_array();
30
-
31
  if( isset( $_POST['pble-export'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_export_labels' ) ) {
 
32
  $json = json_encode( $all_for_export );
33
  $filename = $prefix . date( 'Y-m-d_h.i.s', time() );
34
  $filename .= '.json';
@@ -39,5 +43,6 @@ class WPPB_LE_Export {
39
  echo $json; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
40
  exit;
41
  }
 
42
  }
43
  }
14
  }
15
 
16
  /* function to export from database */
17
+ private function export_array( $nonce ) {
18
+
19
+ if( !wp_verify_nonce( $nonce, 'wppb_export_labels' ) )
20
+ return;
21
+
22
  /* export labels from database */
23
  $all_for_export = array();
24
  foreach( $this->args_to_export as $labels ) {
30
 
31
  /* export to json file */
32
  public function download_to_json_format( $prefix ) {
33
+
 
34
  if( isset( $_POST['pble-export'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_export_labels' ) ) {
35
+ $all_for_export = $this->export_array( sanitize_text_field( $_POST['wppb_nonce'] ) );
36
  $json = json_encode( $all_for_export );
37
  $filename = $prefix . date( 'Y-m-d_h.i.s', time() );
38
  $filename .= '.json';
43
  echo $json; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
44
  exit;
45
  }
46
+
47
  }
48
  }
add-ons-free/labels-edit/inc/class-pble-import.php CHANGED
@@ -20,7 +20,15 @@ class WPPB_LE_Import {
20
  *
21
  * @param string $json_content imported json.
22
  */
23
- public function json_to_db( $json_content ) {
 
 
 
 
 
 
 
 
24
  /* decode and put json to array */
25
  $imported_array_from_json = json_decode( $json_content, true );
26
  if ( $imported_array_from_json !== NULL ) {
@@ -42,7 +50,7 @@ class WPPB_LE_Import {
42
  if( isset( $_POST['pble-import'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_import_labels' ) ) {
43
  if( ! empty( $_FILES['pble-upload']['tmp_name'] ) ) {
44
  $json_content = file_get_contents( $_FILES['pble-upload']['tmp_name'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
45
- $this->json_to_db( $json_content );
46
 
47
  if( empty( $this->import_messages ) ) {
48
  $this->import_messages[$this->j]['message'] = __( 'Import successfully!', 'profile-builder' ) . "</p><p>" . __( 'Page will refresh in 3 seconds...', 'profile-builder' ) . '<META HTTP-EQUIV="refresh" CONTENT="3">';
20
  *
21
  * @param string $json_content imported json.
22
  */
23
+ private function json_to_db( $json_content, $nonce ) {
24
+
25
+ if( !wp_verify_nonce( $nonce, 'wppb_import_labels' ) ){
26
+ $this->import_messages[$this->j]['message'] = __( 'You are not allowed to do this!', 'profile-builder' );
27
+ $this->import_messages[$this->j]['type'] = 'error';
28
+ $this->j++;
29
+ return;
30
+ }
31
+
32
  /* decode and put json to array */
33
  $imported_array_from_json = json_decode( $json_content, true );
34
  if ( $imported_array_from_json !== NULL ) {
50
  if( isset( $_POST['pble-import'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_import_labels' ) ) {
51
  if( ! empty( $_FILES['pble-upload']['tmp_name'] ) ) {
52
  $json_content = file_get_contents( $_FILES['pble-upload']['tmp_name'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
53
+ $this->json_to_db( $json_content, sanitize_text_field( $_POST['wppb_nonce'] ) );
54
 
55
  if( empty( $this->import_messages ) ) {
56
  $this->import_messages[$this->j]['message'] = __( 'Import successfully!', 'profile-builder' ) . "</p><p>" . __( 'Page will refresh in 3 seconds...', 'profile-builder' ) . '<META HTTP-EQUIV="refresh" CONTENT="3">';
add-ons-free/labels-edit/labels-edit.php CHANGED
@@ -29,14 +29,18 @@ function wppb_le_scan_on_plugin_activate() {
29
  if( empty( $pble_check ) || $pble_check === 'not_set' ) {
30
  // use of output buffer to fix "headers already sent" notice on plugin activation
31
  ob_start();
32
- wppb_le_scan_labels();
33
  $output = ob_get_clean();
34
  }
35
  }
36
  register_activation_hook( __FILE__, 'wppb_le_scan_on_plugin_activate' );
37
 
38
  /* scan pble labels */
39
- function wppb_le_scan_labels() {
 
 
 
 
40
  // create directory iterator
41
  $ite = new RecursiveDirectoryIterator( WPPB_PLUGIN_DIR );
42
 
@@ -81,6 +85,7 @@ function wppb_le_scan_labels() {
81
  }
82
 
83
  update_option( 'pble_backup', $wppb_strings );
 
84
  }
85
 
86
  // populate array with Profile Builder labels
@@ -93,13 +98,11 @@ function _wppb_le_output_str2( $str ) {
93
 
94
  /* scan pble labels on Rescan button click */
95
  function wppb_le_rescan() {
 
96
  if( isset( $_POST['rescan'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_rescan_labels' ) ) {
97
- wppb_le_scan_labels();
98
  }
99
 
100
- // $edited_labels = get_option( 'pble' );
101
- // var_dump($edited_labels );
102
-
103
  }
104
  add_action( 'init', 'wppb_le_rescan' );
105
 
@@ -407,7 +410,7 @@ function wppb_le_import() {
407
  /* show error/success messages */
408
  $pble_messages = $pble_json_upload->get_messages();
409
  foreach ( $pble_messages as $pble_message ) {
410
- echo '<div id="message" class='. esc_attr( $pble_message['type'] ) .'><p>'. esc_html( $pble_message['message'] ) .'</p></div>';
411
  }
412
  }
413
  }
29
  if( empty( $pble_check ) || $pble_check === 'not_set' ) {
30
  // use of output buffer to fix "headers already sent" notice on plugin activation
31
  ob_start();
32
+ wppb_le_scan_labels( wp_create_nonce( 'wppb_rescan_labels' ) );
33
  $output = ob_get_clean();
34
  }
35
  }
36
  register_activation_hook( __FILE__, 'wppb_le_scan_on_plugin_activate' );
37
 
38
  /* scan pble labels */
39
+ function wppb_le_scan_labels( $nonce ) {
40
+
41
+ if( !wp_verify_nonce( $nonce, 'wppb_rescan_labels' ) )
42
+ return;
43
+
44
  // create directory iterator
45
  $ite = new RecursiveDirectoryIterator( WPPB_PLUGIN_DIR );
46
 
85
  }
86
 
87
  update_option( 'pble_backup', $wppb_strings );
88
+
89
  }
90
 
91
  // populate array with Profile Builder labels
98
 
99
  /* scan pble labels on Rescan button click */
100
  function wppb_le_rescan() {
101
+
102
  if( isset( $_POST['rescan'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_rescan_labels' ) ) {
103
+ wppb_le_scan_labels( sanitize_text_field( $_POST['wppb_nonce'] ) );
104
  }
105
 
 
 
 
106
  }
107
  add_action( 'init', 'wppb_le_rescan' );
108
 
410
  /* show error/success messages */
411
  $pble_messages = $pble_json_upload->get_messages();
412
  foreach ( $pble_messages as $pble_message ) {
413
+ echo '<div id="message" class='. esc_attr( $pble_message['type'] ) .'><p>'. $pble_message['message'] .'</p></div>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
414
  }
415
  }
416
  }
admin/advanced-settings/advanced-settings.php CHANGED
@@ -193,10 +193,7 @@ if( !class_exists('WPPB_toolbox') ){
193
  }
194
 
195
  if( isset( $settings['redirect-delay-timer'] ) ){
196
- $settings['redirect-delay-timer'] = (int)$settings['redirect-delay-timer'];
197
-
198
- if( empty( $settings['redirect-delay-timer'] ) )
199
- $settings['redirect-delay-timer'] = 3;
200
  }
201
 
202
  if( isset( $settings['modify-permalinks-single'] ) )
193
  }
194
 
195
  if( isset( $settings['redirect-delay-timer'] ) ){
196
+ $settings['redirect-delay-timer'] = abs((int)$settings['redirect-delay-timer']);
 
 
 
197
  }
198
 
199
  if( isset( $settings['modify-permalinks-single'] ) )
admin/advanced-settings/includes/forms/recover-password-autologin.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ add_filter( 'wppb_recover_password_autologin', '__return_true' );
admin/advanced-settings/includes/views/view-forms.php CHANGED
@@ -190,6 +190,21 @@
190
  </td>
191
  </tr>
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  <tr>
194
  <th><?php esc_html_e( 'Remove validation from back-end profile page', 'profile-builder' ); ?></th>
195
 
190
  </td>
191
  </tr>
192
 
193
+ <tr>
194
+ <th><?php esc_html_e( 'Automatically log in users after password reset', 'profile-builder' ); ?></th>
195
+
196
+ <td>
197
+ <label><input type="checkbox" name="wppb_toolbox_forms_settings[recover-password-autologin]"<?php echo ( ( isset( $settings['recover-password-autologin'] ) && ( $settings['recover-password-autologin'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
198
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
199
+ </label>
200
+
201
+ <ul>
202
+ <li class="description">
203
+ <?php esc_html_e( 'Automatically log in users after they reset their password using the Recover Password form.', 'profile-builder' ); ?></li>
204
+ </ul>
205
+ </td>
206
+ </tr>
207
+
208
  <tr>
209
  <th><?php esc_html_e( 'Remove validation from back-end profile page', 'profile-builder' ); ?></th>
210
 
features/email-confirmation/email-confirmation.php CHANGED
@@ -339,7 +339,7 @@ function wppb_add_meta_to_user_on_activation( $user_id, $password, $meta ){
339
 
340
 
341
  // function to add the new user to the signup table if email confirmation is selected as active or it is a wpmu installation
342
- function wppb_signup_user( $username, $user_email, $meta = '', $login_after_register ) {
343
  global $wpdb;
344
 
345
  // check for automatic login
339
 
340
 
341
  // function to add the new user to the signup table if email confirmation is selected as active or it is a wpmu installation
342
+ function wppb_signup_user( $username, $user_email, $login_after_register, $meta = '' ) {
343
  global $wpdb;
344
 
345
  // check for automatic login
front-end/class-formbuilder.php CHANGED
@@ -665,7 +665,7 @@ class Profile_Builder_Form_Creator{
665
  $userdata = wp_unslash( $userdata );
666
  }
667
 
668
- wppb_signup_user( $userdata['user_login'], $userdata['user_email'], $userdata, $this->args['login_after_register'] );
669
  }else{
670
  if( ! isset( $userdata['role'] ) ) {
671
  $userdata['role'] = $this->args['role'];
665
  $userdata = wp_unslash( $userdata );
666
  }
667
 
668
+ wppb_signup_user( $userdata['user_login'], $userdata['user_email'], $this->args['login_after_register'], $userdata );
669
  }else{
670
  if( ! isset( $userdata['role'] ) ) {
671
  $userdata['role'] = $this->args['role'];
front-end/default-fields/recaptcha/recaptcha.php CHANGED
@@ -165,11 +165,16 @@ function wppb_recaptcha_script_footer(){
165
  var submitForm = true
166
 
167
  /* dont submit form if PMS gateway is Stripe */
168
- if( jQuery(".pms_pay_gate").length > 0 ){
169
  jQuery(".pms_pay_gate").each( function(){
170
  if( jQuery(this).is(":checked") && ( jQuery(this).val() == "stripe_intents" || jQuery(this).val() == "stripe" ) )
171
  submitForm = false
172
  })
 
 
 
 
 
173
  }
174
 
175
  if( submitForm ){
165
  var submitForm = true
166
 
167
  /* dont submit form if PMS gateway is Stripe */
168
+ if( jQuery(".pms_pay_gate[type=radio]").length > 0 ){
169
  jQuery(".pms_pay_gate").each( function(){
170
  if( jQuery(this).is(":checked") && ( jQuery(this).val() == "stripe_intents" || jQuery(this).val() == "stripe" ) )
171
  submitForm = false
172
  })
173
+ } else if( jQuery(".pms_pay_gate[type=hidden]").length > 0 ) {
174
+
175
+ if( jQuery(".pms_pay_gate[type=hidden]").val() == "stripe_intents" || jQuery(".pms_pay_gate[type=hidden]").val() == "stripe" )
176
+ submitForm = false
177
+
178
  }
179
 
180
  if( submitForm ){
front-end/recover.php CHANGED
@@ -85,7 +85,7 @@ function wppb_create_recover_password_form( $user, $post_data ){
85
  <label for="passw2">'. esc_html( $repeat_password_label ) .'</label>
86
  <input class="password" name="passw2" type="password" id="passw2" value="" autocomplete="off" '. apply_filters( 'wppb_recover_password_extra_attr', '', esc_html( $repeat_password_label ), 'repeat_password' ) .' />
87
  </li><!-- .passw2 -->';
88
-
89
  echo apply_filters( 'wppb_recover_password_form_input', $recover_inputPassword, $passw_one, $passw_two, $user->ID ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
90
  ?>
91
  </ul>
@@ -415,6 +415,23 @@ function wppb_front_end_password_recovery(){
415
 
416
  // CHECK FOR REDIRECT
417
  $redirect_url = wppb_get_redirect_url( 'normal', 'after_success_password_reset', '', sanitize_user( $user_info->user_login ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
418
  $redirect_delay = apply_filters( 'wppb_success_password_reset_redirect_delay', 3, sanitize_user( $user_info->user_login ) );
419
  $redirect_message = wppb_build_redirect( $redirect_url, $redirect_delay, 'after_success_password_reset' );
420
 
85
  <label for="passw2">'. esc_html( $repeat_password_label ) .'</label>
86
  <input class="password" name="passw2" type="password" id="passw2" value="" autocomplete="off" '. apply_filters( 'wppb_recover_password_extra_attr', '', esc_html( $repeat_password_label ), 'repeat_password' ) .' />
87
  </li><!-- .passw2 -->';
88
+
89
  echo apply_filters( 'wppb_recover_password_form_input', $recover_inputPassword, $passw_one, $passw_two, $user->ID ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
90
  ?>
91
  </ul>
415
 
416
  // CHECK FOR REDIRECT
417
  $redirect_url = wppb_get_redirect_url( 'normal', 'after_success_password_reset', '', sanitize_user( $user_info->user_login ) );
418
+
419
+ //log the user in if the option was selected
420
+ if ( apply_filters( 'wppb_recover_password_autologin', false ) ){
421
+ $nonce = wp_create_nonce( 'autologin-'. sanitize_user( $user_info->ID ) .'-'. (int)( time() / 60 ) );
422
+
423
+ //use the after_login redirect if no after_success_password_reset redirect is set
424
+ if( empty( $redirect_url ) ) {
425
+ $redirect_url = wppb_get_redirect_url( 'normal', 'after_login', '', sanitize_user( $user_info->user_login ) );
426
+ $redirect_url = apply_filters( 'wppb_after_recover_and_login', $redirect_url );
427
+ }
428
+ if( empty( $redirect_url ) ) {
429
+ $redirect_url = remove_query_arg( 'key', wppb_curpageurl() );
430
+ }
431
+
432
+ $redirect_url = add_query_arg( array( 'autologin' => 'true', 'uid' => sanitize_user( $user_info->ID ), '_wpnonce' => $nonce ), $redirect_url );
433
+ }
434
+
435
  $redirect_delay = apply_filters( 'wppb_success_password_reset_redirect_delay', 3, sanitize_user( $user_info->user_login ) );
436
  $redirect_message = wppb_build_redirect( $redirect_url, $redirect_delay, 'after_success_password_reset' );
437
 
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.5
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.5' );
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.6
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.6' );
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
@@ -4,7 +4,7 @@ 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.9
7
- Stable tag: 3.6.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -177,6 +177,14 @@ This plugin adds/removes user fields in the front-end. Both default and extra pr
177
  15. Edit or Add New User Role
178
 
179
  == Changelog ==
 
 
 
 
 
 
 
 
180
  = 3.6.5 =
181
  * Fixed some security issues
182
 
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.9
7
+ Stable tag: 3.6.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
177
  15. Edit or Add New User Role
178
 
179
  == Changelog ==
180
+ = 3.6.6 =
181
+ * Feature: login users automatically after a password reset. Can be activated from the Advanced Settings -> Forms tab
182
+ * Fix: notice when deleting a labels edit add-on entry
183
+ * Fix: issue with Labels Edit page not refreshing after an import
184
+ * Fix: compatibility issue between Stripe and Invisible reCaptcha
185
+ * Misc: corrected a notice relating to PHP 8
186
+ * Added more security improvements
187
+
188
  = 3.6.5 =
189
  * Fixed some security issues
190
 
translation/profile-builder.catalog.php CHANGED
@@ -1828,6 +1828,8 @@
1828
  <?php __("If checked, will allow users that register through the Social Connect add-on to bypass the Email Confirmation feature.", "profile-builder"); ?>
1829
  <?php __("Remember me checked by default", "profile-builder"); ?>
1830
  <?php __("Check the 'Remember Me' checkbox on Login forms, by default.", "profile-builder"); ?>
 
 
1831
  <?php __("Remove validation from back-end profile page", "profile-builder"); ?>
1832
  <?php __("When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute", "profile-builder"); ?>
1833
  <?php __("Always show edit other users dropdown", "profile-builder"); ?>
1828
  <?php __("If checked, will allow users that register through the Social Connect add-on to bypass the Email Confirmation feature.", "profile-builder"); ?>
1829
  <?php __("Remember me checked by default", "profile-builder"); ?>
1830
  <?php __("Check the 'Remember Me' checkbox on Login forms, by default.", "profile-builder"); ?>
1831
+ <?php __("Automatically log in users after password reset", "profile-builder"); ?>
1832
+ <?php __("Automatically log in users after they reset their password using the Recover Password form.", "profile-builder"); ?>
1833
  <?php __("Remove validation from back-end profile page", "profile-builder"); ?>
1834
  <?php __("When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute", "profile-builder"); ?>
1835
  <?php __("Always show edit other users dropdown", "profile-builder"); ?>
translation/profile-builder.pot CHANGED
@@ -53,7 +53,7 @@ msgstr ""
53
  msgid "No"
54
  msgstr ""
55
 
56
- #: ../pb-add-on-bbpress/bbpress-page.php:153, ../pb-add-on-social-connect/index.php:352, ../pb-add-on-social-connect/index.php:411, admin/general-settings.php:149, admin/general-settings.php:162, admin/general-settings.php:177, admin/general-settings.php:226, admin/general-settings.php:273, admin/manage-fields.php:193, admin/private-website.php:70, admin/private-website.php:137, admin/private-website.php:150, add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:229, add-ons/multiple-forms/register-forms.php:230, add-ons/user-listing/userlisting.php:2573, features/content-restriction/content-restriction.php:89, features/two-factor-authentication/class-two-factor-authentication.php:125, admin/advanced-settings/includes/forms/placeholder-labels.php:135, admin/advanced-settings/includes/views/view-admin.php:18, admin/advanced-settings/includes/views/view-admin.php:34, admin/advanced-settings/includes/views/view-admin.php:50, admin/advanced-settings/includes/views/view-admin.php:69, admin/advanced-settings/includes/views/view-admin.php:100, admin/advanced-settings/includes/views/view-fields.php:18, admin/advanced-settings/includes/views/view-fields.php:66, admin/advanced-settings/includes/views/view-fields.php:181, admin/advanced-settings/includes/views/view-fields.php:197, admin/advanced-settings/includes/views/view-fields.php:217, admin/advanced-settings/includes/views/view-fields.php:240, admin/advanced-settings/includes/views/view-fields.php:260, admin/advanced-settings/includes/views/view-fields.php:277, admin/advanced-settings/includes/views/view-fields.php:295, admin/advanced-settings/includes/views/view-forms.php:19, admin/advanced-settings/includes/views/view-forms.php:148, admin/advanced-settings/includes/views/view-forms.php:166, admin/advanced-settings/includes/views/view-forms.php:183, admin/advanced-settings/includes/views/view-forms.php:198, admin/advanced-settings/includes/views/view-forms.php:218, admin/advanced-settings/includes/views/view-forms.php:235, admin/advanced-settings/includes/views/view-forms.php:271, admin/advanced-settings/includes/views/view-forms.php:292, admin/advanced-settings/includes/views/view-forms.php:312, admin/advanced-settings/includes/views/view-forms.php:334, admin/advanced-settings/includes/views/view-forms.php:356, admin/advanced-settings/includes/views/view-forms.php:376, admin/advanced-settings/includes/views/view-shortcodes.php:16, admin/advanced-settings/includes/views/view-shortcodes.php:32, admin/advanced-settings/includes/views/view-shortcodes.php:48, admin/advanced-settings/includes/views/view-shortcodes.php:64, admin/advanced-settings/includes/views/view-userlisting.php:53, admin/advanced-settings/includes/views/view-userlisting.php:75, assets/misc/elementor/widgets/class-pb-widget-l.php:75, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:179, assets/misc/elementor/widgets/class-pb-widget-ul.php:107
57
  msgid "Yes"
58
  msgstr ""
59
 
@@ -1549,7 +1549,7 @@ msgstr ""
1549
  msgid "Hide"
1550
  msgstr ""
1551
 
1552
- #: admin/admin-bar.php:92, admin/general-settings.php:346, admin/private-website.php:162, admin/register-version.php:96, features/functions.php:1037, features/content-restriction/content-restriction.php:162, features/two-factor-authentication/class-two-factor-authentication.php:156, assets/lib/class-mustache-templates/class-mustache-templates.php:392, assets/lib/wck-api/wordpress-creation-kit.php:405, admin/advanced-settings/includes/views/view-admin.php:112, admin/advanced-settings/includes/views/view-fields.php:309, admin/advanced-settings/includes/views/view-forms.php:392, admin/advanced-settings/includes/views/view-shortcodes.php:77, admin/advanced-settings/includes/views/view-userlisting.php:91
1553
  msgid "Save Changes"
1554
  msgstr ""
1555
 
@@ -4577,7 +4577,7 @@ msgstr ""
4577
  msgid "This field is required"
4578
  msgstr ""
4579
 
4580
- #: features/functions.php:994, front-end/default-fields/recaptcha/recaptcha.php:533, front-end/default-fields/recaptcha/recaptcha.php:524, front-end/default-fields/recaptcha/recaptcha.php:589, front-end/default-fields/recaptcha/recaptcha.php:637
4581
  msgid "Please enter a (valid) reCAPTCHA value"
4582
  msgstr ""
4583
 
@@ -4846,7 +4846,7 @@ msgstr ""
4846
  msgid "You are already logged in. You can change your password on the edit profile form."
4847
  msgstr ""
4848
 
4849
- #: front-end/recover.php:427
4850
  msgid "The password must not be empty!"
4851
  msgstr ""
4852
 
@@ -4854,7 +4854,7 @@ msgstr ""
4854
  msgid "The key cannot be empty!"
4855
  msgstr ""
4856
 
4857
- #: front-end/recover.php:369, front-end/recover.php:453
4858
  msgid "Invalid key!"
4859
  msgstr ""
4860
 
@@ -4894,7 +4894,7 @@ msgstr ""
4894
  msgid "There was an error while trying to send the activation link to %1$s!"
4895
  msgstr ""
4896
 
4897
- #: front-end/recover.php:453
4898
  msgid "ERROR:"
4899
  msgstr ""
4900
 
@@ -7055,15 +7055,15 @@ msgstr ""
7055
  msgid "To use reCAPTCHA you must get an API key from"
7056
  msgstr ""
7057
 
7058
- #: front-end/default-fields/recaptcha/recaptcha.php:220
7059
  msgid "For security reasons, you must pass the remote ip to reCAPTCHA!"
7060
  msgstr ""
7061
 
7062
- #: front-end/default-fields/recaptcha/recaptcha.php:291
7063
  msgid "To use reCAPTCHA you must get an API public key from:"
7064
  msgstr ""
7065
 
7066
- #: front-end/default-fields/recaptcha/recaptcha.php:589
7067
  msgid "Click the BACK button on your browser, and try again."
7068
  msgstr ""
7069
 
@@ -7440,118 +7440,126 @@ msgid "Check the 'Remember Me' checkbox on Login forms, by default."
7440
  msgstr ""
7441
 
7442
  #: admin/advanced-settings/includes/views/view-forms.php:194
7443
- msgid "Remove validation from back-end profile page"
7444
  msgstr ""
7445
 
7446
  #: admin/advanced-settings/includes/views/view-forms.php:203
 
 
 
 
 
 
 
 
7447
  msgid "When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute"
7448
  msgstr ""
7449
 
7450
- #: admin/advanced-settings/includes/views/view-forms.php:214
7451
  msgid "Always show edit other users dropdown"
7452
  msgstr ""
7453
 
7454
- #: admin/advanced-settings/includes/views/view-forms.php:223
7455
  msgid "For perfomance reasons, we disable the select if you have more than 5000 users on your website. This option lets you enable it again."
7456
  msgstr ""
7457
 
7458
- #: admin/advanced-settings/includes/views/view-forms.php:231
7459
  msgid "Consider 'Anyone can Register' WordPress option"
7460
  msgstr ""
7461
 
7462
- #: admin/advanced-settings/includes/views/view-forms.php:241
7463
  msgid "By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it."
7464
  msgstr ""
7465
 
7466
- #: admin/advanced-settings/includes/views/view-forms.php:241
7467
  msgid "setting"
7468
  msgstr ""
7469
 
7470
- #: admin/advanced-settings/includes/views/view-forms.php:249
7471
  msgid "Modify default Redirect Delay timer"
7472
  msgstr ""
7473
 
7474
- #: admin/advanced-settings/includes/views/view-forms.php:256
7475
  msgid "This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen."
7476
  msgstr ""
7477
 
7478
- #: admin/advanced-settings/includes/views/view-forms.php:259
7479
  msgid "The default is 3 seconds. Leave empty if you do not want to change it."
7480
  msgstr ""
7481
 
7482
- #: admin/advanced-settings/includes/views/view-forms.php:267
7483
  msgid "Save Admin Approval status in usermeta"
7484
  msgstr ""
7485
 
7486
- #: admin/advanced-settings/includes/views/view-forms.php:276
7487
  msgid "By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user."
7488
  msgstr ""
7489
 
7490
- #: admin/advanced-settings/includes/views/view-forms.php:279
7491
  msgid "If you check this option, the status will also be saved in the '*_usermeta' table under the <strong>wppb_approval_status</strong> meta name."
7492
  msgstr ""
7493
 
7494
- #: admin/advanced-settings/includes/views/view-forms.php:288
7495
  msgid "Redirect '/author' page if user is not approved"
7496
  msgstr ""
7497
 
7498
- #: admin/advanced-settings/includes/views/view-forms.php:297
7499
  msgid "By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible."
7500
  msgstr ""
7501
 
7502
- #: admin/advanced-settings/includes/views/view-forms.php:300
7503
  msgid "Using this option you can redirect these pages, sending users who try to access them to your home page."
7504
  msgstr ""
7505
 
7506
- #: admin/advanced-settings/includes/views/view-forms.php:308
7507
  msgid "Save 'Last Login' date in usermeta"
7508
  msgstr ""
7509
 
7510
- #: admin/advanced-settings/includes/views/view-forms.php:317
7511
  msgid "By checking this option, each time a user logins, the date and time will be saved in the database."
7512
  msgstr ""
7513
 
7514
- #: admin/advanced-settings/includes/views/view-forms.php:320
7515
  msgid "The meta name for the field will be <strong>last_login_date</strong>."
7516
  msgstr ""
7517
 
7518
- #: admin/advanced-settings/includes/views/view-forms.php:323, admin/advanced-settings/includes/views/view-forms.php:345
7519
  msgid "You can <a href=\"https://www.cozmoslabs.com/docs/profile-builder-2/manage-user-fields/#Manage_existing_custom_fields_with_Profile_Builder\" target=\"_blank\">create a field with this meta name</a> in Profile Builder to display it in the Userlisting or Edit Profile forms."
7520
  msgstr ""
7521
 
7522
- #: admin/advanced-settings/includes/views/view-forms.php:330
7523
  msgid "Save 'Last Profile Update' date in usermeta"
7524
  msgstr ""
7525
 
7526
- #: admin/advanced-settings/includes/views/view-forms.php:339
7527
  msgid "By checking this option, each time a modifies his profile the date and time will be saved in the database."
7528
  msgstr ""
7529
 
7530
- #: admin/advanced-settings/includes/views/view-forms.php:342
7531
  msgid "The meta name for the field will be <strong>last_profile_update_date</strong>."
7532
  msgstr ""
7533
 
7534
- #: admin/advanced-settings/includes/views/view-forms.php:352
7535
  msgid "Disable automatic scrolling after submit"
7536
  msgstr ""
7537
 
7538
- #: admin/advanced-settings/includes/views/view-forms.php:361
7539
  msgid "By default, after each form submission the page will automatically scroll to the form message."
7540
  msgstr ""
7541
 
7542
- #: admin/advanced-settings/includes/views/view-forms.php:364
7543
  msgid "If you check this option, automatic scrolling will be disabled."
7544
  msgstr ""
7545
 
7546
- #: admin/advanced-settings/includes/views/view-forms.php:372
7547
  msgid "Use ajax on conditional fields:"
7548
  msgstr ""
7549
 
7550
- #: admin/advanced-settings/includes/views/view-forms.php:380
7551
  msgid "For large conditional forms."
7552
  msgstr ""
7553
 
7554
- #: admin/advanced-settings/includes/views/view-forms.php:383
7555
  msgid "Select \"Yes\" for improved page performance."
7556
  msgstr ""
7557
 
53
  msgid "No"
54
  msgstr ""
55
 
56
+ #: ../pb-add-on-bbpress/bbpress-page.php:153, ../pb-add-on-social-connect/index.php:352, ../pb-add-on-social-connect/index.php:411, admin/general-settings.php:149, admin/general-settings.php:162, admin/general-settings.php:177, admin/general-settings.php:226, admin/general-settings.php:273, admin/manage-fields.php:193, admin/private-website.php:70, admin/private-website.php:137, admin/private-website.php:150, add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:229, add-ons/multiple-forms/register-forms.php:230, add-ons/user-listing/userlisting.php:2573, features/content-restriction/content-restriction.php:89, features/two-factor-authentication/class-two-factor-authentication.php:125, admin/advanced-settings/includes/forms/placeholder-labels.php:135, admin/advanced-settings/includes/views/view-admin.php:18, admin/advanced-settings/includes/views/view-admin.php:34, admin/advanced-settings/includes/views/view-admin.php:50, admin/advanced-settings/includes/views/view-admin.php:69, admin/advanced-settings/includes/views/view-admin.php:100, admin/advanced-settings/includes/views/view-fields.php:18, admin/advanced-settings/includes/views/view-fields.php:66, admin/advanced-settings/includes/views/view-fields.php:181, admin/advanced-settings/includes/views/view-fields.php:197, admin/advanced-settings/includes/views/view-fields.php:217, admin/advanced-settings/includes/views/view-fields.php:240, admin/advanced-settings/includes/views/view-fields.php:260, admin/advanced-settings/includes/views/view-fields.php:277, admin/advanced-settings/includes/views/view-fields.php:295, admin/advanced-settings/includes/views/view-forms.php:19, admin/advanced-settings/includes/views/view-forms.php:148, admin/advanced-settings/includes/views/view-forms.php:166, admin/advanced-settings/includes/views/view-forms.php:183, admin/advanced-settings/includes/views/view-forms.php:198, admin/advanced-settings/includes/views/view-forms.php:213, admin/advanced-settings/includes/views/view-forms.php:233, admin/advanced-settings/includes/views/view-forms.php:250, admin/advanced-settings/includes/views/view-forms.php:286, admin/advanced-settings/includes/views/view-forms.php:307, admin/advanced-settings/includes/views/view-forms.php:327, admin/advanced-settings/includes/views/view-forms.php:349, admin/advanced-settings/includes/views/view-forms.php:371, admin/advanced-settings/includes/views/view-forms.php:391, admin/advanced-settings/includes/views/view-shortcodes.php:16, admin/advanced-settings/includes/views/view-shortcodes.php:32, admin/advanced-settings/includes/views/view-shortcodes.php:48, admin/advanced-settings/includes/views/view-shortcodes.php:64, admin/advanced-settings/includes/views/view-userlisting.php:53, admin/advanced-settings/includes/views/view-userlisting.php:75, assets/misc/elementor/widgets/class-pb-widget-l.php:75, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:179, assets/misc/elementor/widgets/class-pb-widget-ul.php:107
57
  msgid "Yes"
58
  msgstr ""
59
 
1549
  msgid "Hide"
1550
  msgstr ""
1551
 
1552
+ #: admin/admin-bar.php:92, admin/general-settings.php:346, admin/private-website.php:162, admin/register-version.php:96, features/functions.php:1037, features/content-restriction/content-restriction.php:162, features/two-factor-authentication/class-two-factor-authentication.php:156, assets/lib/class-mustache-templates/class-mustache-templates.php:392, assets/lib/wck-api/wordpress-creation-kit.php:405, admin/advanced-settings/includes/views/view-admin.php:112, admin/advanced-settings/includes/views/view-fields.php:309, admin/advanced-settings/includes/views/view-forms.php:407, admin/advanced-settings/includes/views/view-shortcodes.php:77, admin/advanced-settings/includes/views/view-userlisting.php:91
1553
  msgid "Save Changes"
1554
  msgstr ""
1555
 
4577
  msgid "This field is required"
4578
  msgstr ""
4579
 
4580
+ #: features/functions.php:994, front-end/default-fields/recaptcha/recaptcha.php:538, front-end/default-fields/recaptcha/recaptcha.php:529, front-end/default-fields/recaptcha/recaptcha.php:594, front-end/default-fields/recaptcha/recaptcha.php:642
4581
  msgid "Please enter a (valid) reCAPTCHA value"
4582
  msgstr ""
4583
 
4846
  msgid "You are already logged in. You can change your password on the edit profile form."
4847
  msgstr ""
4848
 
4849
+ #: front-end/recover.php:444
4850
  msgid "The password must not be empty!"
4851
  msgstr ""
4852
 
4854
  msgid "The key cannot be empty!"
4855
  msgstr ""
4856
 
4857
+ #: front-end/recover.php:369, front-end/recover.php:470
4858
  msgid "Invalid key!"
4859
  msgstr ""
4860
 
4894
  msgid "There was an error while trying to send the activation link to %1$s!"
4895
  msgstr ""
4896
 
4897
+ #: front-end/recover.php:470
4898
  msgid "ERROR:"
4899
  msgstr ""
4900
 
7055
  msgid "To use reCAPTCHA you must get an API key from"
7056
  msgstr ""
7057
 
7058
+ #: front-end/default-fields/recaptcha/recaptcha.php:225
7059
  msgid "For security reasons, you must pass the remote ip to reCAPTCHA!"
7060
  msgstr ""
7061
 
7062
+ #: front-end/default-fields/recaptcha/recaptcha.php:296
7063
  msgid "To use reCAPTCHA you must get an API public key from:"
7064
  msgstr ""
7065
 
7066
+ #: front-end/default-fields/recaptcha/recaptcha.php:594
7067
  msgid "Click the BACK button on your browser, and try again."
7068
  msgstr ""
7069
 
7440
  msgstr ""
7441
 
7442
  #: admin/advanced-settings/includes/views/view-forms.php:194
7443
+ msgid "Automatically log in users after password reset"
7444
  msgstr ""
7445
 
7446
  #: admin/advanced-settings/includes/views/view-forms.php:203
7447
+ msgid "Automatically log in users after they reset their password using the Recover Password form."
7448
+ msgstr ""
7449
+
7450
+ #: admin/advanced-settings/includes/views/view-forms.php:209
7451
+ msgid "Remove validation from back-end profile page"
7452
+ msgstr ""
7453
+
7454
+ #: admin/advanced-settings/includes/views/view-forms.php:218
7455
  msgid "When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute"
7456
  msgstr ""
7457
 
7458
+ #: admin/advanced-settings/includes/views/view-forms.php:229
7459
  msgid "Always show edit other users dropdown"
7460
  msgstr ""
7461
 
7462
+ #: admin/advanced-settings/includes/views/view-forms.php:238
7463
  msgid "For perfomance reasons, we disable the select if you have more than 5000 users on your website. This option lets you enable it again."
7464
  msgstr ""
7465
 
7466
+ #: admin/advanced-settings/includes/views/view-forms.php:246
7467
  msgid "Consider 'Anyone can Register' WordPress option"
7468
  msgstr ""
7469
 
7470
+ #: admin/advanced-settings/includes/views/view-forms.php:256
7471
  msgid "By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it."
7472
  msgstr ""
7473
 
7474
+ #: admin/advanced-settings/includes/views/view-forms.php:256
7475
  msgid "setting"
7476
  msgstr ""
7477
 
7478
+ #: admin/advanced-settings/includes/views/view-forms.php:264
7479
  msgid "Modify default Redirect Delay timer"
7480
  msgstr ""
7481
 
7482
+ #: admin/advanced-settings/includes/views/view-forms.php:271
7483
  msgid "This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen."
7484
  msgstr ""
7485
 
7486
+ #: admin/advanced-settings/includes/views/view-forms.php:274
7487
  msgid "The default is 3 seconds. Leave empty if you do not want to change it."
7488
  msgstr ""
7489
 
7490
+ #: admin/advanced-settings/includes/views/view-forms.php:282
7491
  msgid "Save Admin Approval status in usermeta"
7492
  msgstr ""
7493
 
7494
+ #: admin/advanced-settings/includes/views/view-forms.php:291
7495
  msgid "By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user."
7496
  msgstr ""
7497
 
7498
+ #: admin/advanced-settings/includes/views/view-forms.php:294
7499
  msgid "If you check this option, the status will also be saved in the '*_usermeta' table under the <strong>wppb_approval_status</strong> meta name."
7500
  msgstr ""
7501
 
7502
+ #: admin/advanced-settings/includes/views/view-forms.php:303
7503
  msgid "Redirect '/author' page if user is not approved"
7504
  msgstr ""
7505
 
7506
+ #: admin/advanced-settings/includes/views/view-forms.php:312
7507
  msgid "By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible."
7508
  msgstr ""
7509
 
7510
+ #: admin/advanced-settings/includes/views/view-forms.php:315
7511
  msgid "Using this option you can redirect these pages, sending users who try to access them to your home page."
7512
  msgstr ""
7513
 
7514
+ #: admin/advanced-settings/includes/views/view-forms.php:323
7515
  msgid "Save 'Last Login' date in usermeta"
7516
  msgstr ""
7517
 
7518
+ #: admin/advanced-settings/includes/views/view-forms.php:332
7519
  msgid "By checking this option, each time a user logins, the date and time will be saved in the database."
7520
  msgstr ""
7521
 
7522
+ #: admin/advanced-settings/includes/views/view-forms.php:335
7523
  msgid "The meta name for the field will be <strong>last_login_date</strong>."
7524
  msgstr ""
7525
 
7526
+ #: admin/advanced-settings/includes/views/view-forms.php:338, admin/advanced-settings/includes/views/view-forms.php:360
7527
  msgid "You can <a href=\"https://www.cozmoslabs.com/docs/profile-builder-2/manage-user-fields/#Manage_existing_custom_fields_with_Profile_Builder\" target=\"_blank\">create a field with this meta name</a> in Profile Builder to display it in the Userlisting or Edit Profile forms."
7528
  msgstr ""
7529
 
7530
+ #: admin/advanced-settings/includes/views/view-forms.php:345
7531
  msgid "Save 'Last Profile Update' date in usermeta"
7532
  msgstr ""
7533
 
7534
+ #: admin/advanced-settings/includes/views/view-forms.php:354
7535
  msgid "By checking this option, each time a modifies his profile the date and time will be saved in the database."
7536
  msgstr ""
7537
 
7538
+ #: admin/advanced-settings/includes/views/view-forms.php:357
7539
  msgid "The meta name for the field will be <strong>last_profile_update_date</strong>."
7540
  msgstr ""
7541
 
7542
+ #: admin/advanced-settings/includes/views/view-forms.php:367
7543
  msgid "Disable automatic scrolling after submit"
7544
  msgstr ""
7545
 
7546
+ #: admin/advanced-settings/includes/views/view-forms.php:376
7547
  msgid "By default, after each form submission the page will automatically scroll to the form message."
7548
  msgstr ""
7549
 
7550
+ #: admin/advanced-settings/includes/views/view-forms.php:379
7551
  msgid "If you check this option, automatic scrolling will be disabled."
7552
  msgstr ""
7553
 
7554
+ #: admin/advanced-settings/includes/views/view-forms.php:387
7555
  msgid "Use ajax on conditional fields:"
7556
  msgstr ""
7557
 
7558
+ #: admin/advanced-settings/includes/views/view-forms.php:395
7559
  msgid "For large conditional forms."
7560
  msgstr ""
7561
 
7562
+ #: admin/advanced-settings/includes/views/view-forms.php:398
7563
  msgid "Select \"Yes\" for improved page performance."
7564
  msgstr ""
7565