User registration & user profile – Profile Builder - Version 3.5.1

Version Description

  • Fix: Compatibility issue with the new admin page header from Elementor
  • Fix: A potential notice generated by user roles without role names
  • Misc: Security review
  • Misc: Logout shortcode and Email Confirmation email subject to display user email instead of username when Allow Users to Login With is set to Email Only
  • Misc: Fix issue when activating Profile Builder from the Paid Member Subscriptions add-ons page
Download this release

Release Info

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

Code changes from version 3.5.0 to 3.5.1

Files changed (68) hide show
  1. add-ons-free/import-export/import-export.php +3 -3
  2. add-ons-free/import-export/inc/class-pbie-export.php +1 -1
  3. add-ons-free/import-export/inc/class-pbie-import.php +2 -2
  4. add-ons-free/import-export/pbie-export.php +2 -2
  5. add-ons-free/import-export/pbie-import.php +5 -5
  6. add-ons-free/labels-edit/inc/class-pble-export.php +1 -1
  7. add-ons-free/labels-edit/inc/class-pble-import.php +1 -1
  8. add-ons-free/labels-edit/labels-edit.php +14 -14
  9. add-ons-free/labels-edit/potx.php +9 -9
  10. admin/admin-bar.php +21 -21
  11. admin/advanced-settings/advanced-settings.php +2 -2
  12. admin/advanced-settings/includes/fields/restricted-words.php +1 -1
  13. admin/advanced-settings/includes/forms/placeholder-labels.php +3 -3
  14. admin/advanced-settings/includes/forms/restricted-email-domains.php +2 -2
  15. admin/advanced-settings/includes/views/view-admin.php +17 -20
  16. admin/advanced-settings/includes/views/view-fields.php +50 -50
  17. admin/advanced-settings/includes/views/view-forms.php +64 -66
  18. admin/advanced-settings/includes/views/view-shortcodes.php +12 -12
  19. admin/advanced-settings/includes/views/view-userlisting.php +18 -18
  20. admin/basic-info.php +81 -81
  21. admin/feedback.php +30 -30
  22. admin/general-settings.php +56 -55
  23. admin/manage-fields.php +23 -21
  24. admin/pms-cross-promotion.php +43 -45
  25. admin/private-website.php +26 -26
  26. admin/register-version.php +18 -18
  27. admin/review.php +2 -2
  28. assets/css/serial-notice.css +6 -2
  29. assets/css/style-back-end.css +15 -0
  30. assets/css/style-front-end.css +78 -3
  31. assets/js/jquery-manage-fields-live-change.js +11 -1
  32. assets/lib/cl-add-ons-listing/cl-add-ons-listing.php +23 -21
  33. assets/lib/class-list-table.php +41 -41
  34. assets/lib/class-mustache-templates/class-mustache-templates.php +32 -32
  35. assets/lib/class_notices.php +3 -3
  36. assets/lib/wck-api/fields/nested repeater.php +1 -1
  37. assets/lib/wck-api/fields/upload.php +2 -2
  38. assets/lib/wck-api/wordpress-creation-kit.php +33 -31
  39. assets/misc/elementor/widgets/class-pb-widget-base.php +16 -2
  40. assets/misc/elementor/widgets/class-pb-widget-epf.php +1 -1
  41. assets/misc/elementor/widgets/class-pb-widget-l.php +37 -2
  42. assets/misc/elementor/widgets/class-pb-widget-rf-epf.php +85 -10
  43. assets/misc/elementor/widgets/class-pb-widget-rp.php +1 -1
  44. assets/misc/fallback-page.php +13 -13
  45. assets/misc/plugin-compatibilities.php +1 -1
  46. features/content-restriction/class-elementor-content-restriction.php +1 -1
  47. features/content-restriction/content-restriction-filtering.php +4 -4
  48. features/content-restriction/content-restriction-meta-box.php +30 -22
  49. features/content-restriction/content-restriction.php +18 -18
  50. features/email-confirmation/class-email-confirmation.php +31 -25
  51. features/email-confirmation/email-confirmation.php +20 -14
  52. features/functions.php +16 -12
  53. features/login-widget/login-widget.php +11 -11
  54. features/roles-editor/assets/css/roles-editor.css +4 -0
  55. features/roles-editor/roles-editor.php +62 -59
  56. features/upgrades/upgrades.php +1 -1
  57. front-end/class-formbuilder.php +52 -42
  58. front-end/default-fields/email/email.php +3 -1
  59. front-end/default-fields/recaptcha/recaptcha.php +20 -19
  60. front-end/edit-profile.php +3 -3
  61. front-end/login.php +50 -25
  62. front-end/logout.php +10 -1
  63. front-end/recover.php +25 -18
  64. front-end/register.php +2 -1
  65. index.php +10 -3
  66. readme.txt +24 -10
  67. translation/profile-builder.catalog.php +97 -22
  68. translation/profile-builder.pot +1129 -825
add-ons-free/import-export/import-export.php CHANGED
@@ -32,7 +32,7 @@ function wppb_pbie_tabs( $current = 'import' ) {
32
  echo '<h2 class="nav-tab-wrapper">';
33
  foreach( $tabs as $tab => $name ) {
34
  $class = ( $tab == $current ) ? ' nav-tab-active' : '';
35
- echo "<a class='nav-tab$class' href='?page=pbie-import-export&tab=$tab'>$name</a>";
36
  }
37
  echo '</h2>';
38
  }
@@ -45,7 +45,7 @@ function wppb_pbie_page() {
45
  <div class="wrap">
46
  <?php
47
  echo '<h2>';
48
- _e( 'Import and Export', 'profile-builder' );
49
  echo '</h2>';
50
 
51
  if( isset ( $_GET['tab'] ) ) wppb_pbie_tabs( sanitize_text_field( $_GET['tab'] ) );
@@ -54,7 +54,7 @@ function wppb_pbie_page() {
54
 
55
  <form method="post" action="<?php admin_url( 'admin.php?page=pbie-import-export' ); ?>" enctype= "multipart/form-data">
56
  <?php
57
- if( $pagenow == 'admin.php' && $_GET['page'] === 'pbie-import-export' ) {
58
  if( isset ( $_GET['tab'] ) ) $tab = sanitize_text_field( $_GET['tab'] );
59
  else $tab = 'import';
60
 
32
  echo '<h2 class="nav-tab-wrapper">';
33
  foreach( $tabs as $tab => $name ) {
34
  $class = ( $tab == $current ) ? ' nav-tab-active' : '';
35
+ echo "<a class='nav-tab". esc_attr( $class )."' href='?page=pbie-import-export&tab=". esc_attr( $tab ) ."'>". esc_html( $name ) ."</a>";
36
  }
37
  echo '</h2>';
38
  }
45
  <div class="wrap">
46
  <?php
47
  echo '<h2>';
48
+ esc_html_e( 'Import and Export', 'profile-builder' );
49
  echo '</h2>';
50
 
51
  if( isset ( $_GET['tab'] ) ) wppb_pbie_tabs( sanitize_text_field( $_GET['tab'] ) );
54
 
55
  <form method="post" action="<?php admin_url( 'admin.php?page=pbie-import-export' ); ?>" enctype= "multipart/form-data">
56
  <?php
57
+ if( $pagenow == 'admin.php' && isset( $_GET['page'] ) && $_GET['page'] === 'pbie-import-export' ) {
58
  if( isset ( $_GET['tab'] ) ) $tab = sanitize_text_field( $_GET['tab'] );
59
  else $tab = 'import';
60
 
add-ons-free/import-export/inc/class-pbie-export.php CHANGED
@@ -53,7 +53,7 @@ class WPPB_ImpEx_Export {
53
  header( 'Content-type: application/json' );
54
  header( 'Content-Length: ' . mb_strlen( $json ) );
55
  header( 'Connection: close' );
56
- echo $json;
57
  exit;
58
  }
59
  }
53
  header( 'Content-type: application/json' );
54
  header( 'Content-Length: ' . mb_strlen( $json ) );
55
  header( 'Connection: close' );
56
+ echo $json; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
57
  exit;
58
  }
59
  }
add-ons-free/import-export/inc/class-pbie-import.php CHANGED
@@ -36,7 +36,7 @@ class WPPB_ImpEx_Import {
36
 
37
  /* import custom posts to database */
38
  foreach( $this->args_to_import as $imported_post_type ) {
39
-
40
  /* there could be the possibility that the post type doesn't exist yet so we need to register it */
41
  if ( !post_type_exists( $imported_post_type ) ) {
42
  register_post_type( $imported_post_type );
@@ -71,7 +71,7 @@ class WPPB_ImpEx_Import {
71
  public function upload_json_file() {
72
  if( isset( $_POST['cozmos-import'] ) ) {
73
  if( ! empty( $_FILES['cozmos-upload']['tmp_name'] ) ) {
74
- $json_content = file_get_contents( $_FILES['cozmos-upload']['tmp_name'] );
75
  /* save uploaded file to server (for later versions).
76
  $target = dirname( plugin_dir_path( __FILE__ ) ) . '/upload/';
77
  $target = $target . basename( $_FILES['cozmos-upload']['name'] );
36
 
37
  /* import custom posts to database */
38
  foreach( $this->args_to_import as $imported_post_type ) {
39
+
40
  /* there could be the possibility that the post type doesn't exist yet so we need to register it */
41
  if ( !post_type_exists( $imported_post_type ) ) {
42
  register_post_type( $imported_post_type );
71
  public function upload_json_file() {
72
  if( isset( $_POST['cozmos-import'] ) ) {
73
  if( ! empty( $_FILES['cozmos-upload']['tmp_name'] ) ) {
74
+ $json_content = file_get_contents( $_FILES['cozmos-upload']['tmp_name'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
75
  /* save uploaded file to server (for later versions).
76
  $target = dirname( plugin_dir_path( __FILE__ ) ) . '/upload/';
77
  $target = $target . basename( $_FILES['cozmos-upload']['name'] );
add-ons-free/import-export/pbie-export.php CHANGED
@@ -114,9 +114,9 @@ function wppb_pbie_export_our_json() {
114
  /* Export tab content function */
115
  function wppb_pbie_export() {
116
  ?>
117
- <p><?php _e( 'Export Profile Builder options as a .json file. This allows you to easily import the configuration into another site.', 'profile-builder' ); ?></p>
118
  <div class="wrap">
119
- <form action="" method="post"><input class="button-secondary" type="submit" name="cozmos-export" value=<?php _e( 'Export', 'profile-builder' ); ?> id="cozmos-export" /></form>
120
  </div>
121
  <?php
122
  }
114
  /* Export tab content function */
115
  function wppb_pbie_export() {
116
  ?>
117
+ <p><?php esc_html_e( 'Export Profile Builder options as a .json file. This allows you to easily import the configuration into another site.', 'profile-builder' ); ?></p>
118
  <div class="wrap">
119
+ <form action="" method="post"><input class="button-secondary" type="submit" name="cozmos-export" value=<?php esc_html_e( 'Export', 'profile-builder' ); ?> id="cozmos-export" /></form>
120
  </div>
121
  <?php
122
  }
add-ons-free/import-export/pbie-import.php CHANGED
@@ -6,7 +6,7 @@ require_once 'inc/class-pbie-import.php';
6
  /* Import tab content function */
7
  function wppb_pbie_import() {
8
  if( isset( $_POST['cozmos-import'] ) ) {
9
- if( $_FILES['cozmos-upload'] ) {
10
  $pbie_cpts = array(
11
  'wppb-ul-cpt',
12
  'wppb-rf-cpt',
@@ -19,23 +19,23 @@ function wppb_pbie_import() {
19
  $pbie_messages = $pbie_json_upload->get_messages();
20
  foreach ( $pbie_messages as $pbie_message ) {
21
  echo '<div id="message" class=';
22
- echo $pbie_message['type'];
23
  echo '>';
24
  echo '<p>';
25
- echo $pbie_message['message'];
26
  echo '</p>';
27
  echo '</div>';
28
  }
29
  }
30
  }
31
  ?>
32
- <p><?php _e( 'Import Profile Builder options from a .json file. This allows you to easily import the configuration from another site. ', 'profile-builder' ); ?></p>
33
  <form name="cozmos-upload" method="post" action="" enctype= "multipart/form-data">
34
  <div class="wrap">
35
  <input type="file" name="cozmos-upload" value="cozmos-upload" id="cozmos-upload" />
36
  </div>
37
  <div class="wrap">
38
- <input class="button-secondary" type="submit" name="cozmos-import" value=<?php _e( 'Import', 'profile-builder' ); ?> id="cozmos-import" onclick="return confirm( '<?php _e( 'This will overwrite your old PB settings! Are you sure you want to continue?', 'profile-builder' ); ?>' )" />
39
  </div>
40
  </form>
41
  <?php
6
  /* Import tab content function */
7
  function wppb_pbie_import() {
8
  if( isset( $_POST['cozmos-import'] ) ) {
9
+ if( isset( $_FILES['cozmos-upload'] ) ) {
10
  $pbie_cpts = array(
11
  'wppb-ul-cpt',
12
  'wppb-rf-cpt',
19
  $pbie_messages = $pbie_json_upload->get_messages();
20
  foreach ( $pbie_messages as $pbie_message ) {
21
  echo '<div id="message" class=';
22
+ echo esc_attr( $pbie_message['type'] );
23
  echo '>';
24
  echo '<p>';
25
+ echo esc_html( $pbie_message['message'] );
26
  echo '</p>';
27
  echo '</div>';
28
  }
29
  }
30
  }
31
  ?>
32
+ <p><?php esc_html_e( 'Import Profile Builder options from a .json file. This allows you to easily import the configuration from another site. ', 'profile-builder' ); ?></p>
33
  <form name="cozmos-upload" method="post" action="" enctype= "multipart/form-data">
34
  <div class="wrap">
35
  <input type="file" name="cozmos-upload" value="cozmos-upload" id="cozmos-upload" />
36
  </div>
37
  <div class="wrap">
38
+ <input class="button-secondary" type="submit" name="cozmos-import" value=<?php esc_html_e( 'Import', 'profile-builder' ); ?> id="cozmos-import" onclick="return confirm( '<?php esc_html_e( 'This will overwrite your old PB settings! Are you sure you want to continue?', 'profile-builder' ); ?>' )" />
39
  </div>
40
  </form>
41
  <?php
add-ons-free/labels-edit/inc/class-pble-export.php CHANGED
@@ -36,7 +36,7 @@ class WPPB_LE_Export {
36
  header( 'Content-type: application/json' );
37
  header( 'Content-Length: ' . mb_strlen( $json ) );
38
  header( 'Connection: close' );
39
- echo $json;
40
  exit;
41
  }
42
  }
36
  header( 'Content-type: application/json' );
37
  header( 'Content-Length: ' . mb_strlen( $json ) );
38
  header( 'Connection: close' );
39
+ echo $json; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
40
  exit;
41
  }
42
  }
add-ons-free/labels-edit/inc/class-pble-import.php CHANGED
@@ -41,7 +41,7 @@ class WPPB_LE_Import {
41
  public function upload_json_file() {
42
  if( isset( $_POST['pble-import'] ) ) {
43
  if( ! empty( $_FILES['pble-upload']['tmp_name'] ) ) {
44
- $json_content = file_get_contents( $_FILES['pble-upload']['tmp_name'] );
45
  $this->json_to_db( $json_content );
46
 
47
  if( empty( $this->import_messages ) ) {
41
  public function upload_json_file() {
42
  if( isset( $_POST['pble-import'] ) ) {
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 ) ) {
add-ons-free/labels-edit/labels-edit.php CHANGED
@@ -93,7 +93,7 @@ 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'] ) && $_POST['rescan'] ) {
97
  wppb_le_scan_labels();
98
  }
99
 
@@ -105,12 +105,12 @@ add_action( 'init', 'wppb_le_rescan' );
105
 
106
  /* rescan success message */
107
  function wppb_le_rescan_success_message() {
108
- if( isset( $_POST['rescan'] ) && $_POST['rescan'] ) {
109
  global $wppb_strings;
110
  $wppb_strings_count = count( $wppb_strings );
111
 
112
  $rescan_message = '<div id="message" class="updated"><p>' . $wppb_strings_count . __(' labels scanned.', 'profile-builder') . '</p></div>';
113
- echo $rescan_message;
114
  }
115
  }
116
  add_action( 'admin_notices', 'wppb_le_rescan_success_message' );
@@ -299,26 +299,26 @@ function wppb_le_impexp_content() {
299
  wppb_le_import();
300
  ?>
301
  <p>
302
- <?php _e( 'Import Labels from a .json file.', 'profile-builder' ); ?>
303
  <br>
304
- <?php _e( 'Easily import the labels from another site.', 'profile-builder' ); ?>
305
  </p>
306
  <form name="pble-upload" method="post" action="" enctype= "multipart/form-data">
307
  <div class="wrap">
308
  <input type="file" name="pble-upload" value="pble-upload" id="pble-upload" />
309
  </div>
310
  <div class="wrap">
311
- <input class="button-primary" type="submit" name="pble-import" value=<?php _e( 'Import', 'profile-builder' ); ?> id="pble-import" onclick="return confirm( '<?php _e( 'This will overwrite all your old edited labels!\nAre you sure you want to continue?', 'profile-builder' ); ?>' )" />
312
  </div>
313
  </form>
314
  <hr>
315
  <p>
316
- <?php _e( 'Export Labels as a .json file.', 'profile-builder' ); ?>
317
  <br>
318
- <?php _e( 'Easily import the labels into another site.', 'profile-builder' ); ?>
319
  </p>
320
  <div class="wrap">
321
- <form action="" method="post"><input class="button-primary" type="submit" name="pble-export" value=<?php _e( 'Export', 'profile-builder' ); ?> id="pble-export" /></form>
322
  </div>
323
  <?php
324
  }
@@ -383,8 +383,8 @@ add_action( "wck_after_adding_form_pble", "wppb_le_chosen_pble" );
383
 
384
  /* import class arguments and call */
385
  function wppb_le_import() {
386
- if( isset( $_POST['pble-import'] ) && $_POST['pble-import'] ) {
387
- if( isset( $_FILES['pble-upload'] ) && $_FILES['pble-upload'] ) {
388
  $pble_args = array(
389
  'pble'
390
  );
@@ -394,7 +394,7 @@ function wppb_le_import() {
394
  /* show error/success messages */
395
  $pble_messages = $pble_json_upload->get_messages();
396
  foreach ( $pble_messages as $pble_message ) {
397
- echo '<div id="message" class='. $pble_message['type'] .'><p>'. $pble_message['message'] .'</p></div>';
398
  }
399
  }
400
  }
@@ -403,10 +403,10 @@ function wppb_le_import() {
403
  /* export class arguments and call */
404
  add_action( 'admin_init', 'wppb_le_export' );
405
  function wppb_le_export() {
406
- if( isset( $_POST['pble-export'] ) && $_POST['pble-export'] ) {
407
  $check_export = get_option( 'pble', 'not_set' );
408
  if( empty( $check_export ) || $check_export === 'not_set' ) {
409
- echo '<div id="message" class="error"><p>' . __('No labels edited, nothing to export!', 'profile-builder') . '</p></div>';
410
  } else {
411
  $pble_args = array(
412
  'pble'
93
 
94
  /* scan pble labels on Rescan button click */
95
  function wppb_le_rescan() {
96
+ if( isset( $_POST['rescan'] ) ) {
97
  wppb_le_scan_labels();
98
  }
99
 
105
 
106
  /* rescan success message */
107
  function wppb_le_rescan_success_message() {
108
+ if( isset( $_POST['rescan'] ) ) {
109
  global $wppb_strings;
110
  $wppb_strings_count = count( $wppb_strings );
111
 
112
  $rescan_message = '<div id="message" class="updated"><p>' . $wppb_strings_count . __(' labels scanned.', 'profile-builder') . '</p></div>';
113
+ echo wp_kses_post( $rescan_message );
114
  }
115
  }
116
  add_action( 'admin_notices', 'wppb_le_rescan_success_message' );
299
  wppb_le_import();
300
  ?>
301
  <p>
302
+ <?php esc_html_e( 'Import Labels from a .json file.', 'profile-builder' ); ?>
303
  <br>
304
+ <?php esc_html_e( 'Easily import the labels from another site.', 'profile-builder' ); ?>
305
  </p>
306
  <form name="pble-upload" method="post" action="" enctype= "multipart/form-data">
307
  <div class="wrap">
308
  <input type="file" name="pble-upload" value="pble-upload" id="pble-upload" />
309
  </div>
310
  <div class="wrap">
311
+ <input class="button-primary" type="submit" name="pble-import" value=<?php esc_html_e( 'Import', 'profile-builder' ); ?> id="pble-import" onclick="return confirm( '<?php esc_html_e( 'This will overwrite all your old edited labels!\nAre you sure you want to continue?', 'profile-builder' ); ?>' )" />
312
  </div>
313
  </form>
314
  <hr>
315
  <p>
316
+ <?php esc_html_e( 'Export Labels as a .json file.', 'profile-builder' ); ?>
317
  <br>
318
+ <?php esc_html_e( 'Easily import the labels into another site.', 'profile-builder' ); ?>
319
  </p>
320
  <div class="wrap">
321
+ <form action="" method="post"><input class="button-primary" type="submit" name="pble-export" value=<?php esc_html_e( 'Export', 'profile-builder' ); ?> id="pble-export" /></form>
322
  </div>
323
  <?php
324
  }
383
 
384
  /* import class arguments and call */
385
  function wppb_le_import() {
386
+ if( isset( $_POST['pble-import'] ) ) {
387
+ if( isset( $_FILES['pble-upload'] ) ) {
388
  $pble_args = array(
389
  'pble'
390
  );
394
  /* show error/success messages */
395
  $pble_messages = $pble_json_upload->get_messages();
396
  foreach ( $pble_messages as $pble_message ) {
397
+ echo '<div id="message" class='. esc_attr( $pble_message['type'] ) .'><p>'. esc_html( $pble_message['message'] ) .'</p></div>';
398
  }
399
  }
400
  }
403
  /* export class arguments and call */
404
  add_action( 'admin_init', 'wppb_le_export' );
405
  function wppb_le_export() {
406
+ if( isset( $_POST['pble-export'] ) ) {
407
  $check_export = get_option( 'pble', 'not_set' );
408
  if( empty( $check_export ) || $check_export === 'not_set' ) {
409
+ echo '<div id="message" class="error"><p>' . esc_html__('No labels edited, nothing to export!', 'profile-builder') . '</p></div>';
410
  } else {
411
  $pble_args = array(
412
  'pble'
add-ons-free/labels-edit/potx.php CHANGED
@@ -129,7 +129,7 @@ function _wppb_le_output_str ( $str )
129
  $tpl = "\$lang['%s'] = '%s';\n";
130
 
131
  $str = sprintf ( $tpl, $args[ 1 ], $args[ 0 ] );
132
- echo nl2br ( stripslashes ( htmlentities ( $str ) ) );
133
 
134
  return $str;
135
  }
@@ -175,7 +175,7 @@ function _wppb_le_potx_process_file ( $file_path, $strip_prefix = 0, $save_callb
175
  if ( ( !is_array ( $token ) ) || ( ( $token[ 0 ] != T_WHITESPACE ) && ( $token[ 0 ] != T_INLINE_HTML ) ) ) {
176
  if ( is_array ( $token ) ) {
177
  $token[ ] = $line_number;
178
- // Fill array for finding token offsets quickly.
179
  $src_tokens = array(
180
  '__', 'esc_attr__', 'esc_html__', '_e', 'esc_attr_e', 'esc_html_e',
181
  '_x', 'esc_attr_x', 'esc_html_x', '_ex',
@@ -483,7 +483,7 @@ function _wppb_le_potx_write_files ( $http_filename = NULL, $content_disposition
483
  header ( 'Content-Type: text/plain; charset=utf-8' );
484
  header ( 'Content-Transfer-Encoding: 8bit' );
485
  header ( "Content-Disposition: $content_disposition; filename=$http_filename" );
486
- print $output;
487
  return;
488
  } else {
489
  // Local file output, flatten directory structure.
@@ -725,7 +725,7 @@ function _wppb_le_potx_find_t_calls_with_context ( $file, $save_callback, $funct
725
  list( $type, $string, $line ) = $ctok;
726
 
727
  $slug = $_wppb_le_potx_tokens[ $ti + 4 ];
728
-
729
  if ( $par == "(" ) {
730
  if ( in_array ( $rig, array( ")", "," ) )
731
  && ( is_array ( $mid ) && ( $mid[ 0 ] == T_CONSTANT_ENCAPSED_STRING ) )
@@ -1028,7 +1028,7 @@ function _wppb_le_potx_skip_args ( $here )
1028
  }
1029
  }
1030
  // If we run out of nesting, it means we reached the end of the function call,
1031
- // so we skipped the arguments but did not find meat for looking at the
1032
  // specified context.
1033
  return ( $nesting == 0 ? $here : FALSE );
1034
  }
@@ -1053,9 +1053,9 @@ function _wppb_le_potx_find_context ( $tf, $ti, $file, $function_name )
1053
  // Start from after the comma and skip the possible arguments for the function
1054
  // so we can look for the context.
1055
  if ( ( $ti = _wppb_le_potx_skip_args ( $ti ) ) && ( $_wppb_le_potx_tokens[ $ti ] == ',' ) ) {
1056
- // Now we actually might have some definition for a context. The $options
1057
  // argument is coming up, which might have a key for context.
1058
- echo "TI:" . $ti . "\n";
1059
  list( $com, $arr, $par ) = array( $_wppb_le_potx_tokens[ $ti ], $_wppb_le_potx_tokens[ $ti + 1 ], $_wppb_le_potx_tokens[ $ti + 2 ] );
1060
  if ( $com == ',' && $arr[ 1 ] == 'array' && $par == '(' ) {
1061
  $nesting = 0;
@@ -1449,7 +1449,7 @@ function _wppb_le_potx_explore_dir ( $path = '', $basename = '*', $api_version =
1449
  }
1450
  }
1451
  }
1452
- // Skip our own files, because we don't want to get strings from them
1453
  // to appear in the output, especially with the command line interface.
1454
  // TODO: fix this to be able to autogenerate templates for potx itself.
1455
  foreach ( $files as $id => $file_name ) {
@@ -1504,7 +1504,7 @@ function _wppb_le_potx_save_version ( $value = NULL, $file = NULL )
1504
  function _wppb_le_potx_save_string ( $value = NULL, $context = NULL, $file = NULL, $line = 0, $string_mode = WPPB_LE_POTX_STRING_RUNTIME )
1505
  {
1506
  global $_wppb_le_potx_strings, $_wppb_le_potx_install;
1507
-
1508
  if ( isset( $value ) ) {
1509
  switch ( $string_mode ) {
1510
  case WPPB_LE_POTX_STRING_BOTH:
129
  $tpl = "\$lang['%s'] = '%s';\n";
130
 
131
  $str = sprintf ( $tpl, $args[ 1 ], $args[ 0 ] );
132
+ echo nl2br ( stripslashes ( htmlentities ( $str ) ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
133
 
134
  return $str;
135
  }
175
  if ( ( !is_array ( $token ) ) || ( ( $token[ 0 ] != T_WHITESPACE ) && ( $token[ 0 ] != T_INLINE_HTML ) ) ) {
176
  if ( is_array ( $token ) ) {
177
  $token[ ] = $line_number;
178
+ // Fill array for finding token offsets quickly.
179
  $src_tokens = array(
180
  '__', 'esc_attr__', 'esc_html__', '_e', 'esc_attr_e', 'esc_html_e',
181
  '_x', 'esc_attr_x', 'esc_html_x', '_ex',
483
  header ( 'Content-Type: text/plain; charset=utf-8' );
484
  header ( 'Content-Transfer-Encoding: 8bit' );
485
  header ( "Content-Disposition: $content_disposition; filename=$http_filename" );
486
+ print $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
487
  return;
488
  } else {
489
  // Local file output, flatten directory structure.
725
  list( $type, $string, $line ) = $ctok;
726
 
727
  $slug = $_wppb_le_potx_tokens[ $ti + 4 ];
728
+
729
  if ( $par == "(" ) {
730
  if ( in_array ( $rig, array( ")", "," ) )
731
  && ( is_array ( $mid ) && ( $mid[ 0 ] == T_CONSTANT_ENCAPSED_STRING ) )
1028
  }
1029
  }
1030
  // If we run out of nesting, it means we reached the end of the function call,
1031
+ // so we skipped the arguments but did not find meat for looking at the
1032
  // specified context.
1033
  return ( $nesting == 0 ? $here : FALSE );
1034
  }
1053
  // Start from after the comma and skip the possible arguments for the function
1054
  // so we can look for the context.
1055
  if ( ( $ti = _wppb_le_potx_skip_args ( $ti ) ) && ( $_wppb_le_potx_tokens[ $ti ] == ',' ) ) {
1056
+ // Now we actually might have some definition for a context. The $options
1057
  // argument is coming up, which might have a key for context.
1058
+ echo "TI:" . $ti . "\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1059
  list( $com, $arr, $par ) = array( $_wppb_le_potx_tokens[ $ti ], $_wppb_le_potx_tokens[ $ti + 1 ], $_wppb_le_potx_tokens[ $ti + 2 ] );
1060
  if ( $com == ',' && $arr[ 1 ] == 'array' && $par == '(' ) {
1061
  $nesting = 0;
1449
  }
1450
  }
1451
  }
1452
+ // Skip our own files, because we don't want to get strings from them
1453
  // to appear in the output, especially with the command line interface.
1454
  // TODO: fix this to be able to autogenerate templates for potx itself.
1455
  foreach ( $files as $id => $file_name ) {
1504
  function _wppb_le_potx_save_string ( $value = NULL, $context = NULL, $file = NULL, $line = 0, $string_mode = WPPB_LE_POTX_STRING_RUNTIME )
1505
  {
1506
  global $_wppb_le_potx_strings, $_wppb_le_potx_install;
1507
+
1508
  if ( isset( $value ) ) {
1509
  switch ( $string_mode ) {
1510
  case WPPB_LE_POTX_STRING_BOTH:
admin/admin-bar.php CHANGED
@@ -15,7 +15,7 @@ add_action( 'admin_menu', 'wppb_show_hide_admin_bar_submenu_page', 4 );
15
 
16
  function wppb_generate_admin_bar_default_values( $roles ){
17
  $wppb_display_admin_settings = get_option( 'wppb_display_admin_settings', 'not_found' );
18
-
19
  if ( $wppb_display_admin_settings == 'not_found' ){
20
  if( !empty( $roles ) ){
21
  $admin_settings = array();
@@ -39,29 +39,29 @@ function wppb_generate_admin_bar_default_values( $roles ){
39
  */
40
  function wppb_show_hide_admin_bar_content() {
41
  global $wp_roles;
42
-
43
  wppb_generate_admin_bar_default_values( $wp_roles );
44
  ?>
45
-
46
  <div class="wrap wppb-wrap wppb-admin-bar">
47
-
48
- <h2><?php _e( 'Admin Bar Settings', 'profile-builder' );?></h2>
49
 
50
  <?php settings_errors(); ?>
51
 
52
  <?php wppb_generate_settings_tabs() ?>
53
 
54
- <p class="description"><?php _e( 'Choose which user roles view the admin bar in the front-end of the website.', 'profile-builder' ); ?>
55
  <form method="post" action="options.php#show-hide-admin-bar">
56
- <?php
57
  $admin_bar_settings = get_option( 'wppb_display_admin_settings' );
58
  settings_fields( 'wppb_display_admin_settings' );
59
  ?>
60
  <table class="widefat">
61
  <thead>
62
  <tr>
63
- <th class="row-title" scope="col"><?php _e('User-Role', 'profile-builder');?></th>
64
- <th scope="col"><?php _e('Visibility', 'profile-builder');?></th>
65
  </tr>
66
  </thead>
67
  <tbody>
@@ -72,29 +72,29 @@ function wppb_show_hide_admin_bar_content() {
72
  $key = $role['name'];
73
  $setting_exists = !empty( $admin_bar_settings[$key] );
74
  $alt_class = ( ( $alt_i%2 == 0 ) ? ' class="alternate"' : '' );
75
-
76
- echo'<tr'.$alt_class.'>
77
- <td>'.translate_user_role($key).'</td>
78
  <td>
79
- <span><input id="rd'.$key.'" type="radio" name="wppb_display_admin_settings['.$key.']" value="default"'.( ( !$setting_exists || $admin_bar_settings[$key] == 'default' ) ? ' checked' : '' ).'/><label for="rd'.$key.'">'.__( 'Default', 'profile-builder' ).'</label></span>
80
- <span><input id="rs'.$key.'" type="radio" name="wppb_display_admin_settings['.$key.']" value="show"'.( ( $setting_exists && $admin_bar_settings[$key] == 'show') ? ' checked' : '' ).'/><label for="rs'.$key.'">'.__( 'Show', 'profile-builder' ).'</label></span>
81
- <span><input id="rh'.$key.'" type="radio" name="wppb_display_admin_settings['.$key.']" value="hide"'.( ( $setting_exists && $admin_bar_settings[$key] == 'hide') ? ' checked' : '' ).'/><label for="rh'.$key.'">'.__( 'Hide', 'profile-builder' ).'</label></span>
82
  </td>
83
  </tr>';
84
  }
85
  ?>
86
-
87
  </table>
88
 
89
  <div id="wppb_submit_button_div">
90
  <input type="hidden" name="action" value="update" />
91
  <p class="submit">
92
- <input type="submit" class="button-primary" value="<?php _e( 'Save Changes' ) ?>" />
93
  </p>
94
  </div>
95
-
96
  </form>
97
-
98
  </div>
99
  <?php
100
  }
@@ -108,7 +108,7 @@ function wppb_show_hide_admin_bar_content() {
108
  */
109
  function wppb_replace_username_on_admin_bar( $wp_admin_bar ) {
110
  $wppb_general_settings = get_option( 'wppb_general_settings' );
111
-
112
  if ( isset( $wppb_general_settings['loginWith'] ) && ( $wppb_general_settings['loginWith'] == 'email' ) ){
113
  $current_user = wp_get_current_user();
114
 
@@ -123,7 +123,7 @@ function wppb_replace_username_on_admin_bar( $wp_admin_bar ) {
123
  }
124
  }
125
  }
126
-
127
  return $wp_admin_bar;
128
  }
129
  add_filter( 'admin_bar_menu', 'wppb_replace_username_on_admin_bar', 25 );
15
 
16
  function wppb_generate_admin_bar_default_values( $roles ){
17
  $wppb_display_admin_settings = get_option( 'wppb_display_admin_settings', 'not_found' );
18
+
19
  if ( $wppb_display_admin_settings == 'not_found' ){
20
  if( !empty( $roles ) ){
21
  $admin_settings = array();
39
  */
40
  function wppb_show_hide_admin_bar_content() {
41
  global $wp_roles;
42
+
43
  wppb_generate_admin_bar_default_values( $wp_roles );
44
  ?>
45
+
46
  <div class="wrap wppb-wrap wppb-admin-bar">
47
+
48
+ <h2><?php esc_html_e( 'Admin Bar Settings', 'profile-builder' );?></h2>
49
 
50
  <?php settings_errors(); ?>
51
 
52
  <?php wppb_generate_settings_tabs() ?>
53
 
54
+ <p class="description"><?php esc_html_e( 'Choose which user roles view the admin bar in the front-end of the website.', 'profile-builder' ); ?>
55
  <form method="post" action="options.php#show-hide-admin-bar">
56
+ <?php
57
  $admin_bar_settings = get_option( 'wppb_display_admin_settings' );
58
  settings_fields( 'wppb_display_admin_settings' );
59
  ?>
60
  <table class="widefat">
61
  <thead>
62
  <tr>
63
+ <th class="row-title" scope="col"><?php esc_html_e('User-Role', 'profile-builder');?></th>
64
+ <th scope="col"><?php esc_html_e('Visibility', 'profile-builder');?></th>
65
  </tr>
66
  </thead>
67
  <tbody>
72
  $key = $role['name'];
73
  $setting_exists = !empty( $admin_bar_settings[$key] );
74
  $alt_class = ( ( $alt_i%2 == 0 ) ? ' class="alternate"' : '' );
75
+
76
+ echo'<tr'.esc_attr( $alt_class ).'>
77
+ <td>'. esc_html( translate_user_role($key) ).'</td>
78
  <td>
79
+ <span><input id="rd'.esc_attr( $key ).'" type="radio" name="wppb_display_admin_settings['.esc_attr( $key ).']" value="default"'.( ( !$setting_exists || $admin_bar_settings[$key] == 'default' ) ? ' checked' : '' ).'/><label for="rd'.esc_attr( $key ).'">'.esc_html__( 'Default', 'profile-builder' ).'</label></span>
80
+ <span><input id="rs'.esc_attr( $key ).'" type="radio" name="wppb_display_admin_settings['.esc_attr( $key ).']" value="show"'.( ( $setting_exists && $admin_bar_settings[$key] == 'show') ? ' checked' : '' ).'/><label for="rs'.esc_attr( $key ).'">'.esc_html__( 'Show', 'profile-builder' ).'</label></span>
81
+ <span><input id="rh'.esc_attr( $key ).'" type="radio" name="wppb_display_admin_settings['.esc_attr( $key ).']" value="hide"'.( ( $setting_exists && $admin_bar_settings[$key] == 'hide') ? ' checked' : '' ).'/><label for="rh'.esc_attr( $key ).'">'.esc_html__( 'Hide', 'profile-builder' ).'</label></span>
82
  </td>
83
  </tr>';
84
  }
85
  ?>
86
+
87
  </table>
88
 
89
  <div id="wppb_submit_button_div">
90
  <input type="hidden" name="action" value="update" />
91
  <p class="submit">
92
+ <input type="submit" class="button-primary" value="<?php esc_html_e( 'Save Changes', 'profile-builder' ) ?>" />
93
  </p>
94
  </div>
95
+
96
  </form>
97
+
98
  </div>
99
  <?php
100
  }
108
  */
109
  function wppb_replace_username_on_admin_bar( $wp_admin_bar ) {
110
  $wppb_general_settings = get_option( 'wppb_general_settings' );
111
+
112
  if ( isset( $wppb_general_settings['loginWith'] ) && ( $wppb_general_settings['loginWith'] == 'email' ) ){
113
  $current_user = wp_get_current_user();
114
 
123
  }
124
  }
125
  }
126
+
127
  return $wp_admin_bar;
128
  }
129
  add_filter( 'admin_bar_menu', 'wppb_replace_username_on_admin_bar', 25 );
admin/advanced-settings/advanced-settings.php CHANGED
@@ -41,11 +41,11 @@ if( !class_exists('WPPB_toolbox') ){
41
  public function submenu_page_callback() {
42
  reset( $this->tabs );
43
 
44
- if ( isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $this->tabs) )
45
  $this->active_tab = sanitize_text_field( $_GET['tab'] );
46
  ?>
47
  <div class="wrap wppb-wrap wppb-toolbox-wrap">
48
- <h2><?php _e( 'Advanced Settings', 'profile-builder'); ?></h2>
49
 
50
  <?php settings_errors(); ?>
51
 
41
  public function submenu_page_callback() {
42
  reset( $this->tabs );
43
 
44
+ if ( isset( $_GET['tab'] ) && array_key_exists( sanitize_text_field( $_GET['tab'] ), $this->tabs) )
45
  $this->active_tab = sanitize_text_field( $_GET['tab'] );
46
  ?>
47
  <div class="wrap wppb-wrap wppb-toolbox-wrap">
48
+ <h2><?php esc_html_e( 'Advanced Settings', 'profile-builder'); ?></h2>
49
 
50
  <?php settings_errors(); ?>
51
 
admin/advanced-settings/includes/fields/restricted-words.php CHANGED
@@ -21,7 +21,7 @@ function wppb_toolbox_check_banned_words( $message, $field, $request_data, $form
21
 
22
  foreach ( $banned_words as $banned ) {
23
  if ( strpos( $request_data[ $meta_name ], $banned ) !== false) {
24
- return __( $validation_message, 'profile-builder' );
25
  }
26
  }
27
 
21
 
22
  foreach ( $banned_words as $banned ) {
23
  if ( strpos( $request_data[ $meta_name ], $banned ) !== false) {
24
+ return $validation_message;
25
  }
26
  }
27
 
admin/advanced-settings/includes/forms/placeholder-labels.php CHANGED
@@ -129,11 +129,11 @@ function wppb_pbpl_meta_box_content( $post ) {
129
  ?>
130
  <div class="wrap">
131
  <p>
132
- <label for="pbpl-active" ><?php _e( 'Replace labels with placeholders:', 'profile-builder' ) ?></label>
133
  </p>
134
  <select name="pbpl-active" id="pbpl-active" class="mb-select">
135
- <option value="yes" <?php selected( $pbpl_select_value, 'yes' ); ?>><?php _e( 'Yes', 'profile-builder' ) ?></option>
136
- <option value="no" <?php selected( $pbpl_select_value, 'no' ); ?>><?php _e( 'No', 'profile-builder' ) ?></option>
137
  </select>
138
  </div>
139
  <?php
129
  ?>
130
  <div class="wrap">
131
  <p>
132
+ <label for="pbpl-active" ><?php esc_html_e( 'Replace labels with placeholders:', 'profile-builder' ) ?></label>
133
  </p>
134
  <select name="pbpl-active" id="pbpl-active" class="mb-select">
135
+ <option value="yes" <?php selected( $pbpl_select_value, 'yes' ); ?>><?php esc_html_e( 'Yes', 'profile-builder' ) ?></option>
136
+ <option value="no" <?php selected( $pbpl_select_value, 'no' ); ?>><?php esc_html_e( 'No', 'profile-builder' ) ?></option>
137
  </select>
138
  </div>
139
  <?php
admin/advanced-settings/includes/forms/restricted-email-domains.php CHANGED
@@ -16,12 +16,12 @@ function wppb_toolbox_check_email_domain( $message, $field, $request_data, $form
16
  if ( $type == 'allow' ) {
17
 
18
  if ( !in_array( $domain, $restricted_domains ) )
19
- return __( $validation_message, 'profile-builder' );
20
 
21
  } else if ( $type == 'deny' ) {
22
 
23
  if ( in_array( $domain, $restricted_domains ) )
24
- return __( $validation_message, 'profile-builder' );
25
 
26
  }
27
 
16
  if ( $type == 'allow' ) {
17
 
18
  if ( !in_array( $domain, $restricted_domains ) )
19
+ return $validation_message;
20
 
21
  } else if ( $type == 'deny' ) {
22
 
23
  if ( in_array( $domain, $restricted_domains ) )
24
+ return $validation_message;
25
 
26
  }
27
 
admin/advanced-settings/includes/views/view-admin.php CHANGED
@@ -11,100 +11,97 @@
11
  <table class="form-table">
12
 
13
  <tr>
14
- <th><?php _e( 'Allow users with the \'delete_users\' capability to view the Admin Approval list', 'profile-builder' ); ?></th>
15
 
16
  <td>
17
  <label><input type="checkbox" name="wppb_toolbox_admin_settings[admin-approval-access]"<?php echo ( ( isset( $settings['admin-approval-access'] ) && ( $settings['admin-approval-access'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
18
- <?php _e( 'Yes', 'profile-builder' ); ?>
19
  </label>
20
 
21
  <ul>
22
  <li class="description">
23
- <?php _e( 'By checking this option, you will allow users that have the \'delete_users\' capability to access and use the Admin Approval list.', 'profile-builder' ); ?>
24
  </li>
25
  </ul>
26
  </td>
27
  </tr>
28
 
29
  <tr>
30
- <th><?php _e( 'Allow users with the \'delete_users\' capability to view the list of Unconfirmed Emails', 'profile-builder' ); ?></th>
31
 
32
  <td>
33
  <label><input type="checkbox" name="wppb_toolbox_admin_settings[email-confirmation-access]"<?php echo ( ( isset( $settings['email-confirmation-access'] ) && ( $settings['email-confirmation-access'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
34
- <?php _e( 'Yes', 'profile-builder' ); ?>
35
  </label>
36
 
37
  <ul>
38
  <li class="description">
39
- <?php _e( 'By checking this option, you will allow users that have the \'delete_users\' capability to see the list of Unconfirmed Email Addresses.', 'profile-builder' ); ?>
40
  </li>
41
  </ul>
42
  </td>
43
  </tr>
44
 
45
  <tr>
46
- <th><?php _e( 'Disable confirmation dialog for the {{approval_url}} or {{approval_link}} Email Customizer tags', 'profile-builder' ); ?></th>
47
 
48
  <td>
49
  <label><input type="checkbox" name="wppb_toolbox_admin_settings[admin-approval-confirmation]"<?php echo ( ( isset( $settings['admin-approval-confirmation'] ) && ( $settings['admin-approval-confirmation'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
50
- <?php _e( 'Yes', 'profile-builder' ); ?>
51
  </label>
52
 
53
  <ul>
54
  <li class="description">
55
- <?php _e( 'By checking this option, you will disable the confirmation dialog, allowing you to approve new users simply by visiting the <strong>{{approval_url}}</strong> or <strong>{{approval_link}}</strong>.', 'profile-builder' ); ?>
56
  </li>
57
  </ul>
58
  </td>
59
  </tr>
60
 
61
  <tr>
62
- <th><?php _e( 'Multiple Admin Emails', 'profile-builder' ); ?></th>
63
 
64
  <td>
65
  <label>
66
  <?php //don't remove the hidden, we need it so after save there is a value in the database for this, or else it might get set to yes becasue of the compatibility with Multiple Admin Emails addon ?>
67
  <input type="hidden" name="wppb_toolbox_admin_settings[multiple-admin-emails]" value="">
68
  <input type="checkbox" name="wppb_toolbox_admin_settings[multiple-admin-emails]"<?php echo ( ( isset( $settings['multiple-admin-emails'] ) && ( $settings['multiple-admin-emails'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes" class="wppb-toolbox-switch">
69
- <?php _e( 'Yes', 'profile-builder' ); ?>
70
  </label>
71
  <ul>
72
  <li class="description">
73
- <?php echo _e( 'Set multiple admin e-mail addresses that will receive e-mail notifications sent by Profile Builder', 'profile-builder' ); ?>
74
  </li>
75
  </ul>
76
 
77
  <div class="wppb-toolbox-accordion">
78
 
79
-
80
-
81
  <ul class="wppb-toolbox-list">
82
 
83
  <li class="toolbox-label">
84
- <strong><?php _e( 'Admin Emails:', 'profile-builder' ); ?></strong>
85
  </li>
86
  <li class="wppb-toolbox-admin-emails">
87
  <input class="wppb-text widefat" type="text" name="wppb_toolbox_admin_settings[admin-emails]" value="<?php echo ( ( isset( $settings['admin-emails'] ) ) ? esc_attr( $settings['admin-emails'] ) : '' ); ?>" />
88
  </li>
89
  <li class="description">
90
- <?php echo sprintf( __( 'Add email addresses, separated by comma, for people you wish to receive notifications from Profile Builder. These addresses will overwrite the default Email Address from <a href="%s">Settings -> General</a>', 'profile-builder' ), get_site_url() . "/wp-admin/options-general.php" ); ?>
91
  </li>
92
  </ul>
93
 
94
-
95
  </div>
96
  </td>
97
  </tr>
98
 
99
  <tr>
100
- <th><?php _e( 'Disable Multiple User Roles', 'profile-builder' ); ?></th>
101
  <td>
102
  <label><input type="checkbox" name="wppb_toolbox_admin_settings[multiple-user-roles]"<?php echo ( ( isset( $settings['multiple-user-roles'] ) && ( $settings['multiple-user-roles'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
103
- <?php _e( 'Yes', 'profile-builder' ); ?>
104
  </label>
105
  <ul>
106
  <li class="description">
107
- <?php _e( 'Activating this option will disable the ability to select multiple roles for a user.', 'profile-builder' ); ?>
108
  </li>
109
  </ul>
110
  </td>
11
  <table class="form-table">
12
 
13
  <tr>
14
+ <th><?php esc_html_e( 'Allow users with the \'delete_users\' capability to view the Admin Approval list', 'profile-builder' ); ?></th>
15
 
16
  <td>
17
  <label><input type="checkbox" name="wppb_toolbox_admin_settings[admin-approval-access]"<?php echo ( ( isset( $settings['admin-approval-access'] ) && ( $settings['admin-approval-access'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
18
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
19
  </label>
20
 
21
  <ul>
22
  <li class="description">
23
+ <?php esc_html_e( 'By checking this option, you will allow users that have the \'delete_users\' capability to access and use the Admin Approval list.', 'profile-builder' ); ?>
24
  </li>
25
  </ul>
26
  </td>
27
  </tr>
28
 
29
  <tr>
30
+ <th><?php esc_html_e( 'Allow users with the \'delete_users\' capability to view the list of Unconfirmed Emails', 'profile-builder' ); ?></th>
31
 
32
  <td>
33
  <label><input type="checkbox" name="wppb_toolbox_admin_settings[email-confirmation-access]"<?php echo ( ( isset( $settings['email-confirmation-access'] ) && ( $settings['email-confirmation-access'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
34
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
35
  </label>
36
 
37
  <ul>
38
  <li class="description">
39
+ <?php esc_html_e( 'By checking this option, you will allow users that have the \'delete_users\' capability to see the list of Unconfirmed Email Addresses.', 'profile-builder' ); ?>
40
  </li>
41
  </ul>
42
  </td>
43
  </tr>
44
 
45
  <tr>
46
+ <th><?php esc_html_e( 'Disable confirmation dialog for the {{approval_url}} or {{approval_link}} Email Customizer tags', 'profile-builder' ); ?></th>
47
 
48
  <td>
49
  <label><input type="checkbox" name="wppb_toolbox_admin_settings[admin-approval-confirmation]"<?php echo ( ( isset( $settings['admin-approval-confirmation'] ) && ( $settings['admin-approval-confirmation'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
50
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
51
  </label>
52
 
53
  <ul>
54
  <li class="description">
55
+ <?php echo wp_kses_post( __( 'By checking this option, you will disable the confirmation dialog, allowing you to approve new users simply by visiting the <strong>{{approval_url}}</strong> or <strong>{{approval_link}}</strong>.', 'profile-builder' ) ); ?>
56
  </li>
57
  </ul>
58
  </td>
59
  </tr>
60
 
61
  <tr>
62
+ <th><?php esc_html_e( 'Multiple Admin Emails', 'profile-builder' ); ?></th>
63
 
64
  <td>
65
  <label>
66
  <?php //don't remove the hidden, we need it so after save there is a value in the database for this, or else it might get set to yes becasue of the compatibility with Multiple Admin Emails addon ?>
67
  <input type="hidden" name="wppb_toolbox_admin_settings[multiple-admin-emails]" value="">
68
  <input type="checkbox" name="wppb_toolbox_admin_settings[multiple-admin-emails]"<?php echo ( ( isset( $settings['multiple-admin-emails'] ) && ( $settings['multiple-admin-emails'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes" class="wppb-toolbox-switch">
69
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
70
  </label>
71
  <ul>
72
  <li class="description">
73
+ <?php echo esc_html_e( 'Set multiple admin e-mail addresses that will receive e-mail notifications sent by Profile Builder', 'profile-builder' ); ?>
74
  </li>
75
  </ul>
76
 
77
  <div class="wppb-toolbox-accordion">
78
 
 
 
79
  <ul class="wppb-toolbox-list">
80
 
81
  <li class="toolbox-label">
82
+ <strong><?php esc_html_e( 'Admin Emails:', 'profile-builder' ); ?></strong>
83
  </li>
84
  <li class="wppb-toolbox-admin-emails">
85
  <input class="wppb-text widefat" type="text" name="wppb_toolbox_admin_settings[admin-emails]" value="<?php echo ( ( isset( $settings['admin-emails'] ) ) ? esc_attr( $settings['admin-emails'] ) : '' ); ?>" />
86
  </li>
87
  <li class="description">
88
+ <?php echo wp_kses_post( sprintf( __( 'Add email addresses, separated by comma, for people you wish to receive notifications from Profile Builder. These addresses will overwrite the default Email Address from <a href="%s">Settings -> General</a>', 'profile-builder' ), esc_url( get_site_url() ) . "/wp-admin/options-general.php" ) ); ?>
89
  </li>
90
  </ul>
91
 
 
92
  </div>
93
  </td>
94
  </tr>
95
 
96
  <tr>
97
+ <th><?php esc_html_e( 'Disable Multiple User Roles', 'profile-builder' ); ?></th>
98
  <td>
99
  <label><input type="checkbox" name="wppb_toolbox_admin_settings[multiple-user-roles]"<?php echo ( ( isset( $settings['multiple-user-roles'] ) && ( $settings['multiple-user-roles'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
100
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
101
  </label>
102
  <ul>
103
  <li class="description">
104
+ <?php esc_html_e( 'Activating this option will disable the ability to select multiple roles for a user.', 'profile-builder' ); ?>
105
  </li>
106
  </ul>
107
  </td>
admin/advanced-settings/includes/views/view-fields.php CHANGED
@@ -11,71 +11,71 @@
11
  <table class="form-table">
12
 
13
  <tr>
14
- <th><?php _e( 'Automatically generate password for users', 'profile-builder' ); ?></th>
15
 
16
  <td>
17
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[automatically-generate-password]"<?php echo ( ( isset( $settings['automatically-generate-password'] ) && ( $settings['automatically-generate-password'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
18
- <?php _e( 'Yes', 'profile-builder' ); ?>
19
  </label>
20
 
21
  <ul>
22
  <li class="description">
23
- <?php _e( 'By checking this option, the password will be automatically generated and emailed to the user.', 'profile-builder' ); ?>
24
  </li>
25
  </ul>
26
  </td>
27
  </tr>
28
 
29
  <tr>
30
- <th><?php _e( 'Modify \'Send Credentials\' checkbox', 'profile-builder' ); ?></th>
31
 
32
  <td>
33
  <label><input type="checkbox" id="wppb-toolbox-send-credentials-hide" name="wppb_toolbox_fields_settings[send-credentials-hide]"<?php echo ( ( isset( $settings['send-credentials-hide'] ) && ( $settings['send-credentials-hide'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
34
- <?php _e( 'Hidden and checked', 'profile-builder' ); ?>
35
  </label>
36
 
37
  <ul class="wppb-toolbox-list wppb-toolbox-list--margin">
38
  <li>
39
- <strong><?php _e( 'Field text:', 'profile-builder' ); ?></strong>
40
  </li>
41
 
42
  <li id="toolbox-send-credentials-text">
43
- <input type="text" name="wppb_toolbox_fields_settings[send-credentials-text]" value="<?php echo ( !empty( $settings['send-credentials-text']) ? $settings['send-credentials-text'] : '' ); ?>">
44
  </li>
45
  </ul>
46
 
47
  <ul>
48
  <li class="description">
49
- <?php _e( 'By default, the user needs to choose if he wants to receive a registration email.', 'profile-builder' ); ?>
50
  </li>
51
  <li class="description">
52
- <?php _e( 'By checking the <strong>Hidden and checked</strong> option, the field won\'t be shown and the message will always be sent to the user.', 'profile-builder' ); ?>
53
  </li>
54
  <li class="description">
55
- <?php _e( 'If you choose to show the field, you can modify the default text by entering something in the field from above.', 'profile-builder' ); ?>
56
  </li>
57
  </ul>
58
  </td>
59
  </tr>
60
 
61
  <tr>
62
- <th><?php _e( 'Redirect users to a page if they have empty required fields', 'profile-builder' ); ?></th>
63
 
64
  <td>
65
  <label><input type="checkbox" id="wppb-toolbox-redirect-users-hide" name="wppb_toolbox_fields_settings[redirect-if-empty-required]"<?php echo ( ( isset( $settings['redirect-if-empty-required'] ) && ( $settings['redirect-if-empty-required'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
66
- <?php _e( 'Yes', 'profile-builder' ); ?>
67
  </label>
68
 
69
  <ul class="wppb-toolbox-list wppb-toolbox-list--margin" style="display:none">
70
  <li>
71
- <strong><?php _e( 'Redirect Page:', 'profile-builder' ); ?></strong>
72
  </li>
73
 
74
 
75
  <li id="toolbox-redirect-users-url">
76
 
77
  <select name="wppb_toolbox_fields_settings[redirect-if-empty-required-url]">
78
- <option value="-1"><?php _e( 'Choose...', 'paid-member-subscriptions' ) ?></option>
79
 
80
  <?php
81
  foreach( get_pages() as $page )
@@ -88,24 +88,24 @@
88
 
89
  <ul>
90
  <li class="description">
91
- <?php _e( 'By activating this option, logged in users which have empty required fields on their profile will be redirected to the page you added above.', 'profile-builder' ); ?>
92
  </li>
93
  <li class="description">
94
- <?php _e( 'For example, you can redirect these users to the Edit Profile form so they can add the missing info.', 'profile-builder' ); ?>
95
  </li>
96
  </ul>
97
  </td>
98
  </tr>
99
 
100
  <tr>
101
- <th><?php _e( 'Ban certain words from being used in fields', 'profile-builder' ); ?></th>
102
 
103
  <td>
104
  <ul class="wppb-toolbox-list">
105
  <li>
106
  <label>
107
  <input type="checkbox" name="wppb_toolbox_fields_settings[restricted-words]"<?php echo ( ( isset( $settings['restricted-words'] ) && ( $settings['restricted-words'] == 'on' ) ) ? ' checked' : '' ); ?> value="on" class="wppb-toolbox-switch">
108
- <?php _e( 'On', 'profile-builder' ); ?>
109
  </label>
110
  </li>
111
  </ul>
@@ -113,31 +113,31 @@
113
  <div class="wppb-toolbox-accordion">
114
  <ul class="wppb-toolbox-list">
115
  <li class="toolbox-label">
116
- <strong><?php _e( 'Affected fields:', 'profile-builder' ); ?></strong>
117
  </li>
118
  <li>
119
  <label>
120
  <input type="checkbox" name="wppb_toolbox_fields_settings[restricted-words-fields][]"<?php echo ( ( isset( $settings['restricted-words-fields'] ) && in_array( 'username', $settings['restricted-words-fields'] ) ) ? ' checked' : '' ); ?> value="username">
121
- <?php _e( 'Username', 'profile-builder' ); ?>
122
  </label>
123
  </li>
124
  <li>
125
  <label>
126
  <input type="checkbox" name="wppb_toolbox_fields_settings[restricted-words-fields][]"<?php echo ( ( isset( $settings['restricted-words-fields'] ) && in_array( 'first-name', $settings['restricted-words-fields'] ) ) ? ' checked' : '' ); ?> value="first-name">
127
- <?php _e( 'First Name', 'profile-builder' ); ?>
128
  </label>
129
  </li>
130
  <li>
131
  <label>
132
  <input type="checkbox" name="wppb_toolbox_fields_settings[restricted-words-fields][]"<?php echo ( ( isset( $settings['restricted-words-fields'] ) && in_array( 'last-name', $settings['restricted-words-fields'] ) ) ? ' checked' : '' ); ?> value="last-name">
133
- <?php _e( 'Last Name', 'profile-builder' ); ?>
134
  </label>
135
  </li>
136
  </ul>
137
 
138
  <ul class="wppb-toolbox-list">
139
  <li class="toolbox-label">
140
- <strong><?php _e( 'Banned words:', 'profile-builder' ); ?></strong>
141
  </li>
142
  <li class="toolbox-select2-container">
143
  <select id="toolbox-restricted-emails" class="wppb-select" name="wppb_toolbox_fields_settings[restricted-words-data][]" multiple="multiple">
@@ -145,7 +145,7 @@
145
  <?php
146
  if ( !empty( $settings['restricted-words-data'] ) ) {
147
  foreach( $settings['restricted-words-data'] as $domain ) {
148
- echo '<option value="'.$domain.'" selected>'.$domain.'</option>';
149
  }
150
  }
151
  ?>
@@ -156,10 +156,10 @@
156
 
157
  <ul class="wppb-toolbox-list">
158
  <li class="toolbox-label">
159
- <strong><?php _e( 'Error message:', 'profile-builder' ); ?></strong>
160
  </li>
161
  <li id="toolbox-restricted-email-domains-message">
162
- <input type="text" name="wppb_toolbox_fields_settings[restricted-words-message]" value="<?php echo ( !empty( $settings['restricted-words-message']) ? $settings['restricted-words-message'] : '' ); ?>">
163
  </li>
164
  </ul>
165
 
@@ -167,42 +167,42 @@
167
 
168
  <ul>
169
  <li class="description">
170
- <?php _e( 'Allows you to define some words which users cannot use in their Username, First Name or Last Name when registering.', 'profile-builder' ); ?>
171
  </li>
172
  </ul>
173
  </td>
174
  </tr>
175
 
176
  <tr>
177
- <th><?php _e( 'Unique \'Display Name\' for users', 'profile-builder' ); ?></th>
178
 
179
  <td>
180
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[unique-display-name]"<?php echo ( ( isset( $settings['unique-display-name'] ) && ( $settings['unique-display-name'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
181
- <?php _e( 'Yes', 'profile-builder' ); ?>
182
  </label>
183
 
184
  <ul>
185
  <li class="description">
186
- <?php _e( 'By checking this option, users will not be able to choose a <strong>Display Name</strong> that is already used by another account.', 'profile-builder' ); ?>
187
  </li>
188
  </ul>
189
  </td>
190
  </tr>
191
 
192
  <tr>
193
- <th><?php _e( 'Always capitalize \'First Name\' and \'Last Name\' default fields', 'profile-builder' ); ?></th>
194
 
195
  <td>
196
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[capitalize-first-last]"<?php echo ( ( isset( $settings['capitalize-first-last'] ) && ( $settings['capitalize-first-last'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
197
- <?php _e( 'Yes', 'profile-builder' ); ?>
198
  </label>
199
 
200
  <ul>
201
  <li class="description">
202
- <?php _e( 'If you have these fields in your forms, they will be always saved with the first letter as uppercase.', 'profile-builder' ); ?>
203
  </li>
204
  <li class="description">
205
- <?php _e( 'eg.: <strong>John Doe</strong> instead of <strong>john doe</strong>', 'profile-builder' ); ?>
206
  </li>
207
  </ul>
208
  </td>
@@ -210,16 +210,16 @@
210
 
211
  <?php if ( file_exists(WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php') ) : ?>
212
  <tr>
213
- <th><?php _e( 'Datepicker starts on Monday', 'profile-builder' ); ?></th>
214
 
215
  <td>
216
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[datepicker-starts-monday]"<?php echo ( ( isset( $settings['datepicker-starts-monday'] ) && ( $settings['datepicker-starts-monday'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
217
- <?php _e( 'Yes', 'profile-builder' ); ?>
218
  </label>
219
 
220
  <ul>
221
  <li class="description">
222
- <?php _e( 'Will make all Datepickers use Monday as the first day of the week.', 'profile-builder' ); ?>
223
  </li>
224
  </ul>
225
  </td>
@@ -233,19 +233,19 @@
233
  if ( $wppb_module_settings != false && isset( $wppb_module_settings['wppb_repeaterFields']) && $wppb_module_settings['wppb_repeaterFields'] == 'show' ) :
234
  ?>
235
  <tr>
236
- <th><?php _e( 'Hide Repeater Fields from the back-end profile page', 'profile-builder' ); ?></th>
237
 
238
  <td>
239
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[remove-repeater-fields]"<?php echo ( ( isset( $settings['remove-repeater-fields'] ) && ( $settings['remove-repeater-fields'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
240
- <?php _e( 'Yes', 'profile-builder' ); ?>
241
  </label>
242
 
243
  <ul>
244
  <li class="description">
245
- <?php _e( 'Repeater Fields from Profile Builder do not work on the back-end user profile page, they are just displayed. If you want to remove them completely, you can use this option.', 'profile-builder' ); ?>
246
  </li>
247
  <li class="description">
248
- <?php _e( 'You will still be able to use them from a front-end edit profile form.', 'profile-builder' ); ?>
249
  </li>
250
  </ul>
251
  </td>
@@ -253,16 +253,16 @@
253
  <?php endif; ?>
254
 
255
  <tr>
256
- <th><?php _e( 'Show the Password field visibility toggle', 'profile-builder' ); ?></th>
257
 
258
  <td>
259
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[password-visibility-hide]"<?php echo ( ( isset( $settings['password-visibility-hide'] ) && ( $settings['password-visibility-hide'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
260
- <?php _e( 'Yes', 'profile-builder' ); ?>
261
  </label>
262
 
263
  <ul>
264
  <li class="description">
265
- <?php _e( 'Activating this option will show a visibility toggle button for all Password fields.', 'profile-builder' ); ?>
266
  </li>
267
  </ul>
268
  </td>
@@ -270,16 +270,16 @@
270
 
271
  <?php if ( file_exists( WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php' ) ) : ?>
272
  <tr>
273
- <th><?php _e( 'Remove All Extra Fields from Backend edit profile page.', 'profile-builder' ); ?></th>
274
 
275
  <td>
276
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[remove-all-fields-from-backend]"<?php echo ( ( isset( $settings['remove-all-fields-from-backend'] ) && ( $settings['remove-all-fields-from-backend'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
277
- <?php _e( 'Yes', 'profile-builder' ); ?>
278
  </label>
279
 
280
  <ul>
281
  <li class="description">
282
- <?php _e( 'If you activate this option, it will remove all custom fields from the backend profile page created with Profile Builder.', 'profile-builder' ); ?>
283
  </li>
284
  </ul>
285
  </td>
@@ -288,16 +288,16 @@
288
 
289
  <?php if ( file_exists( WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php' ) ) : ?>
290
  <tr>
291
- <th><?php _e( 'Update database entries when changing meta key', 'profile-builder' ); ?></th>
292
 
293
  <td>
294
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[update-db-meta-keys]"<?php echo ( ( isset( $settings['update-db-meta-keys'] ) && ( $settings['update-db-meta-keys'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
295
- <?php _e( 'Yes', 'profile-builder' ); ?>
296
  </label>
297
 
298
  <ul>
299
  <li class="description">
300
- <?php _e( 'If you activate this option, when changing the meta key of a field, existing entries from the database will be updated as well.', 'profile-builder' ); ?>
301
  </li>
302
  </ul>
303
  </td>
11
  <table class="form-table">
12
 
13
  <tr>
14
+ <th><?php esc_html_e( 'Automatically generate password for users', 'profile-builder' ); ?></th>
15
 
16
  <td>
17
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[automatically-generate-password]"<?php echo ( ( isset( $settings['automatically-generate-password'] ) && ( $settings['automatically-generate-password'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
18
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
19
  </label>
20
 
21
  <ul>
22
  <li class="description">
23
+ <?php esc_html_e( 'By checking this option, the password will be automatically generated and emailed to the user.', 'profile-builder' ); ?>
24
  </li>
25
  </ul>
26
  </td>
27
  </tr>
28
 
29
  <tr>
30
+ <th><?php esc_html_e( 'Modify \'Send Credentials\' checkbox', 'profile-builder' ); ?></th>
31
 
32
  <td>
33
  <label><input type="checkbox" id="wppb-toolbox-send-credentials-hide" name="wppb_toolbox_fields_settings[send-credentials-hide]"<?php echo ( ( isset( $settings['send-credentials-hide'] ) && ( $settings['send-credentials-hide'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
34
+ <?php esc_html_e( 'Hidden and checked', 'profile-builder' ); ?>
35
  </label>
36
 
37
  <ul class="wppb-toolbox-list wppb-toolbox-list--margin">
38
  <li>
39
+ <strong><?php esc_html_e( 'Field text:', 'profile-builder' ); ?></strong>
40
  </li>
41
 
42
  <li id="toolbox-send-credentials-text">
43
+ <input type="text" name="wppb_toolbox_fields_settings[send-credentials-text]" value="<?php echo ( !empty( $settings['send-credentials-text']) ? esc_attr( $settings['send-credentials-text'] ) : '' ); ?>">
44
  </li>
45
  </ul>
46
 
47
  <ul>
48
  <li class="description">
49
+ <?php esc_html_e( 'By default, the user needs to choose if he wants to receive a registration email.', 'profile-builder' ); ?>
50
  </li>
51
  <li class="description">
52
+ <?php echo wp_kses_post( __( 'By checking the <strong>Hidden and checked</strong> option, the field won\'t be shown and the message will always be sent to the user.', 'profile-builder' ) ); ?>
53
  </li>
54
  <li class="description">
55
+ <?php esc_html_e( 'If you choose to show the field, you can modify the default text by entering something in the field from above.', 'profile-builder' ); ?>
56
  </li>
57
  </ul>
58
  </td>
59
  </tr>
60
 
61
  <tr>
62
+ <th><?php esc_html_e( 'Redirect users to a page if they have empty required fields', 'profile-builder' ); ?></th>
63
 
64
  <td>
65
  <label><input type="checkbox" id="wppb-toolbox-redirect-users-hide" name="wppb_toolbox_fields_settings[redirect-if-empty-required]"<?php echo ( ( isset( $settings['redirect-if-empty-required'] ) && ( $settings['redirect-if-empty-required'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
66
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
67
  </label>
68
 
69
  <ul class="wppb-toolbox-list wppb-toolbox-list--margin" style="display:none">
70
  <li>
71
+ <strong><?php esc_html_e( 'Redirect Page:', 'profile-builder' ); ?></strong>
72
  </li>
73
 
74
 
75
  <li id="toolbox-redirect-users-url">
76
 
77
  <select name="wppb_toolbox_fields_settings[redirect-if-empty-required-url]">
78
+ <option value="-1"><?php esc_html_e( 'Choose...', 'profile-builder' ) ?></option>
79
 
80
  <?php
81
  foreach( get_pages() as $page )
88
 
89
  <ul>
90
  <li class="description">
91
+ <?php esc_html_e( 'By activating this option, logged in users which have empty required fields on their profile will be redirected to the page you added above.', 'profile-builder' ); ?>
92
  </li>
93
  <li class="description">
94
+ <?php esc_html_e( 'For example, you can redirect these users to the Edit Profile form so they can add the missing info.', 'profile-builder' ); ?>
95
  </li>
96
  </ul>
97
  </td>
98
  </tr>
99
 
100
  <tr>
101
+ <th><?php esc_html_e( 'Ban certain words from being used in fields', 'profile-builder' ); ?></th>
102
 
103
  <td>
104
  <ul class="wppb-toolbox-list">
105
  <li>
106
  <label>
107
  <input type="checkbox" name="wppb_toolbox_fields_settings[restricted-words]"<?php echo ( ( isset( $settings['restricted-words'] ) && ( $settings['restricted-words'] == 'on' ) ) ? ' checked' : '' ); ?> value="on" class="wppb-toolbox-switch">
108
+ <?php esc_html_e( 'On', 'profile-builder' ); ?>
109
  </label>
110
  </li>
111
  </ul>
113
  <div class="wppb-toolbox-accordion">
114
  <ul class="wppb-toolbox-list">
115
  <li class="toolbox-label">
116
+ <strong><?php esc_html_e( 'Affected fields:', 'profile-builder' ); ?></strong>
117
  </li>
118
  <li>
119
  <label>
120
  <input type="checkbox" name="wppb_toolbox_fields_settings[restricted-words-fields][]"<?php echo ( ( isset( $settings['restricted-words-fields'] ) && in_array( 'username', $settings['restricted-words-fields'] ) ) ? ' checked' : '' ); ?> value="username">
121
+ <?php esc_html_e( 'Username', 'profile-builder' ); ?>
122
  </label>
123
  </li>
124
  <li>
125
  <label>
126
  <input type="checkbox" name="wppb_toolbox_fields_settings[restricted-words-fields][]"<?php echo ( ( isset( $settings['restricted-words-fields'] ) && in_array( 'first-name', $settings['restricted-words-fields'] ) ) ? ' checked' : '' ); ?> value="first-name">
127
+ <?php esc_html_e( 'First Name', 'profile-builder' ); ?>
128
  </label>
129
  </li>
130
  <li>
131
  <label>
132
  <input type="checkbox" name="wppb_toolbox_fields_settings[restricted-words-fields][]"<?php echo ( ( isset( $settings['restricted-words-fields'] ) && in_array( 'last-name', $settings['restricted-words-fields'] ) ) ? ' checked' : '' ); ?> value="last-name">
133
+ <?php esc_html_e( 'Last Name', 'profile-builder' ); ?>
134
  </label>
135
  </li>
136
  </ul>
137
 
138
  <ul class="wppb-toolbox-list">
139
  <li class="toolbox-label">
140
+ <strong><?php esc_html_e( 'Banned words:', 'profile-builder' ); ?></strong>
141
  </li>
142
  <li class="toolbox-select2-container">
143
  <select id="toolbox-restricted-emails" class="wppb-select" name="wppb_toolbox_fields_settings[restricted-words-data][]" multiple="multiple">
145
  <?php
146
  if ( !empty( $settings['restricted-words-data'] ) ) {
147
  foreach( $settings['restricted-words-data'] as $domain ) {
148
+ echo '<option value="'.esc_attr( $domain ).'" selected>'.esc_html( $domain ).'</option>';
149
  }
150
  }
151
  ?>
156
 
157
  <ul class="wppb-toolbox-list">
158
  <li class="toolbox-label">
159
+ <strong><?php esc_html_e( 'Error message:', 'profile-builder' ); ?></strong>
160
  </li>
161
  <li id="toolbox-restricted-email-domains-message">
162
+ <input type="text" name="wppb_toolbox_fields_settings[restricted-words-message]" value="<?php echo ( !empty( $settings['restricted-words-message']) ? esc_attr( $settings['restricted-words-message'] ) : '' ); ?>">
163
  </li>
164
  </ul>
165
 
167
 
168
  <ul>
169
  <li class="description">
170
+ <?php esc_html_e( 'Allows you to define some words which users cannot use in their Username, First Name or Last Name when registering.', 'profile-builder' ); ?>
171
  </li>
172
  </ul>
173
  </td>
174
  </tr>
175
 
176
  <tr>
177
+ <th><?php esc_html_e( 'Unique \'Display Name\' for users', 'profile-builder' ); ?></th>
178
 
179
  <td>
180
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[unique-display-name]"<?php echo ( ( isset( $settings['unique-display-name'] ) && ( $settings['unique-display-name'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
181
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
182
  </label>
183
 
184
  <ul>
185
  <li class="description">
186
+ <?php echo wp_kses_post( __( 'By checking this option, users will not be able to choose a <strong>Display Name</strong> that is already used by another account.', 'profile-builder' ) ); ?>
187
  </li>
188
  </ul>
189
  </td>
190
  </tr>
191
 
192
  <tr>
193
+ <th><?php esc_html_e( 'Always capitalize \'First Name\' and \'Last Name\' default fields', 'profile-builder' ); ?></th>
194
 
195
  <td>
196
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[capitalize-first-last]"<?php echo ( ( isset( $settings['capitalize-first-last'] ) && ( $settings['capitalize-first-last'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
197
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
198
  </label>
199
 
200
  <ul>
201
  <li class="description">
202
+ <?php esc_html_e( 'If you have these fields in your forms, they will be always saved with the first letter as uppercase.', 'profile-builder' ); ?>
203
  </li>
204
  <li class="description">
205
+ <?php echo wp_kses_post( __( 'eg.: <strong>John Doe</strong> instead of <strong>john doe</strong>', 'profile-builder' ) ); ?>
206
  </li>
207
  </ul>
208
  </td>
210
 
211
  <?php if ( file_exists(WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php') ) : ?>
212
  <tr>
213
+ <th><?php esc_html_e( 'Datepicker starts on Monday', 'profile-builder' ); ?></th>
214
 
215
  <td>
216
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[datepicker-starts-monday]"<?php echo ( ( isset( $settings['datepicker-starts-monday'] ) && ( $settings['datepicker-starts-monday'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
217
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
218
  </label>
219
 
220
  <ul>
221
  <li class="description">
222
+ <?php esc_html_e( 'Will make all Datepickers use Monday as the first day of the week.', 'profile-builder' ); ?>
223
  </li>
224
  </ul>
225
  </td>
233
  if ( $wppb_module_settings != false && isset( $wppb_module_settings['wppb_repeaterFields']) && $wppb_module_settings['wppb_repeaterFields'] == 'show' ) :
234
  ?>
235
  <tr>
236
+ <th><?php esc_html_e( 'Hide Repeater Fields from the back-end profile page', 'profile-builder' ); ?></th>
237
 
238
  <td>
239
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[remove-repeater-fields]"<?php echo ( ( isset( $settings['remove-repeater-fields'] ) && ( $settings['remove-repeater-fields'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
240
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
241
  </label>
242
 
243
  <ul>
244
  <li class="description">
245
+ <?php esc_html_e( 'Repeater Fields from Profile Builder do not work on the back-end user profile page, they are just displayed. If you want to remove them completely, you can use this option.', 'profile-builder' ); ?>
246
  </li>
247
  <li class="description">
248
+ <?php esc_html_e( 'You will still be able to use them from a front-end edit profile form.', 'profile-builder' ); ?>
249
  </li>
250
  </ul>
251
  </td>
253
  <?php endif; ?>
254
 
255
  <tr>
256
+ <th><?php esc_html_e( 'Show the Password field visibility toggle', 'profile-builder' ); ?></th>
257
 
258
  <td>
259
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[password-visibility-hide]"<?php echo ( ( isset( $settings['password-visibility-hide'] ) && ( $settings['password-visibility-hide'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
260
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
261
  </label>
262
 
263
  <ul>
264
  <li class="description">
265
+ <?php esc_html_e( 'Activating this option will show a visibility toggle button for all Password fields.', 'profile-builder' ); ?>
266
  </li>
267
  </ul>
268
  </td>
270
 
271
  <?php if ( file_exists( WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php' ) ) : ?>
272
  <tr>
273
+ <th><?php esc_html_e( 'Remove All Extra Fields from Backend edit profile page.', 'profile-builder' ); ?></th>
274
 
275
  <td>
276
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[remove-all-fields-from-backend]"<?php echo ( ( isset( $settings['remove-all-fields-from-backend'] ) && ( $settings['remove-all-fields-from-backend'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
277
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
278
  </label>
279
 
280
  <ul>
281
  <li class="description">
282
+ <?php esc_html_e( 'If you activate this option, it will remove all custom fields from the backend profile page created with Profile Builder.', 'profile-builder' ); ?>
283
  </li>
284
  </ul>
285
  </td>
288
 
289
  <?php if ( file_exists( WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php' ) ) : ?>
290
  <tr>
291
+ <th><?php esc_html_e( 'Update database entries when changing meta key', 'profile-builder' ); ?></th>
292
 
293
  <td>
294
  <label><input type="checkbox" name="wppb_toolbox_fields_settings[update-db-meta-keys]"<?php echo ( ( isset( $settings['update-db-meta-keys'] ) && ( $settings['update-db-meta-keys'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
295
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
296
  </label>
297
 
298
  <ul>
299
  <li class="description">
300
+ <?php esc_html_e( 'If you activate this option, when changing the meta key of a field, existing entries from the database will be updated as well.', 'profile-builder' ); ?>
301
  </li>
302
  </ul>
303
  </td>
admin/advanced-settings/includes/views/view-forms.php CHANGED
@@ -11,30 +11,30 @@
11
  <table class="form-table">
12
 
13
  <tr>
14
- <th><?php _e( 'Enable Placeholder Labels', 'profile-builder' ); ?></th>
15
 
16
  <td>
17
  <input type="hidden" name="wppb_toolbox_forms_settings[placeholder-labels]" value="">
18
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[placeholder-labels]"<?php echo ( ( isset( $settings['placeholder-labels'] ) && ( $settings['placeholder-labels'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
19
- <?php _e( 'Yes', 'profile-builder' ); ?>
20
  </label>
21
 
22
  <ul>
23
  <li class="description">
24
- <?php _e( 'Replace Labels with Placeholders in Profile Builder forms.', 'profile-builder' ); ?></li>
25
  </ul>
26
  </td>
27
  </tr>
28
 
29
  <tr>
30
- <th><?php _e( 'Allow or deny email domains from registering', 'profile-builder' ); ?></th>
31
 
32
  <td>
33
  <ul class="wppb-toolbox-list">
34
  <li>
35
  <label>
36
  <input type="checkbox" name="wppb_toolbox_forms_settings[restricted-email-domains]"<?php echo ( ( isset( $settings['restricted-email-domains'] ) && ( $settings['restricted-email-domains'] == 'on' ) ) ? ' checked' : '' ); ?> value="on" class="wppb-toolbox-switch">
37
- <?php _e( 'On', 'profile-builder' ); ?>
38
  </label>
39
  </li>
40
  </ul>
@@ -42,25 +42,25 @@
42
  <div class="wppb-toolbox-accordion">
43
  <ul class="wppb-toolbox-list">
44
  <li class="toolbox-label">
45
- <strong><?php _e( 'Type:', 'profile-builder' ); ?></strong>
46
  </li>
47
  <li>
48
  <label>
49
  <input type="radio" name="wppb_toolbox_forms_settings[restricted-email-domains-type]"<?php echo ( ( isset( $settings['restricted-email-domains-type'] ) && ( $settings['restricted-email-domains-type'] == 'allow' ) ) ? ' checked' : '' ); ?> value="allow">
50
- <?php _e( 'Allow', 'profile-builder' ); ?>
51
  </label>
52
  </li>
53
  <li>
54
  <label>
55
  <input type="radio" name="wppb_toolbox_forms_settings[restricted-email-domains-type]"<?php echo ( ( isset( $settings['restricted-email-domains-type'] ) && ( $settings['restricted-email-domains-type'] == 'deny' ) ) ? ' checked' : '' ); ?> value="deny">
56
- <?php _e( 'Deny', 'profile-builder' ); ?>
57
  </label>
58
  </li>
59
  </ul>
60
 
61
  <ul class="wppb-toolbox-list">
62
  <li class="toolbox-label">
63
- <strong><?php _e( 'Restricted domains:', 'profile-builder' ); ?></strong>
64
  </li>
65
  <li class="toolbox-select2-container">
66
  <select id="toolbox-restricted-emails" class="wppb-select" name="wppb_toolbox_forms_settings[restricted-email-domains-data][]" multiple="multiple">
@@ -68,7 +68,7 @@
68
  <?php
69
  if ( !empty( $settings['restricted-email-domains-data'] ) ) {
70
  foreach( $settings['restricted-email-domains-data'] as $domain ) {
71
- echo '<option value="'.$domain.'" selected>'.$domain.'</option>';
72
  }
73
  }
74
  ?>
@@ -79,10 +79,10 @@
79
 
80
  <ul class="wppb-toolbox-list">
81
  <li class="toolbox-label">
82
- <strong><?php _e( 'Error message:', 'profile-builder' ); ?></strong>
83
  </li>
84
  <li id="toolbox-restricted-email-domains-message">
85
- <input type="text" name="wppb_toolbox_forms_settings[restricted-email-domains-message]" value="<?php echo ( !empty( $settings['restricted-email-domains-message']) ? $settings['restricted-email-domains-message'] : '' ); ?>">
86
  </li>
87
  </ul>
88
 
@@ -90,10 +90,10 @@
90
 
91
  <ul>
92
  <li class="description">
93
- <?php _e( 'This option lets you allow registrations only from certain domains or deny registrations from certain domains.', 'profile-builder' ); ?>
94
  </li>
95
  <li class="description">
96
- <?php _e( 'You should add only the domain in the list from above. eg.: gmail.com', 'profile-builder' ); ?>
97
  </li>
98
  </ul>
99
  </td>
@@ -105,7 +105,7 @@
105
  if ( $wppb_module_settings != false && isset( $wppb_module_settings['wppb_multipleRegistrationForms']) && $wppb_module_settings['wppb_multipleRegistrationForms'] == 'show' ) :
106
  ?>
107
  <tr>
108
- <th scope="row"><?php _e( 'Forms that should bypass Email Confirmation', 'profile-builder' ); ?></th>
109
 
110
  <td>
111
  <label>
@@ -119,8 +119,8 @@
119
  $form_slug = trim( Wordpress_Creation_Kit_PB::wck_generate_slug( $form->post_title ) );
120
 
121
  ?>
122
- <option value="<?php echo $form_slug; ?>" <?php echo ( ( isset( $settings['ec-bypass'] ) && in_array( $form_slug, $settings['ec-bypass'] ) ) ? 'selected' : '' ); ?>>
123
- <?php echo $form->post_title; ?>
124
  </option>
125
  <?php
126
  }
@@ -132,7 +132,7 @@
132
 
133
  <ul>
134
  <li class="description">
135
- <?php _e( 'Users registering through any of the selected forms will not need to confirm their email address.', 'profile-builder' ); ?>
136
  </li>
137
  </ul>
138
  </td>
@@ -141,48 +141,48 @@
141
 
142
  <?php if ( is_plugin_active( 'pb-add-on-social-connect/index.php' ) ) : ?>
143
  <tr>
144
- <th><?php _e( 'Disable Email Confirmation for Social Connect registrations', 'profile-builder' ); ?></th>
145
 
146
  <td>
147
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[social-connect-bypass-ec]"<?php echo ( ( isset( $settings['social-connect-bypass-ec'] ) && ( $settings['social-connect-bypass-ec'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
148
- <?php _e( 'Yes', 'profile-builder' ); ?>
149
  </label>
150
 
151
  <ul>
152
  <li class="description">
153
- <?php _e( 'If checked, will allow users that register through the Social Connect add-on to bypass the Email Confirmation feature.', 'profile-builder' ); ?>
154
  </li>
155
  </ul>
156
  </td>
157
  </tr>
158
  <?php endif; ?>
159
-
160
  <tr>
161
- <th><?php _e( 'Remember me checked by default', 'profile-builder' ); ?></th>
162
 
163
  <td>
164
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[remember-me]"<?php echo ( ( isset( $settings['remember-me'] ) && ( $settings['remember-me'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
165
- <?php _e( 'Yes', 'profile-builder' ); ?>
166
  </label>
167
 
168
  <ul>
169
  <li class="description">
170
- <?php _e( 'Check the \'Remember Me\' checkbox on Login forms, by default.', 'profile-builder' ); ?></li>
171
  </ul>
172
  </td>
173
  </tr>
174
 
175
  <tr>
176
- <th><?php _e( 'Remove validation from back-end profile page', 'profile-builder' ); ?></th>
177
 
178
  <td>
179
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[back-end-validation]"<?php echo ( ( isset( $settings['back-end-validation'] ) && ( $settings['back-end-validation'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
180
- <?php _e( 'Yes', 'profile-builder' ); ?>
181
  </label>
182
 
183
  <ul>
184
  <li class="description">
185
- <?php _e( 'When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute', 'profile-builder' ); ?>
186
  </li>
187
  </ul>
188
  </td>
@@ -193,16 +193,16 @@
193
 
194
  if ( $users['total_users'] >= 5000 ) : ?>
195
  <tr>
196
- <th><?php _e( 'Always show edit other users dropdown', 'profile-builder' ); ?></th>
197
 
198
  <td>
199
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[edit-other-users-limit]"<?php echo ( ( isset( $settings['edit-other-users-limit'] ) && ( $settings['edit-other-users-limit'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
200
- <?php _e( 'Yes', 'profile-builder' ); ?>
201
  </label>
202
 
203
  <ul>
204
  <li class="description">
205
- <?php _e( 'For perfomance reasons, we disable the select if you have more than 5000 users on your website. This option lets you enable it again.', 'profile-builder' ); ?>
206
  </li>
207
  </ul>
208
  </td>
@@ -210,19 +210,17 @@
210
  <?php endif; ?>
211
 
212
  <tr>
213
- <th><?php _e( 'Consider \'Anyone can Register\' WordPress option', 'profile-builder' ); ?></th>
214
 
215
  <td>
216
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[users-can-register]"<?php echo ( ( isset( $settings['users-can-register'] ) && ( $settings['users-can-register'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
217
- <?php _e( 'Yes', 'profile-builder' ); ?>
218
  </label>
219
 
220
  <ul>
221
  <li class="description">
222
  <?php
223
- $general_settings_url = '<a href="'. admin_url( 'options-general.php' ) .'" target="_blank">' . __( 'setting', 'profile-builder' ) . '</a>';
224
-
225
- printf( __( 'By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it.', 'profile-builder' ), $general_settings_url );
226
  ?>
227
  </li>
228
  </ul>
@@ -230,17 +228,17 @@
230
  </tr>
231
 
232
  <tr>
233
- <th><?php _e( 'Modify default Redirect Delay timer', 'profile-builder' ); ?></th>
234
 
235
  <td>
236
- <input type="text" name="wppb_toolbox_forms_settings[redirect-delay-timer]" value="<?php echo ( ( !empty( $settings['redirect-delay-timer'] ) || ( isset( $settings['redirect-delay-timer'] ) && $settings['redirect-delay-timer'] == 0 ) ) ? $settings['redirect-delay-timer'] : '' ); ?>">
237
 
238
  <ul>
239
  <li class="description">
240
- <?php _e( 'This allows you to change the amount of seconds it takes for the <strong>\'After Registration\'</strong> redirect to happen.', 'profile-builder' ); ?>
241
  </li>
242
  <li class="description">
243
- <?php _e( 'The default is 3 seconds. Leave empty if you do not want to change it.', 'profile-builder' ); ?>
244
  </li>
245
  </ul>
246
  </td>
@@ -248,19 +246,19 @@
248
 
249
  <?php if ( file_exists( WPPB_PLUGIN_DIR.'/features/admin-approval/admin-approval.php' ) ) : ?>
250
  <tr>
251
- <th><?php _e( 'Save Admin Approval status in usermeta', 'profile-builder' ); ?></th>
252
 
253
  <td>
254
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[save-admin-approval-status]"<?php echo ( ( isset( $settings['save-admin-approval-status'] ) && ( $settings['save-admin-approval-status'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
255
- <?php _e( 'Yes', 'profile-builder' ); ?>
256
  </label>
257
 
258
  <ul>
259
  <li class="description">
260
- <?php _e( 'By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user.', 'profile-builder' ); ?>
261
  </li>
262
  <li class="description">
263
- <?php _e( 'If you check this option, the status will also be saved in the \'*_usermeta\' table under the <strong>wppb_approval_status</strong> meta name.', 'profile-builder' ); ?>
264
  </li>
265
  </ul>
266
  </td>
@@ -269,19 +267,19 @@
269
 
270
  <?php if ( file_exists( WPPB_PLUGIN_DIR.'/features/admin-approval/admin-approval.php' ) ) : ?>
271
  <tr>
272
- <th><?php _e( 'Redirect \'/author\' page if user is not approved', 'profile-builder' ); ?></th>
273
 
274
  <td>
275
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[redirect-author-page]"<?php echo ( ( isset( $settings['redirect-author-page'] ) && ( $settings['redirect-author-page'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
276
- <?php _e( 'Yes', 'profile-builder' ); ?>
277
  </label>
278
 
279
  <ul>
280
  <li class="description">
281
- <?php _e( 'By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible.', 'profile-builder' ); ?>
282
  </li>
283
  <li class="description">
284
- <?php _e( 'Using this option you can redirect these pages, sending users who try to access them to your home page.', 'profile-builder' ); ?>
285
  </li>
286
  </ul>
287
  </td>
@@ -289,63 +287,63 @@
289
  <?php endif; ?>
290
 
291
  <tr>
292
- <th><?php _e( 'Save \'Last Login\' date in usermeta', 'profile-builder' ); ?></th>
293
 
294
  <td>
295
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[save-last-login]"<?php echo ( ( isset( $settings['save-last-login'] ) && ( $settings['save-last-login'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
296
- <?php _e( 'Yes', 'profile-builder' ); ?>
297
  </label>
298
 
299
  <ul>
300
  <li class="description">
301
- <?php _e( 'By checking this option, each time a user logins, the date and time will be saved in the database.', 'profile-builder' ); ?>
302
  </li>
303
  <li class="description">
304
- <?php _e( 'The meta name for the field will be <strong>last_login_date</strong>.', 'profile-builder' ); ?>
305
  </li>
306
  <li class="description">
307
- <?php _e( '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.', 'profile-builder' ); ?>
308
  </li>
309
  </ul>
310
  </td>
311
  </tr>
312
 
313
  <tr>
314
- <th><?php _e( 'Save \'Last Profile Update\' date in usermeta', 'profile-builder' ); ?></th>
315
 
316
  <td>
317
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[save-last-profile-update]"<?php echo ( ( isset( $settings['save-last-profile-update'] ) && ( $settings['save-last-profile-update'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
318
- <?php _e( 'Yes', 'profile-builder' ); ?>
319
  </label>
320
 
321
  <ul>
322
  <li class="description">
323
- <?php _e( 'By checking this option, each time a modifies his profile the date and time will be saved in the database.', 'profile-builder' ); ?>
324
  </li>
325
  <li class="description">
326
- <?php _e( 'The meta name for the field will be <strong>last_profile_update_date</strong>.', 'profile-builder' ); ?>
327
  </li>
328
  <li class="description">
329
- <?php _e( '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.', 'profile-builder' ); ?>
330
  </li>
331
  </ul>
332
  </td>
333
  </tr>
334
 
335
  <tr>
336
- <th><?php _e( 'Disable automatic scrolling after submit', 'profile-builder' ); ?></th>
337
 
338
  <td>
339
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[disable-automatic-scrolling]"<?php echo ( ( isset( $settings['disable-automatic-scrolling'] ) && ( $settings['disable-automatic-scrolling'] == 'yes' ) ) ? ' checked' : '' );?> value="yes">
340
- <?php _e( 'Yes', 'profile-builder' ); ?>
341
  </label>
342
 
343
  <ul>
344
  <li class="description">
345
- <?php _e( 'By default, after each form submission the page will automatically scroll to the form message.', 'profile-builder' ); ?>
346
  </li>
347
  <li class="description">
348
- <?php _e( 'If you check this option, automatic scrolling will be disabled.', 'profile-builder' ); ?>
349
  </li>
350
  </ul>
351
  </td>
@@ -353,18 +351,18 @@
353
 
354
  <?php if( wppb_conditional_fields_exists() ): ?>
355
  <tr>
356
- <th scope="row"><?php _e( 'Use ajax on conditional fields:', 'profile-builder' );?></th>
357
 
358
  <td>
359
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[ajax-conditional-logic]"<?php echo ( ( isset( $settings['ajax-conditional-logic'] ) && ( $settings['ajax-conditional-logic'] == 'yes' ) ) ? ' checked' : '' );?> value="yes">
360
- <?php _e( 'Yes', 'profile-builder' ); ?>
361
  </label>
362
  <ul>
363
  <li class="description">
364
- <?php _e( 'For large conditional forms.', 'profile-builder' ); ?>
365
  </li>
366
  <li class="description">
367
- <?php _e( 'Select "Yes" for improved page performance.', 'profile-builder' ); ?>
368
  </li>
369
  </ul>
370
  </td>
11
  <table class="form-table">
12
 
13
  <tr>
14
+ <th><?php esc_html_e( 'Enable Placeholder Labels', 'profile-builder' ); ?></th>
15
 
16
  <td>
17
  <input type="hidden" name="wppb_toolbox_forms_settings[placeholder-labels]" value="">
18
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[placeholder-labels]"<?php echo ( ( isset( $settings['placeholder-labels'] ) && ( $settings['placeholder-labels'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
19
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
20
  </label>
21
 
22
  <ul>
23
  <li class="description">
24
+ <?php esc_html_e( 'Replace Labels with Placeholders in Profile Builder forms.', 'profile-builder' ); ?></li>
25
  </ul>
26
  </td>
27
  </tr>
28
 
29
  <tr>
30
+ <th><?php esc_html_e( 'Allow or deny email domains from registering', 'profile-builder' ); ?></th>
31
 
32
  <td>
33
  <ul class="wppb-toolbox-list">
34
  <li>
35
  <label>
36
  <input type="checkbox" name="wppb_toolbox_forms_settings[restricted-email-domains]"<?php echo ( ( isset( $settings['restricted-email-domains'] ) && ( $settings['restricted-email-domains'] == 'on' ) ) ? ' checked' : '' ); ?> value="on" class="wppb-toolbox-switch">
37
+ <?php esc_html_e( 'On', 'profile-builder' ); ?>
38
  </label>
39
  </li>
40
  </ul>
42
  <div class="wppb-toolbox-accordion">
43
  <ul class="wppb-toolbox-list">
44
  <li class="toolbox-label">
45
+ <strong><?php esc_html_e( 'Type:', 'profile-builder' ); ?></strong>
46
  </li>
47
  <li>
48
  <label>
49
  <input type="radio" name="wppb_toolbox_forms_settings[restricted-email-domains-type]"<?php echo ( ( isset( $settings['restricted-email-domains-type'] ) && ( $settings['restricted-email-domains-type'] == 'allow' ) ) ? ' checked' : '' ); ?> value="allow">
50
+ <?php esc_html_e( 'Allow', 'profile-builder' ); ?>
51
  </label>
52
  </li>
53
  <li>
54
  <label>
55
  <input type="radio" name="wppb_toolbox_forms_settings[restricted-email-domains-type]"<?php echo ( ( isset( $settings['restricted-email-domains-type'] ) && ( $settings['restricted-email-domains-type'] == 'deny' ) ) ? ' checked' : '' ); ?> value="deny">
56
+ <?php esc_html_e( 'Deny', 'profile-builder' ); ?>
57
  </label>
58
  </li>
59
  </ul>
60
 
61
  <ul class="wppb-toolbox-list">
62
  <li class="toolbox-label">
63
+ <strong><?php esc_html_e( 'Restricted domains:', 'profile-builder' ); ?></strong>
64
  </li>
65
  <li class="toolbox-select2-container">
66
  <select id="toolbox-restricted-emails" class="wppb-select" name="wppb_toolbox_forms_settings[restricted-email-domains-data][]" multiple="multiple">
68
  <?php
69
  if ( !empty( $settings['restricted-email-domains-data'] ) ) {
70
  foreach( $settings['restricted-email-domains-data'] as $domain ) {
71
+ echo '<option value="'.esc_attr( $domain ).'" selected>'.esc_html( $domain ).'</option>';
72
  }
73
  }
74
  ?>
79
 
80
  <ul class="wppb-toolbox-list">
81
  <li class="toolbox-label">
82
+ <strong><?php esc_html_e( 'Error message:', 'profile-builder' ); ?></strong>
83
  </li>
84
  <li id="toolbox-restricted-email-domains-message">
85
+ <input type="text" name="wppb_toolbox_forms_settings[restricted-email-domains-message]" value="<?php echo ( !empty( $settings['restricted-email-domains-message']) ? esc_attr( $settings['restricted-email-domains-message'] ) : '' ); ?>">
86
  </li>
87
  </ul>
88
 
90
 
91
  <ul>
92
  <li class="description">
93
+ <?php esc_html_e( 'This option lets you allow registrations only from certain domains or deny registrations from certain domains.', 'profile-builder' ); ?>
94
  </li>
95
  <li class="description">
96
+ <?php esc_html_e( 'You should add only the domain in the list from above. eg.: gmail.com', 'profile-builder' ); ?>
97
  </li>
98
  </ul>
99
  </td>
105
  if ( $wppb_module_settings != false && isset( $wppb_module_settings['wppb_multipleRegistrationForms']) && $wppb_module_settings['wppb_multipleRegistrationForms'] == 'show' ) :
106
  ?>
107
  <tr>
108
+ <th scope="row"><?php esc_html_e( 'Forms that should bypass Email Confirmation', 'profile-builder' ); ?></th>
109
 
110
  <td>
111
  <label>
119
  $form_slug = trim( Wordpress_Creation_Kit_PB::wck_generate_slug( $form->post_title ) );
120
 
121
  ?>
122
+ <option value="<?php echo esc_attr( $form_slug ); ?>" <?php echo ( ( isset( $settings['ec-bypass'] ) && in_array( $form_slug, $settings['ec-bypass'] ) ) ? 'selected' : '' ); ?>>
123
+ <?php echo esc_html( $form->post_title ); ?>
124
  </option>
125
  <?php
126
  }
132
 
133
  <ul>
134
  <li class="description">
135
+ <?php esc_html_e( 'Users registering through any of the selected forms will not need to confirm their email address.', 'profile-builder' ); ?>
136
  </li>
137
  </ul>
138
  </td>
141
 
142
  <?php if ( is_plugin_active( 'pb-add-on-social-connect/index.php' ) ) : ?>
143
  <tr>
144
+ <th><?php esc_html_e( 'Disable Email Confirmation for Social Connect registrations', 'profile-builder' ); ?></th>
145
 
146
  <td>
147
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[social-connect-bypass-ec]"<?php echo ( ( isset( $settings['social-connect-bypass-ec'] ) && ( $settings['social-connect-bypass-ec'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
148
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
149
  </label>
150
 
151
  <ul>
152
  <li class="description">
153
+ <?php esc_html_e( 'If checked, will allow users that register through the Social Connect add-on to bypass the Email Confirmation feature.', 'profile-builder' ); ?>
154
  </li>
155
  </ul>
156
  </td>
157
  </tr>
158
  <?php endif; ?>
159
+
160
  <tr>
161
+ <th><?php esc_html_e( 'Remember me checked by default', 'profile-builder' ); ?></th>
162
 
163
  <td>
164
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[remember-me]"<?php echo ( ( isset( $settings['remember-me'] ) && ( $settings['remember-me'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
165
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
166
  </label>
167
 
168
  <ul>
169
  <li class="description">
170
+ <?php esc_html_e( 'Check the \'Remember Me\' checkbox on Login forms, by default.', 'profile-builder' ); ?></li>
171
  </ul>
172
  </td>
173
  </tr>
174
 
175
  <tr>
176
+ <th><?php esc_html_e( 'Remove validation from back-end profile page', 'profile-builder' ); ?></th>
177
 
178
  <td>
179
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[back-end-validation]"<?php echo ( ( isset( $settings['back-end-validation'] ) && ( $settings['back-end-validation'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
180
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
181
  </label>
182
 
183
  <ul>
184
  <li class="description">
185
+ <?php esc_html_e( 'When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute', 'profile-builder' ); ?>
186
  </li>
187
  </ul>
188
  </td>
193
 
194
  if ( $users['total_users'] >= 5000 ) : ?>
195
  <tr>
196
+ <th><?php esc_html_e( 'Always show edit other users dropdown', 'profile-builder' ); ?></th>
197
 
198
  <td>
199
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[edit-other-users-limit]"<?php echo ( ( isset( $settings['edit-other-users-limit'] ) && ( $settings['edit-other-users-limit'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
200
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
201
  </label>
202
 
203
  <ul>
204
  <li class="description">
205
+ <?php esc_html_e( 'For perfomance reasons, we disable the select if you have more than 5000 users on your website. This option lets you enable it again.', 'profile-builder' ); ?>
206
  </li>
207
  </ul>
208
  </td>
210
  <?php endif; ?>
211
 
212
  <tr>
213
+ <th><?php esc_html_e( 'Consider \'Anyone can Register\' WordPress option', 'profile-builder' ); ?></th>
214
 
215
  <td>
216
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[users-can-register]"<?php echo ( ( isset( $settings['users-can-register'] ) && ( $settings['users-can-register'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
217
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
218
  </label>
219
 
220
  <ul>
221
  <li class="description">
222
  <?php
223
+ echo wp_kses_post( sprintf( __( 'By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it.', 'profile-builder' ), '<a href="'. esc_url( admin_url( 'options-general.php' ) ) .'" target="_blank">' . esc_html__( 'setting', 'profile-builder' ) . '</a>' ) );
 
 
224
  ?>
225
  </li>
226
  </ul>
228
  </tr>
229
 
230
  <tr>
231
+ <th><?php esc_html_e( 'Modify default Redirect Delay timer', 'profile-builder' ); ?></th>
232
 
233
  <td>
234
+ <input type="text" name="wppb_toolbox_forms_settings[redirect-delay-timer]" value="<?php echo ( ( !empty( $settings['redirect-delay-timer'] ) || ( isset( $settings['redirect-delay-timer'] ) && $settings['redirect-delay-timer'] == 0 ) ) ? esc_attr( $settings['redirect-delay-timer'] ) : '' ); ?>">
235
 
236
  <ul>
237
  <li class="description">
238
+ <?php echo wp_kses_post( __( 'This allows you to change the amount of seconds it takes for the <strong>\'After Registration\'</strong> redirect to happen.', 'profile-builder' ) ); ?>
239
  </li>
240
  <li class="description">
241
+ <?php esc_html_e( 'The default is 3 seconds. Leave empty if you do not want to change it.', 'profile-builder' ); ?>
242
  </li>
243
  </ul>
244
  </td>
246
 
247
  <?php if ( file_exists( WPPB_PLUGIN_DIR.'/features/admin-approval/admin-approval.php' ) ) : ?>
248
  <tr>
249
+ <th><?php esc_html_e( 'Save Admin Approval status in usermeta', 'profile-builder' ); ?></th>
250
 
251
  <td>
252
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[save-admin-approval-status]"<?php echo ( ( isset( $settings['save-admin-approval-status'] ) && ( $settings['save-admin-approval-status'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
253
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
254
  </label>
255
 
256
  <ul>
257
  <li class="description">
258
+ <?php esc_html_e( 'By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user.', 'profile-builder' ); ?>
259
  </li>
260
  <li class="description">
261
+ <?php echo wp_kses_post( __( 'If you check this option, the status will also be saved in the \'*_usermeta\' table under the <strong>wppb_approval_status</strong> meta name.', 'profile-builder' ) ); ?>
262
  </li>
263
  </ul>
264
  </td>
267
 
268
  <?php if ( file_exists( WPPB_PLUGIN_DIR.'/features/admin-approval/admin-approval.php' ) ) : ?>
269
  <tr>
270
+ <th><?php esc_html_e( 'Redirect \'/author\' page if user is not approved', 'profile-builder' ); ?></th>
271
 
272
  <td>
273
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[redirect-author-page]"<?php echo ( ( isset( $settings['redirect-author-page'] ) && ( $settings['redirect-author-page'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
274
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
275
  </label>
276
 
277
  <ul>
278
  <li class="description">
279
+ <?php esc_html_e( 'By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible.', 'profile-builder' ); ?>
280
  </li>
281
  <li class="description">
282
+ <?php esc_html_e( 'Using this option you can redirect these pages, sending users who try to access them to your home page.', 'profile-builder' ); ?>
283
  </li>
284
  </ul>
285
  </td>
287
  <?php endif; ?>
288
 
289
  <tr>
290
+ <th><?php esc_html_e( 'Save \'Last Login\' date in usermeta', 'profile-builder' ); ?></th>
291
 
292
  <td>
293
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[save-last-login]"<?php echo ( ( isset( $settings['save-last-login'] ) && ( $settings['save-last-login'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
294
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
295
  </label>
296
 
297
  <ul>
298
  <li class="description">
299
+ <?php esc_html_e( 'By checking this option, each time a user logins, the date and time will be saved in the database.', 'profile-builder' ); ?>
300
  </li>
301
  <li class="description">
302
+ <?php echo wp_kses_post( __( 'The meta name for the field will be <strong>last_login_date</strong>.', 'profile-builder' ) ); ?>
303
  </li>
304
  <li class="description">
305
+ <?php echo wp_kses_post( __( '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.', 'profile-builder' ) ); ?>
306
  </li>
307
  </ul>
308
  </td>
309
  </tr>
310
 
311
  <tr>
312
+ <th><?php esc_html_e( 'Save \'Last Profile Update\' date in usermeta', 'profile-builder' ); ?></th>
313
 
314
  <td>
315
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[save-last-profile-update]"<?php echo ( ( isset( $settings['save-last-profile-update'] ) && ( $settings['save-last-profile-update'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
316
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
317
  </label>
318
 
319
  <ul>
320
  <li class="description">
321
+ <?php esc_html_e( 'By checking this option, each time a modifies his profile the date and time will be saved in the database.', 'profile-builder' ); ?>
322
  </li>
323
  <li class="description">
324
+ <?php echo wp_kses_post( __( 'The meta name for the field will be <strong>last_profile_update_date</strong>.', 'profile-builder' ) ); ?>
325
  </li>
326
  <li class="description">
327
+ <?php echo wp_kses_post( __( '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.', 'profile-builder' ) ); ?>
328
  </li>
329
  </ul>
330
  </td>
331
  </tr>
332
 
333
  <tr>
334
+ <th><?php esc_html_e( 'Disable automatic scrolling after submit', 'profile-builder' ); ?></th>
335
 
336
  <td>
337
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[disable-automatic-scrolling]"<?php echo ( ( isset( $settings['disable-automatic-scrolling'] ) && ( $settings['disable-automatic-scrolling'] == 'yes' ) ) ? ' checked' : '' );?> value="yes">
338
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
339
  </label>
340
 
341
  <ul>
342
  <li class="description">
343
+ <?php esc_html_e( 'By default, after each form submission the page will automatically scroll to the form message.', 'profile-builder' ); ?>
344
  </li>
345
  <li class="description">
346
+ <?php esc_html_e( 'If you check this option, automatic scrolling will be disabled.', 'profile-builder' ); ?>
347
  </li>
348
  </ul>
349
  </td>
351
 
352
  <?php if( wppb_conditional_fields_exists() ): ?>
353
  <tr>
354
+ <th scope="row"><?php esc_html_e( 'Use ajax on conditional fields:', 'profile-builder' );?></th>
355
 
356
  <td>
357
  <label><input type="checkbox" name="wppb_toolbox_forms_settings[ajax-conditional-logic]"<?php echo ( ( isset( $settings['ajax-conditional-logic'] ) && ( $settings['ajax-conditional-logic'] == 'yes' ) ) ? ' checked' : '' );?> value="yes">
358
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
359
  </label>
360
  <ul>
361
  <li class="description">
362
+ <?php esc_html_e( 'For large conditional forms.', 'profile-builder' ); ?>
363
  </li>
364
  <li class="description">
365
+ <?php esc_html_e( 'Select "Yes" for improved page performance.', 'profile-builder' ); ?>
366
  </li>
367
  </ul>
368
  </td>
admin/advanced-settings/includes/views/view-shortcodes.php CHANGED
@@ -9,64 +9,64 @@
9
  <table class="form-table">
10
 
11
  <tr>
12
- <th><?php _e( 'Enable Compare shortcode', 'profile-builder' ); ?></th>
13
 
14
  <td>
15
  <label><input type="checkbox" name="wppb_toolbox_shortcodes_settings[compare]"<?php echo ( ( isset( $settings['compare'] ) && ( $settings['compare'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
16
- <?php _e( 'Yes', 'profile-builder' ); ?>
17
  </label>
18
 
19
  <ul>
20
  <li class="description">
21
- <?php _e( 'You can read more info about this shortcode by following <a href="https://www.cozmoslabs.com/docs/profile-builder-2/developers-knowledge-base/shortcodes/compare-shortcode/">this url</a>.', 'profile-builder' ); ?>
22
  </li>
23
  </ul>
24
  </td>
25
  </tr>
26
 
27
  <tr>
28
- <th><?php _e( 'Enable Usermeta shortcode', 'profile-builder' ); ?></th>
29
 
30
  <td>
31
  <label><input type="checkbox" name="wppb_toolbox_shortcodes_settings[usermeta]"<?php echo ( ( isset( $settings['usermeta'] ) && ( $settings['usermeta'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
32
- <?php _e( 'Yes', 'profile-builder' ); ?>
33
  </label>
34
 
35
  <ul>
36
  <li class="description">
37
- <?php _e( 'You can read more info about this shortcode by following <a href="https://www.cozmoslabs.com/docs/profile-builder-2/developers-knowledge-base/shortcodes/display-user-meta/">this url</a>.', 'profile-builder' ); ?>
38
  </li>
39
  </ul>
40
  </td>
41
  </tr>
42
 
43
  <tr>
44
- <th><?php _e( 'Enable Resend Activation Email shortcode', 'profile-builder' ); ?></th>
45
 
46
  <td>
47
  <label><input type="checkbox" name="wppb_toolbox_shortcodes_settings[resend-activation]"<?php echo ( ( isset( $settings['resend-activation'] ) && ( $settings['resend-activation'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
48
- <?php _e( 'Yes', 'profile-builder' ); ?>
49
  </label>
50
 
51
  <ul>
52
  <li class="description">
53
- <?php _e( 'You can read more info about this shortcode by following <a href="https://www.cozmoslabs.com/docs/profile-builder-2/developers-knowledge-base/shortcodes/resend-confirmation-email/">this url</a>.', 'profile-builder' ); ?>
54
  </li>
55
  </ul>
56
  </td>
57
  </tr>
58
 
59
  <tr>
60
- <th><?php _e( 'Enable Format Date shortcode', 'profile-builder' ); ?></th>
61
 
62
  <td>
63
  <label><input type="checkbox" name="wppb_toolbox_shortcodes_settings[format-date]"<?php echo ( ( isset( $settings['format-date'] ) && ( $settings['format-date'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
64
- <?php _e( 'Yes', 'profile-builder' ); ?>
65
  </label>
66
 
67
  <ul>
68
  <li class="description">
69
- <?php _e( 'You can read more info about this shortcode by following <a href="https://www.cozmoslabs.com/docs/profile-builder-2/developers-knowledge-base/shortcodes/format-date-shortcode/">this url</a>.', 'profile-builder' ); ?>
70
  </li>
71
  </ul>
72
  </td>
9
  <table class="form-table">
10
 
11
  <tr>
12
+ <th><?php esc_html_e( 'Enable Compare shortcode', 'profile-builder' ); ?></th>
13
 
14
  <td>
15
  <label><input type="checkbox" name="wppb_toolbox_shortcodes_settings[compare]"<?php echo ( ( isset( $settings['compare'] ) && ( $settings['compare'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
16
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
17
  </label>
18
 
19
  <ul>
20
  <li class="description">
21
+ <?php echo wp_kses_post( __( 'You can read more info about this shortcode by following <a href="https://www.cozmoslabs.com/docs/profile-builder-2/developers-knowledge-base/shortcodes/compare-shortcode/">this url</a>.', 'profile-builder' ) ); ?>
22
  </li>
23
  </ul>
24
  </td>
25
  </tr>
26
 
27
  <tr>
28
+ <th><?php esc_html_e( 'Enable Usermeta shortcode', 'profile-builder' ); ?></th>
29
 
30
  <td>
31
  <label><input type="checkbox" name="wppb_toolbox_shortcodes_settings[usermeta]"<?php echo ( ( isset( $settings['usermeta'] ) && ( $settings['usermeta'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
32
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
33
  </label>
34
 
35
  <ul>
36
  <li class="description">
37
+ <?php echo wp_kses_post( __( 'You can read more info about this shortcode by following <a href="https://www.cozmoslabs.com/docs/profile-builder-2/developers-knowledge-base/shortcodes/display-user-meta/">this url</a>.', 'profile-builder' ) ); ?>
38
  </li>
39
  </ul>
40
  </td>
41
  </tr>
42
 
43
  <tr>
44
+ <th><?php esc_html_e( 'Enable Resend Activation Email shortcode', 'profile-builder' ); ?></th>
45
 
46
  <td>
47
  <label><input type="checkbox" name="wppb_toolbox_shortcodes_settings[resend-activation]"<?php echo ( ( isset( $settings['resend-activation'] ) && ( $settings['resend-activation'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
48
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
49
  </label>
50
 
51
  <ul>
52
  <li class="description">
53
+ <?php echo wp_kses_post( __( 'You can read more info about this shortcode by following <a href="https://www.cozmoslabs.com/docs/profile-builder-2/developers-knowledge-base/shortcodes/resend-confirmation-email/">this url</a>.', 'profile-builder' ) ); ?>
54
  </li>
55
  </ul>
56
  </td>
57
  </tr>
58
 
59
  <tr>
60
+ <th><?php esc_html_e( 'Enable Format Date shortcode', 'profile-builder' ); ?></th>
61
 
62
  <td>
63
  <label><input type="checkbox" name="wppb_toolbox_shortcodes_settings[format-date]"<?php echo ( ( isset( $settings['format-date'] ) && ( $settings['format-date'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
64
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
65
  </label>
66
 
67
  <ul>
68
  <li class="description">
69
+ <?php echo wp_kses_post( __( 'You can read more info about this shortcode by following <a href="https://www.cozmoslabs.com/docs/profile-builder-2/developers-knowledge-base/shortcodes/format-date-shortcode/">this url</a>.', 'profile-builder' ) ); ?>
70
  </li>
71
  </ul>
72
  </td>
admin/advanced-settings/includes/views/view-userlisting.php CHANGED
@@ -9,78 +9,78 @@
9
  <table class="form-table">
10
 
11
  <tr>
12
- <th><?php _e( 'Change placeholder text for Search box', 'profile-builder' ); ?></th>
13
 
14
  <td>
15
- <input type="text" name="wppb_toolbox_userlisting_settings[search-placeholder-text]" value="<?php echo ( !empty( $settings['search-placeholder-text']) ? $settings['search-placeholder-text'] : '' ); ?>">
16
 
17
  <ul>
18
  <li class="description">
19
- <?php _e( 'This refers to the placeholder text from the <strong>{{{extra_search_all_fields}}}</strong> tag.', 'profile-builder' ); ?>
20
  </li>
21
  <li class="description">
22
- <?php _e( 'Default text is <strong>Search Users by All Fields</strong>, use this option to change it to something else. Leave empty if you do not want to change it.', 'profile-builder' ); ?>
23
  </li>
24
  </ul>
25
  </td>
26
  </tr>
27
 
28
  <tr>
29
- <th><?php _e( 'Modify base URL for Single Userlisting', 'profile-builder' ); ?></th>
30
 
31
  <td>
32
- <input type="text" name="wppb_toolbox_userlisting_settings[modify-permalinks-single]" value="<?php echo ( !empty( $settings['modify-permalinks-single']) ? $settings['modify-permalinks-single'] : '' ); ?>">
33
 
34
  <ul>
35
  <li class="description">
36
  <?php
37
- _e( 'By default Single Userlisting URLs contain the word <strong>user</strong>. eg.: ', 'profile-builder' );
38
- echo home_url( 'userlisting/user/123' );
39
  ?>
40
  </li>
41
  <li class="description">
42
- <?php _e( 'Using this option, you can change the word <strong>user</strong> to something else. Leave empty if you do not want to change it.', 'profile-builder' ); ?>
43
  </li>
44
  </ul>
45
  </td>
46
  </tr>
47
 
48
  <tr>
49
- <th><?php _e( 'Make the Single Userlisting URLs work with user nicename', 'profile-builder' ); ?></th>
50
 
51
  <td>
52
  <label><input type="checkbox" name="wppb_toolbox_userlisting_settings[use-nicename-single]"<?php echo ( ( isset( $settings['use-nicename-single'] ) && ( $settings['use-nicename-single'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
53
- <?php _e( 'Yes', 'profile-builder' ); ?>
54
  </label>
55
 
56
  <ul>
57
  <li class="description">
58
  <?php
59
- _e( 'By default Single Userlisting URLs are generated using the users ID. eg.: ', 'profile-builder' );
60
- echo home_url( 'userlisting/user/123' );
61
  ?>
62
  </li>
63
  <li class="description">
64
- <?php _e( 'With this option activated, the URLs will be generated using the users <strong>nicename</strong>.', 'profile-builder' ); ?>
65
  </li>
66
  </ul>
67
  </td>
68
  </tr>
69
 
70
  <tr>
71
- <th><?php _e( 'Remove repetition counts from Faceted Menus', 'profile-builder' ); ?></th>
72
 
73
  <td>
74
  <label><input type="checkbox" name="wppb_toolbox_userlisting_settings[remove-repetitions]"<?php echo ( ( isset( $settings['remove-repetitions'] ) && ( $settings['remove-repetitions'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
75
- <?php _e( 'Yes', 'profile-builder' ); ?>
76
  </label>
77
 
78
  <ul>
79
  <li class="description">
80
- <?php _e( 'The number of users that share a particular value is shown for the Select and Checkbox facet types.', 'profile-builder' ); ?>
81
  </li>
82
  <li class="description">
83
- <?php _e( 'If you enable this option they will be hidden.', 'profile-builder' ); ?>
84
  </li>
85
  </ul>
86
  </td>
9
  <table class="form-table">
10
 
11
  <tr>
12
+ <th><?php esc_html_e( 'Change placeholder text for Search box', 'profile-builder' ); ?></th>
13
 
14
  <td>
15
+ <input type="text" name="wppb_toolbox_userlisting_settings[search-placeholder-text]" value="<?php echo ( !empty( $settings['search-placeholder-text']) ? esc_attr( $settings['search-placeholder-text'] ) : '' ); ?>">
16
 
17
  <ul>
18
  <li class="description">
19
+ <?php echo wp_kses_post( __( 'This refers to the placeholder text from the <strong>{{{extra_search_all_fields}}}</strong> tag.', 'profile-builder' ) ); ?>
20
  </li>
21
  <li class="description">
22
+ <?php echo wp_kses_post( __( 'Default text is <strong>Search Users by All Fields</strong>, use this option to change it to something else. Leave empty if you do not want to change it.', 'profile-builder' ) ); ?>
23
  </li>
24
  </ul>
25
  </td>
26
  </tr>
27
 
28
  <tr>
29
+ <th><?php esc_html_e( 'Modify base URL for Single Userlisting', 'profile-builder' ); ?></th>
30
 
31
  <td>
32
+ <input type="text" name="wppb_toolbox_userlisting_settings[modify-permalinks-single]" value="<?php echo ( !empty( $settings['modify-permalinks-single']) ? esc_attr( $settings['modify-permalinks-single'] ) : '' ); ?>">
33
 
34
  <ul>
35
  <li class="description">
36
  <?php
37
+ echo wp_kses_post( __( 'By default Single Userlisting URLs contain the word <strong>user</strong>. eg.: ', 'profile-builder' ) );
38
+ echo esc_url( home_url( 'userlisting/user/123' ) );
39
  ?>
40
  </li>
41
  <li class="description">
42
+ <?php echo wp_kses_post( __( 'Using this option, you can change the word <strong>user</strong> to something else. Leave empty if you do not want to change it.', 'profile-builder' ) ); ?>
43
  </li>
44
  </ul>
45
  </td>
46
  </tr>
47
 
48
  <tr>
49
+ <th><?php esc_html_e( 'Make the Single Userlisting URLs work with user nicename', 'profile-builder' ); ?></th>
50
 
51
  <td>
52
  <label><input type="checkbox" name="wppb_toolbox_userlisting_settings[use-nicename-single]"<?php echo ( ( isset( $settings['use-nicename-single'] ) && ( $settings['use-nicename-single'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
53
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
54
  </label>
55
 
56
  <ul>
57
  <li class="description">
58
  <?php
59
+ esc_html_e( 'By default Single Userlisting URLs are generated using the users ID. eg.: ', 'profile-builder' );
60
+ echo esc_url( home_url( 'userlisting/user/123' ) );
61
  ?>
62
  </li>
63
  <li class="description">
64
+ <?php echo wp_kses_post( __( 'With this option activated, the URLs will be generated using the users <strong>nicename</strong>.', 'profile-builder' ) ); ?>
65
  </li>
66
  </ul>
67
  </td>
68
  </tr>
69
 
70
  <tr>
71
+ <th><?php esc_html_e( 'Remove repetition counts from Faceted Menus', 'profile-builder' ); ?></th>
72
 
73
  <td>
74
  <label><input type="checkbox" name="wppb_toolbox_userlisting_settings[remove-repetitions]"<?php echo ( ( isset( $settings['remove-repetitions'] ) && ( $settings['remove-repetitions'] == 'yes' ) ) ? ' checked' : '' ); ?> value="yes">
75
+ <?php esc_html_e( 'Yes', 'profile-builder' ); ?>
76
  </label>
77
 
78
  <ul>
79
  <li class="description">
80
+ <?php esc_html_e( 'The number of users that share a particular value is shown for the Select and Checkbox facet types.', 'profile-builder' ); ?>
81
  </li>
82
  <li class="description">
83
+ <?php esc_html_e( 'If you enable this option they will be hidden.', 'profile-builder' ); ?>
84
  </li>
85
  </ul>
86
  </td>
admin/basic-info.php CHANGED
@@ -20,16 +20,16 @@ add_action( 'admin_menu', 'wppb_register_basic_info_submenu_page', 2 );
20
  * @return string
21
  */
22
  function wppb_basic_info_content() {
23
-
24
  $version = 'Free';
25
  $version = ( ( PROFILE_BUILDER == 'Profile Builder Pro' ) ? 'Pro' : $version );
26
  $version = ( ( PROFILE_BUILDER == 'Profile Builder Hobbyist' ) ? 'Hobbyist' : $version );
27
 
28
  ?>
29
  <div class="wrap wppb-wrap wppb-info-wrap">
30
- <div class="wppb-badge <?php echo $version; ?>"><span><?php printf( __( 'Version %s' ), PROFILE_BUILDER_VERSION ); ?></span></div>
31
- <h1><?php printf( __( '<strong>Profile Builder </strong> %s', 'profile-builder' ), $version ); ?></h1>
32
- <p class="wppb-info-text"><?php printf( __( 'The best way to add front-end registration, edit profile and login forms.', 'profile-builder' ) ); ?></p>
33
  <hr />
34
  <?php
35
  $wppb_pages_created = get_option( 'wppb_pages_created' );
@@ -37,65 +37,65 @@ function wppb_basic_info_content() {
37
  if( empty( $wppb_pages_created ) && !$shortcode_pages_query->have_posts() ){
38
  ?>
39
  <div class="wppb-auto-form-creation wppb-2-1-col">
40
- <div><h3><?php _e( 'Speed up the setup process by automatically creating the form pages:', 'profile-builder' ); ?></h3></div>
41
- <div><a href="<?php echo admin_url('admin.php?page=profile-builder-basic-info&wppb_create_pages=true') ?>" class="button primary button-primary button-hero"><?php _e( 'Create Form Pages', 'profile-builder' ); ?></a></div>
42
  </div>
43
  <?php }else{ ?>
44
  <div class="wppb-auto-form-creation wppb-forms-created wppb-2-1-col">
45
- <div><h3><?php _e( 'You can see all the pages with Profile Builder form shortcodes here:', 'profile-builder' ); ?></h3></div>
46
- <div><a href="<?php echo admin_url('edit.php?s=%5Bwppb-&post_status=all&post_type=page&action=-1&m=0&paged=1&action2=-1') ?>" class="button primary button-primary button-hero"><?php _e( 'View Form Pages', 'profile-builder' ); ?></a></div>
47
  </div>
48
  <?php } ?>
49
 
50
  <div class="wppb-row wppb-3-col">
51
  <div>
52
- <h3><?php _e( 'Login Form', 'profile-builder' ); ?></h3>
53
- <p><?php printf( __( 'Friction-less login using %s shortcode or a widget.', 'profile-builder' ), '<strong class="nowrap">[wppb-login]</strong>' ); ?></p>
54
  </div>
55
  <div>
56
- <h3><?php _e( 'Registration Form', 'profile-builder' ); ?></h3>
57
- <p><?php printf( __( 'Beautiful registration forms fully customizable using the %s shortcode.', 'profile-builder' ), '<strong class="nowrap">[wppb-register]</strong>' ); ?></p>
58
  </div>
59
  <div>
60
- <h3><?php _e( 'Edit Profile Form', 'profile-builder' ); ?></h3>
61
- <p><?php printf( __( 'Straight forward edit profile forms using %s shortcode.', 'profile-builder' ), '<strong class="nowrap">[wppb-edit-profile]</strong>' ); ?></p>
62
  </div>
63
  </div>
64
  <?php ob_start(); ?>
65
  <hr/>
66
  <div>
67
- <h3><?php _e( 'Extra Features', 'profile-builder' );?></h3>
68
- <p><?php _e( 'Features that give you more control over your users, increased security and help you fight user registration spam.', 'profile-builder' ); ?></p>
69
- <p><a href="admin.php?page=profile-builder-general-settings" class="button"><?php _e( 'Enable extra features', 'profile-builder' ); ?></a></p>
70
  </div>
71
  <div class="wppb-row wppb-3-col">
72
  <div>
73
- <h3><?php _e( 'Recover Password', 'profile-builder' ); ?></h3>
74
- <p><?php printf( __( 'Allow users to recover their password in the front-end using the %s.', 'profile-builder' ), '<strong class="nowrap">[wppb-recover-password]</strong>' ); ?></p>
75
  </div>
76
  <div>
77
- <h3><?php _e( 'Admin Approval (*)', 'profile-builder' ); ?></h3>
78
- <p><?php _e( 'You decide who is a user on your website. Get notified via email or approve multiple users at once from the WordPress UI.', 'profile-builder' ); ?></p>
79
  </div>
80
  <div>
81
- <h3><?php _e( 'Email Confirmation', 'profile-builder' ); ?></h3>
82
- <p><?php _e( 'Make sure users sign up with genuine emails. On registration users will receive a notification to confirm their email address.', 'profile-builder' ); ?></p>
83
  </div>
84
  <div>
85
- <h3><?php _e( 'Content Restriction', 'profile-builder' ); ?></h3>
86
- <p><?php _e( 'Restrict users from accessing certain pages, posts or custom post types based on user role or logged-in status.', 'profile-builder' ); ?></p>
87
  </div>
88
  <div>
89
- <h3><?php _e( 'Minimum Password Length and Strength Meter', 'profile-builder' ); ?></h3>
90
- <p><?php _e( 'Eliminate weak passwords altogether by setting a minimum password length and enforcing a certain password strength.', 'profile-builder' ); ?></p>
91
  </div>
92
  <div>
93
- <h3><?php _e( 'Login with Email or Username', 'profile-builder' ); ?></h3>
94
- <p><?php _e( 'Allow users to log in with their email or username when accessing your site.', 'profile-builder' ); ?></p>
95
  </div>
96
  <div style="clear:left;">
97
- <h3><?php _e( 'Roles Editor', 'profile-builder' ); ?></h3>
98
- <p><?php _e( 'Add, remove, clone and edit roles and also capabilities for these roles.', 'profile-builder' ); ?></p>
99
  </div>
100
  </div>
101
 
@@ -103,110 +103,110 @@ function wppb_basic_info_content() {
103
  // Output here the Extra Features html for the Free version
104
  $extra_features_html = ob_get_contents();
105
  ob_end_clean();
106
- if ( $version == 'Free' ) echo $extra_features_html; ?>
107
 
108
  <hr/>
109
  <div class="wppb-row wppb-2-col">
110
  <div>
111
- <h3><?php _e( 'Customize Your Forms The Way You Want (*)', 'profile-builder' ); ?></h3>
112
- <p><?php _e( 'With Extra Profile Fields you can create the exact registration form your project needs.', 'profile-builder' ); ?></p>
113
  <?php if ($version == 'Free'){ ?>
114
- <p><a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extrafields&utm_campaign=PBFree" class="wppb-button-free"><?php _e( 'Extra Profile Fields are available in Hobbyist or PRO versions', 'profile-builder' ); ?></a></p>
115
  <?php } else {?>
116
- <p><a href="admin.php?page=manage-fields" class="button"><?php _e( 'Get started with extra fields', 'profile-builder' ); ?></a></p>
117
  <?php } ?>
118
  <ul style="float: left; margin-right: 50px;">
119
- <li><?php _e( 'Avatar Upload', 'profile-builder' ); ?></li>
120
- <li><?php _e( 'Generic Uploads', 'profile-builder' ); ?></li>
121
- <li><?php _e( 'Agree To Terms Checkbox', 'profile-builder' ); ?></li>
122
- <li><?php _e( 'Datepicker', 'profile-builder' ); ?> </li>
123
- <li><?php _e( 'Timepicker', 'profile-builder' ); ?> </li>
124
- <li><?php _e( 'Colorpicker', 'profile-builder' ); ?> </li>
125
- <li><?php _e( 'reCAPTCHA', 'profile-builder' ); ?></li>
126
- <li><?php _e( 'Country Select', 'profile-builder' ); ?></li>
127
- <li><?php _e( 'Currency Select', 'profile-builder' ); ?></li>
128
- <li><?php _e( 'Timezone Select', 'profile-builder' ); ?></li>
129
  </ul>
130
 
131
  <ul style="float: left;">
132
- <li><?php _e( 'Input / Hidden Input', 'profile-builder' ); ?></li>
133
- <li><?php _e( 'Number', 'profile-builder' ); ?></li>
134
- <li><?php _e( 'Checkbox', 'profile-builder' ); ?></li>
135
- <li><?php _e( 'Select', 'profile-builder' ); ?></li>
136
- <li><?php _e( 'Radio Buttons', 'profile-builder' ); ?></li>
137
- <li><?php _e( 'Textarea', 'profile-builder' ); ?></li>
138
- <li><?php _e( 'Validation', 'profile-builder' ); ?></li>
139
- <li><?php _e( 'Map', 'profile-builder' ); ?></li>
140
- <li><?php _e( 'HTML', 'profile-builder' ); ?></li>
141
  </ul>
142
  </div>
143
  <div>
144
- <img src="<?php echo WPPB_PLUGIN_URL; ?>assets/images/pb_fields.png" alt="Profile Builder Extra Fields" class="wppb-fields-image" />
145
  </div>
146
  </div>
147
  <hr/>
148
- <div>
149
- <h3><?php _e( 'Powerful Add-ons (**)', 'profile-builder' );?></h3>
150
- <p><?php _e( 'Everything you will need to manage your users is probably already available using the Pro Add-ons.', 'profile-builder' ); ?></p>
151
  <?php if( file_exists ( WPPB_PLUGIN_DIR.'/add-ons/add-ons.php' ) ): ?>
152
- <p><a href="admin.php?page=profile-builder-add-ons" class="button"><?php _e( 'Enable your add-ons', 'profile-builder' ); ?></a></p>
153
  <?php endif; ?>
154
  <?php if ($version == 'Free'){ ?>
155
- <p><a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-add-ons&utm_campaign=PBFree" class="wppb-button-free"><?php _e( 'Find out more about PRO Modules', 'profile-builder' ); ?></a></p>
156
  <?php }?>
157
  </div>
158
  <div class="wppb-row wppb-3-col">
159
  <div>
160
- <h3><?php _e( 'User Listing', 'profile-builder' ); ?></h3>
161
  <?php if ($version == 'Free'): ?>
162
- <p><?php _e( 'Easy to edit templates for listing your website users as well as creating single user pages. Shortcode based, offering many options to customize your listings.', 'profile-builder' ); ?></p>
163
  <?php else : ?>
164
- <p><?php printf( __( 'To create a page containing the users registered to this current site/blog, insert the following shortcode in a page of your chosing: %s.', 'profile-builder' ), '<strong class="nowrap">[wppb-list-users]</strong>' ); ?></p>
165
  <?php endif;?>
166
  </div>
167
  <div>
168
- <h3><?php _e( 'Email Customizer', 'profile-builder' ); ?></h3>
169
- <p><?php _e( 'Personalize all emails sent to your users or admins. On registration, email confirmation, admin approval / un-approval.', 'profile-builder' ); ?></p>
170
  </div>
171
  <div>
172
- <h3><?php _e( 'Custom Redirects', 'profile-builder' ); ?></h3>
173
- <p><?php _e( 'Keep your users out of the WordPress dashboard, redirect them to the front-page after login or registration, everything is just a few clicks away.', 'profile-builder' ); ?></p>
174
  </div>
175
  </div>
176
  <div class="wppb-row wppb-3-col">
177
  <div>
178
- <h3><?php _e( 'Multiple Registration Forms', 'profile-builder' ); ?></h3>
179
- <p><?php _e( 'Set up multiple registration forms with different fields for certain user roles. Capture different information from different types of users.', 'profile-builder' ); ?></p>
180
  </div>
181
  <div>
182
- <h3><?php _e( 'Multiple Edit-profile Forms', 'profile-builder' ); ?></h3>
183
- <p><?php _e( 'Allow different user roles to edit their specific information. Set up multiple edit-profile forms with different fields for certain user roles.', 'profile-builder' ); ?></p>
184
  </div>
185
  <div>
186
- <h3><?php _e( 'Repeater Fields', 'profile-builder' ); ?></h3>
187
- <p><?php _e( 'Set up a repeating group of fields on register and edit profile forms. Limit the number of repeated groups for each user role.', 'profile-builder' ); ?></p>
188
  </div>
189
  </div>
190
 
191
  <?php
192
  //Output here Extra Features html for Hobbyist or Pro versions
193
- if ( $version != 'Free' ) echo $extra_features_html; ?>
194
  <hr/>
195
  <div class="wrap wppb-wrap wppb-1-3-col">
196
  <div>
197
- <a href="<?php echo admin_url('options.php?page=profile-builder-pms-promo'); ?>"><img src="<?php echo plugins_url( '../assets/images/pb-pms-cross-promotion.png', __FILE__ ); ?>" alt="paid member subscriptions"/></a>
198
  </div>
199
  <div>
200
  <h3>Paid user profiles with Profile Builder and Paid Member Subscriptions</h3>
201
  <p>One of the most requested features in Profile Builder was for users to be able to pay for an account.</p>
202
- <p>Now that's possible using the free WordPress plugin - <a href="<?php echo admin_url('options.php?page=profile-builder-pms-promo'); ?>">Paid Member Subscriptions</a>.</p>
203
- <p><a href="<?php echo admin_url('options.php?page=profile-builder-pms-promo'); ?>" class="button">Find out how</a></p>
204
 
205
  </div>
206
  </div>
207
  <div class="wrap wppb-wrap wppb-1-3-col">
208
  <div>
209
- <a href="https://wordpress.org/plugins/translatepress-multilingual/" target="_blank"><img src="<?php echo plugins_url( '../assets/images/pb-trp-cross-promotion.png', __FILE__ ); ?>" alt="TranslatePress Logo"/></a>
210
  </div>
211
  <div>
212
  <h3>Easily translate your entire WordPress website</h3>
@@ -220,8 +220,8 @@ function wppb_basic_info_content() {
220
  <div>
221
  <h3>Extra Notes</h3>
222
  <ul>
223
- <li><?php printf( __( ' * only available in the %1$sHobbyist and Pro versions%2$s.', 'profile-builder' ) ,'<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extranotes&utm_campaign=PB'.$version.'" target="_blank">', '</a>' );?></li>
224
- <li><?php printf( __( '** only available in the %1$sPro version%2$s.', 'profile-builder' ), '<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extranotes&utm_campaign=PB'.$version.'" target="_blank">', '</a>' );?></li>
225
  </ul>
226
  </div>
227
  </div>
20
  * @return string
21
  */
22
  function wppb_basic_info_content() {
23
+
24
  $version = 'Free';
25
  $version = ( ( PROFILE_BUILDER == 'Profile Builder Pro' ) ? 'Pro' : $version );
26
  $version = ( ( PROFILE_BUILDER == 'Profile Builder Hobbyist' ) ? 'Hobbyist' : $version );
27
 
28
  ?>
29
  <div class="wrap wppb-wrap wppb-info-wrap">
30
+ <div class="wppb-badge <?php echo esc_attr( $version ); ?>"><span><?php printf( esc_html__( 'Version %s', 'profile-builder' ), esc_html( PROFILE_BUILDER_VERSION ) ); ?></span></div>
31
+ <h1><?php printf( esc_html__( '<strong>Profile Builder </strong> %s', 'profile-builder' ), esc_html( $version ) ); ?></h1>
32
+ <p class="wppb-info-text"><?php printf( esc_html__( 'The best way to add front-end registration, edit profile and login forms.', 'profile-builder' ) ); ?></p>
33
  <hr />
34
  <?php
35
  $wppb_pages_created = get_option( 'wppb_pages_created' );
37
  if( empty( $wppb_pages_created ) && !$shortcode_pages_query->have_posts() ){
38
  ?>
39
  <div class="wppb-auto-form-creation wppb-2-1-col">
40
+ <div><h3><?php esc_html_e( 'Speed up the setup process by automatically creating the form pages:', 'profile-builder' ); ?></h3></div>
41
+ <div><a href="<?php echo esc_url( admin_url('admin.php?page=profile-builder-basic-info&wppb_create_pages=true') ) ?>" class="button primary button-primary button-hero"><?php esc_html_e( 'Create Form Pages', 'profile-builder' ); ?></a></div>
42
  </div>
43
  <?php }else{ ?>
44
  <div class="wppb-auto-form-creation wppb-forms-created wppb-2-1-col">
45
+ <div><h3><?php esc_html_e( 'You can see all the pages with Profile Builder form shortcodes here:', 'profile-builder' ); ?></h3></div>
46
+ <div><a href="<?php echo esc_url( admin_url('edit.php?s=%5Bwppb-&post_status=all&post_type=page&action=-1&m=0&paged=1&action2=-1') ) ?>" class="button primary button-primary button-hero"><?php esc_html_e( 'View Form Pages', 'profile-builder' ); ?></a></div>
47
  </div>
48
  <?php } ?>
49
 
50
  <div class="wppb-row wppb-3-col">
51
  <div>
52
+ <h3><?php esc_html_e( 'Login Form', 'profile-builder' ); ?></h3>
53
+ <p><?php printf( esc_html__( 'Friction-less login using %s shortcode or a widget.', 'profile-builder' ), '<strong class="nowrap">[wppb-login]</strong>' ); ?></p>
54
  </div>
55
  <div>
56
+ <h3><?php esc_html_e( 'Registration Form', 'profile-builder' ); ?></h3>
57
+ <p><?php printf( esc_html__( 'Beautiful registration forms fully customizable using the %s shortcode.', 'profile-builder' ), '<strong class="nowrap">[wppb-register]</strong>' ); ?></p>
58
  </div>
59
  <div>
60
+ <h3><?php esc_html_e( 'Edit Profile Form', 'profile-builder' ); ?></h3>
61
+ <p><?php printf( esc_html__( 'Straight forward edit profile forms using %s shortcode.', 'profile-builder' ), '<strong class="nowrap">[wppb-edit-profile]</strong>' ); ?></p>
62
  </div>
63
  </div>
64
  <?php ob_start(); ?>
65
  <hr/>
66
  <div>
67
+ <h3><?php esc_html_e( 'Extra Features', 'profile-builder' );?></h3>
68
+ <p><?php esc_html_e( 'Features that give you more control over your users, increased security and help you fight user registration spam.', 'profile-builder' ); ?></p>
69
+ <p><a href="admin.php?page=profile-builder-general-settings" class="button"><?php esc_html_e( 'Enable extra features', 'profile-builder' ); ?></a></p>
70
  </div>
71
  <div class="wppb-row wppb-3-col">
72
  <div>
73
+ <h3><?php esc_html_e( 'Recover Password', 'profile-builder' ); ?></h3>
74
+ <p><?php printf( esc_html__( 'Allow users to recover their password in the front-end using the %s.', 'profile-builder' ), '<strong class="nowrap">[wppb-recover-password]</strong>' ); ?></p>
75
  </div>
76
  <div>
77
+ <h3><?php esc_html_e( 'Admin Approval (*)', 'profile-builder' ); ?></h3>
78
+ <p><?php esc_html_e( 'You decide who is a user on your website. Get notified via email or approve multiple users at once from the WordPress UI.', 'profile-builder' ); ?></p>
79
  </div>
80
  <div>
81
+ <h3><?php esc_html_e( 'Email Confirmation', 'profile-builder' ); ?></h3>
82
+ <p><?php esc_html_e( 'Make sure users sign up with genuine emails. On registration users will receive a notification to confirm their email address.', 'profile-builder' ); ?></p>
83
  </div>
84
  <div>
85
+ <h3><?php esc_html_e( 'Content Restriction', 'profile-builder' ); ?></h3>
86
+ <p><?php esc_html_e( 'Restrict users from accessing certain pages, posts or custom post types based on user role or logged-in status.', 'profile-builder' ); ?></p>
87
  </div>
88
  <div>
89
+ <h3><?php esc_html_e( 'Minimum Password Length and Strength Meter', 'profile-builder' ); ?></h3>
90
+ <p><?php esc_html_e( 'Eliminate weak passwords altogether by setting a minimum password length and enforcing a certain password strength.', 'profile-builder' ); ?></p>
91
  </div>
92
  <div>
93
+ <h3><?php esc_html_e( 'Login with Email or Username', 'profile-builder' ); ?></h3>
94
+ <p><?php esc_html_e( 'Allow users to log in with their email or username when accessing your site.', 'profile-builder' ); ?></p>
95
  </div>
96
  <div style="clear:left;">
97
+ <h3><?php esc_html_e( 'Roles Editor', 'profile-builder' ); ?></h3>
98
+ <p><?php esc_html_e( 'Add, remove, clone and edit roles and also capabilities for these roles.', 'profile-builder' ); ?></p>
99
  </div>
100
  </div>
101
 
103
  // Output here the Extra Features html for the Free version
104
  $extra_features_html = ob_get_contents();
105
  ob_end_clean();
106
+ if ( $version == 'Free' ) echo $extra_features_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
107
 
108
  <hr/>
109
  <div class="wppb-row wppb-2-col">
110
  <div>
111
+ <h3><?php esc_html_e( 'Customize Your Forms The Way You Want (*)', 'profile-builder' ); ?></h3>
112
+ <p><?php esc_html_e( 'With Extra Profile Fields you can create the exact registration form your project needs.', 'profile-builder' ); ?></p>
113
  <?php if ($version == 'Free'){ ?>
114
+ <p><a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extrafields&utm_campaign=PBFree" class="wppb-button-free"><?php esc_html_e( 'Extra Profile Fields are available in Hobbyist or PRO versions', 'profile-builder' ); ?></a></p>
115
  <?php } else {?>
116
+ <p><a href="admin.php?page=manage-fields" class="button"><?php esc_html_e( 'Get started with extra fields', 'profile-builder' ); ?></a></p>
117
  <?php } ?>
118
  <ul style="float: left; margin-right: 50px;">
119
+ <li><?php esc_html_e( 'Avatar Upload', 'profile-builder' ); ?></li>
120
+ <li><?php esc_html_e( 'Generic Uploads', 'profile-builder' ); ?></li>
121
+ <li><?php esc_html_e( 'Agree To Terms Checkbox', 'profile-builder' ); ?></li>
122
+ <li><?php esc_html_e( 'Datepicker', 'profile-builder' ); ?> </li>
123
+ <li><?php esc_html_e( 'Timepicker', 'profile-builder' ); ?> </li>
124
+ <li><?php esc_html_e( 'Colorpicker', 'profile-builder' ); ?> </li>
125
+ <li><?php esc_html_e( 'reCAPTCHA', 'profile-builder' ); ?></li>
126
+ <li><?php esc_html_e( 'Country Select', 'profile-builder' ); ?></li>
127
+ <li><?php esc_html_e( 'Currency Select', 'profile-builder' ); ?></li>
128
+ <li><?php esc_html_e( 'Timezone Select', 'profile-builder' ); ?></li>
129
  </ul>
130
 
131
  <ul style="float: left;">
132
+ <li><?php esc_html_e( 'Input / Hidden Input', 'profile-builder' ); ?></li>
133
+ <li><?php esc_html_e( 'Number', 'profile-builder' ); ?></li>
134
+ <li><?php esc_html_e( 'Checkbox', 'profile-builder' ); ?></li>
135
+ <li><?php esc_html_e( 'Select', 'profile-builder' ); ?></li>
136
+ <li><?php esc_html_e( 'Radio Buttons', 'profile-builder' ); ?></li>
137
+ <li><?php esc_html_e( 'Textarea', 'profile-builder' ); ?></li>
138
+ <li><?php esc_html_e( 'Validation', 'profile-builder' ); ?></li>
139
+ <li><?php esc_html_e( 'Map', 'profile-builder' ); ?></li>
140
+ <li><?php esc_html_e( 'HTML', 'profile-builder' ); ?></li>
141
  </ul>
142
  </div>
143
  <div>
144
+ <img src="<?php echo esc_url( WPPB_PLUGIN_URL ); ?>assets/images/pb_fields.png" alt="Profile Builder Extra Fields" class="wppb-fields-image" />
145
  </div>
146
  </div>
147
  <hr/>
148
+ <div>
149
+ <h3><?php esc_html_e( 'Powerful Add-ons (**)', 'profile-builder' );?></h3>
150
+ <p><?php esc_html_e( 'Everything you will need to manage your users is probably already available using the Pro Add-ons.', 'profile-builder' ); ?></p>
151
  <?php if( file_exists ( WPPB_PLUGIN_DIR.'/add-ons/add-ons.php' ) ): ?>
152
+ <p><a href="admin.php?page=profile-builder-add-ons" class="button"><?php esc_html_e( 'Enable your add-ons', 'profile-builder' ); ?></a></p>
153
  <?php endif; ?>
154
  <?php if ($version == 'Free'){ ?>
155
+ <p><a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-add-ons&utm_campaign=PBFree" class="wppb-button-free"><?php esc_html_e( 'Find out more about PRO Modules', 'profile-builder' ); ?></a></p>
156
  <?php }?>
157
  </div>
158
  <div class="wppb-row wppb-3-col">
159
  <div>
160
+ <h3><?php esc_html_e( 'User Listing', 'profile-builder' ); ?></h3>
161
  <?php if ($version == 'Free'): ?>
162
+ <p><?php esc_html_e( 'Easy to edit templates for listing your website users as well as creating single user pages. Shortcode based, offering many options to customize your listings.', 'profile-builder' ); ?></p>
163
  <?php else : ?>
164
+ <p><?php printf( esc_html__( 'To create a page containing the users registered to this current site/blog, insert the following shortcode in a page of your chosing: %s.', 'profile-builder' ), '<strong class="nowrap">[wppb-list-users]</strong>' ); ?></p>
165
  <?php endif;?>
166
  </div>
167
  <div>
168
+ <h3><?php esc_html_e( 'Email Customizer', 'profile-builder' ); ?></h3>
169
+ <p><?php esc_html_e( 'Personalize all emails sent to your users or admins. On registration, email confirmation, admin approval / un-approval.', 'profile-builder' ); ?></p>
170
  </div>
171
  <div>
172
+ <h3><?php esc_html_e( 'Custom Redirects', 'profile-builder' ); ?></h3>
173
+ <p><?php esc_html_e( 'Keep your users out of the WordPress dashboard, redirect them to the front-page after login or registration, everything is just a few clicks away.', 'profile-builder' ); ?></p>
174
  </div>
175
  </div>
176
  <div class="wppb-row wppb-3-col">
177
  <div>
178
+ <h3><?php esc_html_e( 'Multiple Registration Forms', 'profile-builder' ); ?></h3>
179
+ <p><?php esc_html_e( 'Set up multiple registration forms with different fields for certain user roles. Capture different information from different types of users.', 'profile-builder' ); ?></p>
180
  </div>
181
  <div>
182
+ <h3><?php esc_html_e( 'Multiple Edit-profile Forms', 'profile-builder' ); ?></h3>
183
+ <p><?php esc_html_e( 'Allow different user roles to edit their specific information. Set up multiple edit-profile forms with different fields for certain user roles.', 'profile-builder' ); ?></p>
184
  </div>
185
  <div>
186
+ <h3><?php esc_html_e( 'Repeater Fields', 'profile-builder' ); ?></h3>
187
+ <p><?php esc_html_e( 'Set up a repeating group of fields on register and edit profile forms. Limit the number of repeated groups for each user role.', 'profile-builder' ); ?></p>
188
  </div>
189
  </div>
190
 
191
  <?php
192
  //Output here Extra Features html for Hobbyist or Pro versions
193
+ if ( $version != 'Free' ) echo $extra_features_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
194
  <hr/>
195
  <div class="wrap wppb-wrap wppb-1-3-col">
196
  <div>
197
+ <a href="<?php echo esc_url( admin_url('options.php?page=profile-builder-pms-promo') ); ?>"><img src="<?php echo esc_url( plugins_url( '../assets/images/pb-pms-cross-promotion.png', __FILE__ ) ); ?>" alt="paid member subscriptions"/></a>
198
  </div>
199
  <div>
200
  <h3>Paid user profiles with Profile Builder and Paid Member Subscriptions</h3>
201
  <p>One of the most requested features in Profile Builder was for users to be able to pay for an account.</p>
202
+ <p>Now that's possible using the free WordPress plugin - <a href="<?php echo esc_url( admin_url('options.php?page=profile-builder-pms-promo') ); ?>">Paid Member Subscriptions</a>.</p>
203
+ <p><a href="<?php echo esc_url( admin_url('options.php?page=profile-builder-pms-promo') ); ?>" class="button">Find out how</a></p>
204
 
205
  </div>
206
  </div>
207
  <div class="wrap wppb-wrap wppb-1-3-col">
208
  <div>
209
+ <a href="https://wordpress.org/plugins/translatepress-multilingual/" target="_blank"><img src="<?php echo esc_url( plugins_url( '../assets/images/pb-trp-cross-promotion.png', __FILE__ ) ); ?>" alt="TranslatePress Logo"/></a>
210
  </div>
211
  <div>
212
  <h3>Easily translate your entire WordPress website</h3>
220
  <div>
221
  <h3>Extra Notes</h3>
222
  <ul>
223
+ <li><?php printf( esc_html__( ' * only available in the %1$sHobbyist and Pro versions%2$s.', 'profile-builder' ) ,'<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extranotes&utm_campaign=PB'.esc_attr( $version ).'" target="_blank">', '</a>' );?></li>
224
+ <li><?php printf( esc_html__( '** only available in the %1$sPro version%2$s.', 'profile-builder' ), '<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extranotes&utm_campaign=PB'.esc_attr( $version ).'" target="_blank">', '</a>' );?></li>
225
  </ul>
226
  </div>
227
  </div>
admin/feedback.php CHANGED
@@ -22,43 +22,43 @@ function wppb_add_feedback_modal(){
22
 
23
  <div class="custom-feedback-poll-content">
24
 
25
- <h1 style="padding-left:10px;padding-top:15px;"><?php _e('Quick Feedback', 'profile-builder'); ?></h1>
26
- <p><?php _e( 'Because we care about our clients, please leave us feedback on why you are no longer using our plugin.', 'profile-builder'); ?></p>
27
- <form method="post" enctype="multipart/form-data" id="gform_<?php echo $gf_id; ?>" class="gpoll_enabled gpoll" action="<?php echo $action_link; ?>">
28
  <div>
29
  <ul>
30
  <li>
31
- <input name="input_1" type="radio" value="gpoll1d7fc0436" id="choice_<?php echo $gf_id; ?>_1_0">
32
- <label for="choice_<?php echo $gf_id; ?>_1_0" id="label_<?php echo $gf_id; ?>_1_0"><?php _e( 'Lacking certain features', 'profile-builder'); ?></label>
33
- <input class="poll_custom_hidden_detail" name="input_2" id="input_<?php echo $gf_id; ?>_2" type="text" value="" placeholder="<?php _e( 'What feature would you like to see?', 'profile-builder' ); ?>">
34
  </li>
35
  <li>
36
- <input name="input_1" type="radio" value="gpoll19c993bd1" id="choice_<?php echo $gf_id; ?>_1_1">
37
- <label for="choice_<?php echo $gf_id; ?>_1_1" id="label_<?php echo $gf_id; ?>_1_1"><?php _e( 'Hard to use', 'profile-builder'); ?></label>
38
- <input class="poll_custom_hidden_detail" name="input_3" id="input_<?php echo $gf_id; ?>_3" type="text" value="" placeholder="<?php _e( 'How can we improve our user experience ?', 'profile-builder' ); ?>">
39
  </li>
40
  <li>
41
- <input name="input_1" type="radio" value="gpoll147502d8a" id="choice_<?php echo $gf_id; ?>_1_2">
42
- <label for="choice_<?php echo $gf_id; ?>_1_2" id="label_<?php echo $gf_id; ?>_1_2"><?php _e( 'Unsatisfactory support', 'profile-builder' ); ?></label>
43
- <span class="poll_custom_hidden_detail"><?php _e( "Give us another try! Open a support ticket <a href='https://www.cozmoslabs.com/support/open-ticket/' target='_blank'>here</a>" ) ?></span>
44
  </li>
45
  <li>
46
- <input name="input_1" type="radio" value="gpoll1353bb209" id="choice_<?php echo $gf_id; ?>_1_4">
47
- <label for="choice_<?php echo $gf_id; ?>_1_4" id="label_<?php echo $gf_id; ?>_1_4"><?php _e( 'Other', 'profile-builder'); ?></label>
48
- <input class="poll_custom_hidden_detail" name="input_4" id="input_<?php echo $gf_id; ?>_4" type="text" value="" placeholder="<?php _e( 'Please tell us more', 'profile-builder' ); ?>">
49
  </li>
50
  <li>
51
- <input name="input_1" type="radio" value="gpoll18cbe0189" id="choice_<?php echo $gf_id; ?>_1_3">
52
- <label for="choice_<?php echo $gf_id; ?>_1_3" id="label_<?php echo $gf_id; ?>_1_3"><?php _e( 'Poor Documentation', 'profile-builder'); ?></label>
53
- <input class="poll_custom_hidden_detail" name="input_5" id="input_<?php echo $gf_id; ?>_5" type="text" value="" placeholder="<?php _e( "Tell us what you couldn't find", 'profile-builder' ); ?>">
54
- </li>
55
  </ul>
56
  </div>
57
  <div class="gform_footer">
58
- <input type="submit" id="gform_submit_button_<?php echo $gf_id; ?>" class="button button-primary" value="<?php _e( 'Submit & Deactivate', 'profile-builder' ); ?>" disabled="disabled">
59
- <input type="hidden" class="gform_hidden" name="is_submit_<?php echo $gf_id; ?>" value="1">
60
- <input type="hidden" class="gform_hidden" name="gform_submit" value="<?php echo $gf_id; ?>">
61
- <a href="#" class="button secondary custom-feedback-skip"><?php _e('Skip and Deactivate', 'profile-builder'); ?></a>
62
  </div>
63
  </form>
64
 
@@ -89,8 +89,8 @@ function wppb_add_feedback_script(){
89
  if (jQuery('tr[data-slug="' + pluginSlug + '"] .deactivate a').length != 0) {
90
 
91
  /* the conditional fields */
92
- jQuery("#gform_<?php echo $gf_id; ?> input[type='radio']").on('click', function(){
93
- jQuery("#gform_<?php echo $gf_id; ?> input[type='submit']").prop("disabled", false);
94
  jQuery( '.poll_custom_hidden_detail' ).hide();
95
  jQuery( '.poll_custom_hidden_detail', jQuery(this).parent() ).show();
96
  });
@@ -107,13 +107,13 @@ function wppb_add_feedback_script(){
107
  });
108
 
109
  /* on submit */
110
- jQuery("#gform_<?php echo $gf_id; ?>").on('submit', function(e) {
111
- var url = "<?php echo $action_link; ?>"; // the script where you handle the form input.
112
 
113
  jQuery.ajax({
114
  type: "POST",
115
  url: url,
116
- data: jQuery("#gform_<?php echo $gf_id; ?>").serialize(), // serializes the form's elements.
117
  complete: function()
118
  {
119
  tb_remove();
@@ -162,7 +162,7 @@ function wppb_add_feedback_style(){
162
  display:none;
163
  }
164
  #TB_window .pds-vote-button:after{
165
- content:"<?php _e('Submit and Deactivate', 'profile-builder')?>";
166
  }
167
  #TB_window .pds-vote-button{
168
  padding: 6px 14px;
@@ -188,7 +188,7 @@ function wppb_add_feedback_style(){
188
  #custom-feedback-modal{
189
  display: none;
190
  }
191
-
192
  .custom-feedback-poll-content{
193
  font-size:15px;
194
  padding:0 10px;
22
 
23
  <div class="custom-feedback-poll-content">
24
 
25
+ <h1 style="padding-left:10px;padding-top:15px;"><?php esc_html_e('Quick Feedback', 'profile-builder'); ?></h1>
26
+ <p><?php esc_html_e( 'Because we care about our clients, please leave us feedback on why you are no longer using our plugin.', 'profile-builder'); ?></p>
27
+ <form method="post" enctype="multipart/form-data" id="gform_<?php echo esc_attr( $gf_id ); ?>" class="gpoll_enabled gpoll" action="<?php echo esc_attr( $action_link ); ?>">
28
  <div>
29
  <ul>
30
  <li>
31
+ <input name="input_1" type="radio" value="gpoll1d7fc0436" id="choice_<?php echo esc_attr( $gf_id ); ?>_1_0">
32
+ <label for="choice_<?php echo esc_attr( $gf_id ); ?>_1_0" id="label_<?php echo esc_attr( $gf_id ); ?>_1_0"><?php esc_html_e( 'Lacking certain features', 'profile-builder'); ?></label>
33
+ <input class="poll_custom_hidden_detail" name="input_2" id="input_<?php echo esc_attr( $gf_id ); ?>_2" type="text" value="" placeholder="<?php esc_html_e( 'What feature would you like to see?', 'profile-builder' ); ?>">
34
  </li>
35
  <li>
36
+ <input name="input_1" type="radio" value="gpoll19c993bd1" id="choice_<?php echo esc_attr( $gf_id ); ?>_1_1">
37
+ <label for="choice_<?php echo esc_attr( $gf_id ); ?>_1_1" id="label_<?php echo esc_attr( $gf_id ); ?>_1_1"><?php esc_html_e( 'Hard to use', 'profile-builder'); ?></label>
38
+ <input class="poll_custom_hidden_detail" name="input_3" id="input_<?php echo esc_attr( $gf_id ); ?>_3" type="text" value="" placeholder="<?php esc_html_e( 'How can we improve our user experience ?', 'profile-builder' ); ?>">
39
  </li>
40
  <li>
41
+ <input name="input_1" type="radio" value="gpoll147502d8a" id="choice_<?php echo esc_attr( $gf_id ); ?>_1_2">
42
+ <label for="choice_<?php echo esc_attr( $gf_id ); ?>_1_2" id="label_<?php echo esc_attr( $gf_id ); ?>_1_2"><?php esc_html_e( 'Unsatisfactory support', 'profile-builder' ); ?></label>
43
+ <span class="poll_custom_hidden_detail"><?php esc_html_e( "Give us another try! Open a support ticket <a href='https://www.cozmoslabs.com/support/open-ticket/' target='_blank'>here</a>", 'profile-builder' ) ?></span>
44
  </li>
45
  <li>
46
+ <input name="input_1" type="radio" value="gpoll1353bb209" id="choice_<?php echo esc_attr( $gf_id ); ?>_1_4">
47
+ <label for="choice_<?php echo esc_attr( $gf_id ); ?>_1_4" id="label_<?php echo esc_attr( $gf_id ); ?>_1_4"><?php esc_html_e( 'Other', 'profile-builder'); ?></label>
48
+ <input class="poll_custom_hidden_detail" name="input_4" id="input_<?php echo esc_attr( $gf_id ); ?>_4" type="text" value="" placeholder="<?php esc_html_e( 'Please tell us more', 'profile-builder' ); ?>">
49
  </li>
50
  <li>
51
+ <input name="input_1" type="radio" value="gpoll18cbe0189" id="choice_<?php echo esc_attr( $gf_id ); ?>_1_3">
52
+ <label for="choice_<?php echo esc_attr( $gf_id ); ?>_1_3" id="label_<?php echo esc_attr( $gf_id ); ?>_1_3"><?php esc_html_e( 'Poor Documentation', 'profile-builder'); ?></label>
53
+ <input class="poll_custom_hidden_detail" name="input_5" id="input_<?php echo esc_attr( $gf_id ); ?>_5" type="text" value="" placeholder="<?php esc_html_e( "Tell us what you couldn't find", 'profile-builder' ); ?>">
54
+ </li>
55
  </ul>
56
  </div>
57
  <div class="gform_footer">
58
+ <input type="submit" id="gform_submit_button_<?php echo esc_attr( $gf_id ); ?>" class="button button-primary" value="<?php esc_html_e( 'Submit & Deactivate', 'profile-builder' ); ?>" disabled="disabled">
59
+ <input type="hidden" class="gform_hidden" name="is_submit_<?php echo esc_attr( $gf_id ); ?>" value="1">
60
+ <input type="hidden" class="gform_hidden" name="gform_submit" value="<?php echo esc_attr( $gf_id ); ?>">
61
+ <a href="#" class="button secondary custom-feedback-skip"><?php esc_html_e('Skip and Deactivate', 'profile-builder'); ?></a>
62
  </div>
63
  </form>
64
 
89
  if (jQuery('tr[data-slug="' + pluginSlug + '"] .deactivate a').length != 0) {
90
 
91
  /* the conditional fields */
92
+ jQuery("#gform_<?php echo esc_attr( $gf_id ); ?> input[type='radio']").on('click', function(){
93
+ jQuery("#gform_<?php echo esc_attr( $gf_id ); ?> input[type='submit']").prop("disabled", false);
94
  jQuery( '.poll_custom_hidden_detail' ).hide();
95
  jQuery( '.poll_custom_hidden_detail', jQuery(this).parent() ).show();
96
  });
107
  });
108
 
109
  /* on submit */
110
+ jQuery("#gform_<?php echo esc_attr( $gf_id ); ?>").on('submit', function(e) {
111
+ var url = "<?php echo esc_url( $action_link ); ?>"; // the script where you handle the form input.
112
 
113
  jQuery.ajax({
114
  type: "POST",
115
  url: url,
116
+ data: jQuery("#gform_<?php echo esc_attr( $gf_id ); ?>").serialize(), // serializes the form's elements.
117
  complete: function()
118
  {
119
  tb_remove();
162
  display:none;
163
  }
164
  #TB_window .pds-vote-button:after{
165
+ content:"<?php esc_html_e('Submit and Deactivate', 'profile-builder')?>";
166
  }
167
  #TB_window .pds-vote-button{
168
  padding: 6px 14px;
188
  #custom-feedback-modal{
189
  display: none;
190
  }
191
+
192
  .custom-feedback-poll-content{
193
  font-size:15px;
194
  padding:0 10px;
admin/general-settings.php CHANGED
@@ -12,6 +12,7 @@ function wppb_get_settings_pages(){
12
  'profile-builder-admin-bar-settings' => __( 'Admin Bar', 'profile-builder' ),
13
  'profile-builder-content_restriction' => __( 'Content Restriction', 'profile-builder' ),
14
  'profile-builder-private-website' => __( 'Private Website', 'profile-builder' ),
 
15
  'profile-builder-toolbox-settings' => __( 'Advanced Settings', 'profile-builder' ),
16
  );
17
 
@@ -44,7 +45,7 @@ function wppb_generate_settings_tabs(){
44
  <?php
45
  $pages = wppb_get_settings_pages();
46
 
47
- $active_tab = sanitize_text_field($_GET['page']);
48
  //if we are on a subpage we need to change the active tab to the parent
49
  if( !empty( $pages['sub-pages'] ) ) {
50
  foreach ($pages['sub-pages'] as $parent_slug => $subpages) {
@@ -55,20 +56,20 @@ function wppb_generate_settings_tabs(){
55
  }
56
 
57
  foreach( $pages['pages'] as $page_slug => $tab_name ){
58
- echo '<a href="' . admin_url( add_query_arg( array( 'page' => $page_slug ), 'admin.php' ) ) . '" class="nav-tab ' . ( $active_tab == $page_slug ? 'nav-tab-active' : '' ) . '">'. $tab_name .'</a>';
59
  }
60
  ?>
61
  </nav>
62
  <?php
63
 
64
- $active_subpage = sanitize_text_field($_GET['page']);
65
 
66
  if( !empty( $pages['sub-pages'] ) ) {
67
  foreach ($pages['sub-pages'] as $parent_slug => $subpages) {
68
- if (array_key_exists( sanitize_text_field( $_GET['page'] ), $subpages)) {
69
  echo '<ul class="wppb-subtabs subsubsub">';
70
  foreach ($subpages as $subpage_slug => $subpage_name) {
71
- echo '<li><a href="' . admin_url(add_query_arg(array('page' => $subpage_slug), 'admin.php')) . '" class="nav-sub-tab ' . ($active_subpage == $subpage_slug ? 'current' : '') . '">' . $subpage_name . '</a></li>';
72
  }
73
  echo '</ul>';
74
  }
@@ -87,7 +88,7 @@ function wppb_generate_settings_tabs(){
87
  $active_tab = array_shift( $keys );
88
  }
89
  foreach ($tabs as $tab_slug => $tab_name) {
90
- echo '<li><a href="' . esc_url( add_query_arg( array('tab' => $tab_slug) ) ) . '" class="nav-sub-tab ' . ( $active_tab == $tab_slug ? 'current' : '') . '">' . $tab_name . '</a></li>';
91
  }
92
  echo '</ul>';
93
  }
@@ -122,9 +123,9 @@ function wppb_generate_default_settings_defaults(){
122
  */
123
  function wppb_general_settings_content() {
124
  wppb_generate_default_settings_defaults();
125
- ?>
126
  <div class="wrap wppb-wrap">
127
- <h2><?php _e( 'Profile Builder Settings', 'profile-builder' ); ?></h2>
128
 
129
  <?php settings_errors(); ?>
130
 
@@ -137,44 +138,44 @@ function wppb_general_settings_content() {
137
  <table class="form-table">
138
  <tr>
139
  <th scope="row">
140
- <?php _e( "Load Profile Builder's own CSS file in the front-end:", "profile-builder" ); ?>
141
  </th>
142
  <td>
143
- <label><input type="checkbox" name="wppb_general_settings[extraFieldsLayout]"<?php echo ( ( isset( $wppb_generalSettings['extraFieldsLayout'] ) && ( $wppb_generalSettings['extraFieldsLayout'] == 'default' ) ) ? ' checked' : '' ); ?> value="default" class="wppb-select"><?php _e( 'Yes', 'profile-builder' ); ?></label>
144
  <ul>
145
- <li class="description"><?php printf( __( 'You can find the default file here: %1$s', 'profile-builder' ), '<a href="'.dirname( plugin_dir_url( __FILE__ ) ).'/assets/css/style-front-end.css" target="_blank">'.dirname( dirname( plugin_basename( __FILE__ ) ) ).'\assets\css\style-front-end.css</a>' ); ?></li>
146
  </ul>
147
  </td>
148
  </tr>
149
 
150
  <tr>
151
  <th scope="row">
152
- <?php _e( 'Automatically Log In:', 'profile-builder' );?>
153
  </th>
154
  <td>
155
  <select name="wppb_general_settings[automaticallyLogIn]" class="wppb-select" id="wppb_settings_automatically_log_in" onchange="wppb_display_page_select(this.value)">
156
- <option value="Yes" <?php if ( !empty( $wppb_generalSettings['automaticallyLogIn'] ) && $wppb_generalSettings['automaticallyLogIn'] === 'Yes' ) echo 'selected'; ?>><?php _e( 'Yes', 'profile-builder' ); ?></option>
157
- <option value="No" <?php if ( empty( $wppb_generalSettings['automaticallyLogIn'] ) || ( !empty( $wppb_generalSettings['automaticallyLogIn'] ) && $wppb_generalSettings['automaticallyLogIn'] === 'No' ) ) echo 'selected'; ?>><?php _e( 'No', 'profile-builder' ); ?></option>
158
  </select>
159
  <ul>
160
- <li class="description"><?php _e( 'Select "Yes" to automatically log in new users after successful registration.', 'profile-builder' ); ?></li>
161
  </ul>
162
  </td>
163
  </tr>
164
 
165
  <tr>
166
  <th scope="row">
167
- <?php _e( '"Email Confirmation" Activated:', 'profile-builder' );?>
168
  </th>
169
  <td>
170
  <select name="wppb_general_settings[emailConfirmation]" class="wppb-select" id="wppb_settings_email_confirmation" onchange="wppb_display_page_select(this.value)">
171
- <option value="yes" <?php if ( !empty( $wppb_generalSettings['emailConfirmation'] ) && $wppb_generalSettings['emailConfirmation'] === 'yes' ) echo 'selected'; ?>><?php _e( 'Yes', 'profile-builder' ); ?></option>
172
- <option value="no" <?php if ( empty( $wppb_generalSettings['emailConfirmation'] ) || ( !empty( $wppb_generalSettings['emailConfirmation'] ) && $wppb_generalSettings['emailConfirmation'] === 'no' ) ) echo 'selected'; ?>><?php _e( 'No', 'profile-builder' ); ?></option>
173
  </select>
174
  <ul>
175
- <li class="description"><?php _e( 'This works with front-end forms only. Recommended to redirect WP default registration to a Profile Builder one using "Custom Redirects" module.', 'profile-builder' ); ?></li>
176
  <?php if ( $wppb_generalSettings['emailConfirmation'] == 'yes' ) { ?>
177
- <li class="description dynamic1"><?php printf( __( 'You can find a list of unconfirmed email addresses %1$sUsers > All Users > Email Confirmation%2$s.', 'profile-builder' ), '<a href="'.get_bloginfo( 'url' ).'/wp-admin/users.php?page=unconfirmed_emails">', '</a>' )?></li>
178
  <?php } ?>
179
  </ul>
180
  </td>
@@ -182,27 +183,27 @@ function wppb_general_settings_content() {
182
 
183
  <tr id="wppb-settings-activation-page">
184
  <th scope="row">
185
- <?php _e( '"Email Confirmation" Landing Page:', 'profile-builder' ); ?>
186
  </th>
187
  <td>
188
  <select name="wppb_general_settings[activationLandingPage]" class="wppb-select">
189
  <option value="" <?php if ( empty( $wppb_generalSettings['emailConfirmation'] ) ) echo 'selected'; ?>></option>
190
- <optgroup label="<?php _e( 'Existing Pages', 'profile-builder' ); ?>">
191
  <?php
192
  $pages = get_pages( apply_filters( 'wppb_page_args_filter', array( 'sort_order' => 'ASC', 'sort_column' => 'post_title', 'post_type' => 'page', 'post_status' => array( 'publish' ) ) ) );
193
 
194
  foreach ( $pages as $key => $value ){
195
- echo '<option value="'.$value->ID.'"';
196
  if ( $wppb_generalSettings['activationLandingPage'] == $value->ID )
197
  echo ' selected';
198
 
199
- echo '>' . $value->post_title . '</option>';
200
  }
201
  ?>
202
  </optgroup>
203
  </select>
204
  <p class="description">
205
- <?php _e( 'Specify the page where the users will be directed when confirming the email account. This page can differ from the register page(s) and can be changed at any time. If none selected, a simple confirmation page will be displayed for the user.', 'profile-builder' ); ?>
206
  </p>
207
  </td>
208
  </tr>
@@ -213,22 +214,22 @@ function wppb_general_settings_content() {
213
  ?>
214
  <tr>
215
  <th scope="row">
216
- <?php _e( '"Admin Approval" Activated:', 'profile-builder' ); ?>
217
  </th>
218
  <td>
219
  <select id="adminApprovalSelect" name="wppb_general_settings[adminApproval]" class="wppb-select" onchange="wppb_display_page_select_aa(this.value)">
220
- <option value="yes" <?php if( !empty( $wppb_generalSettings['adminApproval'] ) && $wppb_generalSettings['adminApproval'] == 'yes' ) echo 'selected'; ?>><?php _e( 'Yes', 'profile-builder' ); ?></option>
221
- <option value="no" <?php if( empty( $wppb_generalSettings['adminApproval'] ) || ( !empty( $wppb_generalSettings['adminApproval'] ) && $wppb_generalSettings['adminApproval'] == 'no' ) ) echo 'selected'; ?>><?php _e( 'No', 'profile-builder' ); ?></option>
222
  </select>
223
  <ul>
224
- <li class="description dynamic2"><?php printf( __( 'You can find a list of users at %1$sUsers > All Users > Admin Approval%2$s.', 'profile-builder' ), '<a href="'.get_bloginfo( 'url' ).'/wp-admin/users.php?page=admin_approval&orderby=registered&order=desc">', '</a>' )?></li>
225
  <ul>
226
  </td>
227
  </tr>
228
 
229
  <tr class="dynamic2">
230
  <th scope="row">
231
- <?php _e( '"Admin Approval" on User Role:', 'profile-builder' ); ?>
232
  </th>
233
  <td>
234
  <div id="wrap">
@@ -241,13 +242,13 @@ function wppb_general_settings_content() {
241
  if( ! empty( $wppb_generalSettings['adminApprovalOnUserRole'] ) && in_array( $role, $wppb_generalSettings['adminApprovalOnUserRole'] ) ) echo ' checked';
242
  if( empty( $wppb_generalSettings['adminApprovalOnUserRole'] ) ) echo ' checked';
243
  echo '>';
244
- echo $role_name . '</label><br>';
245
  }
246
  }
247
  ?>
248
  </div>
249
  <ul>
250
- <li class="description"><?php printf( __( 'Select on what user roles to activate Admin Approval.', 'profile-builder' ) ) ?></li>
251
  <ul>
252
  </td>
253
  </tr>
@@ -259,15 +260,15 @@ function wppb_general_settings_content() {
259
  ?>
260
  <tr>
261
  <th scope="row">
262
- <?php _e( '"Roles Editor" Activated:', 'profile-builder' ); ?>
263
  </th>
264
  <td>
265
  <select id="rolesEditorSelect" name="wppb_general_settings[rolesEditor]" class="wppb-select" onchange="wppb_display_page_select_re(this.value)">
266
- <option value="no" <?php if( !empty( $wppb_generalSettings['rolesEditor'] ) && $wppb_generalSettings['rolesEditor'] == 'no' ) echo 'selected'; ?>><?php _e( 'No', 'profile-builder' ); ?></option>
267
- <option value="yes" <?php if( !empty( $wppb_generalSettings['rolesEditor'] ) && $wppb_generalSettings['rolesEditor'] == 'yes' ) echo 'selected'; ?>><?php _e( 'Yes', 'profile-builder' ); ?></option>
268
  </select>
269
  <ul>
270
- <li class="description dynamic3"><?php printf( __( 'You can add / edit user roles at %1$sUsers > Roles Editor%2$s.', 'profile-builder' ), '<a href="'.get_bloginfo( 'url' ).'/wp-admin/edit.php?post_type=wppb-roles-editor">', '</a>' )?></li>
271
  <ul>
272
  </td>
273
  </tr>
@@ -278,55 +279,55 @@ function wppb_general_settings_content() {
278
  ?>
279
  <tr>
280
  <th scope="row">
281
- <?php _e( '"Admin Approval" Feature:', 'profile-builder' ); ?>
282
  </th>
283
  <td>
284
- <p><em> <?php printf( __( 'You decide who is a user on your website. Get notified via email or approve multiple users at once from the WordPress UI. Enable Admin Approval by upgrading to %1$sHobbyist or PRO versions%2$s.', 'profile-builder' ),'<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=general-settings-link&utm_campaign=PBFree">', '</a>' )?></em></p>
285
  </td>
286
  </tr>
287
  <?php } ?>
288
 
289
  <tr>
290
  <th scope="row">
291
- <?php _e( 'Allow Users to Log in With:', 'profile-builder' ); ?>
292
  </th>
293
  <td>
294
  <select name="wppb_general_settings[loginWith]" class="wppb-select">
295
- <option value="usernameemail" <?php if ( $wppb_generalSettings['loginWith'] == 'usernameemail' ) echo 'selected'; ?>><?php _e( 'Username and Email', 'profile-builder' ); ?></option>
296
- <option value="username" <?php if ( $wppb_generalSettings['loginWith'] == 'username' ) echo 'selected'; ?>><?php _e( 'Username', 'profile-builder' ); ?></option>
297
- <option value="email" <?php if ( $wppb_generalSettings['loginWith'] == 'email' ) echo 'selected'; ?>><?php _e( 'Email', 'profile-builder' ); ?></option>
298
  </select>
299
  <ul>
300
- <li class="description"><?php _e( '"Username and Email" - users can Log In with either their Username or their Email.', 'profile-builder' ); ?></li>
301
- <li class="description"><?php _e( '"Username" - users can only Log In with their Username. Both the Username and Email fields will be shown in the front-end forms.', 'profile-builder' ); ?></li>
302
- <li class="description"><?php _e( '"Email" - users can only Log In with their Email. The Username field will be hidden in the front-end forms and Usernames will be automatically generated based on the Emails.', 'profile-builder' ); ?></li>
303
  </ul>
304
  </td>
305
  </tr>
306
 
307
  <tr>
308
  <th scope="row">
309
- <?php _e( 'Minimum Password Length:', 'profile-builder' ); ?>
310
  </th>
311
  <td>
312
  <input type="text" name="wppb_general_settings[minimum_password_length]" class="wppb-text" value="<?php if( !empty( $wppb_generalSettings['minimum_password_length'] ) ) echo esc_attr( $wppb_generalSettings['minimum_password_length'] ); ?>"/>
313
  <ul>
314
- <li class="description"><?php _e( 'Enter the minimum characters the password should have. Leave empty for no minimum limit', 'profile-builder' ); ?> </li>
315
  </ul>
316
  </td>
317
  </tr>
318
 
319
  <tr>
320
  <th scope="row">
321
- <?php _e( 'Minimum Password Strength:', 'profile-builder' ); ?>
322
  </th>
323
  <td>
324
  <select name="wppb_general_settings[minimum_password_strength]" class="wppb-select">
325
- <option value=""><?php _e( 'Disabled', 'profile-builder' ); ?></option>
326
- <option value="short" <?php if ( !empty($wppb_generalSettings['minimum_password_strength']) && $wppb_generalSettings['minimum_password_strength'] == 'short' ) echo 'selected'; ?>><?php _e( 'Very weak', 'profile-builder' ); ?></option>
327
- <option value="bad" <?php if ( !empty($wppb_generalSettings['minimum_password_strength']) && $wppb_generalSettings['minimum_password_strength'] == 'bad' ) echo 'selected'; ?>><?php _e( 'Weak', 'profile-builder' ); ?></option>
328
- <option value="good" <?php if ( !empty($wppb_generalSettings['minimum_password_strength']) && $wppb_generalSettings['minimum_password_strength'] == 'good' ) echo 'selected'; ?>><?php _e( 'Medium', 'profile-builder' ); ?></option>
329
- <option value="strong" <?php if ( !empty($wppb_generalSettings['minimum_password_strength']) && $wppb_generalSettings['minimum_password_strength'] == 'strong' ) echo 'selected'; ?>><?php _e( 'Strong', 'profile-builder' ); ?></option>
330
  </select>
331
  </td>
332
  </tr>
@@ -337,10 +338,10 @@ function wppb_general_settings_content() {
337
 
338
 
339
  <input type="hidden" name="action" value="update" />
340
- <p class="submit"><input type="submit" class="button-primary" value="<?php _e( 'Save Changes' ); ?>" /></p>
341
  </form>
342
  </div>
343
-
344
  <?php
345
  }
346
 
12
  'profile-builder-admin-bar-settings' => __( 'Admin Bar', 'profile-builder' ),
13
  'profile-builder-content_restriction' => __( 'Content Restriction', 'profile-builder' ),
14
  'profile-builder-private-website' => __( 'Private Website', 'profile-builder' ),
15
+ 'profile-builder-two-factor-authentication' => __( 'Two-Factor Authentication', 'profile-builder' ),
16
  'profile-builder-toolbox-settings' => __( 'Advanced Settings', 'profile-builder' ),
17
  );
18
 
45
  <?php
46
  $pages = wppb_get_settings_pages();
47
 
48
+ $active_tab = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
49
  //if we are on a subpage we need to change the active tab to the parent
50
  if( !empty( $pages['sub-pages'] ) ) {
51
  foreach ($pages['sub-pages'] as $parent_slug => $subpages) {
56
  }
57
 
58
  foreach( $pages['pages'] as $page_slug => $tab_name ){
59
+ echo '<a href="' . esc_url( admin_url( add_query_arg( array( 'page' => $page_slug ), 'admin.php' ) ) ) . '" class="nav-tab ' . ( $active_tab == $page_slug ? 'nav-tab-active' : '' ) . '">'. esc_html( $tab_name ) .'</a>';
60
  }
61
  ?>
62
  </nav>
63
  <?php
64
 
65
+ $active_subpage = $active_tab;
66
 
67
  if( !empty( $pages['sub-pages'] ) ) {
68
  foreach ($pages['sub-pages'] as $parent_slug => $subpages) {
69
+ if (array_key_exists( sanitize_text_field( $active_subpage ), $subpages)) {
70
  echo '<ul class="wppb-subtabs subsubsub">';
71
  foreach ($subpages as $subpage_slug => $subpage_name) {
72
+ echo '<li><a href="' . esc_url( admin_url( add_query_arg(array('page' => $subpage_slug), 'admin.php') ) ) . '" class="nav-sub-tab ' . ($active_subpage == $subpage_slug ? 'current' : '') . '">' . esc_html( $subpage_name ) . '</a></li>';
73
  }
74
  echo '</ul>';
75
  }
88
  $active_tab = array_shift( $keys );
89
  }
90
  foreach ($tabs as $tab_slug => $tab_name) {
91
+ echo '<li><a href="' . esc_url( add_query_arg( array('tab' => $tab_slug) ) ) . '" class="nav-sub-tab ' . ( $active_tab == $tab_slug ? 'current' : '') . '">' . esc_html( $tab_name ) . '</a></li>';
92
  }
93
  echo '</ul>';
94
  }
123
  */
124
  function wppb_general_settings_content() {
125
  wppb_generate_default_settings_defaults();
126
+ ?>
127
  <div class="wrap wppb-wrap">
128
+ <h2><?php esc_html_e( 'Profile Builder Settings', 'profile-builder' ); ?></h2>
129
 
130
  <?php settings_errors(); ?>
131
 
138
  <table class="form-table">
139
  <tr>
140
  <th scope="row">
141
+ <?php esc_html_e( "Load Profile Builder's own CSS file in the front-end:", "profile-builder" ); ?>
142
  </th>
143
  <td>
144
+ <label><input type="checkbox" name="wppb_general_settings[extraFieldsLayout]"<?php echo ( ( isset( $wppb_generalSettings['extraFieldsLayout'] ) && ( $wppb_generalSettings['extraFieldsLayout'] == 'default' ) ) ? ' checked' : '' ); ?> value="default" class="wppb-select"><?php esc_html_e( 'Yes', 'profile-builder' ); ?></label>
145
  <ul>
146
+ <li class="description"><?php printf( esc_html__( 'You can find the default file here: %1$s', 'profile-builder' ), '<a href="'.dirname( plugin_dir_url( __FILE__ ) ).'/assets/css/style-front-end.css" target="_blank">'.dirname( dirname( plugin_basename( __FILE__ ) ) ).'\assets\css\style-front-end.css</a>' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></li>
147
  </ul>
148
  </td>
149
  </tr>
150
 
151
  <tr>
152
  <th scope="row">
153
+ <?php esc_html_e( 'Automatically Log In:', 'profile-builder' );?>
154
  </th>
155
  <td>
156
  <select name="wppb_general_settings[automaticallyLogIn]" class="wppb-select" id="wppb_settings_automatically_log_in" onchange="wppb_display_page_select(this.value)">
157
+ <option value="Yes" <?php if ( !empty( $wppb_generalSettings['automaticallyLogIn'] ) && $wppb_generalSettings['automaticallyLogIn'] === 'Yes' ) echo 'selected'; ?>><?php esc_html_e( 'Yes', 'profile-builder' ); ?></option>
158
+ <option value="No" <?php if ( empty( $wppb_generalSettings['automaticallyLogIn'] ) || ( !empty( $wppb_generalSettings['automaticallyLogIn'] ) && $wppb_generalSettings['automaticallyLogIn'] === 'No' ) ) echo 'selected'; ?>><?php esc_html_e( 'No', 'profile-builder' ); ?></option>
159
  </select>
160
  <ul>
161
+ <li class="description"><?php esc_html_e( 'Select "Yes" to automatically log in new users after successful registration.', 'profile-builder' ); ?></li>
162
  </ul>
163
  </td>
164
  </tr>
165
 
166
  <tr>
167
  <th scope="row">
168
+ <?php esc_html_e( '"Email Confirmation" Activated:', 'profile-builder' );?>
169
  </th>
170
  <td>
171
  <select name="wppb_general_settings[emailConfirmation]" class="wppb-select" id="wppb_settings_email_confirmation" onchange="wppb_display_page_select(this.value)">
172
+ <option value="yes" <?php if ( !empty( $wppb_generalSettings['emailConfirmation'] ) && $wppb_generalSettings['emailConfirmation'] === 'yes' ) echo 'selected'; ?>><?php esc_html_e( 'Yes', 'profile-builder' ); ?></option>
173
+ <option value="no" <?php if ( empty( $wppb_generalSettings['emailConfirmation'] ) || ( !empty( $wppb_generalSettings['emailConfirmation'] ) && $wppb_generalSettings['emailConfirmation'] === 'no' ) ) echo 'selected'; ?>><?php esc_html_e( 'No', 'profile-builder' ); ?></option>
174
  </select>
175
  <ul>
176
+ <li class="description"><?php esc_html_e( 'This works with front-end forms only. Recommended to redirect WP default registration to a Profile Builder one using "Custom Redirects" module.', 'profile-builder' ); ?></li>
177
  <?php if ( $wppb_generalSettings['emailConfirmation'] == 'yes' ) { ?>
178
+ <li class="description dynamic1"><?php printf( esc_html__( 'You can find a list of unconfirmed email addresses %1$sUsers > All Users > Email Confirmation%2$s.', 'profile-builder' ), '<a href="'. esc_url( get_bloginfo( 'url' ) ).'/wp-admin/users.php?page=unconfirmed_emails">', '</a>' )?></li>
179
  <?php } ?>
180
  </ul>
181
  </td>
183
 
184
  <tr id="wppb-settings-activation-page">
185
  <th scope="row">
186
+ <?php esc_html_e( '"Email Confirmation" Landing Page:', 'profile-builder' ); ?>
187
  </th>
188
  <td>
189
  <select name="wppb_general_settings[activationLandingPage]" class="wppb-select">
190
  <option value="" <?php if ( empty( $wppb_generalSettings['emailConfirmation'] ) ) echo 'selected'; ?>></option>
191
+ <optgroup label="<?php esc_html_e( 'Existing Pages', 'profile-builder' ); ?>">
192
  <?php
193
  $pages = get_pages( apply_filters( 'wppb_page_args_filter', array( 'sort_order' => 'ASC', 'sort_column' => 'post_title', 'post_type' => 'page', 'post_status' => array( 'publish' ) ) ) );
194
 
195
  foreach ( $pages as $key => $value ){
196
+ echo '<option value="'.esc_attr( $value->ID ).'"';
197
  if ( $wppb_generalSettings['activationLandingPage'] == $value->ID )
198
  echo ' selected';
199
 
200
+ echo '>' . esc_html( $value->post_title ) . '</option>';
201
  }
202
  ?>
203
  </optgroup>
204
  </select>
205
  <p class="description">
206
+ <?php esc_html_e( 'Specify the page where the users will be directed when confirming the email account. This page can differ from the register page(s) and can be changed at any time. If none selected, a simple confirmation page will be displayed for the user.', 'profile-builder' ); ?>
207
  </p>
208
  </td>
209
  </tr>
214
  ?>
215
  <tr>
216
  <th scope="row">
217
+ <?php esc_html_e( '"Admin Approval" Activated:', 'profile-builder' ); ?>
218
  </th>
219
  <td>
220
  <select id="adminApprovalSelect" name="wppb_general_settings[adminApproval]" class="wppb-select" onchange="wppb_display_page_select_aa(this.value)">
221
+ <option value="yes" <?php if( !empty( $wppb_generalSettings['adminApproval'] ) && $wppb_generalSettings['adminApproval'] == 'yes' ) echo 'selected'; ?>><?php esc_html_e( 'Yes', 'profile-builder' ); ?></option>
222
+ <option value="no" <?php if( empty( $wppb_generalSettings['adminApproval'] ) || ( !empty( $wppb_generalSettings['adminApproval'] ) && $wppb_generalSettings['adminApproval'] == 'no' ) ) echo 'selected'; ?>><?php esc_html_e( 'No', 'profile-builder' ); ?></option>
223
  </select>
224
  <ul>
225
+ <li class="description dynamic2"><?php printf( esc_html__( 'You can find a list of users at %1$sUsers > All Users > Admin Approval%2$s.', 'profile-builder' ), '<a href="'. esc_url( get_bloginfo( 'url' ) ).'/wp-admin/users.php?page=admin_approval&orderby=registered&order=desc">', '</a>' )?></li>
226
  <ul>
227
  </td>
228
  </tr>
229
 
230
  <tr class="dynamic2">
231
  <th scope="row">
232
+ <?php esc_html_e( '"Admin Approval" on User Role:', 'profile-builder' ); ?>
233
  </th>
234
  <td>
235
  <div id="wrap">
242
  if( ! empty( $wppb_generalSettings['adminApprovalOnUserRole'] ) && in_array( $role, $wppb_generalSettings['adminApprovalOnUserRole'] ) ) echo ' checked';
243
  if( empty( $wppb_generalSettings['adminApprovalOnUserRole'] ) ) echo ' checked';
244
  echo '>';
245
+ echo esc_html( $role_name ) . '</label><br>';
246
  }
247
  }
248
  ?>
249
  </div>
250
  <ul>
251
+ <li class="description"><?php printf( esc_html__( 'Select on what user roles to activate Admin Approval.', 'profile-builder' ) ) ?></li>
252
  <ul>
253
  </td>
254
  </tr>
260
  ?>
261
  <tr>
262
  <th scope="row">
263
+ <?php esc_html_e( '"Roles Editor" Activated:', 'profile-builder' ); ?>
264
  </th>
265
  <td>
266
  <select id="rolesEditorSelect" name="wppb_general_settings[rolesEditor]" class="wppb-select" onchange="wppb_display_page_select_re(this.value)">
267
+ <option value="no" <?php if( !empty( $wppb_generalSettings['rolesEditor'] ) && $wppb_generalSettings['rolesEditor'] == 'no' ) echo 'selected'; ?>><?php esc_html_e( 'No', 'profile-builder' ); ?></option>
268
+ <option value="yes" <?php if( !empty( $wppb_generalSettings['rolesEditor'] ) && $wppb_generalSettings['rolesEditor'] == 'yes' ) echo 'selected'; ?>><?php esc_html_e( 'Yes', 'profile-builder' ); ?></option>
269
  </select>
270
  <ul>
271
+ <li class="description dynamic3"><?php printf( esc_html__( 'You can add / edit user roles at %1$sUsers > Roles Editor%2$s.', 'profile-builder' ), '<a href="'. esc_url( get_bloginfo( 'url' ) ).'/wp-admin/edit.php?post_type=wppb-roles-editor">', '</a>' )?></li>
272
  <ul>
273
  </td>
274
  </tr>
279
  ?>
280
  <tr>
281
  <th scope="row">
282
+ <?php esc_html_e( '"Admin Approval" Feature:', 'profile-builder' ); ?>
283
  </th>
284
  <td>
285
+ <p><em> <?php printf( esc_html__( 'You decide who is a user on your website. Get notified via email or approve multiple users at once from the WordPress UI. Enable Admin Approval by upgrading to %1$sHobbyist or PRO versions%2$s.', 'profile-builder' ),'<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=general-settings-link&utm_campaign=PBFree">', '</a>' )?></em></p>
286
  </td>
287
  </tr>
288
  <?php } ?>
289
 
290
  <tr>
291
  <th scope="row">
292
+ <?php esc_html_e( 'Allow Users to Log in With:', 'profile-builder' ); ?>
293
  </th>
294
  <td>
295
  <select name="wppb_general_settings[loginWith]" class="wppb-select">
296
+ <option value="usernameemail" <?php if ( $wppb_generalSettings['loginWith'] == 'usernameemail' ) echo 'selected'; ?>><?php esc_html_e( 'Username and Email', 'profile-builder' ); ?></option>
297
+ <option value="username" <?php if ( $wppb_generalSettings['loginWith'] == 'username' ) echo 'selected'; ?>><?php esc_html_e( 'Username', 'profile-builder' ); ?></option>
298
+ <option value="email" <?php if ( $wppb_generalSettings['loginWith'] == 'email' ) echo 'selected'; ?>><?php esc_html_e( 'Email', 'profile-builder' ); ?></option>
299
  </select>
300
  <ul>
301
+ <li class="description"><?php esc_html_e( '"Username and Email" - users can Log In with either their Username or their Email.', 'profile-builder' ); ?></li>
302
+ <li class="description"><?php esc_html_e( '"Username" - users can only Log In with their Username. Both the Username and Email fields will be shown in the front-end forms.', 'profile-builder' ); ?></li>
303
+ <li class="description"><?php esc_html_e( '"Email" - users can only Log In with their Email. The Username field will be hidden in the front-end forms and Usernames will be automatically generated based on the Emails.', 'profile-builder' ); ?></li>
304
  </ul>
305
  </td>
306
  </tr>
307
 
308
  <tr>
309
  <th scope="row">
310
+ <?php esc_html_e( 'Minimum Password Length:', 'profile-builder' ); ?>
311
  </th>
312
  <td>
313
  <input type="text" name="wppb_general_settings[minimum_password_length]" class="wppb-text" value="<?php if( !empty( $wppb_generalSettings['minimum_password_length'] ) ) echo esc_attr( $wppb_generalSettings['minimum_password_length'] ); ?>"/>
314
  <ul>
315
+ <li class="description"><?php esc_html_e( 'Enter the minimum characters the password should have. Leave empty for no minimum limit', 'profile-builder' ); ?> </li>
316
  </ul>
317
  </td>
318
  </tr>
319
 
320
  <tr>
321
  <th scope="row">
322
+ <?php esc_html_e( 'Minimum Password Strength:', 'profile-builder' ); ?>
323
  </th>
324
  <td>
325
  <select name="wppb_general_settings[minimum_password_strength]" class="wppb-select">
326
+ <option value=""><?php esc_html_e( 'Disabled', 'profile-builder' ); ?></option>
327
+ <option value="short" <?php if ( !empty($wppb_generalSettings['minimum_password_strength']) && $wppb_generalSettings['minimum_password_strength'] == 'short' ) echo 'selected'; ?>><?php esc_html_e( 'Very weak', 'profile-builder' ); ?></option>
328
+ <option value="bad" <?php if ( !empty($wppb_generalSettings['minimum_password_strength']) && $wppb_generalSettings['minimum_password_strength'] == 'bad' ) echo 'selected'; ?>><?php esc_html_e( 'Weak', 'profile-builder' ); ?></option>
329
+ <option value="good" <?php if ( !empty($wppb_generalSettings['minimum_password_strength']) && $wppb_generalSettings['minimum_password_strength'] == 'good' ) echo 'selected'; ?>><?php esc_html_e( 'Medium', 'profile-builder' ); ?></option>
330
+ <option value="strong" <?php if ( !empty($wppb_generalSettings['minimum_password_strength']) && $wppb_generalSettings['minimum_password_strength'] == 'strong' ) echo 'selected'; ?>><?php esc_html_e( 'Strong', 'profile-builder' ); ?></option>
331
  </select>
332
  </td>
333
  </tr>
338
 
339
 
340
  <input type="hidden" name="action" value="update" />
341
+ <p class="submit"><input type="submit" class="button-primary" value="<?php esc_html_e( 'Save Changes', 'profile-builder' ); ?>" /></p>
342
  </form>
343
  </div>
344
+
345
  <?php
346
  }
347
 
admin/manage-fields.php CHANGED
@@ -33,7 +33,7 @@ function wppb_populate_manage_fields(){
33
  'optgroups' => array(
34
  'default' =>
35
  array(
36
- 'label' => __('Default'),
37
  'options' => array(
38
  'Default - Name (Heading)',
39
  'Default - Contact Info (Heading)',
@@ -52,17 +52,17 @@ function wppb_populate_manage_fields(){
52
  ),
53
  'standard' =>
54
  array(
55
- 'label' => __('Standard'),
56
  'options' => array(),
57
  ),
58
  'advanced' =>
59
  array(
60
- 'label' => __('Advanced'),
61
  'options' => array(),
62
  ),
63
  'other' =>
64
  array(
65
- 'label' => __('Other'),
66
  'options' => array(
67
  'GDPR Checkbox', // since 2.8.2
68
  'GDPR Delete Button', // since 3.0.1
@@ -115,6 +115,8 @@ function wppb_populate_manage_fields(){
115
 
116
  $manage_field_types['optgroups']['other']['options'][] = 'Select2';
117
  $manage_field_types['optgroups']['other']['options'][] = 'Select2 (Multiple)';
 
 
118
  }
119
 
120
  $manage_field_types['optgroups']['other']['options'][] = 'Email Confirmation';
@@ -694,7 +696,7 @@ function wppb_get_currencies( $form_location = '' ) {
694
  'ALL' => __( 'Albania Lek', 'profile-builder' ),
695
  'AFN' => __( 'Afghanistan Afghani', 'profile-builder' ),
696
  'ARS' => __( 'Argentina Peso', 'profile-builder' ),
697
- 'AWG' => __( 'Aruba Guilder', 'wkc' ),
698
  'AUD' => __( 'Australia Dollar', 'profile-builder' ),
699
  'AZN' => __( 'Azerbaijan New Manat', 'profile-builder' ),
700
  'BSD' => __( 'Bahamas Dollar', 'profile-builder' ),
@@ -1212,7 +1214,7 @@ function wppb_check_field_on_edit_add( $message, $fields, $required_fields, $met
1212
  // meta names that are reserved and cannot be used as part of other meta names
1213
  $reserved_meta_name_list_strict = apply_filters( 'wppb_unique_meta_name_list_strict', array( 'map' ) );
1214
  // skip meta name check for these fields
1215
- $skip_unique_meta_name_list_check = apply_filters( 'wppb_skip_unique_meta_name_list_check', array( 'Map' ) );
1216
 
1217
  // if the desired meta name is in the restricted list or if one of the meta names in the strictly
1218
  // restricted list is part of it display an error message
@@ -1372,20 +1374,20 @@ add_action( 'wck_metabox_content_header_wppb_manage_fields', 'wppb_manage_fields
1372
  */
1373
  function wppb_add_content_before_manage_fields(){
1374
  ?>
1375
- <p><?php _e('Use these shortcodes on the pages you want the forms to be displayed:', 'profile-builder'); ?></p>
1376
- <ul>
1377
- <li><strong class="nowrap">[wppb-register]</strong></li>
1378
- <li><strong class="nowrap">[wppb-edit-profile]</strong></li>
1379
- <li><strong class="nowrap">[wppb-register role="author"]</strong></li>
1380
- </ul>
1381
- <p>
1382
- <?php
1383
- if( PROFILE_BUILDER == 'Profile Builder Pro' )
1384
- _e("If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Add-ons.", 'profile-builder');
1385
- else
1386
- _e( "With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms add-on.", "profile-builder" )
1387
- ?>
1388
- </p>
1389
  <?php
1390
  }
1391
  add_action('wck_metabox_content_wppb_manage_fields_info', 'wppb_add_content_before_manage_fields');
@@ -1405,7 +1407,7 @@ function wppb_remove_properties_from_added_form( $meta_name, $id, $element_id ){
1405
  echo "<script type=\"text/javascript\">wppb_disable_delete_on_default_mandatory_fields();</script>";
1406
 
1407
  if ( $meta_name == 'wppb_manage_fields' ) {
1408
- echo "<script type=\"text/javascript\">wppb_edit_form_properties( '#container_wppb_manage_fields', 'update_container_wppb_manage_fields_" . $element_id . "' );</script>";
1409
  echo "<script type=\"text/javascript\">wppb_enable_select2( '#container_wppb_manage_fields' );</script>";
1410
  }
1411
  }
33
  'optgroups' => array(
34
  'default' =>
35
  array(
36
+ 'label' => __('Default', 'profile-builder'),
37
  'options' => array(
38
  'Default - Name (Heading)',
39
  'Default - Contact Info (Heading)',
52
  ),
53
  'standard' =>
54
  array(
55
+ 'label' => __('Standard', 'profile-builder'),
56
  'options' => array(),
57
  ),
58
  'advanced' =>
59
  array(
60
+ 'label' => __('Advanced', 'profile-builder'),
61
  'options' => array(),
62
  ),
63
  'other' =>
64
  array(
65
+ 'label' => __('Other', 'profile-builder'),
66
  'options' => array(
67
  'GDPR Checkbox', // since 2.8.2
68
  'GDPR Delete Button', // since 3.0.1
115
 
116
  $manage_field_types['optgroups']['other']['options'][] = 'Select2';
117
  $manage_field_types['optgroups']['other']['options'][] = 'Select2 (Multiple)';
118
+
119
+ $manage_field_types['optgroups']['other']['options'][] = 'Honeypot';
120
  }
121
 
122
  $manage_field_types['optgroups']['other']['options'][] = 'Email Confirmation';
696
  'ALL' => __( 'Albania Lek', 'profile-builder' ),
697
  'AFN' => __( 'Afghanistan Afghani', 'profile-builder' ),
698
  'ARS' => __( 'Argentina Peso', 'profile-builder' ),
699
+ 'AWG' => __( 'Aruba Guilder', 'profile-builder' ),
700
  'AUD' => __( 'Australia Dollar', 'profile-builder' ),
701
  'AZN' => __( 'Azerbaijan New Manat', 'profile-builder' ),
702
  'BSD' => __( 'Bahamas Dollar', 'profile-builder' ),
1214
  // meta names that are reserved and cannot be used as part of other meta names
1215
  $reserved_meta_name_list_strict = apply_filters( 'wppb_unique_meta_name_list_strict', array( 'map' ) );
1216
  // skip meta name check for these fields
1217
+ $skip_unique_meta_name_list_check = apply_filters( 'wppb_skip_unique_meta_name_list_check', array( 'Map', 'Honeypot' ) );
1218
 
1219
  // if the desired meta name is in the restricted list or if one of the meta names in the strictly
1220
  // restricted list is part of it display an error message
1374
  */
1375
  function wppb_add_content_before_manage_fields(){
1376
  ?>
1377
+ <p><?php esc_html_e('Use these shortcodes on the pages you want the forms to be displayed:', 'profile-builder'); ?></p>
1378
+ <ul>
1379
+ <li><strong class="nowrap">[wppb-register]</strong></li>
1380
+ <li><strong class="nowrap">[wppb-edit-profile]</strong></li>
1381
+ <li><strong class="nowrap">[wppb-register role="author"]</strong></li>
1382
+ </ul>
1383
+ <p>
1384
+ <?php
1385
+ if( PROFILE_BUILDER == 'Profile Builder Pro' )
1386
+ esc_html_e("If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Add-ons.", 'profile-builder');
1387
+ else
1388
+ esc_html_e( "With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms add-on.", "profile-builder" )
1389
+ ?>
1390
+ </p>
1391
  <?php
1392
  }
1393
  add_action('wck_metabox_content_wppb_manage_fields_info', 'wppb_add_content_before_manage_fields');
1407
  echo "<script type=\"text/javascript\">wppb_disable_delete_on_default_mandatory_fields();</script>";
1408
 
1409
  if ( $meta_name == 'wppb_manage_fields' ) {
1410
+ echo "<script type=\"text/javascript\">wppb_edit_form_properties( '#container_wppb_manage_fields', 'update_container_wppb_manage_fields_" . esc_attr( $element_id ) . "' );</script>";
1411
  echo "<script type=\"text/javascript\">wppb_enable_select2( '#container_wppb_manage_fields' );</script>";
1412
  }
1413
  }
admin/pms-cross-promotion.php CHANGED
@@ -31,20 +31,20 @@ function wppb_pms_cross_promo() {
31
  </div>
32
 
33
 
34
- <h2 class="wppb-callout"><?php _e( 'Paid Member Subscriptions - a free WordPress plugin', 'profile-builder' ); ?></h2>
35
  <hr/>
36
  <div class="wppb-row wppb-2-col">
37
  <div>
38
- <p><?php _e( 'With the new Subscriptions Field in Profile Builder, your registration forms will allow your users to sign up for paid accounts.', 'profile-builder' ); ?></p>
39
  <p>Other features of Paid Member Subscriptions are:</p>
40
  <ul>
41
- <li><?php _e( 'Paid & Free Subscriptions', 'profile-builder' ); ?></li>
42
- <li><?php _e( 'Restrict Content', 'profile-builder' ); ?></li>
43
- <li><?php _e( 'Member Management', 'profile-builder' ); ?></li>
44
- <li><?php _e( 'Email Templates', 'profile-builder' ); ?> </li>
45
- <li><?php _e( 'Account Management', 'profile-builder' ); ?> </li>
46
- <li><?php _e( 'Subscription Management', 'profile-builder' ); ?> </li>
47
- <li><?php _e( 'Payment Management', 'profile-builder' ); ?> </li>
48
  </ul>
49
  </div>
50
  <div>
@@ -76,34 +76,34 @@ function wppb_pms_cross_promo() {
76
  }
77
  ?>
78
 
79
- <span id="wppb-add-on-activate-button-text" class="wppb-add-on-user-messages"><?php echo __( 'Activate', 'profile-builder' ); ?></span>
80
 
81
- <span id="wppb-add-on-downloading-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Downloading and installing...', 'profile-builder' ); ?></span>
82
- <span id="wppb-add-on-download-finished-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Installation complete', 'profile-builder' ); ?></span>
83
 
84
- <span id="wppb-add-on-activated-button-text" class="wppb-add-on-user-messages"><?php echo __( 'Plugin is Active', 'profile-builder' ); ?></span>
85
- <span id="wppb-add-on-activated-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Plugin has been activated', 'profile-builder' ) ?></span>
86
- <span id="wppb-add-on-activated-error-button-text" class="wppb-add-on-user-messages"><?php echo __( 'Retry Install', 'profile-builder' ) ?></span>
87
 
88
- <span id="wppb-add-on-is-active-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Plugin is <strong>active</strong>', 'profile-builder' ); ?></span>
89
- <span id="wppb-add-on-is-not-active-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Plugin is <strong>inactive</strong>', 'profile-builder' ); ?></span>
90
 
91
- <span id="wppb-add-on-deactivate-button-text" class="wppb-add-on-user-messages"><?php echo __( 'Deactivate', 'profile-builder' ) ?></span>
92
- <span id="wppb-add-on-deactivated-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Plugin has been deactivated.', 'profile-builder' ) ?></span>
93
 
94
 
95
  <div class="plugin-card wppb-recommended-plugin wppb-add-on" style="width: 111%;">
96
  <div class="plugin-card-top">
97
  <a target="_blank" href="http://wordpress.org/plugins/paid-member-subscriptions/">
98
- <img src="<?php echo plugins_url( '../assets/images/pms-recommended.png', __FILE__ ); ?>" width="100%">
99
  </a>
100
  <h3 class="wppb-add-on-title">
101
  <a target="_blank" href="http://wordpress.org/plugins/paid-member-subscriptions/">Paid Member Subscriptions</a>
102
  </h3>
103
- <h3 class="wppb-add-on-price"><?php _e( 'Free', 'profile-builder' ) ?></h3>
104
  <p class="wppb-add-on-description">
105
- <?php _e( 'Accept user payments, create subscription plans and restrict content on your website.', 'profile-builder' ) ?>
106
- <a href="<?php admin_url();?>plugin-install.php?tab=plugin-information&plugin=paid-member-subscriptions&TB_iframe=true&width=772&height=875" class="thickbox" aria-label="More information about Paid Member Subscriptions - membership & content restriction" data-title="Paid Member Subscriptions - membership & content restriction"><?php _e( 'More Details' ); ?></a>
107
  </p>
108
  </div>
109
  <div class="plugin-card-bottom wppb-add-on-compatible">
@@ -112,18 +112,18 @@ function wppb_pms_cross_promo() {
112
 
113
  // Display activate/deactivate buttons
114
  if (!$pms_add_on_is_active) {
115
- echo '<a class="wppb-add-on-activate right button button-primary" href="' . $plugin_file . '" data-nonce="' . $ajax_nonce . '">' . __('Activate', 'profile-builder') . '</a>';
116
 
117
  // If add-on is network activated don't allow deactivation
118
  } elseif (!$pms_add_on_is_network_active) {
119
- echo '<a class="wppb-add-on-deactivate right button button-primary" href="' . $plugin_file . '" data-nonce="' . $ajax_nonce . '">' . __('Deactivate', 'profile-builder') . '</a>';
120
  }
121
 
122
  // Display message to the user
123
  if( !$pms_add_on_is_active ){
124
- echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . __('Plugin is <strong>inactive</strong>', 'profile-builder') . '</span>';
125
  } else {
126
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Plugin is <strong>active</strong>', 'profile-builder') . '</span>';
127
  }
128
 
129
  } else {
@@ -132,19 +132,19 @@ function wppb_pms_cross_promo() {
132
  // handles the in-page download
133
  if (is_multisite()) {
134
  $wppb_paid_link_class = 'button-primary';
135
- $wppb_paid_link_text = __('Download Now', 'profile-builder' );
136
  } else {
137
  $wppb_paid_link_class = 'button-primary wppb-add-on-download';
138
- $wppb_paid_link_text = __('Install Now', 'profile-builder');
139
  }
140
 
141
- echo '<a target="_blank" class="right button ' . $wppb_paid_link_class . '" href="https://downloads.wordpress.org/plugin/paid-member-subscriptions.zip" data-add-on-slug="paid-member-subscriptions" data-add-on-name="Paid Member Subscriptions" data-nonce="' . $ajax_nonce . '">' . $wppb_paid_link_text . '</a>';
142
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Compatible with your version of Profile Builder.', 'profile-builder') . '</span>';
143
 
144
  }
145
  ?>
146
  <div class="spinner"></div>
147
- <span class="wppb-add-on-user-messages wppb-error-manual-install"><?php printf(__('Could not install plugin. Retry or <a href="%s" target="_blank">install manually</a>.', 'profile-builder'), esc_url( 'http://www.wordpress.org/plugins/paid-member-subscriptions' )) ?></a>.</span>
148
  </div>
149
  </div>
150
  </div>
@@ -153,7 +153,7 @@ function wppb_pms_cross_promo() {
153
  </div>
154
  </div>
155
 
156
- <h2 class="wppb-callout"><?php _e( 'Step by Step Quick Setup', 'profile-builder' ); ?></h2>
157
  <hr/>
158
  <p>Setting up Paid Member Subscriptions opens the door to paid user accounts. </p>
159
  <div class="wrap wppb-wrap wppb-1-3-col">
@@ -162,7 +162,7 @@ function wppb_pms_cross_promo() {
162
  <p>Adding a new subscription gives you access to the following options to set up: subscription name, description, duration, the price, status and user role.</p>
163
  </div>
164
  <div style="text-align: right">
165
- <p><img src="<?php echo WPPB_PLUGIN_URL; ?>assets/images/pms_all_subscriptions-600x336.jpg" alt="paid subscription plans"/></p>
166
  </div>
167
  </div>
168
  <div class="wrap wppb-wrap wppb-1-3-col">
@@ -170,7 +170,7 @@ function wppb_pms_cross_promo() {
170
  <p>The new Subscription Plans field will add a list of radio buttons with membership details to Profile Builder registration forms.</p>
171
  </div>
172
  <div style="text-align: right">
173
- <p><img src="<?php echo WPPB_PLUGIN_URL; ?>assets/images/pms_pb_add_subscription-600x471.png" alt="manage fields subscription plans"/></p>
174
  </div>
175
  </div>
176
  <div class="wrap wppb-wrap wppb-1-3-col">
@@ -179,7 +179,7 @@ function wppb_pms_cross_promo() {
179
  <p>Members created with Profile Builder registration form will have the user role of the selected subscription.</p>
180
  </div>
181
  <div style="text-align: right">
182
- <p><img src="<?php echo WPPB_PLUGIN_URL; ?>assets/images/pms_pb_register_page-600x618.png" alt="register payed accounts"/></p>
183
  </div>
184
  </div>
185
 
@@ -191,18 +191,18 @@ function wppb_pms_cross_promo() {
191
 
192
  // Display activate/deactivate buttons
193
  if (!$pms_add_on_is_active) {
194
- echo '<a class="wppb-add-on-activate right button button-secondary" href="' . $plugin_file . '" data-nonce="' . $ajax_nonce . '">' . __('Activate', 'profile-builder') . '</a>';
195
 
196
  // If add-on is network activated don't allow deactivation
197
  } elseif (!$pms_add_on_is_network_active) {
198
- echo '<a class="wppb-add-on-deactivate right button button-secondary" href="' . $plugin_file . '" data-nonce="' . $ajax_nonce . '">' . __('Deactivate', 'profile-builder') . '</a>';
199
  }
200
 
201
  // Display message to the user
202
  if( !$pms_add_on_is_active ){
203
- echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . __('Plugin is <strong>inactive</strong>', 'profile-builder') . '</span>';
204
  } else {
205
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Plugin is <strong>active</strong>', 'profile-builder') . '</span>';
206
  }
207
 
208
  } else {
@@ -217,8 +217,8 @@ function wppb_pms_cross_promo() {
217
  $wppb_paid_link_text = __('Install Now', 'profile-builder');
218
  }
219
 
220
- echo '<a target="_blank" class="right button ' . $wppb_paid_link_class . '" href="https://downloads.wordpress.org/plugin/paid-member-subscriptions.zip" data-add-on-slug="paid-member-subscriptions" data-add-on-name="Paid Member Subscriptions" data-nonce="' . $ajax_nonce . '">' . $wppb_paid_link_text . '</a>';
221
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Compatible with your version of Profile Builder.', 'profile-builder') . '</span>';
222
  }
223
  ?>
224
  <div class="spinner"></div>
@@ -237,8 +237,6 @@ function wppb_pms_cross_promo() {
237
  */
238
  if ( ( !isset($_GET['page']) || $_GET['page'] != 'profile-builder-pms-promo' ) && function_exists('is_plugin_active') && !is_plugin_active( 'paid-member-subscriptions/index.php' ) ){
239
  new WPPB_Add_General_Notices('wppb_pms_cross_promo',
240
- sprintf(__('Allow your users to have <strong>paid accounts with Profile Builder</strong>. %1$sFind out how >%2$s %3$sDismiss%4$s', 'profile-builder'), "<a href='" . admin_url('options.php?page=profile-builder-pms-promo') . "'>", "</a>", "<a class='wppb-dismiss-notification' href='" . esc_url( add_query_arg('wppb_pms_cross_promo_dismiss_notification', '0') ) . "'>", "</a>"),
241
  'pms-cross-promo');
242
  }
243
-
244
-
31
  </div>
32
 
33
 
34
+ <h2 class="wppb-callout"><?php esc_html_e( 'Paid Member Subscriptions - a free WordPress plugin', 'profile-builder' ); ?></h2>
35
  <hr/>
36
  <div class="wppb-row wppb-2-col">
37
  <div>
38
+ <p><?php esc_html_e( 'With the new Subscriptions Field in Profile Builder, your registration forms will allow your users to sign up for paid accounts.', 'profile-builder' ); ?></p>
39
  <p>Other features of Paid Member Subscriptions are:</p>
40
  <ul>
41
+ <li><?php esc_html_e( 'Paid & Free Subscriptions', 'profile-builder' ); ?></li>
42
+ <li><?php esc_html_e( 'Restrict Content', 'profile-builder' ); ?></li>
43
+ <li><?php esc_html_e( 'Member Management', 'profile-builder' ); ?></li>
44
+ <li><?php esc_html_e( 'Email Templates', 'profile-builder' ); ?> </li>
45
+ <li><?php esc_html_e( 'Account Management', 'profile-builder' ); ?> </li>
46
+ <li><?php esc_html_e( 'Subscription Management', 'profile-builder' ); ?> </li>
47
+ <li><?php esc_html_e( 'Payment Management', 'profile-builder' ); ?> </li>
48
  </ul>
49
  </div>
50
  <div>
76
  }
77
  ?>
78
 
79
+ <span id="wppb-add-on-activate-button-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Activate', 'profile-builder' ); ?></span>
80
 
81
+ <span id="wppb-add-on-downloading-message-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Downloading and installing...', 'profile-builder' ); ?></span>
82
+ <span id="wppb-add-on-download-finished-message-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Installation complete', 'profile-builder' ); ?></span>
83
 
84
+ <span id="wppb-add-on-activated-button-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Plugin is Active', 'profile-builder' ); ?></span>
85
+ <span id="wppb-add-on-activated-message-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Plugin has been activated', 'profile-builder' ) ?></span>
86
+ <span id="wppb-add-on-activated-error-button-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Retry Install', 'profile-builder' ) ?></span>
87
 
88
+ <span id="wppb-add-on-is-active-message-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Plugin is <strong>active</strong>', 'profile-builder' ); ?></span>
89
+ <span id="wppb-add-on-is-not-active-message-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Plugin is <strong>inactive</strong>', 'profile-builder' ); ?></span>
90
 
91
+ <span id="wppb-add-on-deactivate-button-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Deactivate', 'profile-builder' ) ?></span>
92
+ <span id="wppb-add-on-deactivated-message-text" class="wppb-add-on-user-messages"><?php echo esc_html__( 'Plugin has been deactivated.', 'profile-builder' ) ?></span>
93
 
94
 
95
  <div class="plugin-card wppb-recommended-plugin wppb-add-on" style="width: 111%;">
96
  <div class="plugin-card-top">
97
  <a target="_blank" href="http://wordpress.org/plugins/paid-member-subscriptions/">
98
+ <img src="<?php echo esc_url( plugins_url( '../assets/images/pms-recommended.png', __FILE__ ) ); ?>" width="100%">
99
  </a>
100
  <h3 class="wppb-add-on-title">
101
  <a target="_blank" href="http://wordpress.org/plugins/paid-member-subscriptions/">Paid Member Subscriptions</a>
102
  </h3>
103
+ <h3 class="wppb-add-on-price"><?php esc_html_e( 'Free', 'profile-builder' ) ?></h3>
104
  <p class="wppb-add-on-description">
105
+ <?php esc_html_e( 'Accept user payments, create subscription plans and restrict content on your website.', 'profile-builder' ) ?>
106
+ <a href="<?php esc_url( admin_url() );?>plugin-install.php?tab=plugin-information&plugin=paid-member-subscriptions&TB_iframe=true&width=772&height=875" class="thickbox" aria-label="More information about Paid Member Subscriptions - membership & content restriction" data-title="Paid Member Subscriptions - membership & content restriction"><?php esc_html_e( 'More Details', 'profile-builder' ); ?></a>
107
  </p>
108
  </div>
109
  <div class="plugin-card-bottom wppb-add-on-compatible">
112
 
113
  // Display activate/deactivate buttons
114
  if (!$pms_add_on_is_active) {
115
+ echo '<a class="wppb-add-on-activate right button button-primary" href="' . esc_url( $plugin_file ) . '" data-nonce="' . esc_attr( $ajax_nonce ) . '">' . esc_html__('Activate', 'profile-builder') . '</a>';
116
 
117
  // If add-on is network activated don't allow deactivation
118
  } elseif (!$pms_add_on_is_network_active) {
119
+ echo '<a class="wppb-add-on-deactivate right button button-primary" href="' . esc_url( $plugin_file ) . '" data-nonce="' . esc_attr( $ajax_nonce ) . '">' . esc_html__('Deactivate', 'profile-builder') . '</a>';
120
  }
121
 
122
  // Display message to the user
123
  if( !$pms_add_on_is_active ){
124
+ echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . esc_html__('Plugin is <strong>inactive</strong>', 'profile-builder') . '</span>';
125
  } else {
126
+ echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . esc_html__('Plugin is <strong>active</strong>', 'profile-builder') . '</span>';
127
  }
128
 
129
  } else {
132
  // handles the in-page download
133
  if (is_multisite()) {
134
  $wppb_paid_link_class = 'button-primary';
135
+ $wppb_paid_link_text = esc_html__('Download Now', 'profile-builder' );
136
  } else {
137
  $wppb_paid_link_class = 'button-primary wppb-add-on-download';
138
+ $wppb_paid_link_text = esc_html__('Install Now', 'profile-builder');
139
  }
140
 
141
+ echo '<a target="_blank" class="right button ' . esc_attr( $wppb_paid_link_class ) . '" href="https://downloads.wordpress.org/plugin/paid-member-subscriptions.zip" data-add-on-slug="paid-member-subscriptions" data-add-on-name="Paid Member Subscriptions" data-nonce="' . esc_attr( $ajax_nonce ) . '">' . esc_html( $wppb_paid_link_text ) . '</a>';
142
+ echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . esc_html__('Compatible with your version of Profile Builder.', 'profile-builder') . '</span>';
143
 
144
  }
145
  ?>
146
  <div class="spinner"></div>
147
+ <span class="wppb-add-on-user-messages wppb-error-manual-install"><?php printf(esc_html__('Could not install plugin. Retry or <a href="%s" target="_blank">install manually</a>.', 'profile-builder'), esc_url( 'http://www.wordpress.org/plugins/paid-member-subscriptions' )) ?></a>.</span>
148
  </div>
149
  </div>
150
  </div>
153
  </div>
154
  </div>
155
 
156
+ <h2 class="wppb-callout"><?php esc_html_e( 'Step by Step Quick Setup', 'profile-builder' ); ?></h2>
157
  <hr/>
158
  <p>Setting up Paid Member Subscriptions opens the door to paid user accounts. </p>
159
  <div class="wrap wppb-wrap wppb-1-3-col">
162
  <p>Adding a new subscription gives you access to the following options to set up: subscription name, description, duration, the price, status and user role.</p>
163
  </div>
164
  <div style="text-align: right">
165
+ <p><img src="<?php echo esc_url( WPPB_PLUGIN_URL ); ?>assets/images/pms_all_subscriptions-600x336.jpg" alt="paid subscription plans"/></p>
166
  </div>
167
  </div>
168
  <div class="wrap wppb-wrap wppb-1-3-col">
170
  <p>The new Subscription Plans field will add a list of radio buttons with membership details to Profile Builder registration forms.</p>
171
  </div>
172
  <div style="text-align: right">
173
+ <p><img src="<?php echo esc_url( WPPB_PLUGIN_URL ); ?>assets/images/pms_pb_add_subscription-600x471.png" alt="manage fields subscription plans"/></p>
174
  </div>
175
  </div>
176
  <div class="wrap wppb-wrap wppb-1-3-col">
179
  <p>Members created with Profile Builder registration form will have the user role of the selected subscription.</p>
180
  </div>
181
  <div style="text-align: right">
182
+ <p><img src="<?php echo esc_url( WPPB_PLUGIN_URL ); ?>assets/images/pms_pb_register_page-600x618.png" alt="register payed accounts"/></p>
183
  </div>
184
  </div>
185
 
191
 
192
  // Display activate/deactivate buttons
193
  if (!$pms_add_on_is_active) {
194
+ echo '<a class="wppb-add-on-activate right button button-secondary" href="' . esc_url( $plugin_file ) . '" data-nonce="' . esc_attr( $ajax_nonce ) . '">' . esc_html__('Activate', 'profile-builder') . '</a>';
195
 
196
  // If add-on is network activated don't allow deactivation
197
  } elseif (!$pms_add_on_is_network_active) {
198
+ echo '<a class="wppb-add-on-deactivate right button button-secondary" href="' . esc_url( $plugin_file ) . '" data-nonce="' . esc_attr( $ajax_nonce ) . '">' . esc_html__('Deactivate', 'profile-builder') . '</a>';
199
  }
200
 
201
  // Display message to the user
202
  if( !$pms_add_on_is_active ){
203
+ echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . esc_html__('Plugin is <strong>inactive</strong>', 'profile-builder') . '</span>';
204
  } else {
205
+ echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . esc_html__('Plugin is <strong>active</strong>', 'profile-builder') . '</span>';
206
  }
207
 
208
  } else {
217
  $wppb_paid_link_text = __('Install Now', 'profile-builder');
218
  }
219
 
220
+ echo '<a target="_blank" class="right button ' . esc_attr( $wppb_paid_link_class ) . '" href="https://downloads.wordpress.org/plugin/paid-member-subscriptions.zip" data-add-on-slug="paid-member-subscriptions" data-add-on-name="Paid Member Subscriptions" data-nonce="' . esc_attr( $ajax_nonce ) . '">' . esc_html( $wppb_paid_link_text ) . '</a>';
221
+ echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . esc_html__('Compatible with your version of Profile Builder.', 'profile-builder') . '</span>';
222
  }
223
  ?>
224
  <div class="spinner"></div>
237
  */
238
  if ( ( !isset($_GET['page']) || $_GET['page'] != 'profile-builder-pms-promo' ) && function_exists('is_plugin_active') && !is_plugin_active( 'paid-member-subscriptions/index.php' ) ){
239
  new WPPB_Add_General_Notices('wppb_pms_cross_promo',
240
+ sprintf(__('Allow your users to have <strong>paid accounts with Profile Builder</strong>. %1$sFind out how >%2$s %3$sDismiss%4$s', 'profile-builder'), "<a href='" . esc_url( admin_url('options.php?page=profile-builder-pms-promo') ) . "'>", "</a>", "<a class='wppb-dismiss-notification' href='" . esc_url( add_query_arg('wppb_pms_cross_promo_dismiss_notification', '0') ) . "'>", "</a>"),
241
  'pms-cross-promo');
242
  }
 
 
admin/private-website.php CHANGED
@@ -50,7 +50,7 @@ function wppb_private_website_content() {
50
  $all_pages = get_posts( $args );
51
  ?>
52
  <div class="wrap wppb-wrap wppb-private-website">
53
- <h2><?php _e( 'Private Website Settings', 'profile-builder' );?></h2>
54
 
55
  <?php settings_errors(); ?>
56
 
@@ -63,28 +63,28 @@ function wppb_private_website_content() {
63
  <tbody>
64
 
65
  <tr>
66
- <th><?php _e( 'Enable Private Website', 'profile-builder' ); ?></th>
67
  <td>
68
  <select id="private-website-enable" class="wppb-select" name="wppb_private_website_settings[private_website]">
69
- <option value="no" <?php echo ( ( $wppb_private_website_settings != 'not_found' && $wppb_private_website_settings['private_website'] == 'no' ) ? 'selected' : '' ); ?>><?php _e( 'No', 'profile-builder' ); ?></option>
70
- <option value="yes" <?php echo ( ( $wppb_private_website_settings != 'not_found' && $wppb_private_website_settings['private_website'] == 'yes' ) ? 'selected' : '' ); ?>><?php _e( 'Yes', 'profile-builder' ); ?></option>
71
  </select>
72
  <ul>
73
- <li class="description"><?php _e( 'Activate Private Website. It will restrict the content, RSS and REST API for your website', 'profile-builder' ); ?></li>
74
  </ul>
75
  </td>
76
  </tr>
77
 
78
  <tr>
79
- <th><?php _e( 'Redirect to', 'profile-builder' ); ?></th>
80
  <td>
81
  <select id="private-website-redirect-to-login" class="wppb-select" name="wppb_private_website_settings[redirect_to]">
82
- <option value=""><?php _e( 'Default WordPress login page', 'profile-builder' ); ?></option>
83
  <?php
84
  if( !empty( $all_pages ) ){
85
  foreach ($all_pages as $page){
86
  ?>
87
- <option value="<?php echo $page->ID ?>" <?php echo ( ( $wppb_private_website_settings != 'not_found' && isset( $wppb_private_website_settings['redirect_to'] ) && $wppb_private_website_settings['redirect_to'] == $page->ID ) ? 'selected' : '' ); ?>><?php echo $page->post_title ?></option>
88
  <?php
89
  }
90
  }
@@ -92,21 +92,21 @@ function wppb_private_website_content() {
92
 
93
  </select>
94
  <ul>
95
- <li class="description"><?php _e( 'Redirects to this page if not logged in. We recommend this page contains the [wppb-login] shortcode.', 'profile-builder' ); ?></li>
96
- <li class="description"><?php _e( 'You can force access to wp-login.php so you don\'t get locked out of the site by accessing the link:', 'profile-builder' ); ?> <a href="<?php echo wp_login_url().'?wppb_force_wp_login=true' ?>"><?php echo wp_login_url().'?wppb_force_wp_login=true' ?></a></li>
97
  </ul>
98
  </td>
99
  </tr>
100
 
101
  <tr>
102
- <th><?php _e( 'Allowed Pages', 'profile-builder' ); ?></th>
103
  <td>
104
  <select id="private-website-allowed-pages" class="wppb-select" name="wppb_private_website_settings[allowed_pages][]" multiple="multiple">
105
  <?php
106
  if( !empty( $all_pages ) ){
107
  foreach ($all_pages as $page){
108
  ?>
109
- <option value="<?php echo $page->ID ?>" <?php echo ( ( $wppb_private_website_settings != 'not_found' && isset( $wppb_private_website_settings['allowed_pages'] ) && in_array( $page->ID, $wppb_private_website_settings['allowed_pages'] ) ) ? 'selected' : '' ); ?>><?php echo $page->post_title ?></option>
110
  <?php
111
  }
112
  }
@@ -114,44 +114,44 @@ function wppb_private_website_content() {
114
 
115
  </select>
116
  <ul>
117
- <li class="description"><?php _e( 'Allow these pages to be accessed even if you are not logged in', 'profile-builder' ); ?></li>
118
  </ul>
119
  </td>
120
  </tr>
121
 
122
  <tr>
123
- <th><?php _e( 'Allowed Paths', 'profile-builder' ); ?></th>
124
  <td>
125
- <textarea id="private-website-allowed-paths" class="wppb-textarea" name="wppb_private_website_settings[allowed_paths]"><?php echo ( ( $wppb_private_website_settings != 'not_found' && !empty($wppb_private_website_settings['allowed_paths']) ) ? $wppb_private_website_settings['allowed_paths'] : '' ); ?></textarea>
126
  <ul>
127
- <li class="description"><?php _e( 'Allow these paths to be accessed even if you are not logged in (supports wildcard at the end of the path). For example to exclude https://example.com/some/path/ you can either use the rule /some/path/ or /some/* Enter each rule on it\'s own line', 'profile-builder' ); ?></li>
128
  </ul>
129
  </td>
130
  </tr>
131
 
132
  <tr>
133
- <th><?php _e( 'Hide all Menus', 'profile-builder' ); ?></th>
134
  <td>
135
  <select id="private-website-menu-hide" class="wppb-select" name="wppb_private_website_settings[hide_menus]">
136
- <option value="no" <?php echo ( ( $wppb_private_website_settings != 'not_found' && !empty($wppb_private_website_settings['hide_menus']) && $wppb_private_website_settings['hide_menus'] == 'no' ) ? 'selected' : '' ); ?>><?php _e( 'No', 'profile-builder' ); ?></option>
137
- <option value="yes" <?php echo ( ( $wppb_private_website_settings != 'not_found' && !empty($wppb_private_website_settings['hide_menus']) && $wppb_private_website_settings['hide_menus'] == 'yes' ) ? 'selected' : '' ); ?>><?php _e( 'Yes', 'profile-builder' ); ?></option>
138
  </select>
139
  <ul>
140
- <li class="description"><?php _e( 'Hide all menu items if you are not logged in.', 'profile-builder' ); ?></li>
141
- <li class="description"><?php printf( __( 'We recommend "<a href="%s" target="_blank">Custom Profile Menus</a>" addon if you need different menu items for logged in / logged out users.', 'profile-builder' ), 'https://www.cozmoslabs.com/add-ons/custom-profile-menus/' ); ?></li>
142
  </ul>
143
  </td>
144
  </tr>
145
 
146
  <tr>
147
- <th><?php _e( 'Disable REST-API', 'profile-builder' ); ?></th>
148
  <td>
149
  <select id="private-website-disable-rest-api" class="wppb-select" name="wppb_private_website_settings[disable_rest_api]">
150
- <option value="yes" <?php selected ( ( $wppb_private_website_settings != 'not_found' && ( !isset( $wppb_private_website_settings[ 'disable_rest_api' ] ) || ( isset( $wppb_private_website_settings[ 'disable_rest_api' ] ) && $wppb_private_website_settings[ 'disable_rest_api' ] == 'yes' ) ) ), true ); ?>><?php _e( 'Yes', 'profile-builder' ); ?></option>
151
- <option value="no" <?php selected ( ( $wppb_private_website_settings != 'not_found' && isset( $wppb_private_website_settings[ 'disable_rest_api' ] ) && $wppb_private_website_settings[ 'disable_rest_api' ] == 'no' ), true ); ?>><?php _e( 'No', 'profile-builder' ); ?></option>
152
  </select>
153
  <ul>
154
- <li class="description"><?php _e( 'Disable the WordPress REST-API for non-logged in users when Private Website is enabled', 'profile-builder' ); ?></li>
155
  </ul>
156
  </td>
157
  </tr>
@@ -159,7 +159,7 @@ function wppb_private_website_content() {
159
  </tbody>
160
  </table>
161
 
162
- <?php submit_button( __( 'Save Changes', 'profile-builder' ) ); ?>
163
  </form>
164
 
165
 
50
  $all_pages = get_posts( $args );
51
  ?>
52
  <div class="wrap wppb-wrap wppb-private-website">
53
+ <h2><?php esc_html_e( 'Private Website Settings', 'profile-builder' );?></h2>
54
 
55
  <?php settings_errors(); ?>
56
 
63
  <tbody>
64
 
65
  <tr>
66
+ <th><?php esc_html_e( 'Enable Private Website', 'profile-builder' ); ?></th>
67
  <td>
68
  <select id="private-website-enable" class="wppb-select" name="wppb_private_website_settings[private_website]">
69
+ <option value="no" <?php echo ( ( $wppb_private_website_settings != 'not_found' && $wppb_private_website_settings['private_website'] == 'no' ) ? 'selected' : '' ); ?>><?php esc_html_e( 'No', 'profile-builder' ); ?></option>
70
+ <option value="yes" <?php echo ( ( $wppb_private_website_settings != 'not_found' && $wppb_private_website_settings['private_website'] == 'yes' ) ? 'selected' : '' ); ?>><?php esc_html_e( 'Yes', 'profile-builder' ); ?></option>
71
  </select>
72
  <ul>
73
+ <li class="description"><?php esc_html_e( 'Activate Private Website. It will restrict the content, RSS and REST API for your website', 'profile-builder' ); ?></li>
74
  </ul>
75
  </td>
76
  </tr>
77
 
78
  <tr>
79
+ <th><?php esc_html_e( 'Redirect to', 'profile-builder' ); ?></th>
80
  <td>
81
  <select id="private-website-redirect-to-login" class="wppb-select" name="wppb_private_website_settings[redirect_to]">
82
+ <option value=""><?php esc_html_e( 'Default WordPress login page', 'profile-builder' ); ?></option>
83
  <?php
84
  if( !empty( $all_pages ) ){
85
  foreach ($all_pages as $page){
86
  ?>
87
+ <option value="<?php echo esc_attr( $page->ID ) ?>" <?php echo ( ( $wppb_private_website_settings != 'not_found' && isset( $wppb_private_website_settings['redirect_to'] ) && $wppb_private_website_settings['redirect_to'] == $page->ID ) ? 'selected' : '' ); ?>><?php echo esc_html( $page->post_title ) ?></option>
88
  <?php
89
  }
90
  }
92
 
93
  </select>
94
  <ul>
95
+ <li class="description"><?php esc_html_e( 'Redirects to this page if not logged in. We recommend this page contains the [wppb-login] shortcode.', 'profile-builder' ); ?></li>
96
+ <li class="description"><?php esc_html_e( 'You can force access to wp-login.php so you don\'t get locked out of the site by accessing the link:', 'profile-builder' ); ?> <a href="<?php echo esc_url( wp_login_url() ).'?wppb_force_wp_login=true' ?>"><?php echo esc_url( wp_login_url() ).'?wppb_force_wp_login=true' ?></a></li>
97
  </ul>
98
  </td>
99
  </tr>
100
 
101
  <tr>
102
+ <th><?php esc_html_e( 'Allowed Pages', 'profile-builder' ); ?></th>
103
  <td>
104
  <select id="private-website-allowed-pages" class="wppb-select" name="wppb_private_website_settings[allowed_pages][]" multiple="multiple">
105
  <?php
106
  if( !empty( $all_pages ) ){
107
  foreach ($all_pages as $page){
108
  ?>
109
+ <option value="<?php echo esc_attr( $page->ID ) ?>" <?php echo ( ( $wppb_private_website_settings != 'not_found' && isset( $wppb_private_website_settings['allowed_pages'] ) && in_array( $page->ID, $wppb_private_website_settings['allowed_pages'] ) ) ? 'selected' : '' ); ?>><?php echo esc_html( $page->post_title ) ?></option>
110
  <?php
111
  }
112
  }
114
 
115
  </select>
116
  <ul>
117
+ <li class="description"><?php esc_html_e( 'Allow these pages to be accessed even if you are not logged in', 'profile-builder' ); ?></li>
118
  </ul>
119
  </td>
120
  </tr>
121
 
122
  <tr>
123
+ <th><?php esc_html_e( 'Allowed Paths', 'profile-builder' ); ?></th>
124
  <td>
125
+ <textarea id="private-website-allowed-paths" class="wppb-textarea" name="wppb_private_website_settings[allowed_paths]"><?php echo ( ( $wppb_private_website_settings != 'not_found' && !empty($wppb_private_website_settings['allowed_paths']) ) ? esc_textarea( $wppb_private_website_settings['allowed_paths'] ) : '' ); ?></textarea>
126
  <ul>
127
+ <li class="description"><?php esc_html_e( 'Allow these paths to be accessed even if you are not logged in (supports wildcard at the end of the path). For example to exclude https://example.com/some/path/ you can either use the rule /some/path/ or /some/* Enter each rule on it\'s own line', 'profile-builder' ); ?></li>
128
  </ul>
129
  </td>
130
  </tr>
131
 
132
  <tr>
133
+ <th><?php esc_html_e( 'Hide all Menus', 'profile-builder' ); ?></th>
134
  <td>
135
  <select id="private-website-menu-hide" class="wppb-select" name="wppb_private_website_settings[hide_menus]">
136
+ <option value="no" <?php echo ( ( $wppb_private_website_settings != 'not_found' && !empty($wppb_private_website_settings['hide_menus']) && $wppb_private_website_settings['hide_menus'] == 'no' ) ? 'selected' : '' ); ?>><?php esc_html_e( 'No', 'profile-builder' ); ?></option>
137
+ <option value="yes" <?php echo ( ( $wppb_private_website_settings != 'not_found' && !empty($wppb_private_website_settings['hide_menus']) && $wppb_private_website_settings['hide_menus'] == 'yes' ) ? 'selected' : '' ); ?>><?php esc_html_e( 'Yes', 'profile-builder' ); ?></option>
138
  </select>
139
  <ul>
140
+ <li class="description"><?php esc_html_e( 'Hide all menu items if you are not logged in.', 'profile-builder' ); ?></li>
141
+ <li class="description"><?php wp_kses_post( printf( __( 'We recommend "<a href="%s" target="_blank">Custom Profile Menus</a>" addon if you need different menu items for logged in / logged out users.', 'profile-builder' ), 'https://www.cozmoslabs.com/add-ons/custom-profile-menus/' ) ) //phpcs:ignore; ?></li>
142
  </ul>
143
  </td>
144
  </tr>
145
 
146
  <tr>
147
+ <th><?php esc_html_e( 'Disable REST-API', 'profile-builder' ); ?></th>
148
  <td>
149
  <select id="private-website-disable-rest-api" class="wppb-select" name="wppb_private_website_settings[disable_rest_api]">
150
+ <option value="yes" <?php selected ( ( $wppb_private_website_settings != 'not_found' && ( !isset( $wppb_private_website_settings[ 'disable_rest_api' ] ) || ( isset( $wppb_private_website_settings[ 'disable_rest_api' ] ) && $wppb_private_website_settings[ 'disable_rest_api' ] == 'yes' ) ) ), true ); ?>><?php esc_html_e( 'Yes', 'profile-builder' ); ?></option>
151
+ <option value="no" <?php selected ( ( $wppb_private_website_settings != 'not_found' && isset( $wppb_private_website_settings[ 'disable_rest_api' ] ) && $wppb_private_website_settings[ 'disable_rest_api' ] == 'no' ), true ); ?>><?php esc_html_e( 'No', 'profile-builder' ); ?></option>
152
  </select>
153
  <ul>
154
+ <li class="description"><?php esc_html_e( 'Disable the WordPress REST-API for non-logged in users when Private Website is enabled', 'profile-builder' ); ?></li>
155
  </ul>
156
  </td>
157
  </tr>
159
  </tbody>
160
  </table>
161
 
162
+ <?php submit_button( esc_html__( 'Save Changes', 'profile-builder' ) ); ?>
163
  </form>
164
 
165
 
admin/register-version.php CHANGED
@@ -59,33 +59,33 @@ function wppb_register_your_version_content() {
59
  function wppb_serial_form($version, $fullname){
60
  ?>
61
 
62
- <h2><?php printf( __( "Register your version of %s", 'profile-builder' ), $fullname ); ?></h2>
63
 
64
- <form method="post" action="<?php echo get_admin_url( 1, 'options.php' ) ?>">
65
 
66
  <?php $wppb_profile_builder_serial = get_option( 'wppb_profile_builder_'.$version.'_serial' ); ?>
67
  <?php $wppb_profile_builder_serial_status = get_option( 'wppb_profile_builder_'.$version.'_serial_status' ); ?>
68
  <?php settings_fields( 'wppb_profile_builder_'.$version.'_serial' ); ?>
69
 
70
- <p><?php printf( __( "Now that you acquired a copy of %s, you should take the time and register it with the serial number you received", 'profile-builder'), $fullname);?></p>
71
- <p><?php _e( "If you register this version of Profile Builder, you'll receive information regarding upgrades, patches, and technical support.", 'profile-builder' );?></p>
72
  <p class="wppb-serial-wrap">
73
- <label for="wppb_profile_builder_<?php echo $version; ?>_serial"><?php _e(' Serial Number:', 'profile-builder' );?></label>
74
- <input type="password" size="50" name="wppb_profile_builder_<?php echo $version; ?>_serial" id="wppb_profile_builder_<?php echo $version; ?>_serial" class="regular-text" <?php if ( $wppb_profile_builder_serial != ''){ echo ' value="'.$wppb_profile_builder_serial.'"';} ?>/>
75
 
76
  <?php
77
  if( $wppb_profile_builder_serial_status == 'found' )
78
- echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/accept.png" title="'.__( 'The serial number was successfully validated!', 'profile-builder' ).'"/></span>';
79
  elseif ( $wppb_profile_builder_serial_status == 'notFound' )
80
- echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number entered couldn\'t be validated!','profile-builder' ).'"/></span>';
81
  elseif ( strpos( $wppb_profile_builder_serial_status, 'aboutToExpire') !== false )//instead of aboutToExpire if the client has autobbiling on then he will receive 'found' instead
82
- echo '<span class="validateStatus"><img src="' . WPPB_PLUGIN_URL . '/assets/images/icon_error.png" title="' . __('The serial number is about to expire soon!', 'profile-builder') . '"/>'. sprintf( __(' Your serial number is about to expire, please %1$s Renew Your License%2$s.','profile-builder'), "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' >", "</a>").'</span>';
83
  elseif ( $wppb_profile_builder_serial_status == 'expired' )
84
- echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number couldn\'t be validated because it expired!','profile-builder' ).'"/>'. sprintf( __(' Your serial number is expired, please %1$s Renew Your License%2$s.','profile-builder'), "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' >", "</a>").'</span>';
85
  elseif ( $wppb_profile_builder_serial_status == 'serverDown' )
86
- echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number couldn\'t be validated because process timed out. This is possible due to the server being down. Please try again later!','profile-builder' ).'"/></span>';
87
  ?>
88
- <span class="wppb-serialnumber-descr"><?php _e( '(e.g. CLPB-15-SN-253a55baa4fbe7bf595b2aabb8d72985)', 'profile-builder' );?></span>
89
  </p>
90
 
91
 
@@ -93,7 +93,7 @@ function wppb_serial_form($version, $fullname){
93
  <input type="hidden" name="action" value="update" />
94
  <p class="submit">
95
  <?php wp_nonce_field( 'wppb_register_version_nonce', 'wppb_register_version_nonce' ); ?>
96
- <input type="submit" name="wppb_serial_number_activate" class="button-primary" value="<?php _e('Save Changes') ?>" />
97
  </p>
98
  </div>
99
 
@@ -209,7 +209,7 @@ class WPPB_add_notices{
209
 
210
  // Check that the user hasn't already clicked to ignore the message
211
  if ( ! get_user_meta($user_id, $this->pluginPrefix.'_dismiss_notification' ) || $force_show ) {
212
- echo $finalMessage = apply_filters($this->pluginPrefix.'_notification_message','<div class="error wppb-serial-notification" >'.$this->notificaitonMessage.'</div>', $this->notificaitonMessage);
213
  }
214
  }
215
 
@@ -258,20 +258,20 @@ if ( $wppb_profile_builder_pro_hobbyist_serial_status == 'notFound' || $wppb_pro
258
  else
259
  $register_url = network_admin_url( 'admin.php?page=profile-builder-register' );
260
 
261
- new WPPB_add_notices( 'wppb', 'profile_builder_pro', sprintf( __( '<p>Your <strong>Profile Builder</strong> serial number is invalid or missing. <br/>Please %1$sregister your copy%2$s to receive access to automatic updates and support. Need a license key? %3$sPurchase one now%4$s</p>', 'profile-builder'), "<a href='". $register_url ."'>", "</a>", "<a href='https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-SN-Purchase' target='_blank' class='button-primary'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
262
  }
263
  elseif ( $wppb_profile_builder_pro_hobbyist_serial_status == 'expired' ){
264
  /* on our plugin pages do not add the dismiss button for the expired notification*/
265
  $notification_instance = WPPB_Plugin_Notifications::get_instance();
266
  if( $notification_instance->is_plugin_page() )
267
- $message = __( '<p>Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s</p>', 'profile-builder');
268
  else
269
- $message = __( '<p>Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %5$sDismiss%6$s</p>', 'profile-builder');
270
 
271
  new WPPB_add_notices( 'wppb_expired', 'profile_builder_pro', sprintf( $message, "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank'>", "</a>", "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank' class='button-primary'>", "</a>", "<a href='". esc_url( add_query_arg( 'wppb_expired_dismiss_notification', '0' ) ) ."' class='wppb-dismiss-notification'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
272
  }
273
  elseif( strpos( $wppb_profile_builder_pro_hobbyist_serial_status, 'aboutToExpire' ) === 0 ){
274
  $serial_status_parts = explode( '#', $wppb_profile_builder_pro_hobbyist_serial_status );
275
  $date = $serial_status_parts[1];
276
- new WPPB_add_notices( 'wppb_about_to_expire', 'profile_builder_pro', sprintf( __( '<p>Your <strong>Profile Builder</strong> license is about to expire on %5$s. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %6$sDismiss%7$s</p>', 'profile-builder'), "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank'>", "</a>", "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank' class='button-primary'>", "</a>", $date, "<a href='". esc_url( add_query_arg( 'wppb_about_to_expire_dismiss_notification', '0' ) )."' class='wppb-dismiss-notification'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
277
  }
59
  function wppb_serial_form($version, $fullname){
60
  ?>
61
 
62
+ <h2><?php printf( esc_html__( "Register your version of %s", 'profile-builder' ), esc_html( $fullname ) ); ?></h2>
63
 
64
+ <form method="post" action="<?php echo esc_url( get_admin_url( 1, 'options.php' ) ) ?>">
65
 
66
  <?php $wppb_profile_builder_serial = get_option( 'wppb_profile_builder_'.$version.'_serial' ); ?>
67
  <?php $wppb_profile_builder_serial_status = get_option( 'wppb_profile_builder_'.$version.'_serial_status' ); ?>
68
  <?php settings_fields( 'wppb_profile_builder_'.$version.'_serial' ); ?>
69
 
70
+ <p><?php printf( esc_html__( "Now that you acquired a copy of %s, you should take the time and register it with the serial number you received", 'profile-builder'), esc_html( $fullname ));?></p>
71
+ <p><?php esc_html_e( "If you register this version of Profile Builder, you'll receive information regarding upgrades, patches, and technical support.", 'profile-builder' );?></p>
72
  <p class="wppb-serial-wrap">
73
+ <label for="wppb_profile_builder_<?php echo esc_attr( $version ); ?>_serial"><?php esc_html_e(' Serial Number:', 'profile-builder' );?></label>
74
+ <input type="password" size="50" name="wppb_profile_builder_<?php echo esc_attr( $version ); ?>_serial" id="wppb_profile_builder_<?php echo esc_attr( $version ); ?>_serial" class="regular-text" <?php if ( $wppb_profile_builder_serial != ''){ echo ' value="'.esc_attr( $wppb_profile_builder_serial ).'"';} ?>/>
75
 
76
  <?php
77
  if( $wppb_profile_builder_serial_status == 'found' )
78
+ echo '<span class="validateStatus"><img src="'.esc_url( WPPB_PLUGIN_URL ).'/assets/images/accept.png" title="'.esc_html__( 'The serial number was successfully validated!', 'profile-builder' ).'"/></span>';
79
  elseif ( $wppb_profile_builder_serial_status == 'notFound' )
80
+ echo '<span class="validateStatus"><img src="'.esc_url( WPPB_PLUGIN_URL ).'/assets/images/icon_error.png" title="'.esc_html__( 'The serial number entered couldn\'t be validated!','profile-builder' ).'"/></span>';
81
  elseif ( strpos( $wppb_profile_builder_serial_status, 'aboutToExpire') !== false )//instead of aboutToExpire if the client has autobbiling on then he will receive 'found' instead
82
+ echo '<span class="validateStatus"><img src="' . esc_url( WPPB_PLUGIN_URL ) . '/assets/images/icon_error.png" title="' . esc_html__('The serial number is about to expire soon!', 'profile-builder') . '"/>'. sprintf( esc_html__(' Your serial number is about to expire, please %1$s Renew Your License%2$s.','profile-builder'), "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' >", "</a>").'</span>';
83
  elseif ( $wppb_profile_builder_serial_status == 'expired' )
84
+ echo '<span class="validateStatus"><img src="'.esc_url( WPPB_PLUGIN_URL ).'/assets/images/icon_error.png" title="'.esc_html__( 'The serial number couldn\'t be validated because it expired!','profile-builder' ).'"/>'. sprintf( esc_html__(' Your serial number is expired, please %1$s Renew Your License%2$s.','profile-builder'), "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' >", "</a>").'</span>';
85
  elseif ( $wppb_profile_builder_serial_status == 'serverDown' )
86
+ echo '<span class="validateStatus"><img src="'.esc_url( WPPB_PLUGIN_URL ).'/assets/images/icon_error.png" title="'.esc_html__( 'The serial number couldn\'t be validated because process timed out. This is possible due to the server being down. Please try again later!','profile-builder' ).'"/></span>';
87
  ?>
88
+ <span class="wppb-serialnumber-descr"><?php esc_html_e( '(e.g. CLPB-15-SN-253a55baa4fbe7bf595b2aabb8d72985)', 'profile-builder' );?></span>
89
  </p>
90
 
91
 
93
  <input type="hidden" name="action" value="update" />
94
  <p class="submit">
95
  <?php wp_nonce_field( 'wppb_register_version_nonce', 'wppb_register_version_nonce' ); ?>
96
+ <input type="submit" name="wppb_serial_number_activate" class="button-primary" value="<?php esc_html_e( 'Save Changes', 'profile-builder' ) ?>" />
97
  </p>
98
  </div>
99
 
209
 
210
  // Check that the user hasn't already clicked to ignore the message
211
  if ( ! get_user_meta($user_id, $this->pluginPrefix.'_dismiss_notification' ) || $force_show ) {
212
+ echo wp_kses_post( $finalMessage = apply_filters($this->pluginPrefix.'_notification_message','<div class="error wppb-serial-notification" >'.$this->notificaitonMessage.'</div>', $this->notificaitonMessage) );
213
  }
214
  }
215
 
258
  else
259
  $register_url = network_admin_url( 'admin.php?page=profile-builder-register' );
260
 
261
+ new WPPB_add_notices( 'wppb', 'profile_builder_pro', sprintf( '<p>' . __( 'Your <strong>Profile Builder</strong> serial number is invalid or missing. <br/>Please %1$sregister your copy%2$s to receive access to automatic updates and support. Need a license key? %3$sPurchase one now%4$s', 'profile-builder') . '</p>', "<a href='". esc_url( $register_url ) ."'>", "</a>", "<a href='https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-SN-Purchase' target='_blank' class='button-primary'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
262
  }
263
  elseif ( $wppb_profile_builder_pro_hobbyist_serial_status == 'expired' ){
264
  /* on our plugin pages do not add the dismiss button for the expired notification*/
265
  $notification_instance = WPPB_Plugin_Notifications::get_instance();
266
  if( $notification_instance->is_plugin_page() )
267
+ $message = '<p>' . __( 'Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s', 'profile-builder') . '</p>';
268
  else
269
+ $message = '<p>' . __( 'Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %5$sDismiss%6$s', 'profile-builder') . '</p>';
270
 
271
  new WPPB_add_notices( 'wppb_expired', 'profile_builder_pro', sprintf( $message, "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank'>", "</a>", "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank' class='button-primary'>", "</a>", "<a href='". esc_url( add_query_arg( 'wppb_expired_dismiss_notification', '0' ) ) ."' class='wppb-dismiss-notification'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
272
  }
273
  elseif( strpos( $wppb_profile_builder_pro_hobbyist_serial_status, 'aboutToExpire' ) === 0 ){
274
  $serial_status_parts = explode( '#', $wppb_profile_builder_pro_hobbyist_serial_status );
275
  $date = $serial_status_parts[1];
276
+ new WPPB_add_notices( 'wppb_about_to_expire', 'profile_builder_pro', sprintf( '<p>' . __( 'Your <strong>Profile Builder</strong> license is about to expire on %5$s. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %6$sDismiss%7$s', 'profile-builder') . '</p>', "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank'>", "</a>", "<a href='https://www.cozmoslabs.com/account/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank' class='button-primary'>", "</a>", $date, "<a href='". esc_url( add_query_arg( 'wppb_about_to_expire_dismiss_notification', '0' ) )."' class='wppb-dismiss-notification'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
277
  }
admin/review.php CHANGED
@@ -83,12 +83,12 @@ class WPPB_Review_Request {
83
  target="_blank" rel="noopener" class="button-primary" style="margin-right: 20px">
84
  <?php esc_html_e('Ok, I will gladly help!', 'profile-builder'); ?>
85
  </a>
86
- <a href="<?php echo add_query_arg(array($this->query_arg => $this->notificationId)) ?>"
87
  class="button-secondary">
88
  <?php esc_html_e('No, thanks.', 'profile-builder'); ?>
89
  </a>
90
  </p>
91
- <a href="<?php echo add_query_arg(array($this->query_arg => $this->notificationId)) ?>"
92
  type="button" class="notice-dismiss" style="text-decoration: none;">
93
  <span class="screen-reader-text">
94
  <?php esc_html_e('Dismiss this notice.', 'profile-builder'); ?>
83
  target="_blank" rel="noopener" class="button-primary" style="margin-right: 20px">
84
  <?php esc_html_e('Ok, I will gladly help!', 'profile-builder'); ?>
85
  </a>
86
+ <a href="<?php echo esc_url( add_query_arg(array($this->query_arg => $this->notificationId)) ) ?>"
87
  class="button-secondary">
88
  <?php esc_html_e('No, thanks.', 'profile-builder'); ?>
89
  </a>
90
  </p>
91
+ <a href="<?php echo esc_url( add_query_arg(array($this->query_arg => $this->notificationId)) ) ?>"
92
  type="button" class="notice-dismiss" style="text-decoration: none;">
93
  <span class="screen-reader-text">
94
  <?php esc_html_e('Dismiss this notice.', 'profile-builder'); ?>
assets/css/serial-notice.css CHANGED
@@ -48,7 +48,11 @@ div.wppb-serial-notification p{
48
 
49
 
50
  /* hide menu items */
51
- .wp-submenu a[href="admin.php?page=profile-builder-admin-bar-settings"], .wp-submenu a[href="admin.php?page=profile-builder-content_restriction"],
52
- .wp-submenu a[href="admin.php?page=admin-email-customizer"], .wp-submenu a[href="admin.php?page=user-email-customizer"], .wp-submenu a[href="admin.php?page=profile-builder-toolbox-settings"]{
 
 
 
 
53
  display:none !important;
54
  }
48
 
49
 
50
  /* hide menu items */
51
+ .wp-submenu a[href="admin.php?page=profile-builder-admin-bar-settings"],
52
+ .wp-submenu a[href="admin.php?page=profile-builder-content_restriction"],
53
+ .wp-submenu a[href="admin.php?page=admin-email-customizer"],
54
+ .wp-submenu a[href="admin.php?page=user-email-customizer"],
55
+ .wp-submenu a[href="admin.php?page=profile-builder-toolbox-settings"],
56
+ .wp-submenu a[href="admin.php?page=profile-builder-two-factor-authentication"] {
57
  display:none !important;
58
  }
assets/css/style-back-end.css CHANGED
@@ -912,4 +912,19 @@ Advanced Settings or Toolbox (legacy addon)
912
  padding-bottom: 7px;
913
  padding-left: 10px;
914
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
915
  }
912
  padding-bottom: 7px;
913
  padding-left: 10px;
914
  }
915
+ }
916
+
917
+ /* Two-Factor Authentication field */
918
+ #wppb_auth_verify_indicator {
919
+ pointer-events: none !important;
920
+ }
921
+ #wppb_auth_verify_indicator.valid.button[disabled] {
922
+ background-color: #c3ff88 !important;
923
+ border-color: #8dff1c !important;
924
+ color: #2c3338 !important;
925
+ }
926
+ #wppb_auth_verify_indicator.invalid.button[disabled] {
927
+ background-color: #ffa0a0 !important;
928
+ border-color: #f04040 !important;
929
+ color: #2c3338 !important;
930
  }
assets/css/style-front-end.css CHANGED
@@ -186,7 +186,8 @@
186
 
187
  .wppb-form-field label,
188
  #wppb-login-wrap .login-username label,
189
- #wppb-login-wrap .login-password label{
 
190
  width:30%;
191
  float:left;
192
  min-height:1px;
@@ -197,7 +198,8 @@
197
  .wppb-checkboxes,
198
  .wppb-radios,
199
  #wppb-login-wrap .login-username input,
200
- #wppb-login-wrap .login-password input{
 
201
  width:69.9%;
202
  float:left;
203
  }
@@ -479,7 +481,9 @@ label[for=blog-privacy]{
479
  margin-left: 0;
480
  }
481
 
482
-
 
 
483
 
484
 
485
  /*--------------------------------------------------------------
@@ -799,6 +803,7 @@ li.wppb-facet-search{
799
  .wppb-form-field label,
800
  #wppb-login-wrap .login-username label,
801
  #wppb-login-wrap .login-password label,
 
802
  ul.wppb-profile li label{
803
  width:100%;
804
  display:block;
@@ -813,6 +818,7 @@ li.wppb-facet-search{
813
  .wppb-radios,
814
  #wppb-login-wrap .login-username input,
815
  #wppb-login-wrap .login-password input,
 
816
  ul.wppb-profile li span{
817
  width:100%;
818
  float:left;
@@ -947,3 +953,72 @@ li.wppb-facet-search{
947
  border: 1px solid #ccc;
948
  border-radius: 3px;
949
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
 
187
  .wppb-form-field label,
188
  #wppb-login-wrap .login-username label,
189
+ #wppb-login-wrap .login-password label,
190
+ #wppb-login-wrap .login-auth label{
191
  width:30%;
192
  float:left;
193
  min-height:1px;
198
  .wppb-checkboxes,
199
  .wppb-radios,
200
  #wppb-login-wrap .login-username input,
201
+ #wppb-login-wrap .login-password input,
202
+ #wppb-login-wrap .login-auth input{
203
  width:69.9%;
204
  float:left;
205
  }
481
  margin-left: 0;
482
  }
483
 
484
+ .wppb-honeypot {
485
+ display: none;
486
+ }
487
 
488
 
489
  /*--------------------------------------------------------------
803
  .wppb-form-field label,
804
  #wppb-login-wrap .login-username label,
805
  #wppb-login-wrap .login-password label,
806
+ #wppb-login-wrap .login-auth label,
807
  ul.wppb-profile li label{
808
  width:100%;
809
  display:block;
818
  .wppb-radios,
819
  #wppb-login-wrap .login-username input,
820
  #wppb-login-wrap .login-password input,
821
+ #wppb-login-wrap .login-auth input,
822
  ul.wppb-profile li span{
823
  width:100%;
824
  float:left;
953
  border: 1px solid #ccc;
954
  border-radius: 3px;
955
  }
956
+
957
+ /**************************************************/
958
+ /* Two-Factor Authentication CSS
959
+ /**************************************************/
960
+ #wppb_auth_secret_buttons,
961
+ #wppb_auth_verify_buttons,
962
+ #wppb_auth_QR_INFO {
963
+ margin-left: 30%;
964
+ }
965
+
966
+ #wppb_auth_secret_buttons,
967
+ #wppb_auth_verify_buttons {
968
+ display: flex;
969
+ justify-content: space-between;
970
+ align-items: stretch;
971
+ }
972
+
973
+ .wppb_auth_button {
974
+ background: none repeat scroll 0 0 #f7f7f7;
975
+ border: 1px solid #ccc !important;
976
+ color: #555;
977
+ cursor: pointer;
978
+ display: inline-block;
979
+ font-size: 12px;
980
+ line-height: 26px;
981
+ padding: 15px;
982
+ text-decoration: none;
983
+ white-space: nowrap;
984
+ text-align: center;
985
+ width: 30%;
986
+ }
987
+
988
+ .wppb_auth_button:hover {
989
+ background: none repeat scroll 0 0 #fafafa;
990
+ border: 1px solid #999 !important;
991
+ color: #222;
992
+ text-decoration: none;
993
+ }
994
+
995
+ #wppb_auth_newsecret.wppb_auth_new_button,
996
+ #wppb_auth_verify_button.wppb_auth_verify_button {
997
+ flex-grow: 1;
998
+ }
999
+
1000
+ #wppb_show_qr.wppb_auth_qr_button,
1001
+ #wppb_auth_verify_indicator.wppb_auth_verify_indicator {
1002
+ flex-grow: 1;
1003
+ }
1004
+
1005
+ #wppb_auth_verify_indicator {
1006
+ pointer-events: none !important;
1007
+ }
1008
+ #wppb_auth_verify_indicator.valid {
1009
+ background-color: #c3ff88;
1010
+ border-color: #8dff1c;
1011
+ }
1012
+ #wppb_auth_verify_indicator.invalid {
1013
+ background-color: #ffa0a0;
1014
+ border-color: #f04040;
1015
+ }
1016
+
1017
+ #wppb_auth_QR_INFO .wppb-description-delimiter {
1018
+ font-size:80%;
1019
+ font-style:italic;
1020
+ }
1021
+
1022
+ #wppb_auth_QRCODE {
1023
+ text-align: center;
1024
+ }
assets/js/jquery-manage-fields-live-change.js CHANGED
@@ -426,6 +426,14 @@ var fields = {
426
  '.row-location-visibility'
427
  ]
428
  },
 
 
 
 
 
 
 
 
429
  'Checkbox': { 'show_rows' : [
430
  '.row-field-title',
431
  '.row-meta-name',
@@ -469,6 +477,7 @@ var fields = {
469
  '.row-simple-upload',
470
  '.row-allowed-extensions',
471
  '.row-required',
 
472
  '.row-allowed-upload-extensions'
473
  ]
474
  },
@@ -572,7 +581,8 @@ var fields = {
572
  '.row-map-pins-load-type',
573
  '.row-map-pagination-number',
574
  '.row-map-bubble-fields',
575
- '.row-required'
 
576
  ],
577
  'properties': {
578
  'meta_name_value' : 'map'
426
  '.row-location-visibility'
427
  ]
428
  },
429
+ 'Honeypot': { 'show_rows' : [
430
+ '.row-field-title'
431
+ ],
432
+ 'properties': {
433
+ 'meta_name_value' : 'honeypot',
434
+ 'field_title' : wppb_fields_strings.honeypot_title
435
+ }
436
+ },
437
  'Checkbox': { 'show_rows' : [
438
  '.row-field-title',
439
  '.row-meta-name',
477
  '.row-simple-upload',
478
  '.row-allowed-extensions',
479
  '.row-required',
480
+ '.row-overwrite-existing',
481
  '.row-allowed-upload-extensions'
482
  ]
483
  },
581
  '.row-map-pins-load-type',
582
  '.row-map-pagination-number',
583
  '.row-map-bubble-fields',
584
+ '.row-required',
585
+ '.row-overwrite-existing'
586
  ],
587
  'properties': {
588
  'meta_name_value' : 'map'
assets/lib/cl-add-ons-listing/cl-add-ons-listing.php CHANGED
@@ -65,7 +65,7 @@ class CL_Addons_List_Table extends WP_List_Table {
65
  $columns = array(
66
  'cb' => '<input type="checkbox" />', //Render a checkbox instead of text
67
  'icon' => '',
68
- 'add_on' => __('Add-On', $this->text_domain ),
69
  'actions' => '',
70
  );
71
  return $columns;
@@ -123,18 +123,20 @@ class CL_Addons_List_Table extends WP_List_Table {
123
  $all_wp_plugins = get_plugins();
124
  if( array_key_exists( $item['slug'], $all_wp_plugins ) ) {
125
  if( is_plugin_active_for_network( $item['slug'] ) ){
126
- $action = '<a class="right button button-secondary" href="' . esc_url(network_admin_url( 'plugins.php' )) . '">' . __('Manage in Network', $this->text_domain) . '</a>';
127
  }
128
  else {
129
- if (is_plugin_active($item['slug'])) {
130
- $action = '<a class="right button button-secondary" href="' . esc_url(wp_nonce_url(add_query_arg('cl_plugins', $item['slug'], admin_url('admin.php?page=' . $_REQUEST['page'] . '&cl_add_ons_action=deactivate')), 'cl_add_ons_action')) . '">' . __('Deactivate', $this->text_domain) . '</a>';
131
- } else {
132
- $action = '<a class="right button button-primary" href="' . esc_url(wp_nonce_url(add_query_arg('cl_plugins', $item['slug'], admin_url('admin.php?page=' . $_REQUEST['page'] . '&cl_add_ons_action=activate')), 'cl_add_ons_action')) . '">' . __('Activate', $this->text_domain) . '</a>';
 
 
133
  }
134
  }
135
  }
136
  else{
137
- $action = '<a target="_blank" class="right button button-secondary" href="'. $item['download_url'] .'">' . __('Download', $this->text_domain) . '</a>';
138
  }
139
 
140
 
@@ -144,14 +146,14 @@ class CL_Addons_List_Table extends WP_List_Table {
144
  in_array( $this->current_version, $this->section_versions ) ? $disabled = '' : $disabled = 'disabled'; //add disabled if the current version isn't eligible
145
 
146
  if ( $this->is_add_on_active( $item['slug'] ) ) {
147
- $action = '<a class="right button button-secondary" '.$disabled.' href="'. esc_url( wp_nonce_url( add_query_arg( 'cl_add_ons', $item['slug'], admin_url( 'admin.php?page='. $_REQUEST['page']. '&cl_add_ons_action=deactivate' ) ), 'cl_add_ons_action' ) ) .'">' . __('Deactivate', $this->text_domain) . '</a>';
148
  } else {
149
- $action = '<a class="right button button-primary" '.$disabled.' href="'. esc_url( wp_nonce_url( add_query_arg( 'cl_add_ons', $item['slug'], admin_url( 'admin.php?page='. $_REQUEST['page']. '&cl_add_ons_action=activate' ) ), 'cl_add_ons_action' ) ) .'">' . __('Activate', $this->text_domain) . '</a>';
150
  }
151
  }
152
 
153
 
154
- $documentation = '<a target="_blank" class="right" href="'. $item['doc_url'] . '">' . __( 'Documentation', $this->text_domain ) . '</a>';
155
 
156
  return $action . $documentation;
157
  }
@@ -183,7 +185,7 @@ class CL_Addons_List_Table extends WP_List_Table {
183
  function show_search_box(){
184
  ?>
185
  <p class="cl-add-ons-search-box">
186
- <input type="text" id="cl-add-ons-search-input" name="s" value="" placeholder="<?php _e( 'Search for add-ons...', $this->text_domain ); ?>">
187
  </p>
188
  <?php
189
  }
@@ -193,7 +195,7 @@ class CL_Addons_List_Table extends WP_List_Table {
193
  */
194
  function show_sumbit_button(){
195
  ?>
196
- <input type="submit" class="button-primary" value="<?php _e('Save Add-ons', $this->text_domain);?>">
197
  <?php
198
  }
199
 
@@ -206,9 +208,9 @@ class CL_Addons_List_Table extends WP_List_Table {
206
  <div class="cl-add-ons-section">
207
  <?php if( !empty( $this->section_header ) ): ?>
208
 
209
- <h2><?php echo $this->section_header['title'];?></h2>
210
  <?php if( !empty( $this->section_header ) ): ?>
211
- <p class="description"><?php echo $this->section_header['description']; ?></p>
212
  <?php endif; ?>
213
  <?php endif; ?>
214
 
@@ -238,7 +240,7 @@ class CL_Addons_List_Table extends WP_List_Table {
238
  function display_addons(){
239
  ?>
240
  <div class="wrap" id="cl-add-ons-listing">
241
- <h1 class="cl-main-header"><?php echo $this->header['title'];?></h1>
242
 
243
  <form id="cl-addons" method="post">
244
 
@@ -250,15 +252,15 @@ class CL_Addons_List_Table extends WP_List_Table {
250
 
251
  if( !empty( $this->sections ) ){
252
  foreach ( $this->sections as $section ){
253
- echo $section;
254
  }
255
  }
256
  ?>
257
  <?php $this->show_sumbit_button(); ?>
258
 
259
  <!-- For plugins, we also need to ensure that the form posts back to our current page -->
260
- <input type="hidden" name="cl_all_add_ons" value="<?php echo implode( '|' ,$this->all_addons ); ?>" />
261
- <input type="hidden" name="cl_all_plugins" value="<?php echo implode( '|' ,$this->all_plugins ); ?>" />
262
  <input type="hidden" name="cl_add_ons_action" value="bulk_action" />
263
  <?php wp_nonce_field('cl_add_ons_action'); ?>
264
  </form>
@@ -278,7 +280,7 @@ class CL_Addons_List_Table extends WP_List_Table {
278
  */
279
  add_action( 'admin_init', 'cl_add_ons_listing_process_actions', 1 );
280
  function cl_add_ons_listing_process_actions(){
281
- if (current_user_can( 'manage_options' ) && isset( $_REQUEST['cl_add_ons_action'] ) && isset($_REQUEST['_wpnonce']) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'cl_add_ons_action' ) ){
282
 
283
  if( $_REQUEST['cl_add_ons_action'] === 'bulk_action' ){
284
  if( !empty( $_POST['cl_all_plugins'] ) && !empty( $_POST['cl_all_add_ons'] ) ){//make sure we have all the data
@@ -340,7 +342,7 @@ function cl_add_ons_listing_process_actions(){
340
  do_action( 'cl_add_ons_deactivate', sanitize_text_field($_REQUEST['cl_add_ons']) );
341
  }
342
  }
343
-
344
- wp_safe_redirect( add_query_arg( 'cl_add_ons_listing_success', 'true', admin_url( 'admin.php?page='. $_REQUEST['page'] ) ) );
345
  }
346
  }
65
  $columns = array(
66
  'cb' => '<input type="checkbox" />', //Render a checkbox instead of text
67
  'icon' => '',
68
+ 'add_on' => __('Add-On', $this->text_domain ), //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
69
  'actions' => '',
70
  );
71
  return $columns;
123
  $all_wp_plugins = get_plugins();
124
  if( array_key_exists( $item['slug'], $all_wp_plugins ) ) {
125
  if( is_plugin_active_for_network( $item['slug'] ) ){
126
+ $action = '<a class="right button button-secondary" href="' . esc_url(network_admin_url( 'plugins.php' )) . '">' . __('Manage in Network', $this->text_domain) . '</a>'; //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
127
  }
128
  else {
129
+ if( isset( $_REQUEST['page'] ) ) {
130
+ if (is_plugin_active($item['slug'])) {
131
+ $action = '<a class="right button button-secondary" href="' . esc_url(wp_nonce_url(add_query_arg('cl_plugins', $item['slug'], admin_url('admin.php?page=' . sanitize_text_field( $_REQUEST['page'] ) . '&cl_add_ons_action=deactivate')), 'cl_add_ons_action')) . '">' . __('Deactivate', $this->text_domain) . '</a>'; //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
132
+ } else {
133
+ $action = '<a class="right button button-primary" href="' . esc_url(wp_nonce_url(add_query_arg('cl_plugins', $item['slug'], admin_url('admin.php?page=' .sanitize_text_field( $_REQUEST['page'] ) . '&cl_add_ons_action=activate')), 'cl_add_ons_action')) . '">' . __('Activate', $this->text_domain) . '</a>'; //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
134
+ }
135
  }
136
  }
137
  }
138
  else{
139
+ $action = '<a target="_blank" class="right button button-secondary" href="'. $item['download_url'] .'">' . __('Download', $this->text_domain) . '</a>'; //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
140
  }
141
 
142
 
146
  in_array( $this->current_version, $this->section_versions ) ? $disabled = '' : $disabled = 'disabled'; //add disabled if the current version isn't eligible
147
 
148
  if ( $this->is_add_on_active( $item['slug'] ) ) {
149
+ $action = '<a class="right button button-secondary" '.$disabled.' href="'. esc_url( wp_nonce_url( add_query_arg( 'cl_add_ons', $item['slug'], admin_url( 'admin.php?page='. sanitize_text_field( $_REQUEST['page'] ). '&cl_add_ons_action=deactivate' ) ), 'cl_add_ons_action' ) ) .'">' . __('Deactivate', $this->text_domain) . '</a>'; //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
150
  } else {
151
+ $action = '<a class="right button button-primary" '.$disabled.' href="'. esc_url( wp_nonce_url( add_query_arg( 'cl_add_ons', $item['slug'], admin_url( 'admin.php?page='. sanitize_text_field( $_REQUEST['page'] ). '&cl_add_ons_action=activate' ) ), 'cl_add_ons_action' ) ) .'">' . __('Activate', $this->text_domain) . '</a>'; //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
152
  }
153
  }
154
 
155
 
156
+ $documentation = '<a target="_blank" class="right" href="'. $item['doc_url'] . '">' . __( 'Documentation', $this->text_domain ) . '</a>'; //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
157
 
158
  return $action . $documentation;
159
  }
185
  function show_search_box(){
186
  ?>
187
  <p class="cl-add-ons-search-box">
188
+ <input type="text" id="cl-add-ons-search-input" name="s" value="" placeholder="<?php esc_html_e( 'Search for add-ons...', $this->text_domain ); //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain ?>">
189
  </p>
190
  <?php
191
  }
195
  */
196
  function show_sumbit_button(){
197
  ?>
198
+ <input type="submit" class="button-primary" value="<?php esc_html_e('Save Add-ons', $this->text_domain); //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain?>">
199
  <?php
200
  }
201
 
208
  <div class="cl-add-ons-section">
209
  <?php if( !empty( $this->section_header ) ): ?>
210
 
211
+ <h2><?php echo esc_html ( $this->section_header['title'] );?></h2>
212
  <?php if( !empty( $this->section_header ) ): ?>
213
+ <p class="description"><?php echo esc_html( $this->section_header['description'] ); ?></p>
214
  <?php endif; ?>
215
  <?php endif; ?>
216
 
240
  function display_addons(){
241
  ?>
242
  <div class="wrap" id="cl-add-ons-listing">
243
+ <h1 class="cl-main-header"><?php echo esc_html( $this->header['title'] );?></h1>
244
 
245
  <form id="cl-addons" method="post">
246
 
252
 
253
  if( !empty( $this->sections ) ){
254
  foreach ( $this->sections as $section ){
255
+ echo $section; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
256
  }
257
  }
258
  ?>
259
  <?php $this->show_sumbit_button(); ?>
260
 
261
  <!-- For plugins, we also need to ensure that the form posts back to our current page -->
262
+ <input type="hidden" name="cl_all_add_ons" value="<?php echo esc_attr( implode( '|' ,$this->all_addons ) ); ?>" />
263
+ <input type="hidden" name="cl_all_plugins" value="<?php echo esc_attr( implode( '|' ,$this->all_plugins ) ); ?>" />
264
  <input type="hidden" name="cl_add_ons_action" value="bulk_action" />
265
  <?php wp_nonce_field('cl_add_ons_action'); ?>
266
  </form>
280
  */
281
  add_action( 'admin_init', 'cl_add_ons_listing_process_actions', 1 );
282
  function cl_add_ons_listing_process_actions(){
283
+ if (current_user_can( 'manage_options' ) && isset( $_REQUEST['cl_add_ons_action'] ) && isset($_REQUEST['_wpnonce']) && wp_verify_nonce( sanitize_text_field( $_REQUEST['_wpnonce'] ), 'cl_add_ons_action' ) ){
284
 
285
  if( $_REQUEST['cl_add_ons_action'] === 'bulk_action' ){
286
  if( !empty( $_POST['cl_all_plugins'] ) && !empty( $_POST['cl_all_add_ons'] ) ){//make sure we have all the data
342
  do_action( 'cl_add_ons_deactivate', sanitize_text_field($_REQUEST['cl_add_ons']) );
343
  }
344
  }
345
+ if( isset( $_REQUEST['page'] ) )
346
+ wp_safe_redirect( add_query_arg( 'cl_add_ons_listing_success', 'true', admin_url( 'admin.php?page='. sanitize_text_field( $_REQUEST['page'] ) ) ) );
347
  }
348
  }
assets/lib/class-list-table.php CHANGED
@@ -181,7 +181,7 @@ class PB_WP_List_Table {
181
  * @access public
182
  */
183
  function no_items() {
184
- _e( 'No items found.' );
185
  }
186
 
187
  /**
@@ -200,17 +200,17 @@ class PB_WP_List_Table {
200
  $input_id = $input_id . '-search-input';
201
 
202
  if ( ! empty( $_REQUEST['orderby'] ) )
203
- echo '<input type="hidden" name="orderby" value="' . esc_attr( $_REQUEST['orderby'] ) . '" />';
204
  if ( ! empty( $_REQUEST['order'] ) )
205
- echo '<input type="hidden" name="order" value="' . esc_attr( $_REQUEST['order'] ) . '" />';
206
  if ( ! empty( $_REQUEST['post_mime_type'] ) )
207
- echo '<input type="hidden" name="post_mime_type" value="' . esc_attr( $_REQUEST['post_mime_type'] ) . '" />';
208
  if ( ! empty( $_REQUEST['detached'] ) )
209
- echo '<input type="hidden" name="detached" value="' . esc_attr( $_REQUEST['detached'] ) . '" />';
210
  ?>
211
  <p class="search-box">
212
- <label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
213
- <input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>" />
214
  <?php submit_button( $text, 'button', false, false, array('id' => 'search-submit') ); ?>
215
  </p>
216
  <?php
@@ -256,7 +256,7 @@ class PB_WP_List_Table {
256
  foreach ( $views as $class => $view ) {
257
  $views[ $class ] = "\t<li class='$class'>$view";
258
  }
259
- echo implode( " |</li>\n", $views ) . "</li>\n";
260
  echo "</ul>";
261
  }
262
 
@@ -304,18 +304,18 @@ class PB_WP_List_Table {
304
  if ( empty( $this->_actions ) )
305
  return;
306
 
307
- echo "<select name='action$two'>\n";
308
- echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions' ) . "</option>\n";
309
 
310
  foreach ( $this->_actions as $name => $title ) {
311
  $class = 'edit' == $name ? ' class="hide-if-no-js"' : '';
312
 
313
- echo "\t<option value='$name'$class>$title</option>\n";
314
  }
315
 
316
  echo "</select>\n";
317
 
318
- submit_button( __( 'Apply' ), 'action', false, false, array( 'id' => "doaction$two" ) );
319
  echo "\n";
320
  }
321
 
@@ -399,7 +399,7 @@ class PB_WP_List_Table {
399
  $m = isset( $_GET['m'] ) ? (int) sanitize_text_field( $_GET['m'] ) : 0;
400
  ?>
401
  <select name='m'>
402
- <option<?php selected( $m, 0 ); ?> value='0'><?php _e( 'Show all dates' ); ?></option>
403
  <?php
404
  foreach ( $months as $arc_row ) {
405
  if ( 0 == $arc_row->year )
@@ -412,7 +412,7 @@ class PB_WP_List_Table {
412
  selected( $m, $year . $month, false ),
413
  esc_attr( $arc_row->year . $month ),
414
  /* translators: 1: month name, 2: 4-digit year */
415
- sprintf( __( '%1$s %2$d' ), esc_attr( $wp_locale->get_month( $month ) ), esc_attr( $year ) )
416
  );
417
  }
418
  ?>
@@ -428,8 +428,8 @@ class PB_WP_List_Table {
428
  */
429
  function view_switcher( $current_mode ) {
430
  $modes = array(
431
- 'list' => __( 'List View' ),
432
- 'excerpt' => __( 'Excerpt View' )
433
  );
434
 
435
  ?>
@@ -438,7 +438,7 @@ class PB_WP_List_Table {
438
  <?php
439
  foreach ( $modes as $mode => $title ) {
440
  $class = ( $current_mode == $mode ) ? 'class="current"' : '';
441
- echo "<a href='" . esc_url( add_query_arg( 'mode', $mode, $_SERVER['REQUEST_URI'] ) ) . "' $class><img id='view-switch-$mode' src='" . esc_url( includes_url( 'images/blank.gif' ) ) . "' width='20' height='20' title='$title' alt='$title' /></a>\n";
442
  }
443
  ?>
444
  </div>
@@ -455,12 +455,12 @@ class PB_WP_List_Table {
455
  * @param int $pending_comments
456
  */
457
  function comments_bubble( $post_id, $pending_comments ) {
458
- $pending_phrase = sprintf( __( '%s pending' ), number_format( $pending_comments ) );
459
 
460
  if ( $pending_comments )
461
  echo '<strong>';
462
 
463
- echo "<a href='" . esc_url( add_query_arg( 'p', $post_id, admin_url( 'edit-comments.php' ) ) ) . "' title='" . esc_attr( $pending_phrase ) . "' class='post-com-count'><span class='comment-count'>" . number_format_i18n( get_comments_number() ) . "</span></a>";
464
 
465
  if ( $pending_comments )
466
  echo '</strong>';
@@ -523,11 +523,11 @@ class PB_WP_List_Table {
523
 
524
  extract( $this->_pagination_args, EXTR_SKIP );
525
 
526
- $output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
527
 
528
  $current = $this->get_pagenum();
529
 
530
- $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
531
 
532
  $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url );
533
 
@@ -541,14 +541,14 @@ class PB_WP_List_Table {
541
 
542
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
543
  'first-page button' . $disable_first,
544
- esc_attr__( 'Go to the first page' ),
545
  esc_url( remove_query_arg( 'paged', $current_url ) ),
546
  '&laquo;'
547
  );
548
 
549
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
550
  'prev-page button' . $disable_first,
551
- esc_attr__( 'Go to the previous page' ),
552
  esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ),
553
  '&lsaquo;'
554
  );
@@ -557,24 +557,24 @@ class PB_WP_List_Table {
557
  $html_current_page = $current;
558
  else
559
  $html_current_page = sprintf( "<input class='current-page' title='%s' type='text' name='paged' value='%s' size='%d' />",
560
- esc_attr__( 'Current page' ),
561
  $current,
562
  strlen( $total_pages )
563
  );
564
 
565
  $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
566
- $page_links[] = '<span class="paging-input">' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . '</span>';
567
 
568
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
569
  'next-page button' . $disable_last,
570
- esc_attr__( 'Go to the next page' ),
571
  esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ),
572
  '&rsaquo;'
573
  );
574
 
575
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
576
  'last-page button' . $disable_last,
577
- esc_attr__( 'Go to the last page' ),
578
  esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ),
579
  '&raquo;'
580
  );
@@ -591,7 +591,7 @@ class PB_WP_List_Table {
591
 
592
  $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
593
 
594
- echo $this->_pagination;
595
  }
596
 
597
  /**
@@ -695,7 +695,7 @@ class PB_WP_List_Table {
695
  function print_column_headers( $with_id = true ) {
696
  list( $columns, $hidden, $sortable ) = $this->get_column_info();
697
 
698
- $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
699
  $current_url = remove_query_arg( 'paged', $current_url );
700
 
701
  if ( isset( $_GET['orderby'] ) )
@@ -710,7 +710,7 @@ class PB_WP_List_Table {
710
 
711
  if ( ! empty( $columns['cb'] ) ) {
712
  static $cb_counter = 1;
713
- $columns['cb'] = '<label class="screen-reader-text" for="cb-select-all-' . $cb_counter . '">' . __( 'Select All' ) . '</label>'
714
  . '<input id="cb-select-all-' . $cb_counter . '" type="checkbox" />';
715
  $cb_counter++;
716
  }
@@ -751,7 +751,7 @@ class PB_WP_List_Table {
751
  if ( !empty( $class ) )
752
  $class = "class='" . join( ' ', $class ) . "'";
753
 
754
- echo "<th scope='col' $id $class $style>$column_display_name</th>";
755
  }
756
  }
757
 
@@ -767,7 +767,7 @@ class PB_WP_List_Table {
767
  $this->display_tablenav( 'top' );
768
 
769
  ?>
770
- <table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>" cellspacing="0">
771
  <thead>
772
  <tr>
773
  <?php $this->print_column_headers(); ?>
@@ -780,7 +780,7 @@ class PB_WP_List_Table {
780
  </tr>
781
  </tfoot>
782
 
783
- <tbody id="the-list"<?php if ( $singular ) echo " data-wp-lists='list:$singular'"; ?>>
784
  <?php $this->display_rows_or_placeholder(); ?>
785
  </tbody>
786
  </table>
@@ -844,7 +844,7 @@ class PB_WP_List_Table {
844
  $this->display_rows();
845
  } else {
846
  list( $columns, $hidden ) = $this->get_column_info();
847
- echo '<tr class="no-items"><td class="colspanchange" colspan="' . $this->get_column_count() . '">';
848
  $this->no_items();
849
  echo '</td></tr>';
850
  }
@@ -873,7 +873,7 @@ class PB_WP_List_Table {
873
  static $row_class = '';
874
  $row_class = ( $row_class == '' ? ' class="alternate"' : '' );
875
 
876
- echo '<tr id="user-'. $item['ID'] .'" ' . $row_class . '>';
877
  $this->single_row_columns( $item );
878
  echo '</tr>';
879
  }
@@ -900,17 +900,17 @@ class PB_WP_List_Table {
900
 
901
  if ( 'cb' == $column_name ) {
902
  echo '<th scope="row" class="check-column">';
903
- echo $this->column_cb( $item );
904
  echo '</th>';
905
  }
906
  elseif ( method_exists( $this, 'column_' . $column_name ) ) {
907
- echo "<td $attributes>";
908
- echo call_user_func( array( $this, 'column_' . $column_name ), $item );
909
  echo "</td>";
910
  }
911
  else {
912
- echo "<td $attributes>";
913
- echo $this->column_default( $item, $column_name );
914
  echo "</td>";
915
  }
916
  }
@@ -939,7 +939,7 @@ class PB_WP_List_Table {
939
  $response = array( 'rows' => $rows );
940
 
941
  if ( isset( $total_items ) )
942
- $response['total_items_i18n'] = sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) );
943
 
944
  if ( isset( $total_pages ) ) {
945
  $response['total_pages'] = $total_pages;
181
  * @access public
182
  */
183
  function no_items() {
184
+ esc_html_e( 'No items found.' );//phpcs:ignore WordPress.WP.I18n.MissingArgDomain
185
  }
186
 
187
  /**
200
  $input_id = $input_id . '-search-input';
201
 
202
  if ( ! empty( $_REQUEST['orderby'] ) )
203
+ echo '<input type="hidden" name="orderby" value="' . esc_attr( $_REQUEST['orderby'] ) . '" />';//phpcs:ignore
204
  if ( ! empty( $_REQUEST['order'] ) )
205
+ echo '<input type="hidden" name="order" value="' . esc_attr( $_REQUEST['order'] ) . '" />';//phpcs:ignore
206
  if ( ! empty( $_REQUEST['post_mime_type'] ) )
207
+ echo '<input type="hidden" name="post_mime_type" value="' . esc_attr( $_REQUEST['post_mime_type'] ) . '" />';//phpcs:ignore
208
  if ( ! empty( $_REQUEST['detached'] ) )
209
+ echo '<input type="hidden" name="detached" value="' . esc_attr( $_REQUEST['detached'] ) . '" />';//phpcs:ignore
210
  ?>
211
  <p class="search-box">
212
+ <label class="screen-reader-text" for="<?php echo esc_attr( $input_id ) ?>"><?php echo esc_html( $text ); ?>:</label>
213
+ <input type="search" id="<?php echo esc_attr( $input_id ) ?>" name="s" value="<?php _admin_search_query(); ?>" />
214
  <?php submit_button( $text, 'button', false, false, array('id' => 'search-submit') ); ?>
215
  </p>
216
  <?php
256
  foreach ( $views as $class => $view ) {
257
  $views[ $class ] = "\t<li class='$class'>$view";
258
  }
259
+ echo wp_kses_post( implode( " |</li>\n", $views ) . "</li>\n" );
260
  echo "</ul>";
261
  }
262
 
304
  if ( empty( $this->_actions ) )
305
  return;
306
 
307
+ echo "<select name='action". esc_attr( $two ) ."'>\n";
308
+ echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions' ) . "</option>\n";//phpcs:ignore
309
 
310
  foreach ( $this->_actions as $name => $title ) {
311
  $class = 'edit' == $name ? ' class="hide-if-no-js"' : '';
312
 
313
+ echo "\t<option value='".esc_attr($name)."'$class>". esc_html( $title )."</option>\n";//phpcs:ignore
314
  }
315
 
316
  echo "</select>\n";
317
 
318
+ submit_button( __( 'Apply' ), 'action', false, false, array( 'id' => "doaction$two" ) );//phpcs:ignore
319
  echo "\n";
320
  }
321
 
399
  $m = isset( $_GET['m'] ) ? (int) sanitize_text_field( $_GET['m'] ) : 0;
400
  ?>
401
  <select name='m'>
402
+ <option<?php selected( $m, 0 ); ?> value='0'><?php esc_html_e( 'Show all dates' ); //phpcs:ignore ?></option>
403
  <?php
404
  foreach ( $months as $arc_row ) {
405
  if ( 0 == $arc_row->year )
412
  selected( $m, $year . $month, false ),
413
  esc_attr( $arc_row->year . $month ),
414
  /* translators: 1: month name, 2: 4-digit year */
415
+ sprintf( __( '%1$s %2$d' ), esc_attr( $wp_locale->get_month( $month ) ), esc_attr( $year ) )//phpcs:ignore
416
  );
417
  }
418
  ?>
428
  */
429
  function view_switcher( $current_mode ) {
430
  $modes = array(
431
+ 'list' => __( 'List View' ),//phpcs:ignore
432
+ 'excerpt' => __( 'Excerpt View' )//phpcs:ignore
433
  );
434
 
435
  ?>
438
  <?php
439
  foreach ( $modes as $mode => $title ) {
440
  $class = ( $current_mode == $mode ) ? 'class="current"' : '';
441
+ echo "<a href='" . esc_url( add_query_arg( 'mode', $mode, $_SERVER['REQUEST_URI'] ) ) . "' $class><img id='view-switch-$mode' src='" . esc_url( includes_url( 'images/blank.gif' ) ) . "' width='20' height='20' title='$title' alt='$title' /></a>\n";//phpcs:ignore
442
  }
443
  ?>
444
  </div>
455
  * @param int $pending_comments
456
  */
457
  function comments_bubble( $post_id, $pending_comments ) {
458
+ $pending_phrase = sprintf( __( '%s pending' ), number_format( $pending_comments ) );//phpcs:ignore
459
 
460
  if ( $pending_comments )
461
  echo '<strong>';
462
 
463
+ echo "<a href='" . esc_url( add_query_arg( 'p', $post_id, admin_url( 'edit-comments.php' ) ) ) . "' title='" . esc_attr( $pending_phrase ) . "' class='post-com-count'><span class='comment-count'>" . number_format_i18n( get_comments_number() ) . "</span></a>";//phpcs:ignore
464
 
465
  if ( $pending_comments )
466
  echo '</strong>';
523
 
524
  extract( $this->_pagination_args, EXTR_SKIP );
525
 
526
+ $output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';//phpcs:ignore
527
 
528
  $current = $this->get_pagenum();
529
 
530
+ $current_url = set_url_scheme( 'http://' . sanitize_text_field( $_SERVER['HTTP_HOST'] ) . esc_url_raw( $_SERVER['REQUEST_URI'] ) );//phpcs:ignore
531
 
532
  $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url );
533
 
541
 
542
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
543
  'first-page button' . $disable_first,
544
+ esc_attr__( 'Go to the first page' ),//phpcs:ignore
545
  esc_url( remove_query_arg( 'paged', $current_url ) ),
546
  '&laquo;'
547
  );
548
 
549
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
550
  'prev-page button' . $disable_first,
551
+ esc_attr__( 'Go to the previous page' ),//phpcs:ignore
552
  esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ),
553
  '&lsaquo;'
554
  );
557
  $html_current_page = $current;
558
  else
559
  $html_current_page = sprintf( "<input class='current-page' title='%s' type='text' name='paged' value='%s' size='%d' />",
560
+ esc_attr__( 'Current page' ),//phpcs:ignore
561
  $current,
562
  strlen( $total_pages )
563
  );
564
 
565
  $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
566
+ $page_links[] = '<span class="paging-input">' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . '</span>'; //phpcs:ignore
567
 
568
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
569
  'next-page button' . $disable_last,
570
+ esc_attr__( 'Go to the next page' ),//phpcs:ignore
571
  esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ),
572
  '&rsaquo;'
573
  );
574
 
575
  $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
576
  'last-page button' . $disable_last,
577
+ esc_attr__( 'Go to the last page' ),//phpcs:ignore
578
  esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ),
579
  '&raquo;'
580
  );
591
 
592
  $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
593
 
594
+ echo $this->_pagination;//phpcs:ignore
595
  }
596
 
597
  /**
695
  function print_column_headers( $with_id = true ) {
696
  list( $columns, $hidden, $sortable ) = $this->get_column_info();
697
 
698
+ $current_url = set_url_scheme( 'http://' . sanitize_text_field( $_SERVER['HTTP_HOST'] ) . esc_url_raw( $_SERVER['REQUEST_URI'] ) );//phpcs:ignore
699
  $current_url = remove_query_arg( 'paged', $current_url );
700
 
701
  if ( isset( $_GET['orderby'] ) )
710
 
711
  if ( ! empty( $columns['cb'] ) ) {
712
  static $cb_counter = 1;
713
+ $columns['cb'] = '<label class="screen-reader-text" for="cb-select-all-' . esc_attr( $cb_counter ) . '">' . __( 'Select All' ) . '</label>'//phpcs:ignore
714
  . '<input id="cb-select-all-' . $cb_counter . '" type="checkbox" />';
715
  $cb_counter++;
716
  }
751
  if ( !empty( $class ) )
752
  $class = "class='" . join( ' ', $class ) . "'";
753
 
754
+ echo "<th scope='col' $id $class $style>$column_display_name</th>";//phpcs:ignore
755
  }
756
  }
757
 
767
  $this->display_tablenav( 'top' );
768
 
769
  ?>
770
+ <table class="wp-list-table <?php echo esc_attr( implode( ' ', $this->get_table_classes() ) ); ?>" cellspacing="0">
771
  <thead>
772
  <tr>
773
  <?php $this->print_column_headers(); ?>
780
  </tr>
781
  </tfoot>
782
 
783
+ <tbody id="the-list"<?php if ( $singular ) echo " data-wp-lists='list:$singular'";//phpcs:ignore ?>>
784
  <?php $this->display_rows_or_placeholder(); ?>
785
  </tbody>
786
  </table>
844
  $this->display_rows();
845
  } else {
846
  list( $columns, $hidden ) = $this->get_column_info();
847
+ echo '<tr class="no-items"><td class="colspanchange" colspan="' . esc_attr( $this->get_column_count() ) . '">';
848
  $this->no_items();
849
  echo '</td></tr>';
850
  }
873
  static $row_class = '';
874
  $row_class = ( $row_class == '' ? ' class="alternate"' : '' );
875
 
876
+ echo '<tr id="user-'. esc_attr( $item['ID'] ) .'" ' . $row_class . '>';//phpcs:ignore
877
  $this->single_row_columns( $item );
878
  echo '</tr>';
879
  }
900
 
901
  if ( 'cb' == $column_name ) {
902
  echo '<th scope="row" class="check-column">';
903
+ echo $this->column_cb( $item );//phpcs:ignore
904
  echo '</th>';
905
  }
906
  elseif ( method_exists( $this, 'column_' . $column_name ) ) {
907
+ echo "<td $attributes>";//phpcs:ignore
908
+ echo call_user_func( array( $this, 'column_' . $column_name ), $item );//phpcs:ignore
909
  echo "</td>";
910
  }
911
  else {
912
+ echo "<td $attributes>";//phpcs:ignore
913
+ echo $this->column_default( $item, $column_name );//phpcs:ignore
914
  echo "</td>";
915
  }
916
  }
939
  $response = array( 'rows' => $rows );
940
 
941
  if ( isset( $total_items ) )
942
+ $response['total_items_i18n'] = sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) );//phpcs:ignore
943
 
944
  if ( isset( $total_pages ) ) {
945
  $response['total_pages'] = $total_pages;
assets/lib/class-mustache-templates/class-mustache-templates.php CHANGED
@@ -252,7 +252,7 @@ class PB_Mustache_Generate_Admin_Box{
252
 
253
  /* if it's not a post type add a side metabox with a save button */
254
  if( isset( $_GET['page'] ) )
255
- add_meta_box( 'page-save-metabox', __( 'Save' ), array( $this, 'page_save_meta_box' ), $page, 'side' );
256
  }
257
  }
258
 
@@ -284,7 +284,7 @@ class PB_Mustache_Generate_Admin_Box{
284
  }
285
 
286
  // Use nonce for verification
287
- echo '<input type="hidden" name="' . $post_type . '_meta_box_nonce" value="' . wp_create_nonce( basename( __FILE__) ) . '" />';
288
 
289
  // Begin the field table and loop
290
  echo '<table class="form-table meta_box mustache-box">';
@@ -311,51 +311,51 @@ class PB_Mustache_Generate_Admin_Box{
311
 
312
  // begin a table row with
313
  echo '<tr>
314
- <td class="' . $id . ' ' .$type . '">';
315
  if( $type != 'header' && !empty( $label ) ){
316
- echo '<label for="' . $id . '" class="wppb_mustache_label">' . esc_html( $label ) . '</label>';
317
  }
318
  switch( $type ) {
319
  // text
320
  case 'text':
321
- echo '<input type="text" name="' . $id . '" id="' . $id . '" value="' . esc_attr( $meta ) . '" size="30" />
322
- <br />' . $desc ;
323
  break;
324
  // textarea
325
  case 'textarea':
326
 
327
- echo '<textarea name="' . $id . '" id="' . $id . '" cols="220" rows="4" class="wppb_mustache_template">' . esc_textarea( $meta ) . '</textarea>';
328
- echo $desc ;
329
  break;
330
  // checkbox
331
  case 'checkbox':
332
- echo '<input type="checkbox" name="' . $id . '" id="' . $id . '"' . checked( esc_attr( $meta ), 'on', false ) . ' value="on" />
333
- <label for="' . $id . '">' . $desc . '</label>';
334
  break;
335
  // select
336
  case 'select':
337
- echo '<select name="' . $id . '" id="' . $id . '">';
338
  foreach ( $options as $option )
339
  echo '<option' . selected( esc_attr( $meta ), $option['value'], false ) . ' value="' . esc_attr( $option['value'] ) . '">' . esc_html( $option['label'] ) . '</option>';
340
- echo '</select><br />' . $desc;
341
  break;
342
  // radio
343
  case 'radio':
344
  foreach ( $options as $option )
345
- echo '<input type="radio" name="' . $id . '" id="' . $id . '-' . $option['value'] . '" value="' . esc_attr( $option['value'] ) . '"' . checked( esc_attr( $meta ), $option['value'], false ) . ' />
346
- <label for="' . $id . '-' . $option['value'] . '">' . $option['label'] . '</label><br />';
347
- echo '' . esc_html( $desc );
348
  break;
349
  // checkbox_group
350
  case 'checkbox_group':
351
  foreach ( $options as $option )
352
  echo '<input type="checkbox" value="' . esc_attr( $option['value'] ) . '" name="' . $id . '[]" id="' . $id . '-' . $option['value'] . '"' , is_array( $meta ) && in_array( $option['value'], $meta ) ? ' checked="checked"' : '' , ' />
353
- <label for="' . $id . '-' . $option['value'] . '">' . $option['label'] . '</label><br />';
354
- echo '' . esc_html( $desc );
355
  break;
356
  // text
357
  case 'header':
358
- echo '<h4>'. $default .'</h4>';
359
  break;
360
  } //end switch
361
 
@@ -366,7 +366,7 @@ class PB_Mustache_Generate_Admin_Box{
366
  if( !empty( $this->mustache_vars ) ){
367
  foreach( $this->mustache_vars as $mustache_var_group ){
368
  ?>
369
- <h4><?php echo $mustache_var_group['group-title']; ?></h4>
370
  <pre><?php do_action( 'wppb_before_mustache_vars_display', $mustache_var_group, $id, $post_type ); $this->display_mustache_available_vars( $mustache_var_group['variables'], 0 ); ?></pre>
371
  <?php
372
  }
@@ -389,7 +389,7 @@ class PB_Mustache_Generate_Admin_Box{
389
  */
390
  function page_save_meta_box() {
391
  ?>
392
- <input type="submit" value="<?php _e( 'Save Changes', 'profile-builder' ); ?>" class="button button-primary button-large mustache-save">
393
  <?php
394
  }
395
 
@@ -456,27 +456,27 @@ class PB_Mustache_Generate_Admin_Box{
456
  foreach( $mustache_vars as $var ){
457
  if ( $var[ 'name' ] != 'password' ) {
458
  if ( empty( $var[ 'children' ] ) ) {
459
- echo str_repeat( "&nbsp;&nbsp;", $level );
460
  if ( !empty( $var[ 'label' ] ) )
461
- echo apply_filters( 'wppb_variable_label', $var[ 'label' ] . ':' );
462
  if ( !empty( $var[ 'unescaped' ] ) && $var[ 'unescaped' ] === true )
463
  echo '{{{';
464
  else
465
  echo '{{';
466
- echo $var[ 'name' ];
467
  if ( !empty( $var[ 'unescaped' ] ) && $var[ 'unescaped' ] === true )
468
  echo '}}}';
469
  else
470
  echo '}}';
471
  echo PHP_EOL;
472
  } else {
473
- echo str_repeat( "&nbsp;&nbsp;", $level );
474
- echo '{{#' . $var[ 'name' ] . '}}' . PHP_EOL;
475
  $level++;
476
  $this->display_mustache_available_vars( $var[ 'children' ], $level );
477
  $level--;
478
- echo str_repeat( "&nbsp;&nbsp;", $level );
479
- echo '{{/' . $var[ 'name' ] . '}}' . PHP_EOL;
480
  }
481
  }
482
  }
@@ -495,18 +495,18 @@ class PB_Mustache_Generate_Admin_Box{
495
  function save_box( $post_id, $post ){
496
  global $post_type;
497
  /* addition to save as option if we are not on a post type */
498
- if( !is_numeric( $post_id ) && @wp_verify_nonce( $_POST['_meta_box_nonce'], basename( __FILE__ ) ) ){
499
  foreach ( $this->fields as $field ) {
500
 
501
  if ( isset( $_POST[$field['id']] ) ) {
502
- update_option( $field['id'], wp_unslash( $_POST[$field['id']] ) );
503
  }
504
 
505
  }
506
  }
507
 
508
  // verify nonce
509
- if ( ! ( in_array( $post_type, $this->page ) && @wp_verify_nonce( $_POST[$post_type . '_meta_box_nonce'], basename( __FILE__ ) ) ) )
510
  return $post_id;
511
  // check autosave
512
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
@@ -520,14 +520,14 @@ class PB_Mustache_Generate_Admin_Box{
520
  if( $field['type'] == 'tax_select' ) {
521
  // save taxonomies
522
  if ( isset( $_POST[$field['id']] ) )
523
- $term = $_POST[$field['id']];
524
  wp_set_object_terms( $post_id, $term, $field['id'] );
525
  }
526
  else {
527
  // save the rest
528
  $old = get_post_meta( $post_id, $field['id'], true );
529
  if ( isset( $_POST[$field['id']] ) ) {
530
- $new = $_POST[$field['id']];
531
  } else {
532
  $new = '';
533
  }
252
 
253
  /* if it's not a post type add a side metabox with a save button */
254
  if( isset( $_GET['page'] ) )
255
+ add_meta_box( 'page-save-metabox', __( 'Save', 'profile-builder' ), array( $this, 'page_save_meta_box' ), $page, 'side' );
256
  }
257
  }
258
 
284
  }
285
 
286
  // Use nonce for verification
287
+ echo '<input type="hidden" name="' . esc_attr( $post_type ) . '_meta_box_nonce" value="' . esc_attr( wp_create_nonce( basename( __FILE__) ) ) . '" />';
288
 
289
  // Begin the field table and loop
290
  echo '<table class="form-table meta_box mustache-box">';
311
 
312
  // begin a table row with
313
  echo '<tr>
314
+ <td class="' . esc_attr( $id ) . ' ' . esc_attr( $type ) . '">';
315
  if( $type != 'header' && !empty( $label ) ){
316
+ echo '<label for="' . esc_attr( $id ) . '" class="wppb_mustache_label">' . esc_html( $label ) . '</label>';
317
  }
318
  switch( $type ) {
319
  // text
320
  case 'text':
321
+ echo '<input type="text" name="' . esc_attr( $id ) . '" id="' . esc_attr( $id ) . '" value="' . esc_attr( $meta ) . '" size="30" />
322
+ <br />' . wp_kses_post( $desc ) ;
323
  break;
324
  // textarea
325
  case 'textarea':
326
 
327
+ echo '<textarea name="' . esc_attr( $id ) . '" id="' . esc_attr( $id ) . '" cols="220" rows="4" class="wppb_mustache_template">' . esc_textarea( $meta ) . '</textarea>';
328
+ echo wp_kses_post( $desc ) ;
329
  break;
330
  // checkbox
331
  case 'checkbox':
332
+ echo '<input type="checkbox" name="' . esc_attr( $id ) . '" id="' . esc_attr( $id ) . '"' . checked( esc_attr( $meta ), 'on', false ) . ' value="on" />
333
+ <label for="' . esc_attr( $id ) . '">' . esc_html( $desc ) . '</label>';
334
  break;
335
  // select
336
  case 'select':
337
+ echo '<select name="' . esc_attr( $id ) . '" id="' . esc_attr( $id ) . '">';
338
  foreach ( $options as $option )
339
  echo '<option' . selected( esc_attr( $meta ), $option['value'], false ) . ' value="' . esc_attr( $option['value'] ) . '">' . esc_html( $option['label'] ) . '</option>';
340
+ echo '</select><br />' . wp_kses_post( $desc );
341
  break;
342
  // radio
343
  case 'radio':
344
  foreach ( $options as $option )
345
+ echo '<input type="radio" name="' . esc_attr( $id ) . '" id="' . esc_attr( $id ) . '-' . esc_attr( $option['value'] ) . '" value="' . esc_attr( $option['value'] ) . '"' . checked( esc_attr( $meta ), $option['value'], false ) . ' />
346
+ <label for="' . esc_attr( $id ) . '-' . esc_attr( $option['value'] ) . '">' . esc_html( $option['label'] ) . '</label><br />';
347
+ echo '' . wp_kses_post( $desc );
348
  break;
349
  // checkbox_group
350
  case 'checkbox_group':
351
  foreach ( $options as $option )
352
  echo '<input type="checkbox" value="' . esc_attr( $option['value'] ) . '" name="' . $id . '[]" id="' . $id . '-' . $option['value'] . '"' , is_array( $meta ) && in_array( $option['value'], $meta ) ? ' checked="checked"' : '' , ' />
353
+ <label for="' . esc_attr( $id ) . '-' . esc_attr( $option['value'] ) . '">' . esc_html( $option['label'] ) . '</label><br />';
354
+ echo '' . wp_kses_post( $desc );
355
  break;
356
  // text
357
  case 'header':
358
+ echo '<h4>'. esc_html( $default ) .'</h4>';
359
  break;
360
  } //end switch
361
 
366
  if( !empty( $this->mustache_vars ) ){
367
  foreach( $this->mustache_vars as $mustache_var_group ){
368
  ?>
369
+ <h4><?php echo esc_html( $mustache_var_group['group-title'] ); ?></h4>
370
  <pre><?php do_action( 'wppb_before_mustache_vars_display', $mustache_var_group, $id, $post_type ); $this->display_mustache_available_vars( $mustache_var_group['variables'], 0 ); ?></pre>
371
  <?php
372
  }
389
  */
390
  function page_save_meta_box() {
391
  ?>
392
+ <input type="submit" value="<?php esc_html_e( 'Save Changes', 'profile-builder' ); ?>" class="button button-primary button-large mustache-save">
393
  <?php
394
  }
395
 
456
  foreach( $mustache_vars as $var ){
457
  if ( $var[ 'name' ] != 'password' ) {
458
  if ( empty( $var[ 'children' ] ) ) {
459
+ echo str_repeat( "&nbsp;&nbsp;", $level );//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
460
  if ( !empty( $var[ 'label' ] ) )
461
+ echo esc_html( apply_filters( 'wppb_variable_label', $var[ 'label' ] . ':' ) );
462
  if ( !empty( $var[ 'unescaped' ] ) && $var[ 'unescaped' ] === true )
463
  echo '{{{';
464
  else
465
  echo '{{';
466
+ echo esc_html( $var[ 'name' ] );
467
  if ( !empty( $var[ 'unescaped' ] ) && $var[ 'unescaped' ] === true )
468
  echo '}}}';
469
  else
470
  echo '}}';
471
  echo PHP_EOL;
472
  } else {
473
+ echo str_repeat( "&nbsp;&nbsp;", $level ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
474
+ echo '{{#' . esc_html( $var[ 'name' ] ) . '}}' . PHP_EOL;
475
  $level++;
476
  $this->display_mustache_available_vars( $var[ 'children' ], $level );
477
  $level--;
478
+ echo str_repeat( "&nbsp;&nbsp;", $level ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
479
+ echo '{{/' . esc_html( $var[ 'name' ] ) . '}}' . PHP_EOL;
480
  }
481
  }
482
  }
495
  function save_box( $post_id, $post ){
496
  global $post_type;
497
  /* addition to save as option if we are not on a post type */
498
+ if( !is_numeric( $post_id ) && isset( $_POST['_meta_box_nonce'] ) && @wp_verify_nonce( sanitize_text_field( $_POST['_meta_box_nonce'] ), basename( __FILE__ ) ) ){
499
  foreach ( $this->fields as $field ) {
500
 
501
  if ( isset( $_POST[$field['id']] ) ) {
502
+ update_option( $field['id'], wp_unslash( $_POST[$field['id']] ) );//phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
503
  }
504
 
505
  }
506
  }
507
 
508
  // verify nonce
509
+ if ( ! ( in_array( $post_type, $this->page ) && isset( $_POST[$post_type . '_meta_box_nonce'] ) && @wp_verify_nonce( sanitize_text_field( $_POST[$post_type . '_meta_box_nonce'] ), basename( __FILE__ ) ) ) )
510
  return $post_id;
511
  // check autosave
512
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
520
  if( $field['type'] == 'tax_select' ) {
521
  // save taxonomies
522
  if ( isset( $_POST[$field['id']] ) )
523
+ $term = $_POST[$field['id']]; //phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
524
  wp_set_object_terms( $post_id, $term, $field['id'] );
525
  }
526
  else {
527
  // save the rest
528
  $old = get_post_meta( $post_id, $field['id'], true );
529
  if ( isset( $_POST[$field['id']] ) ) {
530
+ $new = $_POST[$field['id']]; /* phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
531
  } else {
532
  $new = '';
533
  }
assets/lib/class_notices.php CHANGED
@@ -40,7 +40,7 @@ class WPPB_Add_General_Notices{
40
  if ( current_user_can( 'manage_options' ) ){
41
  // Check that the user hasn't already clicked to ignore the message
42
  if ( ! get_user_meta($user_id, $this->notificationId.'_dismiss_notification' ) ) {
43
- echo $finalMessage = apply_filters($this->notificationId.'_notification_message','<div class="'. $this->notificationClass .'" >'.$this->notificationMessage.'</div>', $this->notificationMessage);
44
  }
45
  do_action( $this->notificationId.'_notification_displayed', $current_user, $pagenow );
46
  }
@@ -282,10 +282,10 @@ Class WPPB_Plugin_Notifications {
282
  public function is_plugin_page() {
283
  if( !empty( $this->pluginPages ) ){
284
  foreach ( $this->pluginPages as $pluginPage ){
285
- if( ! empty( $_GET['page'] ) && false !== strpos( $_GET['page'], $pluginPage ) )
286
  return true;
287
 
288
- if( ! empty( $_GET['post_type'] ) && false !== strpos( $_GET['post_type'], $pluginPage ) )
289
  return true;
290
 
291
  if( ! empty( $_GET['post'] ) && false !== strpos( get_post_type( (int)$_GET['post'] ), $pluginPage ) )
40
  if ( current_user_can( 'manage_options' ) ){
41
  // Check that the user hasn't already clicked to ignore the message
42
  if ( ! get_user_meta($user_id, $this->notificationId.'_dismiss_notification' ) ) {
43
+ echo wp_kses_post( apply_filters($this->notificationId.'_notification_message','<div class="'. $this->notificationClass .'" >'.$this->notificationMessage.'</div>', $this->notificationMessage) );
44
  }
45
  do_action( $this->notificationId.'_notification_displayed', $current_user, $pagenow );
46
  }
282
  public function is_plugin_page() {
283
  if( !empty( $this->pluginPages ) ){
284
  foreach ( $this->pluginPages as $pluginPage ){
285
+ if( ! empty( $_GET['page'] ) && false !== strpos( sanitize_text_field( $_GET['page'] ), $pluginPage ) )
286
  return true;
287
 
288
+ if( ! empty( $_GET['post_type'] ) && false !== strpos( sanitize_text_field( $_GET['post_type'] ), $pluginPage ) )
289
  return true;
290
 
291
  if( ! empty( $_GET['post'] ) && false !== strpos( get_post_type( (int)$_GET['post'] ), $pluginPage ) )
assets/lib/wck-api/fields/nested repeater.php CHANGED
@@ -5,5 +5,5 @@
5
  * @param string $context Context where the function is used. Depending on it some actions are preformed.;
6
  * @return string $element input element html string. */
7
 
8
- $element .= sprintf( __( 'You can add the information for the %s after you add an entry' ), $details['title'] );
9
  ?>
5
  * @param string $context Context where the function is used. Depending on it some actions are preformed.;
6
  * @return string $element input element html string. */
7
 
8
+ $element .= sprintf( __( 'You can add the information for the %s after you add an entry', 'profile-builder' ), $details['title'] );
9
  ?>
assets/lib/wck-api/fields/upload.php CHANGED
@@ -40,7 +40,7 @@ if( !empty ( $value ) ){
40
  $element.= $file_type;
41
  $element.= '</span>';
42
  if( !empty ( $value ) )
43
- $element.= '<span class="wck-remove-upload">'.__( 'Remove', 'core' ).'</span>';
44
  $element.= '</p></div>';
45
  }
46
  }
@@ -72,5 +72,5 @@ else
72
  if( !empty( $details['allowed_types'] ) )
73
  $element.= ' data-allowed_types="'. $details['allowed_types'] .'"';
74
 
75
- $element.= '>'. __( 'Upload ', 'wck' ) . $details['title'] .'</a>';
76
  ?>
40
  $element.= $file_type;
41
  $element.= '</span>';
42
  if( !empty ( $value ) )
43
+ $element.= '<span class="wck-remove-upload">'.__( 'Remove', 'profile-builder' ).'</span>';
44
  $element.= '</p></div>';
45
  }
46
  }
72
  if( !empty( $details['allowed_types'] ) )
73
  $element.= ' data-allowed_types="'. $details['allowed_types'] .'"';
74
 
75
+ $element.= '>'. __( 'Upload ', 'profile-builder' ) . $details['title'] .'</a>';
76
  ?>
assets/lib/wck-api/wordpress-creation-kit.php CHANGED
@@ -189,7 +189,7 @@ class Wordpress_Creation_Kit_PB{
189
 
190
  //output the entries only for repeater fields
191
  if( !$this->args['single'] )
192
- echo self::wck_output_meta_content($metabox['args']['meta_name'], $post_id, $metabox['args']['meta_array']);
193
  }
194
 
195
  /**
@@ -310,7 +310,7 @@ class Wordpress_Creation_Kit_PB{
310
  $wck_update_container_css_class = apply_filters("wck_add_form_class_{$meta}", '', $meta, $results );
311
  }
312
  ?>
313
- <div id="<?php echo $meta ?>" style="padding:10px 0;" class="wck-add-form<?php if( $this->args['single'] ) echo ' single' ?> <?php if( !empty( $wck_update_container_css_class ) ) echo $wck_update_container_css_class; ?>">
314
  <ul class="mb-list-entry-fields">
315
  <?php
316
  $element_id = 0;
@@ -328,7 +328,7 @@ class Wordpress_Creation_Kit_PB{
328
  }
329
  ?>
330
  <li class="row-<?php echo esc_attr( Wordpress_Creation_Kit_PB::wck_generate_slug( $details['title'], $details ) ) ?>">
331
- <?php echo self::wck_output_form_field( $meta, $details, $value, $context, $post_id ); ?>
332
  </li>
333
  <?php
334
 
@@ -340,14 +340,14 @@ class Wordpress_Creation_Kit_PB{
340
  ?>
341
  <?php if( ! $this->args['single'] || $this->args['context'] == 'option' ){ ?>
342
  <li style="overflow:visible;" class="add-entry-button">
343
- <a href="javascript:void(0)" class="button-primary" onclick="addMeta('<?php echo esc_js($meta); ?>', '<?php echo esc_js( $post_id ); ?>', '<?php echo esc_js($nonce); ?>')"><span><?php if( $this->args['single'] ) echo apply_filters( 'wck_add_entry_button', __( 'Save', 'profile-builder' ), $meta, $post ); else echo apply_filters( 'wck_add_entry_button', __( 'Add Entry', 'wck' ), $meta, $post ); ?></span></a>
344
  </li>
345
  <?php }elseif($this->args['single'] && $this->args['context'] == 'post_meta' ){ ?>
346
- <input type="hidden" name="_wckmetaname_<?php echo $meta ?>#wck" value="true">
347
  <?php } ?>
348
  </ul>
349
  </div>
350
- <script>wck_set_to_widest( '.field-label', '<?php echo $meta ?>' );</script>
351
  <?php
352
  }
353
 
@@ -444,7 +444,7 @@ class Wordpress_Creation_Kit_PB{
444
 
445
 
446
  if( !empty( $results ) ){
447
- $list .= apply_filters( 'wck_metabox_content_header_'.$meta , '<thead><tr><th class="wck-number">#</th><th class="wck-content">'. __( 'Content', 'profile-builder' ) .'</th><th class="wck-edit">'. __( 'Edit', 'wck' ) .'</th><th class="wck-delete">'. __( 'Delete', 'wck' ) .'</th></tr></thead>' );
448
  $i=0;
449
  foreach ($results as $result){
450
 
@@ -501,7 +501,7 @@ class Wordpress_Creation_Kit_PB{
501
  if ( $details['slug'] === 'pble-label' ){
502
  $display_value = '<pre>' . self::wck_get_entry_field_select( $value, $details ) . '</pre>';
503
  } else {
504
- $display_value = '<pre>' . __(self::wck_get_entry_field_select( $value, $details ), 'profilebuilder') . '</pre>';
505
  }
506
  } else {
507
  $display_value = '<pre>'.htmlspecialchars( $value ) . '</pre>';
@@ -545,8 +545,8 @@ class Wordpress_Creation_Kit_PB{
545
  }
546
 
547
  $list .= '</td>';
548
- $list .= '<td style="text-align:center;vertical-align:middle;" class="wck-edit"><a href="javascript:void(0)" class="button-secondary" onclick=\'showUpdateFormMeta("'.esc_js($meta).'", "'.esc_js($id).'", "'.esc_js($element_id).'", "'.esc_js($edit_nonce).'")\' title="'. __( 'Edit this item', 'profile-builder' ) .'">'. apply_filters( 'wck_edit_button', __('Edit','wck'), $meta ) .'</a></td>';
549
- $list .= '<td style="text-align:center;vertical-align:middle;" class="wck-delete"><a href="javascript:void(0)" class="mbdelete" onclick=\'removeMeta("'.esc_js($meta).'", "'.esc_js($id).'", "'.esc_js($element_id).'", "'.esc_js($delete_nonce).'")\' title="'. __( 'Delete this item', 'profile-builder' ) .'">'. apply_filters( 'wck_delete_button', __( 'Delete', 'wck' ), $meta) .'</a></td>';
550
  $list .= apply_filters( 'wck_add_content_after_columns', '', $list, $meta );
551
 
552
  $list .= "</tr> \r\n";
@@ -674,7 +674,7 @@ class Wordpress_Creation_Kit_PB{
674
 
675
  /* our own ajaxurl */
676
  function wck_print_ajax_url(){
677
- echo '<script type="text/javascript">var wppbWckAjaxurl = "'. apply_filters( 'wck_ajax_url', admin_url('admin-ajax.php') ) .'";</script>';
678
  }
679
 
680
 
@@ -734,7 +734,7 @@ class Wordpress_Creation_Kit_PB{
734
  if( !empty( $values ) ){
735
  foreach( $values as $key => $value ){
736
  if( array_key_exists( $key, $required_fields ) && apply_filters( "wck_required_test_{$meta}_{$key}", empty( $value ), $value, $id ) ){
737
- $required_message .= apply_filters( "wck_required_message_{$meta}_{$key}", __( "Please enter a value for the required field ", "wck" ) . "$required_fields[$key] \n", $value );
738
  $required_fields_with_errors[] = $key;
739
  }
740
  }
@@ -783,7 +783,7 @@ class Wordpress_Creation_Kit_PB{
783
  if( $return )
784
  return $return;
785
  else
786
- return array( 'error' => __( 'You are not allowed to do this.', 'wck' ), 'errorfields' => '' );
787
 
788
  }
789
 
@@ -800,7 +800,7 @@ class Wordpress_Creation_Kit_PB{
800
  else
801
  $id = '';
802
  if( !empty( $_POST['values'] ) && is_array( $_POST['values'] ) )
803
- $values = array_map( 'wppb_sanitize_value', $_POST['values'] );
804
  else
805
  $values = array();
806
 
@@ -883,7 +883,7 @@ class Wordpress_Creation_Kit_PB{
883
  else
884
  $element_id = 0;
885
  if( !empty( $_POST['values'] ) && is_array( $_POST['values']) )
886
- $values = array_map( 'wppb_sanitize_value', $_POST['values'] );
887
  else
888
  $values = array();
889
 
@@ -949,12 +949,12 @@ class Wordpress_Creation_Kit_PB{
949
  $id = absint($_POST['id']);
950
 
951
  ob_start();
952
- echo self::wck_output_meta_content($meta, $id, $this->args['meta_array']);
953
  do_action( "wck_refresh_list_{$meta}", $id );
954
  $entry_list = ob_get_clean();
955
 
956
  if( strpos( current_filter(), 'wp_ajax_wck_refresh_list') === 0 ){
957
- echo $entry_list;
958
  exit;
959
  }
960
  else{
@@ -971,7 +971,7 @@ class Wordpress_Creation_Kit_PB{
971
  $results = get_option( apply_filters( 'wck_option_meta' , $meta, $element_id ) );
972
 
973
  ob_start();
974
- echo self::wck_output_entry_content( $meta, $id, $this->args['meta_array'], $results, $element_id );
975
  do_action( "wck_refresh_entry_{$meta}", $id );
976
  $entry_content = ob_get_clean();
977
 
@@ -995,13 +995,13 @@ class Wordpress_Creation_Kit_PB{
995
  /* ajax to show the update form */
996
  function wck_show_update_form(){
997
  check_ajax_referer( "wck-edit-entry" );
998
- $meta = sanitize_text_field( $_POST['meta'] );
999
- $id = absint($_POST['id']);
1000
- $element_id = absint( $_POST['element_id'] );
1001
 
1002
  do_action( "wck_before_adding_form_{$meta}", $id, $element_id );
1003
 
1004
- echo self::mb_update_form($this->args['meta_array'], $meta, $id, $element_id);
1005
 
1006
  do_action( "wck_after_adding_form", $meta, $id, $element_id );
1007
  do_action( "wck_after_adding_form_{$meta}", $id, $element_id );
@@ -1201,9 +1201,9 @@ class Wordpress_Creation_Kit_PB{
1201
  if (isset($_POST[$single_field_name])) {
1202
  /* checkbox needs to be stored as string not array */
1203
  if( $meta_field['type'] == 'checkbox' )
1204
- $_POST[$single_field_name] = implode( ', ', $_POST[$single_field_name] );
1205
 
1206
- $meta_values[Wordpress_Creation_Kit_PB::wck_generate_slug( $meta_field['title'], $meta_field )] = wppb_sanitize_value( $_POST[$single_field_name] );
1207
  }
1208
  else
1209
  $meta_values[Wordpress_Creation_Kit_PB::wck_generate_slug( $meta_field['title'], $meta_field )] = '';
@@ -1229,7 +1229,7 @@ class Wordpress_Creation_Kit_PB{
1229
  if ($this->args['unserialize_fields']) {
1230
  if (!empty($this->args['meta_array'])) {
1231
  foreach ($this->args['meta_array'] as $meta_field) {
1232
- update_post_meta($post_id, $meta_name . '_' . Wordpress_Creation_Kit_PB::wck_generate_slug( $meta_field['title'], $meta_field ) . '_1', $_POST[$this->args['meta_name'] . '_' . Wordpress_Creation_Kit_PB::wck_generate_slug( $meta_field['title'], $meta_field )]);
1233
  }
1234
  }
1235
  }
@@ -1255,7 +1255,9 @@ class Wordpress_Creation_Kit_PB{
1255
  $error_messages .= $wck_single_forms_error['error'];
1256
  $error_fields .= implode( ',', $wck_single_forms_error['errorfields'] ).',';
1257
  }
1258
- wp_safe_redirect( add_query_arg( array( 'wckerrormessages' => base64_encode( urlencode( $error_messages ) ), 'wckerrorfields' => base64_encode( urlencode( $error_fields ) ) ), $_SERVER["HTTP_REFERER"] ) );
 
 
1259
  exit;
1260
  }
1261
  }
@@ -1277,7 +1279,7 @@ class Wordpress_Creation_Kit_PB{
1277
  /* mark the fields */
1278
  if( isset( $_GET['wckerrorfields'] ) && !empty( $_GET['wckerrorfields'] ) ){
1279
  echo '<script type="text/javascript">';
1280
- $field_names = explode( ',', sanitize_text_field( urldecode( base64_decode( $_GET['wckerrorfields'] ) ) ) );
1281
  if( !empty( $field_names ) ) {
1282
  foreach ($field_names as $field_name) {
1283
  echo "jQuery( '.field-label[for=\"" . esc_js($field_name) . "\"]' ).addClass('error');";
@@ -1288,7 +1290,7 @@ class Wordpress_Creation_Kit_PB{
1288
 
1289
  /* alert the error messages */
1290
  if( isset( $_GET['wckerrormessages'] ) ){
1291
- echo '<script type="text/javascript">alert("'. str_replace( '%0A', '\n', esc_js( urldecode( base64_decode( $_GET['wckerrormessages'] ) ) ) ) .'")</script>';
1292
  }
1293
  }
1294
 
@@ -1508,7 +1510,7 @@ class WCK_Page_Creator_PB{
1508
  //<![CDATA[
1509
  jQuery(document).ready( function($) {
1510
  $('.if-js-closed').removeClass('if-js-closed').addClass('closed');
1511
- postboxes.add_postbox_toggles( '<?php echo $this->hookname; ?>' );
1512
  });
1513
  //]]>
1514
  </script><?php
@@ -1523,12 +1525,12 @@ class WCK_Page_Creator_PB{
1523
  <div class="wrap">
1524
 
1525
  <?php if( !empty( $this->args['page_icon'] ) ): ?>
1526
- <div id="<?php echo $this->args['menu_slug'] ?>-icon" style="background: url('<?php echo $this->args['page_icon']; ?>') no-repeat;" class="icon32">
1527
  <br/>
1528
  </div>
1529
  <?php endif; ?>
1530
 
1531
- <h2><?php echo $this->args['page_title'] ?></h2>
1532
 
1533
  <div id="poststuff">
1534
 
189
 
190
  //output the entries only for repeater fields
191
  if( !$this->args['single'] )
192
+ echo self::wck_output_meta_content($metabox['args']['meta_name'], $post_id, $metabox['args']['meta_array']); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
193
  }
194
 
195
  /**
310
  $wck_update_container_css_class = apply_filters("wck_add_form_class_{$meta}", '', $meta, $results );
311
  }
312
  ?>
313
+ <div id="<?php echo esc_attr( $meta ) ?>" style="padding:10px 0;" class="wck-add-form<?php if( $this->args['single'] ) echo ' single' ?> <?php if( !empty( $wck_update_container_css_class ) ) echo esc_attr( $wck_update_container_css_class ); ?>">
314
  <ul class="mb-list-entry-fields">
315
  <?php
316
  $element_id = 0;
328
  }
329
  ?>
330
  <li class="row-<?php echo esc_attr( Wordpress_Creation_Kit_PB::wck_generate_slug( $details['title'], $details ) ) ?>">
331
+ <?php echo self::wck_output_form_field( $meta, $details, $value, $context, $post_id ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
332
  </li>
333
  <?php
334
 
340
  ?>
341
  <?php if( ! $this->args['single'] || $this->args['context'] == 'option' ){ ?>
342
  <li style="overflow:visible;" class="add-entry-button">
343
+ <a href="javascript:void(0)" class="button-primary" onclick="addMeta('<?php echo esc_js($meta); ?>', '<?php echo esc_js( $post_id ); ?>', '<?php echo esc_js($nonce); ?>')"><span><?php if( $this->args['single'] ) echo esc_html( apply_filters( 'wck_add_entry_button', __( 'Save', 'profile-builder' ), $meta, $post ) ); else echo esc_html( apply_filters( 'wck_add_entry_button', __( 'Add Entry', 'profile-builder' ), $meta, $post ) ); ?></span></a>
344
  </li>
345
  <?php }elseif($this->args['single'] && $this->args['context'] == 'post_meta' ){ ?>
346
+ <input type="hidden" name="_wckmetaname_<?php echo esc_attr( $meta ) ?>#wck" value="true">
347
  <?php } ?>
348
  </ul>
349
  </div>
350
+ <script>wck_set_to_widest( '.field-label', '<?php echo esc_js( $meta ) ?>' );</script>
351
  <?php
352
  }
353
 
444
 
445
 
446
  if( !empty( $results ) ){
447
+ $list .= apply_filters( 'wck_metabox_content_header_'.$meta , '<thead><tr><th class="wck-number">#</th><th class="wck-content">'. __( 'Content', 'profile-builder' ) .'</th><th class="wck-edit">'. __( 'Edit', 'profile-builder' ) .'</th><th class="wck-delete">'. __( 'Delete', 'profile-builder' ) .'</th></tr></thead>' );
448
  $i=0;
449
  foreach ($results as $result){
450
 
501
  if ( $details['slug'] === 'pble-label' ){
502
  $display_value = '<pre>' . self::wck_get_entry_field_select( $value, $details ) . '</pre>';
503
  } else {
504
+ $display_value = '<pre>' . __(self::wck_get_entry_field_select( $value, $details ), 'profile-builder') . '</pre>'; //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText
505
  }
506
  } else {
507
  $display_value = '<pre>'.htmlspecialchars( $value ) . '</pre>';
545
  }
546
 
547
  $list .= '</td>';
548
+ $list .= '<td style="text-align:center;vertical-align:middle;" class="wck-edit"><a href="javascript:void(0)" class="button-secondary" onclick=\'showUpdateFormMeta("'.esc_js($meta).'", "'.esc_js($id).'", "'.esc_js($element_id).'", "'.esc_js($edit_nonce).'")\' title="'. __( 'Edit this item', 'profile-builder' ) .'">'. apply_filters( 'wck_edit_button', __('Edit','profile-builder'), $meta ) .'</a></td>';
549
+ $list .= '<td style="text-align:center;vertical-align:middle;" class="wck-delete"><a href="javascript:void(0)" class="mbdelete" onclick=\'removeMeta("'.esc_js($meta).'", "'.esc_js($id).'", "'.esc_js($element_id).'", "'.esc_js($delete_nonce).'")\' title="'. __( 'Delete this item', 'profile-builder' ) .'">'. apply_filters( 'wck_delete_button', __( 'Delete', 'profile-builder' ), $meta) .'</a></td>';
550
  $list .= apply_filters( 'wck_add_content_after_columns', '', $list, $meta );
551
 
552
  $list .= "</tr> \r\n";
674
 
675
  /* our own ajaxurl */
676
  function wck_print_ajax_url(){
677
+ echo '<script type="text/javascript">var wppbWckAjaxurl = "'. esc_js( apply_filters( 'wck_ajax_url', admin_url('admin-ajax.php') ) ).'";</script>';
678
  }
679
 
680
 
734
  if( !empty( $values ) ){
735
  foreach( $values as $key => $value ){
736
  if( array_key_exists( $key, $required_fields ) && apply_filters( "wck_required_test_{$meta}_{$key}", empty( $value ), $value, $id ) ){
737
+ $required_message .= apply_filters( "wck_required_message_{$meta}_{$key}", __( "Please enter a value for the required field ", "profile-builder" ) . "$required_fields[$key] \n", $value );
738
  $required_fields_with_errors[] = $key;
739
  }
740
  }
783
  if( $return )
784
  return $return;
785
  else
786
+ return array( 'error' => __( 'You are not allowed to do this.', 'profile-builder' ), 'errorfields' => '' );
787
 
788
  }
789
 
800
  else
801
  $id = '';
802
  if( !empty( $_POST['values'] ) && is_array( $_POST['values'] ) )
803
+ $values = array_map( 'wppb_sanitize_value', $_POST['values'] );//phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
804
  else
805
  $values = array();
806
 
883
  else
884
  $element_id = 0;
885
  if( !empty( $_POST['values'] ) && is_array( $_POST['values']) )
886
+ $values = array_map( 'wppb_sanitize_value', $_POST['values'] ); //phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
887
  else
888
  $values = array();
889
 
949
  $id = absint($_POST['id']);
950
 
951
  ob_start();
952
+ echo self::wck_output_meta_content($meta, $id, $this->args['meta_array']); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
953
  do_action( "wck_refresh_list_{$meta}", $id );
954
  $entry_list = ob_get_clean();
955
 
956
  if( strpos( current_filter(), 'wp_ajax_wck_refresh_list') === 0 ){
957
+ echo $entry_list; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
958
  exit;
959
  }
960
  else{
971
  $results = get_option( apply_filters( 'wck_option_meta' , $meta, $element_id ) );
972
 
973
  ob_start();
974
+ echo self::wck_output_entry_content( $meta, $id, $this->args['meta_array'], $results, $element_id ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
975
  do_action( "wck_refresh_entry_{$meta}", $id );
976
  $entry_content = ob_get_clean();
977
 
995
  /* ajax to show the update form */
996
  function wck_show_update_form(){
997
  check_ajax_referer( "wck-edit-entry" );
998
+ $meta = isset( $_POST['meta'] ) ? sanitize_text_field( $_POST['meta'] ) : '';
999
+ $id = isset( $_POST['id'] ) ? absint( $_POST['id'] ) : '';
1000
+ $element_id = isset( $_POST['element_id'] ) ? absint( $_POST['element_id'] ) : '';
1001
 
1002
  do_action( "wck_before_adding_form_{$meta}", $id, $element_id );
1003
 
1004
+ echo self::mb_update_form($this->args['meta_array'], $meta, $id, $element_id);//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1005
 
1006
  do_action( "wck_after_adding_form", $meta, $id, $element_id );
1007
  do_action( "wck_after_adding_form_{$meta}", $id, $element_id );
1201
  if (isset($_POST[$single_field_name])) {
1202
  /* checkbox needs to be stored as string not array */
1203
  if( $meta_field['type'] == 'checkbox' )
1204
+ $_POST[$single_field_name] = implode( ', ', $_POST[$single_field_name] );//phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
1205
 
1206
+ $meta_values[Wordpress_Creation_Kit_PB::wck_generate_slug( $meta_field['title'], $meta_field )] = wppb_sanitize_value( $_POST[$single_field_name] ); //phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
1207
  }
1208
  else
1209
  $meta_values[Wordpress_Creation_Kit_PB::wck_generate_slug( $meta_field['title'], $meta_field )] = '';
1229
  if ($this->args['unserialize_fields']) {
1230
  if (!empty($this->args['meta_array'])) {
1231
  foreach ($this->args['meta_array'] as $meta_field) {
1232
+ update_post_meta($post_id, $meta_name . '_' . Wordpress_Creation_Kit_PB::wck_generate_slug( $meta_field['title'], $meta_field ) . '_1', array_map( 'wppb_sanitize_value', $_POST[$this->args['meta_name'] . '_' . Wordpress_Creation_Kit_PB::wck_generate_slug( $meta_field['title'], $meta_field )] ) ); //phpcs:ignore
1233
  }
1234
  }
1235
  }
1255
  $error_messages .= $wck_single_forms_error['error'];
1256
  $error_fields .= implode( ',', $wck_single_forms_error['errorfields'] ).',';
1257
  }
1258
+ if( isset( $_SERVER["HTTP_REFERER"] ) )
1259
+ wp_safe_redirect( add_query_arg( array( 'wckerrormessages' => base64_encode( urlencode( $error_messages ) ), 'wckerrorfields' => base64_encode( urlencode( $error_fields ) ) ), esc_url_raw( $_SERVER["HTTP_REFERER"] ) ) );
1260
+
1261
  exit;
1262
  }
1263
  }
1279
  /* mark the fields */
1280
  if( isset( $_GET['wckerrorfields'] ) && !empty( $_GET['wckerrorfields'] ) ){
1281
  echo '<script type="text/javascript">';
1282
+ $field_names = explode( ',', sanitize_text_field( urldecode( base64_decode( $_GET['wckerrorfields'] ) ) ) );//phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
1283
  if( !empty( $field_names ) ) {
1284
  foreach ($field_names as $field_name) {
1285
  echo "jQuery( '.field-label[for=\"" . esc_js($field_name) . "\"]' ).addClass('error');";
1290
 
1291
  /* alert the error messages */
1292
  if( isset( $_GET['wckerrormessages'] ) ){
1293
+ echo '<script type="text/javascript">alert("'. str_replace( '%0A', '\n', esc_js( urldecode( base64_decode( $_GET['wckerrormessages'] ) ) ) ) .'")</script>';//phpcs:ignore
1294
  }
1295
  }
1296
 
1510
  //<![CDATA[
1511
  jQuery(document).ready( function($) {
1512
  $('.if-js-closed').removeClass('if-js-closed').addClass('closed');
1513
+ postboxes.add_postbox_toggles( '<?php echo esc_js( $this->hookname ); ?>' );
1514
  });
1515
  //]]>
1516
  </script><?php
1525
  <div class="wrap">
1526
 
1527
  <?php if( !empty( $this->args['page_icon'] ) ): ?>
1528
+ <div id="<?php echo esc_attr( $this->args['menu_slug'] );//phpcs:ignore ?>-icon" style="background: url('<?php echo $this->args['page_icon']; ?>') no-repeat;" class="icon32">
1529
  <br/>
1530
  </div>
1531
  <?php endif; ?>
1532
 
1533
+ <h2><?php echo esc_html( $this->args['page_title'] ) ?></h2>
1534
 
1535
  <div id="poststuff">
1536
 
assets/misc/elementor/widgets/class-pb-widget-base.php CHANGED
@@ -33,7 +33,7 @@ abstract class PB_Elementor_Widget extends \Elementor\Widget_Base {
33
  $this->start_controls_section(
34
  $id_prefix.'_style_section',
35
  [
36
- 'label' => __( ($section_label === '' ? 'Unlabelled Field' : $section_label), 'profile-builder' ),
37
  'tab' => Controls_Manager::TAB_STYLE,
38
  'condition' => $condition,
39
  ]
@@ -51,7 +51,7 @@ abstract class PB_Elementor_Widget extends \Elementor\Widget_Base {
51
  $this->add_control(
52
  $id_prefix.'_target_'.$target,
53
  [
54
- 'label' => __($section['section_name'], 'profile-builder'),
55
  'type' => Controls_Manager::HEADING,
56
  ]
57
  );
@@ -243,6 +243,19 @@ abstract class PB_Elementor_Widget extends \Elementor\Widget_Base {
243
  return false;
244
  }
245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  /**
247
  * Render the four widget types.
248
  * @param $form_type
@@ -297,6 +310,7 @@ abstract class PB_Elementor_Widget extends \Elementor\Widget_Base {
297
  'logout_redirect_url' => $settings['pb_after_logout_redirect_url'],
298
  'register_url' => $settings['pb_register_url'],
299
  'lostpassword_url' => $settings['pb_lostpassword_url'],
 
300
  ];
301
  return wppb_front_end_login( $atts );
302
  case 'rp':
33
  $this->start_controls_section(
34
  $id_prefix.'_style_section',
35
  [
36
+ 'label' => $section_label === '' ? __( 'Unlabelled Field', 'profile-builder' ) : $section_label,
37
  'tab' => Controls_Manager::TAB_STYLE,
38
  'condition' => $condition,
39
  ]
51
  $this->add_control(
52
  $id_prefix.'_target_'.$target,
53
  [
54
+ 'label' => $section['section_name'],
55
  'type' => Controls_Manager::HEADING,
56
  ]
57
  );
243
  return false;
244
  }
245
 
246
+ /**
247
+ * Check if 2FA is active.
248
+ * @return bool
249
+ */
250
+ protected function is_2fa_active(){
251
+ $wppb_two_factor_authentication_settings = get_option( 'wppb_two_factor_authentication_settings', 'not_found' );
252
+ if( isset( $wppb_two_factor_authentication_settings['enabled'] ) && $wppb_two_factor_authentication_settings['enabled'] === 'yes' ) {
253
+ return true;
254
+ }
255
+
256
+ return false;
257
+ }
258
+
259
  /**
260
  * Render the four widget types.
261
  * @param $form_type
310
  'logout_redirect_url' => $settings['pb_after_logout_redirect_url'],
311
  'register_url' => $settings['pb_register_url'],
312
  'lostpassword_url' => $settings['pb_lostpassword_url'],
313
+ 'show_2fa_field' => $settings['pb_auth_field'],
314
  ];
315
  return wppb_front_end_login( $atts );
316
  case 'rp':
assets/misc/elementor/widgets/class-pb-widget-epf.php CHANGED
@@ -45,7 +45,7 @@ class PB_Elementor_Edit_Profile_Widget extends PB_Elementor_Register_Edit_Profil
45
  *
46
  */
47
  protected function _register_controls() {
48
- $this -> register_rf_epf_controls( 'epf' );
49
  }
50
 
51
  /**
45
  *
46
  */
47
  protected function _register_controls() {
48
+ $this->register_rf_epf_controls( 'epf' );
49
  }
50
 
51
  /**
assets/misc/elementor/widgets/class-pb-widget-l.php CHANGED
@@ -66,6 +66,20 @@ class PB_Elementor_Login_Widget extends PB_Elementor_Widget {
66
  )
67
  );
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  $this->end_controls_section();
70
 
71
  $this->start_controls_section(
@@ -134,6 +148,27 @@ class PB_Elementor_Login_Widget extends PB_Elementor_Widget {
134
  );
135
  unset($sections);
136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  // reCAPTCHA Style tab
138
  if( !$this->is_placeholder_labels_active() ) {
139
  include_once(WPPB_PLUGIN_DIR . '/front-end/default-fields/recaptcha/recaptcha.php');
@@ -214,7 +249,7 @@ class PB_Elementor_Login_Widget extends PB_Elementor_Widget {
214
  */
215
  protected function render() {
216
  $output = $this->render_widget( 'l' );
217
- echo $output;
218
 
219
  // check if the form is being displayed in the Elementor editor
220
  $is_elementor_edit_mode = false;
@@ -225,7 +260,7 @@ class PB_Elementor_Login_Widget extends PB_Elementor_Widget {
225
 
226
  if ($is_elementor_edit_mode && !empty($output) && $this->is_placeholder_labels_active()) {
227
  echo '
228
- <script id="wppb_elementor_login_pbpl_init">
229
  jQuery(".login-username input, .login-password input").each( function ( index, elem ) {
230
  var element_id = jQuery( elem ).attr( "id" );
231
  if( element_id && ( label = jQuery( elem ).parents( "#wppb-login-wrap" ).find( "label[for=" + element_id + "]" ) ).length === 1 ) {
66
  )
67
  );
68
 
69
+ if ( $this->is_2fa_active() ) {
70
+ $this->add_control(
71
+ 'pb_auth_field',
72
+ array(
73
+ 'label' => __('Show Authenticator Code Field', 'profile-builder'),
74
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
75
+ 'label_on' => __('Yes', 'profile-builder'),
76
+ 'label_off' => __('No', 'profile-builder'),
77
+ 'return_value' => 'yes',
78
+ 'default' => '',
79
+ )
80
+ );
81
+ }
82
+
83
  $this->end_controls_section();
84
 
85
  $this->start_controls_section(
148
  );
149
  unset($sections);
150
 
151
+ if ( $this->is_2fa_active() ) {
152
+ // Authenticator Code Style tab
153
+ if (!$this->is_placeholder_labels_active()) {
154
+ $sections['label'] = [
155
+ 'selector' => '#wppb-login-wrap .login-auth label[for=login_auth]',
156
+ 'section_name' => 'Label',
157
+ ];
158
+ }
159
+ $sections['input'] = [
160
+ 'selector' => '#wppb-login-wrap .login-auth input#login_auth',
161
+ 'section_name' => 'Input',
162
+ ];
163
+ $this->add_styling_control_group(
164
+ 'Authenticator Code',
165
+ '',
166
+ 'pb_user_auth_code',
167
+ $sections
168
+ );
169
+ unset($sections);
170
+ }
171
+
172
  // reCAPTCHA Style tab
173
  if( !$this->is_placeholder_labels_active() ) {
174
  include_once(WPPB_PLUGIN_DIR . '/front-end/default-fields/recaptcha/recaptcha.php');
249
  */
250
  protected function render() {
251
  $output = $this->render_widget( 'l' );
252
+ echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
253
 
254
  // check if the form is being displayed in the Elementor editor
255
  $is_elementor_edit_mode = false;
260
 
261
  if ($is_elementor_edit_mode && !empty($output) && $this->is_placeholder_labels_active()) {
262
  echo '
263
+ <script id="wppb_elementor_login_pbpl_init">
264
  jQuery(".login-username input, .login-password input").each( function ( index, elem ) {
265
  var element_id = jQuery( elem ).attr( "id" );
266
  if( element_id && ( label = jQuery( elem ).parents( "#wppb-login-wrap" ).find( "label[for=" + element_id + "]" ) ).length === 1 ) {
assets/misc/elementor/widgets/class-pb-widget-rf-epf.php CHANGED
@@ -176,8 +176,8 @@ abstract class PB_Elementor_Register_Edit_Profile_Widget extends PB_Elementor_Wi
176
  array(
177
  'label' => __('Automatic Login', 'profile-builder'),
178
  'type' => \Elementor\Controls_Manager::SWITCHER,
179
- 'label_on' => __('Yes', 'your-plugin'),
180
- 'label_off' => __('No', 'your-plugin'),
181
  'return_value' => 'yes',
182
  'default' => '',
183
  'condition' => [
@@ -208,7 +208,7 @@ abstract class PB_Elementor_Register_Edit_Profile_Widget extends PB_Elementor_Wi
208
  'pb_form_'.$form_slug.'_edit_link' ,
209
  array(
210
  'type' => \Elementor\Controls_Manager::RAW_HTML,
211
- 'raw' => __( 'Edit the Settings for this form <a href="'.esc_url( $edit_form_link ).'" target="_blank">here</a>' , 'profile-builder' ),
212
  'condition'=> [
213
  'pb_form_name' => [ '-'.$form_slug ],
214
  ],
@@ -279,6 +279,81 @@ abstract class PB_Elementor_Register_Edit_Profile_Widget extends PB_Elementor_Wi
279
  );
280
  }
281
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
282
  // Style controls for the 'Register'/'Update' button
283
  if ( $form_type === 'rf' ) {
284
  $this->add_styling_control_group(
@@ -792,7 +867,7 @@ abstract class PB_Elementor_Register_Edit_Profile_Widget extends PB_Elementor_Wi
792
  protected function render_widget($form_type ) {
793
 
794
  $output = parent::render_widget( $form_type );
795
- echo $output;
796
 
797
  // check if the form is being displayed in the Elementor editor
798
  $is_elementor_edit_mode = false;
@@ -807,17 +882,17 @@ abstract class PB_Elementor_Register_Edit_Profile_Widget extends PB_Elementor_Wi
807
  foreach ( $output->args['form_fields'] as $form_field ){
808
  switch ( $form_field['field'] ){
809
  case 'Select2':
810
- echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/select2/select2.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb_sl2_js"></script>';
811
  break;
812
  case 'WYSIWYG':
813
  echo '<script>jQuery(document.body).off( "click.add-media-button", ".insert-media" );</script>';
814
  break;
815
  case 'Select (CPT)':
816
- echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/select-cpt/select-cpt.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-select-cpt-script"></script>';
817
  break;
818
  case 'Phone':
819
- echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/phone/jquery.inputmask.bundle.min.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-jquery-inputmask"></script>';
820
- echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/phone/script-phone.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-phone-script"></script>';
821
  break;
822
  default:
823
  break;
@@ -830,11 +905,11 @@ abstract class PB_Elementor_Register_Edit_Profile_Widget extends PB_Elementor_Wi
830
  $ajaxNonce = wp_create_nonce( 'wppb_msf_frontend_nonce' );
831
  echo '
832
  <script id="wppb-msf-script-frontend-extra">
833
- var wppb_msf_data_frontend = {"ajaxUrl":"'.$ajaxUrl.'","ajaxNonce":"'.$ajaxNonce.'"};
834
  </script>
835
  ';
836
  echo '
837
- <script src="'.WP_PLUGIN_URL.'/pb-add-on-multi-step-forms/assets/js/frontend-multi-step-forms.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-msf-script-frontend">
838
  </script>
839
  ';
840
 
176
  array(
177
  'label' => __('Automatic Login', 'profile-builder'),
178
  'type' => \Elementor\Controls_Manager::SWITCHER,
179
+ 'label_on' => __('Yes', 'profile-builder'),
180
+ 'label_off' => __('No', 'profile-builder'),
181
  'return_value' => 'yes',
182
  'default' => '',
183
  'condition' => [
208
  'pb_form_'.$form_slug.'_edit_link' ,
209
  array(
210
  'type' => \Elementor\Controls_Manager::RAW_HTML,
211
+ 'raw' => sprintf( __( 'Edit the Settings for this form %1$shere%2$s' , 'profile-builder' ), '<a href="'.esc_url( $edit_form_link ).'" target="_blank">', '</a>'),
212
  'condition'=> [
213
  'pb_form_name' => [ '-'.$form_slug ],
214
  ],
279
  );
280
  }
281
 
282
+ // Style controls for the 'Two-Factor Authentication' field group
283
+ if ( $form_type === 'epf' && $this->is_2fa_active() ) {
284
+ $this->add_styling_control_group(
285
+ 'Two-Factor Authentication',
286
+ '',
287
+ 'pb_edit_profile_' . $form_slug . '_2fa',
288
+ [
289
+ '2fa_heading' => [
290
+ 'selector' => '.wppb-2fa-fields .wppb_2fa_heading h4',
291
+ 'section_name' => 'Heading',
292
+ ],
293
+ '2fa_activate_label' => [
294
+ 'selector' => '.wppb-2fa-fields label[for=wppb_auth_enabled]',
295
+ 'section_name' => 'Activate Label',
296
+ ],
297
+ '2fa_activate_checkbox' => [
298
+ 'selector' => '.wppb-2fa-fields #wppb_auth_enabled',
299
+ 'section_name' => 'Activate Checkbox',
300
+ ],
301
+ '2fa_relaxed_label' => [
302
+ 'selector' => '.wppb-2fa-fields label[for=wppb_auth_relaxedmode]',
303
+ 'section_name' => 'Relaxed Mode Label',
304
+ ],
305
+ '2fa_relaxed_checkbox' => [
306
+ 'selector' => '.wppb-2fa-fields #wppb_auth_relaxedmode',
307
+ 'section_name' => 'Relaxed Mode Checkbox',
308
+ ],
309
+ '2fa_description_label' => [
310
+ 'selector' => '.wppb-2fa-fields label[for=wppb_auth_description]',
311
+ 'section_name' => 'Description Label',
312
+ ],
313
+ '2fa_description_input' => [
314
+ 'selector' => '.wppb-2fa-fields #wppb_auth_description',
315
+ 'section_name' => 'Description Input',
316
+ ],
317
+ '2fa_description_description' => [
318
+ 'selector' => '.wppb-2fa-fields .wppb-description-delimiter',
319
+ 'section_name' => 'Description Description',
320
+ ],
321
+ '2fa_secret_label' => [
322
+ 'selector' => '.wppb-2fa-fields label[for=wppb_auth_secret]',
323
+ 'section_name' => 'Secret Label',
324
+ ],
325
+ '2fa_secret_input' => [
326
+ 'selector' => '.wppb-2fa-fields #wppb_auth_secret',
327
+ 'section_name' => 'Secret Input',
328
+ ],
329
+ '2fa_new_secret_button' => [
330
+ 'selector' => '.wppb-2fa-fields #wppb_auth_secret_buttons #wppb_auth_newsecret',
331
+ 'section_name' => 'New Secret Button',
332
+ ],
333
+ '2fa_qr_code_button' => [
334
+ 'selector' => '.wppb-2fa-fields #wppb_auth_secret_buttons #wppb_show_qr',
335
+ 'section_name' => 'QR Code Button',
336
+ ],
337
+ '2fa_verify_label' => [
338
+ 'selector' => '.wppb-2fa-fields .wppb_auth_verify label[for=wppb_auth_passw]',
339
+ 'section_name' => 'Verify TOTP Label',
340
+ ],
341
+ '2fa_verify_input' => [
342
+ 'selector' => '.wppb-2fa-fields .wppb_auth_verify #wppb_auth_passw',
343
+ 'section_name' => 'Verify TOTP Input',
344
+ ],
345
+ '2fa_check_button' => [
346
+ 'selector' => '.wppb-2fa-fields #wppb_auth_verify_buttons #wppb_auth_verify_button',
347
+ 'section_name' => 'Check Button',
348
+ ],
349
+ '2fa_check_indicator' => [
350
+ 'selector' => '.wppb-2fa-fields #wppb_auth_verify_buttons #wppb_auth_verify_indicator',
351
+ 'section_name' => 'Validity Indicator',
352
+ ],
353
+ ]
354
+ );
355
+ }
356
+
357
  // Style controls for the 'Register'/'Update' button
358
  if ( $form_type === 'rf' ) {
359
  $this->add_styling_control_group(
867
  protected function render_widget($form_type ) {
868
 
869
  $output = parent::render_widget( $form_type );
870
+ echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
871
 
872
  // check if the form is being displayed in the Elementor editor
873
  $is_elementor_edit_mode = false;
882
  foreach ( $output->args['form_fields'] as $form_field ){
883
  switch ( $form_field['field'] ){
884
  case 'Select2':
885
+ echo '<script src="'.esc_url( WPPB_PLUGIN_URL ).'front-end/extra-fields/select2/select2.js?ver='.esc_attr( PROFILE_BUILDER_VERSION ).'" id="wppb_sl2_js"></script>';
886
  break;
887
  case 'WYSIWYG':
888
  echo '<script>jQuery(document.body).off( "click.add-media-button", ".insert-media" );</script>';
889
  break;
890
  case 'Select (CPT)':
891
+ echo '<script src="'.esc_url( WPPB_PLUGIN_URL ).'front-end/extra-fields/select-cpt/select-cpt.js?ver='.esc_attr( PROFILE_BUILDER_VERSION ).'" id="wppb-select-cpt-script"></script>';
892
  break;
893
  case 'Phone':
894
+ echo '<script src="'.esc_url( WPPB_PLUGIN_URL ).'front-end/extra-fields/phone/jquery.inputmask.bundle.min.js?ver='.esc_attr( PROFILE_BUILDER_VERSION ).'" id="wppb-jquery-inputmask"></script>';
895
+ echo '<script src="'.esc_url( WPPB_PLUGIN_URL ).'front-end/extra-fields/phone/script-phone.js?ver='.esc_attr( PROFILE_BUILDER_VERSION ).'" id="wppb-phone-script"></script>';
896
  break;
897
  default:
898
  break;
905
  $ajaxNonce = wp_create_nonce( 'wppb_msf_frontend_nonce' );
906
  echo '
907
  <script id="wppb-msf-script-frontend-extra">
908
+ var wppb_msf_data_frontend = {"ajaxUrl":"'.esc_url( $ajaxUrl ).'","ajaxNonce":"'.esc_attr( $ajaxNonce ).'"};
909
  </script>
910
  ';
911
  echo '
912
+ <script src="'.esc_url( WP_PLUGIN_URL ).'/pb-add-on-multi-step-forms/assets/js/frontend-multi-step-forms.js?ver='.esc_attr( PROFILE_BUILDER_VERSION ).'" id="wppb-msf-script-frontend">
913
  </script>
914
  ';
915
 
assets/misc/elementor/widgets/class-pb-widget-rp.php CHANGED
@@ -128,7 +128,7 @@ class PB_Elementor_Recover_Password_Widget extends PB_Elementor_Widget {
128
  *
129
  */
130
  protected function render() {
131
- echo $this->render_widget( 'rp' );
132
  }
133
 
134
  }
128
  *
129
  */
130
  protected function render() {
131
+ echo $this->render_widget( 'rp' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
132
  }
133
 
134
  }
assets/misc/fallback-page.php CHANGED
@@ -8,25 +8,25 @@ include_once ( $path_to_wp_install_dir.'wp-load.php' );
8
 
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 ) : '' );
12
- $site_url = ( isset( $_GET['site_url'] ) ? filter_var (urldecode( $_GET['site_url'] ), FILTER_SANITIZE_STRING ) : '' );
13
- $message = ( isset( $_GET['message'] ) ? filter_var (urldecode( $_GET['message'] ), FILTER_SANITIZE_STRING ) : '' );
14
- ?>
15
-
16
  <html>
17
  <head>
18
  <style type="text/css">
19
  body {font-family:Arial; padding: 5px; margin-top:100px; text-align: center;}
20
  </style>
21
-
22
- <title><?php echo htmlspecialchars( $site_name, ENT_QUOTES ); ?></title>
23
  </head>
24
-
25
  <body id="wppb_content">
26
- <h1><?php echo htmlspecialchars( $site_name, ENT_QUOTES ); ?></h1>
27
-
28
- <?php echo '<p>'. htmlspecialchars( strip_tags( $message ) ). '</p>'; ?>
29
-
30
- <?php echo 'Click <a href="'. htmlspecialchars( $site_url, ENT_QUOTES ) .'">here</a> to return to the main site'; ?>
31
  </body>
32
  </html>
8
 
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
+
16
  <html>
17
  <head>
18
  <style type="text/css">
19
  body {font-family:Arial; padding: 5px; margin-top:100px; text-align: center;}
20
  </style>
21
+
22
+ <title><?php echo htmlspecialchars( $site_name, ENT_QUOTES ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></title>
23
  </head>
24
+
25
  <body id="wppb_content">
26
+ <h1><?php echo htmlspecialchars( $site_name, ENT_QUOTES ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></h1>
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>
assets/misc/plugin-compatibilities.php CHANGED
@@ -71,7 +71,7 @@
71
  $result = cptch_register_check(new WP_Error());
72
 
73
  if ($result->get_error_message('captcha_error'))
74
- echo '<p class="wppb-error">' . $result->get_error_message('captcha_error') . '</p>';
75
 
76
  }
77
 
71
  $result = cptch_register_check(new WP_Error());
72
 
73
  if ($result->get_error_message('captcha_error'))
74
+ echo '<p class="wppb-error">' . esc_html( $result->get_error_message('captcha_error') ) . '</p>';
75
 
76
  }
77
 
features/content-restriction/class-elementor-content-restriction.php CHANGED
@@ -278,7 +278,7 @@ class WPPB_Elementor {
278
  );
279
 
280
  $element->before_render();
281
- echo $message;
282
  $element->after_render();
283
  }
284
  }
278
  );
279
 
280
  $element->before_render();
281
+ echo $message;//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
282
  $element->after_render();
283
  }
284
  }
features/content-restriction/content-restriction-filtering.php CHANGED
@@ -216,7 +216,7 @@ function wppb_content_restriction_add_post_preview( $message, $content, $post, $
216
  $post_content = do_shortcode( $post_content );
217
 
218
  // Trim the preview
219
- $preview = wp_trim_words( $post_content, $length, apply_filters( 'wppb_content_restriction_post_preview_more', __( '&hellip;' ) ) );
220
  }
221
  }
222
 
@@ -281,7 +281,7 @@ if( function_exists( 'wc_get_page_id' ) ) {
281
  $product_content = ob_get_contents();
282
  ob_end_clean();
283
  remove_filter('the_content', 'wpautop');
284
- echo apply_filters( 'the_content', $product_content );
285
  add_filter('the_content', 'wpautop');
286
  }
287
  }
@@ -346,9 +346,9 @@ function wppb_comments_restrict_view( $comment, $args, $depth ) {
346
  if ( !$message_shown ) {
347
 
348
  if ( is_user_logged_in() )
349
- printf( '<p>%s</p>', apply_filters( 'wppb_comments_restriction_message_user_role', __( 'Comments are restricted for your user role.', 'profile-builder' ) ) );
350
  else
351
- printf( '<p>%s</p>', apply_filters( 'wppb_comments_restriction_message_logged_out', __( 'You must be logged in to view the comments.', 'profile-builder' ) ) );
352
 
353
  $message_shown = true;
354
  }
216
  $post_content = do_shortcode( $post_content );
217
 
218
  // Trim the preview
219
+ $preview = wp_trim_words( $post_content, $length, apply_filters( 'wppb_content_restriction_post_preview_more', __( '&hellip;', 'profile-builder' ) ) );
220
  }
221
  }
222
 
281
  $product_content = ob_get_contents();
282
  ob_end_clean();
283
  remove_filter('the_content', 'wpautop');
284
+ echo apply_filters( 'the_content', $product_content );//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
285
  add_filter('the_content', 'wpautop');
286
  }
287
  }
346
  if ( !$message_shown ) {
347
 
348
  if ( is_user_logged_in() )
349
+ printf( '<p>%s</p>', esc_html( apply_filters( 'wppb_comments_restriction_message_user_role', __( 'Comments are restricted for your user role.', 'profile-builder' ) ) ) );
350
  else
351
+ printf( '<p>%s</p>', esc_html( apply_filters( 'wppb_comments_restriction_message_logged_out', __( 'You must be logged in to view the comments.', 'profile-builder' ) ) ) );
352
 
353
  $message_shown = true;
354
  }
features/content-restriction/content-restriction-meta-box.php CHANGED
@@ -30,7 +30,7 @@ function wppb_content_restriction_meta_box_output( $post ) {
30
 
31
  ?>
32
  <div class="wppb-meta-box-fields-wrapper">
33
- <h4><?php echo __( 'Display Options', 'profile-builder' ); ?></h4>
34
 
35
  <div class="wppb-meta-box-field-wrapper">
36
  <?php
@@ -39,11 +39,11 @@ function wppb_content_restriction_meta_box_output( $post ) {
39
  $wppb_content_restrict_type = get_post_meta( $post->ID, 'wppb-content-restrict-type', true );
40
  ?>
41
 
42
- <label class="wppb-meta-box-field-label"><?php _e( 'Type of Restriction', 'profile-builder' ); ?></label>
43
 
44
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-type-default">
45
  <input type="radio" id="wppb-content-restrict-type-default" value="default" <?php if( empty( $wppb_content_restrict_type ) || $wppb_content_restrict_type == 'default' ) echo 'checked="checked"'; ?> name="wppb-content-restrict-type">
46
- <?php echo __( 'Settings Default', 'profile-builder' ); ?>
47
  </label>
48
 
49
  <?php foreach( $wppb_content_restrict_types as $type_slug => $type_label ) { ?>
@@ -55,7 +55,7 @@ function wppb_content_restriction_meta_box_output( $post ) {
55
  </div>
56
 
57
  <div class="wppb-meta-box-field-wrapper">
58
- <label class="wppb-meta-box-field-label"><?php _e( 'Display For', 'profile-builder' ); ?></label>
59
 
60
  <?php
61
  $wppb_roles = get_editable_roles();
@@ -65,7 +65,7 @@ function wppb_content_restriction_meta_box_output( $post ) {
65
 
66
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-user-status">
67
  <input type="checkbox" value="loggedin" <?php if( ! empty( $wppb_user_status ) && $wppb_user_status == 'loggedin' ) echo 'checked="checked"'; ?> name="wppb-content-restrict-user-status" id="wppb-content-restrict-user-status">
68
- <?php echo __( 'Logged In Users', 'profile-builder' ); ?>
69
  </label>
70
 
71
  <?php
@@ -74,70 +74,77 @@ function wppb_content_restriction_meta_box_output( $post ) {
74
  ?>
75
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-user-role-<?php echo esc_attr( $wppb_role ) ?>">
76
  <input type="checkbox" value="<?php echo esc_attr( $wppb_role ); ?>" <?php if( in_array( $wppb_role, $wppb_selected_roles ) ) echo 'checked="checked"'; ?> name="wppb-content-restrict-user-role[]" id="wppb-content-restrict-user-role-<?php echo esc_attr( $wppb_role ) ?>">
77
- <?php echo esc_html( $wppb_role_details['name'] ); ?>
 
 
 
 
 
 
 
78
  </label>
79
  <?php } ?>
80
 
81
  <p class="description" style="margin-top: 10px;">
82
- <?php printf( __( 'Checking only "Logged In Users" will show this %s to all logged in users, regardless of user role.', 'profile-builder' ), $post->post_type); ?>
83
  </p>
84
 
85
  <p class="description">
86
- <?php printf( __( 'Checking any user role will show this %s only to users that have one of those user roles assigned.', 'profile-builder' ), $post->post_type); ?>
87
  </p>
88
  <?php } ?>
89
  </div>
90
  </div>
91
 
92
  <div id="wppb-meta-box-fields-wrapper-restriction-redirect-url" class="wppb-meta-box-fields-wrapper <?php echo ( $wppb_content_restrict_type == 'redirect' ? 'wppb-content-restriction-enabled' : '' ); ?>">
93
- <h4><?php echo __( 'Restriction Redirect URL', 'profile-builder' ); ?></h4>
94
 
95
  <div class="wppb-meta-box-field-wrapper">
96
 
97
  <?php $wppb_custom_redirect_url_enabled = get_post_meta( $post->ID, 'wppb-content-restrict-custom-redirect-url-enabled', true ); ?>
98
 
99
- <label class="wppb-meta-box-field-label"><?php _e( 'Enable Custom Redirect URL', 'profile-builder' ); ?></label>
100
 
101
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-custom-redirect-url-enabled">
102
  <input type="checkbox" value="yes" <?php echo ( ! empty( $wppb_custom_redirect_url_enabled ) ? 'checked="checked"' : '' ); ?> name="wppb-content-restrict-custom-redirect-url-enabled" id="wppb-content-restrict-custom-redirect-url-enabled">
103
- <span class="description"><?php printf( __( 'Check if you wish to add a custom redirect URL for this %s.', 'profile-builder' ), $post->post_type ); ?></span>
104
  </label>
105
  </div>
106
 
107
  <div class="wppb-meta-box-field-wrapper wppb-meta-box-field-wrapper-custom-redirect-url <?php echo ( ! empty( $wppb_custom_redirect_url_enabled ) ? 'wppb-content-restriction-enabled' : '' ); ?>">
108
  <?php $wppb_custom_redirect_url = get_post_meta( $post->ID, 'wppb-content-restrict-custom-redirect-url', true ); ?>
109
 
110
- <label class="wppb-meta-box-field-label" for="wppb-content-restrict-custom-redirect-url"><?php _e( 'Custom Redirect URL', 'profile-builder' ); ?></label>
111
 
112
  <label class="wppb-meta-box-checkbox-label">
113
  <input type="text" value="<?php echo ( ! empty( $wppb_custom_redirect_url ) ? esc_url( $wppb_custom_redirect_url ) : '' ); ?>" name="wppb-content-restrict-custom-redirect-url" id="wppb-content-restrict-custom-redirect-url" class="widefat">
114
- <p class="description"><?php printf( __( 'Add a URL where you wish to redirect users that do not have access to this %s and try to access it directly.', 'profile-builder' ), $post->post_type ); ?></p>
115
  </label>
116
  </div>
117
  </div>
118
 
119
  <div id="wppb-meta-box-fields-wrapper-restriction-custom-messages" class="wppb-meta-box-fields-wrapper">
120
- <h4><?php echo __( 'Restriction Messages', 'profile-builder' ); ?></h4>
121
 
122
  <div class="wppb-meta-box-field-wrapper">
123
  <?php
124
  $wppb_custom_messages_enabled = get_post_meta( $post->ID, 'wppb-content-restrict-messages-enabled', true );
125
  ?>
126
- <label class="wppb-meta-box-field-label"><?php _e( 'Enable Custom Messages', 'profile-builder' ); ?></label>
127
 
128
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-messages-enabled">
129
  <input type="checkbox" value="yes" <?php echo ( ! empty( $wppb_custom_messages_enabled ) ? 'checked="checked"' : '' ); ?> name="wppb-content-restrict-messages-enabled" id="wppb-content-restrict-messages-enabled">
130
- <span class="description"><?php printf( __( 'Check if you wish to add custom messages for this %s.', 'profile-builder' ), $post->post_type ); ?></span>
131
  </label>
132
  </div>
133
 
134
  <div class="wppb-meta-box-field-wrapper-custom-messages <?php echo ( ! empty( $wppb_custom_messages_enabled ) ? 'wppb-content-restriction-enabled' : '' ); ?>">
135
  <?php do_action( 'wppb_view_meta_box_content_restrict_restriction_messages_top', $post->ID ); ?>
136
 
137
- <p><strong><?php _e( 'Messages for logged-out users', 'profile-builder' ); ?></strong></p>
138
  <?php wp_editor( get_post_meta( $post->ID, 'wppb-content-restrict-message-logged_out', true ), 'wppb-content-restrict-message-logged_out', array( 'textarea_name' => 'wppb-content-restrict-message-logged_out', 'editor_height' => 200 ) ); ?>
139
 
140
- <p><strong><?php _e( 'Messages for logged-in users', 'profile-builder' ); ?></strong></p>
141
  <?php wp_editor( get_post_meta( $post->ID, 'wppb-content-restrict-message-logged_in', true ), 'wppb-content-restrict-message-logged_in', array( 'textarea_name' => 'wppb-content-restrict-message-logged_in', 'editor_height' => 200 ) ); ?>
142
  </div>
143
  </div>
@@ -149,7 +156,7 @@ function wppb_content_restriction_meta_box_output( $post ) {
149
 
150
  function wppb_content_restriction_save_data( $post_id ) {
151
 
152
- if( empty( $_POST['wppb_content_restriction_token'] ) || ! wp_verify_nonce( $_POST['wppb_content_restriction_token'], 'wppb_meta_box_single_content_restriction_nonce' ) ) {
153
  return;
154
  }
155
 
@@ -163,10 +170,11 @@ function wppb_content_restriction_save_data( $post_id ) {
163
  if( isset( $_POST['wppb-content-restrict-user-status'] ) && $_POST['wppb-content-restrict-user-status'] === 'loggedin' ) {
164
  delete_post_meta( $post_id, 'wppb-content-restrict-user-role' );
165
 
166
- if( isset( $_POST['wppb-content-restrict-user-role'] ) ) {
167
- foreach( $_POST['wppb-content-restrict-user-role'] as $user_role_id ) {
 
168
  if( ! empty( $user_role_id ) ) {
169
- add_post_meta( $post_id, 'wppb-content-restrict-user-role', sanitize_text_field( $user_role_id ) );
170
  }
171
  }
172
  }
30
 
31
  ?>
32
  <div class="wppb-meta-box-fields-wrapper">
33
+ <h4><?php echo esc_html__( 'Display Options', 'profile-builder' ); ?></h4>
34
 
35
  <div class="wppb-meta-box-field-wrapper">
36
  <?php
39
  $wppb_content_restrict_type = get_post_meta( $post->ID, 'wppb-content-restrict-type', true );
40
  ?>
41
 
42
+ <label class="wppb-meta-box-field-label"><?php esc_html_e( 'Type of Restriction', 'profile-builder' ); ?></label>
43
 
44
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-type-default">
45
  <input type="radio" id="wppb-content-restrict-type-default" value="default" <?php if( empty( $wppb_content_restrict_type ) || $wppb_content_restrict_type == 'default' ) echo 'checked="checked"'; ?> name="wppb-content-restrict-type">
46
+ <?php echo esc_html__( 'Settings Default', 'profile-builder' ); ?>
47
  </label>
48
 
49
  <?php foreach( $wppb_content_restrict_types as $type_slug => $type_label ) { ?>
55
  </div>
56
 
57
  <div class="wppb-meta-box-field-wrapper">
58
+ <label class="wppb-meta-box-field-label"><?php esc_html_e( 'Display For', 'profile-builder' ); ?></label>
59
 
60
  <?php
61
  $wppb_roles = get_editable_roles();
65
 
66
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-user-status">
67
  <input type="checkbox" value="loggedin" <?php if( ! empty( $wppb_user_status ) && $wppb_user_status == 'loggedin' ) echo 'checked="checked"'; ?> name="wppb-content-restrict-user-status" id="wppb-content-restrict-user-status">
68
+ <?php echo esc_html__( 'Logged In Users', 'profile-builder' ); ?>
69
  </label>
70
 
71
  <?php
74
  ?>
75
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-user-role-<?php echo esc_attr( $wppb_role ) ?>">
76
  <input type="checkbox" value="<?php echo esc_attr( $wppb_role ); ?>" <?php if( in_array( $wppb_role, $wppb_selected_roles ) ) echo 'checked="checked"'; ?> name="wppb-content-restrict-user-role[]" id="wppb-content-restrict-user-role-<?php echo esc_attr( $wppb_role ) ?>">
77
+ <?php
78
+ if( ! empty( $wppb_role_details['name'] ) ) {
79
+ echo esc_html( $wppb_role_details['name'] );
80
+ }
81
+ else {
82
+ echo esc_html( $wppb_role );
83
+ }
84
+ ?>
85
  </label>
86
  <?php } ?>
87
 
88
  <p class="description" style="margin-top: 10px;">
89
+ <?php echo esc_html( sprintf( __( 'Checking only "Logged In Users" will show this %s to all logged in users, regardless of user role.', 'profile-builder' ), $post->post_type) ); ?>
90
  </p>
91
 
92
  <p class="description">
93
+ <?php echo esc_html( sprintf( __( 'Checking any user role will show this %s only to users that have one of those user roles assigned.', 'profile-builder' ), $post->post_type) ); ?>
94
  </p>
95
  <?php } ?>
96
  </div>
97
  </div>
98
 
99
  <div id="wppb-meta-box-fields-wrapper-restriction-redirect-url" class="wppb-meta-box-fields-wrapper <?php echo ( $wppb_content_restrict_type == 'redirect' ? 'wppb-content-restriction-enabled' : '' ); ?>">
100
+ <h4><?php echo esc_html__( 'Restriction Redirect URL', 'profile-builder' ); ?></h4>
101
 
102
  <div class="wppb-meta-box-field-wrapper">
103
 
104
  <?php $wppb_custom_redirect_url_enabled = get_post_meta( $post->ID, 'wppb-content-restrict-custom-redirect-url-enabled', true ); ?>
105
 
106
+ <label class="wppb-meta-box-field-label"><?php esc_html_e( 'Enable Custom Redirect URL', 'profile-builder' ); ?></label>
107
 
108
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-custom-redirect-url-enabled">
109
  <input type="checkbox" value="yes" <?php echo ( ! empty( $wppb_custom_redirect_url_enabled ) ? 'checked="checked"' : '' ); ?> name="wppb-content-restrict-custom-redirect-url-enabled" id="wppb-content-restrict-custom-redirect-url-enabled">
110
+ <span class="description"><?php echo esc_html( sprintf( __( 'Check if you wish to add a custom redirect URL for this %s.', 'profile-builder' ), $post->post_type ) ); ?></span>
111
  </label>
112
  </div>
113
 
114
  <div class="wppb-meta-box-field-wrapper wppb-meta-box-field-wrapper-custom-redirect-url <?php echo ( ! empty( $wppb_custom_redirect_url_enabled ) ? 'wppb-content-restriction-enabled' : '' ); ?>">
115
  <?php $wppb_custom_redirect_url = get_post_meta( $post->ID, 'wppb-content-restrict-custom-redirect-url', true ); ?>
116
 
117
+ <label class="wppb-meta-box-field-label" for="wppb-content-restrict-custom-redirect-url"><?php esc_html_e( 'Custom Redirect URL', 'profile-builder' ); ?></label>
118
 
119
  <label class="wppb-meta-box-checkbox-label">
120
  <input type="text" value="<?php echo ( ! empty( $wppb_custom_redirect_url ) ? esc_url( $wppb_custom_redirect_url ) : '' ); ?>" name="wppb-content-restrict-custom-redirect-url" id="wppb-content-restrict-custom-redirect-url" class="widefat">
121
+ <p class="description"><?php echo esc_html( sprintf( __( 'Add a URL where you wish to redirect users that do not have access to this %s and try to access it directly.', 'profile-builder' ), $post->post_type ) ); ?></p>
122
  </label>
123
  </div>
124
  </div>
125
 
126
  <div id="wppb-meta-box-fields-wrapper-restriction-custom-messages" class="wppb-meta-box-fields-wrapper">
127
+ <h4><?php echo esc_html__( 'Restriction Messages', 'profile-builder' ); ?></h4>
128
 
129
  <div class="wppb-meta-box-field-wrapper">
130
  <?php
131
  $wppb_custom_messages_enabled = get_post_meta( $post->ID, 'wppb-content-restrict-messages-enabled', true );
132
  ?>
133
+ <label class="wppb-meta-box-field-label"><?php esc_html_e( 'Enable Custom Messages', 'profile-builder' ); ?></label>
134
 
135
  <label class="wppb-meta-box-checkbox-label" for="wppb-content-restrict-messages-enabled">
136
  <input type="checkbox" value="yes" <?php echo ( ! empty( $wppb_custom_messages_enabled ) ? 'checked="checked"' : '' ); ?> name="wppb-content-restrict-messages-enabled" id="wppb-content-restrict-messages-enabled">
137
+ <span class="description"><?php echo esc_html( sprintf( __( 'Check if you wish to add custom messages for this %s.', 'profile-builder' ), $post->post_type ) ); ?></span>
138
  </label>
139
  </div>
140
 
141
  <div class="wppb-meta-box-field-wrapper-custom-messages <?php echo ( ! empty( $wppb_custom_messages_enabled ) ? 'wppb-content-restriction-enabled' : '' ); ?>">
142
  <?php do_action( 'wppb_view_meta_box_content_restrict_restriction_messages_top', $post->ID ); ?>
143
 
144
+ <p><strong><?php esc_html_e( 'Messages for logged-out users', 'profile-builder' ); ?></strong></p>
145
  <?php wp_editor( get_post_meta( $post->ID, 'wppb-content-restrict-message-logged_out', true ), 'wppb-content-restrict-message-logged_out', array( 'textarea_name' => 'wppb-content-restrict-message-logged_out', 'editor_height' => 200 ) ); ?>
146
 
147
+ <p><strong><?php esc_html_e( 'Messages for logged-in users', 'profile-builder' ); ?></strong></p>
148
  <?php wp_editor( get_post_meta( $post->ID, 'wppb-content-restrict-message-logged_in', true ), 'wppb-content-restrict-message-logged_in', array( 'textarea_name' => 'wppb-content-restrict-message-logged_in', 'editor_height' => 200 ) ); ?>
149
  </div>
150
  </div>
156
 
157
  function wppb_content_restriction_save_data( $post_id ) {
158
 
159
+ if( empty( $_POST['wppb_content_restriction_token'] ) || ! wp_verify_nonce( sanitize_text_field( $_POST['wppb_content_restriction_token'] ), 'wppb_meta_box_single_content_restriction_nonce' ) ) {
160
  return;
161
  }
162
 
170
  if( isset( $_POST['wppb-content-restrict-user-status'] ) && $_POST['wppb-content-restrict-user-status'] === 'loggedin' ) {
171
  delete_post_meta( $post_id, 'wppb-content-restrict-user-role' );
172
 
173
+ if( isset( $_POST['wppb-content-restrict-user-role'] ) && is_array( $_POST['wppb-content-restrict-user-role'] ) ) {
174
+ $user_role_ids = array_map( 'sanitize_text_field', $_POST['wppb-content-restrict-user-role'] );
175
+ foreach( $user_role_ids as $user_role_id ) {
176
  if( ! empty( $user_role_id ) ) {
177
+ add_post_meta( $post_id, 'wppb-content-restrict-user-role', $user_role_id );
178
  }
179
  }
180
  }
features/content-restriction/content-restriction.php CHANGED
@@ -60,7 +60,7 @@ function wppb_content_restriction_content() {
60
 
61
  ?>
62
  <div class="wrap wppb-content-restriction-wrap">
63
- <h2><?php _e( 'Content Restriction Settings', 'profile-builder' ); ?></h2>
64
 
65
  <?php settings_errors(); ?>
66
 
@@ -82,58 +82,58 @@ function wppb_content_restriction_content() {
82
  }
83
  ?>
84
  <div class="wppb-restriction-fields-group">
85
- <label class="wppb-restriction-label" for="contentRestrictionSelect"><?php _e( 'Enable Content Restriction', 'profile-builder' ); ?></label>
86
  <div class="wppb-restriction-activated">
87
  <select id="contentRestrictionSelect" name="wppb_content_restriction_settings[contentRestriction]">
88
- <option value="no" <?php if( $content_restriction_activated == 'no' ) echo 'selected'; ?>><?php _e( 'No', 'profile-builder' ); ?></option>
89
- <option value="yes" <?php if( $content_restriction_activated == 'yes' ) echo 'selected'; ?>><?php _e( 'Yes', 'profile-builder' ); ?></option>
90
  </select>
91
- <p class="description"><?php _e( 'Activate Content Restriction', 'profile-builder' ); ?></p>
92
  </div>
93
  </div>
94
 
95
  <div class="wppb-restriction-fields-group">
96
- <label class="wppb-restriction-label"><?php _e( 'Type of Restriction', 'profile-builder' ); ?></label>
97
 
98
  <div class="wppb-restriction-type">
99
  <label for="wppb-content-restrict-type-message">
100
  <input type="radio" id="wppb-content-restrict-type-message" value="message" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' && $wppb_content_restriction_settings['restrict_type'] == 'message' ) ? 'checked="checked"' : '' ); ?> name="wppb_content_restriction_settings[restrict_type]">
101
- <?php _e( 'Message', 'profile-builder' ); ?>
102
  </label>
103
 
104
  <label for="wppb-content-restrict-type-redirect">
105
  <input type="radio" id="wppb-content-restrict-type-redirect" value="redirect" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' && $wppb_content_restriction_settings['restrict_type'] == 'redirect' ) ? 'checked="checked"' : '' ); ?> name="wppb_content_restriction_settings[restrict_type]">
106
- <?php _e( 'Redirect', 'profile-builder' ); ?>
107
  </label>
108
 
109
- <p class="description" style="margin-top: 10px;"><?php echo __( 'If you select "Message", the post\'s content will be protected by being replaced with a custom message.', 'profile-builder' ); ?></p>
110
- <p class="description"><?php echo __( 'If you select "Redirect", the post\'s content will be protected by redirecting the user to the URL you specify. The redirect happens only when accessing a single post. On archive pages the restriction message will be displayed, instead of the content.', 'profile-builder' ); ?></p>
111
  </div>
112
  </div>
113
 
114
  <div class="wppb-restriction-fields-group">
115
- <label class="wppb-restriction-label"><?php _e( 'Redirect URL', 'profile-builder' ); ?></label>
116
  <input type="text" class="widefat" name="wppb_content_restriction_settings[redirect_url]" value="<?php echo ( ( $wppb_content_restriction_settings != 'not_found' && ! empty( $wppb_content_restriction_settings['redirect_url'] ) ) ? esc_url( $wppb_content_restriction_settings['redirect_url'] ) : '' ); ?>" />
117
  </div>
118
 
119
  <div class="wppb-restriction-fields-group">
120
- <label class="wppb-restriction-label"><?php _e( 'Message for logged-out users', 'profile-builder' ); ?></label>
121
  <?php wp_editor( wppb_get_restriction_content_message( 'logged_out' ), 'message_logged_out', array( 'textarea_name' => 'wppb_content_restriction_settings[message_logged_out]', 'editor_height' => 250 ) ); ?>
122
  </div>
123
 
124
  <div class="wppb-restriction-fields-group">
125
- <label class="wppb-restriction-label"><?php _e( 'Message for logged-in users', 'profile-builder' ); ?></label>
126
  <?php wp_editor( wppb_get_restriction_content_message( 'logged_in' ), 'message_logged_in', array( 'textarea_name' => 'wppb_content_restriction_settings[message_logged_in]', 'editor_height' => 250 ) ); ?>
127
  </div>
128
 
129
  <div class="wppb-restriction-fields-group">
130
- <label class="wppb-restriction-label" for="restricted-posts-preview"><?php echo __( 'Restricted Posts Preview', 'profile-builder' ) ?></label>
131
 
132
  <div class="wppb-restriction-post-preview">
133
  <div>
134
  <label>
135
  <input type="radio" name="wppb_content_restriction_settings[post_preview]" value="none" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' ) && $wppb_content_restriction_settings['post_preview'] == 'none' ? 'checked' : '' ); ?> />
136
- <span><?php echo __( 'None', 'profile-builder' ); ?></span>
137
  </label>
138
  </div>
139
 
@@ -142,7 +142,7 @@ function wppb_content_restriction_content() {
142
  <input type="radio" name="wppb_content_restriction_settings[post_preview]" value="trim-content" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' ) && $wppb_content_restriction_settings['post_preview'] == 'trim-content' ? 'checked' : '' ); ?> />
143
 
144
  <span>
145
- <?php echo sprintf( __( 'Show the first %s words of the post\'s content', 'profile-builder' ), '<input name="wppb_content_restriction_settings[post_preview_length]" type="text" value="'. ( $wppb_content_restriction_settings != 'not_found' && ! empty( $wppb_content_restriction_settings['post_preview_length'] ) ? esc_attr( $wppb_content_restriction_settings['post_preview_length'] ) : 20 ) .'" style="width: 50px;" />' ); ?>
146
  </span>
147
  </label>
148
  </div>
@@ -150,11 +150,11 @@ function wppb_content_restriction_content() {
150
  <div>
151
  <label>
152
  <input type="radio" name="wppb_content_restriction_settings[post_preview]" value="more-tag" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' ) && $wppb_content_restriction_settings['post_preview'] == 'more-tag' ? 'checked' : '' ); ?> />
153
- <span><?php echo __( 'Show the content before the "more" tag', 'profile-builder' ); ?></span>
154
  </label>
155
  </div>
156
 
157
- <p class="description"><?php echo __( 'Show a portion of the restricted post to logged-out users or users that are not allowed to see it.', 'profile-builder' ); ?></p>
158
  </div>
159
  </div>
160
  </div>
60
 
61
  ?>
62
  <div class="wrap wppb-content-restriction-wrap">
63
+ <h2><?php esc_html_e( 'Content Restriction Settings', 'profile-builder' ); ?></h2>
64
 
65
  <?php settings_errors(); ?>
66
 
82
  }
83
  ?>
84
  <div class="wppb-restriction-fields-group">
85
+ <label class="wppb-restriction-label" for="contentRestrictionSelect"><?php esc_html_e( 'Enable Content Restriction', 'profile-builder' ); ?></label>
86
  <div class="wppb-restriction-activated">
87
  <select id="contentRestrictionSelect" name="wppb_content_restriction_settings[contentRestriction]">
88
+ <option value="no" <?php if( $content_restriction_activated == 'no' ) echo 'selected'; ?>><?php esc_html_e( 'No', 'profile-builder' ); ?></option>
89
+ <option value="yes" <?php if( $content_restriction_activated == 'yes' ) echo 'selected'; ?>><?php esc_html_e( 'Yes', 'profile-builder' ); ?></option>
90
  </select>
91
+ <p class="description"><?php esc_html_e( 'Activate Content Restriction', 'profile-builder' ); ?></p>
92
  </div>
93
  </div>
94
 
95
  <div class="wppb-restriction-fields-group">
96
+ <label class="wppb-restriction-label"><?php esc_html_e( 'Type of Restriction', 'profile-builder' ); ?></label>
97
 
98
  <div class="wppb-restriction-type">
99
  <label for="wppb-content-restrict-type-message">
100
  <input type="radio" id="wppb-content-restrict-type-message" value="message" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' && $wppb_content_restriction_settings['restrict_type'] == 'message' ) ? 'checked="checked"' : '' ); ?> name="wppb_content_restriction_settings[restrict_type]">
101
+ <?php esc_html_e( 'Message', 'profile-builder' ); ?>
102
  </label>
103
 
104
  <label for="wppb-content-restrict-type-redirect">
105
  <input type="radio" id="wppb-content-restrict-type-redirect" value="redirect" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' && $wppb_content_restriction_settings['restrict_type'] == 'redirect' ) ? 'checked="checked"' : '' ); ?> name="wppb_content_restriction_settings[restrict_type]">
106
+ <?php esc_html_e( 'Redirect', 'profile-builder' ); ?>
107
  </label>
108
 
109
+ <p class="description" style="margin-top: 10px;"><?php echo esc_html__( 'If you select "Message", the post\'s content will be protected by being replaced with a custom message.', 'profile-builder' ); ?></p>
110
+ <p class="description"><?php echo esc_html__( 'If you select "Redirect", the post\'s content will be protected by redirecting the user to the URL you specify. The redirect happens only when accessing a single post. On archive pages the restriction message will be displayed, instead of the content.', 'profile-builder' ); ?></p>
111
  </div>
112
  </div>
113
 
114
  <div class="wppb-restriction-fields-group">
115
+ <label class="wppb-restriction-label"><?php esc_html_e( 'Redirect URL', 'profile-builder' ); ?></label>
116
  <input type="text" class="widefat" name="wppb_content_restriction_settings[redirect_url]" value="<?php echo ( ( $wppb_content_restriction_settings != 'not_found' && ! empty( $wppb_content_restriction_settings['redirect_url'] ) ) ? esc_url( $wppb_content_restriction_settings['redirect_url'] ) : '' ); ?>" />
117
  </div>
118
 
119
  <div class="wppb-restriction-fields-group">
120
+ <label class="wppb-restriction-label"><?php esc_html_e( 'Message for logged-out users', 'profile-builder' ); ?></label>
121
  <?php wp_editor( wppb_get_restriction_content_message( 'logged_out' ), 'message_logged_out', array( 'textarea_name' => 'wppb_content_restriction_settings[message_logged_out]', 'editor_height' => 250 ) ); ?>
122
  </div>
123
 
124
  <div class="wppb-restriction-fields-group">
125
+ <label class="wppb-restriction-label"><?php esc_html_e( 'Message for logged-in users', 'profile-builder' ); ?></label>
126
  <?php wp_editor( wppb_get_restriction_content_message( 'logged_in' ), 'message_logged_in', array( 'textarea_name' => 'wppb_content_restriction_settings[message_logged_in]', 'editor_height' => 250 ) ); ?>
127
  </div>
128
 
129
  <div class="wppb-restriction-fields-group">
130
+ <label class="wppb-restriction-label" for="restricted-posts-preview"><?php echo esc_html__( 'Restricted Posts Preview', 'profile-builder' ) ?></label>
131
 
132
  <div class="wppb-restriction-post-preview">
133
  <div>
134
  <label>
135
  <input type="radio" name="wppb_content_restriction_settings[post_preview]" value="none" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' ) && $wppb_content_restriction_settings['post_preview'] == 'none' ? 'checked' : '' ); ?> />
136
+ <span><?php echo esc_html__( 'None', 'profile-builder' ); ?></span>
137
  </label>
138
  </div>
139
 
142
  <input type="radio" name="wppb_content_restriction_settings[post_preview]" value="trim-content" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' ) && $wppb_content_restriction_settings['post_preview'] == 'trim-content' ? 'checked' : '' ); ?> />
143
 
144
  <span>
145
+ <?php echo sprintf( __( 'Show the first %s words of the post\'s content', 'profile-builder' ), '<input name="wppb_content_restriction_settings[post_preview_length]" type="text" value="'. ( $wppb_content_restriction_settings != 'not_found' && ! empty( $wppb_content_restriction_settings['post_preview_length'] ) ? esc_attr( $wppb_content_restriction_settings['post_preview_length'] ) : 20 ) .'" style="width: 50px;" />' ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
146
  </span>
147
  </label>
148
  </div>
150
  <div>
151
  <label>
152
  <input type="radio" name="wppb_content_restriction_settings[post_preview]" value="more-tag" <?php echo ( ( $wppb_content_restriction_settings != 'not_found' ) && $wppb_content_restriction_settings['post_preview'] == 'more-tag' ? 'checked' : '' ); ?> />
153
+ <span><?php echo esc_html__( 'Show the content before the "more" tag', 'profile-builder' ); ?></span>
154
  </label>
155
  </div>
156
 
157
+ <p class="description"><?php echo esc_html__( 'Show a portion of the restricted post to logged-out users or users that are not allowed to see it.', 'profile-builder' ); ?></p>
158
  </div>
159
  </div>
160
  </div>
features/email-confirmation/class-email-confirmation.php CHANGED
@@ -234,7 +234,7 @@ class wpp_list_unfonfirmed_email_table extends PB_WP_List_Table {
234
 
235
  function wppb_process_bulk_action_message( $message, $url ){
236
 
237
- echo '<script type=\'text/javascript\'>confirmECActionBulk( "'.$url.'", "'.$message.'" )</script>';
238
  }
239
 
240
  function wppb_process_bulk_action() {
@@ -243,34 +243,40 @@ class wpp_list_unfonfirmed_email_table extends PB_WP_List_Table {
243
 
244
  if ( current_user_can( apply_filters( 'wppb_email_confirmation_user_capability', 'manage_options' ) ) ){
245
  if( 'delete' === $this->current_action() ) {
246
- foreach ( $_GET['user'] as $user ){
247
- $sql_result = $wpdb->query( $wpdb->prepare( "DELETE FROM ".$wpdb->base_prefix."signups WHERE user_email = %s", sanitize_email( $user ) ) );
248
-
249
- if ( !$sql_result )
250
- $this->wppb_process_bulk_action_message( sprintf( __( "%s couldn't be deleted", "profile-builder" ), $result->user_login ), get_bloginfo('url').'/wp-admin/users.php?page=unconfirmed_emails' );
251
 
252
- }
 
 
 
 
253
 
254
  $this->wppb_process_bulk_action_message( __( 'All users have been successfully deleted', 'profile-builder' ), get_bloginfo('url').'/wp-admin/users.php?page=unconfirmed_emails' );
255
 
256
  }elseif( 'confirm' === $this->current_action() ) {
257
- foreach ( $_GET['user'] as $user ){
258
- $sql_result = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $wpdb->base_prefix . "signups WHERE user_email = %s", sanitize_email( $user ) ), ARRAY_A );
 
259
 
260
- if ( $sql_result )
261
- wppb_manual_activate_signup( $sql_result['activation_key'] );
262
- }
 
263
 
264
  $this->wppb_process_bulk_action_message( __( 'The selected users have been activated', 'profile-builder' ), get_bloginfo('url').'/wp-admin/users.php?page=unconfirmed_emails' );
265
 
266
  }elseif( 'resend' === $this->current_action() ) {
267
- foreach ( $_GET['user'] as $user ){
268
- $sql_result = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $wpdb->base_prefix . "signups WHERE user_email = %s", sanitize_email( $user ) ), ARRAY_A );
269
-
270
- if ( $sql_result )
271
- wppb_signup_user_notification( esc_sql( $sql_result['user_login'] ), esc_sql( $sql_result['user_email'] ), $sql_result['activation_key'], $sql_result['meta'] );
 
272
 
273
- }
 
274
 
275
  $this->wppb_process_bulk_action_message( __( 'The selected users have had their activation emails resent', 'profile-builder' ), get_bloginfo('url').'/wp-admin/users.php?page=unconfirmed_emails' );
276
  }
@@ -311,7 +317,7 @@ class wpp_list_unfonfirmed_email_table extends PB_WP_List_Table {
311
 
312
  /* determine offset */
313
  if( !empty( $_REQUEST['paged'] ) ){
314
- $offset = ( esc_attr( $_REQUEST['paged'] ) -1 ) * $per_page;
315
  }
316
  else
317
  $offset = 0;
@@ -334,7 +340,7 @@ class wpp_list_unfonfirmed_email_table extends PB_WP_List_Table {
334
  /* handle the WHERE clause */
335
  $where = "active = 0";
336
  if( isset( $_REQUEST['s'] ) && !empty( $_REQUEST['s'] ) ){
337
- $where .= " AND ( user_login LIKE '%".esc_sql($_REQUEST['s'])."%' OR user_email LIKE '%".esc_sql($_REQUEST['s'])."%' OR registered LIKE '%".esc_sql($_REQUEST['s'])."%' )";
338
  }
339
  /* since version 2.0.7 for multisite we add a 'registered_for_blog_id' meta in the registration process
340
  so we can display only the users registered on that blog. Also for backwards compatibility we display the users that don't have that meta at all */
@@ -455,17 +461,17 @@ function wppb_unconfirmed_email_address_custom_menu_page(){
455
  ?>
456
  <div class="wrap">
457
 
458
- <div class="wrap"><div id="icon-users" class="icon32"></div><h2><?php _e('Users with Unconfirmed Email Address', 'profile-builder');?></h2></div>
459
 
460
  <ul class="subsubsub">
461
- <li class="all"><a href="users.php"><?php _e('All Users', 'profile-builder');?></a></li>
462
  </ul>
463
 
464
  <!-- Forms are NOT created automatically, so you need to wrap the table in one to use features like bulk actions -->
465
  <form id="movies-filter" method="get">
466
  <!-- For plugins, we also need to ensure that the form posts back to our current page -->
467
- <?php $listTable->search_box( __( 'Search Users' ), 'user' ); ?>
468
- <input type="hidden" name="page" value="<?php echo esc_attr( $_REQUEST['page'] ); ?>" />
469
  <!-- Now we can render the completed list table -->
470
  <?php $listTable->display() ?>
471
  </form>
@@ -481,7 +487,7 @@ function wppb_ec_screen_options(){
481
  $option = 'per_page';
482
 
483
  $args = array(
484
- 'label' => __( 'Number of items per page:' ),//use the default wordpress domain
485
  'default' => 20,
486
  'option' => 'users_per_page' //this is the same option as the one on the normal User screen
487
  );
234
 
235
  function wppb_process_bulk_action_message( $message, $url ){
236
 
237
+ echo '<script type=\'text/javascript\'>confirmECActionBulk( "'.esc_js( $url ).'", "'.esc_js( $message ).'" )</script>';
238
  }
239
 
240
  function wppb_process_bulk_action() {
243
 
244
  if ( current_user_can( apply_filters( 'wppb_email_confirmation_user_capability', 'manage_options' ) ) ){
245
  if( 'delete' === $this->current_action() ) {
246
+ if( !empty( $_GET['user'] ) && is_array( $_GET['user'] ) ) {
247
+ foreach ( array_map( 'sanitize_email', $_GET['user'] ) as $user) {
248
+ $sql_result = $wpdb->query($wpdb->prepare("DELETE FROM " . $wpdb->base_prefix . "signups WHERE user_email = %s", $user));
 
 
249
 
250
+ if (!$sql_result)
251
+ $this->wppb_process_bulk_action_message(sprintf(__("%s couldn't be deleted", "profile-builder"), $result->user_login), get_bloginfo('url') . '/wp-admin/users.php?page=unconfirmed_emails');
252
+
253
+ }
254
+ }
255
 
256
  $this->wppb_process_bulk_action_message( __( 'All users have been successfully deleted', 'profile-builder' ), get_bloginfo('url').'/wp-admin/users.php?page=unconfirmed_emails' );
257
 
258
  }elseif( 'confirm' === $this->current_action() ) {
259
+ if( !empty( $_GET['user'] ) && is_array( $_GET['user'] ) ) {
260
+ foreach ( array_map( 'sanitize_email', $_GET['user'] ) as $user) {
261
+ $sql_result = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . $wpdb->base_prefix . "signups WHERE user_email = %s", $user), ARRAY_A);
262
 
263
+ if ($sql_result)
264
+ wppb_manual_activate_signup($sql_result['activation_key']);
265
+ }
266
+ }
267
 
268
  $this->wppb_process_bulk_action_message( __( 'The selected users have been activated', 'profile-builder' ), get_bloginfo('url').'/wp-admin/users.php?page=unconfirmed_emails' );
269
 
270
  }elseif( 'resend' === $this->current_action() ) {
271
+ if( !empty( $_GET['user'] ) && is_array( $_GET['user'] ) ) {
272
+ foreach ( array_map( 'sanitize_email', $_GET['user'] ) as $user ) {
273
+ $sql_result = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . $wpdb->base_prefix . "signups WHERE user_email = %s", $user), ARRAY_A);
274
+
275
+ if ($sql_result)
276
+ wppb_signup_user_notification(esc_sql($sql_result['user_login']), esc_sql($sql_result['user_email']), $sql_result['activation_key'], $sql_result['meta']);
277
 
278
+ }
279
+ }
280
 
281
  $this->wppb_process_bulk_action_message( __( 'The selected users have had their activation emails resent', 'profile-builder' ), get_bloginfo('url').'/wp-admin/users.php?page=unconfirmed_emails' );
282
  }
317
 
318
  /* determine offset */
319
  if( !empty( $_REQUEST['paged'] ) ){
320
+ $offset = ( sanitize_text_field( $_REQUEST['paged'] ) -1 ) * $per_page;
321
  }
322
  else
323
  $offset = 0;
340
  /* handle the WHERE clause */
341
  $where = "active = 0";
342
  if( isset( $_REQUEST['s'] ) && !empty( $_REQUEST['s'] ) ){
343
+ $where .= $wpdb->prepare( " AND ( user_login LIKE %s OR user_email LIKE %s OR registered LIKE %s )", '%' . sanitize_text_field( $_REQUEST['s'] ) . '%', '%' . sanitize_text_field( $_REQUEST['s'] ) . '%' , '%' . sanitize_text_field( $_REQUEST['s'] ) . '%' );
344
  }
345
  /* since version 2.0.7 for multisite we add a 'registered_for_blog_id' meta in the registration process
346
  so we can display only the users registered on that blog. Also for backwards compatibility we display the users that don't have that meta at all */
461
  ?>
462
  <div class="wrap">
463
 
464
+ <div class="wrap"><div id="icon-users" class="icon32"></div><h2><?php esc_html_e('Users with Unconfirmed Email Address', 'profile-builder');?></h2></div>
465
 
466
  <ul class="subsubsub">
467
+ <li class="all"><a href="users.php"><?php esc_html_e('All Users', 'profile-builder');?></a></li>
468
  </ul>
469
 
470
  <!-- Forms are NOT created automatically, so you need to wrap the table in one to use features like bulk actions -->
471
  <form id="movies-filter" method="get">
472
  <!-- For plugins, we also need to ensure that the form posts back to our current page -->
473
+ <?php $listTable->search_box( __( 'Search Users', 'profile-builder' ), 'user' ); ?>
474
+ <input type="hidden" name="page" value="<?php echo isset( $_REQUEST['page'] ) ? esc_attr( sanitize_text_field( $_REQUEST['page'] ) ) : ''; ?>" />
475
  <!-- Now we can render the completed list table -->
476
  <?php $listTable->display() ?>
477
  </form>
487
  $option = 'per_page';
488
 
489
  $args = array(
490
+ 'label' => __( 'Number of items per page:' , 'profile-builder' ),//use the default wordpress domain
491
  'default' => 20,
492
  'option' => 'users_per_page' //this is the same option as the one on the normal User screen
493
  );
features/email-confirmation/email-confirmation.php CHANGED
@@ -46,7 +46,7 @@ function wppb_add_pending_users_header_script(){
46
  <script type="text/javascript">
47
  jQuery(document).ready(function() {
48
  jQuery.post( ajaxurl , { action:"wppb_get_unconfirmed_email_number"}, function(response) {
49
- jQuery('.wrap ul.subsubsub').append('<span id="separatorID"> |</span> <li class="listUsersWithUncofirmedEmail"><a class="unconfirmedEmailUsers" href="?page=unconfirmed_emails"><?php _e('Users with Unconfirmed Email Address', 'profile-builder');?></a> <font id="unconfirmedEmailNo" color="grey">('+response.number+')</font></li>');
50
  });
51
  });
52
 
@@ -57,7 +57,7 @@ function wppb_add_pending_users_header_script(){
57
 
58
  // script to create a confirmation box for the user upon approving/unapproving a user
59
  function confirmECAction( URL, todo, user_email, actionText ) {
60
- actionText = '<?php _e( 'Do you want to', 'profile-builder' ); ?>' + ' ' + actionText;
61
 
62
  if (confirm(actionText)) {
63
  jQuery.post( ajaxurl , { action:"wppb_handle_email_confirmation_cases", URL:URL, todo:todo, user_email:user_email}, function(response) {
@@ -97,8 +97,8 @@ function wppb_get_unconfirmed_email_number(){
97
  function wppb_handle_email_confirmation_cases() {
98
  global $wpdb;
99
 
100
- $todo = sanitize_text_field($_POST['todo']);
101
- $user_email = sanitize_email($_POST['user_email']);
102
 
103
  if ( current_user_can( apply_filters( 'wppb_email_confirmation_user_capability', 'manage_options' ) ) )
104
  if ( ( $todo != '' ) && ( $user_email != '' ) ){
@@ -106,7 +106,7 @@ function wppb_handle_email_confirmation_cases() {
106
  $results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM " . $wpdb->base_prefix . "signups WHERE active = 0 AND user_email = %s", $user_email ) );
107
 
108
  if ( count( $results ) != 1 )
109
- die( __( "There was an error performing that action!", "profile-builder" ) );
110
 
111
  elseif ( $todo == 'delete' ){
112
  $sql_result = $wpdb->delete( $wpdb->base_prefix.'signups', array( 'user_login' => $results[0]->user_login, 'user_email' => $results[0]->user_email ) );
@@ -114,10 +114,10 @@ function wppb_handle_email_confirmation_cases() {
114
  die( 'ok' );
115
 
116
  else
117
- die( __( "The selected user couldn't be deleted", "profile-builder" ) );
118
 
119
  }elseif ( $todo == 'confirm' ){
120
- die( wppb_manual_activate_signup( $results[0]->activation_key ) );
121
 
122
  }elseif ( $todo == 'resend' ){
123
  $sql_result = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $wpdb->base_prefix . "signups WHERE user_login = %s AND user_email = %s", $results[0]->user_login, $results[0]->user_email ), ARRAY_A );
@@ -125,13 +125,13 @@ function wppb_handle_email_confirmation_cases() {
125
  if ( $sql_result ){
126
  wppb_signup_user_notification( trim( $sql_result['user_login'] ), trim( $sql_result['user_email'] ), $sql_result['activation_key'], $sql_result['meta'] );
127
 
128
- die( __( "Email notification resent to user", "profile-builder" ) );
129
  }
130
 
131
  }
132
  }
133
 
134
- die( __("You either don't have permission for that action or there was an error!", "profile-builder") );
135
  }
136
 
137
 
@@ -384,9 +384,6 @@ function wppb_signup_user_notification( $user, $user_email, $activation_key, $me
384
  $wppb_general_settings = get_option( 'wppb_general_settings' );
385
  $admin_email = get_site_option( 'admin_email' );
386
 
387
- if ( $admin_email == '' )
388
- $admin_email = 'support@' . $_SERVER['SERVER_NAME'];
389
-
390
  $from_name = apply_filters ( 'wppb_signup_user_notification_email_from_field', get_bloginfo( 'name' ) );
391
 
392
  //we don't use this anymore do we ?
@@ -415,7 +412,16 @@ function wppb_signup_user_notification( $user, $user_email, $activation_key, $me
415
  $registration_page_url = ( ( strpos( $post_content, '[wppb-register' ) !== false ) ? add_query_arg( array( 'activation_key' => $activation_key ), $permalink ) : add_query_arg( array( 'activation_key' => $activation_key ), get_bloginfo( 'url' ) ) );
416
  }
417
 
418
- $subject = sprintf( __( '[%1$s] Activate %2$s', 'profile-builder'), $from_name, $user );
 
 
 
 
 
 
 
 
 
419
  $subject = apply_filters( 'wppb_signup_user_notification_email_subject', $subject, $user_email, $user, $activation_key, $registration_page_url, $meta, $from_name, 'wppb_user_emailc_registr_w_email_confirm_email_subject' );
420
 
421
  $message = sprintf( __( "To activate your user, please click the following link:<br><br>%s%s%s<br><br>After you activate it you will receive yet *another email* with your login.", "profile-builder" ), '<a href="'.$registration_page_url.'">', $registration_page_url, '</a>' );
@@ -677,7 +683,7 @@ if( $wppb_general_settings != 'not_found' )
677
  if( !empty($wppb_general_settings['emailConfirmation'] ) && ( $wppb_general_settings['emailConfirmation'] == 'yes' ) ){
678
  if ( is_multisite() ){
679
  /* don't display on network admin */
680
- if( strpos($_SERVER['SCRIPT_NAME'], 'users.php') && !is_network_admin() ){ //global $pagenow doesn't seem to work
681
  add_action( 'admin_head', 'wppb_add_pending_users_header_script' );
682
  }
683
  }else{
46
  <script type="text/javascript">
47
  jQuery(document).ready(function() {
48
  jQuery.post( ajaxurl , { action:"wppb_get_unconfirmed_email_number"}, function(response) {
49
+ jQuery('.wrap ul.subsubsub').append('<span id="separatorID"> |</span> <li class="listUsersWithUncofirmedEmail"><a class="unconfirmedEmailUsers" href="?page=unconfirmed_emails"><?php esc_html_e('Users with Unconfirmed Email Address', 'profile-builder');?></a> <font id="unconfirmedEmailNo" color="grey">('+response.number+')</font></li>');
50
  });
51
  });
52
 
57
 
58
  // script to create a confirmation box for the user upon approving/unapproving a user
59
  function confirmECAction( URL, todo, user_email, actionText ) {
60
+ actionText = '<?php esc_html_e( 'Do you want to', 'profile-builder' ); ?>' + ' ' + actionText;
61
 
62
  if (confirm(actionText)) {
63
  jQuery.post( ajaxurl , { action:"wppb_handle_email_confirmation_cases", URL:URL, todo:todo, user_email:user_email}, function(response) {
97
  function wppb_handle_email_confirmation_cases() {
98
  global $wpdb;
99
 
100
+ $todo = isset( $_POST['todo'] ) ? sanitize_text_field( $_POST['todo'] ) : '';
101
+ $user_email = isset( $_POST['user_email'] ) ? sanitize_email($_POST['user_email']) : '';
102
 
103
  if ( current_user_can( apply_filters( 'wppb_email_confirmation_user_capability', 'manage_options' ) ) )
104
  if ( ( $todo != '' ) && ( $user_email != '' ) ){
106
  $results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM " . $wpdb->base_prefix . "signups WHERE active = 0 AND user_email = %s", $user_email ) );
107
 
108
  if ( count( $results ) != 1 )
109
+ die( esc_html__( "There was an error performing that action!", "profile-builder" ) );
110
 
111
  elseif ( $todo == 'delete' ){
112
  $sql_result = $wpdb->delete( $wpdb->base_prefix.'signups', array( 'user_login' => $results[0]->user_login, 'user_email' => $results[0]->user_email ) );
114
  die( 'ok' );
115
 
116
  else
117
+ die( esc_html__( "The selected user couldn't be deleted", "profile-builder" ) );
118
 
119
  }elseif ( $todo == 'confirm' ){
120
+ die( wppb_manual_activate_signup( $results[0]->activation_key ) );/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* escaped inside the function */
121
 
122
  }elseif ( $todo == 'resend' ){
123
  $sql_result = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $wpdb->base_prefix . "signups WHERE user_login = %s AND user_email = %s", $results[0]->user_login, $results[0]->user_email ), ARRAY_A );
125
  if ( $sql_result ){
126
  wppb_signup_user_notification( trim( $sql_result['user_login'] ), trim( $sql_result['user_email'] ), $sql_result['activation_key'], $sql_result['meta'] );
127
 
128
+ die( esc_html__( "Email notification resent to user", "profile-builder" ) );
129
  }
130
 
131
  }
132
  }
133
 
134
+ die( esc_html__("You either don't have permission for that action or there was an error!", "profile-builder") );
135
  }
136
 
137
 
384
  $wppb_general_settings = get_option( 'wppb_general_settings' );
385
  $admin_email = get_site_option( 'admin_email' );
386
 
 
 
 
387
  $from_name = apply_filters ( 'wppb_signup_user_notification_email_from_field', get_bloginfo( 'name' ) );
388
 
389
  //we don't use this anymore do we ?
412
  $registration_page_url = ( ( strpos( $post_content, '[wppb-register' ) !== false ) ? add_query_arg( array( 'activation_key' => $activation_key ), $permalink ) : add_query_arg( array( 'activation_key' => $activation_key ), get_bloginfo( 'url' ) ) );
413
  }
414
 
415
+ $wppb_generalSettings = get_option( 'wppb_general_settings' );
416
+
417
+ if( !empty( $wppb_generalSettings['loginWith'] ) && $wppb_generalSettings['loginWith'] == 'email' ) {
418
+ $display_username_email = $user_email;
419
+ }
420
+ else {
421
+ $display_username_email = $user;
422
+ }
423
+
424
+ $subject = sprintf( __( '[%1$s] Activate %2$s', 'profile-builder'), $from_name, $display_username_email );
425
  $subject = apply_filters( 'wppb_signup_user_notification_email_subject', $subject, $user_email, $user, $activation_key, $registration_page_url, $meta, $from_name, 'wppb_user_emailc_registr_w_email_confirm_email_subject' );
426
 
427
  $message = sprintf( __( "To activate your user, please click the following link:<br><br>%s%s%s<br><br>After you activate it you will receive yet *another email* with your login.", "profile-builder" ), '<a href="'.$registration_page_url.'">', $registration_page_url, '</a>' );
683
  if( !empty($wppb_general_settings['emailConfirmation'] ) && ( $wppb_general_settings['emailConfirmation'] == 'yes' ) ){
684
  if ( is_multisite() ){
685
  /* don't display on network admin */
686
+ if( isset($_SERVER['SCRIPT_NAME']) && strpos( sanitize_text_field( $_SERVER['SCRIPT_NAME'] ), 'users.php') && !is_network_admin() ){ //global $pagenow doesn't seem to work
687
  add_action( 'admin_head', 'wppb_add_pending_users_header_script' );
688
  }
689
  }else{
features/functions.php CHANGED
@@ -21,6 +21,7 @@ function wppb_register_settings() {
21
  register_setting( 'emailCustomizer', 'emailCustomizer' );
22
  register_setting( 'wppb_content_restriction_settings', 'wppb_content_restriction_settings' );
23
  register_setting( 'wppb_private_website_settings', 'wppb_private_website_settings' );
 
24
  }
25
 
26
 
@@ -76,7 +77,7 @@ function wppb_show_admin_bar($content){
76
 
77
  if(!function_exists('wppb_curpageurl')){
78
  function wppb_curpageurl(){
79
- $req_uri = $_SERVER['REQUEST_URI'];
80
 
81
  if( function_exists('wppb_get_abs_home') ) {
82
  $home_path = trim(parse_url(wppb_get_abs_home(), PHP_URL_PATH), '/');
@@ -256,7 +257,7 @@ function wppb_maybe_add_propper_html_tags_to_email( $message ){
256
  }
257
 
258
  function wppb_activate_account_check(){
259
- if ( ( isset( $_GET['activation_key'] ) ) && ( trim( $_GET['activation_key'] ) != '' ) ){
260
  global $post;
261
  $activation_key = sanitize_text_field( $_GET['activation_key'] );
262
 
@@ -280,8 +281,10 @@ add_action( 'template_redirect', 'wppb_activate_account_check' );
280
 
281
 
282
  function wppb_add_activation_message( $content ){
283
-
284
- return wppb_activate_signup( sanitize_text_field( $_GET['activation_key'] ) ) . $content;
 
 
285
  }
286
 
287
 
@@ -323,7 +326,7 @@ function wppb_print_cpt_script( $hook ){
323
 
324
  if ( $hook == 'profile-builder_page_manage-fields' ){
325
  wp_enqueue_script( 'wppb-manage-fields-live-change', WPPB_PLUGIN_URL . 'assets/js/jquery-manage-fields-live-change.js', array(), PROFILE_BUILDER_VERSION, true );
326
- wp_localize_script( 'wppb-manage-fields-live-change', 'wppb_fields_strings', array( 'gdpr_title' => __( 'GDPR Checkbox', 'profile-builder' ), 'gdpr_description' => __( 'I allow the website to collect and store the data I submit through this form.', 'profile-builder' ) ) );
327
 
328
  wp_enqueue_script( 'wppb-select2', WPPB_PLUGIN_URL . 'assets/js/select2/select2.min.js', array(), PROFILE_BUILDER_VERSION, true );
329
  wp_enqueue_style( 'wppb-select2-style', WPPB_PLUGIN_URL . 'assets/css/select2/select2.min.css', false, PROFILE_BUILDER_VERSION );
@@ -400,6 +403,7 @@ add_action( "admin_footer-profile-builder_page_profile-builder-content_restricti
400
  add_action( "admin_footer-profile-builder_page_admin-email-customizer", "wppb_make_setting_menu_item_highlighted" );
401
  add_action( "admin_footer-profile-builder_page_user-email-customizer", "wppb_make_setting_menu_item_highlighted" );
402
  add_action( "admin_footer-profile-builder_page_profile-builder-toolbox-settings", "wppb_make_setting_menu_item_highlighted" );
 
403
  function wppb_make_setting_menu_item_highlighted(){
404
  echo'<script type="text/javascript">
405
  jQuery(document).ready( function($) {
@@ -915,11 +919,11 @@ function wppb_enqueue_password_visibility_toggle() {
915
  if ("password" === input.attr("type")) {
916
  input.attr("type", "text");
917
  button.toggleClass("wppb-show-pw").toggleClass("wppb-hide-pw");
918
- icon.attr("src", "<?php echo WPPB_PLUGIN_URL; ?>/assets/images/eye-off-outline.svg");
919
  } else {
920
  input.attr("type", "password");
921
  button.toggleClass("wppb-show-pw").toggleClass("wppb-hide-pw");
922
- icon.attr("src", "<?php echo WPPB_PLUGIN_URL; ?>/assets/images/eye-outline.svg");
923
  }
924
  }
925
  }
@@ -1487,7 +1491,7 @@ function wppb_disable_feed() {
1487
  if( $wppb_private_website_settings != 'not_found' ) {
1488
  if ($wppb_private_website_settings['private_website'] == 'yes') {
1489
  if (!is_user_logged_in()) {
1490
- wp_die( sprintf( __('No feed available,please visit our <a href="%s">homepage</a>!', 'profile-builder' ), get_bloginfo('url') ) );
1491
  }
1492
  }
1493
  }
@@ -1527,7 +1531,7 @@ function wppb_disable_rest_api_authentication($result) {
1527
  if ( isset( $wppb_private_website_settings[ 'disable_rest_api' ] ) && $wppb_private_website_settings[ 'disable_rest_api' ] == 'no' ) {
1528
  return $result;
1529
  }
1530
- if (!is_user_logged_in() && $_SERVER['REQUEST_URI'] !== "/wp-json/jwt-auth/v1/token" && $_SERVER['REQUEST_URI'] !== "/wp-json/jwt-auth/v1/token/validate") {
1531
  return new WP_Error('rest_not_logged_in', __( 'You are not currently logged in.', 'profile-builder' ), array('status' => 401));
1532
  }
1533
  }
@@ -1565,7 +1569,7 @@ function wppb_hide_menus( $menu ){
1565
  add_filter( 'wp_privacy_personal_data_exporters', 'wppb_register_profile_builder_wp_exporter', 10 );
1566
  function wppb_register_profile_builder_wp_exporter( $exporters ) {
1567
  $exporters['profile-builder'] = array(
1568
- 'exporter_friendly_name' => __( 'Profile Builder' ),
1569
  'callback' => 'wppb_profile_builder_wp_exporter',
1570
  );
1571
  return $exporters;
@@ -1583,7 +1587,7 @@ function wppb_profile_builder_wp_exporter( $email_address, $page = 1 ) {
1583
 
1584
  $item_id = "user-meta-{$user->ID}";
1585
  $group_id = 'user-meta';
1586
- $group_label = __('User Meta');
1587
  $data = array();
1588
 
1589
  $all_meta_for_user = get_user_meta( $user->ID );
@@ -1634,7 +1638,7 @@ function wppb_gdpr_delete_user() {
1634
  $edited_user_id = absint($_GET['wppb_user']);
1635
  }
1636
 
1637
- if (isset($_REQUEST['wppb_action']) && $_REQUEST['wppb_action'] == 'wppb_delete_user' && wp_verify_nonce($_REQUEST['wppb_nonce'], 'wppb-user-own-account-deletion') && isset($_REQUEST['wppb_user']) && $edited_user_id == $_REQUEST['wppb_user']) {
1638
  require_once(ABSPATH . 'wp-admin/includes/user.php');
1639
  $user = new WP_User( absint( $_REQUEST['wppb_user'] ) );
1640
 
21
  register_setting( 'emailCustomizer', 'emailCustomizer' );
22
  register_setting( 'wppb_content_restriction_settings', 'wppb_content_restriction_settings' );
23
  register_setting( 'wppb_private_website_settings', 'wppb_private_website_settings' );
24
+ register_setting( 'wppb_two_factor_authentication_settings', 'wppb_two_factor_authentication_settings' );
25
  }
26
 
27
 
77
 
78
  if(!function_exists('wppb_curpageurl')){
79
  function wppb_curpageurl(){
80
+ $req_uri = isset( $_SERVER['REQUEST_URI'] ) ? esc_url_raw( $_SERVER['REQUEST_URI'] ) : '';
81
 
82
  if( function_exists('wppb_get_abs_home') ) {
83
  $home_path = trim(parse_url(wppb_get_abs_home(), PHP_URL_PATH), '/');
257
  }
258
 
259
  function wppb_activate_account_check(){
260
+ if ( ( isset( $_GET['activation_key'] ) ) && ( sanitize_text_field( $_GET['activation_key'] ) != '' ) ){
261
  global $post;
262
  $activation_key = sanitize_text_field( $_GET['activation_key'] );
263
 
281
 
282
 
283
  function wppb_add_activation_message( $content ){
284
+ if( isset( $_GET['activation_key'] ) )
285
+ return wppb_activate_signup( sanitize_text_field( $_GET['activation_key'] ) ) . $content;
286
+ else
287
+ return $content;
288
  }
289
 
290
 
326
 
327
  if ( $hook == 'profile-builder_page_manage-fields' ){
328
  wp_enqueue_script( 'wppb-manage-fields-live-change', WPPB_PLUGIN_URL . 'assets/js/jquery-manage-fields-live-change.js', array(), PROFILE_BUILDER_VERSION, true );
329
+ wp_localize_script( 'wppb-manage-fields-live-change', 'wppb_fields_strings', array( 'gdpr_title' => __( 'GDPR Checkbox', 'profile-builder' ), 'gdpr_description' => __( 'I allow the website to collect and store the data I submit through this form.', 'profile-builder' ), 'honeypot_title' => __( 'Honeypot', 'profile-builder' ) ) );
330
 
331
  wp_enqueue_script( 'wppb-select2', WPPB_PLUGIN_URL . 'assets/js/select2/select2.min.js', array(), PROFILE_BUILDER_VERSION, true );
332
  wp_enqueue_style( 'wppb-select2-style', WPPB_PLUGIN_URL . 'assets/css/select2/select2.min.css', false, PROFILE_BUILDER_VERSION );
403
  add_action( "admin_footer-profile-builder_page_admin-email-customizer", "wppb_make_setting_menu_item_highlighted" );
404
  add_action( "admin_footer-profile-builder_page_user-email-customizer", "wppb_make_setting_menu_item_highlighted" );
405
  add_action( "admin_footer-profile-builder_page_profile-builder-toolbox-settings", "wppb_make_setting_menu_item_highlighted" );
406
+ add_action( "admin_footer-profile-builder_page_profile-builder-two-factor-authentication", "wppb_make_setting_menu_item_highlighted" );
407
  function wppb_make_setting_menu_item_highlighted(){
408
  echo'<script type="text/javascript">
409
  jQuery(document).ready( function($) {
919
  if ("password" === input.attr("type")) {
920
  input.attr("type", "text");
921
  button.toggleClass("wppb-show-pw").toggleClass("wppb-hide-pw");
922
+ icon.attr("src", "<?php echo esc_attr( WPPB_PLUGIN_URL ); ?>/assets/images/eye-off-outline.svg");
923
  } else {
924
  input.attr("type", "password");
925
  button.toggleClass("wppb-show-pw").toggleClass("wppb-hide-pw");
926
+ icon.attr("src", "<?php echo esc_attr( WPPB_PLUGIN_URL ); ?>/assets/images/eye-outline.svg");
927
  }
928
  }
929
  }
1491
  if( $wppb_private_website_settings != 'not_found' ) {
1492
  if ($wppb_private_website_settings['private_website'] == 'yes') {
1493
  if (!is_user_logged_in()) {
1494
+ wp_die( wp_kses_post( sprintf( __('No feed available,please visit our <a href="%s">homepage</a>!', 'profile-builder' ), get_bloginfo('url') ) ) );
1495
  }
1496
  }
1497
  }
1531
  if ( isset( $wppb_private_website_settings[ 'disable_rest_api' ] ) && $wppb_private_website_settings[ 'disable_rest_api' ] == 'no' ) {
1532
  return $result;
1533
  }
1534
+ if (!is_user_logged_in() && isset( $_SERVER['REQUEST_URI'] ) && $_SERVER['REQUEST_URI'] !== "/wp-json/jwt-auth/v1/token" && $_SERVER['REQUEST_URI'] !== "/wp-json/jwt-auth/v1/token/validate") {
1535
  return new WP_Error('rest_not_logged_in', __( 'You are not currently logged in.', 'profile-builder' ), array('status' => 401));
1536
  }
1537
  }
1569
  add_filter( 'wp_privacy_personal_data_exporters', 'wppb_register_profile_builder_wp_exporter', 10 );
1570
  function wppb_register_profile_builder_wp_exporter( $exporters ) {
1571
  $exporters['profile-builder'] = array(
1572
+ 'exporter_friendly_name' => __( 'Profile Builder', 'profile-builder' ),
1573
  'callback' => 'wppb_profile_builder_wp_exporter',
1574
  );
1575
  return $exporters;
1587
 
1588
  $item_id = "user-meta-{$user->ID}";
1589
  $group_id = 'user-meta';
1590
+ $group_label = __('User Meta' , 'profile-builder' );
1591
  $data = array();
1592
 
1593
  $all_meta_for_user = get_user_meta( $user->ID );
1638
  $edited_user_id = absint($_GET['wppb_user']);
1639
  }
1640
 
1641
+ if (isset($_REQUEST['wppb_action']) && $_REQUEST['wppb_action'] == 'wppb_delete_user' && isset( $_REQUEST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_REQUEST['wppb_nonce'] ), 'wppb-user-own-account-deletion') && isset($_REQUEST['wppb_user']) && $edited_user_id == $_REQUEST['wppb_user']) {
1642
  require_once(ABSPATH . 'wp-admin/includes/user.php');
1643
  $user = new WP_User( absint( $_REQUEST['wppb_user'] ) );
1644
 
features/login-widget/login-widget.php CHANGED
@@ -26,16 +26,16 @@ class wppb_login_widget extends WP_Widget {
26
  $register = ( isset( $instance['register'] ) ? trim( $instance['register'] ) : '' );
27
  $lostpass = ( isset( $instance['lostpass'] ) ? trim( $instance['lostpass'] ) : '' );
28
 
29
- echo $before_widget;
30
 
31
  if ( ! empty( $title ) )
32
- echo $before_title . $title . $after_title;
33
 
34
  echo do_shortcode('[wppb-login display="false" register_url="'.$register.'" lostpassword_url="'.$lostpass.'" redirect_url="'.$redirect.'"]');
35
 
36
  do_action( 'wppb_login_widget_display', $args, $instance);
37
 
38
- echo $after_widget;
39
  }
40
 
41
  /**
@@ -62,23 +62,23 @@ class wppb_login_widget extends WP_Widget {
62
  $instance = wp_parse_args( (array) $instance, $defaults ); ?>
63
 
64
  <p>
65
- <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'profile-builder' ); ?></label>
66
- <input id="<?php echo $this->get_field_id( 'title' ); ?>" class="widefat" type="text" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="width:100%;" />
67
  </p>
68
 
69
  <p>
70
- <label for="<?php echo $this->get_field_id( 'redirect' ); ?>"><?php _e( 'After login redirect URL (optional):', 'profile-builder' ); ?></label>
71
- <input id="<?php echo $this->get_field_id( 'redirect' ); ?>" class="widefat wppb-widget-url-field" type="url" name="<?php echo $this->get_field_name( 'redirect' ); ?>" value="<?php echo $instance['redirect']; ?>" style="width:100%;" />
72
  </p>
73
 
74
  <p>
75
- <label for="<?php echo $this->get_field_id( 'register' ); ?>"><?php _e( 'Register page URL (optional):', 'profile-builder' ); ?></label>
76
- <input id="<?php echo $this->get_field_id( 'register' ); ?>" class="widefat wppb-widget-url-field" type="url" name="<?php echo $this->get_field_name( 'register' ); ?>" value="<?php echo $instance['register']; ?>" style="width:100%;" />
77
  </p>
78
 
79
  <p>
80
- <label for="<?php echo $this->get_field_id( 'lostpass' ); ?>"><?php _e( 'Password Recovery page URL (optional):', 'profile-builder' ); ?></label>
81
- <input id="<?php echo $this->get_field_id( 'lostpass' ); ?>" class="widefat wppb-widget-url-field" type="url" name="<?php echo $this->get_field_name( 'lostpass' ); ?>" value="<?php echo $instance['lostpass']; ?>" style="width:100%;" />
82
  </p>
83
 
84
  <?php
26
  $register = ( isset( $instance['register'] ) ? trim( $instance['register'] ) : '' );
27
  $lostpass = ( isset( $instance['lostpass'] ) ? trim( $instance['lostpass'] ) : '' );
28
 
29
+ echo wp_kses_post( $args['before_widget'] );
30
 
31
  if ( ! empty( $title ) )
32
+ echo wp_kses_post( $args['before_title'] . $title . $args['after_title'] );
33
 
34
  echo do_shortcode('[wppb-login display="false" register_url="'.$register.'" lostpassword_url="'.$lostpass.'" redirect_url="'.$redirect.'"]');
35
 
36
  do_action( 'wppb_login_widget_display', $args, $instance);
37
 
38
+ echo wp_kses_post( $args['after_widget'] );
39
  }
40
 
41
  /**
62
  $instance = wp_parse_args( (array) $instance, $defaults ); ?>
63
 
64
  <p>
65
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_html_e( 'Title:', 'profile-builder' ); ?></label>
66
+ <input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" class="widefat" type="text" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" value="<?php echo esc_attr( $instance['title'] ); ?>" style="width:100%;" />
67
  </p>
68
 
69
  <p>
70
+ <label for="<?php echo esc_attr( $this->get_field_id( 'redirect' ) ); ?>"><?php esc_html_e( 'After login redirect URL (optional):', 'profile-builder' ); ?></label>
71
+ <input id="<?php echo esc_attr( $this->get_field_id( 'redirect' ) ); ?>" class="widefat wppb-widget-url-field" type="url" name="<?php echo esc_attr( $this->get_field_name( 'redirect' ) ); ?>" value="<?php echo esc_attr( $instance['redirect'] ); ?>" style="width:100%;" />
72
  </p>
73
 
74
  <p>
75
+ <label for="<?php echo esc_attr( $this->get_field_id( 'register' ) ); ?>"><?php esc_html_e( 'Register page URL (optional):', 'profile-builder' ); ?></label>
76
+ <input id="<?php echo esc_attr( $this->get_field_id( 'register' ) ); ?>" class="widefat wppb-widget-url-field" type="url" name="<?php echo esc_attr( $this->get_field_name( 'register' ) ); ?>" value="<?php echo esc_attr( $instance['register'] ); ?>" style="width:100%;" />
77
  </p>
78
 
79
  <p>
80
+ <label for="<?php echo esc_attr( $this->get_field_id( 'lostpass' ) ); ?>"><?php esc_html_e( 'Password Recovery page URL (optional):', 'profile-builder' ); ?></label>
81
+ <input id="<?php echo esc_attr( $this->get_field_id( 'lostpass' ) ); ?>" class="widefat wppb-widget-url-field" type="url" name="<?php echo esc_attr( $this->get_field_name( 'lostpass' ) ); ?>" value="<?php echo esc_attr( $instance['lostpass'] ); ?>" style="width:100%;" />
82
  </p>
83
 
84
  <?php
features/roles-editor/assets/css/roles-editor.css CHANGED
@@ -318,6 +318,10 @@
318
  cursor: pointer;
319
  }
320
 
 
 
 
 
321
  @media screen and ( max-width: 1600px ) {
322
  .post-type-wppb-roles-editor #wppb-role-edit-table .wppb-role-edit-table-entry {
323
  width: 49%;
318
  cursor: pointer;
319
  }
320
 
321
+ .post-type-wppb-roles-editor #wpbody .wrap .wp-heading-inline, .post-type-wppb-roles-editor #wpbody .wrap .page-title-action {
322
+ display: inline-block !important;
323
+ }
324
+
325
  @media screen and ( max-width: 1600px ) {
326
  .post-type-wppb-roles-editor #wppb-role-edit-table .wppb-role-edit-table-entry {
327
  width: 49%;
features/roles-editor/roles-editor.php CHANGED
@@ -168,18 +168,18 @@ class WPPB_Roles_Editor {
168
  'current_user_role' => $current_user_role,
169
  'admin_capabilities' => $admin_capabilities,
170
  'hidden_capabilities' => $hidden_capabilities,
171
- 'default_role_text' => esc_html__( 'Default Role', 'profile_builder' ),
172
- 'your_role_text' => esc_html__( 'Your Role', 'profile_builder' ),
173
- 'role_name_required_error_text' => esc_html__( 'Role name is required.', 'profile_builder' ),
174
- 'no_capabilities_found_text' => esc_html__( 'No capabilities found.', 'profile_builder' ),
175
- 'select2_placeholder_text' => esc_html__( 'Select capabilities', 'profile_builder' ),
176
- 'delete_permanently_text' => esc_html__( 'Delete Permanently', 'profile_builder' ),
177
- 'capability_perm_delete_text' => esc_html__( "This will permanently delete the capability from your site and from every user role.\n\nIt can't be undone!", 'profile_builder' ),
178
- 'new_cap_update_title_text' => esc_html__( 'This capability is not saved until you click Update!', 'profile_builder' ),
179
- 'new_cap_publish_title_text' => esc_html__( 'This capability is not saved until you click Publish!', 'profile_builder' ),
180
  'delete_text' => esc_html__( 'Delete', 'profile-builder' ),
181
- 'cancel_text' => esc_html__( 'Cancel', 'profile_builder' ),
182
- 'add_new_capability_text' => esc_html__( 'Add New Capability', 'profile_builder' ),
183
  'capability_text' => esc_html__( 'Capability', 'profile-builder' ),
184
  'cap_no_delete_text' => esc_html__( 'You can\'t delete this capability from your role.', 'profile-builder' )
185
  );
@@ -211,7 +211,7 @@ class WPPB_Roles_Editor {
211
 
212
  check_ajax_referer( 'wppb-re-ajax-nonce', 'security' );
213
 
214
- $role = get_role( sanitize_text_field( $_POST['role'] ) );
215
 
216
  if( isset( $role ) && ! empty( $role->capabilities ) ) {
217
  $role_capabilities = $role->capabilities;
@@ -281,7 +281,7 @@ class WPPB_Roles_Editor {
281
  $screen = get_current_screen();
282
 
283
  if( $screen->post_type == 'wppb-roles-editor' ) {
284
- $title = esc_html__( 'Enter role name here', 'profile_builder' );
285
  }
286
 
287
  return $title;
@@ -298,11 +298,11 @@ class WPPB_Roles_Editor {
298
  2 => esc_html__( 'Custom field updated.', 'profile-builder' ),
299
  3 => esc_html__( 'Custom field deleted.', 'profile-builder' ),
300
  4 => esc_html__( 'Role updated.', 'profile-builder' ),
301
- 5 => isset( $_GET['revision'] ) ? sprintf( esc_html__( 'Role restored to revision from %s' ), wp_post_revision_title( (int) sanitize_text_field( $_GET['revision'] ), false ) ) : false,
302
  6 => esc_html__( 'Role created.', 'profile-builder' ),
303
  7 => esc_html__( 'Role saved.', 'profile-builder' ),
304
  8 => esc_html__( 'Role submitted.', 'profile-builder' ),
305
- 9 => sprintf( esc_html__( 'Role scheduled for: <strong>%1$s</strong>', 'profile-builder' ), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ) ),
306
  10 => esc_html__( 'Role draft updated.', 'profile-builder' ),
307
  );
308
 
@@ -380,7 +380,7 @@ class WPPB_Roles_Editor {
380
  $role = get_role( $role_slug );
381
 
382
  if( $column_name == 'role' ) {
383
- echo '<input readonly spellcheck="false" type="text" class="wppb-role-slug-input input" value="'. $role_slug .'" />';
384
  }
385
 
386
  if( $column_name == 'capabilities' && isset( $role ) ) {
@@ -403,7 +403,7 @@ class WPPB_Roles_Editor {
403
  $role_users_count = 0;
404
  }
405
 
406
- echo $role_users_count;
407
  }
408
  }
409
  }
@@ -411,7 +411,7 @@ class WPPB_Roles_Editor {
411
  function register_meta_boxes() {
412
 
413
  remove_meta_box( 'slugdiv', 'wppb-roles-editor', 'normal' );
414
- add_meta_box( 'wppb_edit_role_capabilities', esc_html__( 'Edit Role Capabilities', 'profile_builder' ), array( $this, 'edit_role_capabilities_meta_box_callback' ), 'wppb-roles-editor', 'normal', 'high' );
415
 
416
  }
417
 
@@ -422,61 +422,61 @@ class WPPB_Roles_Editor {
422
  <div id="wppb-role-edit-add-caps">
423
  <select style="width: 40%; display: none;" class="wppb-capabilities-select" multiple="multiple"></select>
424
 
425
- <input class="wppb-add-new-cap-input" type="text" placeholder="<?php esc_html_e( 'Add a new capability', 'profile_builder' ) ?>">
426
 
427
  <a href="javascript:void(0)" class="button-primary" onclick="wppb_re_add_capability()">
428
- <span><?php esc_html_e( 'Add Capability', 'profile_builder' ) ?></span>
429
  </a>
430
 
431
  <div id="wppb-add-new-cap-link">
432
- <a class="wppb-add-new-cap-link" href="javascript:void(0)"><?php esc_html_e( 'Add New Capability', 'profile_builder' ) ?></a>
433
  </div>
434
 
435
- <span id="wppb-add-capability-error"><?php esc_html_e( 'Please select an existing capability or add a new one!', 'profile_builder' ) ?></span>
436
- <span id="wppb-hidden-capability-error"><?php esc_html_e( 'You can\'t add a hidden capability!', 'profile_builder' ) ?></span>
437
- <span id="wppb-duplicate-capability-error"><?php esc_html_e( 'This capability already exists!', 'profile_builder' ) ?></span>
438
  </div>
439
 
440
  <div class="wppb-role-edit-caps">
441
  <ul id="wppb-capabilities-tabs">
442
  <li class="wppb-role-editor-tab-title wppb-role-editor-tab-active">
443
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-all" data-wppb-re-tab="all"><i class="dashicons dashicons-plus"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'All', 'profile_builder' ) ?></span></a>
444
  </li>
445
 
446
  <li class="wppb-role-editor-tab-title">
447
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-general" data-wppb-re-tab="general"><i class="dashicons dashicons-wordpress"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'General', 'profile_builder' ) ?></span></a>
448
  </li>
449
 
450
  <li class="wppb-role-editor-tab-title">
451
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-posts" data-wppb-re-tab="post"><i class="dashicons dashicons-admin-post"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Posts', 'profile_builder' ) ?></span></a>
452
  </li>
453
 
454
  <li class="wppb-role-editor-tab-title">
455
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-pages" data-wppb-re-tab="page"><i class="dashicons dashicons-admin-page"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Pages', 'profile_builder' ) ?></span></a>
456
  </li>
457
 
458
  <li class="wppb-role-editor-tab-title">
459
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-media" data-wppb-re-tab="attachment"><i class="dashicons dashicons-admin-media"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Media', 'profile_builder' ) ?></span></a>
460
  </li>
461
 
462
  <li class="wppb-role-editor-tab-title">
463
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-taxonomies" data-wppb-re-tab="taxonomies"><i class="dashicons dashicons-tag"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Taxonomies', 'profile_builder' ) ?></span></a>
464
  </li>
465
 
466
  <li class="wppb-role-editor-tab-title">
467
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-appearance" data-wppb-re-tab="appearance"><i class="dashicons dashicons-admin-appearance"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Appearance', 'profile_builder' ) ?></span></a>
468
  </li>
469
 
470
  <li class="wppb-role-editor-tab-title">
471
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-plugins" data-wppb-re-tab="plugins"><i class="dashicons dashicons-admin-plugins"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Plugins', 'profile_builder' ) ?></span></a>
472
  </li>
473
 
474
  <li class="wppb-role-editor-tab-title">
475
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-users" data-wppb-re-tab="users"><i class="dashicons dashicons-admin-users"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Users', 'profile_builder' ) ?></span></a>
476
  </li>
477
 
478
  <li class="wppb-role-editor-tab-title">
479
- <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-custom" data-wppb-re-tab="custom"><i class="dashicons dashicons-admin-generic"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Custom', 'profile_builder' ) ?></span></a>
480
  </li>
481
  </ul>
482
 
@@ -488,7 +488,7 @@ class WPPB_Roles_Editor {
488
  </div>
489
 
490
  <input type="hidden" id="wppb-role-slug-hidden" name="wppb-role-slug-hidden" value="">
491
- <input type="hidden" name="wppb-re-ajax-nonce" id="wppb-re-ajax-nonce" value="<?php echo wp_create_nonce( 'wppb-re-ajax-nonce' ) ?>" />
492
  </div>
493
  <?php
494
 
@@ -516,19 +516,19 @@ class WPPB_Roles_Editor {
516
 
517
  <div class="misc-pub-section misc-pub-section-users">
518
  <i class="icon-wppb-re-users"></i>
519
- <span><?php esc_html_e( 'Users', 'profile_builder' ) ?>: <strong>0</strong></span>
520
  </div>
521
 
522
  <div class="misc-pub-section misc-pub-section-capabilities">
523
  <i class="icon-wppb-re-caps"></i>
524
- <span><?php esc_html_e( 'Capabilities', 'profile_builder' ) ?>: <strong>0</strong></span>
525
  </div>
526
 
527
  <div class="misc-pub-section misc-pub-section-edit-slug">
528
  <i class="icon-wppb-re-slug"></i>
529
  <span>
530
- <label for="wppb-role-slug"><?php esc_html_e( 'Role Slug', 'profile_builder' ) ?>: </label>
531
- <input type="text" id="wppb-role-slug" value="<?php echo $current_screen->action == 'add' ? '' : $role_slug ?>" <?php echo $current_screen->action == 'add' ? '' : 'disabled'; ?>>
532
  </span>
533
  </div>
534
  <?php
@@ -579,7 +579,7 @@ class WPPB_Roles_Editor {
579
  }
580
 
581
  if( isset( $_POST['wppb-role-slug-hidden'] ) ) {
582
- $role_slug = $this->sanitize_role( trim( $_POST['wppb-role-slug-hidden'] ) );
583
 
584
  update_post_meta( $post_id, 'wppb_role_slug', $role_slug );
585
  }
@@ -594,19 +594,19 @@ class WPPB_Roles_Editor {
594
 
595
  check_ajax_referer( 'wppb-re-ajax-nonce', 'security' );
596
 
597
- $role_slug = $this->sanitize_role( $_POST['role'] );
598
 
599
  $role = get_role( $role_slug );
600
 
601
  if( $role ) {
602
  if( isset( $_POST['new_capabilities'] ) ) {
603
- foreach( $_POST['new_capabilities'] as $key => $value ) {
604
  $role->add_cap( sanitize_text_field( $key ) );
605
  }
606
  }
607
 
608
  if( isset( $_POST['capabilities_to_delete'] ) ) {
609
- foreach( $_POST['capabilities_to_delete'] as $key => $value ) {
610
  $role->remove_cap( sanitize_text_field( $key ) );
611
  }
612
  }
@@ -614,12 +614,12 @@ class WPPB_Roles_Editor {
614
  $capabilities = array();
615
 
616
  if( isset( $_POST['all_capabilities'] ) ) {
617
- foreach( $_POST['all_capabilities'] as $key => $value ) {
618
  $capabilities[sanitize_text_field( $key )] = true;
619
  };
620
  }
621
 
622
- $role_display_name = sanitize_text_field( $_POST['role_display_name'] );
623
 
624
  add_role( $role_slug, $role_display_name, $capabilities );
625
  }
@@ -819,18 +819,21 @@ class WPPB_Roles_Editor {
819
 
820
  global $wp_roles;
821
 
822
- foreach( $wp_roles->role_names as $role_slug => $role_display_name ) {
823
- $role = get_role( $role_slug );
824
- $role->remove_cap( sanitize_text_field( $_POST['capability'] ) );
825
- }
826
 
827
- $capabilities = get_option( 'wppb_roles_editor_capabilities', 'not_set' );
 
 
 
828
 
829
- if( $capabilities != 'not_set' && ( $key = array_search( sanitize_text_field( $_POST['capability'] ), $capabilities['custom']['capabilities'] ) ) !== false ) {
830
- unset( $capabilities['custom']['capabilities'][$key] );
831
- $capabilities['custom']['capabilities'] = array_values( $capabilities['custom']['capabilities'] );
832
 
833
- update_option( 'wppb_roles_editor_capabilities', $capabilities );
 
 
 
 
 
834
  }
835
 
836
  die();
@@ -900,7 +903,7 @@ class WPPB_Roles_Editor {
900
  'delete' => sprintf(
901
  '<a href="%1$s" onclick="return confirm( \'%2$s\' );">%3$s</a>',
902
  esc_url( $delete_link ),
903
- esc_html__( 'Are you sure?\nThis will permanently delete the role and cannot be undone!\nUsers assigned only on this role will be moved to the default role.', 'profile_builder' ),
904
  esc_html__( 'Delete', 'profile-builder' )
905
  )
906
  )
@@ -1082,7 +1085,7 @@ class WPPB_Roles_Editor {
1082
  $user_roles = apply_filters( 'wppb_default_user_roles', array( get_option( 'default_role' ) ) );
1083
 
1084
  if( isset( $_POST['createuser'] ) && ! empty( $_POST['wppb_re_user_roles'] ) ) {
1085
- $user_roles = array_map( array( $this, 'sanitize_role' ), $_POST['wppb_re_user_roles'] );
1086
  }
1087
 
1088
  wp_nonce_field( 'new_user_roles', 'wppb_re_new_user_roles_nonce' );
@@ -1145,7 +1148,7 @@ class WPPB_Roles_Editor {
1145
  return;
1146
  }
1147
 
1148
- if( ! isset( $_POST['wppb_re_new_user_roles_nonce'] ) || ! wp_verify_nonce( $_POST['wppb_re_new_user_roles_nonce'], 'new_user_roles' ) ) {
1149
  return;
1150
  }
1151
 
@@ -1159,7 +1162,7 @@ class WPPB_Roles_Editor {
1159
  return;
1160
  }
1161
 
1162
- if( ! isset( $_POST['wppb_re_new_user_roles_nonce'] ) || ! wp_verify_nonce( $_POST['wppb_re_new_user_roles_nonce'], 'new_user_roles' ) ) {
1163
  return;
1164
  }
1165
 
@@ -1175,7 +1178,7 @@ class WPPB_Roles_Editor {
1175
 
1176
  $old_roles = (array) $user->roles;
1177
 
1178
- $new_roles = array_map( array( $this, 'sanitize_role' ), $_POST['wppb_re_user_roles'] );
1179
 
1180
  foreach( $new_roles as $new_role ) {
1181
  if( ! in_array( $new_role, (array) $user->roles ) ) {
168
  'current_user_role' => $current_user_role,
169
  'admin_capabilities' => $admin_capabilities,
170
  'hidden_capabilities' => $hidden_capabilities,
171
+ 'default_role_text' => esc_html__( 'Default Role', 'profile-builder' ),
172
+ 'your_role_text' => esc_html__( 'Your Role', 'profile-builder' ),
173
+ 'role_name_required_error_text' => esc_html__( 'Role name is required.', 'profile-builder' ),
174
+ 'no_capabilities_found_text' => esc_html__( 'No capabilities found.', 'profile-builder' ),
175
+ 'select2_placeholder_text' => esc_html__( 'Select capabilities', 'profile-builder' ),
176
+ 'delete_permanently_text' => esc_html__( 'Delete Permanently', 'profile-builder' ),
177
+ 'capability_perm_delete_text' => esc_html__( "This will permanently delete the capability from your site and from every user role.\n\nIt can't be undone!", 'profile-builder' ),
178
+ 'new_cap_update_title_text' => esc_html__( 'This capability is not saved until you click Update!', 'profile-builder' ),
179
+ 'new_cap_publish_title_text' => esc_html__( 'This capability is not saved until you click Publish!', 'profile-builder' ),
180
  'delete_text' => esc_html__( 'Delete', 'profile-builder' ),
181
+ 'cancel_text' => esc_html__( 'Cancel', 'profile-builder' ),
182
+ 'add_new_capability_text' => esc_html__( 'Add New Capability', 'profile-builder' ),
183
  'capability_text' => esc_html__( 'Capability', 'profile-builder' ),
184
  'cap_no_delete_text' => esc_html__( 'You can\'t delete this capability from your role.', 'profile-builder' )
185
  );
211
 
212
  check_ajax_referer( 'wppb-re-ajax-nonce', 'security' );
213
 
214
+ $role = isset( $_POST['role'] ) ? get_role( sanitize_text_field( $_POST['role'] ) ) : null;
215
 
216
  if( isset( $role ) && ! empty( $role->capabilities ) ) {
217
  $role_capabilities = $role->capabilities;
281
  $screen = get_current_screen();
282
 
283
  if( $screen->post_type == 'wppb-roles-editor' ) {
284
+ $title = esc_html__( 'Enter role name here', 'profile-builder' );
285
  }
286
 
287
  return $title;
298
  2 => esc_html__( 'Custom field updated.', 'profile-builder' ),
299
  3 => esc_html__( 'Custom field deleted.', 'profile-builder' ),
300
  4 => esc_html__( 'Role updated.', 'profile-builder' ),
301
+ 5 => isset( $_GET['revision'] ) ? sprintf( esc_html__( 'Role restored to revision from %s', 'profile-builder' ), wp_post_revision_title( (int) sanitize_text_field( $_GET['revision'] ), false ) ) : false,
302
  6 => esc_html__( 'Role created.', 'profile-builder' ),
303
  7 => esc_html__( 'Role saved.', 'profile-builder' ),
304
  8 => esc_html__( 'Role submitted.', 'profile-builder' ),
305
+ 9 => sprintf( esc_html__( 'Role scheduled for: <strong>%1$s</strong>', 'profile-builder' ), date_i18n( __( 'M j, Y @ G:i', 'profile-builder' ), strtotime( $post->post_date ) ) ),
306
  10 => esc_html__( 'Role draft updated.', 'profile-builder' ),
307
  );
308
 
380
  $role = get_role( $role_slug );
381
 
382
  if( $column_name == 'role' ) {
383
+ echo '<input readonly spellcheck="false" type="text" class="wppb-role-slug-input input" value="'. esc_attr( $role_slug ) .'" />';
384
  }
385
 
386
  if( $column_name == 'capabilities' && isset( $role ) ) {
403
  $role_users_count = 0;
404
  }
405
 
406
+ echo esc_html( $role_users_count );
407
  }
408
  }
409
  }
411
  function register_meta_boxes() {
412
 
413
  remove_meta_box( 'slugdiv', 'wppb-roles-editor', 'normal' );
414
+ add_meta_box( 'wppb_edit_role_capabilities', esc_html__( 'Edit Role Capabilities', 'profile-builder' ), array( $this, 'edit_role_capabilities_meta_box_callback' ), 'wppb-roles-editor', 'normal', 'high' );
415
 
416
  }
417
 
422
  <div id="wppb-role-edit-add-caps">
423
  <select style="width: 40%; display: none;" class="wppb-capabilities-select" multiple="multiple"></select>
424
 
425
+ <input class="wppb-add-new-cap-input" type="text" placeholder="<?php esc_html_e( 'Add a new capability', 'profile-builder' ) ?>">
426
 
427
  <a href="javascript:void(0)" class="button-primary" onclick="wppb_re_add_capability()">
428
+ <span><?php esc_html_e( 'Add Capability', 'profile-builder' ) ?></span>
429
  </a>
430
 
431
  <div id="wppb-add-new-cap-link">
432
+ <a class="wppb-add-new-cap-link" href="javascript:void(0)"><?php esc_html_e( 'Add New Capability', 'profile-builder' ) ?></a>
433
  </div>
434
 
435
+ <span id="wppb-add-capability-error"><?php esc_html_e( 'Please select an existing capability or add a new one!', 'profile-builder' ) ?></span>
436
+ <span id="wppb-hidden-capability-error"><?php esc_html_e( 'You can\'t add a hidden capability!', 'profile-builder' ) ?></span>
437
+ <span id="wppb-duplicate-capability-error"><?php esc_html_e( 'This capability already exists!', 'profile-builder' ) ?></span>
438
  </div>
439
 
440
  <div class="wppb-role-edit-caps">
441
  <ul id="wppb-capabilities-tabs">
442
  <li class="wppb-role-editor-tab-title wppb-role-editor-tab-active">
443
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-all" data-wppb-re-tab="all"><i class="dashicons dashicons-plus"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'All', 'profile-builder' ) ?></span></a>
444
  </li>
445
 
446
  <li class="wppb-role-editor-tab-title">
447
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-general" data-wppb-re-tab="general"><i class="dashicons dashicons-wordpress"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'General', 'profile-builder' ) ?></span></a>
448
  </li>
449
 
450
  <li class="wppb-role-editor-tab-title">
451
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-posts" data-wppb-re-tab="post"><i class="dashicons dashicons-admin-post"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Posts', 'profile-builder' ) ?></span></a>
452
  </li>
453
 
454
  <li class="wppb-role-editor-tab-title">
455
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-pages" data-wppb-re-tab="page"><i class="dashicons dashicons-admin-page"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Pages', 'profile-builder' ) ?></span></a>
456
  </li>
457
 
458
  <li class="wppb-role-editor-tab-title">
459
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-media" data-wppb-re-tab="attachment"><i class="dashicons dashicons-admin-media"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Media', 'profile-builder' ) ?></span></a>
460
  </li>
461
 
462
  <li class="wppb-role-editor-tab-title">
463
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-taxonomies" data-wppb-re-tab="taxonomies"><i class="dashicons dashicons-tag"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Taxonomies', 'profile-builder' ) ?></span></a>
464
  </li>
465
 
466
  <li class="wppb-role-editor-tab-title">
467
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-appearance" data-wppb-re-tab="appearance"><i class="dashicons dashicons-admin-appearance"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Appearance', 'profile-builder' ) ?></span></a>
468
  </li>
469
 
470
  <li class="wppb-role-editor-tab-title">
471
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-plugins" data-wppb-re-tab="plugins"><i class="dashicons dashicons-admin-plugins"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Plugins', 'profile-builder' ) ?></span></a>
472
  </li>
473
 
474
  <li class="wppb-role-editor-tab-title">
475
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-users" data-wppb-re-tab="users"><i class="dashicons dashicons-admin-users"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Users', 'profile-builder' ) ?></span></a>
476
  </li>
477
 
478
  <li class="wppb-role-editor-tab-title">
479
+ <a href="javascript:void(0)" class="wppb-role-editor-tab wppb-role-editor-custom" data-wppb-re-tab="custom"><i class="dashicons dashicons-admin-generic"></i> <span class="wppb-role-editor-tab-label"><?php esc_html_e( 'Custom', 'profile-builder' ) ?></span></a>
480
  </li>
481
  </ul>
482
 
488
  </div>
489
 
490
  <input type="hidden" id="wppb-role-slug-hidden" name="wppb-role-slug-hidden" value="">
491
+ <input type="hidden" name="wppb-re-ajax-nonce" id="wppb-re-ajax-nonce" value="<?php echo esc_attr( wp_create_nonce( 'wppb-re-ajax-nonce' ) ) ?>" />
492
  </div>
493
  <?php
494
 
516
 
517
  <div class="misc-pub-section misc-pub-section-users">
518
  <i class="icon-wppb-re-users"></i>
519
+ <span><?php esc_html_e( 'Users', 'profile-builder' ) ?>: <strong>0</strong></span>
520
  </div>
521
 
522
  <div class="misc-pub-section misc-pub-section-capabilities">
523
  <i class="icon-wppb-re-caps"></i>
524
+ <span><?php esc_html_e( 'Capabilities', 'profile-builder' ) ?>: <strong>0</strong></span>
525
  </div>
526
 
527
  <div class="misc-pub-section misc-pub-section-edit-slug">
528
  <i class="icon-wppb-re-slug"></i>
529
  <span>
530
+ <label for="wppb-role-slug"><?php esc_html_e( 'Role Slug', 'profile-builder' ) ?>: </label>
531
+ <input type="text" id="wppb-role-slug" value="<?php echo $current_screen->action == 'add' ? '' : esc_attr( $role_slug ) ?>" <?php echo $current_screen->action == 'add' ? '' : 'disabled'; ?>>
532
  </span>
533
  </div>
534
  <?php
579
  }
580
 
581
  if( isset( $_POST['wppb-role-slug-hidden'] ) ) {
582
+ $role_slug = $this->sanitize_role( trim( $_POST['wppb-role-slug-hidden'] ) ); /* phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
583
 
584
  update_post_meta( $post_id, 'wppb_role_slug', $role_slug );
585
  }
594
 
595
  check_ajax_referer( 'wppb-re-ajax-nonce', 'security' );
596
 
597
+ $role_slug = isset( $_POST['role'] ) ? $this->sanitize_role( $_POST['role'] ) : ''; /* phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
598
 
599
  $role = get_role( $role_slug );
600
 
601
  if( $role ) {
602
  if( isset( $_POST['new_capabilities'] ) ) {
603
+ foreach( $_POST['new_capabilities'] as $key => $value ) { /* phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
604
  $role->add_cap( sanitize_text_field( $key ) );
605
  }
606
  }
607
 
608
  if( isset( $_POST['capabilities_to_delete'] ) ) {
609
+ foreach( $_POST['capabilities_to_delete'] as $key => $value ) { /* phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
610
  $role->remove_cap( sanitize_text_field( $key ) );
611
  }
612
  }
614
  $capabilities = array();
615
 
616
  if( isset( $_POST['all_capabilities'] ) ) {
617
+ foreach( $_POST['all_capabilities'] as $key => $value ) { /* phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
618
  $capabilities[sanitize_text_field( $key )] = true;
619
  };
620
  }
621
 
622
+ $role_display_name = isset( $_POST['role_display_name'] ) ? sanitize_text_field( $_POST['role_display_name'] ) : '';
623
 
624
  add_role( $role_slug, $role_display_name, $capabilities );
625
  }
819
 
820
  global $wp_roles;
821
 
822
+ if( !empty( $_POST['capability'] ) ) {
 
 
 
823
 
824
+ foreach ($wp_roles->role_names as $role_slug => $role_display_name) {
825
+ $role = get_role($role_slug);
826
+ $role->remove_cap(sanitize_text_field($_POST['capability']));
827
+ }
828
 
829
+ $capabilities = get_option('wppb_roles_editor_capabilities', 'not_set');
 
 
830
 
831
+ if ($capabilities != 'not_set' && ($key = array_search(sanitize_text_field($_POST['capability']), $capabilities['custom']['capabilities'])) !== false) {
832
+ unset($capabilities['custom']['capabilities'][$key]);
833
+ $capabilities['custom']['capabilities'] = array_values($capabilities['custom']['capabilities']);
834
+
835
+ update_option('wppb_roles_editor_capabilities', $capabilities);
836
+ }
837
  }
838
 
839
  die();
903
  'delete' => sprintf(
904
  '<a href="%1$s" onclick="return confirm( \'%2$s\' );">%3$s</a>',
905
  esc_url( $delete_link ),
906
+ esc_html__( 'Are you sure?\nThis will permanently delete the role and cannot be undone!\nUsers assigned only on this role will be moved to the default role.', 'profile-builder' ),
907
  esc_html__( 'Delete', 'profile-builder' )
908
  )
909
  )
1085
  $user_roles = apply_filters( 'wppb_default_user_roles', array( get_option( 'default_role' ) ) );
1086
 
1087
  if( isset( $_POST['createuser'] ) && ! empty( $_POST['wppb_re_user_roles'] ) ) {
1088
+ $user_roles = array_map( array( $this, 'sanitize_role' ), $_POST['wppb_re_user_roles'] );// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
1089
  }
1090
 
1091
  wp_nonce_field( 'new_user_roles', 'wppb_re_new_user_roles_nonce' );
1148
  return;
1149
  }
1150
 
1151
+ if( ! isset( $_POST['wppb_re_new_user_roles_nonce'] ) || ! wp_verify_nonce( sanitize_text_field( $_POST['wppb_re_new_user_roles_nonce'] ), 'new_user_roles' ) ) {
1152
  return;
1153
  }
1154
 
1162
  return;
1163
  }
1164
 
1165
+ if( ! isset( $_POST['wppb_re_new_user_roles_nonce'] ) || ! wp_verify_nonce( sanitize_text_field( $_POST['wppb_re_new_user_roles_nonce'] ), 'new_user_roles' ) ) {
1166
  return;
1167
  }
1168
 
1178
 
1179
  $old_roles = (array) $user->roles;
1180
 
1181
+ $new_roles = array_map( array( $this, 'sanitize_role' ), $_POST['wppb_re_user_roles'] );//phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
1182
 
1183
  foreach( $new_roles as $new_role ) {
1184
  if( ! in_array( $new_role, (array) $user->roles ) ) {
features/upgrades/upgrades.php CHANGED
@@ -164,7 +164,7 @@ function wppb_disable_old_add_ons_notice( $translated_text, $untranslated_text,
164
  function wppb_disable_old_add_ons_notice_multi() {
165
  ?>
166
  <div id="message" class="updated notice is-dismissible">
167
- <p><?php _e( 'This Profile Builder add-on has been migrated to the main plugin and is no longer used. You can delete it.', 'profile-builder' ); ?></p>
168
  </div>
169
  <?php
170
  }
164
  function wppb_disable_old_add_ons_notice_multi() {
165
  ?>
166
  <div id="message" class="updated notice is-dismissible">
167
+ <p><?php esc_html_e( 'This Profile Builder add-on has been migrated to the main plugin and is no longer used. You can delete it.', 'profile-builder' ); ?></p>
168
  </div>
169
  <?php
170
  }
front-end/class-formbuilder.php CHANGED
@@ -138,7 +138,7 @@ class Profile_Builder_Form_Creator{
138
  if( !empty( $role_in_arg->capabilities['manage_options'] ) || !empty( $role_in_arg->capabilities['remove_users'] ) ){
139
  if( !current_user_can( 'manage_options' ) || !current_user_can( 'remove_users' ) ){
140
  $this->args['role'] = get_option('default_role');
141
- echo apply_filters( 'wppb_register_pre_form_user_role_message', '<p class="alert wppb-error" id="wppb_form_general_message">'.__( 'The role of the created user set to the default role. Only an administrator can register a user with the role assigned to this form.', 'profile-builder').'</p>' );
142
  }
143
  }
144
  }
@@ -151,7 +151,7 @@ class Profile_Builder_Form_Creator{
151
 
152
  if ( !is_user_logged_in() ){
153
  if ( !$registration )
154
- echo apply_filters( 'wppb_register_pre_form_message', '<p class="alert" id="wppb_register_pre_form_message">'.esc_html(__( 'Only an administrator can add new users.', 'profile-builder')).'</p>' );
155
 
156
  elseif ( $registration ){
157
  $this->wppb_form_content( apply_filters( 'wppb_register_pre_form_message', '' ) );
@@ -184,13 +184,13 @@ class Profile_Builder_Form_Creator{
184
  $this->args['logout_redirect_url'] = wppb_get_redirect_url( $this->args['redirect_priority'], 'after_logout', $this->args['logout_redirect_url'], $userdata );
185
  $this->args['logout_redirect_url'] = apply_filters( 'wppb_after_logout_redirect_url', $this->args['logout_redirect_url'] );
186
 
187
- echo apply_filters( 'wppb_register_pre_form_message', '<p class="alert" id="wppb_register_pre_form_message">'.sprintf( __( "You are currently logged in as %1s. You don't need another account. %2s", 'profile-builder' ), '<a href="'.get_author_posts_url( $user_ID ).'" title="'.$display_name.'">'.$display_name.'</a>', '<a href="'.wp_logout_url( $this->args['logout_redirect_url'] ).'" title="'.__( 'Log out of this account.', 'profile-builder' ).'">'.__( 'Logout', 'profile-builder' ).' &raquo;</a>' ).'</p>', $user_ID );
188
  }
189
  }
190
 
191
  }elseif ( $this->args['form_type'] == 'edit_profile' ){
192
  if ( !is_user_logged_in() )
193
- echo apply_filters( 'wppb_edit_profile_user_not_logged_in_message', '<p class="warning" id="wppb_edit_profile_user_not_logged_in_message">'.esc_html(__( 'You must be logged in to edit your profile.', 'profile-builder' )) .'</p>' );
194
 
195
  elseif ( is_user_logged_in() )
196
  $this->wppb_form_content( apply_filters( 'wppb_edit_profile_logged_in_user_message', '' ) );
@@ -212,7 +212,14 @@ class Profile_Builder_Form_Creator{
212
  }
213
 
214
  /* get user id */
 
 
 
215
  $user = get_user_by( 'email', trim( sanitize_email( $_POST['email'] ) ) );
 
 
 
 
216
  $nonce = wp_create_nonce( 'autologin-'. $user->ID .'-'. (int)( time() / 60 ) );
217
 
218
  if ( wppb_get_admin_approval_option_value() === 'yes' ) {
@@ -291,7 +298,7 @@ class Profile_Builder_Form_Creator{
291
  }
292
 
293
  if( !$is_elementor_edit_mode && isset( $_REQUEST['action'], $_REQUEST['form_name'], $this->args['form_name'] ) && $_REQUEST['form_name'] === $this->args['form_name'] ) {
294
- if( ! isset( $_POST[$this->args['form_type'].'_'. $this->args['form_name'] .'_nonce_field'] ) || ! wp_verify_nonce( $_POST[$this->args['form_type'].'_'. $this->args['form_name'] .'_nonce_field'], 'wppb_verify_form_submission' ) ) {
295
  echo '<span class="wppb-form-error wppb-error">'. esc_html(__( 'You are not allowed to do this.', 'profile-builder' )) . '</span>';
296
  return;
297
  }
@@ -306,7 +313,9 @@ class Profile_Builder_Form_Creator{
306
  // we only have a $user_id on default registration (no email confirmation, no multisite)
307
  $user_id = $this->wppb_save_form_values( $_REQUEST );
308
 
309
- if( ( 'POST' == $_SERVER['REQUEST_METHOD'] ) && ( $_POST['action'] === $this->args['form_type'] ) ) {
 
 
310
 
311
  $form_message_tpl_start = apply_filters( 'wppb_form_message_tpl_start', '<p class="alert wppb-success" id="wppb_form_general_message">' );
312
  $form_message_tpl_end = apply_filters( 'wppb_form_message_tpl_end', '</p>' );
@@ -319,9 +328,9 @@ class Profile_Builder_Form_Creator{
319
  $user_role = NULL;
320
  }
321
 
322
- if( isset( $_POST['username'] ) && ( trim( $_POST['username'] ) != '' ) ) {
323
  $account_name = sanitize_user( $_POST['username'] );
324
- } elseif( isset( $_POST['email'] ) && ( trim( $_POST['email'] ) != '' ) ) {
325
  $account_name = sanitize_email( $_POST['email'] );
326
  }else{
327
  /* we are in the edit form with no username or email field */
@@ -350,20 +359,20 @@ class Profile_Builder_Form_Creator{
350
 
351
  switch( $account_management_settings ) {
352
  case 'ec-no_aa-no':
353
- $wppb_register_success_message = apply_filters( 'wppb_register_success_message', sprintf( __( "The account %1s has been successfully created!", 'profile-builder' ), $account_name ), $account_name );
354
  break;
355
  case 'ec-yes_aa-no':
356
- $wppb_register_success_message = apply_filters( 'wppb_register_success_message', sprintf( __( "Before you can access your account %1s, you need to confirm your email address. Please check your inbox and click the activation link.", 'profile-builder' ), $account_name ), $account_name );
357
  break;
358
  case 'ec-no_aa-yes':
359
  if( current_user_can( 'delete_users' ) ) {
360
- $wppb_register_success_message = apply_filters( 'wppb_register_success_message', sprintf( __( "The account %1s has been successfully created!", 'profile-builder' ), $account_name ), $account_name );
361
  } else {
362
- $wppb_register_success_message = apply_filters( 'wppb_register_success_message', sprintf( __( "Before you can access your account %1s, an administrator has to approve it. You will be notified via email.", 'profile-builder' ), $account_name ), $account_name );
363
  }
364
  break;
365
  case 'ec-yes_aa-yes':
366
- $wppb_register_success_message = apply_filters( 'wppb_register_success_message', sprintf( __( "Before you can access your account %1s, you need to confirm your email address. Please check your inbox and click the activation link.", 'profile-builder' ), $account_name ), $account_name );
367
  break;
368
  }
369
 
@@ -375,7 +384,7 @@ class Profile_Builder_Form_Creator{
375
  $redirect = $this->wppb_log_in_user( $this->args['redirect_url'], $redirect );
376
  }
377
 
378
- echo $form_message_tpl_start . $wppb_register_success_message . $form_message_tpl_end . $redirect;
379
  //action hook after registration success
380
  do_action( 'wppb_register_success', $_REQUEST, $this->args['form_name'], $user_id );
381
  return;
@@ -383,7 +392,7 @@ class Profile_Builder_Form_Creator{
383
  // CHECK FOR REDIRECT
384
  $redirect = $this->wppb_get_redirect( 'edit_profile', 'after_edit_profile', $account_name, $user_role );
385
 
386
- echo $form_message_tpl_start . apply_filters( 'wppb_edit_profile_success_message', esc_html(__( 'Your profile has been successfully updated!', 'profile-builder' )) ) . $form_message_tpl_end . $redirect;
387
 
388
  //action hook after edit profile success
389
  do_action( 'wppb_edit_profile_success', $_REQUEST, $this->args['form_name'], $user_id );
@@ -394,10 +403,10 @@ class Profile_Builder_Form_Creator{
394
  }
395
 
396
  }else
397
- echo $message.apply_filters( 'wppb_general_top_error_message', '<p id="wppb_form_general_message" class="wppb-error">'.esc_html(__( 'There was an error in the submitted form', 'profile-builder' )).'</p>' );
398
 
399
  }else
400
- echo $message;
401
 
402
  // use this action hook to add extra content before the register form
403
  do_action( 'wppb_before_'.$this->args['form_type'].'_fields', $this->args['form_name'], $this->args['ID'], $this->args['form_type'], $is_elementor_edit_mode );
@@ -434,21 +443,22 @@ class Profile_Builder_Form_Creator{
434
  $wppb_form_class .= $wppb_user_role_class;
435
 
436
  ?>
437
- <form enctype="multipart/form-data" method="post" id="<?php echo apply_filters( 'wppb_form_id', $wppb_form_id, $this ); ?>" class="<?php echo apply_filters( 'wppb_form_class', $wppb_form_class, $this ); ?>" action="<?php echo esc_url( apply_filters( 'wppb_form_action', wppb_curpageurl() ) ); ?>">
438
  <?php
439
  do_action( 'wppb_form_args_before_output', $this->args );
 
440
 
441
- echo apply_filters( 'wppb_before_form_fields', '<ul>', $this->args['form_type'], $this->args['ID'] );
442
- echo $this->wppb_output_form_fields( $_REQUEST, $field_check_errors, $this->args['form_fields'] );
443
- echo apply_filters( 'wppb_after_form_fields', '</ul>', $this->args['form_type'], $this->args['ID'] );
444
 
445
- echo apply_filters( 'wppb_before_send_credentials_checkbox', '<ul>', $this->args['form_type'], $this->args['ID'] );
446
  $this->wppb_add_send_credentials_checkbox( $_REQUEST, $this->args['form_type'] );
447
- echo apply_filters( 'wppb_after_send_credentials_checkbox', '</ul>', $this->args['form_type'] );
448
 
449
  $wppb_form_submit_extra_attr = apply_filters( 'wppb_form_submit_extra_attr', '', $this->args['form_type'], $this->args['ID'] );
450
  ?>
451
- <p class="form-submit" <?php echo $wppb_form_submit_extra_attr; ?> >
452
  <?php
453
  if( $this->args['form_type'] == 'register' )
454
  $button_name = ( current_user_can( 'create_users' ) ? __( 'Add User', 'profile-builder' ) : __( 'Register', 'profile-builder' ) );
@@ -457,24 +467,24 @@ class Profile_Builder_Form_Creator{
457
  $button_name = __( 'Update', 'profile-builder' );
458
  ?>
459
  <?php do_action( 'wppb_form_before_submit_button', $this->args ); ?>
460
- <input name="<?php echo $this->args['form_type']; ?>" type="submit" id="<?php echo $this->args['form_type']; ?>" class="<?php echo apply_filters( 'wppb_'. $this->args['form_type'] .'_submit_class', "submit button" );?>" value="<?php echo apply_filters( 'wppb_'. $this->args['form_type'] .'_button_name', esc_attr( $button_name ), $this->args['form_name'] ); ?>" <?php echo apply_filters( 'wppb_form_submit_button_extra_attributes', '', $this->args['form_type'] );?>/>
461
- <input name="redirect_to" type="hidden" value="<?php echo $this->args['redirect_url']; ?>" />
462
  <?php do_action( 'wppb_form_after_submit_button', $this->args ); ?>
463
- <input name="action" type="hidden" id="action" value="<?php echo $this->args['form_type']; ?>" />
464
- <input name="form_name" type="hidden" id="form_name" value="<?php echo $this->args['form_name']; ?>" />
465
- <input name="form_id" type="hidden" id="form_id" value="<?php echo $this->args['ID']; ?>" />
466
  <?php
467
  $wppb_module_settings = get_option( 'wppb_module_settings' );
468
 
469
  if( isset( $wppb_module_settings['wppb_customRedirect'] ) && $wppb_module_settings['wppb_customRedirect'] == 'show' ) {
470
  if( isset( $_POST['wppb_referer_url'] ) )
471
- $referer = esc_url( $_POST['wppb_referer_url'] );
472
  elseif( isset( $_SERVER['HTTP_REFERER'] ) )
473
- $referer = esc_url( $_SERVER['HTTP_REFERER'] );
474
  else
475
  $referer = '';
476
 
477
- echo '<input type="hidden" name="wppb_referer_url" value="'. $referer .'"/>';
478
  }
479
  ?>
480
  </p><!-- .form-submit -->
@@ -486,7 +496,7 @@ class Profile_Builder_Form_Creator{
486
 
487
  $form_content = ob_get_clean();
488
 
489
- echo apply_filters( 'wppb_' . $this->args['form_type'] . '_form_content', $form_content );
490
  }
491
 
492
  function wppb_output_form_fields( $global_request, $field_check_errors, $form_fields, $called_from = NULL, $is_repeater_group = false ){
@@ -536,10 +546,10 @@ class Profile_Builder_Form_Creator{
536
  echo '';
537
 
538
  else{
539
- $checkbox = apply_filters( 'wppb_send_credentials_checkbox_logic', '<li class="wppb-form-field wppb-send-credentials-checkbox"><label for="send_credentials_via_email"><input id="send_credentials_via_email" type="checkbox" name="send_credentials_via_email" value="sending"'.( ( isset( $request_data['send_credentials_via_email'] ) && ( $request_data['send_credentials_via_email'] == 'sending' ) ) ? ' checked' : '' ).'/>'.__( 'Send these credentials via email.', 'profile-builder').'</label></li>', $request_data, $form );
540
 
541
  $wppb_general_settings = get_option( 'wppb_general_settings' );
542
- echo ( isset( $wppb_general_settings['emailConfirmation'] ) && ( $wppb_general_settings['emailConfirmation'] == 'yes' ) ? '' : $checkbox );
543
  }
544
  }
545
 
@@ -753,14 +763,14 @@ class Profile_Builder_Form_Creator{
753
  ?>
754
  <form method="GET" action="" id="select_user_to_edit_form">
755
  <p class="wppb-form-field">
756
- <label for="edit_user"><?php _e('User to edit:', 'profile-builder') ?></label>
757
- <select id="wppb-<?php echo !empty( $form_name ) ? $form_name.'-' : ''; ?>user-to-edit" class="wppb-user-to-edit" name="edit_user">
758
- <option value=""><?php echo __( 'Select User', 'profile-builder' ); ?></option>
759
  <?php
760
  foreach( $users as $user ){
761
  ?>
762
  <option value="<?php echo esc_url_raw( add_query_arg( array( 'edit_user' => $user->ID ) ) ); ?>" <?php selected( $selected, $user->ID ); ?>>
763
- <?php echo apply_filters( 'wppb_edit_other_users_display_name', $user->display_name, $user ); ?>
764
  </option>
765
  <?php
766
  }
@@ -771,7 +781,7 @@ class Profile_Builder_Form_Creator{
771
  <?php
772
  }
773
  else{
774
- echo '<p id="wppb-no-other-users-to-edit">'. apply_filters( 'wppb_no_users_to_edit_message', __( 'There are no other users to edit', 'profile-builder' ) ) .'</p>';
775
  }
776
  }
777
 
@@ -805,13 +815,13 @@ class Profile_Builder_Form_Creator{
805
  /* set action for automatic login after registration */
806
  add_action( 'init', 'wppb_autologin_after_registration' );
807
  function wppb_autologin_after_registration(){
808
- if( isset( $_GET['autologin'] ) && isset( $_GET['uid'] ) ){
809
  $uid = absint( $_GET['uid'] );
810
 
811
  $arr_params = array( 'autologin', 'uid', '_wpnonce' );
812
  $current_page_url = remove_query_arg( $arr_params, wppb_curpageurl() );
813
 
814
- if ( ! ( wp_verify_nonce( $_REQUEST['_wpnonce'] , 'autologin-'.$uid.'-'.(int)( time() / 60 ) ) || wp_verify_nonce( $_REQUEST['_wpnonce'] , 'autologin-'.$uid.'-'.(int)( time() / 60 - 1 ) ) ) ){
815
  wp_redirect( $current_page_url );
816
  exit;
817
  } else {
138
  if( !empty( $role_in_arg->capabilities['manage_options'] ) || !empty( $role_in_arg->capabilities['remove_users'] ) ){
139
  if( !current_user_can( 'manage_options' ) || !current_user_can( 'remove_users' ) ){
140
  $this->args['role'] = get_option('default_role');
141
+ echo wp_kses_post( apply_filters( 'wppb_register_pre_form_user_role_message', '<p class="alert wppb-error" id="wppb_form_general_message">'.__( 'The role of the created user set to the default role. Only an administrator can register a user with the role assigned to this form.', 'profile-builder').'</p>' ) );
142
  }
143
  }
144
  }
151
 
152
  if ( !is_user_logged_in() ){
153
  if ( !$registration )
154
+ echo wp_kses_post( apply_filters( 'wppb_register_pre_form_message', '<p class="alert" id="wppb_register_pre_form_message">'.esc_html(__( 'Only an administrator can add new users.', 'profile-builder')).'</p>' ) );
155
 
156
  elseif ( $registration ){
157
  $this->wppb_form_content( apply_filters( 'wppb_register_pre_form_message', '' ) );
184
  $this->args['logout_redirect_url'] = wppb_get_redirect_url( $this->args['redirect_priority'], 'after_logout', $this->args['logout_redirect_url'], $userdata );
185
  $this->args['logout_redirect_url'] = apply_filters( 'wppb_after_logout_redirect_url', $this->args['logout_redirect_url'] );
186
 
187
+ echo wp_kses_post( apply_filters( 'wppb_register_pre_form_message', '<p class="alert" id="wppb_register_pre_form_message">'.sprintf( __( "You are currently logged in as %1s. You don't need another account. %2s", 'profile-builder' ), '<a href="'.get_author_posts_url( $user_ID ).'" title="'.$display_name.'">'.$display_name.'</a>', '<a href="'.wp_logout_url( $this->args['logout_redirect_url'] ).'" title="'.__( 'Log out of this account.', 'profile-builder' ).'">'.__( 'Logout', 'profile-builder' ).' &raquo;</a>' ).'</p>', $user_ID ) );
188
  }
189
  }
190
 
191
  }elseif ( $this->args['form_type'] == 'edit_profile' ){
192
  if ( !is_user_logged_in() )
193
+ echo wp_kses_post( apply_filters( 'wppb_edit_profile_user_not_logged_in_message', '<p class="warning" id="wppb_edit_profile_user_not_logged_in_message">'.esc_html(__( 'You must be logged in to edit your profile.', 'profile-builder' )) .'</p>' ) );
194
 
195
  elseif ( is_user_logged_in() )
196
  $this->wppb_form_content( apply_filters( 'wppb_edit_profile_logged_in_user_message', '' ) );
212
  }
213
 
214
  /* get user id */
215
+ if( empty( $_POST['email'] ) )
216
+ return;
217
+
218
  $user = get_user_by( 'email', trim( sanitize_email( $_POST['email'] ) ) );
219
+
220
+ if( !$user )
221
+ return;
222
+
223
  $nonce = wp_create_nonce( 'autologin-'. $user->ID .'-'. (int)( time() / 60 ) );
224
 
225
  if ( wppb_get_admin_approval_option_value() === 'yes' ) {
298
  }
299
 
300
  if( !$is_elementor_edit_mode && isset( $_REQUEST['action'], $_REQUEST['form_name'], $this->args['form_name'] ) && $_REQUEST['form_name'] === $this->args['form_name'] ) {
301
+ if( ! isset( $_POST[$this->args['form_type'].'_'. $this->args['form_name'] .'_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( $_POST[$this->args['form_type'].'_'. $this->args['form_name'] .'_nonce_field'] ), 'wppb_verify_form_submission' ) ) {
302
  echo '<span class="wppb-form-error wppb-error">'. esc_html(__( 'You are not allowed to do this.', 'profile-builder' )) . '</span>';
303
  return;
304
  }
313
  // we only have a $user_id on default registration (no email confirmation, no multisite)
314
  $user_id = $this->wppb_save_form_values( $_REQUEST );
315
 
316
+ do_action( 'wppb_after_saving_form_values',$_REQUEST, $this->args );
317
+
318
+ if( ( isset( $_SERVER['REQUEST_METHOD'] ) && 'POST' === $_SERVER['REQUEST_METHOD'] ) && ( isset( $_POST['action'] ) && $_POST['action'] === $this->args['form_type'] ) ) {
319
 
320
  $form_message_tpl_start = apply_filters( 'wppb_form_message_tpl_start', '<p class="alert wppb-success" id="wppb_form_general_message">' );
321
  $form_message_tpl_end = apply_filters( 'wppb_form_message_tpl_end', '</p>' );
328
  $user_role = NULL;
329
  }
330
 
331
+ if( isset( $_POST['username'] ) && sanitize_user( $_POST['username'] ) != '' ) {
332
  $account_name = sanitize_user( $_POST['username'] );
333
+ } elseif( isset( $_POST['email'] ) && ( sanitize_email( $_POST['email'] ) != '' ) ) {
334
  $account_name = sanitize_email( $_POST['email'] );
335
  }else{
336
  /* we are in the edit form with no username or email field */
359
 
360
  switch( $account_management_settings ) {
361
  case 'ec-no_aa-no':
362
+ $wppb_register_success_message = esc_html( apply_filters( 'wppb_register_success_message', sprintf( __( "The account %1s has been successfully created!", 'profile-builder' ), $account_name ), $account_name ) );
363
  break;
364
  case 'ec-yes_aa-no':
365
+ $wppb_register_success_message = esc_html( apply_filters( 'wppb_register_success_message', sprintf( __( "Before you can access your account %1s, you need to confirm your email address. Please check your inbox and click the activation link.", 'profile-builder' ), $account_name ), $account_name ) );
366
  break;
367
  case 'ec-no_aa-yes':
368
  if( current_user_can( 'delete_users' ) ) {
369
+ $wppb_register_success_message = esc_html( apply_filters( 'wppb_register_success_message', sprintf( __( "The account %1s has been successfully created!", 'profile-builder' ), $account_name ), $account_name ) );
370
  } else {
371
+ $wppb_register_success_message = esc_html( apply_filters( 'wppb_register_success_message', sprintf( __( "Before you can access your account %1s, an administrator has to approve it. You will be notified via email.", 'profile-builder' ), $account_name ), $account_name ) );
372
  }
373
  break;
374
  case 'ec-yes_aa-yes':
375
+ $wppb_register_success_message = esc_html( apply_filters( 'wppb_register_success_message', sprintf( __( "Before you can access your account %1s, you need to confirm your email address. Please check your inbox and click the activation link.", 'profile-builder' ), $account_name ), $account_name ) );
376
  break;
377
  }
378
 
384
  $redirect = $this->wppb_log_in_user( $this->args['redirect_url'], $redirect );
385
  }
386
 
387
+ echo $form_message_tpl_start . $wppb_register_success_message . $form_message_tpl_end . $redirect; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped above */
388
  //action hook after registration success
389
  do_action( 'wppb_register_success', $_REQUEST, $this->args['form_name'], $user_id );
390
  return;
392
  // CHECK FOR REDIRECT
393
  $redirect = $this->wppb_get_redirect( 'edit_profile', 'after_edit_profile', $account_name, $user_role );
394
 
395
+ echo $form_message_tpl_start . apply_filters( 'wppb_edit_profile_success_message', esc_html(__( 'Your profile has been successfully updated!', 'profile-builder' )) ) . $form_message_tpl_end . $redirect; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped above */
396
 
397
  //action hook after edit profile success
398
  do_action( 'wppb_edit_profile_success', $_REQUEST, $this->args['form_name'], $user_id );
403
  }
404
 
405
  }else
406
+ echo $message. wp_kses_post( apply_filters( 'wppb_general_top_error_message', '<p id="wppb_form_general_message" class="wppb-error">'.esc_html(__( 'There was an error in the submitted form', 'profile-builder' )).'</p>' ) ); /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped above */
407
 
408
  }else
409
+ echo $message; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when created */
410
 
411
  // use this action hook to add extra content before the register form
412
  do_action( 'wppb_before_'.$this->args['form_type'].'_fields', $this->args['form_name'], $this->args['ID'], $this->args['form_type'], $is_elementor_edit_mode );
443
  $wppb_form_class .= $wppb_user_role_class;
444
 
445
  ?>
446
+ <form enctype="multipart/form-data" method="post" id="<?php echo esc_attr( apply_filters( 'wppb_form_id', $wppb_form_id, $this ) ); ?>" class="<?php echo esc_attr( apply_filters( 'wppb_form_class', $wppb_form_class, $this ) ); ?>" action="<?php echo esc_url( apply_filters( 'wppb_form_action', wppb_curpageurl() ) ); ?>">
447
  <?php
448
  do_action( 'wppb_form_args_before_output', $this->args );
449
+ $this->args = apply_filters( 'wppb_filter_form_args_before_output', $this->args );
450
 
451
+ echo wp_kses_post( apply_filters( 'wppb_before_form_fields', '<ul>', $this->args['form_type'], $this->args['ID'] ) );
452
+ echo $this->wppb_output_form_fields( $_REQUEST, $field_check_errors, $this->args['form_fields'] ); /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when created */
453
+ echo wp_kses_post( apply_filters( 'wppb_after_form_fields', '</ul>', $this->args['form_type'], $this->args['ID'], $_REQUEST ) );
454
 
455
+ echo wp_kses_post( apply_filters( 'wppb_before_send_credentials_checkbox', '<ul>', $this->args['form_type'], $this->args['ID'] ) );
456
  $this->wppb_add_send_credentials_checkbox( $_REQUEST, $this->args['form_type'] );
457
+ echo wp_kses_post( apply_filters( 'wppb_after_send_credentials_checkbox', '</ul>', $this->args['form_type'] ) );
458
 
459
  $wppb_form_submit_extra_attr = apply_filters( 'wppb_form_submit_extra_attr', '', $this->args['form_type'], $this->args['ID'] );
460
  ?>
461
+ <p class="form-submit" <?php echo $wppb_form_submit_extra_attr; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when created */ ?> >
462
  <?php
463
  if( $this->args['form_type'] == 'register' )
464
  $button_name = ( current_user_can( 'create_users' ) ? __( 'Add User', 'profile-builder' ) : __( 'Register', 'profile-builder' ) );
467
  $button_name = __( 'Update', 'profile-builder' );
468
  ?>
469
  <?php do_action( 'wppb_form_before_submit_button', $this->args ); ?>
470
+ <input name="<?php echo esc_attr( $this->args['form_type'] ); ?>" type="submit" id="<?php echo esc_attr( $this->args['form_type'] ); ?>" class="<?php echo esc_attr( apply_filters( 'wppb_'. $this->args['form_type'] .'_submit_class', "submit button" ) );?>" value="<?php echo esc_attr( apply_filters( 'wppb_'. $this->args['form_type'] .'_button_name', $button_name, $this->args['form_name'] ) ); ?>" <?php echo apply_filters( 'wppb_form_submit_button_extra_attributes', '', $this->args['form_type'] ); /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when created */?>/>
471
+ <input name="redirect_to" type="hidden" value="<?php echo esc_attr( $this->args['redirect_url'] ); ?>" />
472
  <?php do_action( 'wppb_form_after_submit_button', $this->args ); ?>
473
+ <input name="action" type="hidden" id="action" value="<?php echo esc_attr( $this->args['form_type'] ); ?>" />
474
+ <input name="form_name" type="hidden" id="form_name" value="<?php echo esc_attr( $this->args['form_name'] ); ?>" />
475
+ <input name="form_id" type="hidden" id="form_id" value="<?php echo esc_attr( $this->args['ID'] ); ?>" />
476
  <?php
477
  $wppb_module_settings = get_option( 'wppb_module_settings' );
478
 
479
  if( isset( $wppb_module_settings['wppb_customRedirect'] ) && $wppb_module_settings['wppb_customRedirect'] == 'show' ) {
480
  if( isset( $_POST['wppb_referer_url'] ) )
481
+ $referer = esc_url_raw( $_POST['wppb_referer_url'] );
482
  elseif( isset( $_SERVER['HTTP_REFERER'] ) )
483
+ $referer = esc_url_raw( $_SERVER['HTTP_REFERER'] );
484
  else
485
  $referer = '';
486
 
487
+ echo '<input type="hidden" name="wppb_referer_url" value="'. esc_attr( $referer ).'"/>';
488
  }
489
  ?>
490
  </p><!-- .form-submit -->
496
 
497
  $form_content = ob_get_clean();
498
 
499
+ echo apply_filters( 'wppb_' . $this->args['form_type'] . '_form_content', $form_content ); /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when created */
500
  }
501
 
502
  function wppb_output_form_fields( $global_request, $field_check_errors, $form_fields, $called_from = NULL, $is_repeater_group = false ){
546
  echo '';
547
 
548
  else{
549
+ $checkbox = apply_filters( 'wppb_send_credentials_checkbox_logic', '<li class="wppb-form-field wppb-send-credentials-checkbox"><label for="send_credentials_via_email"><input id="send_credentials_via_email" type="checkbox" name="send_credentials_via_email" value="sending"'.( ( isset( $request_data['send_credentials_via_email'] ) && ( $request_data['send_credentials_via_email'] == 'sending' ) ) ? ' checked' : '' ).'/>'.esc_html__( 'Send these credentials via email.', 'profile-builder').'</label></li>', $request_data, $form );
550
 
551
  $wppb_general_settings = get_option( 'wppb_general_settings' );
552
+ echo ( isset( $wppb_general_settings['emailConfirmation'] ) && ( $wppb_general_settings['emailConfirmation'] == 'yes' ) ? '' : $checkbox ); /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when created */
553
  }
554
  }
555
 
763
  ?>
764
  <form method="GET" action="" id="select_user_to_edit_form">
765
  <p class="wppb-form-field">
766
+ <label for="edit_user"><?php esc_html_e('User to edit:', 'profile-builder') ?></label>
767
+ <select id="wppb-<?php echo !empty( $form_name ) ? esc_attr( $form_name ).'-' : ''; ?>user-to-edit" class="wppb-user-to-edit" name="edit_user">
768
+ <option value=""><?php echo esc_html__( 'Select User', 'profile-builder' ); ?></option>
769
  <?php
770
  foreach( $users as $user ){
771
  ?>
772
  <option value="<?php echo esc_url_raw( add_query_arg( array( 'edit_user' => $user->ID ) ) ); ?>" <?php selected( $selected, $user->ID ); ?>>
773
+ <?php echo esc_html( apply_filters( 'wppb_edit_other_users_display_name', $user->display_name, $user ) ); ?>
774
  </option>
775
  <?php
776
  }
781
  <?php
782
  }
783
  else{
784
+ echo '<p id="wppb-no-other-users-to-edit">'. esc_html( apply_filters( 'wppb_no_users_to_edit_message', __( 'There are no other users to edit', 'profile-builder' ) ) ).'</p>';
785
  }
786
  }
787
 
815
  /* set action for automatic login after registration */
816
  add_action( 'init', 'wppb_autologin_after_registration' );
817
  function wppb_autologin_after_registration(){
818
+ if( isset( $_GET['autologin'] ) && isset( $_GET['uid'] ) && isset( $_REQUEST['_wpnonce'] ) ){
819
  $uid = absint( $_GET['uid'] );
820
 
821
  $arr_params = array( 'autologin', 'uid', '_wpnonce' );
822
  $current_page_url = remove_query_arg( $arr_params, wppb_curpageurl() );
823
 
824
+ if ( ! ( wp_verify_nonce( sanitize_text_field( $_REQUEST['_wpnonce'] ) , 'autologin-'.$uid.'-'.(int)( time() / 60 ) ) || wp_verify_nonce( sanitize_text_field( $_REQUEST['_wpnonce'] ) , 'autologin-'.$uid.'-'.(int)( time() / 60 - 1 ) ) ) ){
825
  wp_redirect( $current_page_url );
826
  exit;
827
  } else {
front-end/default-fields/email/email.php CHANGED
@@ -79,7 +79,9 @@ function wppb_check_email_value( $message, $field, $request_data, $form_location
79
  return __('This email is already in use.', 'profile-builder') . '<br/>' . __('Please try a different one!', 'profile-builder');
80
 
81
  if ($form_location == 'edit_profile') {
82
- $url_parts = parse_url($_SERVER['HTTP_REFERER']);
 
 
83
  if (isset($url_parts['query'])) {
84
  parse_str($url_parts['query'], $query);
85
  }
79
  return __('This email is already in use.', 'profile-builder') . '<br/>' . __('Please try a different one!', 'profile-builder');
80
 
81
  if ($form_location == 'edit_profile') {
82
+ if( isset( $_SERVER['HTTP_REFERER'] ) )
83
+ $url_parts = parse_url( esc_url_raw( $_SERVER['HTTP_REFERER'] ) );
84
+
85
  if (isset($url_parts['query'])) {
86
  parse_str($url_parts['query'], $query);
87
  }
front-end/default-fields/recaptcha/recaptcha.php CHANGED
@@ -52,7 +52,7 @@ function wppb_recaptcha_get_html ( $pubkey, $form_name='' ){
52
  $field = wppb_get_recaptcha_field();
53
 
54
  if ( empty($pubkey) )
55
- echo $errorMessage = '<span class="error">'. __("To use reCAPTCHA you must get an API key from", "profile-builder"). " <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a></span><br/><br/>";
56
 
57
  // extra class needed for Invisible reCAPTCHA html
58
  $invisible_class = '';
@@ -95,7 +95,7 @@ function wppb_recaptcha_script_footer(){
95
  //get site key
96
  $pubkey = '';
97
  if( isset( $field['public-key'] ) ) {
98
- $pubkey = trim( $field['public-key'] );
99
  }
100
 
101
  // Check if we have a reCAPTCHA type
@@ -111,7 +111,8 @@ function wppb_recaptcha_script_footer(){
111
  $callback_conditions = 'jQuery(".wppb-recaptcha-element")';
112
  $invisible_parameters = '';
113
  }
114
-
 
115
  echo '<script>
116
  var wppbRecaptchaCallback = function() {
117
  if( typeof window.wppbRecaptchaCallbackExecuted == "undefined" ){//see if we executed this before
@@ -138,11 +139,12 @@ function wppb_recaptcha_script_footer(){
138
  wppbRecaptchaCallback();
139
  });
140
  </script>';
141
-
142
  if( $field['recaptcha-type'] === 'invisible' ) {
143
  echo '<script>
144
  /* success callback for invisible recaptcha. it submits the form that contains the right token response */
145
  function wppbInvisibleRecaptchaOnSubmit(token){
 
146
  var elem = jQuery(".g-recaptcha-response").filter(function(){
147
  return jQuery(this).val() === token;
148
  });
@@ -161,8 +163,7 @@ function wppb_recaptcha_script_footer(){
161
  var form = elem.closest("form");
162
  form.submit();
163
  } else {
164
- jQuery(document).trigger( "wppb_invisible_recaptcha_success" )
165
-
166
  }
167
 
168
  }
@@ -187,7 +188,7 @@ function wppb_recaptcha_script_footer(){
187
 
188
  $source = apply_filters( 'wppb_recaptcha_custom_field_source', 'www.google.com' );
189
 
190
- echo '<script src="https://'.$source.'/recaptcha/api.js?onload=wppbRecaptchaCallback&render=explicit'.$lang.'" async defer></script>';
191
  }
192
  add_action('wp_footer', 'wppb_recaptcha_script_footer', 9999);
193
  add_action('login_footer', 'wppb_recaptcha_script_footer');
@@ -213,13 +214,13 @@ class wppb_ReCaptchaResponse {
213
  function wppb_recaptcha_check_answer ( $privkey, $remoteip, $response ){
214
 
215
  if ( $remoteip == null || $remoteip == '' )
216
- echo '<span class="error">'. __("For security reasons, you must pass the remote ip to reCAPTCHA!", "profile-builder") .'</span><br/><br/>';
217
 
218
  // Discard empty solution submissions
219
  if ($response == null || strlen($response) == 0) {
220
  $recaptchaResponse = new wppb_ReCaptchaResponse();
221
 
222
- if( isset( $_POST['wppb_recaptcha_load_error'] ) && wp_verify_nonce( $_POST['wppb_recaptcha_load_error'], 'wppb_recaptcha_init_error' ) )
223
  $recaptchaResponse->is_valid = true;
224
  else
225
  $recaptchaResponse->is_valid = false;
@@ -257,10 +258,10 @@ function wppb_validate_captcha_response( $publickey, $privatekey ){
257
  else {
258
  $recaptcha_response_field = '';
259
  }
 
 
260
 
261
- $resp = wppb_recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $recaptcha_response_field );
262
-
263
- if ( !empty( $_POST ) )
264
  return ( ( !$resp->is_valid ) ? false : true );
265
  }
266
 
@@ -490,11 +491,11 @@ function wppb_display_recaptcha_wp_login_form(){
490
  if (!empty($item_description))
491
  $recaptcha_output .= '<span class="wppb-description-delimiter">' . $item_description . '</span>';
492
 
493
- echo '<div class="wppb-form-field wppb-recaptcha" style="margin-left:-14px; margin-bottom: 15px;">' . $recaptcha_output . '</div>';
494
  }
495
  else {
496
  // output Invisible reCAPTCHA html
497
- echo wppb_recaptcha_get_html( trim($field['public-key']));
498
  }
499
  }
500
  }
@@ -557,11 +558,11 @@ function wppb_display_recaptcha_default_wp_recover_password() {
557
  if (!empty($item_description))
558
  $recaptcha_output .= '<span class="wppb-description-delimiter">' . $item_description . '</span>';
559
 
560
- echo '<div class="wppb-form-field wppb-recaptcha" style="margin-left:-14px; margin-bottom: 15px;">' . $recaptcha_output . '</div>';
561
  }
562
  else {
563
  // output Invisible reCAPTCHA html
564
- echo wppb_recaptcha_get_html($publickey);
565
  }
566
  }
567
  }
@@ -582,7 +583,7 @@ function wppb_verify_recaptcha_default_wp_recover_password(){
582
 
583
  // If reCAPTCHA not entered or incorrect reCAPTCHA answer
584
  if ( isset( $_REQUEST['g-recaptcha-response'] ) && ( ( "" === $_REQUEST['g-recaptcha-response'] ) || ( $wppb_recaptcha_response == false ) ) ) {
585
- wp_die( __('Please enter a (valid) reCAPTCHA value','profile-builder') . '<br />' . __( "Click the BACK button on your browser, and try again.", 'profile-builder' ) ) ;
586
  }
587
  }
588
  }
@@ -609,11 +610,11 @@ function wppb_display_recaptcha_default_wp_register(){
609
  if (!empty($item_description))
610
  $recaptcha_output .= '<span class="wppb-description-delimiter">' . $item_description . '</span>';
611
 
612
- echo '<div class="wppb-form-field wppb-recaptcha" style="margin-left:-14px; margin-bottom: 15px;">' . $recaptcha_output . '</div>';
613
  }
614
  else {
615
  // output reCAPTCHA html
616
- echo wppb_recaptcha_get_html($publickey);
617
  }
618
  }
619
  }
52
  $field = wppb_get_recaptcha_field();
53
 
54
  if ( empty($pubkey) )
55
+ echo '<span class="error">'. esc_html__("To use reCAPTCHA you must get an API key from", "profile-builder"). " <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a></span><br/><br/>";
56
 
57
  // extra class needed for Invisible reCAPTCHA html
58
  $invisible_class = '';
95
  //get site key
96
  $pubkey = '';
97
  if( isset( $field['public-key'] ) ) {
98
+ $pubkey = sanitize_text_field( $field['public-key'] );
99
  }
100
 
101
  // Check if we have a reCAPTCHA type
111
  $callback_conditions = 'jQuery(".wppb-recaptcha-element")';
112
  $invisible_parameters = '';
113
  }
114
+ //the section below is properly escaped or the variables contain static strings
115
+ // phpcs:disable
116
  echo '<script>
117
  var wppbRecaptchaCallback = function() {
118
  if( typeof window.wppbRecaptchaCallbackExecuted == "undefined" ){//see if we executed this before
139
  wppbRecaptchaCallback();
140
  });
141
  </script>';
142
+ // phpcs:enable
143
  if( $field['recaptcha-type'] === 'invisible' ) {
144
  echo '<script>
145
  /* success callback for invisible recaptcha. it submits the form that contains the right token response */
146
  function wppbInvisibleRecaptchaOnSubmit(token){
147
+
148
  var elem = jQuery(".g-recaptcha-response").filter(function(){
149
  return jQuery(this).val() === token;
150
  });
163
  var form = elem.closest("form");
164
  form.submit();
165
  } else {
166
+ jQuery(document).trigger( "wppb_invisible_recaptcha_success", jQuery( ".form-submit input[type=\'submit\']", elem.closest("form") ) )
 
167
  }
168
 
169
  }
188
 
189
  $source = apply_filters( 'wppb_recaptcha_custom_field_source', 'www.google.com' );
190
 
191
+ echo '<script src="https://'. esc_attr( $source ) .'/recaptcha/api.js?onload=wppbRecaptchaCallback&render=explicit'.esc_attr( $lang ).'" async defer></script>';
192
  }
193
  add_action('wp_footer', 'wppb_recaptcha_script_footer', 9999);
194
  add_action('login_footer', 'wppb_recaptcha_script_footer');
214
  function wppb_recaptcha_check_answer ( $privkey, $remoteip, $response ){
215
 
216
  if ( $remoteip == null || $remoteip == '' )
217
+ echo '<span class="error">'. esc_html__("For security reasons, you must pass the remote ip to reCAPTCHA!", "profile-builder") .'</span><br/><br/>';
218
 
219
  // Discard empty solution submissions
220
  if ($response == null || strlen($response) == 0) {
221
  $recaptchaResponse = new wppb_ReCaptchaResponse();
222
 
223
+ if( isset( $_POST['wppb_recaptcha_load_error'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_recaptcha_load_error'] ), 'wppb_recaptcha_init_error' ) )
224
  $recaptchaResponse->is_valid = true;
225
  else
226
  $recaptchaResponse->is_valid = false;
258
  else {
259
  $recaptcha_response_field = '';
260
  }
261
+ if( isset( $_SERVER["REMOTE_ADDR"] ) )
262
+ $resp = wppb_recaptcha_check_answer($privatekey, sanitize_text_field( $_SERVER["REMOTE_ADDR"] ), $recaptcha_response_field );
263
 
264
+ if ( !empty( $_POST ) && isset( $resp ) )
 
 
265
  return ( ( !$resp->is_valid ) ? false : true );
266
  }
267
 
491
  if (!empty($item_description))
492
  $recaptcha_output .= '<span class="wppb-description-delimiter">' . $item_description . '</span>';
493
 
494
+ echo '<div class="wppb-form-field wppb-recaptcha" style="margin-left:-14px; margin-bottom: 15px;">' . $recaptcha_output . '</div>'; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when constructing the var */
495
  }
496
  else {
497
  // output Invisible reCAPTCHA html
498
+ echo wppb_recaptcha_get_html( trim($field['public-key'])); /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when constructing the var */
499
  }
500
  }
501
  }
558
  if (!empty($item_description))
559
  $recaptcha_output .= '<span class="wppb-description-delimiter">' . $item_description . '</span>';
560
 
561
+ echo '<div class="wppb-form-field wppb-recaptcha" style="margin-left:-14px; margin-bottom: 15px;">' . $recaptcha_output . '</div>'; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when constructing the var */
562
  }
563
  else {
564
  // output Invisible reCAPTCHA html
565
+ echo wppb_recaptcha_get_html($publickey); /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when constructing the var */
566
  }
567
  }
568
  }
583
 
584
  // If reCAPTCHA not entered or incorrect reCAPTCHA answer
585
  if ( isset( $_REQUEST['g-recaptcha-response'] ) && ( ( "" === $_REQUEST['g-recaptcha-response'] ) || ( $wppb_recaptcha_response == false ) ) ) {
586
+ wp_die( esc_html__('Please enter a (valid) reCAPTCHA value','profile-builder') . '<br />' . esc_html__( "Click the BACK button on your browser, and try again.", 'profile-builder' ) ) ;
587
  }
588
  }
589
  }
610
  if (!empty($item_description))
611
  $recaptcha_output .= '<span class="wppb-description-delimiter">' . $item_description . '</span>';
612
 
613
+ echo '<div class="wppb-form-field wppb-recaptcha" style="margin-left:-14px; margin-bottom: 15px;">' . $recaptcha_output . '</div>'; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when constructing the var */
614
  }
615
  else {
616
  // output reCAPTCHA html
617
+ echo wppb_recaptcha_get_html($publickey); /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* properly escaped when constructing the var */
618
  }
619
  }
620
  }
front-end/edit-profile.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
  add_action( 'init', 'wppb_autologin_after_password_changed' );
12
  function wppb_autologin_after_password_changed(){
13
  if( isset( $_POST['action'] ) && $_POST['action'] === 'edit_profile' ){
14
- if( isset( $_POST['passw1'] ) && !empty( $_POST['passw1'] ) && !empty( $_POST['form_name'] ) && isset( $_POST['edit_profile_'. $_POST['form_name'] .'_nonce_field'] ) && wp_verify_nonce( $_POST['edit_profile_'. $_POST['form_name'] .'_nonce_field'], 'wppb_verify_form_submission' ) ){
15
 
16
  /* all the error checking filters are defined in each field file so we need them here */
17
  if ( file_exists ( WPPB_PLUGIN_DIR.'/front-end/default-fields/default-fields.php' ) )
@@ -52,7 +52,7 @@ function wppb_autologin_after_password_changed(){
52
  if( !isset( $_GET['edit_user'] ) ) {
53
  wp_clear_auth_cookie();
54
  /* set the new password for the user */
55
- wp_set_password($_POST['passw1'], $user_id);
56
  // Here we calculate the expiration length of the current auth cookie and compare it to the default expiration.
57
  // If it's greater than this, then we know the user checked 'Remember Me' when they logged in.
58
  $logged_in_cookie = wp_parse_auth_cookie('', 'logged_in');
@@ -63,7 +63,7 @@ function wppb_autologin_after_password_changed(){
63
  wp_set_auth_cookie($user_id, $remember, '', wp_get_session_token() );
64
  }
65
  else{
66
- wp_set_password($_POST['passw1'], $user_id);
67
  }
68
 
69
  /* log out of other sessions or all sessions if the admin is editing the profile */
11
  add_action( 'init', 'wppb_autologin_after_password_changed' );
12
  function wppb_autologin_after_password_changed(){
13
  if( isset( $_POST['action'] ) && $_POST['action'] === 'edit_profile' ){
14
+ if( isset( $_POST['passw1'] ) && !empty( $_POST['passw1'] ) && !empty( $_POST['form_name'] ) && isset( $_POST['edit_profile_'. $_POST['form_name'] .'_nonce_field'] ) && wp_verify_nonce( sanitize_text_field( $_POST['edit_profile_'. $_POST['form_name'] .'_nonce_field'] ), 'wppb_verify_form_submission' ) ){
15
 
16
  /* all the error checking filters are defined in each field file so we need them here */
17
  if ( file_exists ( WPPB_PLUGIN_DIR.'/front-end/default-fields/default-fields.php' ) )
52
  if( !isset( $_GET['edit_user'] ) ) {
53
  wp_clear_auth_cookie();
54
  /* set the new password for the user */
55
+ wp_set_password($_POST['passw1'], $user_id);//phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
56
  // Here we calculate the expiration length of the current auth cookie and compare it to the default expiration.
57
  // If it's greater than this, then we know the user checked 'Remember Me' when they logged in.
58
  $logged_in_cookie = wp_parse_auth_cookie('', 'logged_in');
63
  wp_set_auth_cookie($user_id, $remember, '', wp_get_session_token() );
64
  }
65
  else{
66
+ wp_set_password($_POST['passw1'], $user_id); //phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
67
  }
68
 
69
  /* log out of other sessions or all sessions if the admin is editing the profile */
front-end/login.php CHANGED
@@ -29,7 +29,7 @@ function wppb_process_login(){
29
  }
30
 
31
  if ( isset( $_REQUEST['redirect_to'] ) ) {
32
- $redirect_to = esc_url( $_REQUEST['redirect_to'] );
33
  }
34
 
35
  $user = wp_signon( array(), $secure_cookie );
@@ -37,12 +37,12 @@ function wppb_process_login(){
37
  if ( empty( $_COOKIE[ LOGGED_IN_COOKIE ] ) ) {
38
  if ( headers_sent() ) {
39
  /* translators: 1: Browser cookie documentation URL, 2: Support forums URL */
40
- $user = new WP_Error( 'test_cookie', sprintf( __( '<strong>ERROR</strong>: Cookies are blocked due to unexpected output. For help, please see <a href="%1$s">this documentation</a> or try the <a href="%2$s">support forums</a>.' ),
41
- __( 'https://codex.wordpress.org/Cookies' ), __( 'https://wordpress.org/support/' ) ) );
42
  }
43
  }
44
 
45
- $requested_redirect_to = isset( $_REQUEST['redirect_to'] ) ? esc_url( $_REQUEST['redirect_to'] ) : '';
46
  /**
47
  * Filters the login redirect URL.
48
  */
@@ -99,10 +99,15 @@ function wppb_process_login(){
99
  * @return string|void String when retrieving.
100
  */
101
  function wppb_login_form( $args = array() ) {
 
 
 
 
 
102
  $defaults = array(
103
  'echo' => true,
104
  // Default 'redirect' value takes the user back to the request URI.
105
- 'redirect' => esc_url( ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ),
106
  'form_id' => 'wppb-loginform',
107
  'label_username' => __( 'Username or Email Address', 'profile-builder' ),
108
  'label_password' => __( 'Password', 'profile-builder' ),
@@ -145,9 +150,9 @@ function wppb_login_form( $args = array() ) {
145
 
146
  // if an error is being shown pass the original referer forward
147
  if( isset( $_GET['wppb_referer_url'] ) ){
148
- $wppb_referer_url = esc_url ( $_GET['wppb_referer_url'] );
149
  } else {
150
- $wppb_referer_url = esc_url ( isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : '' );
151
  }
152
 
153
  $form = '
@@ -169,22 +174,22 @@ function wppb_login_form( $args = array() ) {
169
  ' . $login_form_middle . '
170
  ' . ( $args['remember'] ? '<p class="login-remember"><input name="rememberme" type="checkbox" id="' . esc_attr( $args['id_remember'] ) . '" value="forever"' . ( $args['value_remember'] ? ' checked="checked"' : '' ) . ' /><label for="' . esc_attr( $args['id_remember'] ) . '">' . esc_html( $args['label_remember'] ) . '</label></p>' : '' ) . '
171
  <p class="login-submit">
172
- <input type="submit" name="wp-submit" id="' . esc_attr( $args['id_submit'] ) . '" class="'. apply_filters( 'wppb_login_submit_class', "button button-primary" ) . '" value="' . esc_attr( $args['label_log_in'] ) . '" />
173
  <input type="hidden" name="redirect_to" value="' . esc_url( $args['redirect'] ) . '" />
174
  </p>
175
  <input type="hidden" name="wppb_login" value="true"/>
176
- <input type="hidden" name="wppb_form_location" value="'. $form_location .'"/>
177
  <input type="hidden" name="wppb_request_url" value="'. esc_url( wppb_curpageurl() ).'"/>
178
  <input type="hidden" name="wppb_lostpassword_url" value="'.esc_url( $args['lostpassword_url'] ).'"/>
179
  <input type="hidden" name="wppb_redirect_priority" value="'. esc_attr( isset( $args['redirect_priority'] ) ? $args['redirect_priority'] : '' ) .'"/>
180
- <input type="hidden" name="wppb_referer_url" value="'. $wppb_referer_url .'"/>
181
  '. wp_nonce_field( 'wppb_login', 'CSRFToken-wppb', true, false ) .'
182
  <input type="hidden" name="wppb_redirect_check" value="true"/>
183
  ' . $login_form_bottom . '
184
  </form>';
185
 
186
  if ( $args['echo'] )
187
- echo $form;
188
  else
189
  return $form;
190
  }
@@ -298,23 +303,25 @@ function wppb_login_redirect( $redirect_to, $requested_redirect_to, $user ){
298
  if( isset( $_POST['wppb_login'] ) ){
299
  if( is_wp_error( $user ) ) {
300
  // if we don't have a successful login we must redirect to the url of the form, so make sure this happens
301
- $redirect_to = esc_url_raw( $_POST['wppb_request_url'] );
302
- $request_form_location = sanitize_text_field( $_POST['wppb_form_location'] );
 
 
303
  $error_string = $user->get_error_message();
304
 
305
  $wppb_generalSettings = get_option('wppb_general_settings');
306
 
307
  if (isset($wppb_generalSettings['loginWith'])) {
308
 
309
- $LostPassURL = site_url('/wp-login.php?action=lostpassword');
310
  // if the Login shortcode has a lostpassword argument set, give the lost password error link that value
311
  if (!empty($_POST['wppb_lostpassword_url'])) {
312
- $LostPassURL = $_POST['wppb_lostpassword_url'];
313
- if ( wppb_check_missing_http( $_POST['wppb_lostpassword_url'] ) )
314
- $LostPassURL = "http://" . $_POST['wppb_lostpassword_url'];
315
  }
316
  //apply filter to allow changing Lost your Password link
317
- $LostPassURL = apply_filters('wppb_pre_login_url_filter', $LostPassURL);
318
 
319
  /* start building the error string */
320
  if( in_array( $user->get_error_code(), array( 'empty_username', 'empty_password', 'invalid_username', 'incorrect_password' ) ) )
@@ -348,7 +355,7 @@ function wppb_login_redirect( $redirect_to, $requested_redirect_to, $user ){
348
  }
349
 
350
  if( $user->get_error_code() == 'incorrect_password' || $user->get_error_code() == 'invalid_username' )
351
- $error_string .= '<a href="' . esc_url( $LostPassURL ) . '" title="' . __('Password Lost and Found.', 'profile-builder') . '">' . __('Lost your password?', 'profile-builder') . '</a>';
352
 
353
  }
354
 
@@ -363,11 +370,15 @@ function wppb_login_redirect( $redirect_to, $requested_redirect_to, $user ){
363
 
364
  // encode the error string and send it as a GET parameter
365
  if ( isset($_POST['wppb_referer_url']) && $_POST['wppb_referer_url'] !== '' ) {
366
- $arr_params = array('loginerror' => urlencode(base64_encode($error_string)), '_wpnonce' => $wppb_error_string_nonce, 'request_form_location' => $request_form_location, 'wppb_referer_url' => urlencode(esc_url( $_POST['wppb_referer_url'] )));
367
  } else {
368
  $arr_params = array('loginerror' => urlencode(base64_encode($error_string)), '_wpnonce' => $wppb_error_string_nonce, 'request_form_location' => $request_form_location);
369
  }
370
 
 
 
 
 
371
  $redirect_to = add_query_arg($arr_params, $redirect_to);
372
  }
373
  else{
@@ -375,7 +386,9 @@ function wppb_login_redirect( $redirect_to, $requested_redirect_to, $user ){
375
  $redirect_to = remove_query_arg( 'loginerror', $redirect_to );
376
 
377
  // CHECK FOR REDIRECT
378
- $redirect_to = wppb_get_redirect_url( sanitize_text_field( $_POST['wppb_redirect_priority'] ), 'after_login', $redirect_to, $user );
 
 
379
  $redirect_to = apply_filters( 'wppb_after_login_redirect_url', $redirect_to );
380
 
381
  // This should not be empty, if we don't have a redirect, set it to the current page URL
@@ -399,7 +412,7 @@ function wppb_front_end_login( $atts ){
399
  global $wppb_login_shortcode;
400
  $wppb_login_shortcode = true;
401
 
402
- extract( shortcode_atts( array( 'display' => true, 'redirect' => '', 'redirect_url' => '', 'logout_redirect_url' => wppb_curpageurl(), 'register_url' => '', 'lostpassword_url' => '', 'redirect_priority' => 'normal' ), $atts ) );
403
 
404
  $wppb_generalSettings = get_option('wppb_general_settings');
405
 
@@ -439,13 +452,25 @@ function wppb_front_end_login( $atts ){
439
  if ( isset( $wppb_generalSettings['loginWith'] ) && ( $wppb_generalSettings['loginWith'] == 'usernameemail' ) )
440
  $form_args['label_username'] = __( 'Username or Email', 'profile-builder' );
441
 
 
 
 
 
 
 
 
 
 
 
 
 
442
  // initialize our form variable
443
  $login_form = '';
444
 
445
  // display our login errors
446
  if( ( isset( $_GET['loginerror'] ) || isset( $_POST['loginerror'] ) ) && isset( $_GET['_wpnonce'] ) ){
447
- $error_string = urldecode( base64_decode( isset( $_GET['loginerror'] ) ? $_GET['loginerror'] : $_POST['loginerror'] ) );
448
- if( wp_verify_nonce( $_GET['_wpnonce'], 'wppb_login_error_'. $error_string ) ) {
449
  $loginerror = '<p class="wppb-error">' . wp_kses_post($error_string) . '</p><!-- .error -->';
450
  if (isset($_GET['request_form_location'])) {
451
  if ($_GET['request_form_location'] === 'widget' && !in_the_loop()) {
@@ -523,7 +548,7 @@ function wppb_front_end_login( $atts ){
523
  function wppb_login_security_check( $user, $password ) {
524
  if( apply_filters( 'wppb_enable_csrf_token_login_form', false ) ){
525
  if (isset($_POST['wppb_login'])) {
526
- if (!isset($_POST['CSRFToken-wppb']) || !wp_verify_nonce($_POST['CSRFToken-wppb'], 'wppb_login')) {
527
  $errorMessage = __('You are not allowed to do this.', 'profile-builder');
528
  return new WP_Error('wppb_login_csrf_token_error', $errorMessage);
529
  }
29
  }
30
 
31
  if ( isset( $_REQUEST['redirect_to'] ) ) {
32
+ $redirect_to = esc_url_raw( $_REQUEST['redirect_to'] );
33
  }
34
 
35
  $user = wp_signon( array(), $secure_cookie );
37
  if ( empty( $_COOKIE[ LOGGED_IN_COOKIE ] ) ) {
38
  if ( headers_sent() ) {
39
  /* translators: 1: Browser cookie documentation URL, 2: Support forums URL */
40
+ $user = new WP_Error( 'test_cookie', sprintf( __( '<strong>ERROR</strong>: Cookies are blocked due to unexpected output. For help, please see <a href="%1$s">this documentation</a> or try the <a href="%2$s">support forums</a>.', 'profile-builder' ),
41
+ 'https://codex.wordpress.org/Cookies', 'https://wordpress.org/support/' ) );
42
  }
43
  }
44
 
45
+ $requested_redirect_to = isset( $_REQUEST['redirect_to'] ) ? esc_url_raw( $_REQUEST['redirect_to'] ) : '';
46
  /**
47
  * Filters the login redirect URL.
48
  */
99
  * @return string|void String when retrieving.
100
  */
101
  function wppb_login_form( $args = array() ) {
102
+
103
+ $default_redirect = '';
104
+ if( isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) )
105
+ $default_redirect = esc_url_raw( ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
106
+
107
  $defaults = array(
108
  'echo' => true,
109
  // Default 'redirect' value takes the user back to the request URI.
110
+ 'redirect' => $default_redirect,
111
  'form_id' => 'wppb-loginform',
112
  'label_username' => __( 'Username or Email Address', 'profile-builder' ),
113
  'label_password' => __( 'Password', 'profile-builder' ),
150
 
151
  // if an error is being shown pass the original referer forward
152
  if( isset( $_GET['wppb_referer_url'] ) ){
153
+ $wppb_referer_url = esc_url_raw ( $_GET['wppb_referer_url'] );
154
  } else {
155
+ $wppb_referer_url = esc_url_raw ( isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : '' );
156
  }
157
 
158
  $form = '
174
  ' . $login_form_middle . '
175
  ' . ( $args['remember'] ? '<p class="login-remember"><input name="rememberme" type="checkbox" id="' . esc_attr( $args['id_remember'] ) . '" value="forever"' . ( $args['value_remember'] ? ' checked="checked"' : '' ) . ' /><label for="' . esc_attr( $args['id_remember'] ) . '">' . esc_html( $args['label_remember'] ) . '</label></p>' : '' ) . '
176
  <p class="login-submit">
177
+ <input type="submit" name="wp-submit" id="' . esc_attr( $args['id_submit'] ) . '" class="'. esc_attr( apply_filters( 'wppb_login_submit_class', "button button-primary" ) ) . '" value="' . esc_attr( $args['label_log_in'] ) . '" />
178
  <input type="hidden" name="redirect_to" value="' . esc_url( $args['redirect'] ) . '" />
179
  </p>
180
  <input type="hidden" name="wppb_login" value="true"/>
181
+ <input type="hidden" name="wppb_form_location" value="'. esc_attr( $form_location ) .'"/>
182
  <input type="hidden" name="wppb_request_url" value="'. esc_url( wppb_curpageurl() ).'"/>
183
  <input type="hidden" name="wppb_lostpassword_url" value="'.esc_url( $args['lostpassword_url'] ).'"/>
184
  <input type="hidden" name="wppb_redirect_priority" value="'. esc_attr( isset( $args['redirect_priority'] ) ? $args['redirect_priority'] : '' ) .'"/>
185
+ <input type="hidden" name="wppb_referer_url" value="'. esc_url( $wppb_referer_url ) .'"/>
186
  '. wp_nonce_field( 'wppb_login', 'CSRFToken-wppb', true, false ) .'
187
  <input type="hidden" name="wppb_redirect_check" value="true"/>
188
  ' . $login_form_bottom . '
189
  </form>';
190
 
191
  if ( $args['echo'] )
192
+ echo $form; /* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */ /* escaped above */
193
  else
194
  return $form;
195
  }
303
  if( isset( $_POST['wppb_login'] ) ){
304
  if( is_wp_error( $user ) ) {
305
  // if we don't have a successful login we must redirect to the url of the form, so make sure this happens
306
+ if( isset( $_POST['wppb_request_url'] ) )
307
+ $redirect_to = esc_url_raw( $_POST['wppb_request_url'] );
308
+ if( isset( $_POST['wppb_form_location'] ) )
309
+ $request_form_location = sanitize_text_field( $_POST['wppb_form_location'] );
310
  $error_string = $user->get_error_message();
311
 
312
  $wppb_generalSettings = get_option('wppb_general_settings');
313
 
314
  if (isset($wppb_generalSettings['loginWith'])) {
315
 
316
+ $lost_pass_url = site_url('/wp-login.php?action=lostpassword');
317
  // if the Login shortcode has a lostpassword argument set, give the lost password error link that value
318
  if (!empty($_POST['wppb_lostpassword_url'])) {
319
+ $lost_pass_url = esc_url_raw( $_POST['wppb_lostpassword_url'] );
320
+ if ( wppb_check_missing_http( $lost_pass_url ) )
321
+ $lost_pass_url = "http://" . $lost_pass_url;
322
  }
323
  //apply filter to allow changing Lost your Password link
324
+ $lost_pass_url = apply_filters('wppb_pre_login_url_filter', $lost_pass_url);
325
 
326
  /* start building the error string */
327
  if( in_array( $user->get_error_code(), array( 'empty_username', 'empty_password', 'invalid_username', 'incorrect_password' ) ) )
355
  }
356
 
357
  if( $user->get_error_code() == 'incorrect_password' || $user->get_error_code() == 'invalid_username' )
358
+ $error_string .= '<a href="' . esc_url( $lost_pass_url ) . '" title="' . __('Password Lost and Found.', 'profile-builder') . '">' . __('Lost your password?', 'profile-builder') . '</a>';
359
 
360
  }
361
 
370
 
371
  // encode the error string and send it as a GET parameter
372
  if ( isset($_POST['wppb_referer_url']) && $_POST['wppb_referer_url'] !== '' ) {
373
+ $arr_params = array('loginerror' => urlencode(base64_encode($error_string)), '_wpnonce' => $wppb_error_string_nonce, 'request_form_location' => $request_form_location, 'wppb_referer_url' => urlencode(esc_url_raw( $_POST['wppb_referer_url'] )));
374
  } else {
375
  $arr_params = array('loginerror' => urlencode(base64_encode($error_string)), '_wpnonce' => $wppb_error_string_nonce, 'request_form_location' => $request_form_location);
376
  }
377
 
378
+ if ($user->get_error_code() == 'wppb_login_auth') {
379
+ $arr_params['login_auth'] = 'true';
380
+ }
381
+
382
  $redirect_to = add_query_arg($arr_params, $redirect_to);
383
  }
384
  else{
386
  $redirect_to = remove_query_arg( 'loginerror', $redirect_to );
387
 
388
  // CHECK FOR REDIRECT
389
+ if( isset( $_POST['wppb_redirect_priority'] ) )
390
+ $redirect_to = wppb_get_redirect_url( sanitize_text_field( $_POST['wppb_redirect_priority'] ), 'after_login', $redirect_to, $user );
391
+
392
  $redirect_to = apply_filters( 'wppb_after_login_redirect_url', $redirect_to );
393
 
394
  // This should not be empty, if we don't have a redirect, set it to the current page URL
412
  global $wppb_login_shortcode;
413
  $wppb_login_shortcode = true;
414
 
415
+ extract( shortcode_atts( array( 'display' => true, 'redirect' => '', 'redirect_url' => '', 'logout_redirect_url' => wppb_curpageurl(), 'register_url' => '', 'lostpassword_url' => '', 'redirect_priority' => 'normal', 'show_2fa_field' => '' ), $atts ) );
416
 
417
  $wppb_generalSettings = get_option('wppb_general_settings');
418
 
452
  if ( isset( $wppb_generalSettings['loginWith'] ) && ( $wppb_generalSettings['loginWith'] == 'usernameemail' ) )
453
  $form_args['label_username'] = __( 'Username or Email', 'profile-builder' );
454
 
455
+ // Check if 2fa is required
456
+ $wppb_google_auth = new WPPB_Two_Factor_Authenticator;
457
+ $wppb_two_factor_authentication_settings = get_option( 'wppb_two_factor_authentication_settings', 'not_found' );
458
+ if ( ( isset( $_GET['login_auth'] ) && $_GET['login_auth'] === 'true' ) || (
459
+ ( isset($wppb_two_factor_authentication_settings['enabled']) && $wppb_two_factor_authentication_settings['enabled'] === 'yes' ) &&
460
+ ( ( isset($wppb_two_factor_authentication_settings['show_code_field']) && (
461
+ $wppb_two_factor_authentication_settings['show_code_field'] === 'everywhere' ||
462
+ $wppb_two_factor_authentication_settings['show_code_field'] === 'frontend' ) ) ||
463
+ $show_2fa_field === 'yes' ) ) ){
464
+ add_action( 'login_form_middle', array( $wppb_google_auth, 'auth_code_field') );
465
+ }
466
+
467
  // initialize our form variable
468
  $login_form = '';
469
 
470
  // display our login errors
471
  if( ( isset( $_GET['loginerror'] ) || isset( $_POST['loginerror'] ) ) && isset( $_GET['_wpnonce'] ) ){
472
+ $error_string = urldecode( base64_decode( isset( $_GET['loginerror'] ) ? sanitize_text_field( $_GET['loginerror'] ) : sanitize_text_field( $_POST['loginerror'] ) ) );
473
+ if( wp_verify_nonce( sanitize_text_field( $_GET['_wpnonce'] ), 'wppb_login_error_'. $error_string ) ) {
474
  $loginerror = '<p class="wppb-error">' . wp_kses_post($error_string) . '</p><!-- .error -->';
475
  if (isset($_GET['request_form_location'])) {
476
  if ($_GET['request_form_location'] === 'widget' && !in_the_loop()) {
548
  function wppb_login_security_check( $user, $password ) {
549
  if( apply_filters( 'wppb_enable_csrf_token_login_form', false ) ){
550
  if (isset($_POST['wppb_login'])) {
551
+ if (!isset($_POST['CSRFToken-wppb']) || !wp_verify_nonce( sanitize_text_field( $_POST['CSRFToken-wppb'] ), 'wppb_login')) {
552
  $errorMessage = __('You are not allowed to do this.', 'profile-builder');
553
  return new WP_Error('wppb_login_csrf_token_error', $errorMessage);
554
  }
front-end/logout.php CHANGED
@@ -13,7 +13,16 @@
13
 
14
  $current_user = get_userdata( get_current_user_id() );
15
 
16
- extract( shortcode_atts( array( 'text' => sprintf( __('You are currently logged in as %s. ','profile-builder') ,$current_user->user_login) , 'redirect' => '', 'redirect_url' => wppb_curpageurl(), 'redirect_priority' => 'normal', 'link_text' => __('Log out &raquo;','profile-builder'), 'url_only' => '' ), $atts ) );
 
 
 
 
 
 
 
 
 
17
 
18
  if( ! empty( $redirect ) ) {
19
  $redirect_url = $redirect;
13
 
14
  $current_user = get_userdata( get_current_user_id() );
15
 
16
+ $wppb_generalSettings = get_option( 'wppb_general_settings' );
17
+
18
+ if( !empty( $wppb_generalSettings['loginWith'] ) && $wppb_generalSettings['loginWith'] == 'email' ) {
19
+ $display_username_email = $current_user->user_email;
20
+ }
21
+ else {
22
+ $display_username_email = $current_user->user_login;
23
+ }
24
+
25
+ extract(shortcode_atts(array('text' => sprintf(__('You are currently logged in as %s. ', 'profile-builder'), $display_username_email), 'redirect' => '', 'redirect_url' => wppb_curpageurl(), 'redirect_priority' => 'normal', 'link_text' => __('Log out &raquo;', 'profile-builder'), 'url_only' => ''), $atts));
26
 
27
  if( ! empty( $redirect ) ) {
28
  $redirect_url = $redirect;
front-end/recover.php CHANGED
@@ -74,27 +74,27 @@ function wppb_create_recover_password_form( $user, $post_data ){
74
 
75
  $recover_inputPassword = '
76
  <li class="wppb-form-field passw1">
77
- <label for="passw1">'. $password_label .'</label>
78
- <input class="password" name="passw1" type="password" id="passw1" value="" autocomplete="off" title="'. wppb_password_length_text() .'" '. apply_filters( 'wppb_recover_password_extra_attr', '', $password_label, 'password' ) .' />
79
  <span class="wppb-description-delimiter">'. wppb_password_length_text() .' '. wppb_password_strength_description() .'</span>
80
  </li><!-- .passw1 -->
81
- <input type="hidden" name="userData" value="'.$user->ID.'"/>
82
  <li class="wppb-form-field passw2">
83
- <label for="passw2">'. $repeat_password_label .'</label>
84
- <input class="password" name="passw2" type="password" id="passw2" value="" autocomplete="off" '. apply_filters( 'wppb_recover_password_extra_attr', '', $repeat_password_label, 'repeat_password' ) .' />
85
  </li><!-- .passw2 -->';
86
 
87
  /* if we have active the password strength checker */
88
  $recover_inputPassword .= wppb_password_strength_checker_html();
89
 
90
- echo apply_filters( 'wppb_recover_password_form_input', $recover_inputPassword, $passw_one, $passw_two, $user->ID );
91
  ?>
92
  </ul>
93
  <p class="form-submit">
94
  <?php $button_name = __('Reset Password', 'profile-builder'); ?>
95
- <input name="recover_password2" type="submit" id="wppb-recover-password-button" class="<?php echo apply_filters( 'wppb_recover_submit_class', "submit button" ); ?>" value="<?php echo apply_filters('wppb_recover_password_button_name1', $button_name); ?>" />
96
  <input name="action2" type="hidden" id="action2" value="recover_password2" />
97
- <input name="key" type="hidden" id="key" value="<?php echo esc_attr( $_GET['key'] ) ?>" />
98
  </p><!-- .form-submit -->
99
  <?php wp_nonce_field( 'verify_true_password_recovery2_'.$user->ID, 'password_recovery_nonce_field2' ); ?>
100
  </form><!-- #recover_password -->
@@ -124,20 +124,20 @@ function wppb_create_recover_password_form( $user, $post_data ){
124
  }
125
 
126
  $recover_notification .= '<br/>'.__( 'You will receive a link to create a new password via email.', 'profile-builder' ).'</p>';
127
- echo apply_filters( 'wppb_recover_password_message1', $recover_notification );
128
 
129
  $username_email = ( isset( $post_data['username_email'] ) ? $post_data['username_email'] : '' );
130
 
131
  $recover_input = '<ul>
132
  <li class="wppb-form-field wppb-username-email">
133
- <label for="username_email">'. $username_email_label .'</label>
134
- <input class="text-input" name="username_email" type="text" id="username_email" value="'.esc_attr( trim( $username_email ) ).'" '. apply_filters( 'wppb_recover_password_extra_attr', '', $username_email_label, 'username_email' ) .' />
135
  </li><!-- .username_email --></ul>';
136
- echo apply_filters( 'wppb_recover_password_generate_password_input', $recover_input, trim( $username_email ) );
137
  ?>
138
  <p class="form-submit">
139
  <?php $button_name = __('Get New Password', 'profile-builder'); ?>
140
- <input name="recover_password" type="submit" id="wppb-recover-password-button" class="<?php echo apply_filters( 'wppb_recover_submit_class', "submit button" );?>" value="<?php echo apply_filters('wppb_recover_password_button_name3', $button_name); ?>" />
141
  <input name="action" type="hidden" id="action" value="recover_password" />
142
  </p>
143
  <?php wp_nonce_field( 'verify_true_password_recovery', 'password_recovery_nonce_field' ); ?>
@@ -274,9 +274,13 @@ function wppb_front_end_password_recovery(){
274
  $wppb_generalSettings = get_option( 'wppb_general_settings' );
275
 
276
  // If the user entered an email/username, process the request
277
- if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'recover_password' && wp_verify_nonce($_POST['password_recovery_nonce_field'],'verify_true_password_recovery') ) {
278
  // filter must be applied on the $_POST variable so that the value returned to the form can be corrected too
279
- $username_email = apply_filters( 'wppb_before_processing_email_from_forms', $_POST['username_email'] ); //we get the raw data
 
 
 
 
280
 
281
  //check to see if it's an e-mail (and if this is valid/present in the database) or is a username
282
 
@@ -342,14 +346,17 @@ function wppb_front_end_password_recovery(){
342
  }
343
  }
344
  // If the user used the correct key-code, update his/her password
345
- elseif ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action2'] ) && $_POST['action2'] === 'recover_password2' && wp_verify_nonce( $_POST['password_recovery_nonce_field2'], 'verify_true_password_recovery2_'.absint( $_POST['userData'] ) ) ) {
346
 
347
  $password_change_message = '';
348
 
349
  if( ( !empty( $_POST['passw1'] ) && !empty( $_POST['passw2'] ) ) ){
350
 
351
  //get the login name and key and verify if they match the ones in the database
352
- $key = sanitize_text_field( $_POST['key'] );
 
 
 
353
 
354
  if( empty( $key ) ){
355
  $password_change_message = __('The key cannot be empty!', 'profile-builder');
@@ -368,7 +375,7 @@ function wppb_front_end_password_recovery(){
368
  }
369
 
370
  if( !empty( $wppb_generalSettings['minimum_password_length'] ) || ( isset( $_POST['wppb_password_strength'] ) && !empty( $wppb_generalSettings['minimum_password_strength'] ) ) ){
371
- if( wppb_check_password_length( $_POST['passw1'] ) ){
372
  $password_change_message = sprintf( __( "The password must have the minimum length of %s characters", "profile-builder" ), $wppb_generalSettings['minimum_password_length'] ) . '<br/>';
373
  $output .= wppb_password_recovery_error( $password_change_message, 'wppb_recover_password_password_changed_message2' );
374
  }
74
 
75
  $recover_inputPassword = '
76
  <li class="wppb-form-field passw1">
77
+ <label for="passw1">'. esc_html( $password_label ) .'</label>
78
+ <input class="password" name="passw1" type="password" id="passw1" value="" autocomplete="off" title="'. esc_attr( wppb_password_length_text() ).'" '. apply_filters( 'wppb_recover_password_extra_attr', '', esc_html( $password_label ), 'password' ) .' />
79
  <span class="wppb-description-delimiter">'. wppb_password_length_text() .' '. wppb_password_strength_description() .'</span>
80
  </li><!-- .passw1 -->
81
+ <input type="hidden" name="userData" value="'. esc_attr( $user->ID ).'"/>
82
  <li class="wppb-form-field passw2">
83
+ <label for="passw2">'. esc_html( $repeat_password_label ) .'</label>
84
+ <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' ) .' />
85
  </li><!-- .passw2 -->';
86
 
87
  /* if we have active the password strength checker */
88
  $recover_inputPassword .= wppb_password_strength_checker_html();
89
 
90
+ echo apply_filters( 'wppb_recover_password_form_input', $recover_inputPassword, $passw_one, $passw_two, $user->ID ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
91
  ?>
92
  </ul>
93
  <p class="form-submit">
94
  <?php $button_name = __('Reset Password', 'profile-builder'); ?>
95
+ <input name="recover_password2" type="submit" id="wppb-recover-password-button" class="<?php echo esc_attr( apply_filters( 'wppb_recover_submit_class', "submit button" ) ); ?>" value="<?php echo esc_attr( apply_filters('wppb_recover_password_button_name1', $button_name) ); ?>" />
96
  <input name="action2" type="hidden" id="action2" value="recover_password2" />
97
+ <input name="key" type="hidden" id="key" value="<?php echo esc_attr( isset( $_GET['key'] ) ? sanitize_text_field( $_GET['key'] ) : '' ) ?>" />
98
  </p><!-- .form-submit -->
99
  <?php wp_nonce_field( 'verify_true_password_recovery2_'.$user->ID, 'password_recovery_nonce_field2' ); ?>
100
  </form><!-- #recover_password -->
124
  }
125
 
126
  $recover_notification .= '<br/>'.__( 'You will receive a link to create a new password via email.', 'profile-builder' ).'</p>';
127
+ echo wp_kses_post( apply_filters( 'wppb_recover_password_message1', $recover_notification ) );
128
 
129
  $username_email = ( isset( $post_data['username_email'] ) ? $post_data['username_email'] : '' );
130
 
131
  $recover_input = '<ul>
132
  <li class="wppb-form-field wppb-username-email">
133
+ <label for="username_email">'. esc_html( $username_email_label ) .'</label>
134
+ <input class="text-input" name="username_email" type="text" id="username_email" value="'.esc_attr( trim( $username_email ) ).'" '. apply_filters( 'wppb_recover_password_extra_attr', '', esc_html( $username_email_label ), 'username_email' ) .' />
135
  </li><!-- .username_email --></ul>';
136
+ echo apply_filters( 'wppb_recover_password_generate_password_input', $recover_input, trim( $username_email ) ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
137
  ?>
138
  <p class="form-submit">
139
  <?php $button_name = __('Get New Password', 'profile-builder'); ?>
140
+ <input name="recover_password" type="submit" id="wppb-recover-password-button" class="<?php echo esc_attr( apply_filters( 'wppb_recover_submit_class', "submit button" ) );?>" value="<?php echo esc_attr( apply_filters('wppb_recover_password_button_name3', $button_name) ); ?>" />
141
  <input name="action" type="hidden" id="action" value="recover_password" />
142
  </p>
143
  <?php wp_nonce_field( 'verify_true_password_recovery', 'password_recovery_nonce_field' ); ?>
274
  $wppb_generalSettings = get_option( 'wppb_general_settings' );
275
 
276
  // If the user entered an email/username, process the request
277
+ if ( isset( $_SERVER['REQUEST_METHOD'] ) && 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'recover_password' && isset( $_POST['password_recovery_nonce_field'] ) && wp_verify_nonce( sanitize_text_field( $_POST['password_recovery_nonce_field'] ),'verify_true_password_recovery') ) {
278
  // filter must be applied on the $_POST variable so that the value returned to the form can be corrected too
279
+
280
+ if( !empty( $_POST['username_email'] ) )
281
+ $username_email = apply_filters( 'wppb_before_processing_email_from_forms', sanitize_text_field( $_POST['username_email'] ) ); //we get the raw data
282
+ else
283
+ $username_email = '';
284
 
285
  //check to see if it's an e-mail (and if this is valid/present in the database) or is a username
286
 
346
  }
347
  }
348
  // If the user used the correct key-code, update his/her password
349
+ elseif ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action2'] ) && $_POST['action2'] === 'recover_password2' && isset( $_POST['password_recovery_nonce_field2'] ) && isset( $_POST['userData'] ) && wp_verify_nonce( sanitize_text_field( $_POST['password_recovery_nonce_field2'] ), 'verify_true_password_recovery2_'.absint( sanitize_text_field( $_POST['userData'] ) ) ) ) {
350
 
351
  $password_change_message = '';
352
 
353
  if( ( !empty( $_POST['passw1'] ) && !empty( $_POST['passw2'] ) ) ){
354
 
355
  //get the login name and key and verify if they match the ones in the database
356
+ if( isset( $_POST['key'] ) )
357
+ $key = sanitize_text_field( $_POST['key'] );
358
+ else
359
+ $key = '';
360
 
361
  if( empty( $key ) ){
362
  $password_change_message = __('The key cannot be empty!', 'profile-builder');
375
  }
376
 
377
  if( !empty( $wppb_generalSettings['minimum_password_length'] ) || ( isset( $_POST['wppb_password_strength'] ) && !empty( $wppb_generalSettings['minimum_password_strength'] ) ) ){
378
+ if( wppb_check_password_length( $_POST['passw1'] ) ){//phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
379
  $password_change_message = sprintf( __( "The password must have the minimum length of %s characters", "profile-builder" ), $wppb_generalSettings['minimum_password_length'] ) . '<br/>';
380
  $output .= wppb_password_recovery_error( $password_change_message, 'wppb_recover_password_password_changed_message2' );
381
  }
front-end/register.php CHANGED
@@ -198,7 +198,8 @@ function wppb_default_registration_redirect( $user_id ) {
198
  $user_data = get_userdata( $user_id );
199
 
200
  // CHECK FOR REDIRECT
201
- $_POST['redirect_to'] = apply_filters( 'wppb_after_registration_redirect_url', wppb_get_redirect_url( 'normal', 'after_registration', esc_url( $_POST['redirect_to'] ), $user_data ) );
 
202
 
203
  }
204
  add_action( 'register_new_user', 'wppb_default_registration_redirect' );
198
  $user_data = get_userdata( $user_id );
199
 
200
  // CHECK FOR REDIRECT
201
+ if( isset( $_POST['redirect_to'] ) )
202
+ $_POST['redirect_to'] = apply_filters( 'wppb_after_registration_redirect_url', wppb_get_redirect_url( 'normal', 'after_registration', esc_url_raw( $_POST['redirect_to'] ), $user_data ) );
203
 
204
  }
205
  add_action( 'register_new_user', 'wppb_default_registration_redirect' );
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.5.0
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.5.0' );
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__));
@@ -143,6 +143,13 @@ function wppb_free_plugin_init() {
143
  include_once(WPPB_PLUGIN_DIR . '/features/roles-editor/roles-editor.php');
144
  include_once(WPPB_PLUGIN_DIR . '/features/content-restriction/content-restriction.php');
145
 
 
 
 
 
 
 
 
146
  if (file_exists(WPPB_PLUGIN_DIR . '/update/update-checker.php')) {
147
  include_once(WPPB_PLUGIN_DIR . '/update/update-checker.php');
148
  include_once(WPPB_PLUGIN_DIR . '/admin/register-version.php');
@@ -254,7 +261,7 @@ if (file_exists( plugin_dir_path(__FILE__) . '/front-end/extra-fields/upload/upl
254
  /* add a redirect when plugin is activated */
255
  if( !function_exists( 'wppb_activate_plugin_redirect' ) ){
256
  function wppb_activate_plugin_redirect( $plugin ) {
257
- if( $plugin == plugin_basename( __FILE__ ) ) {
258
  wp_safe_redirect( admin_url( 'admin.php?page=profile-builder-basic-info' ) );
259
  exit();
260
  }
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.5.1
7
  Author: Cozmoslabs
8
  Author URI: https://www.cozmoslabs.com/
9
  Text Domain: profile-builder
70
  *
71
  *
72
  */
73
+ define('PROFILE_BUILDER_VERSION', '3.5.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__));
143
  include_once(WPPB_PLUGIN_DIR . '/features/roles-editor/roles-editor.php');
144
  include_once(WPPB_PLUGIN_DIR . '/features/content-restriction/content-restriction.php');
145
 
146
+ /* include 2fa class */
147
+ if (file_exists(WPPB_PLUGIN_DIR . '/features/two-factor-authentication/class-two-factor-authentication.php')){
148
+ include_once(WPPB_PLUGIN_DIR . '/features/two-factor-authentication/class-two-factor-authentication.php');
149
+ new WPPB_Two_Factor_Authenticator ();
150
+ }
151
+
152
+
153
  if (file_exists(WPPB_PLUGIN_DIR . '/update/update-checker.php')) {
154
  include_once(WPPB_PLUGIN_DIR . '/update/update-checker.php');
155
  include_once(WPPB_PLUGIN_DIR . '/admin/register-version.php');
261
  /* add a redirect when plugin is activated */
262
  if( !function_exists( 'wppb_activate_plugin_redirect' ) ){
263
  function wppb_activate_plugin_redirect( $plugin ) {
264
+ if( !wp_doing_ajax() && $plugin == plugin_basename( __FILE__ ) ) {
265
  wp_safe_redirect( admin_url( 'admin.php?page=profile-builder-basic-info' ) );
266
  exit();
267
  }
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
- === User Registration & User Profile - Profile Builder ===
2
- Contributors: cozmoslabs, reflectionmedia, sareiodata, adispiac, madalin.ungureanu, iova.mihai, barinagabriel, vadasan
3
  Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
4
- Tags: user registration, user profile, user registration form, user fields, registration, edit profile, user custom fields, front-end login, front-end edit profile, front-end user registration, email confirmation, login form, content restriction, restrict content, profile
5
  Requires at least: 3.1
6
- Tested up to: 5.8
7
- Stable tag: 3.5.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,7 +12,7 @@ Powerful user profile plugin for creating front-end login, user registration and
12
 
13
  == Description ==
14
 
15
- **[Profile Builder](http://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree) is the all in one user profile plugin for WordPress.**
16
 
17
  Easy to use [user profile plugin](https://www.cozmoslabs.com/154636-best-wordpress-user-profile-plugins-compared/) for creating front-end login, user registration and edit profile forms by using shortcodes.
18
 
@@ -114,11 +114,11 @@ For more functionality check out [Profile Builder Add-ons page](http://www.cozmo
114
 
115
  = Documentation =
116
 
117
- Please visit the [documentation page](https://www.cozmoslabs.com/docs/profile-builder-2/) for this plugin
118
 
119
  = Website =
120
 
121
- For more details visit our [website](http://www.cozmoslabs.com/wordpress-profile-builder/)
122
 
123
  = Profile Builder in your Language =
124
  We're focusing on translating Profile Builder in as many languages as we can. So far, the translations for 10 languages are almost complete, but we still need help on a lot of other languages, so please join us at [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/profile-builder)
@@ -138,6 +138,14 @@ This plugin adds/removes user fields in the front-end. Both default and extra pr
138
 
139
  == Frequently Asked Questions ==
140
 
 
 
 
 
 
 
 
 
141
  = I navigated away from Profile Builder and now I can�t find it anymore; where is it? =
142
 
143
  Profile Builder can be found in the default menu of your WordPress installation below the �Users� menu item.
@@ -148,8 +156,7 @@ This plugin adds/removes user fields in the front-end. Both default and extra pr
148
 
149
  = I can’t find a question similar to my issue; Where can I find support? =
150
 
151
- For more information please visit http://www.cozmoslabs.com and check out the documentation section from Profile Builder - front-end user registration plugin.
152
-
153
 
154
  == Screenshots ==
155
  1. Basic Information - Profile Builder, user registration plugin
@@ -169,6 +176,13 @@ This plugin adds/removes user fields in the front-end. Both default and extra pr
169
  15. Edit or Add New User Role
170
 
171
  == Changelog ==
 
 
 
 
 
 
 
172
  = 3.5.0 =
173
  * Fix: Issue with missing dependency for a script
174
  * Fix: Issue with Multiple Admin Emails
1
+ === Profile Builder - User Profile & User Registration Forms ===
2
+ Contributors: cozmoslabs, reflectionmedia, sareiodata, adispiac, madalin.ungureanu, iova.mihai, barinagabriel
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.0
7
+ Stable tag: 3.5.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
15
+ **[Profile Builder](http://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree) is the all in one user profile and registration plugin for WordPress.**
16
 
17
  Easy to use [user profile plugin](https://www.cozmoslabs.com/154636-best-wordpress-user-profile-plugins-compared/) for creating front-end login, user registration and edit profile forms by using shortcodes.
18
 
114
 
115
  = Documentation =
116
 
117
+ Please visit the [documentation page](https://www.cozmoslabs.com/docs/profile-builder-2/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree) for this plugin
118
 
119
  = Website =
120
 
121
+ For more details visit our [website](http://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree)
122
 
123
  = Profile Builder in your Language =
124
  We're focusing on translating Profile Builder in as many languages as we can. So far, the translations for 10 languages are almost complete, but we still need help on a lot of other languages, so please join us at [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/profile-builder)
138
 
139
  == Frequently Asked Questions ==
140
 
141
+ = How do I display the user registration and user profile forms in the front-end? =
142
+
143
+ You simply need to add the following shorcodes: **[wppb-register]** & **[wppb-edit-profile]** to a page and publish it. Or you can use the plugin setup wizard to create the pages for you.
144
+
145
+ = Is Profile Builder user registration plugin compatible with page builders like Elementor, Divi, etc.? =
146
+
147
+ Yes, Profile Builder is fully compatible with [Elementor](https://www.cozmoslabs.com/304814-elementor-register-form-free/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree), Divi, Gutenberg, Brizy, Visual Composer and more.
148
+
149
  = I navigated away from Profile Builder and now I can�t find it anymore; where is it? =
150
 
151
  Profile Builder can be found in the default menu of your WordPress installation below the �Users� menu item.
156
 
157
  = I can’t find a question similar to my issue; Where can I find support? =
158
 
159
+ For more information please check out the [documentation section](https://www.cozmoslabs.com/docs/profile-builder-2/) from Profile Builder - front-end user registration plugin.
 
160
 
161
  == Screenshots ==
162
  1. Basic Information - Profile Builder, user registration plugin
176
  15. Edit or Add New User Role
177
 
178
  == Changelog ==
179
+ = 3.5.1 =
180
+ * Fix: Compatibility issue with the new admin page header from Elementor
181
+ * Fix: A potential notice generated by user roles without role names
182
+ * Misc: Security review
183
+ * Misc: Logout shortcode and Email Confirmation email subject to display user email instead of username when Allow Users to Login With is set to Email Only
184
+ * Misc: Fix issue when activating Profile Builder from the Paid Member Subscriptions add-ons page
185
+
186
  = 3.5.0 =
187
  * Fix: Issue with missing dependency for a script
188
  * Fix: Issue with Multiple Admin Emails
translation/profile-builder.catalog.php CHANGED
@@ -114,21 +114,6 @@
114
  <?php __("Show users that require review", "profile-builder"); ?>
115
  <?php __("Show reviewed users with unapproved fields", "profile-builder"); ?>
116
  <?php __("Exit Review Mode", "profile-builder"); ?>
117
- <?php __("Visibility", "profile-builder"); ?>
118
- <?php __("<strong>Admin Only</strong> field is visible only for administrators. <strong>User Locked</strong> field is visible for both administrators and users, but only administrators have the capability to edit it.", "profile-builder"); ?>
119
- <?php __("User Role Visibility", "profile-builder"); ?>
120
- <?php __("Select which user roles see this field", "profile-builder"); ?>
121
- <?php __("Location Visibility", "profile-builder"); ?>
122
- <?php __("Select the locations you wish the field to appear", "profile-builder"); ?>
123
- <?php __("<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre><pre class=\"wppb-mb-head-visibility\"></pre>", "profile-builder"); ?>
124
- <?php __("Edit", "profile-builder"); ?>
125
- <?php __("Delete", "profile-builder"); ?>
126
- <?php __("This field is visible only for administrators.", "profile-builder"); ?>
127
- <?php __("This field is visible for both administrators and users, but only administrators have the capability to edit it.", "profile-builder"); ?>
128
- <?php __("This field is visible only for the following user roles: %1$s", "profile-builder"); ?>
129
- <?php __("This field is visible only in the following locations: %1$s", "profile-builder"); ?>
130
- <?php __("Get file", "profile-builder"); ?>
131
- <?php __("You do not have the capabilities necessary to edit this field.", "profile-builder"); ?>
132
  <?php __("MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!", "profile-builder"); ?>
133
  <?php __("Step", "profile-builder"); ?>
134
  <?php __("Title for Tab", "profile-builder"); ?>
@@ -389,9 +374,11 @@
389
  <?php __("Admin Bar Settings", "profile-builder"); ?>
390
  <?php __("Choose which user roles view the admin bar in the front-end of the website.", "profile-builder"); ?>
391
  <?php __("User-Role", "profile-builder"); ?>
 
392
  <?php __("Default", "profile-builder"); ?>
393
  <?php __("Show", "profile-builder"); ?>
394
  <?php __("Hide", "profile-builder"); ?>
 
395
  <?php __("Login is set to be done using the Email. This field will NOT appear in the front-end! ( you can change these settings under the \"%s\" tab )", "profile-builder"); ?>
396
  <?php __("Display name publicly as - only appears on the Edit Profile page!", "profile-builder"); ?>
397
  <?php __("Blog Details - only appears on the Registration page!", "profile-builder"); ?>
@@ -410,6 +397,7 @@
410
  <?php __("Dismiss this notice.", "profile-builder"); ?>
411
  <?php __("You can now style %s forms from the %s interface. To get started, add a form widget to a page through %s and go to the <strong>Style</strong> tab.", "profile-builder"); ?>
412
  <?php __("Basic Information", "profile-builder"); ?>
 
413
  <?php __("<strong>Profile Builder </strong> %s", "profile-builder"); ?>
414
  <?php __("The best way to add front-end registration, edit profile and login forms.", "profile-builder"); ?>
415
  <?php __("You can see all the pages with Profile Builder form shortcodes here:", "profile-builder"); ?>
@@ -482,6 +470,7 @@
482
  <?php __("Hard to use", "profile-builder"); ?>
483
  <?php __("How can we improve our user experience ?", "profile-builder"); ?>
484
  <?php __("Unsatisfactory support", "profile-builder"); ?>
 
485
  <?php __("Other", "profile-builder"); ?>
486
  <?php __("Please tell us more", "profile-builder"); ?>
487
  <?php __("Poor Documentation", "profile-builder"); ?>
@@ -491,6 +480,7 @@
491
  <?php __("Submit and Deactivate", "profile-builder"); ?>
492
  <?php __("Admin Bar", "profile-builder"); ?>
493
  <?php __("Private Website", "profile-builder"); ?>
 
494
  <?php __("Advanced Settings", "profile-builder"); ?>
495
  <?php __("Forms", "profile-builder"); ?>
496
  <?php __("Fields", "profile-builder"); ?>
@@ -531,6 +521,8 @@
531
  <?php __("Disabled", "profile-builder"); ?>
532
  <?php __("Form Fields", "profile-builder"); ?>
533
  <?php __("Manage Form Fields", "profile-builder"); ?>
 
 
534
  <?php __("Choose one of the supported field types", "profile-builder"); ?>
535
  <?php __(". Extra Field Types are available in <a href=\"%s\">Hobbyist or PRO versions</a>.", "profile-builder"); ?>
536
  <?php __("Use this in conjunction with WordPress functions to display the value in the page of your choosing<br/>Auto-completed but in some cases editable (in which case it must be unique)<br/>Changing this will only affect subsequent entries", "profile-builder"); ?>
@@ -917,6 +909,7 @@
917
  <?php __("Albania Lek", "profile-builder"); ?>
918
  <?php __("Afghanistan Afghani", "profile-builder"); ?>
919
  <?php __("Argentina Peso", "profile-builder"); ?>
 
920
  <?php __("Australia Dollar", "profile-builder"); ?>
921
  <?php __("Azerbaijan New Manat", "profile-builder"); ?>
922
  <?php __("Bahamas Dollar", "profile-builder"); ?>
@@ -1048,6 +1041,8 @@
1048
  <?php __("The following option(s) did not coincide with the ones in the options list: %s\n", "profile-builder"); ?>
1049
  <?php __("Please select at least one user role\n", "profile-builder"); ?>
1050
  <?php __("<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre>", "profile-builder"); ?>
 
 
1051
  <?php __("Use these shortcodes on the pages you want the forms to be displayed:", "profile-builder"); ?>
1052
  <?php __("With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms add-on.", "profile-builder"); ?>
1053
  <?php __("If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Add-ons.", "profile-builder"); ?>
@@ -1074,6 +1069,7 @@
1074
  <?php __("Plugin has been deactivated.", "profile-builder"); ?>
1075
  <?php __("Free", "profile-builder"); ?>
1076
  <?php __("Accept user payments, create subscription plans and restrict content on your website.", "profile-builder"); ?>
 
1077
  <?php __("Install Now", "profile-builder"); ?>
1078
  <?php __("Download Now", "profile-builder"); ?>
1079
  <?php __("Compatible with your version of Profile Builder.", "profile-builder"); ?>
@@ -1096,7 +1092,6 @@
1096
  <?php __("We recommend \"<a href=\"%s\" target=\"_blank\">Custom Profile Menus</a>\" addon if you need different menu items for logged in / logged out users.", "profile-builder"); ?>
1097
  <?php __("Disable REST-API", "profile-builder"); ?>
1098
  <?php __("Disable the WordPress REST-API for non-logged in users when Private Website is enabled", "profile-builder"); ?>
1099
- <?php __("Save Changes", "profile-builder"); ?>
1100
  <?php __("Profile Builder Register", "profile-builder"); ?>
1101
  <?php __("Register Your Version", "profile-builder"); ?>
1102
  <?php __("Register Version", "profile-builder"); ?>
@@ -1112,10 +1107,10 @@
1112
  <?php __("The serial number entered couldn't be validated!", "profile-builder"); ?>
1113
  <?php __("The serial number was successfully validated!", "profile-builder"); ?>
1114
  <?php __("(e.g. CLPB-15-SN-253a55baa4fbe7bf595b2aabb8d72985)", "profile-builder"); ?>
1115
- <?php __("<p>Your <strong>Profile Builder</strong> license is about to expire on %5$s. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %6$sDismiss%7$s</p>", "profile-builder"); ?>
1116
- <?php __("<p>Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %5$sDismiss%6$s</p>", "profile-builder"); ?>
1117
- <?php __("<p>Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s</p>", "profile-builder"); ?>
1118
- <?php __("<p>Your <strong>Profile Builder</strong> serial number is invalid or missing. <br/>Please %1$sregister your copy%2$s to receive access to automatic updates and support. Need a license key? %3$sPurchase one now%4$s</p>", "profile-builder"); ?>
1119
  <?php __("Hello! Seems like you've been using Profile Builder to create front-end user forms. That's awesome!", "profile-builder"); ?>
1120
  <?php __("If you can spare a few moments to rate it on WordPress.org, it would help us a lot (and boost my motivation).", "profile-builder"); ?>
1121
  <?php __("~ Paul, developer of Profile Builder", "profile-builder"); ?>
@@ -1124,6 +1119,7 @@
1124
  <?php __("If you enjoy using <strong> %1$s </strong> please <a href=\"%2$s\" target=\"_blank\">rate us on WordPress.org</a>. More happy users means more features, less bugs and better support for everyone. ", "profile-builder"); ?>
1125
  <?php __("GDPR Checkbox", "profile-builder"); ?>
1126
  <?php __("I allow the website to collect and store the data I submit through this form.", "profile-builder"); ?>
 
1127
  <?php __("Strength indicator", "profile-builder"); ?>
1128
  <?php __("Very Weak", "profile-builder"); ?>
1129
  <?php __("Minimum length of %d characters.", "profile-builder"); ?>
@@ -1137,6 +1133,8 @@
1137
  <?php __("You will soon be redirected automatically. If you see this page for more than %1$d seconds, please click %2$s.%3$s", "profile-builder"); ?>
1138
  <?php __("No feed available,please visit our <a href=\"%s\">homepage</a>!", "profile-builder"); ?>
1139
  <?php __("You are not currently logged in.", "profile-builder"); ?>
 
 
1140
  <?php __("The role of the created user set to the default role. Only an administrator can register a user with the role assigned to this form.", "profile-builder"); ?>
1141
  <?php __("You must be logged in to edit your profile.", "profile-builder"); ?>
1142
  <?php __("You are currently logged in as %1s. You don't need another account. %2s", "profile-builder"); ?>
@@ -1158,6 +1156,7 @@
1158
  <?php __("User to edit:", "profile-builder"); ?>
1159
  <?php __("Select User", "profile-builder"); ?>
1160
  <?php __("Something went wrong. Please try again!", "profile-builder"); ?>
 
1161
  <?php __("Username or Email Address", "profile-builder"); ?>
1162
  <?php __("Remember Me", "profile-builder"); ?>
1163
  <?php __("Log In", "profile-builder"); ?>
@@ -1225,6 +1224,7 @@
1225
  <?php __("Redirect URL", "profile-builder"); ?>
1226
  <?php __("Can contain the following dynamic tags:{{homeurl}}, {{siteurl}}, {{user_id}}, {{user_nicename}}, {{http_referer}}", "profile-builder"); ?>
1227
  <?php __("Individual User Redirects", "profile-builder"); ?>
 
1228
  <?php __("User Role", "profile-builder"); ?>
1229
  <?php __("Select a user role.", "profile-builder"); ?>
1230
  <?php __("User Role based Redirects", "profile-builder"); ?>
@@ -1255,6 +1255,7 @@
1255
  <?php __("You can't add duplicate redirects!", "profile-builder"); ?>
1256
  <?php __("Admin Email Customizer", "profile-builder"); ?>
1257
  <?php __("Admin Email Customizer Settings", "profile-builder"); ?>
 
1258
  <?php __("These settings are also replicated in the \"User Email Customizer\" settings-page upon save.", "profile-builder"); ?>
1259
  <?php __("Valid tags {{reply_to}} and {{site_name}}", "profile-builder"); ?>
1260
  <?php __("From (name)", "profile-builder"); ?>
@@ -1503,10 +1504,13 @@
1503
  <?php __("Your account has to be confirmed by an administrator before you can use the \"Password Recovery\" feature.", "profile-builder"); ?>
1504
  <?php __("Your account has been successfully created!", "profile-builder"); ?>
1505
  <?php __("Something went wrong!", "profile-builder"); ?>
 
1506
  <?php __("User not approved!", "profile-builder"); ?>
 
1507
  <?php __("Do you wish to unapprove the registration?", "profile-builder"); ?>
1508
  <?php __("Do you wish to approve the registration?", "profile-builder"); ?>
1509
  <?php __("The approval link is not valid! Please <a href=\"%s\"> log in </a> to approve the user manually. ", "profile-builder"); ?>
 
1510
  <?php __("delete this user?", "profile-builder"); ?>
1511
  <?php __("approve this user?", "profile-builder"); ?>
1512
  <?php __("Approve", "profile-builder"); ?>
@@ -1520,6 +1524,8 @@
1520
  <?php __("Do you want to bulk approve the selected users?", "profile-builder"); ?>
1521
  <?php __("Pending", "profile-builder"); ?>
1522
  <?php __("All Users", "profile-builder"); ?>
 
 
1523
  <?php __("Conditional Logic", "profile-builder"); ?>
1524
  <?php __("Conditional Rules", "profile-builder"); ?>
1525
  <?php __("This field has conditional logic enabled.", "profile-builder"); ?>
@@ -1537,6 +1543,7 @@
1537
  <?php __("Text", "profile-builder"); ?>
1538
  <?php __("Template", "profile-builder"); ?>
1539
  <?php __("Select Template", "profile-builder"); ?>
 
1540
  <?php __("You must be logged in to view the comments.", "profile-builder"); ?>
1541
  <?php __("Comments are restricted for your user role.", "profile-builder"); ?>
1542
  <?php __("This content is restricted for your user role.", "profile-builder"); ?>
@@ -1567,7 +1574,6 @@
1567
  <?php __("Show the first %s words of the post's content", "profile-builder"); ?>
1568
  <?php __("Show the content before the \"more\" tag", "profile-builder"); ?>
1569
  <?php __("Show a portion of the restricted post to logged-out users or users that are not allowed to see it.", "profile-builder"); ?>
1570
- <?php __("User Meta", "profile-builder"); ?>
1571
  <?php __("show", "profile-builder"); ?>
1572
  <?php __("delete this user from the _signups table?", "profile-builder"); ?>
1573
  <?php __("confirm this email yourself?", "profile-builder"); ?>
@@ -1597,6 +1603,15 @@
1597
  <?php __("After login redirect URL (optional):", "profile-builder"); ?>
1598
  <?php __("Register page URL (optional):", "profile-builder"); ?>
1599
  <?php __("Password Recovery page URL (optional):", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
1600
  <?php __("Capability", "profile-builder"); ?>
1601
  <?php __("You can't delete this capability from your role.", "profile-builder"); ?>
1602
  <?php __("Add New Role", "profile-builder"); ?>
@@ -1606,22 +1621,75 @@
1606
  <?php __("Search the Roles Editor", "profile-builder"); ?>
1607
  <?php __("No roles found", "profile-builder"); ?>
1608
  <?php __("No roles found in trash", "profile-builder"); ?>
 
1609
  <?php __("Role updated.", "profile-builder"); ?>
1610
  <?php __("Custom field updated.", "profile-builder"); ?>
1611
  <?php __("Custom field deleted.", "profile-builder"); ?>
 
1612
  <?php __("Role created.", "profile-builder"); ?>
1613
  <?php __("Role saved.", "profile-builder"); ?>
1614
  <?php __("Role submitted.", "profile-builder"); ?>
1615
  <?php __("Role scheduled for: <strong>%1$s</strong>", "profile-builder"); ?>
 
1616
  <?php __("Role draft updated.", "profile-builder"); ?>
1617
  <?php __("Role Name", "profile-builder"); ?>
1618
  <?php __("Capabilities", "profile-builder"); ?>
1619
  <?php __("Users", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1620
  <?php __("Clone", "profile-builder"); ?>
 
1621
  <?php __("Change Default", "profile-builder"); ?>
1622
  <?php __("You can't delete the default role. Change it first.", "profile-builder"); ?>
1623
  <?php __("You can't delete your role.", "profile-builder"); ?>
1624
  <?php __("Edit User Roles", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1625
  <?php __("The usernames cannot be changed.", "profile-builder"); ?>
1626
  <?php __("This Profile Builder add-on has been migrated to the main plugin and is no longer used. You can delete it.", "profile-builder"); ?>
1627
  <?php __("Limit", "profile-builder"); ?>
@@ -1639,7 +1707,9 @@
1639
  <?php __("Repeatable fields saved!", "profile-builder"); ?>
1640
  <?php __("Please enter a unique field title.", "profile-builder"); ?>
1641
  <?php __("Please enter a unique field title.\n", "profile-builder"); ?>
 
1642
  <?php __("Delete this item", "profile-builder"); ?>
 
1643
  <?php __("Profile Builder Forms", "profile-builder"); ?>
1644
  <?php __("Yes, I'd like to create a new site", "profile-builder"); ?>
1645
  <?php __("Your site url will look like this:<br>", "profile-builder"); ?>
@@ -1667,6 +1737,7 @@
1667
  <?php __("This username is already reserved to be used soon.", "profile-builder"); ?>
1668
  <?php __("Remove", "profile-builder"); ?>
1669
  <?php __("required", "profile-builder"); ?>
 
1670
  <?php __("You must enter a valid URL.", "profile-builder"); ?>
1671
  <?php __("Please add the Google Maps API key for this field.", "profile-builder"); ?>
1672
  <?php __("Something went wrong. Please try again.", "profile-builder"); ?>
@@ -1751,8 +1822,8 @@
1751
  <?php __("Always show edit other users dropdown", "profile-builder"); ?>
1752
  <?php __("For perfomance reasons, we disable the select if you have more than 5000 users on your website. This option lets you enable it again.", "profile-builder"); ?>
1753
  <?php __("Consider 'Anyone can Register' WordPress option", "profile-builder"); ?>
1754
- <?php __("setting", "profile-builder"); ?>
1755
  <?php __("By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it.", "profile-builder"); ?>
 
1756
  <?php __("Modify default Redirect Delay timer", "profile-builder"); ?>
1757
  <?php __("This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen.", "profile-builder"); ?>
1758
  <?php __("The default is 3 seconds. Leave empty if you do not want to change it.", "profile-builder"); ?>
@@ -1795,7 +1866,9 @@
1795
  <?php __("Remove repetition counts from Faceted Menus", "profile-builder"); ?>
1796
  <?php __("The number of users that share a particular value is shown for the Select and Checkbox facet types.", "profile-builder"); ?>
1797
  <?php __("If you enable this option they will be hidden.", "profile-builder"); ?>
 
1798
  <?php __("Select or type in an option", "profile-builder"); ?>
 
1799
  <?php __("Background", "profile-builder"); ?>
1800
  <?php __("Color", "profile-builder"); ?>
1801
  <?php __("Width", "profile-builder"); ?>
@@ -1807,10 +1880,12 @@
1807
  <?php __("Form Settings", "profile-builder"); ?>
1808
  <?php __("Registration", "profile-builder"); ?>
1809
  <?php __("Enter URL", "profile-builder"); ?>
 
1810
  <?php __("Redirects", "profile-builder"); ?>
1811
  <?php __("Form", "profile-builder"); ?>
1812
  <?php __("Assigned Role", "profile-builder"); ?>
1813
  <?php __("Automatic Login", "profile-builder"); ?>
 
1814
  <?php __("Redirect after Edit Profile", "profile-builder"); ?>
1815
  <?php __("Redirect after Registration", "profile-builder"); ?>
1816
  <?php __("Redirect after Logout", "profile-builder"); ?>
114
  <?php __("Show users that require review", "profile-builder"); ?>
115
  <?php __("Show reviewed users with unapproved fields", "profile-builder"); ?>
116
  <?php __("Exit Review Mode", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  <?php __("MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!", "profile-builder"); ?>
118
  <?php __("Step", "profile-builder"); ?>
119
  <?php __("Title for Tab", "profile-builder"); ?>
374
  <?php __("Admin Bar Settings", "profile-builder"); ?>
375
  <?php __("Choose which user roles view the admin bar in the front-end of the website.", "profile-builder"); ?>
376
  <?php __("User-Role", "profile-builder"); ?>
377
+ <?php __("Visibility", "profile-builder"); ?>
378
  <?php __("Default", "profile-builder"); ?>
379
  <?php __("Show", "profile-builder"); ?>
380
  <?php __("Hide", "profile-builder"); ?>
381
+ <?php __("Save Changes", "profile-builder"); ?>
382
  <?php __("Login is set to be done using the Email. This field will NOT appear in the front-end! ( you can change these settings under the \"%s\" tab )", "profile-builder"); ?>
383
  <?php __("Display name publicly as - only appears on the Edit Profile page!", "profile-builder"); ?>
384
  <?php __("Blog Details - only appears on the Registration page!", "profile-builder"); ?>
397
  <?php __("Dismiss this notice.", "profile-builder"); ?>
398
  <?php __("You can now style %s forms from the %s interface. To get started, add a form widget to a page through %s and go to the <strong>Style</strong> tab.", "profile-builder"); ?>
399
  <?php __("Basic Information", "profile-builder"); ?>
400
+ <?php __("Version %s", "profile-builder"); ?>
401
  <?php __("<strong>Profile Builder </strong> %s", "profile-builder"); ?>
402
  <?php __("The best way to add front-end registration, edit profile and login forms.", "profile-builder"); ?>
403
  <?php __("You can see all the pages with Profile Builder form shortcodes here:", "profile-builder"); ?>
470
  <?php __("Hard to use", "profile-builder"); ?>
471
  <?php __("How can we improve our user experience ?", "profile-builder"); ?>
472
  <?php __("Unsatisfactory support", "profile-builder"); ?>
473
+ <?php __("Give us another try! Open a support ticket <a href='https://www.cozmoslabs.com/support/open-ticket/' target='_blank'>here</a>", "profile-builder"); ?>
474
  <?php __("Other", "profile-builder"); ?>
475
  <?php __("Please tell us more", "profile-builder"); ?>
476
  <?php __("Poor Documentation", "profile-builder"); ?>
480
  <?php __("Submit and Deactivate", "profile-builder"); ?>
481
  <?php __("Admin Bar", "profile-builder"); ?>
482
  <?php __("Private Website", "profile-builder"); ?>
483
+ <?php __("Two-Factor Authentication", "profile-builder"); ?>
484
  <?php __("Advanced Settings", "profile-builder"); ?>
485
  <?php __("Forms", "profile-builder"); ?>
486
  <?php __("Fields", "profile-builder"); ?>
521
  <?php __("Disabled", "profile-builder"); ?>
522
  <?php __("Form Fields", "profile-builder"); ?>
523
  <?php __("Manage Form Fields", "profile-builder"); ?>
524
+ <?php __("Standard", "profile-builder"); ?>
525
+ <?php __("Advanced", "profile-builder"); ?>
526
  <?php __("Choose one of the supported field types", "profile-builder"); ?>
527
  <?php __(". Extra Field Types are available in <a href=\"%s\">Hobbyist or PRO versions</a>.", "profile-builder"); ?>
528
  <?php __("Use this in conjunction with WordPress functions to display the value in the page of your choosing<br/>Auto-completed but in some cases editable (in which case it must be unique)<br/>Changing this will only affect subsequent entries", "profile-builder"); ?>
909
  <?php __("Albania Lek", "profile-builder"); ?>
910
  <?php __("Afghanistan Afghani", "profile-builder"); ?>
911
  <?php __("Argentina Peso", "profile-builder"); ?>
912
+ <?php __("Aruba Guilder", "profile-builder"); ?>
913
  <?php __("Australia Dollar", "profile-builder"); ?>
914
  <?php __("Azerbaijan New Manat", "profile-builder"); ?>
915
  <?php __("Bahamas Dollar", "profile-builder"); ?>
1041
  <?php __("The following option(s) did not coincide with the ones in the options list: %s\n", "profile-builder"); ?>
1042
  <?php __("Please select at least one user role\n", "profile-builder"); ?>
1043
  <?php __("<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre>", "profile-builder"); ?>
1044
+ <?php __("Edit", "profile-builder"); ?>
1045
+ <?php __("Delete", "profile-builder"); ?>
1046
  <?php __("Use these shortcodes on the pages you want the forms to be displayed:", "profile-builder"); ?>
1047
  <?php __("With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms add-on.", "profile-builder"); ?>
1048
  <?php __("If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Add-ons.", "profile-builder"); ?>
1069
  <?php __("Plugin has been deactivated.", "profile-builder"); ?>
1070
  <?php __("Free", "profile-builder"); ?>
1071
  <?php __("Accept user payments, create subscription plans and restrict content on your website.", "profile-builder"); ?>
1072
+ <?php __("More Details", "profile-builder"); ?>
1073
  <?php __("Install Now", "profile-builder"); ?>
1074
  <?php __("Download Now", "profile-builder"); ?>
1075
  <?php __("Compatible with your version of Profile Builder.", "profile-builder"); ?>
1092
  <?php __("We recommend \"<a href=\"%s\" target=\"_blank\">Custom Profile Menus</a>\" addon if you need different menu items for logged in / logged out users.", "profile-builder"); ?>
1093
  <?php __("Disable REST-API", "profile-builder"); ?>
1094
  <?php __("Disable the WordPress REST-API for non-logged in users when Private Website is enabled", "profile-builder"); ?>
 
1095
  <?php __("Profile Builder Register", "profile-builder"); ?>
1096
  <?php __("Register Your Version", "profile-builder"); ?>
1097
  <?php __("Register Version", "profile-builder"); ?>
1107
  <?php __("The serial number entered couldn't be validated!", "profile-builder"); ?>
1108
  <?php __("The serial number was successfully validated!", "profile-builder"); ?>
1109
  <?php __("(e.g. CLPB-15-SN-253a55baa4fbe7bf595b2aabb8d72985)", "profile-builder"); ?>
1110
+ <?php __("Your <strong>Profile Builder</strong> license is about to expire on %5$s. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %6$sDismiss%7$s", "profile-builder"); ?>
1111
+ <?php __("Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %5$sDismiss%6$s", "profile-builder"); ?>
1112
+ <?php __("Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s", "profile-builder"); ?>
1113
+ <?php __("Your <strong>Profile Builder</strong> serial number is invalid or missing. <br/>Please %1$sregister your copy%2$s to receive access to automatic updates and support. Need a license key? %3$sPurchase one now%4$s", "profile-builder"); ?>
1114
  <?php __("Hello! Seems like you've been using Profile Builder to create front-end user forms. That's awesome!", "profile-builder"); ?>
1115
  <?php __("If you can spare a few moments to rate it on WordPress.org, it would help us a lot (and boost my motivation).", "profile-builder"); ?>
1116
  <?php __("~ Paul, developer of Profile Builder", "profile-builder"); ?>
1119
  <?php __("If you enjoy using <strong> %1$s </strong> please <a href=\"%2$s\" target=\"_blank\">rate us on WordPress.org</a>. More happy users means more features, less bugs and better support for everyone. ", "profile-builder"); ?>
1120
  <?php __("GDPR Checkbox", "profile-builder"); ?>
1121
  <?php __("I allow the website to collect and store the data I submit through this form.", "profile-builder"); ?>
1122
+ <?php __("Honeypot", "profile-builder"); ?>
1123
  <?php __("Strength indicator", "profile-builder"); ?>
1124
  <?php __("Very Weak", "profile-builder"); ?>
1125
  <?php __("Minimum length of %d characters.", "profile-builder"); ?>
1133
  <?php __("You will soon be redirected automatically. If you see this page for more than %1$d seconds, please click %2$s.%3$s", "profile-builder"); ?>
1134
  <?php __("No feed available,please visit our <a href=\"%s\">homepage</a>!", "profile-builder"); ?>
1135
  <?php __("You are not currently logged in.", "profile-builder"); ?>
1136
+ <?php __("Profile Builder", "profile-builder"); ?>
1137
+ <?php __("User Meta", "profile-builder"); ?>
1138
  <?php __("The role of the created user set to the default role. Only an administrator can register a user with the role assigned to this form.", "profile-builder"); ?>
1139
  <?php __("You must be logged in to edit your profile.", "profile-builder"); ?>
1140
  <?php __("You are currently logged in as %1s. You don't need another account. %2s", "profile-builder"); ?>
1156
  <?php __("User to edit:", "profile-builder"); ?>
1157
  <?php __("Select User", "profile-builder"); ?>
1158
  <?php __("Something went wrong. Please try again!", "profile-builder"); ?>
1159
+ <?php __("<strong>ERROR</strong>: Cookies are blocked due to unexpected output. For help, please see <a href=\"%1$s\">this documentation</a> or try the <a href=\"%2$s\">support forums</a>.", "profile-builder"); ?>
1160
  <?php __("Username or Email Address", "profile-builder"); ?>
1161
  <?php __("Remember Me", "profile-builder"); ?>
1162
  <?php __("Log In", "profile-builder"); ?>
1224
  <?php __("Redirect URL", "profile-builder"); ?>
1225
  <?php __("Can contain the following dynamic tags:{{homeurl}}, {{siteurl}}, {{user_id}}, {{user_nicename}}, {{http_referer}}", "profile-builder"); ?>
1226
  <?php __("Individual User Redirects", "profile-builder"); ?>
1227
+ <?php __("... Choose", "profile-builder"); ?>
1228
  <?php __("User Role", "profile-builder"); ?>
1229
  <?php __("Select a user role.", "profile-builder"); ?>
1230
  <?php __("User Role based Redirects", "profile-builder"); ?>
1255
  <?php __("You can't add duplicate redirects!", "profile-builder"); ?>
1256
  <?php __("Admin Email Customizer", "profile-builder"); ?>
1257
  <?php __("Admin Email Customizer Settings", "profile-builder"); ?>
1258
+ <?php __("Settings saved.", "profile-builder"); ?>
1259
  <?php __("These settings are also replicated in the \"User Email Customizer\" settings-page upon save.", "profile-builder"); ?>
1260
  <?php __("Valid tags {{reply_to}} and {{site_name}}", "profile-builder"); ?>
1261
  <?php __("From (name)", "profile-builder"); ?>
1504
  <?php __("Your account has to be confirmed by an administrator before you can use the \"Password Recovery\" feature.", "profile-builder"); ?>
1505
  <?php __("Your account has been successfully created!", "profile-builder"); ?>
1506
  <?php __("Something went wrong!", "profile-builder"); ?>
1507
+ <?php __("Admin Approval Error", "profile-builder"); ?>
1508
  <?php __("User not approved!", "profile-builder"); ?>
1509
+ <?php __("Admin Approval Declined", "profile-builder"); ?>
1510
  <?php __("Do you wish to unapprove the registration?", "profile-builder"); ?>
1511
  <?php __("Do you wish to approve the registration?", "profile-builder"); ?>
1512
  <?php __("The approval link is not valid! Please <a href=\"%s\"> log in </a> to approve the user manually. ", "profile-builder"); ?>
1513
+ <?php __("Admin Approval Unsuccessful", "profile-builder"); ?>
1514
  <?php __("delete this user?", "profile-builder"); ?>
1515
  <?php __("approve this user?", "profile-builder"); ?>
1516
  <?php __("Approve", "profile-builder"); ?>
1524
  <?php __("Do you want to bulk approve the selected users?", "profile-builder"); ?>
1525
  <?php __("Pending", "profile-builder"); ?>
1526
  <?php __("All Users", "profile-builder"); ?>
1527
+ <?php __("Search Users", "profile-builder"); ?>
1528
+ <?php __("Number of items per page:", "profile-builder"); ?>
1529
  <?php __("Conditional Logic", "profile-builder"); ?>
1530
  <?php __("Conditional Rules", "profile-builder"); ?>
1531
  <?php __("This field has conditional logic enabled.", "profile-builder"); ?>
1543
  <?php __("Text", "profile-builder"); ?>
1544
  <?php __("Template", "profile-builder"); ?>
1545
  <?php __("Select Template", "profile-builder"); ?>
1546
+ <?php __("&hellip;", "profile-builder"); ?>
1547
  <?php __("You must be logged in to view the comments.", "profile-builder"); ?>
1548
  <?php __("Comments are restricted for your user role.", "profile-builder"); ?>
1549
  <?php __("This content is restricted for your user role.", "profile-builder"); ?>
1574
  <?php __("Show the first %s words of the post's content", "profile-builder"); ?>
1575
  <?php __("Show the content before the \"more\" tag", "profile-builder"); ?>
1576
  <?php __("Show a portion of the restricted post to logged-out users or users that are not allowed to see it.", "profile-builder"); ?>
 
1577
  <?php __("show", "profile-builder"); ?>
1578
  <?php __("delete this user from the _signups table?", "profile-builder"); ?>
1579
  <?php __("confirm this email yourself?", "profile-builder"); ?>
1603
  <?php __("After login redirect URL (optional):", "profile-builder"); ?>
1604
  <?php __("Register page URL (optional):", "profile-builder"); ?>
1605
  <?php __("Password Recovery page URL (optional):", "profile-builder"); ?>
1606
+ <?php __("Your Role", "profile-builder"); ?>
1607
+ <?php __("Role name is required.", "profile-builder"); ?>
1608
+ <?php __("No capabilities found.", "profile-builder"); ?>
1609
+ <?php __("Select capabilities", "profile-builder"); ?>
1610
+ <?php __("Delete Permanently", "profile-builder"); ?>
1611
+ <?php __("This will permanently delete the capability from your site and from every user role.\n\nIt can't be undone!", "profile-builder"); ?>
1612
+ <?php __("This capability is not saved until you click Update!", "profile-builder"); ?>
1613
+ <?php __("This capability is not saved until you click Publish!", "profile-builder"); ?>
1614
+ <?php __("Add New Capability", "profile-builder"); ?>
1615
  <?php __("Capability", "profile-builder"); ?>
1616
  <?php __("You can't delete this capability from your role.", "profile-builder"); ?>
1617
  <?php __("Add New Role", "profile-builder"); ?>
1621
  <?php __("Search the Roles Editor", "profile-builder"); ?>
1622
  <?php __("No roles found", "profile-builder"); ?>
1623
  <?php __("No roles found in trash", "profile-builder"); ?>
1624
+ <?php __("Enter role name here", "profile-builder"); ?>
1625
  <?php __("Role updated.", "profile-builder"); ?>
1626
  <?php __("Custom field updated.", "profile-builder"); ?>
1627
  <?php __("Custom field deleted.", "profile-builder"); ?>
1628
+ <?php __("Role restored to revision from %s", "profile-builder"); ?>
1629
  <?php __("Role created.", "profile-builder"); ?>
1630
  <?php __("Role saved.", "profile-builder"); ?>
1631
  <?php __("Role submitted.", "profile-builder"); ?>
1632
  <?php __("Role scheduled for: <strong>%1$s</strong>", "profile-builder"); ?>
1633
+ <?php __("M j, Y @ G:i", "profile-builder"); ?>
1634
  <?php __("Role draft updated.", "profile-builder"); ?>
1635
  <?php __("Role Name", "profile-builder"); ?>
1636
  <?php __("Capabilities", "profile-builder"); ?>
1637
  <?php __("Users", "profile-builder"); ?>
1638
+ <?php __("Edit Role Capabilities", "profile-builder"); ?>
1639
+ <?php __("Add a new capability", "profile-builder"); ?>
1640
+ <?php __("Add Capability", "profile-builder"); ?>
1641
+ <?php __("Please select an existing capability or add a new one!", "profile-builder"); ?>
1642
+ <?php __("You can't add a hidden capability!", "profile-builder"); ?>
1643
+ <?php __("This capability already exists!", "profile-builder"); ?>
1644
+ <?php __("All", "profile-builder"); ?>
1645
+ <?php __("General", "profile-builder"); ?>
1646
+ <?php __("Pages", "profile-builder"); ?>
1647
+ <?php __("Media", "profile-builder"); ?>
1648
+ <?php __("Taxonomies", "profile-builder"); ?>
1649
+ <?php __("Appearance", "profile-builder"); ?>
1650
+ <?php __("Plugins", "profile-builder"); ?>
1651
+ <?php __("Custom", "profile-builder"); ?>
1652
  <?php __("Clone", "profile-builder"); ?>
1653
+ <?php __("Are you sure?\nThis will permanently delete the role and cannot be undone!\nUsers assigned only on this role will be moved to the default role.", "profile-builder"); ?>
1654
  <?php __("Change Default", "profile-builder"); ?>
1655
  <?php __("You can't delete the default role. Change it first.", "profile-builder"); ?>
1656
  <?php __("You can't delete your role.", "profile-builder"); ?>
1657
  <?php __("Edit User Roles", "profile-builder"); ?>
1658
+ <?php __("Valid", "profile-builder"); ?>
1659
+ <?php __("Invalid", "profile-builder"); ?>
1660
+ <?php __("Two-Factor Authentication Settings", "profile-builder"); ?>
1661
+ <?php __("Enable Two-Factor Authentication", "profile-builder"); ?>
1662
+ <?php __("Activate the Authenticator functionality", "profile-builder"); ?>
1663
+ <?php __("Enable Authenticator for these user roles", "profile-builder"); ?>
1664
+ <?php __("\"*\" - Two-Factor Authentication will be enabled for all user roles.", "profile-builder"); ?>
1665
+ <?php __("Show Authenticator code field", "profile-builder"); ?>
1666
+ <?php __("Backend", "profile-builder"); ?>
1667
+ <?php __("Frontend", "profile-builder"); ?>
1668
+ <?php __("Everywhere", "profile-builder"); ?>
1669
+ <?php __("\"No\" - only show the field when a user that has Two-Factor Authentication enabled attempts to log in.", "profile-builder"); ?>
1670
+ <?php __("\"Backend\" - always show the field on the default backend form.", "profile-builder"); ?>
1671
+ <?php __("\"Frontend\" - always show the field on the Profile Builder frontend form.", "profile-builder"); ?>
1672
+ <?php __("\"Everywhere\" - always show the field both on the Profile Builder frontend form and on the default backend form.", "profile-builder"); ?>
1673
+ <?php __("2fa_settings", "profile-builder"); ?>
1674
+ <?php __("Relaxed Mode", "profile-builder"); ?>
1675
+ <?php __(" Allow for higher time drifting on your phone clock ( &#177;4 min ).", "profile-builder"); ?>
1676
+ <?php __("Description that you'll see in the Authenticator app.", "profile-builder"); ?>
1677
+ <?php __("Secret", "profile-builder"); ?>
1678
+ <?php __("New Secret", "profile-builder"); ?>
1679
+ <?php __("QR Code", "profile-builder"); ?>
1680
+ <?php __("Scan this with the Authenticator app:", "profile-builder"); ?>
1681
+ <?php __("Verify TOTP", "profile-builder"); ?>
1682
+ <?php __("Check", "profile-builder"); ?>
1683
+ <?php __(" Allow for more time drifting on your phone clock ( &#177;4 min ).", "profile-builder"); ?>
1684
+ <?php __("Description that you'll see in the Authenticator app on your phone.", "profile-builder"); ?>
1685
+ <?php __("Create new secret", "profile-builder"); ?>
1686
+ <?php __("Show/Hide QR code", "profile-builder"); ?>
1687
+ <?php __("Scan this your Authenticator app:", "profile-builder"); ?>
1688
+ <?php __("Please verify TOTP to change Two-Factor Authentication settings", "profile-builder"); ?>
1689
+ <?php __("Please enter your Authenticator code.", "profile-builder"); ?>
1690
+ <?php __("Your Authenticator code was incorrect. Please try again.", "profile-builder"); ?>
1691
+ <?php __("Please enter the code from your Authenticator app.", "profile-builder"); ?>
1692
+ <?php __("Authenticator Code", "profile-builder"); ?>
1693
  <?php __("The usernames cannot be changed.", "profile-builder"); ?>
1694
  <?php __("This Profile Builder add-on has been migrated to the main plugin and is no longer used. You can delete it.", "profile-builder"); ?>
1695
  <?php __("Limit", "profile-builder"); ?>
1707
  <?php __("Repeatable fields saved!", "profile-builder"); ?>
1708
  <?php __("Please enter a unique field title.", "profile-builder"); ?>
1709
  <?php __("Please enter a unique field title.\n", "profile-builder"); ?>
1710
+ <?php __("Add Entry", "profile-builder"); ?>
1711
  <?php __("Delete this item", "profile-builder"); ?>
1712
+ <?php __("Please enter a value for the required field ", "profile-builder"); ?>
1713
  <?php __("Profile Builder Forms", "profile-builder"); ?>
1714
  <?php __("Yes, I'd like to create a new site", "profile-builder"); ?>
1715
  <?php __("Your site url will look like this:<br>", "profile-builder"); ?>
1737
  <?php __("This username is already reserved to be used soon.", "profile-builder"); ?>
1738
  <?php __("Remove", "profile-builder"); ?>
1739
  <?php __("required", "profile-builder"); ?>
1740
+ <?php __("The hidden Honeypot field must be empty.", "profile-builder"); ?>
1741
  <?php __("You must enter a valid URL.", "profile-builder"); ?>
1742
  <?php __("Please add the Google Maps API key for this field.", "profile-builder"); ?>
1743
  <?php __("Something went wrong. Please try again.", "profile-builder"); ?>
1822
  <?php __("Always show edit other users dropdown", "profile-builder"); ?>
1823
  <?php __("For perfomance reasons, we disable the select if you have more than 5000 users on your website. This option lets you enable it again.", "profile-builder"); ?>
1824
  <?php __("Consider 'Anyone can Register' WordPress option", "profile-builder"); ?>
 
1825
  <?php __("By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it.", "profile-builder"); ?>
1826
+ <?php __("setting", "profile-builder"); ?>
1827
  <?php __("Modify default Redirect Delay timer", "profile-builder"); ?>
1828
  <?php __("This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen.", "profile-builder"); ?>
1829
  <?php __("The default is 3 seconds. Leave empty if you do not want to change it.", "profile-builder"); ?>
1866
  <?php __("Remove repetition counts from Faceted Menus", "profile-builder"); ?>
1867
  <?php __("The number of users that share a particular value is shown for the Select and Checkbox facet types.", "profile-builder"); ?>
1868
  <?php __("If you enable this option they will be hidden.", "profile-builder"); ?>
1869
+ <?php __("You can add the information for the %s after you add an entry", "profile-builder"); ?>
1870
  <?php __("Select or type in an option", "profile-builder"); ?>
1871
+ <?php __("Unlabelled Field", "profile-builder"); ?>
1872
  <?php __("Background", "profile-builder"); ?>
1873
  <?php __("Color", "profile-builder"); ?>
1874
  <?php __("Width", "profile-builder"); ?>
1880
  <?php __("Form Settings", "profile-builder"); ?>
1881
  <?php __("Registration", "profile-builder"); ?>
1882
  <?php __("Enter URL", "profile-builder"); ?>
1883
+ <?php __("Show Authenticator Code Field", "profile-builder"); ?>
1884
  <?php __("Redirects", "profile-builder"); ?>
1885
  <?php __("Form", "profile-builder"); ?>
1886
  <?php __("Assigned Role", "profile-builder"); ?>
1887
  <?php __("Automatic Login", "profile-builder"); ?>
1888
+ <?php __("Edit the Settings for this form %1$shere%2$s", "profile-builder"); ?>
1889
  <?php __("Redirect after Edit Profile", "profile-builder"); ?>
1890
  <?php __("Redirect after Registration", "profile-builder"); ?>
1891
  <?php __("Redirect after Logout", "profile-builder"); ?>
translation/profile-builder.pot CHANGED
@@ -25,7 +25,7 @@ msgstr ""
25
  msgid "Choose (Single) User Listing to display under bbPress user Profile tab:"
26
  msgstr ""
27
 
28
- #: ../pb-add-on-bbpress/bbpress-page.php:82, ../pb-add-on-bbpress/bbpress-page.php:117, ../pb-add-on-woocommerce/woosync-page.php:80, ../pb-add-on-woocommerce/woosync-page.php:115, ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:232, ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:307, features/content-restriction/content-restriction.php:136
29
  msgid "None"
30
  msgstr ""
31
 
@@ -49,11 +49,11 @@ msgstr ""
49
  msgid "Replace bbPress Login form:"
50
  msgstr ""
51
 
52
- #: ../pb-add-on-bbpress/bbpress-page.php:152, ../pb-add-on-social-connect/index.php:327, admin/general-settings.php:157, admin/general-settings.php:172, admin/general-settings.php:221, admin/general-settings.php:266, admin/private-website.php:69, admin/private-website.php:136, admin/private-website.php:151, 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, features/content-restriction/content-restriction.php:88, admin/advanced-settings/includes/forms/placeholder-labels.php:136
53
  msgid "No"
54
  msgstr ""
55
 
56
- #: ../pb-add-on-bbpress/bbpress-page.php:153, ../pb-add-on-social-connect/index.php:326, admin/general-settings.php:143, admin/general-settings.php:156, admin/general-settings.php:171, admin/general-settings.php:220, admin/general-settings.php:267, admin/manage-fields.php:191, 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:2451, features/content-restriction/content-restriction.php:89, 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:103, 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:165, admin/advanced-settings/includes/views/view-forms.php:180, admin/advanced-settings/includes/views/view-forms.php:200, admin/advanced-settings/includes/views/view-forms.php:217, admin/advanced-settings/includes/views/view-forms.php:255, admin/advanced-settings/includes/views/view-forms.php:276, admin/advanced-settings/includes/views/view-forms.php:296, admin/advanced-settings/includes/views/view-forms.php:318, admin/advanced-settings/includes/views/view-forms.php:340, admin/advanced-settings/includes/views/view-forms.php:360, 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
57
  msgid "Yes"
58
  msgstr ""
59
 
@@ -225,7 +225,7 @@ msgstr ""
225
  msgid "Profile Builder Avatar field is disabled to allow use of BuddyPress Avatar."
226
  msgstr ""
227
 
228
- #: ../pb-add-on-buddypress/index.php:511, admin/manage-fields.php:330
229
  msgid "Name"
230
  msgstr ""
231
 
@@ -249,7 +249,7 @@ msgstr ""
249
  msgid "Display name:"
250
  msgstr ""
251
 
252
- #: ../pb-add-on-buddypress/index.php:534, admin/manage-fields.php:336
253
  msgid "Contact Info"
254
  msgstr ""
255
 
@@ -257,7 +257,7 @@ msgstr ""
257
  msgid "Website:"
258
  msgstr ""
259
 
260
- #: ../pb-add-on-buddypress/index.php:541, admin/manage-fields.php:347
261
  msgid "About Yourself"
262
  msgstr ""
263
 
@@ -377,7 +377,7 @@ msgstr ""
377
  msgid "Edit Profile"
378
  msgstr ""
379
 
380
- #: ../pb-add-on-custom-profile-menus/index.php:311, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:74, front-end/class-formbuilder.php:454, front-end/login.php:469, assets/misc/elementor/widgets/class-pb-widget-rf.php:32
381
  msgid "Register"
382
  msgstr ""
383
 
@@ -421,11 +421,11 @@ msgstr ""
421
  msgid "This field requires approval by an administrator"
422
  msgstr ""
423
 
424
- #: ../pb-add-on-edit-profile-approved-by-admin/index.php:419, features/admin-approval/class-admin-approval.php:352
425
  msgid "Unapproved"
426
  msgstr ""
427
 
428
- #: ../pb-add-on-edit-profile-approved-by-admin/index.php:419, features/admin-approval/class-admin-approval.php:350
429
  msgid "Approved"
430
  msgstr ""
431
 
@@ -473,66 +473,6 @@ msgstr ""
473
  msgid "Exit Review Mode"
474
  msgstr ""
475
 
476
- #: ../pb-add-on-field-visibility/index.php:220, admin/admin-bar.php:64
477
- msgid "Visibility"
478
- msgstr ""
479
-
480
- #: ../pb-add-on-field-visibility/index.php:220
481
- msgid "<strong>Admin Only</strong> field is visible only for administrators. <strong>User Locked</strong> field is visible for both administrators and users, but only administrators have the capability to edit it."
482
- msgstr ""
483
-
484
- #: ../pb-add-on-field-visibility/index.php:221
485
- msgid "User Role Visibility"
486
- msgstr ""
487
-
488
- #: ../pb-add-on-field-visibility/index.php:221
489
- msgid "Select which user roles see this field"
490
- msgstr ""
491
-
492
- #: ../pb-add-on-field-visibility/index.php:222
493
- msgid "Location Visibility"
494
- msgstr ""
495
-
496
- #: ../pb-add-on-field-visibility/index.php:222
497
- msgid "Select the locations you wish the field to appear"
498
- msgstr ""
499
-
500
- #: ../pb-add-on-field-visibility/index.php:240
501
- msgid "<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre><pre class=\"wppb-mb-head-visibility\"></pre>"
502
- msgstr ""
503
-
504
- #: ../pb-add-on-field-visibility/index.php:240, admin/manage-fields.php:1360, features/functions.php:1038, features/functions.php:1045, add-ons/custom-redirects/custom_redirects_admin.php:183, add-ons/custom-redirects/custom_redirects_admin.php:197, add-ons/custom-redirects/custom_redirects_admin.php:211, add-ons/custom-redirects/custom_redirects_admin.php:225, add-ons/multiple-forms/multiple-forms.php:406, features/admin-approval/class-admin-approval.php:108, features/roles-editor/roles-editor.php:866
505
- msgid "Edit"
506
- msgstr ""
507
-
508
- #: ../pb-add-on-field-visibility/index.php:240, admin/manage-fields.php:1360, features/functions.php:1031, features/functions.php:1045, add-ons/custom-redirects/custom_redirects_admin.php:183, add-ons/custom-redirects/custom_redirects_admin.php:197, add-ons/custom-redirects/custom_redirects_admin.php:211, add-ons/custom-redirects/custom_redirects_admin.php:225, features/admin-approval/class-admin-approval.php:113, features/email-confirmation/class-email-confirmation.php:121, features/email-confirmation/class-email-confirmation.php:218, features/roles-editor/roles-editor.php:180, features/roles-editor/roles-editor.php:904, features/roles-editor/roles-editor.php:893, features/roles-editor/roles-editor.php:884, front-end/default-fields/gdpr-delete/gdpr-delete.php:20
509
- msgid "Delete"
510
- msgstr ""
511
-
512
- #: ../pb-add-on-field-visibility/index.php:261
513
- msgid "This field is visible only for administrators."
514
- msgstr ""
515
-
516
- #: ../pb-add-on-field-visibility/index.php:264
517
- msgid "This field is visible for both administrators and users, but only administrators have the capability to edit it."
518
- msgstr ""
519
-
520
- #: ../pb-add-on-field-visibility/index.php:287
521
- msgid "This field is visible only for the following user roles: %1$s"
522
- msgstr ""
523
-
524
- #: ../pb-add-on-field-visibility/index.php:333
525
- msgid "This field is visible only in the following locations: %1$s"
526
- msgstr ""
527
-
528
- #: ../pb-add-on-field-visibility/index.php:475
529
- msgid "Get file"
530
- msgstr ""
531
-
532
- #: ../pb-add-on-field-visibility/index.php:616
533
- msgid "You do not have the capabilities necessary to edit this field."
534
- msgstr ""
535
-
536
  #: ../pb-add-on-mailpoet-integration/index.php:128
537
  msgid "MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!"
538
  msgstr ""
@@ -761,7 +701,7 @@ msgstr ""
761
  msgid "Default Social Connect CSS in the Front-end"
762
  msgstr ""
763
 
764
- #: ../pb-add-on-social-connect/index.php:239, admin/admin-functions.php:211, admin/general-settings.php:106, admin/general-settings.php:106
765
  msgid "Settings"
766
  msgstr ""
767
 
@@ -817,7 +757,7 @@ msgstr ""
817
  msgid "You will be redirected in 5 seconds. If not, click %%."
818
  msgstr ""
819
 
820
- #: ../pb-add-on-social-connect/index.php:394, features/functions.php:1335
821
  msgid "here"
822
  msgstr ""
823
 
@@ -885,11 +825,11 @@ msgstr ""
885
  msgid "Country"
886
  msgstr ""
887
 
888
- #: ../pb-add-on-woocommerce/billing-fields.php:6, ../pb-add-on-woocommerce/shipping-fields.php:6, admin/manage-fields.php:332, admin/advanced-settings/includes/views/view-fields.php:127
889
  msgid "First Name"
890
  msgstr ""
891
 
892
- #: ../pb-add-on-woocommerce/billing-fields.php:7, ../pb-add-on-woocommerce/shipping-fields.php:7, admin/manage-fields.php:333, admin/advanced-settings/includes/views/view-fields.php:133
893
  msgid "Last Name"
894
  msgstr ""
895
 
@@ -1001,7 +941,7 @@ msgstr ""
1001
  msgid "Field Name"
1002
  msgstr ""
1003
 
1004
- #: ../pb-add-on-woocommerce/index.php:304, admin/manage-fields.php:249
1005
  msgid "Required"
1006
  msgstr ""
1007
 
@@ -1086,7 +1026,7 @@ msgstr ""
1086
  msgid "Before you can make any changes you will need to add a MailChimp API key."
1087
  msgstr ""
1088
 
1089
- #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:94, assets/lib/wck-api/wordpress-creation-kit.php:343
1090
  msgid "Save"
1091
  msgstr ""
1092
 
@@ -1110,7 +1050,7 @@ msgstr ""
1110
  msgid "Edit this item"
1111
  msgstr ""
1112
 
1113
- #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:171, features/functions.php:1024, assets/lib/wck-api/wordpress-creation-kit.php:406
1114
  msgid "Cancel"
1115
  msgstr ""
1116
 
@@ -1362,7 +1302,7 @@ msgstr ""
1362
  msgid "Easy to edit templates for listing your users as well as creating single user pages."
1363
  msgstr ""
1364
 
1365
- #: admin/add-ons.php:66, admin/basic-info.php:168, admin/general-settings.php:29
1366
  msgid "Email Customizer"
1367
  msgstr ""
1368
 
@@ -1578,7 +1518,11 @@ msgstr ""
1578
  msgid "User-Role"
1579
  msgstr ""
1580
 
1581
- #: admin/admin-bar.php:79, add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:230, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:98
 
 
 
 
1582
  msgid "Default"
1583
  msgstr ""
1584
 
@@ -1590,6 +1534,10 @@ msgstr ""
1590
  msgid "Hide"
1591
  msgstr ""
1592
 
 
 
 
 
1593
  #: admin/admin-functions.php:38
1594
  msgid "Login is set to be done using the Email. This field will NOT appear in the front-end! ( you can change these settings under the \"%s\" tab )"
1595
  msgstr ""
@@ -1606,19 +1554,19 @@ msgstr ""
1606
  msgid "<strong>ERROR</strong>: The password must have the minimum length of %s characters"
1607
  msgstr ""
1608
 
1609
- #: admin/admin-functions.php:138, admin/general-settings.php:326
1610
  msgid "Very weak"
1611
  msgstr ""
1612
 
1613
- #: admin/admin-functions.php:138, admin/general-settings.php:327, features/functions.php:765, features/functions.php:789
1614
  msgid "Weak"
1615
  msgstr ""
1616
 
1617
- #: admin/admin-functions.php:138, admin/general-settings.php:328, features/functions.php:765, features/functions.php:789
1618
  msgid "Medium"
1619
  msgstr ""
1620
 
1621
- #: admin/admin-functions.php:138, admin/general-settings.php:329, features/functions.php:765, features/functions.php:789
1622
  msgid "Strong"
1623
  msgstr ""
1624
 
@@ -1662,6 +1610,10 @@ msgstr ""
1662
  msgid "Basic Information"
1663
  msgstr ""
1664
 
 
 
 
 
1665
  #: admin/basic-info.php:31
1666
  msgid "<strong>Profile Builder </strong> %s"
1667
  msgstr ""
@@ -1950,7 +1902,11 @@ msgstr ""
1950
  msgid "Unsatisfactory support"
1951
  msgstr ""
1952
 
1953
- #: admin/feedback.php:47
 
 
 
 
1954
  msgid "Other"
1955
  msgstr ""
1956
 
@@ -1986,155 +1942,159 @@ msgstr ""
1986
  msgid "Private Website"
1987
  msgstr ""
1988
 
1989
- #: admin/general-settings.php:15, admin/advanced-settings/advanced-settings.php:38, admin/advanced-settings/advanced-settings.php:48
 
 
 
 
1990
  msgid "Advanced Settings"
1991
  msgstr ""
1992
 
1993
- #: admin/general-settings.php:19, admin/advanced-settings/advanced-settings.php:19
1994
  msgid "Forms"
1995
  msgstr ""
1996
 
1997
- #: admin/general-settings.php:20, admin/advanced-settings/advanced-settings.php:20
1998
  msgid "Fields"
1999
  msgstr ""
2000
 
2001
- #: admin/general-settings.php:22, admin/advanced-settings/advanced-settings.php:21
2002
  msgid "Userlisting"
2003
  msgstr ""
2004
 
2005
- #: admin/general-settings.php:23, admin/advanced-settings/advanced-settings.php:22
2006
  msgid "Shortcodes"
2007
  msgstr ""
2008
 
2009
- #: admin/general-settings.php:24, admin/advanced-settings/advanced-settings.php:23
2010
  msgid "Admin"
2011
  msgstr ""
2012
 
2013
- #: admin/general-settings.php:30
2014
  msgid "User Emails"
2015
  msgstr ""
2016
 
2017
- #: admin/general-settings.php:31
2018
  msgid "Administrator Emails"
2019
  msgstr ""
2020
 
2021
- #: admin/general-settings.php:127
2022
  msgid "Profile Builder Settings"
2023
  msgstr ""
2024
 
2025
- #: admin/general-settings.php:140
2026
  msgid "Load Profile Builder's own CSS file in the front-end:"
2027
  msgstr ""
2028
 
2029
- #: admin/general-settings.php:145
2030
  msgid "You can find the default file here: %1$s"
2031
  msgstr ""
2032
 
2033
- #: admin/general-settings.php:152
2034
  msgid "Automatically Log In:"
2035
  msgstr ""
2036
 
2037
- #: admin/general-settings.php:160
2038
  msgid "Select \"Yes\" to automatically log in new users after successful registration."
2039
  msgstr ""
2040
 
2041
- #: admin/general-settings.php:167
2042
  msgid "\"Email Confirmation\" Activated:"
2043
  msgstr ""
2044
 
2045
- #: admin/general-settings.php:175
2046
  msgid "This works with front-end forms only. Recommended to redirect WP default registration to a Profile Builder one using \"Custom Redirects\" module."
2047
  msgstr ""
2048
 
2049
- #: admin/general-settings.php:177
2050
  msgid "You can find a list of unconfirmed email addresses %1$sUsers > All Users > Email Confirmation%2$s."
2051
  msgstr ""
2052
 
2053
- #: admin/general-settings.php:185
2054
  msgid "\"Email Confirmation\" Landing Page:"
2055
  msgstr ""
2056
 
2057
- #: admin/general-settings.php:190
2058
  msgid "Existing Pages"
2059
  msgstr ""
2060
 
2061
- #: admin/general-settings.php:205
2062
  msgid "Specify the page where the users will be directed when confirming the email account. This page can differ from the register page(s) and can be changed at any time. If none selected, a simple confirmation page will be displayed for the user."
2063
  msgstr ""
2064
 
2065
- #: admin/general-settings.php:216
2066
  msgid "\"Admin Approval\" Activated:"
2067
  msgstr ""
2068
 
2069
- #: admin/general-settings.php:224
2070
  msgid "You can find a list of users at %1$sUsers > All Users > Admin Approval%2$s."
2071
  msgstr ""
2072
 
2073
- #: admin/general-settings.php:231
2074
  msgid "\"Admin Approval\" on User Role:"
2075
  msgstr ""
2076
 
2077
- #: admin/general-settings.php:250
2078
  msgid "Select on what user roles to activate Admin Approval."
2079
  msgstr ""
2080
 
2081
- #: admin/general-settings.php:262
2082
  msgid "\"Roles Editor\" Activated:"
2083
  msgstr ""
2084
 
2085
- #: admin/general-settings.php:270
2086
  msgid "You can add / edit user roles at %1$sUsers > Roles Editor%2$s."
2087
  msgstr ""
2088
 
2089
- #: admin/general-settings.php:281
2090
  msgid "\"Admin Approval\" Feature:"
2091
  msgstr ""
2092
 
2093
- #: admin/general-settings.php:284
2094
  msgid "You decide who is a user on your website. Get notified via email or approve multiple users at once from the WordPress UI. Enable Admin Approval by upgrading to %1$sHobbyist or PRO versions%2$s."
2095
  msgstr ""
2096
 
2097
- #: admin/general-settings.php:291
2098
  msgid "Allow Users to Log in With:"
2099
  msgstr ""
2100
 
2101
- #: admin/general-settings.php:295
2102
  msgid "Username and Email"
2103
  msgstr ""
2104
 
2105
- #: admin/general-settings.php:296, admin/manage-fields.php:331, front-end/login.php:258, front-end/login.php:272, front-end/login.php:436, add-ons/custom-redirects/custom_redirects_admin.php:60, add-ons/email-customizer/email-customizer.php:28, add-ons/user-listing/userlisting.php:112, add-ons/user-listing/userlisting.php:328, add-ons/user-listing/userlisting.php:828, add-ons/user-listing/userlisting.php:2405, features/admin-approval/class-admin-approval.php:171, features/email-confirmation/class-email-confirmation.php:168, admin/advanced-settings/includes/views/view-fields.php:121
2106
  msgid "Username"
2107
  msgstr ""
2108
 
2109
- #: admin/general-settings.php:297, front-end/login.php:433, front-end/recover.php:119, add-ons/email-customizer/email-customizer.php:29, add-ons/user-listing/userlisting.php:118, add-ons/user-listing/userlisting.php:834, add-ons/user-listing/userlisting.php:2406, features/admin-approval/class-admin-approval.php:174, features/email-confirmation/class-email-confirmation.php:169, admin/advanced-settings/includes/shortcodes/resend-activation.php:9
2110
  msgid "Email"
2111
  msgstr ""
2112
 
2113
- #: admin/general-settings.php:300
2114
  msgid "\"Username and Email\" - users can Log In with either their Username or their Email."
2115
  msgstr ""
2116
 
2117
- #: admin/general-settings.php:301
2118
  msgid "\"Username\" - users can only Log In with their Username. Both the Username and Email fields will be shown in the front-end forms."
2119
  msgstr ""
2120
 
2121
- #: admin/general-settings.php:302
2122
  msgid "\"Email\" - users can only Log In with their Email. The Username field will be hidden in the front-end forms and Usernames will be automatically generated based on the Emails."
2123
  msgstr ""
2124
 
2125
- #: admin/general-settings.php:309
2126
  msgid "Minimum Password Length:"
2127
  msgstr ""
2128
 
2129
- #: admin/general-settings.php:314
2130
  msgid "Enter the minimum characters the password should have. Leave empty for no minimum limit"
2131
  msgstr ""
2132
 
2133
- #: admin/general-settings.php:321
2134
  msgid "Minimum Password Strength:"
2135
  msgstr ""
2136
 
2137
- #: admin/general-settings.php:325
2138
  msgid "Disabled"
2139
  msgstr ""
2140
 
@@ -2146,2127 +2106,2147 @@ msgstr ""
2146
  msgid "Manage Form Fields"
2147
  msgstr ""
2148
 
2149
- #: admin/manage-fields.php:132
2150
- msgid "Choose one of the supported field types"
 
 
 
 
2151
  msgstr ""
2152
 
2153
  #: admin/manage-fields.php:134
 
 
 
 
2154
  msgid ". Extra Field Types are available in <a href=\"%s\">Hobbyist or PRO versions</a>."
2155
  msgstr ""
2156
 
2157
- #: admin/manage-fields.php:170
2158
  msgid "Use this in conjunction with WordPress functions to display the value in the page of your choosing<br/>Auto-completed but in some cases editable (in which case it must be unique)<br/>Changing this will only affect subsequent entries"
2159
  msgstr ""
2160
 
2161
- #: admin/manage-fields.php:167
2162
  msgid "Use this in conjunction with WordPress functions to display the value in the page of your choosing<br/>Auto-completed but in some cases editable (in which case it must be unique)<br/>Changing this might take long in case of a very big user-count"
2163
  msgstr ""
2164
 
2165
- #: admin/manage-fields.php:184
2166
  msgid "Field Title"
2167
  msgstr ""
2168
 
2169
- #: admin/manage-fields.php:184
2170
  msgid "Title of the field"
2171
  msgstr ""
2172
 
2173
- #: admin/manage-fields.php:185, add-ons/multiple-forms/edit-profile-forms.php:245, add-ons/multiple-forms/register-forms.php:266
2174
  msgid "Field"
2175
  msgstr ""
2176
 
2177
- #: admin/manage-fields.php:186
2178
  msgid "Meta-name"
2179
  msgstr ""
2180
 
2181
- #: admin/manage-fields.php:187, add-ons/custom-redirects/custom_redirects_admin.php:69, add-ons/custom-redirects/custom_redirects_admin.php:99, add-ons/custom-redirects/custom_redirects_admin.php:118, add-ons/custom-redirects/custom_redirects_admin.php:143, add-ons/multiple-forms/edit-profile-forms.php:246, add-ons/multiple-forms/register-forms.php:267
2182
  msgid "ID"
2183
  msgstr ""
2184
 
2185
- #: admin/manage-fields.php:187, add-ons/multiple-forms/edit-profile-forms.php:246, add-ons/multiple-forms/register-forms.php:267
2186
  msgid "A unique, auto-generated ID for this particular field<br/>You can use this in conjuction with filters to target this element if needed<br/>Can't be edited"
2187
  msgstr ""
2188
 
2189
- #: admin/manage-fields.php:188
2190
  msgid "Description"
2191
  msgstr ""
2192
 
2193
- #: admin/manage-fields.php:188
2194
  msgid "Enter a (detailed) description of the option for end users to read<br/>Optional"
2195
  msgstr ""
2196
 
2197
- #: admin/manage-fields.php:189
2198
  msgid "Row Count"
2199
  msgstr ""
2200
 
2201
- #: admin/manage-fields.php:189
2202
  msgid "Specify the number of rows for a 'Textarea' field<br/>If not specified, defaults to 5"
2203
  msgstr ""
2204
 
2205
- #: admin/manage-fields.php:190
2206
  msgid "Allowed Image Extensions"
2207
  msgstr ""
2208
 
2209
- #: admin/manage-fields.php:190
2210
  msgid "Specify the extension(s) you want to limit to upload<br/>Example: .ext1,.ext2,.ext3<br/>If not specified, defaults to: .jpg,.jpeg,.gif,.png (.*)"
2211
  msgstr ""
2212
 
2213
- #: admin/manage-fields.php:191
2214
  msgid "Use Simple Upload"
2215
  msgstr ""
2216
 
2217
- #: admin/manage-fields.php:191
2218
  msgid "Use a simple upload field instead of the WordPress upload"
2219
  msgstr ""
2220
 
2221
- #: admin/manage-fields.php:192
2222
  msgid "Allowed Upload Extensions"
2223
  msgstr ""
2224
 
2225
- #: admin/manage-fields.php:192
2226
  msgid "Specify the extension(s) you want to limit to upload<br/>Example: .ext1,.ext2,.ext3<br/>If not specified, defaults to all WordPress allowed file extensions (.*)"
2227
  msgstr ""
2228
 
2229
- #: admin/manage-fields.php:193
2230
  msgid "Avatar Size"
2231
  msgstr ""
2232
 
2233
- #: admin/manage-fields.php:193
2234
  msgid "Enter a value (between 20 and 200) for the size of the 'Avatar'<br/>If not specified, defaults to 100"
2235
  msgstr ""
2236
 
2237
- #: admin/manage-fields.php:194
2238
  msgid "Date-format"
2239
  msgstr ""
2240
 
2241
- #: admin/manage-fields.php:194
2242
  msgid "Specify the format of the date when using Datepicker<br/>Valid options: mm/dd/yy, mm/yy/dd, dd/yy/mm, dd/mm/yy, yy/dd/mm, yy/mm/dd, mm-dd-yy, yy-mm-dd, D, dd M yy, D, d M y, DD, dd-M-y, D, d M yy, mm/yy, mm/dd, dd/mm, @<br/>If not specified, defaults to mm/dd/yy"
2243
  msgstr ""
2244
 
2245
- #: admin/manage-fields.php:195
2246
  msgid "Terms of Agreement"
2247
  msgstr ""
2248
 
2249
- #: admin/manage-fields.php:195
2250
  msgid "Enter a detailed description of the terms of agreement for the user to read.<br/>Links can be inserted by using standard HTML syntax: &lt;a href=\"custom_url\"&gt;custom_text&lt;/a&gt;"
2251
  msgstr ""
2252
 
2253
- #: admin/manage-fields.php:196
2254
  msgid "Options"
2255
  msgstr ""
2256
 
2257
- #: admin/manage-fields.php:196
2258
  msgid "Enter a comma separated list of values<br/>This can be anything, as it is hidden from the user, but should not contain special characters or apostrophes"
2259
  msgstr ""
2260
 
2261
- #: admin/manage-fields.php:197
2262
  msgid "Labels"
2263
  msgstr ""
2264
 
2265
- #: admin/manage-fields.php:197
2266
  msgid "Enter a comma separated list of labels<br/>Visible for the user"
2267
  msgstr ""
2268
 
2269
- #: admin/manage-fields.php:198
2270
  msgid "reCAPTCHA Type"
2271
  msgstr ""
2272
 
2273
- #: admin/manage-fields.php:198
2274
  msgid "Choose the <a href=\"https://developers.google.com/recaptcha/docs/versions\" target=\"_blank\">type of reCAPTCHA</a> you wish to add to this site.<br/>Please note that the Invisible reCAPTCHA is a type of reCAPTCHA v2."
2275
  msgstr ""
2276
 
2277
- #: admin/manage-fields.php:199
2278
  msgid "Site Key"
2279
  msgstr ""
2280
 
2281
- #: admin/manage-fields.php:199
2282
  msgid "The site key from Google, <a href=\"https://www.google.com/recaptcha/admin/create\" target=\"_blank\">https://www.google.com/recaptcha/admin/create</a>"
2283
  msgstr ""
2284
 
2285
- #: admin/manage-fields.php:200
2286
  msgid "Secret Key"
2287
  msgstr ""
2288
 
2289
- #: admin/manage-fields.php:200
2290
  msgid "The secret key from Google, <a href=\"https://www.google.com/recaptcha/admin/create\" target=\"_blank\">https://www.google.com/recaptcha/admin/create</a>"
2291
  msgstr ""
2292
 
2293
- #: admin/manage-fields.php:201
2294
  msgid "Display on PB forms"
2295
  msgstr ""
2296
 
2297
- #: admin/manage-fields.php:201
2298
  msgid "PB Login"
2299
  msgstr ""
2300
 
2301
- #: admin/manage-fields.php:201
2302
  msgid "PB Register"
2303
  msgstr ""
2304
 
2305
- #: admin/manage-fields.php:201
2306
  msgid "PB Recover Password"
2307
  msgstr ""
2308
 
2309
- #: admin/manage-fields.php:201
2310
  msgid "Select on which Profile Builder forms to display reCAPTCHA"
2311
  msgstr ""
2312
 
2313
- #: admin/manage-fields.php:202
2314
  msgid "Display on default WP forms"
2315
  msgstr ""
2316
 
2317
- #: admin/manage-fields.php:202
2318
  msgid "Default WP Login"
2319
  msgstr ""
2320
 
2321
- #: admin/manage-fields.php:202
2322
  msgid "Default WP Register"
2323
  msgstr ""
2324
 
2325
- #: admin/manage-fields.php:202
2326
  msgid "Default WP Recover Password"
2327
  msgstr ""
2328
 
2329
- #: admin/manage-fields.php:202
2330
  msgid "Select on which default WP forms to display reCAPTCHA"
2331
  msgstr ""
2332
 
2333
- #: admin/manage-fields.php:203
2334
  msgid "User Roles"
2335
  msgstr ""
2336
 
2337
- #: admin/manage-fields.php:203
2338
  msgid "Select which user roles to show to the user ( drag and drop to re-order )"
2339
  msgstr ""
2340
 
2341
- #: admin/manage-fields.php:204
2342
  msgid "Display on Edit Profile"
2343
  msgstr ""
2344
 
2345
- #: admin/manage-fields.php:204
2346
  msgid "Check if you want the select user role field to appear on Edit Profile forms"
2347
  msgstr ""
2348
 
2349
- #: admin/manage-fields.php:205
2350
  msgid "User Roles Order"
2351
  msgstr ""
2352
 
2353
- #: admin/manage-fields.php:205
2354
  msgid "Save the user role order from the user roles checkboxes"
2355
  msgstr ""
2356
 
2357
- #: admin/manage-fields.php:206
2358
  msgid "Default Value"
2359
  msgstr ""
2360
 
2361
- #: admin/manage-fields.php:206
2362
  msgid "Default value of the field"
2363
  msgstr ""
2364
 
2365
- #: admin/manage-fields.php:207, admin/manage-fields.php:209, admin/manage-fields.php:210, admin/manage-fields.php:211
2366
  msgid "Default Option"
2367
  msgstr ""
2368
 
2369
- #: admin/manage-fields.php:207
2370
  msgid "Specify the option which should be selected by default"
2371
  msgstr ""
2372
 
2373
- #: admin/manage-fields.php:208
2374
  msgid "Default Option(s)"
2375
  msgstr ""
2376
 
2377
- #: admin/manage-fields.php:208
2378
  msgid "Specify the option which should be checked by default<br/>If there are multiple values, separate them with a ',' (comma)"
2379
  msgstr ""
2380
 
2381
- #: admin/manage-fields.php:209, admin/manage-fields.php:210, admin/manage-fields.php:211
2382
  msgid "Default option of the field"
2383
  msgstr ""
2384
 
2385
- #: admin/manage-fields.php:212
2386
  msgid "Show Currency Symbol"
2387
  msgstr ""
2388
 
2389
- #: admin/manage-fields.php:212
2390
  msgid "Whether the currency symbol should be displayed after the currency name in the select option."
2391
  msgstr ""
2392
 
2393
- #: admin/manage-fields.php:213
2394
  msgid "Show Post Type"
2395
  msgstr ""
2396
 
2397
- #: admin/manage-fields.php:213
2398
  msgid "Posts from what post type will be displayed in the select."
2399
  msgstr ""
2400
 
2401
- #: admin/manage-fields.php:214
2402
  msgid "Allowable Values"
2403
  msgstr ""
2404
 
2405
- #: admin/manage-fields.php:214
2406
  msgid "Enter a comma separated list of possible values. Upon registration if the value provided by the user does not match one of these values, the user will not be registered."
2407
  msgstr ""
2408
 
2409
- #: admin/manage-fields.php:215
2410
  msgid "Error Message"
2411
  msgstr ""
2412
 
2413
- #: admin/manage-fields.php:215
2414
  msgid "Set a custom error message that will be displayed to the user."
2415
  msgstr ""
2416
 
2417
- #: admin/manage-fields.php:216
2418
  msgid "Time Format"
2419
  msgstr ""
2420
 
2421
- #: admin/manage-fields.php:216
2422
  msgid "Specify the time format."
2423
  msgstr ""
2424
 
2425
- #: admin/manage-fields.php:217
2426
  msgid "Google Maps API Key"
2427
  msgstr ""
2428
 
2429
- #: admin/manage-fields.php:217
2430
  msgid "Enter your Google Maps API key ( <a href=\"https://console.developers.google.com/flows/enableapi?apiid=maps_backend\" target=\"_blank\">Get your API key</a> ). If more than one map fields are added to a form the API key from the first map displayed will be used."
2431
  msgstr ""
2432
 
2433
- #: admin/manage-fields.php:222
2434
  msgid "Default Latitude"
2435
  msgstr ""
2436
 
2437
- #: admin/manage-fields.php:223
2438
  msgid "The latitude at which the map should be displayed when no pins are attached."
2439
  msgstr ""
2440
 
2441
- #: admin/manage-fields.php:229
2442
  msgid "Default Longitude"
2443
  msgstr ""
2444
 
2445
- #: admin/manage-fields.php:230
2446
  msgid "The longitude at which the map should be displayed when no pins are attached."
2447
  msgstr ""
2448
 
2449
- #: admin/manage-fields.php:236
2450
  msgid "Default Zoom Level"
2451
  msgstr ""
2452
 
2453
- #: admin/manage-fields.php:237
2454
  msgid "Add a number from 0 to 19. The higher the number the higher the zoom."
2455
  msgstr ""
2456
 
2457
- #: admin/manage-fields.php:241
2458
  msgid "Map Height"
2459
  msgstr ""
2460
 
2461
- #: admin/manage-fields.php:241
2462
  msgid "The height of the map."
2463
  msgstr ""
2464
 
2465
- #: admin/manage-fields.php:242
2466
  msgid "Default Content"
2467
  msgstr ""
2468
 
2469
- #: admin/manage-fields.php:242
2470
  msgid "Default value of the textarea"
2471
  msgstr ""
2472
 
2473
- #: admin/manage-fields.php:243
2474
  msgid "HTML Content"
2475
  msgstr ""
2476
 
2477
- #: admin/manage-fields.php:243
2478
  msgid "Add your HTML (or text) content"
2479
  msgstr ""
2480
 
2481
- #: admin/manage-fields.php:244
2482
  msgid "Phone Format"
2483
  msgstr ""
2484
 
2485
- #: admin/manage-fields.php:244
2486
  msgid "You can use: # for numbers, parentheses ( ), - sign, + sign, dot . and spaces."
2487
  msgstr ""
2488
 
2489
- #: admin/manage-fields.php:244
2490
  msgid "Eg. (###) ###-####"
2491
  msgstr ""
2492
 
2493
- #: admin/manage-fields.php:244
2494
  msgid "Empty field won't check for correct phone number."
2495
  msgstr ""
2496
 
2497
- #: admin/manage-fields.php:245
2498
  msgid "Heading Tag"
2499
  msgstr ""
2500
 
2501
- #: admin/manage-fields.php:245
2502
  msgid "Change heading field size on front-end forms"
2503
  msgstr ""
2504
 
2505
- #: admin/manage-fields.php:246
2506
  msgid "Min Number Value"
2507
  msgstr ""
2508
 
2509
- #: admin/manage-fields.php:246
2510
  msgid "Min allowed number value (0 to allow only positive numbers)"
2511
  msgstr ""
2512
 
2513
- #: admin/manage-fields.php:246
2514
  msgid "Leave it empty for no min value"
2515
  msgstr ""
2516
 
2517
- #: admin/manage-fields.php:247
2518
  msgid "Max Number Value"
2519
  msgstr ""
2520
 
2521
- #: admin/manage-fields.php:247
2522
  msgid "Max allowed number value (0 to allow only negative numbers)"
2523
  msgstr ""
2524
 
2525
- #: admin/manage-fields.php:247
2526
  msgid "Leave it empty for no max value"
2527
  msgstr ""
2528
 
2529
- #: admin/manage-fields.php:248
2530
  msgid "Number Step Value"
2531
  msgstr ""
2532
 
2533
- #: admin/manage-fields.php:248
2534
  msgid "Step value 1 to allow only integers, 0.1 to allow integers and numbers with 1 decimal"
2535
  msgstr ""
2536
 
2537
- #: admin/manage-fields.php:248
2538
  msgid "To allow multiple decimals use for eg. 0.01 (for 2 deciamls) and so on"
2539
  msgstr ""
2540
 
2541
- #: admin/manage-fields.php:248
2542
  msgid "You can also use step value to specify the legal number intervals (eg. step value 2 will allow only -4, -2, 0, 2 and so on)"
2543
  msgstr ""
2544
 
2545
- #: admin/manage-fields.php:248
2546
  msgid "Leave it empty for no restriction"
2547
  msgstr ""
2548
 
2549
- #: admin/manage-fields.php:249
2550
  msgid "Whether the field is required or not"
2551
  msgstr ""
2552
 
2553
- #: admin/manage-fields.php:250
2554
  msgid "Overwrite Existing"
2555
  msgstr ""
2556
 
2557
- #: admin/manage-fields.php:250
2558
  msgid "Selecting 'Yes' will add the field to the list, but will overwrite any other field in the database that has the same meta-name<br/>Use this at your own risk"
2559
  msgstr ""
2560
 
2561
- #: admin/manage-fields.php:256
2562
  msgid "POIs Load Type"
2563
  msgstr ""
2564
 
2565
- #: admin/manage-fields.php:258
2566
  msgid "POIs of the listed users (as filtered & paginated)"
2567
  msgstr ""
2568
 
2569
- #: admin/manage-fields.php:259
2570
  msgid "POIs of all the users for the filter* (no pagination)"
2571
  msgstr ""
2572
 
2573
- #: admin/manage-fields.php:262
2574
  msgid "This option allows you to load on a single map the POIs for all users, or just these for the listed ones (this will take into account the filters and the faceted menus). *Please use this feature wisely, it will impact the performance."
2575
  msgstr ""
2576
 
2577
- #: admin/manage-fields.php:269
2578
  msgid "POI Bubble Info"
2579
  msgstr ""
2580
 
2581
- #: admin/manage-fields.php:272
2582
  msgid "Select the attributes to be listed inside the POI bubble."
2583
  msgstr ""
2584
 
2585
- #: admin/manage-fields.php:283
2586
  msgid "Number of Users per Map Iteration"
2587
  msgstr ""
2588
 
2589
- #: admin/manage-fields.php:284
2590
  msgid "When loading the map of all users with no pagination, the map script will iterate multiple times and will expose gradually POIs on the map, until all the POIs for the users that match the criteria will be added on the map (think of this as of pagination for the map POIs). The smaller the number of users per iteration, the fastest the iteration response will be, but for a large number of users, the map script will iterate multiple times. Setting a higher limit will decrease the performance, but might produce a smaller number of iterations. <br><br><b>Please adjust this value to your hosting capabilities, and make sure that the value you set is the best for performance.</b> We recommend a <b>maximum</b> value of 300."
2591
  msgstr ""
2592
 
2593
- #: admin/manage-fields.php:289
2594
  msgid "Maximum Selections"
2595
  msgstr ""
2596
 
2597
- #: admin/manage-fields.php:289
2598
  msgid "Select2 multi-value select boxes can set restrictions regarding the maximum number of options selected."
2599
  msgstr ""
2600
 
2601
- #: admin/manage-fields.php:290
2602
  msgid "User Inputted Options"
2603
  msgstr ""
2604
 
2605
- #: admin/manage-fields.php:290
2606
  msgid "Check this to allow users to create their own options beside the pre-existing ones."
2607
  msgstr ""
2608
 
2609
- #: admin/manage-fields.php:297
2610
  msgid "Form Field Properties"
2611
  msgstr ""
2612
 
2613
- #: admin/manage-fields.php:311
2614
  msgid "Registration & Edit Profile Forms"
2615
  msgstr ""
2616
 
2617
- #: admin/manage-fields.php:331
2618
  msgid "Usernames cannot be changed."
2619
  msgstr ""
2620
 
2621
- #: admin/manage-fields.php:334, add-ons/user-listing/userlisting.php:867, add-ons/user-listing/userlisting.php:2413
2622
  msgid "Nickname"
2623
  msgstr ""
2624
 
2625
- #: admin/manage-fields.php:335
2626
  msgid "Display name publicly as"
2627
  msgstr ""
2628
 
2629
- #: admin/manage-fields.php:337
2630
  msgid "E-mail"
2631
  msgstr ""
2632
 
2633
- #: admin/manage-fields.php:338, add-ons/email-customizer/email-customizer.php:33, add-ons/user-listing/userlisting.php:121, add-ons/user-listing/userlisting.php:849, add-ons/user-listing/userlisting.php:2407
2634
  msgid "Website"
2635
  msgstr ""
2636
 
2637
- #: admin/manage-fields.php:342
2638
  msgid "AIM"
2639
  msgstr ""
2640
 
2641
- #: admin/manage-fields.php:343
2642
  msgid "Yahoo IM"
2643
  msgstr ""
2644
 
2645
- #: admin/manage-fields.php:344
2646
  msgid "Jabber / Google Talk"
2647
  msgstr ""
2648
 
2649
- #: admin/manage-fields.php:348, add-ons/user-listing/userlisting.php:124, add-ons/user-listing/userlisting.php:852, add-ons/user-listing/userlisting.php:2408
2650
  msgid "Biographical Info"
2651
  msgstr ""
2652
 
2653
- #: admin/manage-fields.php:348
2654
  msgid "Share a little biographical information to fill out your profile. This may be shown publicly."
2655
  msgstr ""
2656
 
2657
- #: admin/manage-fields.php:349, front-end/login.php:108, front-end/recover.php:72, add-ons/email-customizer/email-customizer.php:30
2658
  msgid "Password"
2659
  msgstr ""
2660
 
2661
- #: admin/manage-fields.php:349
2662
  msgid "Type your password."
2663
  msgstr ""
2664
 
2665
- #: admin/manage-fields.php:350, front-end/recover.php:73
2666
  msgid "Repeat Password"
2667
  msgstr ""
2668
 
2669
- #: admin/manage-fields.php:350
2670
  msgid "Type your password again. "
2671
  msgstr ""
2672
 
2673
- #: admin/manage-fields.php:352
2674
  msgid "Blog Details"
2675
  msgstr ""
2676
 
2677
- #: admin/manage-fields.php:411
2678
  msgid "Select a Country"
2679
  msgstr ""
2680
 
2681
- #: admin/manage-fields.php:412
2682
  msgid "Afghanistan"
2683
  msgstr ""
2684
 
2685
- #: admin/manage-fields.php:413
2686
  msgid "Aland Islands"
2687
  msgstr ""
2688
 
2689
- #: admin/manage-fields.php:414
2690
  msgid "Albania"
2691
  msgstr ""
2692
 
2693
- #: admin/manage-fields.php:415
2694
  msgid "Algeria"
2695
  msgstr ""
2696
 
2697
- #: admin/manage-fields.php:416
2698
  msgid "American Samoa"
2699
  msgstr ""
2700
 
2701
- #: admin/manage-fields.php:417
2702
  msgid "Andorra"
2703
  msgstr ""
2704
 
2705
- #: admin/manage-fields.php:418
2706
  msgid "Angola"
2707
  msgstr ""
2708
 
2709
- #: admin/manage-fields.php:419
2710
  msgid "Anguilla"
2711
  msgstr ""
2712
 
2713
- #: admin/manage-fields.php:420
2714
  msgid "Antarctica"
2715
  msgstr ""
2716
 
2717
- #: admin/manage-fields.php:421
2718
  msgid "Antigua and Barbuda"
2719
  msgstr ""
2720
 
2721
- #: admin/manage-fields.php:422
2722
  msgid "Argentina"
2723
  msgstr ""
2724
 
2725
- #: admin/manage-fields.php:423
2726
  msgid "Armenia"
2727
  msgstr ""
2728
 
2729
- #: admin/manage-fields.php:424
2730
  msgid "Aruba"
2731
  msgstr ""
2732
 
2733
- #: admin/manage-fields.php:425
2734
  msgid "Australia"
2735
  msgstr ""
2736
 
2737
- #: admin/manage-fields.php:426
2738
  msgid "Austria"
2739
  msgstr ""
2740
 
2741
- #: admin/manage-fields.php:427
2742
  msgid "Azerbaijan"
2743
  msgstr ""
2744
 
2745
- #: admin/manage-fields.php:428
2746
  msgid "Bahamas"
2747
  msgstr ""
2748
 
2749
- #: admin/manage-fields.php:429
2750
  msgid "Bahrain"
2751
  msgstr ""
2752
 
2753
- #: admin/manage-fields.php:430
2754
  msgid "Bangladesh"
2755
  msgstr ""
2756
 
2757
- #: admin/manage-fields.php:431
2758
  msgid "Barbados"
2759
  msgstr ""
2760
 
2761
- #: admin/manage-fields.php:432
2762
  msgid "Belarus"
2763
  msgstr ""
2764
 
2765
- #: admin/manage-fields.php:433
2766
  msgid "Belgium"
2767
  msgstr ""
2768
 
2769
- #: admin/manage-fields.php:434
2770
  msgid "Belize"
2771
  msgstr ""
2772
 
2773
- #: admin/manage-fields.php:435
2774
  msgid "Benin"
2775
  msgstr ""
2776
 
2777
- #: admin/manage-fields.php:436
2778
  msgid "Bermuda"
2779
  msgstr ""
2780
 
2781
- #: admin/manage-fields.php:437
2782
  msgid "Bhutan"
2783
  msgstr ""
2784
 
2785
- #: admin/manage-fields.php:438
2786
  msgid "Bolivia"
2787
  msgstr ""
2788
 
2789
- #: admin/manage-fields.php:439
2790
  msgid "Bonaire, Saint Eustatius and Saba"
2791
  msgstr ""
2792
 
2793
- #: admin/manage-fields.php:440
2794
  msgid "Bosnia and Herzegovina"
2795
  msgstr ""
2796
 
2797
- #: admin/manage-fields.php:441
2798
  msgid "Botswana"
2799
  msgstr ""
2800
 
2801
- #: admin/manage-fields.php:442
2802
  msgid "Bouvet Island"
2803
  msgstr ""
2804
 
2805
- #: admin/manage-fields.php:443
2806
  msgid "Brazil"
2807
  msgstr ""
2808
 
2809
- #: admin/manage-fields.php:444
2810
  msgid "British Indian Ocean Territory"
2811
  msgstr ""
2812
 
2813
- #: admin/manage-fields.php:445
2814
  msgid "British Virgin Islands"
2815
  msgstr ""
2816
 
2817
- #: admin/manage-fields.php:446
2818
  msgid "Brunei"
2819
  msgstr ""
2820
 
2821
- #: admin/manage-fields.php:447
2822
  msgid "Bulgaria"
2823
  msgstr ""
2824
 
2825
- #: admin/manage-fields.php:448
2826
  msgid "Burkina Faso"
2827
  msgstr ""
2828
 
2829
- #: admin/manage-fields.php:449
2830
  msgid "Burundi"
2831
  msgstr ""
2832
 
2833
- #: admin/manage-fields.php:450
2834
  msgid "Cambodia"
2835
  msgstr ""
2836
 
2837
- #: admin/manage-fields.php:451
2838
  msgid "Cameroon"
2839
  msgstr ""
2840
 
2841
- #: admin/manage-fields.php:452
2842
  msgid "Canada"
2843
  msgstr ""
2844
 
2845
- #: admin/manage-fields.php:453
2846
  msgid "Cape Verde"
2847
  msgstr ""
2848
 
2849
- #: admin/manage-fields.php:454
2850
  msgid "Cayman Islands"
2851
  msgstr ""
2852
 
2853
- #: admin/manage-fields.php:455
2854
  msgid "Central African Republic"
2855
  msgstr ""
2856
 
2857
- #: admin/manage-fields.php:456
2858
  msgid "Chad"
2859
  msgstr ""
2860
 
2861
- #: admin/manage-fields.php:457
2862
  msgid "Chile"
2863
  msgstr ""
2864
 
2865
- #: admin/manage-fields.php:458
2866
  msgid "China"
2867
  msgstr ""
2868
 
2869
- #: admin/manage-fields.php:459
2870
  msgid "Christmas Island"
2871
  msgstr ""
2872
 
2873
- #: admin/manage-fields.php:460
2874
  msgid "Cocos Islands"
2875
  msgstr ""
2876
 
2877
- #: admin/manage-fields.php:461
2878
  msgid "Colombia"
2879
  msgstr ""
2880
 
2881
- #: admin/manage-fields.php:462
2882
  msgid "Comoros"
2883
  msgstr ""
2884
 
2885
- #: admin/manage-fields.php:463
2886
  msgid "Cook Islands"
2887
  msgstr ""
2888
 
2889
- #: admin/manage-fields.php:464
2890
  msgid "Costa Rica"
2891
  msgstr ""
2892
 
2893
- #: admin/manage-fields.php:465
2894
  msgid "Croatia"
2895
  msgstr ""
2896
 
2897
- #: admin/manage-fields.php:466
2898
  msgid "Cuba"
2899
  msgstr ""
2900
 
2901
- #: admin/manage-fields.php:467
2902
  msgid "Curacao"
2903
  msgstr ""
2904
 
2905
- #: admin/manage-fields.php:468
2906
  msgid "Cyprus"
2907
  msgstr ""
2908
 
2909
- #: admin/manage-fields.php:469
2910
  msgid "Czech Republic"
2911
  msgstr ""
2912
 
2913
- #: admin/manage-fields.php:470
2914
  msgid "Democratic Republic of the Congo"
2915
  msgstr ""
2916
 
2917
- #: admin/manage-fields.php:471
2918
  msgid "Denmark"
2919
  msgstr ""
2920
 
2921
- #: admin/manage-fields.php:472
2922
  msgid "Djibouti"
2923
  msgstr ""
2924
 
2925
- #: admin/manage-fields.php:473
2926
  msgid "Dominica"
2927
  msgstr ""
2928
 
2929
- #: admin/manage-fields.php:474
2930
  msgid "Dominican Republic"
2931
  msgstr ""
2932
 
2933
- #: admin/manage-fields.php:475
2934
  msgid "East Timor"
2935
  msgstr ""
2936
 
2937
- #: admin/manage-fields.php:476
2938
  msgid "Ecuador"
2939
  msgstr ""
2940
 
2941
- #: admin/manage-fields.php:477
2942
  msgid "Egypt"
2943
  msgstr ""
2944
 
2945
- #: admin/manage-fields.php:478
2946
  msgid "El Salvador"
2947
  msgstr ""
2948
 
2949
- #: admin/manage-fields.php:479
2950
  msgid "Equatorial Guinea"
2951
  msgstr ""
2952
 
2953
- #: admin/manage-fields.php:480
2954
  msgid "Eritrea"
2955
  msgstr ""
2956
 
2957
- #: admin/manage-fields.php:481
2958
  msgid "Estonia"
2959
  msgstr ""
2960
 
2961
- #: admin/manage-fields.php:482
2962
  msgid "Ethiopia"
2963
  msgstr ""
2964
 
2965
- #: admin/manage-fields.php:483
2966
  msgid "Falkland Islands"
2967
  msgstr ""
2968
 
2969
- #: admin/manage-fields.php:484
2970
  msgid "Faroe Islands"
2971
  msgstr ""
2972
 
2973
- #: admin/manage-fields.php:485
2974
  msgid "Fiji"
2975
  msgstr ""
2976
 
2977
- #: admin/manage-fields.php:486
2978
  msgid "Finland"
2979
  msgstr ""
2980
 
2981
- #: admin/manage-fields.php:487
2982
  msgid "France"
2983
  msgstr ""
2984
 
2985
- #: admin/manage-fields.php:488
2986
  msgid "French Guiana"
2987
  msgstr ""
2988
 
2989
- #: admin/manage-fields.php:489
2990
  msgid "French Polynesia"
2991
  msgstr ""
2992
 
2993
- #: admin/manage-fields.php:490
2994
  msgid "French Southern Territories"
2995
  msgstr ""
2996
 
2997
- #: admin/manage-fields.php:491
2998
  msgid "Gabon"
2999
  msgstr ""
3000
 
3001
- #: admin/manage-fields.php:492
3002
  msgid "Gambia"
3003
  msgstr ""
3004
 
3005
- #: admin/manage-fields.php:493
3006
  msgid "Georgia"
3007
  msgstr ""
3008
 
3009
- #: admin/manage-fields.php:494
3010
  msgid "Germany"
3011
  msgstr ""
3012
 
3013
- #: admin/manage-fields.php:495
3014
  msgid "Ghana"
3015
  msgstr ""
3016
 
3017
- #: admin/manage-fields.php:496
3018
  msgid "Gibraltar"
3019
  msgstr ""
3020
 
3021
- #: admin/manage-fields.php:497
3022
  msgid "Greece"
3023
  msgstr ""
3024
 
3025
- #: admin/manage-fields.php:498
3026
  msgid "Greenland"
3027
  msgstr ""
3028
 
3029
- #: admin/manage-fields.php:499
3030
  msgid "Grenada"
3031
  msgstr ""
3032
 
3033
- #: admin/manage-fields.php:500
3034
  msgid "Guadeloupe"
3035
  msgstr ""
3036
 
3037
- #: admin/manage-fields.php:501
3038
  msgid "Guam"
3039
  msgstr ""
3040
 
3041
- #: admin/manage-fields.php:502
3042
  msgid "Guatemala"
3043
  msgstr ""
3044
 
3045
- #: admin/manage-fields.php:503
3046
  msgid "Guernsey"
3047
  msgstr ""
3048
 
3049
- #: admin/manage-fields.php:504
3050
  msgid "Guinea"
3051
  msgstr ""
3052
 
3053
- #: admin/manage-fields.php:505
3054
  msgid "Guinea-Bissau"
3055
  msgstr ""
3056
 
3057
- #: admin/manage-fields.php:506
3058
  msgid "Guyana"
3059
  msgstr ""
3060
 
3061
- #: admin/manage-fields.php:507
3062
  msgid "Haiti"
3063
  msgstr ""
3064
 
3065
- #: admin/manage-fields.php:508
3066
  msgid "Heard Island and McDonald Islands"
3067
  msgstr ""
3068
 
3069
- #: admin/manage-fields.php:509
3070
  msgid "Honduras"
3071
  msgstr ""
3072
 
3073
- #: admin/manage-fields.php:510
3074
  msgid "Hong Kong"
3075
  msgstr ""
3076
 
3077
- #: admin/manage-fields.php:511
3078
  msgid "Hungary"
3079
  msgstr ""
3080
 
3081
- #: admin/manage-fields.php:512
3082
  msgid "Iceland"
3083
  msgstr ""
3084
 
3085
- #: admin/manage-fields.php:513
3086
  msgid "India"
3087
  msgstr ""
3088
 
3089
- #: admin/manage-fields.php:514
3090
  msgid "Indonesia"
3091
  msgstr ""
3092
 
3093
- #: admin/manage-fields.php:515
3094
  msgid "Iran"
3095
  msgstr ""
3096
 
3097
- #: admin/manage-fields.php:516
3098
  msgid "Iraq"
3099
  msgstr ""
3100
 
3101
- #: admin/manage-fields.php:517
3102
  msgid "Ireland"
3103
  msgstr ""
3104
 
3105
- #: admin/manage-fields.php:518
3106
  msgid "Isle of Man"
3107
  msgstr ""
3108
 
3109
- #: admin/manage-fields.php:519
3110
  msgid "Israel"
3111
  msgstr ""
3112
 
3113
- #: admin/manage-fields.php:520
3114
  msgid "Italy"
3115
  msgstr ""
3116
 
3117
- #: admin/manage-fields.php:521
3118
  msgid "Ivory Coast"
3119
  msgstr ""
3120
 
3121
- #: admin/manage-fields.php:522
3122
  msgid "Jamaica"
3123
  msgstr ""
3124
 
3125
- #: admin/manage-fields.php:523
3126
  msgid "Japan"
3127
  msgstr ""
3128
 
3129
- #: admin/manage-fields.php:524
3130
  msgid "Jersey"
3131
  msgstr ""
3132
 
3133
- #: admin/manage-fields.php:525
3134
  msgid "Jordan"
3135
  msgstr ""
3136
 
3137
- #: admin/manage-fields.php:526
3138
  msgid "Kazakhstan"
3139
  msgstr ""
3140
 
3141
- #: admin/manage-fields.php:527
3142
  msgid "Kenya"
3143
  msgstr ""
3144
 
3145
- #: admin/manage-fields.php:528
3146
  msgid "Kiribati"
3147
  msgstr ""
3148
 
3149
- #: admin/manage-fields.php:529
3150
  msgid "Kosovo"
3151
  msgstr ""
3152
 
3153
- #: admin/manage-fields.php:530
3154
  msgid "Kuwait"
3155
  msgstr ""
3156
 
3157
- #: admin/manage-fields.php:531
3158
  msgid "Kyrgyzstan"
3159
  msgstr ""
3160
 
3161
- #: admin/manage-fields.php:532
3162
  msgid "Laos"
3163
  msgstr ""
3164
 
3165
- #: admin/manage-fields.php:533
3166
  msgid "Latvia"
3167
  msgstr ""
3168
 
3169
- #: admin/manage-fields.php:534
3170
  msgid "Lebanon"
3171
  msgstr ""
3172
 
3173
- #: admin/manage-fields.php:535
3174
  msgid "Lesotho"
3175
  msgstr ""
3176
 
3177
- #: admin/manage-fields.php:536
3178
  msgid "Liberia"
3179
  msgstr ""
3180
 
3181
- #: admin/manage-fields.php:537
3182
  msgid "Libya"
3183
  msgstr ""
3184
 
3185
- #: admin/manage-fields.php:538
3186
  msgid "Liechtenstein"
3187
  msgstr ""
3188
 
3189
- #: admin/manage-fields.php:539
3190
  msgid "Lithuania"
3191
  msgstr ""
3192
 
3193
- #: admin/manage-fields.php:540
3194
  msgid "Luxembourg"
3195
  msgstr ""
3196
 
3197
- #: admin/manage-fields.php:541
3198
  msgid "Macao"
3199
  msgstr ""
3200
 
3201
- #: admin/manage-fields.php:542
3202
  msgid "Macedonia"
3203
  msgstr ""
3204
 
3205
- #: admin/manage-fields.php:543
3206
  msgid "Madagascar"
3207
  msgstr ""
3208
 
3209
- #: admin/manage-fields.php:544
3210
  msgid "Malawi"
3211
  msgstr ""
3212
 
3213
- #: admin/manage-fields.php:545
3214
  msgid "Malaysia"
3215
  msgstr ""
3216
 
3217
- #: admin/manage-fields.php:546
3218
  msgid "Maldives"
3219
  msgstr ""
3220
 
3221
- #: admin/manage-fields.php:547
3222
  msgid "Mali"
3223
  msgstr ""
3224
 
3225
- #: admin/manage-fields.php:548
3226
  msgid "Malta"
3227
  msgstr ""
3228
 
3229
- #: admin/manage-fields.php:549
3230
  msgid "Marshall Islands"
3231
  msgstr ""
3232
 
3233
- #: admin/manage-fields.php:550
3234
  msgid "Martinique"
3235
  msgstr ""
3236
 
3237
- #: admin/manage-fields.php:551
3238
  msgid "Mauritania"
3239
  msgstr ""
3240
 
3241
- #: admin/manage-fields.php:552
3242
  msgid "Mauritius"
3243
  msgstr ""
3244
 
3245
- #: admin/manage-fields.php:553
3246
  msgid "Mayotte"
3247
  msgstr ""
3248
 
3249
- #: admin/manage-fields.php:554
3250
  msgid "Mexico"
3251
  msgstr ""
3252
 
3253
- #: admin/manage-fields.php:555
3254
  msgid "Micronesia"
3255
  msgstr ""
3256
 
3257
- #: admin/manage-fields.php:556
3258
  msgid "Moldova"
3259
  msgstr ""
3260
 
3261
- #: admin/manage-fields.php:557
3262
  msgid "Monaco"
3263
  msgstr ""
3264
 
3265
- #: admin/manage-fields.php:558
3266
  msgid "Mongolia"
3267
  msgstr ""
3268
 
3269
- #: admin/manage-fields.php:559
3270
  msgid "Montenegro"
3271
  msgstr ""
3272
 
3273
- #: admin/manage-fields.php:560
3274
  msgid "Montserrat"
3275
  msgstr ""
3276
 
3277
- #: admin/manage-fields.php:561
3278
  msgid "Morocco"
3279
  msgstr ""
3280
 
3281
- #: admin/manage-fields.php:562
3282
  msgid "Mozambique"
3283
  msgstr ""
3284
 
3285
- #: admin/manage-fields.php:563
3286
  msgid "Myanmar"
3287
  msgstr ""
3288
 
3289
- #: admin/manage-fields.php:564
3290
  msgid "Namibia"
3291
  msgstr ""
3292
 
3293
- #: admin/manage-fields.php:565
3294
  msgid "Nauru"
3295
  msgstr ""
3296
 
3297
- #: admin/manage-fields.php:566
3298
  msgid "Nepal"
3299
  msgstr ""
3300
 
3301
- #: admin/manage-fields.php:567
3302
  msgid "Netherlands"
3303
  msgstr ""
3304
 
3305
- #: admin/manage-fields.php:568
3306
  msgid "New Caledonia"
3307
  msgstr ""
3308
 
3309
- #: admin/manage-fields.php:569
3310
  msgid "New Zealand"
3311
  msgstr ""
3312
 
3313
- #: admin/manage-fields.php:570
3314
  msgid "Nicaragua"
3315
  msgstr ""
3316
 
3317
- #: admin/manage-fields.php:571
3318
  msgid "Niger"
3319
  msgstr ""
3320
 
3321
- #: admin/manage-fields.php:572
3322
  msgid "Nigeria"
3323
  msgstr ""
3324
 
3325
- #: admin/manage-fields.php:573
3326
  msgid "Niue"
3327
  msgstr ""
3328
 
3329
- #: admin/manage-fields.php:574
3330
  msgid "Norfolk Island"
3331
  msgstr ""
3332
 
3333
- #: admin/manage-fields.php:575
3334
  msgid "North Korea"
3335
  msgstr ""
3336
 
3337
- #: admin/manage-fields.php:576
3338
  msgid "Northern Mariana Islands"
3339
  msgstr ""
3340
 
3341
- #: admin/manage-fields.php:577
3342
  msgid "Norway"
3343
  msgstr ""
3344
 
3345
- #: admin/manage-fields.php:578
3346
  msgid "Oman"
3347
  msgstr ""
3348
 
3349
- #: admin/manage-fields.php:579
3350
  msgid "Pakistan"
3351
  msgstr ""
3352
 
3353
- #: admin/manage-fields.php:580
3354
  msgid "Palau"
3355
  msgstr ""
3356
 
3357
- #: admin/manage-fields.php:581
3358
  msgid "Palestinian Territory"
3359
  msgstr ""
3360
 
3361
- #: admin/manage-fields.php:582
3362
  msgid "Panama"
3363
  msgstr ""
3364
 
3365
- #: admin/manage-fields.php:583
3366
  msgid "Papua New Guinea"
3367
  msgstr ""
3368
 
3369
- #: admin/manage-fields.php:584
3370
  msgid "Paraguay"
3371
  msgstr ""
3372
 
3373
- #: admin/manage-fields.php:585
3374
  msgid "Peru"
3375
  msgstr ""
3376
 
3377
- #: admin/manage-fields.php:586
3378
  msgid "Philippines"
3379
  msgstr ""
3380
 
3381
- #: admin/manage-fields.php:587
3382
  msgid "Pitcairn"
3383
  msgstr ""
3384
 
3385
- #: admin/manage-fields.php:588
3386
  msgid "Poland"
3387
  msgstr ""
3388
 
3389
- #: admin/manage-fields.php:589
3390
  msgid "Portugal"
3391
  msgstr ""
3392
 
3393
- #: admin/manage-fields.php:590
3394
  msgid "Puerto Rico"
3395
  msgstr ""
3396
 
3397
- #: admin/manage-fields.php:591
3398
  msgid "Qatar"
3399
  msgstr ""
3400
 
3401
- #: admin/manage-fields.php:592
3402
  msgid "Republic of the Congo"
3403
  msgstr ""
3404
 
3405
- #: admin/manage-fields.php:593
3406
  msgid "Reunion"
3407
  msgstr ""
3408
 
3409
- #: admin/manage-fields.php:594
3410
  msgid "Romania"
3411
  msgstr ""
3412
 
3413
- #: admin/manage-fields.php:595
3414
  msgid "Russia"
3415
  msgstr ""
3416
 
3417
- #: admin/manage-fields.php:596
3418
  msgid "Rwanda"
3419
  msgstr ""
3420
 
3421
- #: admin/manage-fields.php:597
3422
  msgid "Saint Barthelemy"
3423
  msgstr ""
3424
 
3425
- #: admin/manage-fields.php:598
3426
  msgid "Saint Helena"
3427
  msgstr ""
3428
 
3429
- #: admin/manage-fields.php:599
3430
  msgid "Saint Kitts and Nevis"
3431
  msgstr ""
3432
 
3433
- #: admin/manage-fields.php:600
3434
  msgid "Saint Lucia"
3435
  msgstr ""
3436
 
3437
- #: admin/manage-fields.php:601
3438
  msgid "Saint Martin"
3439
  msgstr ""
3440
 
3441
- #: admin/manage-fields.php:602
3442
  msgid "Saint Pierre and Miquelon"
3443
  msgstr ""
3444
 
3445
- #: admin/manage-fields.php:603
3446
  msgid "Saint Vincent and the Grenadines"
3447
  msgstr ""
3448
 
3449
- #: admin/manage-fields.php:604
3450
  msgid "Samoa"
3451
  msgstr ""
3452
 
3453
- #: admin/manage-fields.php:605
3454
  msgid "San Marino"
3455
  msgstr ""
3456
 
3457
- #: admin/manage-fields.php:606
3458
  msgid "Sao Tome and Principe"
3459
  msgstr ""
3460
 
3461
- #: admin/manage-fields.php:607
3462
  msgid "Saudi Arabia"
3463
  msgstr ""
3464
 
3465
- #: admin/manage-fields.php:608
3466
  msgid "Senegal"
3467
  msgstr ""
3468
 
3469
- #: admin/manage-fields.php:609
3470
  msgid "Serbia"
3471
  msgstr ""
3472
 
3473
- #: admin/manage-fields.php:610
3474
  msgid "Seychelles"
3475
  msgstr ""
3476
 
3477
- #: admin/manage-fields.php:611
3478
  msgid "Sierra Leone"
3479
  msgstr ""
3480
 
3481
- #: admin/manage-fields.php:612
3482
  msgid "Singapore"
3483
  msgstr ""
3484
 
3485
- #: admin/manage-fields.php:613
3486
  msgid "Sint Maarten"
3487
  msgstr ""
3488
 
3489
- #: admin/manage-fields.php:614
3490
  msgid "Slovakia"
3491
  msgstr ""
3492
 
3493
- #: admin/manage-fields.php:615
3494
  msgid "Slovenia"
3495
  msgstr ""
3496
 
3497
- #: admin/manage-fields.php:616
3498
  msgid "Solomon Islands"
3499
  msgstr ""
3500
 
3501
- #: admin/manage-fields.php:617
3502
  msgid "Somalia"
3503
  msgstr ""
3504
 
3505
- #: admin/manage-fields.php:618
3506
  msgid "South Africa"
3507
  msgstr ""
3508
 
3509
- #: admin/manage-fields.php:619
3510
  msgid "South Georgia and the South Sandwich Islands"
3511
  msgstr ""
3512
 
3513
- #: admin/manage-fields.php:620
3514
  msgid "South Korea"
3515
  msgstr ""
3516
 
3517
- #: admin/manage-fields.php:621
3518
  msgid "South Sudan"
3519
  msgstr ""
3520
 
3521
- #: admin/manage-fields.php:622
3522
  msgid "Spain"
3523
  msgstr ""
3524
 
3525
- #: admin/manage-fields.php:623
3526
  msgid "Sri Lanka"
3527
  msgstr ""
3528
 
3529
- #: admin/manage-fields.php:624
3530
  msgid "Sudan"
3531
  msgstr ""
3532
 
3533
- #: admin/manage-fields.php:625
3534
  msgid "Suriname"
3535
  msgstr ""
3536
 
3537
- #: admin/manage-fields.php:626
3538
  msgid "Svalbard and Jan Mayen"
3539
  msgstr ""
3540
 
3541
- #: admin/manage-fields.php:627
3542
  msgid "Swaziland"
3543
  msgstr ""
3544
 
3545
- #: admin/manage-fields.php:628
3546
  msgid "Sweden"
3547
  msgstr ""
3548
 
3549
- #: admin/manage-fields.php:629
3550
  msgid "Switzerland"
3551
  msgstr ""
3552
 
3553
- #: admin/manage-fields.php:630
3554
  msgid "Syria"
3555
  msgstr ""
3556
 
3557
- #: admin/manage-fields.php:631
3558
  msgid "Taiwan"
3559
  msgstr ""
3560
 
3561
- #: admin/manage-fields.php:632
3562
  msgid "Tajikistan"
3563
  msgstr ""
3564
 
3565
- #: admin/manage-fields.php:633
3566
  msgid "Tanzania"
3567
  msgstr ""
3568
 
3569
- #: admin/manage-fields.php:634
3570
  msgid "Thailand"
3571
  msgstr ""
3572
 
3573
- #: admin/manage-fields.php:635
3574
  msgid "Togo"
3575
  msgstr ""
3576
 
3577
- #: admin/manage-fields.php:636
3578
  msgid "Tokelau"
3579
  msgstr ""
3580
 
3581
- #: admin/manage-fields.php:637
3582
  msgid "Tonga"
3583
  msgstr ""
3584
 
3585
- #: admin/manage-fields.php:638
3586
  msgid "Trinidad and Tobago"
3587
  msgstr ""
3588
 
3589
- #: admin/manage-fields.php:639
3590
  msgid "Tunisia"
3591
  msgstr ""
3592
 
3593
- #: admin/manage-fields.php:640
3594
  msgid "Turkey"
3595
  msgstr ""
3596
 
3597
- #: admin/manage-fields.php:641
3598
  msgid "Turkmenistan"
3599
  msgstr ""
3600
 
3601
- #: admin/manage-fields.php:642
3602
  msgid "Turks and Caicos Islands"
3603
  msgstr ""
3604
 
3605
- #: admin/manage-fields.php:643
3606
  msgid "Tuvalu"
3607
  msgstr ""
3608
 
3609
- #: admin/manage-fields.php:644
3610
  msgid "U.S. Virgin Islands"
3611
  msgstr ""
3612
 
3613
- #: admin/manage-fields.php:645
3614
  msgid "Uganda"
3615
  msgstr ""
3616
 
3617
- #: admin/manage-fields.php:646
3618
  msgid "Ukraine"
3619
  msgstr ""
3620
 
3621
- #: admin/manage-fields.php:647
3622
  msgid "United Arab Emirates"
3623
  msgstr ""
3624
 
3625
- #: admin/manage-fields.php:648
3626
  msgid "United Kingdom"
3627
  msgstr ""
3628
 
3629
- #: admin/manage-fields.php:649
3630
  msgid "United States"
3631
  msgstr ""
3632
 
3633
- #: admin/manage-fields.php:650
3634
  msgid "United States Minor Outlying Islands"
3635
  msgstr ""
3636
 
3637
- #: admin/manage-fields.php:651
3638
  msgid "Uruguay"
3639
  msgstr ""
3640
 
3641
- #: admin/manage-fields.php:652
3642
  msgid "Uzbekistan"
3643
  msgstr ""
3644
 
3645
- #: admin/manage-fields.php:653
3646
  msgid "Vanuatu"
3647
  msgstr ""
3648
 
3649
- #: admin/manage-fields.php:654
3650
  msgid "Vatican"
3651
  msgstr ""
3652
 
3653
- #: admin/manage-fields.php:655
3654
  msgid "Venezuela"
3655
  msgstr ""
3656
 
3657
- #: admin/manage-fields.php:656
3658
  msgid "Vietnam"
3659
  msgstr ""
3660
 
3661
- #: admin/manage-fields.php:657
3662
  msgid "Wallis and Futuna"
3663
  msgstr ""
3664
 
3665
- #: admin/manage-fields.php:658
3666
  msgid "Western Sahara"
3667
  msgstr ""
3668
 
3669
- #: admin/manage-fields.php:659
3670
  msgid "Yemen"
3671
  msgstr ""
3672
 
3673
- #: admin/manage-fields.php:660
3674
  msgid "Zambia"
3675
  msgstr ""
3676
 
3677
- #: admin/manage-fields.php:661
3678
  msgid "Zimbabwe"
3679
  msgstr ""
3680
 
3681
- #: admin/manage-fields.php:694
3682
  msgid "Albania Lek"
3683
  msgstr ""
3684
 
3685
- #: admin/manage-fields.php:695
3686
  msgid "Afghanistan Afghani"
3687
  msgstr ""
3688
 
3689
- #: admin/manage-fields.php:696
3690
  msgid "Argentina Peso"
3691
  msgstr ""
3692
 
3693
- #: admin/manage-fields.php:698
 
 
 
 
3694
  msgid "Australia Dollar"
3695
  msgstr ""
3696
 
3697
- #: admin/manage-fields.php:699
3698
  msgid "Azerbaijan New Manat"
3699
  msgstr ""
3700
 
3701
- #: admin/manage-fields.php:700
3702
  msgid "Bahamas Dollar"
3703
  msgstr ""
3704
 
3705
- #: admin/manage-fields.php:701
3706
  msgid "Barbados Dollar"
3707
  msgstr ""
3708
 
3709
- #: admin/manage-fields.php:702
3710
  msgid "Bangladeshi taka"
3711
  msgstr ""
3712
 
3713
- #: admin/manage-fields.php:703
3714
  msgid "Belarus Ruble"
3715
  msgstr ""
3716
 
3717
- #: admin/manage-fields.php:704
3718
  msgid "Belize Dollar"
3719
  msgstr ""
3720
 
3721
- #: admin/manage-fields.php:705
3722
  msgid "Bermuda Dollar"
3723
  msgstr ""
3724
 
3725
- #: admin/manage-fields.php:706
3726
  msgid "Bolivia Boliviano"
3727
  msgstr ""
3728
 
3729
- #: admin/manage-fields.php:707
3730
  msgid "Bosnia and Herzegovina Convertible Marka"
3731
  msgstr ""
3732
 
3733
- #: admin/manage-fields.php:708
3734
  msgid "Botswana Pula"
3735
  msgstr ""
3736
 
3737
- #: admin/manage-fields.php:709
3738
  msgid "Bulgaria Lev"
3739
  msgstr ""
3740
 
3741
- #: admin/manage-fields.php:710
3742
  msgid "Brazil Real"
3743
  msgstr ""
3744
 
3745
- #: admin/manage-fields.php:711
3746
  msgid "Brunei Darussalam Dollar"
3747
  msgstr ""
3748
 
3749
- #: admin/manage-fields.php:712
3750
  msgid "Cambodia Riel"
3751
  msgstr ""
3752
 
3753
- #: admin/manage-fields.php:713
3754
  msgid "Canada Dollar"
3755
  msgstr ""
3756
 
3757
- #: admin/manage-fields.php:714
3758
  msgid "Cayman Islands Dollar"
3759
  msgstr ""
3760
 
3761
- #: admin/manage-fields.php:715
3762
  msgid "Chile Peso"
3763
  msgstr ""
3764
 
3765
- #: admin/manage-fields.php:716
3766
  msgid "China Yuan Renminbi"
3767
  msgstr ""
3768
 
3769
- #: admin/manage-fields.php:717
3770
  msgid "Colombia Peso"
3771
  msgstr ""
3772
 
3773
- #: admin/manage-fields.php:718
3774
  msgid "Costa Rica Colon"
3775
  msgstr ""
3776
 
3777
- #: admin/manage-fields.php:719
3778
  msgid "Croatia Kuna"
3779
  msgstr ""
3780
 
3781
- #: admin/manage-fields.php:720
3782
  msgid "Cuba Peso"
3783
  msgstr ""
3784
 
3785
- #: admin/manage-fields.php:721
3786
  msgid "Czech Republic Koruna"
3787
  msgstr ""
3788
 
3789
- #: admin/manage-fields.php:722
3790
  msgid "Denmark Krone"
3791
  msgstr ""
3792
 
3793
- #: admin/manage-fields.php:723
3794
  msgid "Dominican Republic Peso"
3795
  msgstr ""
3796
 
3797
- #: admin/manage-fields.php:724
3798
  msgid "East Caribbean Dollar"
3799
  msgstr ""
3800
 
3801
- #: admin/manage-fields.php:725
3802
  msgid "Egypt Pound"
3803
  msgstr ""
3804
 
3805
- #: admin/manage-fields.php:726
3806
  msgid "El Salvador Colon"
3807
  msgstr ""
3808
 
3809
- #: admin/manage-fields.php:727
3810
  msgid "Estonia Kroon"
3811
  msgstr ""
3812
 
3813
- #: admin/manage-fields.php:728
3814
  msgid "Euro"
3815
  msgstr ""
3816
 
3817
- #: admin/manage-fields.php:729
3818
  msgid "Falkland Islands (Malvinas) Pound"
3819
  msgstr ""
3820
 
3821
- #: admin/manage-fields.php:730
3822
  msgid "Fiji Dollar"
3823
  msgstr ""
3824
 
3825
- #: admin/manage-fields.php:731
3826
  msgid "Ghana Cedis"
3827
  msgstr ""
3828
 
3829
- #: admin/manage-fields.php:732
3830
  msgid "Gibraltar Pound"
3831
  msgstr ""
3832
 
3833
- #: admin/manage-fields.php:733
3834
  msgid "Guatemala Quetzal"
3835
  msgstr ""
3836
 
3837
- #: admin/manage-fields.php:734
3838
  msgid "Guernsey Pound"
3839
  msgstr ""
3840
 
3841
- #: admin/manage-fields.php:735
3842
  msgid "Guyana Dollar"
3843
  msgstr ""
3844
 
3845
- #: admin/manage-fields.php:736
3846
  msgid "Honduras Lempira"
3847
  msgstr ""
3848
 
3849
- #: admin/manage-fields.php:737
3850
  msgid "Hong Kong Dollar"
3851
  msgstr ""
3852
 
3853
- #: admin/manage-fields.php:738
3854
  msgid "Hungary Forint"
3855
  msgstr ""
3856
 
3857
- #: admin/manage-fields.php:739
3858
  msgid "Iceland Krona"
3859
  msgstr ""
3860
 
3861
- #: admin/manage-fields.php:740
3862
  msgid "India Rupee"
3863
  msgstr ""
3864
 
3865
- #: admin/manage-fields.php:741
3866
  msgid "Indonesia Rupiah"
3867
  msgstr ""
3868
 
3869
- #: admin/manage-fields.php:742
3870
  msgid "Iran Rial"
3871
  msgstr ""
3872
 
3873
- #: admin/manage-fields.php:743
3874
  msgid "Isle of Man Pound"
3875
  msgstr ""
3876
 
3877
- #: admin/manage-fields.php:744
3878
  msgid "Israel Shekel"
3879
  msgstr ""
3880
 
3881
- #: admin/manage-fields.php:745
3882
  msgid "Jamaica Dollar"
3883
  msgstr ""
3884
 
3885
- #: admin/manage-fields.php:746
3886
  msgid "Japan Yen"
3887
  msgstr ""
3888
 
3889
- #: admin/manage-fields.php:747
3890
  msgid "Jersey Pound"
3891
  msgstr ""
3892
 
3893
- #: admin/manage-fields.php:748
3894
  msgid "Kazakhstan Tenge"
3895
  msgstr ""
3896
 
3897
- #: admin/manage-fields.php:749
3898
  msgid "Korea (North) Won"
3899
  msgstr ""
3900
 
3901
- #: admin/manage-fields.php:750
3902
  msgid "Korea (South) Won"
3903
  msgstr ""
3904
 
3905
- #: admin/manage-fields.php:751
3906
  msgid "Kyrgyzstan Som"
3907
  msgstr ""
3908
 
3909
- #: admin/manage-fields.php:752
3910
  msgid "Laos Kip"
3911
  msgstr ""
3912
 
3913
- #: admin/manage-fields.php:753
3914
  msgid "Latvia Lat"
3915
  msgstr ""
3916
 
3917
- #: admin/manage-fields.php:754
3918
  msgid "Lebanon Pound"
3919
  msgstr ""
3920
 
3921
- #: admin/manage-fields.php:755
3922
  msgid "Liberia Dollar"
3923
  msgstr ""
3924
 
3925
- #: admin/manage-fields.php:756
3926
  msgid "Lithuania Litas"
3927
  msgstr ""
3928
 
3929
- #: admin/manage-fields.php:757
3930
  msgid "Macedonia Denar"
3931
  msgstr ""
3932
 
3933
- #: admin/manage-fields.php:758
3934
  msgid "Malaysia Ringgit"
3935
  msgstr ""
3936
 
3937
- #: admin/manage-fields.php:759
3938
  msgid "Mauritius Rupee"
3939
  msgstr ""
3940
 
3941
- #: admin/manage-fields.php:760
3942
  msgid "Mexico Peso"
3943
  msgstr ""
3944
 
3945
- #: admin/manage-fields.php:761
3946
  msgid "Mongolia Tughrik"
3947
  msgstr ""
3948
 
3949
- #: admin/manage-fields.php:762
3950
  msgid "Mozambique Metical"
3951
  msgstr ""
3952
 
3953
- #: admin/manage-fields.php:763
3954
  msgid "Namibia Dollar"
3955
  msgstr ""
3956
 
3957
- #: admin/manage-fields.php:764
3958
  msgid "Nepal Rupee"
3959
  msgstr ""
3960
 
3961
- #: admin/manage-fields.php:765
3962
  msgid "Netherlands Antilles Guilder"
3963
  msgstr ""
3964
 
3965
- #: admin/manage-fields.php:766
3966
  msgid "New Zealand Dollar"
3967
  msgstr ""
3968
 
3969
- #: admin/manage-fields.php:767
3970
  msgid "Nicaragua Cordoba"
3971
  msgstr ""
3972
 
3973
- #: admin/manage-fields.php:768
3974
  msgid "Nigeria Naira"
3975
  msgstr ""
3976
 
3977
- #: admin/manage-fields.php:769
3978
  msgid "Norway Krone"
3979
  msgstr ""
3980
 
3981
- #: admin/manage-fields.php:770
3982
  msgid "Oman Rial"
3983
  msgstr ""
3984
 
3985
- #: admin/manage-fields.php:771
3986
  msgid "Pakistan Rupee"
3987
  msgstr ""
3988
 
3989
- #: admin/manage-fields.php:772
3990
  msgid "Panama Balboa"
3991
  msgstr ""
3992
 
3993
- #: admin/manage-fields.php:773
3994
  msgid "Paraguay Guarani"
3995
  msgstr ""
3996
 
3997
- #: admin/manage-fields.php:774
3998
  msgid "Peru Nuevo Sol"
3999
  msgstr ""
4000
 
4001
- #: admin/manage-fields.php:775
4002
  msgid "Philippines Peso"
4003
  msgstr ""
4004
 
4005
- #: admin/manage-fields.php:776
4006
  msgid "Poland Zloty"
4007
  msgstr ""
4008
 
4009
- #: admin/manage-fields.php:777
4010
  msgid "Qatar Riyal"
4011
  msgstr ""
4012
 
4013
- #: admin/manage-fields.php:778
4014
  msgid "Romania New Leu"
4015
  msgstr ""
4016
 
4017
- #: admin/manage-fields.php:779
4018
  msgid "Russia Ruble"
4019
  msgstr ""
4020
 
4021
- #: admin/manage-fields.php:780
4022
  msgid "Saint Helena Pound"
4023
  msgstr ""
4024
 
4025
- #: admin/manage-fields.php:781
4026
  msgid "Saudi Arabia Riyal"
4027
  msgstr ""
4028
 
4029
- #: admin/manage-fields.php:782
4030
  msgid "Serbia Dinar"
4031
  msgstr ""
4032
 
4033
- #: admin/manage-fields.php:783
4034
  msgid "Seychelles Rupee"
4035
  msgstr ""
4036
 
4037
- #: admin/manage-fields.php:784
4038
  msgid "Singapore Dollar"
4039
  msgstr ""
4040
 
4041
- #: admin/manage-fields.php:785
4042
  msgid "Solomon Islands Dollar"
4043
  msgstr ""
4044
 
4045
- #: admin/manage-fields.php:786
4046
  msgid "Somalia Shilling"
4047
  msgstr ""
4048
 
4049
- #: admin/manage-fields.php:787
4050
  msgid "South Africa Rand"
4051
  msgstr ""
4052
 
4053
- #: admin/manage-fields.php:788
4054
  msgid "Sri Lanka Rupee"
4055
  msgstr ""
4056
 
4057
- #: admin/manage-fields.php:789
4058
  msgid "Sweden Krona"
4059
  msgstr ""
4060
 
4061
- #: admin/manage-fields.php:790
4062
  msgid "Switzerland Franc"
4063
  msgstr ""
4064
 
4065
- #: admin/manage-fields.php:791
4066
  msgid "Suriname Dollar"
4067
  msgstr ""
4068
 
4069
- #: admin/manage-fields.php:792
4070
  msgid "Syria Pound"
4071
  msgstr ""
4072
 
4073
- #: admin/manage-fields.php:793
4074
  msgid "Taiwan New Dollar"
4075
  msgstr ""
4076
 
4077
- #: admin/manage-fields.php:794
4078
  msgid "Thailand Baht"
4079
  msgstr ""
4080
 
4081
- #: admin/manage-fields.php:795
4082
  msgid "Trinidad and Tobago Dollar"
4083
  msgstr ""
4084
 
4085
- #: admin/manage-fields.php:796, admin/manage-fields.php:797
4086
  msgid "Turkey Lira"
4087
  msgstr ""
4088
 
4089
- #: admin/manage-fields.php:798
4090
  msgid "Tuvalu Dollar"
4091
  msgstr ""
4092
 
4093
- #: admin/manage-fields.php:799
4094
  msgid "Ukraine Hryvna"
4095
  msgstr ""
4096
 
4097
- #: admin/manage-fields.php:800
4098
  msgid "United Kingdom Pound"
4099
  msgstr ""
4100
 
4101
- #: admin/manage-fields.php:801
4102
  msgid "Uganda Shilling"
4103
  msgstr ""
4104
 
4105
- #: admin/manage-fields.php:802
4106
  msgid "US Dollar"
4107
  msgstr ""
4108
 
4109
- #: admin/manage-fields.php:803
4110
  msgid "Uruguay Peso"
4111
  msgstr ""
4112
 
4113
- #: admin/manage-fields.php:804
4114
  msgid "Uzbekistan Som"
4115
  msgstr ""
4116
 
4117
- #: admin/manage-fields.php:805
4118
  msgid "Venezuela Bolivar"
4119
  msgstr ""
4120
 
4121
- #: admin/manage-fields.php:806
4122
  msgid "Viet Nam Dong"
4123
  msgstr ""
4124
 
4125
- #: admin/manage-fields.php:807
4126
  msgid "Yemen Rial"
4127
  msgstr ""
4128
 
4129
- #: admin/manage-fields.php:808
4130
  msgid "Zimbabwe Dollar"
4131
  msgstr ""
4132
 
4133
- #: admin/manage-fields.php:1308
4134
  msgid ""
4135
  "That field is already added in this form\n"
4136
  ""
4137
  msgstr ""
4138
 
4139
- #: admin/manage-fields.php:1301, admin/manage-fields.php:1115
4140
  msgid ""
4141
  "You must select a field\n"
4142
  ""
4143
  msgstr ""
4144
 
4145
- #: admin/manage-fields.php:1125
4146
  msgid ""
4147
  "Please choose a different field type as this one already exists in your form (must be unique)\n"
4148
  ""
4149
  msgstr ""
4150
 
4151
- #: admin/manage-fields.php:1139
4152
  msgid ""
4153
  "The entered avatar size is not numerical\n"
4154
  ""
4155
  msgstr ""
4156
 
4157
- #: admin/manage-fields.php:1136
4158
  msgid ""
4159
  "The entered avatar size is not between 20 and 200\n"
4160
  ""
4161
  msgstr ""
4162
 
4163
- #: admin/manage-fields.php:1150
4164
  msgid ""
4165
  "You must enter a value for the row number\n"
4166
  ""
4167
  msgstr ""
4168
 
4169
- #: admin/manage-fields.php:1147
4170
  msgid ""
4171
  "The entered row number is not numerical\n"
4172
  ""
4173
  msgstr ""
4174
 
4175
- #: admin/manage-fields.php:1158
4176
  msgid ""
4177
  "You must enter the site key\n"
4178
  ""
4179
  msgstr ""
4180
 
4181
- #: admin/manage-fields.php:1160
4182
  msgid ""
4183
  "You must enter the secret key\n"
4184
  ""
4185
  msgstr ""
4186
 
4187
- #: admin/manage-fields.php:1182
4188
  msgid ""
4189
  "The entered value for the Datepicker is not a valid date-format\n"
4190
  ""
4191
  msgstr ""
4192
 
4193
- #: admin/manage-fields.php:1168
4194
  msgid ""
4195
  "You must enter a value for the date-format\n"
4196
  ""
4197
  msgstr ""
4198
 
4199
- #: admin/manage-fields.php:1201
4200
  msgid ""
4201
  "The meta-name cannot be empty\n"
4202
  ""
4203
  msgstr ""
4204
 
4205
- #: admin/manage-fields.php:1206
4206
  msgid ""
4207
  "The meta-name cannot begin with a space\n"
4208
  ""
4209
  msgstr ""
4210
 
4211
- #: admin/manage-fields.php:1209
4212
  msgid ""
4213
  "The meta-name cannot end with a space\n"
4214
  ""
4215
  msgstr ""
4216
 
4217
- #: admin/manage-fields.php:1239, admin/manage-fields.php:1250
4218
  msgid ""
4219
  "That meta-name is already in use\n"
4220
  ""
4221
  msgstr ""
4222
 
4223
- #: admin/manage-fields.php:1231
4224
  msgid ""
4225
  "That meta-name can't be used, please choose another\n"
4226
  ""
4227
  msgstr ""
4228
 
4229
- #: admin/manage-fields.php:1261
4230
  msgid ""
4231
  "The meta-name can only contain lowercase letters, numbers, _ , - and no spaces.\n"
4232
  ""
4233
  msgstr ""
4234
 
4235
- #: admin/manage-fields.php:1285
4236
  msgid ""
4237
  "The following option did not coincide with the ones in the options list: %s\n"
4238
  ""
4239
  msgstr ""
4240
 
4241
- #: admin/manage-fields.php:1281
4242
  msgid ""
4243
  "The following option(s) did not coincide with the ones in the options list: %s\n"
4244
  ""
4245
  msgstr ""
4246
 
4247
- #: admin/manage-fields.php:1292
4248
  msgid ""
4249
  "Please select at least one user role\n"
4250
  ""
4251
  msgstr ""
4252
 
4253
- #: admin/manage-fields.php:1360
4254
  msgid "<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre>"
4255
  msgstr ""
4256
 
4257
- #: admin/manage-fields.php:1375
 
 
 
 
 
 
 
 
4258
  msgid "Use these shortcodes on the pages you want the forms to be displayed:"
4259
  msgstr ""
4260
 
4261
- #: admin/manage-fields.php:1386
4262
  msgid "With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms add-on."
4263
  msgstr ""
4264
 
4265
- #: admin/manage-fields.php:1384
4266
  msgid "If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Add-ons."
4267
  msgstr ""
4268
 
4269
- #: admin/manage-fields.php:1485
4270
  msgid "Search Location"
4271
  msgstr ""
4272
 
@@ -4310,7 +4290,7 @@ msgstr ""
4310
  msgid "Payment Management"
4311
  msgstr ""
4312
 
4313
- #: admin/pms-cross-promotion.php:79, admin/pms-cross-promotion.php:115, admin/pms-cross-promotion.php:194
4314
  msgid "Activate"
4315
  msgstr ""
4316
 
@@ -4358,6 +4338,10 @@ msgstr ""
4358
  msgid "Accept user payments, create subscription plans and restrict content on your website."
4359
  msgstr ""
4360
 
 
 
 
 
4361
  #: admin/pms-cross-promotion.php:138, admin/pms-cross-promotion.php:217
4362
  msgid "Install Now"
4363
  msgstr ""
@@ -4446,10 +4430,6 @@ msgstr ""
4446
  msgid "Disable the WordPress REST-API for non-logged in users when Private Website is enabled"
4447
  msgstr ""
4448
 
4449
- #: admin/private-website.php:162, features/functions.php:1017, features/content-restriction/content-restriction.php:162, 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:115, admin/advanced-settings/includes/views/view-fields.php:309, admin/advanced-settings/includes/views/view-forms.php:376, admin/advanced-settings/includes/views/view-shortcodes.php:77, admin/advanced-settings/includes/views/view-userlisting.php:91
4450
- msgid "Save Changes"
4451
- msgstr ""
4452
-
4453
  #: admin/register-version.php:23, admin/register-version.php:23
4454
  msgid "Profile Builder Register"
4455
  msgstr ""
@@ -4511,19 +4491,19 @@ msgid "(e.g. CLPB-15-SN-253a55baa4fbe7bf595b2aabb8d72985)"
4511
  msgstr ""
4512
 
4513
  #: admin/register-version.php:276
4514
- msgid "<p>Your <strong>Profile Builder</strong> license is about to expire on %5$s. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %6$sDismiss%7$s</p>"
4515
  msgstr ""
4516
 
4517
  #: admin/register-version.php:269
4518
- msgid "<p>Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %5$sDismiss%6$s</p>"
4519
  msgstr ""
4520
 
4521
  #: admin/register-version.php:267
4522
- msgid "<p>Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s</p>"
4523
  msgstr ""
4524
 
4525
  #: admin/register-version.php:261
4526
- msgid "<p>Your <strong>Profile Builder</strong> serial number is invalid or missing. <br/>Please %1$sregister your copy%2$s to receive access to automatic updates and support. Need a license key? %3$sPurchase one now%4$s</p>"
4527
  msgstr ""
4528
 
4529
  #: admin/review.php:73
@@ -4550,66 +4530,78 @@ msgstr ""
4550
  msgid "If you enjoy using <strong> %1$s </strong> please <a href=\"%2$s\" target=\"_blank\">rate us on WordPress.org</a>. More happy users means more features, less bugs and better support for everyone. "
4551
  msgstr ""
4552
 
4553
- #: features/functions.php:326
4554
  msgid "GDPR Checkbox"
4555
  msgstr ""
4556
 
4557
- #: features/functions.php:326
4558
  msgid "I allow the website to collect and store the data I submit through this form."
4559
  msgstr ""
4560
 
4561
- #: features/functions.php:739
 
 
 
 
4562
  msgid "Strength indicator"
4563
  msgstr ""
4564
 
4565
- #: features/functions.php:765, features/functions.php:789
4566
  msgid "Very Weak"
4567
  msgstr ""
4568
 
4569
- #: features/functions.php:779
4570
  msgid "Minimum length of %d characters."
4571
  msgstr ""
4572
 
4573
- #: features/functions.php:790, front-end/recover.php:376, front-end/default-fields/password/password.php:59
4574
  msgid "The password must have a minimum strength of %s"
4575
  msgstr ""
4576
 
4577
- #: features/functions.php:936
4578
  msgid "This field is required"
4579
  msgstr ""
4580
 
4581
- #: features/functions.php:974, front-end/default-fields/recaptcha/recaptcha.php:529, front-end/default-fields/recaptcha/recaptcha.php:520, front-end/default-fields/recaptcha/recaptcha.php:585, front-end/default-fields/recaptcha/recaptcha.php:633
4582
  msgid "Please enter a (valid) reCAPTCHA value"
4583
  msgstr ""
4584
 
4585
- #: features/functions.php:981
4586
  msgid "Incorrect phone number"
4587
  msgstr ""
4588
 
4589
- #: features/functions.php:1045, assets/lib/wck-api/wordpress-creation-kit.php:447
4590
  msgid "Content"
4591
  msgstr ""
4592
 
4593
- #: features/functions.php:1233
4594
  msgid "<br><br>Also, you will be able to visit your site at "
4595
  msgstr ""
4596
 
4597
- #: features/functions.php:1246
4598
  msgid "<br><br>You can visit your site at "
4599
  msgstr ""
4600
 
4601
- #: features/functions.php:1336
4602
  msgid "You will soon be redirected automatically. If you see this page for more than %1$d seconds, please click %2$s.%3$s"
4603
  msgstr ""
4604
 
4605
- #: features/functions.php:1490
4606
  msgid "No feed available,please visit our <a href=\"%s\">homepage</a>!"
4607
  msgstr ""
4608
 
4609
- #: features/functions.php:1531
4610
  msgid "You are not currently logged in."
4611
  msgstr ""
4612
 
 
 
 
 
 
 
 
 
4613
  #: front-end/class-formbuilder.php:141
4614
  msgid "The role of the created user set to the default role. Only an administrator can register a user with the role assigned to this form."
4615
  msgstr ""
@@ -4642,135 +4634,140 @@ msgstr ""
4642
  msgid "Only an administrator can add new users."
4643
  msgstr ""
4644
 
4645
- #: front-end/class-formbuilder.php:295, front-end/login.php:527
4646
  msgid "You are not allowed to do this."
4647
  msgstr ""
4648
 
4649
- #: front-end/class-formbuilder.php:397
4650
  msgid "There was an error in the submitted form"
4651
  msgstr ""
4652
 
4653
- #: front-end/class-formbuilder.php:386
4654
  msgid "Your profile has been successfully updated!"
4655
  msgstr ""
4656
 
4657
- #: front-end/class-formbuilder.php:353, front-end/class-formbuilder.php:360
4658
  msgid "The account %1s has been successfully created!"
4659
  msgstr ""
4660
 
4661
- #: front-end/class-formbuilder.php:356, front-end/class-formbuilder.php:366
4662
  msgid "Before you can access your account %1s, you need to confirm your email address. Please check your inbox and click the activation link."
4663
  msgstr ""
4664
 
4665
- #: front-end/class-formbuilder.php:362
4666
  msgid "Before you can access your account %1s, an administrator has to approve it. You will be notified via email."
4667
  msgstr ""
4668
 
4669
- #: front-end/class-formbuilder.php:457
4670
  msgid "Update"
4671
  msgstr ""
4672
 
4673
- #: front-end/class-formbuilder.php:454
4674
  msgid "Add User"
4675
  msgstr ""
4676
 
4677
- #: front-end/class-formbuilder.php:539
4678
  msgid "Send these credentials via email."
4679
  msgstr ""
4680
 
4681
- #: front-end/class-formbuilder.php:774
4682
  msgid "There are no other users to edit"
4683
  msgstr ""
4684
 
4685
- #: front-end/class-formbuilder.php:756
4686
  msgid "User to edit:"
4687
  msgstr ""
4688
 
4689
- #: front-end/class-formbuilder.php:758
4690
  msgid "Select User"
4691
  msgstr ""
4692
 
4693
- #: front-end/class-formbuilder.php:800
4694
  msgid "Something went wrong. Please try again!"
4695
  msgstr ""
4696
 
4697
- #: front-end/login.php:107
 
 
 
 
 
4698
  msgid "Username or Email Address"
4699
  msgstr ""
4700
 
4701
- #: front-end/login.php:109
4702
  msgid "Remember Me"
4703
  msgstr ""
4704
 
4705
- #: front-end/login.php:110
4706
  msgid "Log In"
4707
  msgstr ""
4708
 
4709
- #: front-end/login.php:321, front-end/login.php:357, front-end/recover.php:18, front-end/recover.php:321, front-end/extra-fields/extra-fields.php:94
4710
  msgid "ERROR"
4711
  msgstr ""
4712
 
4713
- #: front-end/login.php:325
4714
  msgid "The password field is empty."
4715
  msgstr ""
4716
 
4717
- #: front-end/login.php:329
4718
  msgid "The password you entered is incorrect."
4719
  msgstr ""
4720
 
4721
- #: front-end/login.php:338
4722
  msgid "The username field is empty"
4723
  msgstr ""
4724
 
4725
- #: front-end/login.php:336
4726
  msgid "The username/email field is empty"
4727
  msgstr ""
4728
 
4729
- #: front-end/login.php:334
4730
  msgid "The email field is empty."
4731
  msgstr ""
4732
 
4733
- #: front-end/login.php:347
4734
  msgid "Invalid username."
4735
  msgstr ""
4736
 
4737
- #: front-end/login.php:345
4738
  msgid "Invalid username or email."
4739
  msgstr ""
4740
 
4741
- #: front-end/login.php:343
4742
  msgid "Invalid email."
4743
  msgstr ""
4744
 
4745
- #: front-end/login.php:351
4746
  msgid "Password Lost and Found."
4747
  msgstr ""
4748
 
4749
- #: front-end/login.php:351, front-end/login.php:475
4750
  msgid "Lost your password?"
4751
  msgstr ""
4752
 
4753
- #: front-end/login.php:357
4754
  msgid "Both fields are empty."
4755
  msgstr ""
4756
 
4757
- #: front-end/login.php:514, front-end/logout.php:29
4758
  msgid "Log out of this account"
4759
  msgstr ""
4760
 
4761
- #: front-end/login.php:514, front-end/logout.php:16
4762
  msgid "Log out &raquo;"
4763
  msgstr ""
4764
 
4765
- #: front-end/login.php:515
4766
  msgid "You are currently logged in as %1$s. %2$s"
4767
  msgstr ""
4768
 
4769
- #: front-end/login.php:440, front-end/recover.php:123
4770
  msgid "Username or Email"
4771
  msgstr ""
4772
 
4773
- #: front-end/logout.php:16
4774
  msgid "You are currently logged in as %s. "
4775
  msgstr ""
4776
 
@@ -4822,55 +4819,55 @@ msgstr ""
4822
  msgid "You are already logged in. You can change your password on the edit profile form."
4823
  msgstr ""
4824
 
4825
- #: front-end/recover.php:419
4826
  msgid "The password must not be empty!"
4827
  msgstr ""
4828
 
4829
- #: front-end/recover.php:355
4830
  msgid "The key cannot be empty!"
4831
  msgstr ""
4832
 
4833
- #: front-end/recover.php:361, front-end/recover.php:445
4834
  msgid "Invalid key!"
4835
  msgstr ""
4836
 
4837
- #: front-end/recover.php:366
4838
  msgid "The entered passwords don't match!"
4839
  msgstr ""
4840
 
4841
- #: front-end/recover.php:372, front-end/default-fields/password/password.php:55
4842
  msgid "The password must have the minimum length of %s characters"
4843
  msgstr ""
4844
 
4845
- #: front-end/recover.php:383
4846
  msgid "Your password has been successfully changed!"
4847
  msgstr ""
4848
 
4849
- #: front-end/recover.php:294
4850
  msgid "The username entered wasn't found in the database!"
4851
  msgstr ""
4852
 
4853
- #: front-end/recover.php:294
4854
  msgid "Please check that you entered the correct username."
4855
  msgstr ""
4856
 
4857
- #: front-end/recover.php:337
4858
  msgid "The email address entered wasn't found in the database!"
4859
  msgstr ""
4860
 
4861
- #: front-end/recover.php:337
4862
  msgid "Please check that you entered the correct email address."
4863
  msgstr ""
4864
 
4865
- #: front-end/recover.php:307
4866
  msgid "Check your email for the confirmation link."
4867
  msgstr ""
4868
 
4869
- #: front-end/recover.php:321
4870
  msgid "There was an error while trying to send the activation link to %1$s!"
4871
  msgstr ""
4872
 
4873
- #: front-end/recover.php:445
4874
  msgid "ERROR:"
4875
  msgstr ""
4876
 
@@ -4890,7 +4887,7 @@ msgstr ""
4890
  msgid "Your email was successfully confirmed."
4891
  msgstr ""
4892
 
4893
- #: front-end/register.php:125, features/email-confirmation/email-confirmation.php:663
4894
  msgid "Before you can access your account, an administrator needs to approve it. You will be notified via email."
4895
  msgstr ""
4896
 
@@ -4898,15 +4895,15 @@ msgstr ""
4898
  msgid "This username is already activated!"
4899
  msgstr ""
4900
 
4901
- #: front-end/register.php:71, features/email-confirmation/email-confirmation.php:462
4902
  msgid "Could not create user!"
4903
  msgstr ""
4904
 
4905
- #: add-ons/custom-redirects/custom_redirects_admin.php:49, assets/misc/elementor/widgets/class-pb-widget-l.php:82
4906
  msgid "After Login"
4907
  msgstr ""
4908
 
4909
- #: add-ons/custom-redirects/custom_redirects_admin.php:50, assets/misc/elementor/widgets/class-pb-widget-l.php:91
4910
  msgid "After Logout"
4911
  msgstr ""
4912
 
@@ -4962,6 +4959,10 @@ msgstr ""
4962
  msgid "Individual User Redirects"
4963
  msgstr ""
4964
 
 
 
 
 
4965
  #: add-ons/custom-redirects/custom_redirects_admin.php:96, add-ons/email-customizer/email-customizer.php:31
4966
  msgid "User Role"
4967
  msgstr ""
@@ -5082,6 +5083,10 @@ msgstr ""
5082
  msgid "Admin Email Customizer Settings"
5083
  msgstr ""
5084
 
 
 
 
 
5085
  #: add-ons/email-customizer/admin-email-customizer.php:53
5086
  msgid "These settings are also replicated in the \"User Email Customizer\" settings-page upon save."
5087
  msgstr ""
@@ -5118,7 +5123,7 @@ msgstr ""
5118
  msgid "Email Subject"
5119
  msgstr ""
5120
 
5121
- #: add-ons/email-customizer/admin-email-customizer.php:84, features/email-confirmation/email-confirmation.php:536
5122
  msgid "A new subscriber has (been) registered!"
5123
  msgstr ""
5124
 
@@ -5263,7 +5268,7 @@ msgstr ""
5263
  msgid "The users selected password at signup"
5264
  msgstr ""
5265
 
5266
- #: add-ons/email-customizer/email-customizer.php:585, add-ons/email-customizer/email-customizer.php:592, add-ons/email-customizer/email-customizer.php:606, features/email-confirmation/email-confirmation.php:594
5267
  msgid "Your selected password at signup"
5268
  msgstr ""
5269
 
@@ -5516,19 +5521,19 @@ msgstr ""
5516
  msgid "This form is empty."
5517
  msgstr ""
5518
 
5519
- #: add-ons/multiple-forms/multiple-forms.php:222
5520
  msgid "You need to specify the title of the form before creating it"
5521
  msgstr ""
5522
 
5523
- #: add-ons/multiple-forms/multiple-forms.php:406
5524
  msgid "<pre>Title (Type)</pre>"
5525
  msgstr ""
5526
 
5527
- #: add-ons/multiple-forms/multiple-forms.php:406
5528
  msgid "Delete all items"
5529
  msgstr ""
5530
 
5531
- #: add-ons/multiple-forms/multiple-forms.php:406
5532
  msgid "Delete all"
5533
  msgstr ""
5534
 
@@ -5564,7 +5569,7 @@ msgstr ""
5564
  msgid "No Registration Forms found in trash"
5565
  msgstr ""
5566
 
5567
- #: add-ons/multiple-forms/register-forms.php:219
5568
  msgid "Default Role"
5569
  msgstr ""
5570
 
@@ -5636,11 +5641,11 @@ msgstr ""
5636
  msgid "Display name as"
5637
  msgstr ""
5638
 
5639
- #: add-ons/user-listing/userlisting.php:160, add-ons/user-listing/userlisting.php:330, add-ons/user-listing/userlisting.php:870, add-ons/user-listing/userlisting.php:2415, features/admin-approval/class-admin-approval.php:175, features/roles-editor/roles-editor.php:256
5640
  msgid "Role"
5641
  msgstr ""
5642
 
5643
- #: add-ons/user-listing/userlisting.php:161, features/roles-editor/roles-editor.php:366
5644
  msgid "Role Slug"
5645
  msgstr ""
5646
 
@@ -5712,11 +5717,11 @@ msgstr ""
5712
  msgid "Avatar"
5713
  msgstr ""
5714
 
5715
- #: add-ons/user-listing/userlisting.php:329, add-ons/user-listing/userlisting.php:840, add-ons/user-listing/userlisting.php:2410, features/admin-approval/class-admin-approval.php:172
5716
  msgid "Firstname"
5717
  msgstr ""
5718
 
5719
- #: add-ons/user-listing/userlisting.php:331, add-ons/user-listing/userlisting.php:855
5720
  msgid "Posts"
5721
  msgstr ""
5722
 
@@ -5756,7 +5761,7 @@ msgstr ""
5756
  msgid "Display Name"
5757
  msgstr ""
5758
 
5759
- #: add-ons/user-listing/userlisting.php:843, add-ons/user-listing/userlisting.php:2411, features/admin-approval/class-admin-approval.php:173
5760
  msgid "Lastname"
5761
  msgstr ""
5762
 
@@ -5816,7 +5821,7 @@ msgstr ""
5816
  msgid "Show All"
5817
  msgstr ""
5818
 
5819
- #: add-ons/user-listing/userlisting.php:1779
5820
  msgid "Choose..."
5821
  msgstr ""
5822
 
@@ -6052,7 +6057,7 @@ msgstr ""
6052
  msgid "Your account has to be confirmed by an administrator before you can log in."
6053
  msgstr ""
6054
 
6055
- #: features/admin-approval/admin-approval.php:27, features/admin-approval/class-admin-approval.php:469, features/admin-approval/class-admin-approval.php:542
6056
  msgid "Admin Approval"
6057
  msgstr ""
6058
 
@@ -6072,11 +6077,11 @@ msgstr ""
6072
  msgid "User successfully deleted!"
6073
  msgstr ""
6074
 
6075
- #: features/admin-approval/admin-approval.php:90, features/admin-approval/admin-approval.php:387
6076
  msgid "User successfully unapproved!"
6077
  msgstr ""
6078
 
6079
- #: features/admin-approval/admin-approval.php:80, features/admin-approval/admin-approval.php:371
6080
  msgid "User successfully approved!"
6081
  msgstr ""
6082
 
@@ -6124,14 +6129,22 @@ msgstr ""
6124
  msgid "Your account has been successfully created!"
6125
  msgstr ""
6126
 
6127
- #: features/admin-approval/admin-approval.php:326
6128
  msgid "Something went wrong!"
6129
  msgstr ""
6130
 
6131
- #: features/admin-approval/admin-approval.php:322
 
 
 
 
6132
  msgid "User not approved!"
6133
  msgstr ""
6134
 
 
 
 
 
6135
  #: features/admin-approval/admin-approval.php:305
6136
  msgid "Do you wish to unapprove the registration?"
6137
  msgstr ""
@@ -6140,62 +6153,74 @@ msgstr ""
6140
  msgid "Do you wish to approve the registration?"
6141
  msgstr ""
6142
 
6143
- #: features/admin-approval/admin-approval.php:347
6144
  msgid "The approval link is not valid! Please <a href=\"%s\"> log in </a> to approve the user manually. "
6145
  msgstr ""
6146
 
6147
- #: features/admin-approval/class-admin-approval.php:113
 
 
 
 
6148
  msgid "delete this user?"
6149
  msgstr ""
6150
 
6151
- #: features/admin-approval/class-admin-approval.php:121, features/admin-approval/class-admin-approval.php:119
6152
  msgid "approve this user?"
6153
  msgstr ""
6154
 
6155
- #: features/admin-approval/class-admin-approval.php:121, features/admin-approval/class-admin-approval.php:119, features/admin-approval/class-admin-approval.php:227
6156
  msgid "Approve"
6157
  msgstr ""
6158
 
6159
- #: features/admin-approval/class-admin-approval.php:122, features/admin-approval/class-admin-approval.php:117
6160
  msgid "unapprove this user?"
6161
  msgstr ""
6162
 
6163
- #: features/admin-approval/class-admin-approval.php:122, features/admin-approval/class-admin-approval.php:117, features/admin-approval/class-admin-approval.php:228
6164
  msgid "Unapprove"
6165
  msgstr ""
6166
 
6167
- #: features/admin-approval/class-admin-approval.php:176, features/email-confirmation/class-email-confirmation.php:170
6168
  msgid "Registered"
6169
  msgstr ""
6170
 
6171
- #: features/admin-approval/class-admin-approval.php:177
6172
  msgid "User-status"
6173
  msgstr ""
6174
 
6175
- #: features/admin-approval/class-admin-approval.php:279, features/email-confirmation/class-email-confirmation.php:279
6176
  msgid "Sorry, but you don't have permission to do that!"
6177
  msgstr ""
6178
 
6179
- #: features/admin-approval/class-admin-approval.php:271
6180
  msgid "Do you want to bulk delete the selected users?"
6181
  msgstr ""
6182
 
6183
- #: features/admin-approval/class-admin-approval.php:265
6184
  msgid "Do you want to bulk unapprove the selected users?"
6185
  msgstr ""
6186
 
6187
- #: features/admin-approval/class-admin-approval.php:257
6188
  msgid "Do you want to bulk approve the selected users?"
6189
  msgstr ""
6190
 
6191
- #: features/admin-approval/class-admin-approval.php:354
6192
  msgid "Pending"
6193
  msgstr ""
6194
 
6195
- #: features/admin-approval/class-admin-approval.php:472, features/email-confirmation/class-email-confirmation.php:461
6196
  msgid "All Users"
6197
  msgstr ""
6198
 
 
 
 
 
 
 
 
 
6199
  #: features/conditional-fields/conditional-fields.php:84
6200
  msgid "Conditional Logic"
6201
  msgstr ""
@@ -6204,7 +6229,7 @@ msgstr ""
6204
  msgid "Conditional Rules"
6205
  msgstr ""
6206
 
6207
- #: features/conditional-fields/conditional-fields.php:569
6208
  msgid "This field has conditional logic enabled."
6209
  msgstr ""
6210
 
@@ -6228,7 +6253,7 @@ msgstr ""
6228
  msgid "Allow users which have the specified role to see this content."
6229
  msgstr ""
6230
 
6231
- #: features/content-restriction/class-elementor-content-restriction.php:116, features/content-restriction/content-restriction-meta-box.php:120
6232
  msgid "Restriction Messages"
6233
  msgstr ""
6234
 
@@ -6240,7 +6265,7 @@ msgstr ""
6240
  msgid "Replace hidden content with the default messages from PB -> Settings -> Content Restriction, a custom message or an Elementor Template."
6241
  msgstr ""
6242
 
6243
- #: features/content-restriction/class-elementor-content-restriction.php:132, features/content-restriction/content-restriction-meta-box.php:126
6244
  msgid "Enable Custom Messages"
6245
  msgstr ""
6246
 
@@ -6264,6 +6289,10 @@ msgstr ""
6264
  msgid "Select Template"
6265
  msgstr ""
6266
 
 
 
 
 
6267
  #: features/content-restriction/content-restriction-filtering.php:351
6268
  msgid "You must be logged in to view the comments."
6269
  msgstr ""
@@ -6300,43 +6329,43 @@ msgstr ""
6300
  msgid "Display For"
6301
  msgstr ""
6302
 
6303
- #: features/content-restriction/content-restriction-meta-box.php:82
6304
  msgid "Checking only \"Logged In Users\" will show this %s to all logged in users, regardless of user role."
6305
  msgstr ""
6306
 
6307
- #: features/content-restriction/content-restriction-meta-box.php:86
6308
  msgid "Checking any user role will show this %s only to users that have one of those user roles assigned."
6309
  msgstr ""
6310
 
6311
- #: features/content-restriction/content-restriction-meta-box.php:93
6312
  msgid "Restriction Redirect URL"
6313
  msgstr ""
6314
 
6315
- #: features/content-restriction/content-restriction-meta-box.php:99
6316
  msgid "Enable Custom Redirect URL"
6317
  msgstr ""
6318
 
6319
- #: features/content-restriction/content-restriction-meta-box.php:103
6320
  msgid "Check if you wish to add a custom redirect URL for this %s."
6321
  msgstr ""
6322
 
6323
- #: features/content-restriction/content-restriction-meta-box.php:110
6324
  msgid "Custom Redirect URL"
6325
  msgstr ""
6326
 
6327
- #: features/content-restriction/content-restriction-meta-box.php:114
6328
  msgid "Add a URL where you wish to redirect users that do not have access to this %s and try to access it directly."
6329
  msgstr ""
6330
 
6331
- #: features/content-restriction/content-restriction-meta-box.php:130
6332
  msgid "Check if you wish to add custom messages for this %s."
6333
  msgstr ""
6334
 
6335
- #: features/content-restriction/content-restriction-meta-box.php:137
6336
  msgid "Messages for logged-out users"
6337
  msgstr ""
6338
 
6339
- #: features/content-restriction/content-restriction-meta-box.php:140
6340
  msgid "Messages for logged-in users"
6341
  msgstr ""
6342
 
@@ -6384,10 +6413,6 @@ msgstr ""
6384
  msgid "Show a portion of the restricted post to logged-out users or users that are not allowed to see it."
6385
  msgstr ""
6386
 
6387
- #: features/email-confirmation/class-email-confirmation.php:92, features/email-confirmation/class-email-confirmation.php:171
6388
- msgid "User Meta"
6389
- msgstr ""
6390
-
6391
  #: features/email-confirmation/class-email-confirmation.php:92
6392
  msgid "show"
6393
  msgstr ""
@@ -6412,23 +6437,23 @@ msgstr ""
6412
  msgid "Resend Activation Email"
6413
  msgstr ""
6414
 
6415
- #: features/email-confirmation/class-email-confirmation.php:275
6416
  msgid "The selected users have had their activation emails resent"
6417
  msgstr ""
6418
 
6419
- #: features/email-confirmation/class-email-confirmation.php:264
6420
  msgid "The selected users have been activated"
6421
  msgstr ""
6422
 
6423
- #: features/email-confirmation/class-email-confirmation.php:250
6424
  msgid "%s couldn't be deleted"
6425
  msgstr ""
6426
 
6427
- #: features/email-confirmation/class-email-confirmation.php:254
6428
  msgid "All users have been successfully deleted"
6429
  msgstr ""
6430
 
6431
- #: features/email-confirmation/class-email-confirmation.php:458, features/email-confirmation/class-email-confirmation.php:498, features/email-confirmation/email-confirmation.php:49
6432
  msgid "Users with Unconfirmed Email Address"
6433
  msgstr ""
6434
 
@@ -6444,39 +6469,39 @@ msgstr ""
6444
  msgid "There was an error performing that action!"
6445
  msgstr ""
6446
 
6447
- #: features/email-confirmation/email-confirmation.php:418
6448
  msgid "[%1$s] Activate %2$s"
6449
  msgstr ""
6450
 
6451
- #: features/email-confirmation/email-confirmation.php:421
6452
  msgid "To activate your user, please click the following link:<br><br>%s%s%s<br><br>After you activate it you will receive yet *another email* with your login."
6453
  msgstr ""
6454
 
6455
- #: features/email-confirmation/email-confirmation.php:488
6456
  msgid "There was an error while trying to activate the user"
6457
  msgstr ""
6458
 
6459
- #: features/email-confirmation/email-confirmation.php:465
6460
  msgid "That username is already activated!"
6461
  msgstr ""
6462
 
6463
- #: features/email-confirmation/email-confirmation.php:539
6464
  msgid "New subscriber on %1$s.<br/><br/>Username:%2$s<br/>Email:%3$s<br/>"
6465
  msgstr ""
6466
 
6467
- #: features/email-confirmation/email-confirmation.php:590
6468
  msgid "[%1$s] Your new account information"
6469
  msgstr ""
6470
 
6471
- #: features/email-confirmation/email-confirmation.php:602
6472
  msgid "Welcome to %1$s!<br/><br/><br/>Your username is: %2$s and the password: %3$s<br/><br/>Access your account: %4$s "
6473
  msgstr ""
6474
 
6475
- #: features/email-confirmation/email-confirmation.php:600
6476
  msgid "Welcome to %1$s!<br/><br/><br/>Your username is: %2$s and your password is the one that you have selected during registration.<br/><br/>Access your account: %3$s "
6477
  msgstr ""
6478
 
6479
- #: features/email-confirmation/email-confirmation.php:655
6480
  msgid "The \"Admin Approval\" feature was activated at the time of registration, so please remember that you need to approve this user before he/she can log in!"
6481
  msgstr ""
6482
 
@@ -6504,6 +6529,45 @@ msgstr ""
6504
  msgid "Password Recovery page URL (optional):"
6505
  msgstr ""
6506
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6507
  #: features/roles-editor/roles-editor.php:183
6508
  msgid "Capability"
6509
  msgstr ""
@@ -6540,6 +6604,10 @@ msgstr ""
6540
  msgid "No roles found in trash"
6541
  msgstr ""
6542
 
 
 
 
 
6543
  #: features/roles-editor/roles-editor.php:297, features/roles-editor/roles-editor.php:300
6544
  msgid "Role updated."
6545
  msgstr ""
@@ -6552,6 +6620,10 @@ msgstr ""
6552
  msgid "Custom field deleted."
6553
  msgstr ""
6554
 
 
 
 
 
6555
  #: features/roles-editor/roles-editor.php:302
6556
  msgid "Role created."
6557
  msgstr ""
@@ -6568,6 +6640,10 @@ msgstr ""
6568
  msgid "Role scheduled for: <strong>%1$s</strong>"
6569
  msgstr ""
6570
 
 
 
 
 
6571
  #: features/roles-editor/roles-editor.php:306
6572
  msgid "Role draft updated."
6573
  msgstr ""
@@ -6576,34 +6652,234 @@ msgstr ""
6576
  msgid "Role Name"
6577
  msgstr ""
6578
 
6579
- #: features/roles-editor/roles-editor.php:367
6580
  msgid "Capabilities"
6581
  msgstr ""
6582
 
6583
- #: features/roles-editor/roles-editor.php:368
6584
  msgid "Users"
6585
  msgstr ""
6586
 
6587
- #: features/roles-editor/roles-editor.php:877
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6588
  msgid "Clone"
6589
  msgstr ""
6590
 
6591
- #: features/roles-editor/roles-editor.php:892
 
 
 
 
6592
  msgid "Change Default"
6593
  msgstr ""
6594
 
6595
- #: features/roles-editor/roles-editor.php:893
6596
  msgid "You can't delete the default role. Change it first."
6597
  msgstr ""
6598
 
6599
- #: features/roles-editor/roles-editor.php:884
6600
  msgid "You can't delete your role."
6601
  msgstr ""
6602
 
6603
- #: features/roles-editor/roles-editor.php:1120
6604
  msgid "Edit User Roles"
6605
  msgstr ""
6606
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6607
  #: features/upgrades/upgrades-functions.php:136, features/upgrades/upgrades-functions.php:93
6608
  msgid "The usernames cannot be changed."
6609
  msgstr ""
@@ -6668,16 +6944,24 @@ msgstr ""
6668
  msgid "Please enter a unique field title."
6669
  msgstr ""
6670
 
6671
- #: add-ons/repeater-field/admin/repeater-manage-fields.php:346
6672
  msgid ""
6673
  "Please enter a unique field title.\n"
6674
  ""
6675
  msgstr ""
6676
 
 
 
 
 
6677
  #: assets/lib/wck-api/wordpress-creation-kit.php:549
6678
  msgid "Delete this item"
6679
  msgstr ""
6680
 
 
 
 
 
6681
  #: assets/misc/elementor/class-elementor.php:72
6682
  msgid "Profile Builder Forms"
6683
  msgstr ""
@@ -6710,11 +6994,11 @@ msgstr ""
6710
  msgid "This email is already reserved to be used soon."
6711
  msgstr ""
6712
 
6713
- #: front-end/default-fields/email/email.php:69, front-end/default-fields/email/email.php:63, front-end/default-fields/email/email.php:79, front-end/default-fields/email/email.php:97, front-end/default-fields/username/username.php:51, front-end/default-fields/username/username.php:67
6714
  msgid "Please try a different one!"
6715
  msgstr ""
6716
 
6717
- #: front-end/default-fields/email/email.php:79, front-end/default-fields/email/email.php:97
6718
  msgid "This email is already in use."
6719
  msgstr ""
6720
 
@@ -6738,15 +7022,15 @@ msgstr ""
6738
  msgid "To use reCAPTCHA you must get an API key from"
6739
  msgstr ""
6740
 
6741
- #: front-end/default-fields/recaptcha/recaptcha.php:216
6742
  msgid "For security reasons, you must pass the remote ip to reCAPTCHA!"
6743
  msgstr ""
6744
 
6745
- #: front-end/default-fields/recaptcha/recaptcha.php:287
6746
  msgid "To use reCAPTCHA you must get an API public key from:"
6747
  msgstr ""
6748
 
6749
- #: front-end/default-fields/recaptcha/recaptcha.php:585
6750
  msgid "Click the BACK button on your browser, and try again."
6751
  msgstr ""
6752
 
@@ -6778,7 +7062,7 @@ msgstr ""
6778
  msgid "This username is already reserved to be used soon."
6779
  msgstr ""
6780
 
6781
- #: front-end/extra-fields/avatar/avatar.php:20, front-end/extra-fields/upload/upload.php:16, front-end/extra-fields/upload/upload.php:128
6782
  msgid "Remove"
6783
  msgstr ""
6784
 
@@ -6786,6 +7070,10 @@ msgstr ""
6786
  msgid "required"
6787
  msgstr ""
6788
 
 
 
 
 
6789
  #: front-end/extra-fields/input-url/input-url.php:70
6790
  msgid "You must enter a valid URL."
6791
  msgstr ""
@@ -6826,7 +7114,7 @@ msgstr ""
6826
  msgid "Select File"
6827
  msgstr ""
6828
 
6829
- #: front-end/extra-fields/upload/upload.php:199
6830
  msgid "Upload "
6831
  msgstr ""
6832
 
@@ -6890,19 +7178,19 @@ msgstr ""
6890
  msgid "Set multiple admin e-mail addresses that will receive e-mail notifications sent by Profile Builder"
6891
  msgstr ""
6892
 
6893
- #: admin/advanced-settings/includes/views/view-admin.php:84
6894
  msgid "Admin Emails:"
6895
  msgstr ""
6896
 
6897
- #: admin/advanced-settings/includes/views/view-admin.php:90
6898
  msgid "Add email addresses, separated by comma, for people you wish to receive notifications from Profile Builder. These addresses will overwrite the default Email Address from <a href=\"%s\">Settings -> General</a>"
6899
  msgstr ""
6900
 
6901
- #: admin/advanced-settings/includes/views/view-admin.php:100
6902
  msgid "Disable Multiple User Roles"
6903
  msgstr ""
6904
 
6905
- #: admin/advanced-settings/includes/views/view-admin.php:107
6906
  msgid "Activating this option will disable the ability to select multiple roles for a user."
6907
  msgstr ""
6908
 
@@ -7123,98 +7411,98 @@ msgid "Consider 'Anyone can Register' WordPress option"
7123
  msgstr ""
7124
 
7125
  #: admin/advanced-settings/includes/views/view-forms.php:223
7126
- msgid "setting"
7127
  msgstr ""
7128
 
7129
- #: admin/advanced-settings/includes/views/view-forms.php:225
7130
- msgid "By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it."
7131
  msgstr ""
7132
 
7133
- #: admin/advanced-settings/includes/views/view-forms.php:233
7134
  msgid "Modify default Redirect Delay timer"
7135
  msgstr ""
7136
 
7137
- #: admin/advanced-settings/includes/views/view-forms.php:240
7138
  msgid "This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen."
7139
  msgstr ""
7140
 
7141
- #: admin/advanced-settings/includes/views/view-forms.php:243
7142
  msgid "The default is 3 seconds. Leave empty if you do not want to change it."
7143
  msgstr ""
7144
 
7145
- #: admin/advanced-settings/includes/views/view-forms.php:251
7146
  msgid "Save Admin Approval status in usermeta"
7147
  msgstr ""
7148
 
7149
- #: admin/advanced-settings/includes/views/view-forms.php:260
7150
  msgid "By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user."
7151
  msgstr ""
7152
 
7153
- #: admin/advanced-settings/includes/views/view-forms.php:263
7154
  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."
7155
  msgstr ""
7156
 
7157
- #: admin/advanced-settings/includes/views/view-forms.php:272
7158
  msgid "Redirect '/author' page if user is not approved"
7159
  msgstr ""
7160
 
7161
- #: admin/advanced-settings/includes/views/view-forms.php:281
7162
  msgid "By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible."
7163
  msgstr ""
7164
 
7165
- #: admin/advanced-settings/includes/views/view-forms.php:284
7166
  msgid "Using this option you can redirect these pages, sending users who try to access them to your home page."
7167
  msgstr ""
7168
 
7169
- #: admin/advanced-settings/includes/views/view-forms.php:292
7170
  msgid "Save 'Last Login' date in usermeta"
7171
  msgstr ""
7172
 
7173
- #: admin/advanced-settings/includes/views/view-forms.php:301
7174
  msgid "By checking this option, each time a user logins, the date and time will be saved in the database."
7175
  msgstr ""
7176
 
7177
- #: admin/advanced-settings/includes/views/view-forms.php:304
7178
  msgid "The meta name for the field will be <strong>last_login_date</strong>."
7179
  msgstr ""
7180
 
7181
- #: admin/advanced-settings/includes/views/view-forms.php:307, admin/advanced-settings/includes/views/view-forms.php:329
7182
  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."
7183
  msgstr ""
7184
 
7185
- #: admin/advanced-settings/includes/views/view-forms.php:314
7186
  msgid "Save 'Last Profile Update' date in usermeta"
7187
  msgstr ""
7188
 
7189
- #: admin/advanced-settings/includes/views/view-forms.php:323
7190
  msgid "By checking this option, each time a modifies his profile the date and time will be saved in the database."
7191
  msgstr ""
7192
 
7193
- #: admin/advanced-settings/includes/views/view-forms.php:326
7194
  msgid "The meta name for the field will be <strong>last_profile_update_date</strong>."
7195
  msgstr ""
7196
 
7197
- #: admin/advanced-settings/includes/views/view-forms.php:336
7198
  msgid "Disable automatic scrolling after submit"
7199
  msgstr ""
7200
 
7201
- #: admin/advanced-settings/includes/views/view-forms.php:345
7202
  msgid "By default, after each form submission the page will automatically scroll to the form message."
7203
  msgstr ""
7204
 
7205
- #: admin/advanced-settings/includes/views/view-forms.php:348
7206
  msgid "If you check this option, automatic scrolling will be disabled."
7207
  msgstr ""
7208
 
7209
- #: admin/advanced-settings/includes/views/view-forms.php:356
7210
  msgid "Use ajax on conditional fields:"
7211
  msgstr ""
7212
 
7213
- #: admin/advanced-settings/includes/views/view-forms.php:364
7214
  msgid "For large conditional forms."
7215
  msgstr ""
7216
 
7217
- #: admin/advanced-settings/includes/views/view-forms.php:367
7218
  msgid "Select \"Yes\" for improved page performance."
7219
  msgstr ""
7220
 
@@ -7298,10 +7586,18 @@ msgstr ""
7298
  msgid "If you enable this option they will be hidden."
7299
  msgstr ""
7300
 
 
 
 
 
7301
  #: assets/lib/wck-api/fields/select-2.php:16
7302
  msgid "Select or type in an option"
7303
  msgstr ""
7304
 
 
 
 
 
7305
  #: assets/misc/elementor/widgets/class-pb-widget-base.php:112
7306
  msgid "Background"
7307
  msgstr ""
@@ -7342,11 +7638,15 @@ msgstr ""
7342
  msgid "Registration"
7343
  msgstr ""
7344
 
7345
- #: assets/misc/elementor/widgets/class-pb-widget-l.php:56, assets/misc/elementor/widgets/class-pb-widget-l.php:65, assets/misc/elementor/widgets/class-pb-widget-l.php:84, assets/misc/elementor/widgets/class-pb-widget-l.php:93, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:234, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:253
7346
  msgid "Enter URL"
7347
  msgstr ""
7348
 
7349
- #: assets/misc/elementor/widgets/class-pb-widget-l.php:74, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:222
 
 
 
 
7350
  msgid "Redirects"
7351
  msgstr ""
7352
 
@@ -7362,6 +7662,10 @@ msgstr ""
7362
  msgid "Automatic Login"
7363
  msgstr ""
7364
 
 
 
 
 
7365
  #: assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:242
7366
  msgid "Redirect after Edit Profile"
7367
  msgstr ""
25
  msgid "Choose (Single) User Listing to display under bbPress user Profile tab:"
26
  msgstr ""
27
 
28
+ #: ../pb-add-on-bbpress/bbpress-page.php:82, ../pb-add-on-bbpress/bbpress-page.php:117, ../pb-add-on-woocommerce/woosync-page.php:80, ../pb-add-on-woocommerce/woosync-page.php:115, ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:232, ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:307, add-ons/user-listing/userlisting.php:583, add-ons/user-listing/userlisting.php:580, add-ons/user-listing/userlisting.php:578, add-ons/user-listing/userlisting.php:561, add-ons/user-listing/userlisting.php:558, add-ons/user-listing/userlisting.php:556, features/content-restriction/content-restriction.php:136
29
  msgid "None"
30
  msgstr ""
31
 
49
  msgid "Replace bbPress Login form:"
50
  msgstr ""
51
 
52
+ #: ../pb-add-on-bbpress/bbpress-page.php:152, ../pb-add-on-social-connect/index.php:327, admin/general-settings.php:158, admin/general-settings.php:173, admin/general-settings.php:222, admin/general-settings.php:267, admin/private-website.php:69, admin/private-website.php:136, admin/private-website.php:151, 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, features/content-restriction/content-restriction.php:88, features/two-factor-authentication/class-two-factor-authentication.php:112, features/two-factor-authentication/class-two-factor-authentication.php:146, admin/advanced-settings/includes/forms/placeholder-labels.php:136, assets/misc/elementor/widgets/class-pb-widget-l.php:76, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:180
53
  msgid "No"
54
  msgstr ""
55
 
56
+ #: ../pb-add-on-bbpress/bbpress-page.php:153, ../pb-add-on-social-connect/index.php:326, admin/general-settings.php:144, admin/general-settings.php:157, admin/general-settings.php:172, admin/general-settings.php:221, admin/general-settings.php:268, 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:2451, features/content-restriction/content-restriction.php:89, features/two-factor-authentication/class-two-factor-authentication.php:113, 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:165, admin/advanced-settings/includes/views/view-forms.php:180, admin/advanced-settings/includes/views/view-forms.php:200, admin/advanced-settings/includes/views/view-forms.php:217, admin/advanced-settings/includes/views/view-forms.php:253, admin/advanced-settings/includes/views/view-forms.php:274, admin/advanced-settings/includes/views/view-forms.php:294, admin/advanced-settings/includes/views/view-forms.php:316, admin/advanced-settings/includes/views/view-forms.php:338, admin/advanced-settings/includes/views/view-forms.php:358, 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
57
  msgid "Yes"
58
  msgstr ""
59
 
225
  msgid "Profile Builder Avatar field is disabled to allow use of BuddyPress Avatar."
226
  msgstr ""
227
 
228
+ #: ../pb-add-on-buddypress/index.php:511, admin/manage-fields.php:332
229
  msgid "Name"
230
  msgstr ""
231
 
249
  msgid "Display name:"
250
  msgstr ""
251
 
252
+ #: ../pb-add-on-buddypress/index.php:534, admin/manage-fields.php:338
253
  msgid "Contact Info"
254
  msgstr ""
255
 
257
  msgid "Website:"
258
  msgstr ""
259
 
260
+ #: ../pb-add-on-buddypress/index.php:541, admin/manage-fields.php:349
261
  msgid "About Yourself"
262
  msgstr ""
263
 
377
  msgid "Edit Profile"
378
  msgstr ""
379
 
380
+ #: ../pb-add-on-custom-profile-menus/index.php:311, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:74, front-end/class-formbuilder.php:464, front-end/login.php:494, assets/misc/elementor/widgets/class-pb-widget-rf.php:32
381
  msgid "Register"
382
  msgstr ""
383
 
421
  msgid "This field requires approval by an administrator"
422
  msgstr ""
423
 
424
+ #: ../pb-add-on-edit-profile-approved-by-admin/index.php:419, features/admin-approval/class-admin-approval.php:355
425
  msgid "Unapproved"
426
  msgstr ""
427
 
428
+ #: ../pb-add-on-edit-profile-approved-by-admin/index.php:419, features/admin-approval/class-admin-approval.php:353
429
  msgid "Approved"
430
  msgstr ""
431
 
473
  msgid "Exit Review Mode"
474
  msgstr ""
475
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
  #: ../pb-add-on-mailpoet-integration/index.php:128
477
  msgid "MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!"
478
  msgstr ""
701
  msgid "Default Social Connect CSS in the Front-end"
702
  msgstr ""
703
 
704
+ #: ../pb-add-on-social-connect/index.php:239, admin/admin-functions.php:211, admin/general-settings.php:107, admin/general-settings.php:107
705
  msgid "Settings"
706
  msgstr ""
707
 
757
  msgid "You will be redirected in 5 seconds. If not, click %%."
758
  msgstr ""
759
 
760
+ #: ../pb-add-on-social-connect/index.php:394, features/functions.php:1339
761
  msgid "here"
762
  msgstr ""
763
 
825
  msgid "Country"
826
  msgstr ""
827
 
828
+ #: ../pb-add-on-woocommerce/billing-fields.php:6, ../pb-add-on-woocommerce/shipping-fields.php:6, admin/manage-fields.php:334, admin/advanced-settings/includes/views/view-fields.php:127
829
  msgid "First Name"
830
  msgstr ""
831
 
832
+ #: ../pb-add-on-woocommerce/billing-fields.php:7, ../pb-add-on-woocommerce/shipping-fields.php:7, admin/manage-fields.php:335, admin/advanced-settings/includes/views/view-fields.php:133
833
  msgid "Last Name"
834
  msgstr ""
835
 
941
  msgid "Field Name"
942
  msgstr ""
943
 
944
+ #: ../pb-add-on-woocommerce/index.php:304, admin/manage-fields.php:251
945
  msgid "Required"
946
  msgstr ""
947
 
1026
  msgid "Before you can make any changes you will need to add a MailChimp API key."
1027
  msgstr ""
1028
 
1029
+ #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:94, assets/lib/class-mustache-templates/class-mustache-templates.php:255, assets/lib/wck-api/wordpress-creation-kit.php:343
1030
  msgid "Save"
1031
  msgstr ""
1032
 
1050
  msgid "Edit this item"
1051
  msgstr ""
1052
 
1053
+ #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:171, features/functions.php:1028, features/roles-editor/roles-editor.php:181, assets/lib/wck-api/wordpress-creation-kit.php:406
1054
  msgid "Cancel"
1055
  msgstr ""
1056
 
1302
  msgid "Easy to edit templates for listing your users as well as creating single user pages."
1303
  msgstr ""
1304
 
1305
+ #: admin/add-ons.php:66, admin/basic-info.php:168, admin/general-settings.php:30
1306
  msgid "Email Customizer"
1307
  msgstr ""
1308
 
1518
  msgid "User-Role"
1519
  msgstr ""
1520
 
1521
+ #: admin/admin-bar.php:64
1522
+ msgid "Visibility"
1523
+ msgstr ""
1524
+
1525
+ #: admin/admin-bar.php:79, admin/manage-fields.php:36, add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:230, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:98
1526
  msgid "Default"
1527
  msgstr ""
1528
 
1534
  msgid "Hide"
1535
  msgstr ""
1536
 
1537
+ #: admin/admin-bar.php:92, admin/general-settings.php:341, admin/private-website.php:162, admin/register-version.php:96, features/functions.php:1021, features/content-restriction/content-restriction.php:162, features/two-factor-authentication/class-two-factor-authentication.php:162, 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:374, admin/advanced-settings/includes/views/view-shortcodes.php:77, admin/advanced-settings/includes/views/view-userlisting.php:91
1538
+ msgid "Save Changes"
1539
+ msgstr ""
1540
+
1541
  #: admin/admin-functions.php:38
1542
  msgid "Login is set to be done using the Email. This field will NOT appear in the front-end! ( you can change these settings under the \"%s\" tab )"
1543
  msgstr ""
1554
  msgid "<strong>ERROR</strong>: The password must have the minimum length of %s characters"
1555
  msgstr ""
1556
 
1557
+ #: admin/admin-functions.php:138, admin/general-settings.php:327
1558
  msgid "Very weak"
1559
  msgstr ""
1560
 
1561
+ #: admin/admin-functions.php:138, admin/general-settings.php:328, features/functions.php:769, features/functions.php:793
1562
  msgid "Weak"
1563
  msgstr ""
1564
 
1565
+ #: admin/admin-functions.php:138, admin/general-settings.php:329, features/functions.php:769, features/functions.php:793
1566
  msgid "Medium"
1567
  msgstr ""
1568
 
1569
+ #: admin/admin-functions.php:138, admin/general-settings.php:330, features/functions.php:769, features/functions.php:793
1570
  msgid "Strong"
1571
  msgstr ""
1572
 
1610
  msgid "Basic Information"
1611
  msgstr ""
1612
 
1613
+ #: admin/basic-info.php:30
1614
+ msgid "Version %s"
1615
+ msgstr ""
1616
+
1617
  #: admin/basic-info.php:31
1618
  msgid "<strong>Profile Builder </strong> %s"
1619
  msgstr ""
1902
  msgid "Unsatisfactory support"
1903
  msgstr ""
1904
 
1905
+ #: admin/feedback.php:43
1906
+ msgid "Give us another try! Open a support ticket <a href='https://www.cozmoslabs.com/support/open-ticket/' target='_blank'>here</a>"
1907
+ msgstr ""
1908
+
1909
+ #: admin/feedback.php:47, admin/manage-fields.php:65
1910
  msgid "Other"
1911
  msgstr ""
1912
 
1942
  msgid "Private Website"
1943
  msgstr ""
1944
 
1945
+ #: admin/general-settings.php:15, features/two-factor-authentication/class-two-factor-authentication.php:61, features/two-factor-authentication/class-two-factor-authentication.php:61, features/two-factor-authentication/class-two-factor-authentication.php:181, features/two-factor-authentication/class-two-factor-authentication.php:182, features/two-factor-authentication/class-two-factor-authentication.php:235
1946
+ msgid "Two-Factor Authentication"
1947
+ msgstr ""
1948
+
1949
+ #: admin/general-settings.php:16, admin/advanced-settings/advanced-settings.php:38, admin/advanced-settings/advanced-settings.php:48
1950
  msgid "Advanced Settings"
1951
  msgstr ""
1952
 
1953
+ #: admin/general-settings.php:20, admin/advanced-settings/advanced-settings.php:19
1954
  msgid "Forms"
1955
  msgstr ""
1956
 
1957
+ #: admin/general-settings.php:21, admin/advanced-settings/advanced-settings.php:20
1958
  msgid "Fields"
1959
  msgstr ""
1960
 
1961
+ #: admin/general-settings.php:23, admin/advanced-settings/advanced-settings.php:21
1962
  msgid "Userlisting"
1963
  msgstr ""
1964
 
1965
+ #: admin/general-settings.php:24, admin/advanced-settings/advanced-settings.php:22
1966
  msgid "Shortcodes"
1967
  msgstr ""
1968
 
1969
+ #: admin/general-settings.php:25, admin/advanced-settings/advanced-settings.php:23
1970
  msgid "Admin"
1971
  msgstr ""
1972
 
1973
+ #: admin/general-settings.php:31
1974
  msgid "User Emails"
1975
  msgstr ""
1976
 
1977
+ #: admin/general-settings.php:32
1978
  msgid "Administrator Emails"
1979
  msgstr ""
1980
 
1981
+ #: admin/general-settings.php:128
1982
  msgid "Profile Builder Settings"
1983
  msgstr ""
1984
 
1985
+ #: admin/general-settings.php:141
1986
  msgid "Load Profile Builder's own CSS file in the front-end:"
1987
  msgstr ""
1988
 
1989
+ #: admin/general-settings.php:146
1990
  msgid "You can find the default file here: %1$s"
1991
  msgstr ""
1992
 
1993
+ #: admin/general-settings.php:153
1994
  msgid "Automatically Log In:"
1995
  msgstr ""
1996
 
1997
+ #: admin/general-settings.php:161
1998
  msgid "Select \"Yes\" to automatically log in new users after successful registration."
1999
  msgstr ""
2000
 
2001
+ #: admin/general-settings.php:168
2002
  msgid "\"Email Confirmation\" Activated:"
2003
  msgstr ""
2004
 
2005
+ #: admin/general-settings.php:176
2006
  msgid "This works with front-end forms only. Recommended to redirect WP default registration to a Profile Builder one using \"Custom Redirects\" module."
2007
  msgstr ""
2008
 
2009
+ #: admin/general-settings.php:178
2010
  msgid "You can find a list of unconfirmed email addresses %1$sUsers > All Users > Email Confirmation%2$s."
2011
  msgstr ""
2012
 
2013
+ #: admin/general-settings.php:186
2014
  msgid "\"Email Confirmation\" Landing Page:"
2015
  msgstr ""
2016
 
2017
+ #: admin/general-settings.php:191
2018
  msgid "Existing Pages"
2019
  msgstr ""
2020
 
2021
+ #: admin/general-settings.php:206
2022
  msgid "Specify the page where the users will be directed when confirming the email account. This page can differ from the register page(s) and can be changed at any time. If none selected, a simple confirmation page will be displayed for the user."
2023
  msgstr ""
2024
 
2025
+ #: admin/general-settings.php:217
2026
  msgid "\"Admin Approval\" Activated:"
2027
  msgstr ""
2028
 
2029
+ #: admin/general-settings.php:225
2030
  msgid "You can find a list of users at %1$sUsers > All Users > Admin Approval%2$s."
2031
  msgstr ""
2032
 
2033
+ #: admin/general-settings.php:232
2034
  msgid "\"Admin Approval\" on User Role:"
2035
  msgstr ""
2036
 
2037
+ #: admin/general-settings.php:251
2038
  msgid "Select on what user roles to activate Admin Approval."
2039
  msgstr ""
2040
 
2041
+ #: admin/general-settings.php:263
2042
  msgid "\"Roles Editor\" Activated:"
2043
  msgstr ""
2044
 
2045
+ #: admin/general-settings.php:271
2046
  msgid "You can add / edit user roles at %1$sUsers > Roles Editor%2$s."
2047
  msgstr ""
2048
 
2049
+ #: admin/general-settings.php:282
2050
  msgid "\"Admin Approval\" Feature:"
2051
  msgstr ""
2052
 
2053
+ #: admin/general-settings.php:285
2054
  msgid "You decide who is a user on your website. Get notified via email or approve multiple users at once from the WordPress UI. Enable Admin Approval by upgrading to %1$sHobbyist or PRO versions%2$s."
2055
  msgstr ""
2056
 
2057
+ #: admin/general-settings.php:292
2058
  msgid "Allow Users to Log in With:"
2059
  msgstr ""
2060
 
2061
+ #: admin/general-settings.php:296
2062
  msgid "Username and Email"
2063
  msgstr ""
2064
 
2065
+ #: admin/general-settings.php:297, admin/manage-fields.php:333, front-end/login.php:263, front-end/login.php:277, front-end/login.php:449, add-ons/custom-redirects/custom_redirects_admin.php:60, add-ons/email-customizer/email-customizer.php:28, add-ons/user-listing/userlisting.php:112, add-ons/user-listing/userlisting.php:328, add-ons/user-listing/userlisting.php:828, add-ons/user-listing/userlisting.php:2405, features/admin-approval/class-admin-approval.php:174, features/email-confirmation/class-email-confirmation.php:168, admin/advanced-settings/includes/views/view-fields.php:121
2066
  msgid "Username"
2067
  msgstr ""
2068
 
2069
+ #: admin/general-settings.php:298, front-end/login.php:446, front-end/recover.php:119, add-ons/email-customizer/email-customizer.php:29, add-ons/user-listing/userlisting.php:118, add-ons/user-listing/userlisting.php:834, add-ons/user-listing/userlisting.php:2406, features/admin-approval/class-admin-approval.php:177, features/email-confirmation/class-email-confirmation.php:169, admin/advanced-settings/includes/shortcodes/resend-activation.php:9
2070
  msgid "Email"
2071
  msgstr ""
2072
 
2073
+ #: admin/general-settings.php:301
2074
  msgid "\"Username and Email\" - users can Log In with either their Username or their Email."
2075
  msgstr ""
2076
 
2077
+ #: admin/general-settings.php:302
2078
  msgid "\"Username\" - users can only Log In with their Username. Both the Username and Email fields will be shown in the front-end forms."
2079
  msgstr ""
2080
 
2081
+ #: admin/general-settings.php:303
2082
  msgid "\"Email\" - users can only Log In with their Email. The Username field will be hidden in the front-end forms and Usernames will be automatically generated based on the Emails."
2083
  msgstr ""
2084
 
2085
+ #: admin/general-settings.php:310
2086
  msgid "Minimum Password Length:"
2087
  msgstr ""
2088
 
2089
+ #: admin/general-settings.php:315
2090
  msgid "Enter the minimum characters the password should have. Leave empty for no minimum limit"
2091
  msgstr ""
2092
 
2093
+ #: admin/general-settings.php:322
2094
  msgid "Minimum Password Strength:"
2095
  msgstr ""
2096
 
2097
+ #: admin/general-settings.php:326
2098
  msgid "Disabled"
2099
  msgstr ""
2100
 
2106
  msgid "Manage Form Fields"
2107
  msgstr ""
2108
 
2109
+ #: admin/manage-fields.php:55
2110
+ msgid "Standard"
2111
+ msgstr ""
2112
+
2113
+ #: admin/manage-fields.php:60
2114
+ msgid "Advanced"
2115
  msgstr ""
2116
 
2117
  #: admin/manage-fields.php:134
2118
+ msgid "Choose one of the supported field types"
2119
+ msgstr ""
2120
+
2121
+ #: admin/manage-fields.php:136
2122
  msgid ". Extra Field Types are available in <a href=\"%s\">Hobbyist or PRO versions</a>."
2123
  msgstr ""
2124
 
2125
+ #: admin/manage-fields.php:172
2126
  msgid "Use this in conjunction with WordPress functions to display the value in the page of your choosing<br/>Auto-completed but in some cases editable (in which case it must be unique)<br/>Changing this will only affect subsequent entries"
2127
  msgstr ""
2128
 
2129
+ #: admin/manage-fields.php:169
2130
  msgid "Use this in conjunction with WordPress functions to display the value in the page of your choosing<br/>Auto-completed but in some cases editable (in which case it must be unique)<br/>Changing this might take long in case of a very big user-count"
2131
  msgstr ""
2132
 
2133
+ #: admin/manage-fields.php:186
2134
  msgid "Field Title"
2135
  msgstr ""
2136
 
2137
+ #: admin/manage-fields.php:186
2138
  msgid "Title of the field"
2139
  msgstr ""
2140
 
2141
+ #: admin/manage-fields.php:187, add-ons/multiple-forms/edit-profile-forms.php:245, add-ons/multiple-forms/register-forms.php:266
2142
  msgid "Field"
2143
  msgstr ""
2144
 
2145
+ #: admin/manage-fields.php:188
2146
  msgid "Meta-name"
2147
  msgstr ""
2148
 
2149
+ #: admin/manage-fields.php:189, add-ons/custom-redirects/custom_redirects_admin.php:69, add-ons/custom-redirects/custom_redirects_admin.php:99, add-ons/custom-redirects/custom_redirects_admin.php:118, add-ons/custom-redirects/custom_redirects_admin.php:143, add-ons/multiple-forms/edit-profile-forms.php:246, add-ons/multiple-forms/register-forms.php:267
2150
  msgid "ID"
2151
  msgstr ""
2152
 
2153
+ #: admin/manage-fields.php:189, add-ons/multiple-forms/edit-profile-forms.php:246, add-ons/multiple-forms/register-forms.php:267
2154
  msgid "A unique, auto-generated ID for this particular field<br/>You can use this in conjuction with filters to target this element if needed<br/>Can't be edited"
2155
  msgstr ""
2156
 
2157
+ #: admin/manage-fields.php:190, features/two-factor-authentication/class-two-factor-authentication.php:247, features/two-factor-authentication/class-two-factor-authentication.php:354
2158
  msgid "Description"
2159
  msgstr ""
2160
 
2161
+ #: admin/manage-fields.php:190
2162
  msgid "Enter a (detailed) description of the option for end users to read<br/>Optional"
2163
  msgstr ""
2164
 
2165
+ #: admin/manage-fields.php:191
2166
  msgid "Row Count"
2167
  msgstr ""
2168
 
2169
+ #: admin/manage-fields.php:191
2170
  msgid "Specify the number of rows for a 'Textarea' field<br/>If not specified, defaults to 5"
2171
  msgstr ""
2172
 
2173
+ #: admin/manage-fields.php:192
2174
  msgid "Allowed Image Extensions"
2175
  msgstr ""
2176
 
2177
+ #: admin/manage-fields.php:192
2178
  msgid "Specify the extension(s) you want to limit to upload<br/>Example: .ext1,.ext2,.ext3<br/>If not specified, defaults to: .jpg,.jpeg,.gif,.png (.*)"
2179
  msgstr ""
2180
 
2181
+ #: admin/manage-fields.php:193
2182
  msgid "Use Simple Upload"
2183
  msgstr ""
2184
 
2185
+ #: admin/manage-fields.php:193
2186
  msgid "Use a simple upload field instead of the WordPress upload"
2187
  msgstr ""
2188
 
2189
+ #: admin/manage-fields.php:194
2190
  msgid "Allowed Upload Extensions"
2191
  msgstr ""
2192
 
2193
+ #: admin/manage-fields.php:194
2194
  msgid "Specify the extension(s) you want to limit to upload<br/>Example: .ext1,.ext2,.ext3<br/>If not specified, defaults to all WordPress allowed file extensions (.*)"
2195
  msgstr ""
2196
 
2197
+ #: admin/manage-fields.php:195
2198
  msgid "Avatar Size"
2199
  msgstr ""
2200
 
2201
+ #: admin/manage-fields.php:195
2202
  msgid "Enter a value (between 20 and 200) for the size of the 'Avatar'<br/>If not specified, defaults to 100"
2203
  msgstr ""
2204
 
2205
+ #: admin/manage-fields.php:196
2206
  msgid "Date-format"
2207
  msgstr ""
2208
 
2209
+ #: admin/manage-fields.php:196
2210
  msgid "Specify the format of the date when using Datepicker<br/>Valid options: mm/dd/yy, mm/yy/dd, dd/yy/mm, dd/mm/yy, yy/dd/mm, yy/mm/dd, mm-dd-yy, yy-mm-dd, D, dd M yy, D, d M y, DD, dd-M-y, D, d M yy, mm/yy, mm/dd, dd/mm, @<br/>If not specified, defaults to mm/dd/yy"
2211
  msgstr ""
2212
 
2213
+ #: admin/manage-fields.php:197
2214
  msgid "Terms of Agreement"
2215
  msgstr ""
2216
 
2217
+ #: admin/manage-fields.php:197
2218
  msgid "Enter a detailed description of the terms of agreement for the user to read.<br/>Links can be inserted by using standard HTML syntax: &lt;a href=\"custom_url\"&gt;custom_text&lt;/a&gt;"
2219
  msgstr ""
2220
 
2221
+ #: admin/manage-fields.php:198
2222
  msgid "Options"
2223
  msgstr ""
2224
 
2225
+ #: admin/manage-fields.php:198
2226
  msgid "Enter a comma separated list of values<br/>This can be anything, as it is hidden from the user, but should not contain special characters or apostrophes"
2227
  msgstr ""
2228
 
2229
+ #: admin/manage-fields.php:199
2230
  msgid "Labels"
2231
  msgstr ""
2232
 
2233
+ #: admin/manage-fields.php:199
2234
  msgid "Enter a comma separated list of labels<br/>Visible for the user"
2235
  msgstr ""
2236
 
2237
+ #: admin/manage-fields.php:200
2238
  msgid "reCAPTCHA Type"
2239
  msgstr ""
2240
 
2241
+ #: admin/manage-fields.php:200
2242
  msgid "Choose the <a href=\"https://developers.google.com/recaptcha/docs/versions\" target=\"_blank\">type of reCAPTCHA</a> you wish to add to this site.<br/>Please note that the Invisible reCAPTCHA is a type of reCAPTCHA v2."
2243
  msgstr ""
2244
 
2245
+ #: admin/manage-fields.php:201
2246
  msgid "Site Key"
2247
  msgstr ""
2248
 
2249
+ #: admin/manage-fields.php:201
2250
  msgid "The site key from Google, <a href=\"https://www.google.com/recaptcha/admin/create\" target=\"_blank\">https://www.google.com/recaptcha/admin/create</a>"
2251
  msgstr ""
2252
 
2253
+ #: admin/manage-fields.php:202
2254
  msgid "Secret Key"
2255
  msgstr ""
2256
 
2257
+ #: admin/manage-fields.php:202
2258
  msgid "The secret key from Google, <a href=\"https://www.google.com/recaptcha/admin/create\" target=\"_blank\">https://www.google.com/recaptcha/admin/create</a>"
2259
  msgstr ""
2260
 
2261
+ #: admin/manage-fields.php:203
2262
  msgid "Display on PB forms"
2263
  msgstr ""
2264
 
2265
+ #: admin/manage-fields.php:203
2266
  msgid "PB Login"
2267
  msgstr ""
2268
 
2269
+ #: admin/manage-fields.php:203
2270
  msgid "PB Register"
2271
  msgstr ""
2272
 
2273
+ #: admin/manage-fields.php:203
2274
  msgid "PB Recover Password"
2275
  msgstr ""
2276
 
2277
+ #: admin/manage-fields.php:203
2278
  msgid "Select on which Profile Builder forms to display reCAPTCHA"
2279
  msgstr ""
2280
 
2281
+ #: admin/manage-fields.php:204
2282
  msgid "Display on default WP forms"
2283
  msgstr ""
2284
 
2285
+ #: admin/manage-fields.php:204
2286
  msgid "Default WP Login"
2287
  msgstr ""
2288
 
2289
+ #: admin/manage-fields.php:204
2290
  msgid "Default WP Register"
2291
  msgstr ""
2292
 
2293
+ #: admin/manage-fields.php:204
2294
  msgid "Default WP Recover Password"
2295
  msgstr ""
2296
 
2297
+ #: admin/manage-fields.php:204
2298
  msgid "Select on which default WP forms to display reCAPTCHA"
2299
  msgstr ""
2300
 
2301
+ #: admin/manage-fields.php:205
2302
  msgid "User Roles"
2303
  msgstr ""
2304
 
2305
+ #: admin/manage-fields.php:205
2306
  msgid "Select which user roles to show to the user ( drag and drop to re-order )"
2307
  msgstr ""
2308
 
2309
+ #: admin/manage-fields.php:206
2310
  msgid "Display on Edit Profile"
2311
  msgstr ""
2312
 
2313
+ #: admin/manage-fields.php:206
2314
  msgid "Check if you want the select user role field to appear on Edit Profile forms"
2315
  msgstr ""
2316
 
2317
+ #: admin/manage-fields.php:207
2318
  msgid "User Roles Order"
2319
  msgstr ""
2320
 
2321
+ #: admin/manage-fields.php:207
2322
  msgid "Save the user role order from the user roles checkboxes"
2323
  msgstr ""
2324
 
2325
+ #: admin/manage-fields.php:208
2326
  msgid "Default Value"
2327
  msgstr ""
2328
 
2329
+ #: admin/manage-fields.php:208
2330
  msgid "Default value of the field"
2331
  msgstr ""
2332
 
2333
+ #: admin/manage-fields.php:209, admin/manage-fields.php:211, admin/manage-fields.php:212, admin/manage-fields.php:213
2334
  msgid "Default Option"
2335
  msgstr ""
2336
 
2337
+ #: admin/manage-fields.php:209
2338
  msgid "Specify the option which should be selected by default"
2339
  msgstr ""
2340
 
2341
+ #: admin/manage-fields.php:210
2342
  msgid "Default Option(s)"
2343
  msgstr ""
2344
 
2345
+ #: admin/manage-fields.php:210
2346
  msgid "Specify the option which should be checked by default<br/>If there are multiple values, separate them with a ',' (comma)"
2347
  msgstr ""
2348
 
2349
+ #: admin/manage-fields.php:211, admin/manage-fields.php:212, admin/manage-fields.php:213
2350
  msgid "Default option of the field"
2351
  msgstr ""
2352
 
2353
+ #: admin/manage-fields.php:214
2354
  msgid "Show Currency Symbol"
2355
  msgstr ""
2356
 
2357
+ #: admin/manage-fields.php:214
2358
  msgid "Whether the currency symbol should be displayed after the currency name in the select option."
2359
  msgstr ""
2360
 
2361
+ #: admin/manage-fields.php:215
2362
  msgid "Show Post Type"
2363
  msgstr ""
2364
 
2365
+ #: admin/manage-fields.php:215
2366
  msgid "Posts from what post type will be displayed in the select."
2367
  msgstr ""
2368
 
2369
+ #: admin/manage-fields.php:216
2370
  msgid "Allowable Values"
2371
  msgstr ""
2372
 
2373
+ #: admin/manage-fields.php:216
2374
  msgid "Enter a comma separated list of possible values. Upon registration if the value provided by the user does not match one of these values, the user will not be registered."
2375
  msgstr ""
2376
 
2377
+ #: admin/manage-fields.php:217
2378
  msgid "Error Message"
2379
  msgstr ""
2380
 
2381
+ #: admin/manage-fields.php:217
2382
  msgid "Set a custom error message that will be displayed to the user."
2383
  msgstr ""
2384
 
2385
+ #: admin/manage-fields.php:218
2386
  msgid "Time Format"
2387
  msgstr ""
2388
 
2389
+ #: admin/manage-fields.php:218
2390
  msgid "Specify the time format."
2391
  msgstr ""
2392
 
2393
+ #: admin/manage-fields.php:219
2394
  msgid "Google Maps API Key"
2395
  msgstr ""
2396
 
2397
+ #: admin/manage-fields.php:219
2398
  msgid "Enter your Google Maps API key ( <a href=\"https://console.developers.google.com/flows/enableapi?apiid=maps_backend\" target=\"_blank\">Get your API key</a> ). If more than one map fields are added to a form the API key from the first map displayed will be used."
2399
  msgstr ""
2400
 
2401
+ #: admin/manage-fields.php:224
2402
  msgid "Default Latitude"
2403
  msgstr ""
2404
 
2405
+ #: admin/manage-fields.php:225
2406
  msgid "The latitude at which the map should be displayed when no pins are attached."
2407
  msgstr ""
2408
 
2409
+ #: admin/manage-fields.php:231
2410
  msgid "Default Longitude"
2411
  msgstr ""
2412
 
2413
+ #: admin/manage-fields.php:232
2414
  msgid "The longitude at which the map should be displayed when no pins are attached."
2415
  msgstr ""
2416
 
2417
+ #: admin/manage-fields.php:238
2418
  msgid "Default Zoom Level"
2419
  msgstr ""
2420
 
2421
+ #: admin/manage-fields.php:239
2422
  msgid "Add a number from 0 to 19. The higher the number the higher the zoom."
2423
  msgstr ""
2424
 
2425
+ #: admin/manage-fields.php:243
2426
  msgid "Map Height"
2427
  msgstr ""
2428
 
2429
+ #: admin/manage-fields.php:243
2430
  msgid "The height of the map."
2431
  msgstr ""
2432
 
2433
+ #: admin/manage-fields.php:244
2434
  msgid "Default Content"
2435
  msgstr ""
2436
 
2437
+ #: admin/manage-fields.php:244
2438
  msgid "Default value of the textarea"
2439
  msgstr ""
2440
 
2441
+ #: admin/manage-fields.php:245
2442
  msgid "HTML Content"
2443
  msgstr ""
2444
 
2445
+ #: admin/manage-fields.php:245
2446
  msgid "Add your HTML (or text) content"
2447
  msgstr ""
2448
 
2449
+ #: admin/manage-fields.php:246
2450
  msgid "Phone Format"
2451
  msgstr ""
2452
 
2453
+ #: admin/manage-fields.php:246
2454
  msgid "You can use: # for numbers, parentheses ( ), - sign, + sign, dot . and spaces."
2455
  msgstr ""
2456
 
2457
+ #: admin/manage-fields.php:246
2458
  msgid "Eg. (###) ###-####"
2459
  msgstr ""
2460
 
2461
+ #: admin/manage-fields.php:246
2462
  msgid "Empty field won't check for correct phone number."
2463
  msgstr ""
2464
 
2465
+ #: admin/manage-fields.php:247
2466
  msgid "Heading Tag"
2467
  msgstr ""
2468
 
2469
+ #: admin/manage-fields.php:247
2470
  msgid "Change heading field size on front-end forms"
2471
  msgstr ""
2472
 
2473
+ #: admin/manage-fields.php:248
2474
  msgid "Min Number Value"
2475
  msgstr ""
2476
 
2477
+ #: admin/manage-fields.php:248
2478
  msgid "Min allowed number value (0 to allow only positive numbers)"
2479
  msgstr ""
2480
 
2481
+ #: admin/manage-fields.php:248
2482
  msgid "Leave it empty for no min value"
2483
  msgstr ""
2484
 
2485
+ #: admin/manage-fields.php:249
2486
  msgid "Max Number Value"
2487
  msgstr ""
2488
 
2489
+ #: admin/manage-fields.php:249
2490
  msgid "Max allowed number value (0 to allow only negative numbers)"
2491
  msgstr ""
2492
 
2493
+ #: admin/manage-fields.php:249
2494
  msgid "Leave it empty for no max value"
2495
  msgstr ""
2496
 
2497
+ #: admin/manage-fields.php:250
2498
  msgid "Number Step Value"
2499
  msgstr ""
2500
 
2501
+ #: admin/manage-fields.php:250
2502
  msgid "Step value 1 to allow only integers, 0.1 to allow integers and numbers with 1 decimal"
2503
  msgstr ""
2504
 
2505
+ #: admin/manage-fields.php:250
2506
  msgid "To allow multiple decimals use for eg. 0.01 (for 2 deciamls) and so on"
2507
  msgstr ""
2508
 
2509
+ #: admin/manage-fields.php:250
2510
  msgid "You can also use step value to specify the legal number intervals (eg. step value 2 will allow only -4, -2, 0, 2 and so on)"
2511
  msgstr ""
2512
 
2513
+ #: admin/manage-fields.php:250
2514
  msgid "Leave it empty for no restriction"
2515
  msgstr ""
2516
 
2517
+ #: admin/manage-fields.php:251
2518
  msgid "Whether the field is required or not"
2519
  msgstr ""
2520
 
2521
+ #: admin/manage-fields.php:252
2522
  msgid "Overwrite Existing"
2523
  msgstr ""
2524
 
2525
+ #: admin/manage-fields.php:252
2526
  msgid "Selecting 'Yes' will add the field to the list, but will overwrite any other field in the database that has the same meta-name<br/>Use this at your own risk"
2527
  msgstr ""
2528
 
2529
+ #: admin/manage-fields.php:258
2530
  msgid "POIs Load Type"
2531
  msgstr ""
2532
 
2533
+ #: admin/manage-fields.php:260
2534
  msgid "POIs of the listed users (as filtered & paginated)"
2535
  msgstr ""
2536
 
2537
+ #: admin/manage-fields.php:261
2538
  msgid "POIs of all the users for the filter* (no pagination)"
2539
  msgstr ""
2540
 
2541
+ #: admin/manage-fields.php:264
2542
  msgid "This option allows you to load on a single map the POIs for all users, or just these for the listed ones (this will take into account the filters and the faceted menus). *Please use this feature wisely, it will impact the performance."
2543
  msgstr ""
2544
 
2545
+ #: admin/manage-fields.php:271
2546
  msgid "POI Bubble Info"
2547
  msgstr ""
2548
 
2549
+ #: admin/manage-fields.php:274
2550
  msgid "Select the attributes to be listed inside the POI bubble."
2551
  msgstr ""
2552
 
2553
+ #: admin/manage-fields.php:285
2554
  msgid "Number of Users per Map Iteration"
2555
  msgstr ""
2556
 
2557
+ #: admin/manage-fields.php:286
2558
  msgid "When loading the map of all users with no pagination, the map script will iterate multiple times and will expose gradually POIs on the map, until all the POIs for the users that match the criteria will be added on the map (think of this as of pagination for the map POIs). The smaller the number of users per iteration, the fastest the iteration response will be, but for a large number of users, the map script will iterate multiple times. Setting a higher limit will decrease the performance, but might produce a smaller number of iterations. <br><br><b>Please adjust this value to your hosting capabilities, and make sure that the value you set is the best for performance.</b> We recommend a <b>maximum</b> value of 300."
2559
  msgstr ""
2560
 
2561
+ #: admin/manage-fields.php:291
2562
  msgid "Maximum Selections"
2563
  msgstr ""
2564
 
2565
+ #: admin/manage-fields.php:291
2566
  msgid "Select2 multi-value select boxes can set restrictions regarding the maximum number of options selected."
2567
  msgstr ""
2568
 
2569
+ #: admin/manage-fields.php:292
2570
  msgid "User Inputted Options"
2571
  msgstr ""
2572
 
2573
+ #: admin/manage-fields.php:292
2574
  msgid "Check this to allow users to create their own options beside the pre-existing ones."
2575
  msgstr ""
2576
 
2577
+ #: admin/manage-fields.php:299
2578
  msgid "Form Field Properties"
2579
  msgstr ""
2580
 
2581
+ #: admin/manage-fields.php:313
2582
  msgid "Registration & Edit Profile Forms"
2583
  msgstr ""
2584
 
2585
+ #: admin/manage-fields.php:333
2586
  msgid "Usernames cannot be changed."
2587
  msgstr ""
2588
 
2589
+ #: admin/manage-fields.php:336, add-ons/user-listing/userlisting.php:867, add-ons/user-listing/userlisting.php:2413
2590
  msgid "Nickname"
2591
  msgstr ""
2592
 
2593
+ #: admin/manage-fields.php:337
2594
  msgid "Display name publicly as"
2595
  msgstr ""
2596
 
2597
+ #: admin/manage-fields.php:339
2598
  msgid "E-mail"
2599
  msgstr ""
2600
 
2601
+ #: admin/manage-fields.php:340, add-ons/email-customizer/email-customizer.php:33, add-ons/user-listing/userlisting.php:121, add-ons/user-listing/userlisting.php:849, add-ons/user-listing/userlisting.php:2407
2602
  msgid "Website"
2603
  msgstr ""
2604
 
2605
+ #: admin/manage-fields.php:344
2606
  msgid "AIM"
2607
  msgstr ""
2608
 
2609
+ #: admin/manage-fields.php:345
2610
  msgid "Yahoo IM"
2611
  msgstr ""
2612
 
2613
+ #: admin/manage-fields.php:346
2614
  msgid "Jabber / Google Talk"
2615
  msgstr ""
2616
 
2617
+ #: admin/manage-fields.php:350, add-ons/user-listing/userlisting.php:124, add-ons/user-listing/userlisting.php:852, add-ons/user-listing/userlisting.php:2408
2618
  msgid "Biographical Info"
2619
  msgstr ""
2620
 
2621
+ #: admin/manage-fields.php:350
2622
  msgid "Share a little biographical information to fill out your profile. This may be shown publicly."
2623
  msgstr ""
2624
 
2625
+ #: admin/manage-fields.php:351, front-end/login.php:113, front-end/recover.php:72, add-ons/email-customizer/email-customizer.php:30
2626
  msgid "Password"
2627
  msgstr ""
2628
 
2629
+ #: admin/manage-fields.php:351
2630
  msgid "Type your password."
2631
  msgstr ""
2632
 
2633
+ #: admin/manage-fields.php:352, front-end/recover.php:73
2634
  msgid "Repeat Password"
2635
  msgstr ""
2636
 
2637
+ #: admin/manage-fields.php:352
2638
  msgid "Type your password again. "
2639
  msgstr ""
2640
 
2641
+ #: admin/manage-fields.php:354
2642
  msgid "Blog Details"
2643
  msgstr ""
2644
 
2645
+ #: admin/manage-fields.php:413
2646
  msgid "Select a Country"
2647
  msgstr ""
2648
 
2649
+ #: admin/manage-fields.php:414
2650
  msgid "Afghanistan"
2651
  msgstr ""
2652
 
2653
+ #: admin/manage-fields.php:415
2654
  msgid "Aland Islands"
2655
  msgstr ""
2656
 
2657
+ #: admin/manage-fields.php:416
2658
  msgid "Albania"
2659
  msgstr ""
2660
 
2661
+ #: admin/manage-fields.php:417
2662
  msgid "Algeria"
2663
  msgstr ""
2664
 
2665
+ #: admin/manage-fields.php:418
2666
  msgid "American Samoa"
2667
  msgstr ""
2668
 
2669
+ #: admin/manage-fields.php:419
2670
  msgid "Andorra"
2671
  msgstr ""
2672
 
2673
+ #: admin/manage-fields.php:420
2674
  msgid "Angola"
2675
  msgstr ""
2676
 
2677
+ #: admin/manage-fields.php:421
2678
  msgid "Anguilla"
2679
  msgstr ""
2680
 
2681
+ #: admin/manage-fields.php:422
2682
  msgid "Antarctica"
2683
  msgstr ""
2684
 
2685
+ #: admin/manage-fields.php:423
2686
  msgid "Antigua and Barbuda"
2687
  msgstr ""
2688
 
2689
+ #: admin/manage-fields.php:424
2690
  msgid "Argentina"
2691
  msgstr ""
2692
 
2693
+ #: admin/manage-fields.php:425
2694
  msgid "Armenia"
2695
  msgstr ""
2696
 
2697
+ #: admin/manage-fields.php:426
2698
  msgid "Aruba"
2699
  msgstr ""
2700
 
2701
+ #: admin/manage-fields.php:427
2702
  msgid "Australia"
2703
  msgstr ""
2704
 
2705
+ #: admin/manage-fields.php:428
2706
  msgid "Austria"
2707
  msgstr ""
2708
 
2709
+ #: admin/manage-fields.php:429
2710
  msgid "Azerbaijan"
2711
  msgstr ""
2712
 
2713
+ #: admin/manage-fields.php:430
2714
  msgid "Bahamas"
2715
  msgstr ""
2716
 
2717
+ #: admin/manage-fields.php:431
2718
  msgid "Bahrain"
2719
  msgstr ""
2720
 
2721
+ #: admin/manage-fields.php:432
2722
  msgid "Bangladesh"
2723
  msgstr ""
2724
 
2725
+ #: admin/manage-fields.php:433
2726
  msgid "Barbados"
2727
  msgstr ""
2728
 
2729
+ #: admin/manage-fields.php:434
2730
  msgid "Belarus"
2731
  msgstr ""
2732
 
2733
+ #: admin/manage-fields.php:435
2734
  msgid "Belgium"
2735
  msgstr ""
2736
 
2737
+ #: admin/manage-fields.php:436
2738
  msgid "Belize"
2739
  msgstr ""
2740
 
2741
+ #: admin/manage-fields.php:437
2742
  msgid "Benin"
2743
  msgstr ""
2744
 
2745
+ #: admin/manage-fields.php:438
2746
  msgid "Bermuda"
2747
  msgstr ""
2748
 
2749
+ #: admin/manage-fields.php:439
2750
  msgid "Bhutan"
2751
  msgstr ""
2752
 
2753
+ #: admin/manage-fields.php:440
2754
  msgid "Bolivia"
2755
  msgstr ""
2756
 
2757
+ #: admin/manage-fields.php:441
2758
  msgid "Bonaire, Saint Eustatius and Saba"
2759
  msgstr ""
2760
 
2761
+ #: admin/manage-fields.php:442
2762
  msgid "Bosnia and Herzegovina"
2763
  msgstr ""
2764
 
2765
+ #: admin/manage-fields.php:443
2766
  msgid "Botswana"
2767
  msgstr ""
2768
 
2769
+ #: admin/manage-fields.php:444
2770
  msgid "Bouvet Island"
2771
  msgstr ""
2772
 
2773
+ #: admin/manage-fields.php:445
2774
  msgid "Brazil"
2775
  msgstr ""
2776
 
2777
+ #: admin/manage-fields.php:446
2778
  msgid "British Indian Ocean Territory"
2779
  msgstr ""
2780
 
2781
+ #: admin/manage-fields.php:447
2782
  msgid "British Virgin Islands"
2783
  msgstr ""
2784
 
2785
+ #: admin/manage-fields.php:448
2786
  msgid "Brunei"
2787
  msgstr ""
2788
 
2789
+ #: admin/manage-fields.php:449
2790
  msgid "Bulgaria"
2791
  msgstr ""
2792
 
2793
+ #: admin/manage-fields.php:450
2794
  msgid "Burkina Faso"
2795
  msgstr ""
2796
 
2797
+ #: admin/manage-fields.php:451
2798
  msgid "Burundi"
2799
  msgstr ""
2800
 
2801
+ #: admin/manage-fields.php:452
2802
  msgid "Cambodia"
2803
  msgstr ""
2804
 
2805
+ #: admin/manage-fields.php:453
2806
  msgid "Cameroon"
2807
  msgstr ""
2808
 
2809
+ #: admin/manage-fields.php:454
2810
  msgid "Canada"
2811
  msgstr ""
2812
 
2813
+ #: admin/manage-fields.php:455
2814
  msgid "Cape Verde"
2815
  msgstr ""
2816
 
2817
+ #: admin/manage-fields.php:456
2818
  msgid "Cayman Islands"
2819
  msgstr ""
2820
 
2821
+ #: admin/manage-fields.php:457
2822
  msgid "Central African Republic"
2823
  msgstr ""
2824
 
2825
+ #: admin/manage-fields.php:458
2826
  msgid "Chad"
2827
  msgstr ""
2828
 
2829
+ #: admin/manage-fields.php:459
2830
  msgid "Chile"
2831
  msgstr ""
2832
 
2833
+ #: admin/manage-fields.php:460
2834
  msgid "China"
2835
  msgstr ""
2836
 
2837
+ #: admin/manage-fields.php:461
2838
  msgid "Christmas Island"
2839
  msgstr ""
2840
 
2841
+ #: admin/manage-fields.php:462
2842
  msgid "Cocos Islands"
2843
  msgstr ""
2844
 
2845
+ #: admin/manage-fields.php:463
2846
  msgid "Colombia"
2847
  msgstr ""
2848
 
2849
+ #: admin/manage-fields.php:464
2850
  msgid "Comoros"
2851
  msgstr ""
2852
 
2853
+ #: admin/manage-fields.php:465
2854
  msgid "Cook Islands"
2855
  msgstr ""
2856
 
2857
+ #: admin/manage-fields.php:466
2858
  msgid "Costa Rica"
2859
  msgstr ""
2860
 
2861
+ #: admin/manage-fields.php:467
2862
  msgid "Croatia"
2863
  msgstr ""
2864
 
2865
+ #: admin/manage-fields.php:468
2866
  msgid "Cuba"
2867
  msgstr ""
2868
 
2869
+ #: admin/manage-fields.php:469
2870
  msgid "Curacao"
2871
  msgstr ""
2872
 
2873
+ #: admin/manage-fields.php:470
2874
  msgid "Cyprus"
2875
  msgstr ""
2876
 
2877
+ #: admin/manage-fields.php:471
2878
  msgid "Czech Republic"
2879
  msgstr ""
2880
 
2881
+ #: admin/manage-fields.php:472
2882
  msgid "Democratic Republic of the Congo"
2883
  msgstr ""
2884
 
2885
+ #: admin/manage-fields.php:473
2886
  msgid "Denmark"
2887
  msgstr ""
2888
 
2889
+ #: admin/manage-fields.php:474
2890
  msgid "Djibouti"
2891
  msgstr ""
2892
 
2893
+ #: admin/manage-fields.php:475
2894
  msgid "Dominica"
2895
  msgstr ""
2896
 
2897
+ #: admin/manage-fields.php:476
2898
  msgid "Dominican Republic"
2899
  msgstr ""
2900
 
2901
+ #: admin/manage-fields.php:477
2902
  msgid "East Timor"
2903
  msgstr ""
2904
 
2905
+ #: admin/manage-fields.php:478
2906
  msgid "Ecuador"
2907
  msgstr ""
2908
 
2909
+ #: admin/manage-fields.php:479
2910
  msgid "Egypt"
2911
  msgstr ""
2912
 
2913
+ #: admin/manage-fields.php:480
2914
  msgid "El Salvador"
2915
  msgstr ""
2916
 
2917
+ #: admin/manage-fields.php:481
2918
  msgid "Equatorial Guinea"
2919
  msgstr ""
2920
 
2921
+ #: admin/manage-fields.php:482
2922
  msgid "Eritrea"
2923
  msgstr ""
2924
 
2925
+ #: admin/manage-fields.php:483
2926
  msgid "Estonia"
2927
  msgstr ""
2928
 
2929
+ #: admin/manage-fields.php:484
2930
  msgid "Ethiopia"
2931
  msgstr ""
2932
 
2933
+ #: admin/manage-fields.php:485
2934
  msgid "Falkland Islands"
2935
  msgstr ""
2936
 
2937
+ #: admin/manage-fields.php:486
2938
  msgid "Faroe Islands"
2939
  msgstr ""
2940
 
2941
+ #: admin/manage-fields.php:487
2942
  msgid "Fiji"
2943
  msgstr ""
2944
 
2945
+ #: admin/manage-fields.php:488
2946
  msgid "Finland"
2947
  msgstr ""
2948
 
2949
+ #: admin/manage-fields.php:489
2950
  msgid "France"
2951
  msgstr ""
2952
 
2953
+ #: admin/manage-fields.php:490
2954
  msgid "French Guiana"
2955
  msgstr ""
2956
 
2957
+ #: admin/manage-fields.php:491
2958
  msgid "French Polynesia"
2959
  msgstr ""
2960
 
2961
+ #: admin/manage-fields.php:492
2962
  msgid "French Southern Territories"
2963
  msgstr ""
2964
 
2965
+ #: admin/manage-fields.php:493
2966
  msgid "Gabon"
2967
  msgstr ""
2968
 
2969
+ #: admin/manage-fields.php:494
2970
  msgid "Gambia"
2971
  msgstr ""
2972
 
2973
+ #: admin/manage-fields.php:495
2974
  msgid "Georgia"
2975
  msgstr ""
2976
 
2977
+ #: admin/manage-fields.php:496
2978
  msgid "Germany"
2979
  msgstr ""
2980
 
2981
+ #: admin/manage-fields.php:497
2982
  msgid "Ghana"
2983
  msgstr ""
2984
 
2985
+ #: admin/manage-fields.php:498
2986
  msgid "Gibraltar"
2987
  msgstr ""
2988
 
2989
+ #: admin/manage-fields.php:499
2990
  msgid "Greece"
2991
  msgstr ""
2992
 
2993
+ #: admin/manage-fields.php:500
2994
  msgid "Greenland"
2995
  msgstr ""
2996
 
2997
+ #: admin/manage-fields.php:501
2998
  msgid "Grenada"
2999
  msgstr ""
3000
 
3001
+ #: admin/manage-fields.php:502
3002
  msgid "Guadeloupe"
3003
  msgstr ""
3004
 
3005
+ #: admin/manage-fields.php:503
3006
  msgid "Guam"
3007
  msgstr ""
3008
 
3009
+ #: admin/manage-fields.php:504
3010
  msgid "Guatemala"
3011
  msgstr ""
3012
 
3013
+ #: admin/manage-fields.php:505
3014
  msgid "Guernsey"
3015
  msgstr ""
3016
 
3017
+ #: admin/manage-fields.php:506
3018
  msgid "Guinea"
3019
  msgstr ""
3020
 
3021
+ #: admin/manage-fields.php:507
3022
  msgid "Guinea-Bissau"
3023
  msgstr ""
3024
 
3025
+ #: admin/manage-fields.php:508
3026
  msgid "Guyana"
3027
  msgstr ""
3028
 
3029
+ #: admin/manage-fields.php:509
3030
  msgid "Haiti"
3031
  msgstr ""
3032
 
3033
+ #: admin/manage-fields.php:510
3034
  msgid "Heard Island and McDonald Islands"
3035
  msgstr ""
3036
 
3037
+ #: admin/manage-fields.php:511
3038
  msgid "Honduras"
3039
  msgstr ""
3040
 
3041
+ #: admin/manage-fields.php:512
3042
  msgid "Hong Kong"
3043
  msgstr ""
3044
 
3045
+ #: admin/manage-fields.php:513
3046
  msgid "Hungary"
3047
  msgstr ""
3048
 
3049
+ #: admin/manage-fields.php:514
3050
  msgid "Iceland"
3051
  msgstr ""
3052
 
3053
+ #: admin/manage-fields.php:515
3054
  msgid "India"
3055
  msgstr ""
3056
 
3057
+ #: admin/manage-fields.php:516
3058
  msgid "Indonesia"
3059
  msgstr ""
3060
 
3061
+ #: admin/manage-fields.php:517
3062
  msgid "Iran"
3063
  msgstr ""
3064
 
3065
+ #: admin/manage-fields.php:518
3066
  msgid "Iraq"
3067
  msgstr ""
3068
 
3069
+ #: admin/manage-fields.php:519
3070
  msgid "Ireland"
3071
  msgstr ""
3072
 
3073
+ #: admin/manage-fields.php:520
3074
  msgid "Isle of Man"
3075
  msgstr ""
3076
 
3077
+ #: admin/manage-fields.php:521
3078
  msgid "Israel"
3079
  msgstr ""
3080
 
3081
+ #: admin/manage-fields.php:522
3082
  msgid "Italy"
3083
  msgstr ""
3084
 
3085
+ #: admin/manage-fields.php:523
3086
  msgid "Ivory Coast"
3087
  msgstr ""
3088
 
3089
+ #: admin/manage-fields.php:524
3090
  msgid "Jamaica"
3091
  msgstr ""
3092
 
3093
+ #: admin/manage-fields.php:525
3094
  msgid "Japan"
3095
  msgstr ""
3096
 
3097
+ #: admin/manage-fields.php:526
3098
  msgid "Jersey"
3099
  msgstr ""
3100
 
3101
+ #: admin/manage-fields.php:527
3102
  msgid "Jordan"
3103
  msgstr ""
3104
 
3105
+ #: admin/manage-fields.php:528
3106
  msgid "Kazakhstan"
3107
  msgstr ""
3108
 
3109
+ #: admin/manage-fields.php:529
3110
  msgid "Kenya"
3111
  msgstr ""
3112
 
3113
+ #: admin/manage-fields.php:530
3114
  msgid "Kiribati"
3115
  msgstr ""
3116
 
3117
+ #: admin/manage-fields.php:531
3118
  msgid "Kosovo"
3119
  msgstr ""
3120
 
3121
+ #: admin/manage-fields.php:532
3122
  msgid "Kuwait"
3123
  msgstr ""
3124
 
3125
+ #: admin/manage-fields.php:533
3126
  msgid "Kyrgyzstan"
3127
  msgstr ""
3128
 
3129
+ #: admin/manage-fields.php:534
3130
  msgid "Laos"
3131
  msgstr ""
3132
 
3133
+ #: admin/manage-fields.php:535
3134
  msgid "Latvia"
3135
  msgstr ""
3136
 
3137
+ #: admin/manage-fields.php:536
3138
  msgid "Lebanon"
3139
  msgstr ""
3140
 
3141
+ #: admin/manage-fields.php:537
3142
  msgid "Lesotho"
3143
  msgstr ""
3144
 
3145
+ #: admin/manage-fields.php:538
3146
  msgid "Liberia"
3147
  msgstr ""
3148
 
3149
+ #: admin/manage-fields.php:539
3150
  msgid "Libya"
3151
  msgstr ""
3152
 
3153
+ #: admin/manage-fields.php:540
3154
  msgid "Liechtenstein"
3155
  msgstr ""
3156
 
3157
+ #: admin/manage-fields.php:541
3158
  msgid "Lithuania"
3159
  msgstr ""
3160
 
3161
+ #: admin/manage-fields.php:542
3162
  msgid "Luxembourg"
3163
  msgstr ""
3164
 
3165
+ #: admin/manage-fields.php:543
3166
  msgid "Macao"
3167
  msgstr ""
3168
 
3169
+ #: admin/manage-fields.php:544
3170
  msgid "Macedonia"
3171
  msgstr ""
3172
 
3173
+ #: admin/manage-fields.php:545
3174
  msgid "Madagascar"
3175
  msgstr ""
3176
 
3177
+ #: admin/manage-fields.php:546
3178
  msgid "Malawi"
3179
  msgstr ""
3180
 
3181
+ #: admin/manage-fields.php:547
3182
  msgid "Malaysia"
3183
  msgstr ""
3184
 
3185
+ #: admin/manage-fields.php:548
3186
  msgid "Maldives"
3187
  msgstr ""
3188
 
3189
+ #: admin/manage-fields.php:549
3190
  msgid "Mali"
3191
  msgstr ""
3192
 
3193
+ #: admin/manage-fields.php:550
3194
  msgid "Malta"
3195
  msgstr ""
3196
 
3197
+ #: admin/manage-fields.php:551
3198
  msgid "Marshall Islands"
3199
  msgstr ""
3200
 
3201
+ #: admin/manage-fields.php:552
3202
  msgid "Martinique"
3203
  msgstr ""
3204
 
3205
+ #: admin/manage-fields.php:553
3206
  msgid "Mauritania"
3207
  msgstr ""
3208
 
3209
+ #: admin/manage-fields.php:554
3210
  msgid "Mauritius"
3211
  msgstr ""
3212
 
3213
+ #: admin/manage-fields.php:555
3214
  msgid "Mayotte"
3215
  msgstr ""
3216
 
3217
+ #: admin/manage-fields.php:556
3218
  msgid "Mexico"
3219
  msgstr ""
3220
 
3221
+ #: admin/manage-fields.php:557
3222
  msgid "Micronesia"
3223
  msgstr ""
3224
 
3225
+ #: admin/manage-fields.php:558
3226
  msgid "Moldova"
3227
  msgstr ""
3228
 
3229
+ #: admin/manage-fields.php:559
3230
  msgid "Monaco"
3231
  msgstr ""
3232
 
3233
+ #: admin/manage-fields.php:560
3234
  msgid "Mongolia"
3235
  msgstr ""
3236
 
3237
+ #: admin/manage-fields.php:561
3238
  msgid "Montenegro"
3239
  msgstr ""
3240
 
3241
+ #: admin/manage-fields.php:562
3242
  msgid "Montserrat"
3243
  msgstr ""
3244
 
3245
+ #: admin/manage-fields.php:563
3246
  msgid "Morocco"
3247
  msgstr ""
3248
 
3249
+ #: admin/manage-fields.php:564
3250
  msgid "Mozambique"
3251
  msgstr ""
3252
 
3253
+ #: admin/manage-fields.php:565
3254
  msgid "Myanmar"
3255
  msgstr ""
3256
 
3257
+ #: admin/manage-fields.php:566
3258
  msgid "Namibia"
3259
  msgstr ""
3260
 
3261
+ #: admin/manage-fields.php:567
3262
  msgid "Nauru"
3263
  msgstr ""
3264
 
3265
+ #: admin/manage-fields.php:568
3266
  msgid "Nepal"
3267
  msgstr ""
3268
 
3269
+ #: admin/manage-fields.php:569
3270
  msgid "Netherlands"
3271
  msgstr ""
3272
 
3273
+ #: admin/manage-fields.php:570
3274
  msgid "New Caledonia"
3275
  msgstr ""
3276
 
3277
+ #: admin/manage-fields.php:571
3278
  msgid "New Zealand"
3279
  msgstr ""
3280
 
3281
+ #: admin/manage-fields.php:572
3282
  msgid "Nicaragua"
3283
  msgstr ""
3284
 
3285
+ #: admin/manage-fields.php:573
3286
  msgid "Niger"
3287
  msgstr ""
3288
 
3289
+ #: admin/manage-fields.php:574
3290
  msgid "Nigeria"
3291
  msgstr ""
3292
 
3293
+ #: admin/manage-fields.php:575
3294
  msgid "Niue"
3295
  msgstr ""
3296
 
3297
+ #: admin/manage-fields.php:576
3298
  msgid "Norfolk Island"
3299
  msgstr ""
3300
 
3301
+ #: admin/manage-fields.php:577
3302
  msgid "North Korea"
3303
  msgstr ""
3304
 
3305
+ #: admin/manage-fields.php:578
3306
  msgid "Northern Mariana Islands"
3307
  msgstr ""
3308
 
3309
+ #: admin/manage-fields.php:579
3310
  msgid "Norway"
3311
  msgstr ""
3312
 
3313
+ #: admin/manage-fields.php:580
3314
  msgid "Oman"
3315
  msgstr ""
3316
 
3317
+ #: admin/manage-fields.php:581
3318
  msgid "Pakistan"
3319
  msgstr ""
3320
 
3321
+ #: admin/manage-fields.php:582
3322
  msgid "Palau"
3323
  msgstr ""
3324
 
3325
+ #: admin/manage-fields.php:583
3326
  msgid "Palestinian Territory"
3327
  msgstr ""
3328
 
3329
+ #: admin/manage-fields.php:584
3330
  msgid "Panama"
3331
  msgstr ""
3332
 
3333
+ #: admin/manage-fields.php:585
3334
  msgid "Papua New Guinea"
3335
  msgstr ""
3336
 
3337
+ #: admin/manage-fields.php:586
3338
  msgid "Paraguay"
3339
  msgstr ""
3340
 
3341
+ #: admin/manage-fields.php:587
3342
  msgid "Peru"
3343
  msgstr ""
3344
 
3345
+ #: admin/manage-fields.php:588
3346
  msgid "Philippines"
3347
  msgstr ""
3348
 
3349
+ #: admin/manage-fields.php:589
3350
  msgid "Pitcairn"
3351
  msgstr ""
3352
 
3353
+ #: admin/manage-fields.php:590
3354
  msgid "Poland"
3355
  msgstr ""
3356
 
3357
+ #: admin/manage-fields.php:591
3358
  msgid "Portugal"
3359
  msgstr ""
3360
 
3361
+ #: admin/manage-fields.php:592
3362
  msgid "Puerto Rico"
3363
  msgstr ""
3364
 
3365
+ #: admin/manage-fields.php:593
3366
  msgid "Qatar"
3367
  msgstr ""
3368
 
3369
+ #: admin/manage-fields.php:594
3370
  msgid "Republic of the Congo"
3371
  msgstr ""
3372
 
3373
+ #: admin/manage-fields.php:595
3374
  msgid "Reunion"
3375
  msgstr ""
3376
 
3377
+ #: admin/manage-fields.php:596
3378
  msgid "Romania"
3379
  msgstr ""
3380
 
3381
+ #: admin/manage-fields.php:597
3382
  msgid "Russia"
3383
  msgstr ""
3384
 
3385
+ #: admin/manage-fields.php:598
3386
  msgid "Rwanda"
3387
  msgstr ""
3388
 
3389
+ #: admin/manage-fields.php:599
3390
  msgid "Saint Barthelemy"
3391
  msgstr ""
3392
 
3393
+ #: admin/manage-fields.php:600
3394
  msgid "Saint Helena"
3395
  msgstr ""
3396
 
3397
+ #: admin/manage-fields.php:601
3398
  msgid "Saint Kitts and Nevis"
3399
  msgstr ""
3400
 
3401
+ #: admin/manage-fields.php:602
3402
  msgid "Saint Lucia"
3403
  msgstr ""
3404
 
3405
+ #: admin/manage-fields.php:603
3406
  msgid "Saint Martin"
3407
  msgstr ""
3408
 
3409
+ #: admin/manage-fields.php:604
3410
  msgid "Saint Pierre and Miquelon"
3411
  msgstr ""
3412
 
3413
+ #: admin/manage-fields.php:605
3414
  msgid "Saint Vincent and the Grenadines"
3415
  msgstr ""
3416
 
3417
+ #: admin/manage-fields.php:606
3418
  msgid "Samoa"
3419
  msgstr ""
3420
 
3421
+ #: admin/manage-fields.php:607
3422
  msgid "San Marino"
3423
  msgstr ""
3424
 
3425
+ #: admin/manage-fields.php:608
3426
  msgid "Sao Tome and Principe"
3427
  msgstr ""
3428
 
3429
+ #: admin/manage-fields.php:609
3430
  msgid "Saudi Arabia"
3431
  msgstr ""
3432
 
3433
+ #: admin/manage-fields.php:610
3434
  msgid "Senegal"
3435
  msgstr ""
3436
 
3437
+ #: admin/manage-fields.php:611
3438
  msgid "Serbia"
3439
  msgstr ""
3440
 
3441
+ #: admin/manage-fields.php:612
3442
  msgid "Seychelles"
3443
  msgstr ""
3444
 
3445
+ #: admin/manage-fields.php:613
3446
  msgid "Sierra Leone"
3447
  msgstr ""
3448
 
3449
+ #: admin/manage-fields.php:614
3450
  msgid "Singapore"
3451
  msgstr ""
3452
 
3453
+ #: admin/manage-fields.php:615
3454
  msgid "Sint Maarten"
3455
  msgstr ""
3456
 
3457
+ #: admin/manage-fields.php:616
3458
  msgid "Slovakia"
3459
  msgstr ""
3460
 
3461
+ #: admin/manage-fields.php:617
3462
  msgid "Slovenia"
3463
  msgstr ""
3464
 
3465
+ #: admin/manage-fields.php:618
3466
  msgid "Solomon Islands"
3467
  msgstr ""
3468
 
3469
+ #: admin/manage-fields.php:619
3470
  msgid "Somalia"
3471
  msgstr ""
3472
 
3473
+ #: admin/manage-fields.php:620
3474
  msgid "South Africa"
3475
  msgstr ""
3476
 
3477
+ #: admin/manage-fields.php:621
3478
  msgid "South Georgia and the South Sandwich Islands"
3479
  msgstr ""
3480
 
3481
+ #: admin/manage-fields.php:622
3482
  msgid "South Korea"
3483
  msgstr ""
3484
 
3485
+ #: admin/manage-fields.php:623
3486
  msgid "South Sudan"
3487
  msgstr ""
3488
 
3489
+ #: admin/manage-fields.php:624
3490
  msgid "Spain"
3491
  msgstr ""
3492
 
3493
+ #: admin/manage-fields.php:625
3494
  msgid "Sri Lanka"
3495
  msgstr ""
3496
 
3497
+ #: admin/manage-fields.php:626
3498
  msgid "Sudan"
3499
  msgstr ""
3500
 
3501
+ #: admin/manage-fields.php:627
3502
  msgid "Suriname"
3503
  msgstr ""
3504
 
3505
+ #: admin/manage-fields.php:628
3506
  msgid "Svalbard and Jan Mayen"
3507
  msgstr ""
3508
 
3509
+ #: admin/manage-fields.php:629
3510
  msgid "Swaziland"
3511
  msgstr ""
3512
 
3513
+ #: admin/manage-fields.php:630
3514
  msgid "Sweden"
3515
  msgstr ""
3516
 
3517
+ #: admin/manage-fields.php:631
3518
  msgid "Switzerland"
3519
  msgstr ""
3520
 
3521
+ #: admin/manage-fields.php:632
3522
  msgid "Syria"
3523
  msgstr ""
3524
 
3525
+ #: admin/manage-fields.php:633
3526
  msgid "Taiwan"
3527
  msgstr ""
3528
 
3529
+ #: admin/manage-fields.php:634
3530
  msgid "Tajikistan"
3531
  msgstr ""
3532
 
3533
+ #: admin/manage-fields.php:635
3534
  msgid "Tanzania"
3535
  msgstr ""
3536
 
3537
+ #: admin/manage-fields.php:636
3538
  msgid "Thailand"
3539
  msgstr ""
3540
 
3541
+ #: admin/manage-fields.php:637
3542
  msgid "Togo"
3543
  msgstr ""
3544
 
3545
+ #: admin/manage-fields.php:638
3546
  msgid "Tokelau"
3547
  msgstr ""
3548
 
3549
+ #: admin/manage-fields.php:639
3550
  msgid "Tonga"
3551
  msgstr ""
3552
 
3553
+ #: admin/manage-fields.php:640
3554
  msgid "Trinidad and Tobago"
3555
  msgstr ""
3556
 
3557
+ #: admin/manage-fields.php:641
3558
  msgid "Tunisia"
3559
  msgstr ""
3560
 
3561
+ #: admin/manage-fields.php:642
3562
  msgid "Turkey"
3563
  msgstr ""
3564
 
3565
+ #: admin/manage-fields.php:643
3566
  msgid "Turkmenistan"
3567
  msgstr ""
3568
 
3569
+ #: admin/manage-fields.php:644
3570
  msgid "Turks and Caicos Islands"
3571
  msgstr ""
3572
 
3573
+ #: admin/manage-fields.php:645
3574
  msgid "Tuvalu"
3575
  msgstr ""
3576
 
3577
+ #: admin/manage-fields.php:646
3578
  msgid "U.S. Virgin Islands"
3579
  msgstr ""
3580
 
3581
+ #: admin/manage-fields.php:647
3582
  msgid "Uganda"
3583
  msgstr ""
3584
 
3585
+ #: admin/manage-fields.php:648
3586
  msgid "Ukraine"
3587
  msgstr ""
3588
 
3589
+ #: admin/manage-fields.php:649
3590
  msgid "United Arab Emirates"
3591
  msgstr ""
3592
 
3593
+ #: admin/manage-fields.php:650
3594
  msgid "United Kingdom"
3595
  msgstr ""
3596
 
3597
+ #: admin/manage-fields.php:651
3598
  msgid "United States"
3599
  msgstr ""
3600
 
3601
+ #: admin/manage-fields.php:652
3602
  msgid "United States Minor Outlying Islands"
3603
  msgstr ""
3604
 
3605
+ #: admin/manage-fields.php:653
3606
  msgid "Uruguay"
3607
  msgstr ""
3608
 
3609
+ #: admin/manage-fields.php:654
3610
  msgid "Uzbekistan"
3611
  msgstr ""
3612
 
3613
+ #: admin/manage-fields.php:655
3614
  msgid "Vanuatu"
3615
  msgstr ""
3616
 
3617
+ #: admin/manage-fields.php:656
3618
  msgid "Vatican"
3619
  msgstr ""
3620
 
3621
+ #: admin/manage-fields.php:657
3622
  msgid "Venezuela"
3623
  msgstr ""
3624
 
3625
+ #: admin/manage-fields.php:658
3626
  msgid "Vietnam"
3627
  msgstr ""
3628
 
3629
+ #: admin/manage-fields.php:659
3630
  msgid "Wallis and Futuna"
3631
  msgstr ""
3632
 
3633
+ #: admin/manage-fields.php:660
3634
  msgid "Western Sahara"
3635
  msgstr ""
3636
 
3637
+ #: admin/manage-fields.php:661
3638
  msgid "Yemen"
3639
  msgstr ""
3640
 
3641
+ #: admin/manage-fields.php:662
3642
  msgid "Zambia"
3643
  msgstr ""
3644
 
3645
+ #: admin/manage-fields.php:663
3646
  msgid "Zimbabwe"
3647
  msgstr ""
3648
 
3649
+ #: admin/manage-fields.php:696
3650
  msgid "Albania Lek"
3651
  msgstr ""
3652
 
3653
+ #: admin/manage-fields.php:697
3654
  msgid "Afghanistan Afghani"
3655
  msgstr ""
3656
 
3657
+ #: admin/manage-fields.php:698
3658
  msgid "Argentina Peso"
3659
  msgstr ""
3660
 
3661
+ #: admin/manage-fields.php:699
3662
+ msgid "Aruba Guilder"
3663
+ msgstr ""
3664
+
3665
+ #: admin/manage-fields.php:700
3666
  msgid "Australia Dollar"
3667
  msgstr ""
3668
 
3669
+ #: admin/manage-fields.php:701
3670
  msgid "Azerbaijan New Manat"
3671
  msgstr ""
3672
 
3673
+ #: admin/manage-fields.php:702
3674
  msgid "Bahamas Dollar"
3675
  msgstr ""
3676
 
3677
+ #: admin/manage-fields.php:703
3678
  msgid "Barbados Dollar"
3679
  msgstr ""
3680
 
3681
+ #: admin/manage-fields.php:704
3682
  msgid "Bangladeshi taka"
3683
  msgstr ""
3684
 
3685
+ #: admin/manage-fields.php:705
3686
  msgid "Belarus Ruble"
3687
  msgstr ""
3688
 
3689
+ #: admin/manage-fields.php:706
3690
  msgid "Belize Dollar"
3691
  msgstr ""
3692
 
3693
+ #: admin/manage-fields.php:707
3694
  msgid "Bermuda Dollar"
3695
  msgstr ""
3696
 
3697
+ #: admin/manage-fields.php:708
3698
  msgid "Bolivia Boliviano"
3699
  msgstr ""
3700
 
3701
+ #: admin/manage-fields.php:709
3702
  msgid "Bosnia and Herzegovina Convertible Marka"
3703
  msgstr ""
3704
 
3705
+ #: admin/manage-fields.php:710
3706
  msgid "Botswana Pula"
3707
  msgstr ""
3708
 
3709
+ #: admin/manage-fields.php:711
3710
  msgid "Bulgaria Lev"
3711
  msgstr ""
3712
 
3713
+ #: admin/manage-fields.php:712
3714
  msgid "Brazil Real"
3715
  msgstr ""
3716
 
3717
+ #: admin/manage-fields.php:713
3718
  msgid "Brunei Darussalam Dollar"
3719
  msgstr ""
3720
 
3721
+ #: admin/manage-fields.php:714
3722
  msgid "Cambodia Riel"
3723
  msgstr ""
3724
 
3725
+ #: admin/manage-fields.php:715
3726
  msgid "Canada Dollar"
3727
  msgstr ""
3728
 
3729
+ #: admin/manage-fields.php:716
3730
  msgid "Cayman Islands Dollar"
3731
  msgstr ""
3732
 
3733
+ #: admin/manage-fields.php:717
3734
  msgid "Chile Peso"
3735
  msgstr ""
3736
 
3737
+ #: admin/manage-fields.php:718
3738
  msgid "China Yuan Renminbi"
3739
  msgstr ""
3740
 
3741
+ #: admin/manage-fields.php:719
3742
  msgid "Colombia Peso"
3743
  msgstr ""
3744
 
3745
+ #: admin/manage-fields.php:720
3746
  msgid "Costa Rica Colon"
3747
  msgstr ""
3748
 
3749
+ #: admin/manage-fields.php:721
3750
  msgid "Croatia Kuna"
3751
  msgstr ""
3752
 
3753
+ #: admin/manage-fields.php:722
3754
  msgid "Cuba Peso"
3755
  msgstr ""
3756
 
3757
+ #: admin/manage-fields.php:723
3758
  msgid "Czech Republic Koruna"
3759
  msgstr ""
3760
 
3761
+ #: admin/manage-fields.php:724
3762
  msgid "Denmark Krone"
3763
  msgstr ""
3764
 
3765
+ #: admin/manage-fields.php:725
3766
  msgid "Dominican Republic Peso"
3767
  msgstr ""
3768
 
3769
+ #: admin/manage-fields.php:726
3770
  msgid "East Caribbean Dollar"
3771
  msgstr ""
3772
 
3773
+ #: admin/manage-fields.php:727
3774
  msgid "Egypt Pound"
3775
  msgstr ""
3776
 
3777
+ #: admin/manage-fields.php:728
3778
  msgid "El Salvador Colon"
3779
  msgstr ""
3780
 
3781
+ #: admin/manage-fields.php:729
3782
  msgid "Estonia Kroon"
3783
  msgstr ""
3784
 
3785
+ #: admin/manage-fields.php:730
3786
  msgid "Euro"
3787
  msgstr ""
3788
 
3789
+ #: admin/manage-fields.php:731
3790
  msgid "Falkland Islands (Malvinas) Pound"
3791
  msgstr ""
3792
 
3793
+ #: admin/manage-fields.php:732
3794
  msgid "Fiji Dollar"
3795
  msgstr ""
3796
 
3797
+ #: admin/manage-fields.php:733
3798
  msgid "Ghana Cedis"
3799
  msgstr ""
3800
 
3801
+ #: admin/manage-fields.php:734
3802
  msgid "Gibraltar Pound"
3803
  msgstr ""
3804
 
3805
+ #: admin/manage-fields.php:735
3806
  msgid "Guatemala Quetzal"
3807
  msgstr ""
3808
 
3809
+ #: admin/manage-fields.php:736
3810
  msgid "Guernsey Pound"
3811
  msgstr ""
3812
 
3813
+ #: admin/manage-fields.php:737
3814
  msgid "Guyana Dollar"
3815
  msgstr ""
3816
 
3817
+ #: admin/manage-fields.php:738
3818
  msgid "Honduras Lempira"
3819
  msgstr ""
3820
 
3821
+ #: admin/manage-fields.php:739
3822
  msgid "Hong Kong Dollar"
3823
  msgstr ""
3824
 
3825
+ #: admin/manage-fields.php:740
3826
  msgid "Hungary Forint"
3827
  msgstr ""
3828
 
3829
+ #: admin/manage-fields.php:741
3830
  msgid "Iceland Krona"
3831
  msgstr ""
3832
 
3833
+ #: admin/manage-fields.php:742
3834
  msgid "India Rupee"
3835
  msgstr ""
3836
 
3837
+ #: admin/manage-fields.php:743
3838
  msgid "Indonesia Rupiah"
3839
  msgstr ""
3840
 
3841
+ #: admin/manage-fields.php:744
3842
  msgid "Iran Rial"
3843
  msgstr ""
3844
 
3845
+ #: admin/manage-fields.php:745
3846
  msgid "Isle of Man Pound"
3847
  msgstr ""
3848
 
3849
+ #: admin/manage-fields.php:746
3850
  msgid "Israel Shekel"
3851
  msgstr ""
3852
 
3853
+ #: admin/manage-fields.php:747
3854
  msgid "Jamaica Dollar"
3855
  msgstr ""
3856
 
3857
+ #: admin/manage-fields.php:748
3858
  msgid "Japan Yen"
3859
  msgstr ""
3860
 
3861
+ #: admin/manage-fields.php:749
3862
  msgid "Jersey Pound"
3863
  msgstr ""
3864
 
3865
+ #: admin/manage-fields.php:750
3866
  msgid "Kazakhstan Tenge"
3867
  msgstr ""
3868
 
3869
+ #: admin/manage-fields.php:751
3870
  msgid "Korea (North) Won"
3871
  msgstr ""
3872
 
3873
+ #: admin/manage-fields.php:752
3874
  msgid "Korea (South) Won"
3875
  msgstr ""
3876
 
3877
+ #: admin/manage-fields.php:753
3878
  msgid "Kyrgyzstan Som"
3879
  msgstr ""
3880
 
3881
+ #: admin/manage-fields.php:754
3882
  msgid "Laos Kip"
3883
  msgstr ""
3884
 
3885
+ #: admin/manage-fields.php:755
3886
  msgid "Latvia Lat"
3887
  msgstr ""
3888
 
3889
+ #: admin/manage-fields.php:756
3890
  msgid "Lebanon Pound"
3891
  msgstr ""
3892
 
3893
+ #: admin/manage-fields.php:757
3894
  msgid "Liberia Dollar"
3895
  msgstr ""
3896
 
3897
+ #: admin/manage-fields.php:758
3898
  msgid "Lithuania Litas"
3899
  msgstr ""
3900
 
3901
+ #: admin/manage-fields.php:759
3902
  msgid "Macedonia Denar"
3903
  msgstr ""
3904
 
3905
+ #: admin/manage-fields.php:760
3906
  msgid "Malaysia Ringgit"
3907
  msgstr ""
3908
 
3909
+ #: admin/manage-fields.php:761
3910
  msgid "Mauritius Rupee"
3911
  msgstr ""
3912
 
3913
+ #: admin/manage-fields.php:762
3914
  msgid "Mexico Peso"
3915
  msgstr ""
3916
 
3917
+ #: admin/manage-fields.php:763
3918
  msgid "Mongolia Tughrik"
3919
  msgstr ""
3920
 
3921
+ #: admin/manage-fields.php:764
3922
  msgid "Mozambique Metical"
3923
  msgstr ""
3924
 
3925
+ #: admin/manage-fields.php:765
3926
  msgid "Namibia Dollar"
3927
  msgstr ""
3928
 
3929
+ #: admin/manage-fields.php:766
3930
  msgid "Nepal Rupee"
3931
  msgstr ""
3932
 
3933
+ #: admin/manage-fields.php:767
3934
  msgid "Netherlands Antilles Guilder"
3935
  msgstr ""
3936
 
3937
+ #: admin/manage-fields.php:768
3938
  msgid "New Zealand Dollar"
3939
  msgstr ""
3940
 
3941
+ #: admin/manage-fields.php:769
3942
  msgid "Nicaragua Cordoba"
3943
  msgstr ""
3944
 
3945
+ #: admin/manage-fields.php:770
3946
  msgid "Nigeria Naira"
3947
  msgstr ""
3948
 
3949
+ #: admin/manage-fields.php:771
3950
  msgid "Norway Krone"
3951
  msgstr ""
3952
 
3953
+ #: admin/manage-fields.php:772
3954
  msgid "Oman Rial"
3955
  msgstr ""
3956
 
3957
+ #: admin/manage-fields.php:773
3958
  msgid "Pakistan Rupee"
3959
  msgstr ""
3960
 
3961
+ #: admin/manage-fields.php:774
3962
  msgid "Panama Balboa"
3963
  msgstr ""
3964
 
3965
+ #: admin/manage-fields.php:775
3966
  msgid "Paraguay Guarani"
3967
  msgstr ""
3968
 
3969
+ #: admin/manage-fields.php:776
3970
  msgid "Peru Nuevo Sol"
3971
  msgstr ""
3972
 
3973
+ #: admin/manage-fields.php:777
3974
  msgid "Philippines Peso"
3975
  msgstr ""
3976
 
3977
+ #: admin/manage-fields.php:778
3978
  msgid "Poland Zloty"
3979
  msgstr ""
3980
 
3981
+ #: admin/manage-fields.php:779
3982
  msgid "Qatar Riyal"
3983
  msgstr ""
3984
 
3985
+ #: admin/manage-fields.php:780
3986
  msgid "Romania New Leu"
3987
  msgstr ""
3988
 
3989
+ #: admin/manage-fields.php:781
3990
  msgid "Russia Ruble"
3991
  msgstr ""
3992
 
3993
+ #: admin/manage-fields.php:782
3994
  msgid "Saint Helena Pound"
3995
  msgstr ""
3996
 
3997
+ #: admin/manage-fields.php:783
3998
  msgid "Saudi Arabia Riyal"
3999
  msgstr ""
4000
 
4001
+ #: admin/manage-fields.php:784
4002
  msgid "Serbia Dinar"
4003
  msgstr ""
4004
 
4005
+ #: admin/manage-fields.php:785
4006
  msgid "Seychelles Rupee"
4007
  msgstr ""
4008
 
4009
+ #: admin/manage-fields.php:786
4010
  msgid "Singapore Dollar"
4011
  msgstr ""
4012
 
4013
+ #: admin/manage-fields.php:787
4014
  msgid "Solomon Islands Dollar"
4015
  msgstr ""
4016
 
4017
+ #: admin/manage-fields.php:788
4018
  msgid "Somalia Shilling"
4019
  msgstr ""
4020
 
4021
+ #: admin/manage-fields.php:789
4022
  msgid "South Africa Rand"
4023
  msgstr ""
4024
 
4025
+ #: admin/manage-fields.php:790
4026
  msgid "Sri Lanka Rupee"
4027
  msgstr ""
4028
 
4029
+ #: admin/manage-fields.php:791
4030
  msgid "Sweden Krona"
4031
  msgstr ""
4032
 
4033
+ #: admin/manage-fields.php:792
4034
  msgid "Switzerland Franc"
4035
  msgstr ""
4036
 
4037
+ #: admin/manage-fields.php:793
4038
  msgid "Suriname Dollar"
4039
  msgstr ""
4040
 
4041
+ #: admin/manage-fields.php:794
4042
  msgid "Syria Pound"
4043
  msgstr ""
4044
 
4045
+ #: admin/manage-fields.php:795
4046
  msgid "Taiwan New Dollar"
4047
  msgstr ""
4048
 
4049
+ #: admin/manage-fields.php:796
4050
  msgid "Thailand Baht"
4051
  msgstr ""
4052
 
4053
+ #: admin/manage-fields.php:797
4054
  msgid "Trinidad and Tobago Dollar"
4055
  msgstr ""
4056
 
4057
+ #: admin/manage-fields.php:798, admin/manage-fields.php:799
4058
  msgid "Turkey Lira"
4059
  msgstr ""
4060
 
4061
+ #: admin/manage-fields.php:800
4062
  msgid "Tuvalu Dollar"
4063
  msgstr ""
4064
 
4065
+ #: admin/manage-fields.php:801
4066
  msgid "Ukraine Hryvna"
4067
  msgstr ""
4068
 
4069
+ #: admin/manage-fields.php:802
4070
  msgid "United Kingdom Pound"
4071
  msgstr ""
4072
 
4073
+ #: admin/manage-fields.php:803
4074
  msgid "Uganda Shilling"
4075
  msgstr ""
4076
 
4077
+ #: admin/manage-fields.php:804
4078
  msgid "US Dollar"
4079
  msgstr ""
4080
 
4081
+ #: admin/manage-fields.php:805
4082
  msgid "Uruguay Peso"
4083
  msgstr ""
4084
 
4085
+ #: admin/manage-fields.php:806
4086
  msgid "Uzbekistan Som"
4087
  msgstr ""
4088
 
4089
+ #: admin/manage-fields.php:807
4090
  msgid "Venezuela Bolivar"
4091
  msgstr ""
4092
 
4093
+ #: admin/manage-fields.php:808
4094
  msgid "Viet Nam Dong"
4095
  msgstr ""
4096
 
4097
+ #: admin/manage-fields.php:809
4098
  msgid "Yemen Rial"
4099
  msgstr ""
4100
 
4101
+ #: admin/manage-fields.php:810
4102
  msgid "Zimbabwe Dollar"
4103
  msgstr ""
4104
 
4105
+ #: admin/manage-fields.php:1310
4106
  msgid ""
4107
  "That field is already added in this form\n"
4108
  ""
4109
  msgstr ""
4110
 
4111
+ #: admin/manage-fields.php:1303, admin/manage-fields.php:1117
4112
  msgid ""
4113
  "You must select a field\n"
4114
  ""
4115
  msgstr ""
4116
 
4117
+ #: admin/manage-fields.php:1127
4118
  msgid ""
4119
  "Please choose a different field type as this one already exists in your form (must be unique)\n"
4120
  ""
4121
  msgstr ""
4122
 
4123
+ #: admin/manage-fields.php:1141
4124
  msgid ""
4125
  "The entered avatar size is not numerical\n"
4126
  ""
4127
  msgstr ""
4128
 
4129
+ #: admin/manage-fields.php:1138
4130
  msgid ""
4131
  "The entered avatar size is not between 20 and 200\n"
4132
  ""
4133
  msgstr ""
4134
 
4135
+ #: admin/manage-fields.php:1152
4136
  msgid ""
4137
  "You must enter a value for the row number\n"
4138
  ""
4139
  msgstr ""
4140
 
4141
+ #: admin/manage-fields.php:1149
4142
  msgid ""
4143
  "The entered row number is not numerical\n"
4144
  ""
4145
  msgstr ""
4146
 
4147
+ #: admin/manage-fields.php:1160
4148
  msgid ""
4149
  "You must enter the site key\n"
4150
  ""
4151
  msgstr ""
4152
 
4153
+ #: admin/manage-fields.php:1162
4154
  msgid ""
4155
  "You must enter the secret key\n"
4156
  ""
4157
  msgstr ""
4158
 
4159
+ #: admin/manage-fields.php:1184
4160
  msgid ""
4161
  "The entered value for the Datepicker is not a valid date-format\n"
4162
  ""
4163
  msgstr ""
4164
 
4165
+ #: admin/manage-fields.php:1170
4166
  msgid ""
4167
  "You must enter a value for the date-format\n"
4168
  ""
4169
  msgstr ""
4170
 
4171
+ #: admin/manage-fields.php:1203
4172
  msgid ""
4173
  "The meta-name cannot be empty\n"
4174
  ""
4175
  msgstr ""
4176
 
4177
+ #: admin/manage-fields.php:1208
4178
  msgid ""
4179
  "The meta-name cannot begin with a space\n"
4180
  ""
4181
  msgstr ""
4182
 
4183
+ #: admin/manage-fields.php:1211
4184
  msgid ""
4185
  "The meta-name cannot end with a space\n"
4186
  ""
4187
  msgstr ""
4188
 
4189
+ #: admin/manage-fields.php:1241, admin/manage-fields.php:1252
4190
  msgid ""
4191
  "That meta-name is already in use\n"
4192
  ""
4193
  msgstr ""
4194
 
4195
+ #: admin/manage-fields.php:1233
4196
  msgid ""
4197
  "That meta-name can't be used, please choose another\n"
4198
  ""
4199
  msgstr ""
4200
 
4201
+ #: admin/manage-fields.php:1263
4202
  msgid ""
4203
  "The meta-name can only contain lowercase letters, numbers, _ , - and no spaces.\n"
4204
  ""
4205
  msgstr ""
4206
 
4207
+ #: admin/manage-fields.php:1287
4208
  msgid ""
4209
  "The following option did not coincide with the ones in the options list: %s\n"
4210
  ""
4211
  msgstr ""
4212
 
4213
+ #: admin/manage-fields.php:1283
4214
  msgid ""
4215
  "The following option(s) did not coincide with the ones in the options list: %s\n"
4216
  ""
4217
  msgstr ""
4218
 
4219
+ #: admin/manage-fields.php:1294
4220
  msgid ""
4221
  "Please select at least one user role\n"
4222
  ""
4223
  msgstr ""
4224
 
4225
+ #: admin/manage-fields.php:1362
4226
  msgid "<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre>"
4227
  msgstr ""
4228
 
4229
+ #: admin/manage-fields.php:1362, features/functions.php:1042, features/functions.php:1049, add-ons/custom-redirects/custom_redirects_admin.php:183, add-ons/custom-redirects/custom_redirects_admin.php:197, add-ons/custom-redirects/custom_redirects_admin.php:211, add-ons/custom-redirects/custom_redirects_admin.php:225, add-ons/multiple-forms/multiple-forms.php:411, features/admin-approval/class-admin-approval.php:111, features/roles-editor/roles-editor.php:869, assets/lib/wck-api/wordpress-creation-kit.php:447, assets/lib/wck-api/wordpress-creation-kit.php:548
4230
+ msgid "Edit"
4231
+ msgstr ""
4232
+
4233
+ #: admin/manage-fields.php:1362, features/functions.php:1035, features/functions.php:1049, add-ons/custom-redirects/custom_redirects_admin.php:183, add-ons/custom-redirects/custom_redirects_admin.php:197, add-ons/custom-redirects/custom_redirects_admin.php:211, add-ons/custom-redirects/custom_redirects_admin.php:225, features/admin-approval/class-admin-approval.php:116, features/admin-approval/class-admin-approval.php:232, features/email-confirmation/class-email-confirmation.php:121, features/email-confirmation/class-email-confirmation.php:218, features/roles-editor/roles-editor.php:180, features/roles-editor/roles-editor.php:907, features/roles-editor/roles-editor.php:896, features/roles-editor/roles-editor.php:887, assets/lib/wck-api/wordpress-creation-kit.php:447, assets/lib/wck-api/wordpress-creation-kit.php:549, front-end/default-fields/gdpr-delete/gdpr-delete.php:20
4234
+ msgid "Delete"
4235
+ msgstr ""
4236
+
4237
+ #: admin/manage-fields.php:1377
4238
  msgid "Use these shortcodes on the pages you want the forms to be displayed:"
4239
  msgstr ""
4240
 
4241
+ #: admin/manage-fields.php:1388
4242
  msgid "With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms add-on."
4243
  msgstr ""
4244
 
4245
+ #: admin/manage-fields.php:1386
4246
  msgid "If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Add-ons."
4247
  msgstr ""
4248
 
4249
+ #: admin/manage-fields.php:1487
4250
  msgid "Search Location"
4251
  msgstr ""
4252
 
4290
  msgid "Payment Management"
4291
  msgstr ""
4292
 
4293
+ #: admin/pms-cross-promotion.php:79, admin/pms-cross-promotion.php:115, admin/pms-cross-promotion.php:194, features/two-factor-authentication/class-two-factor-authentication.php:237, features/two-factor-authentication/class-two-factor-authentication.php:341
4294
  msgid "Activate"
4295
  msgstr ""
4296
 
4338
  msgid "Accept user payments, create subscription plans and restrict content on your website."
4339
  msgstr ""
4340
 
4341
+ #: admin/pms-cross-promotion.php:106
4342
+ msgid "More Details"
4343
+ msgstr ""
4344
+
4345
  #: admin/pms-cross-promotion.php:138, admin/pms-cross-promotion.php:217
4346
  msgid "Install Now"
4347
  msgstr ""
4430
  msgid "Disable the WordPress REST-API for non-logged in users when Private Website is enabled"
4431
  msgstr ""
4432
 
 
 
 
 
4433
  #: admin/register-version.php:23, admin/register-version.php:23
4434
  msgid "Profile Builder Register"
4435
  msgstr ""
4491
  msgstr ""
4492
 
4493
  #: admin/register-version.php:276
4494
+ msgid "Your <strong>Profile Builder</strong> license is about to expire on %5$s. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %6$sDismiss%7$s"
4495
  msgstr ""
4496
 
4497
  #: admin/register-version.php:269
4498
+ msgid "Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s %5$sDismiss%6$s"
4499
  msgstr ""
4500
 
4501
  #: admin/register-version.php:267
4502
+ msgid "Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now %4$s"
4503
  msgstr ""
4504
 
4505
  #: admin/register-version.php:261
4506
+ msgid "Your <strong>Profile Builder</strong> serial number is invalid or missing. <br/>Please %1$sregister your copy%2$s to receive access to automatic updates and support. Need a license key? %3$sPurchase one now%4$s"
4507
  msgstr ""
4508
 
4509
  #: admin/review.php:73
4530
  msgid "If you enjoy using <strong> %1$s </strong> please <a href=\"%2$s\" target=\"_blank\">rate us on WordPress.org</a>. More happy users means more features, less bugs and better support for everyone. "
4531
  msgstr ""
4532
 
4533
+ #: features/functions.php:329
4534
  msgid "GDPR Checkbox"
4535
  msgstr ""
4536
 
4537
+ #: features/functions.php:329
4538
  msgid "I allow the website to collect and store the data I submit through this form."
4539
  msgstr ""
4540
 
4541
+ #: features/functions.php:329
4542
+ msgid "Honeypot"
4543
+ msgstr ""
4544
+
4545
+ #: features/functions.php:743
4546
  msgid "Strength indicator"
4547
  msgstr ""
4548
 
4549
+ #: features/functions.php:769, features/functions.php:793
4550
  msgid "Very Weak"
4551
  msgstr ""
4552
 
4553
+ #: features/functions.php:783
4554
  msgid "Minimum length of %d characters."
4555
  msgstr ""
4556
 
4557
+ #: features/functions.php:794, front-end/recover.php:383, front-end/default-fields/password/password.php:59
4558
  msgid "The password must have a minimum strength of %s"
4559
  msgstr ""
4560
 
4561
+ #: features/functions.php:940
4562
  msgid "This field is required"
4563
  msgstr ""
4564
 
4565
+ #: features/functions.php:978, front-end/default-fields/recaptcha/recaptcha.php:530, front-end/default-fields/recaptcha/recaptcha.php:521, front-end/default-fields/recaptcha/recaptcha.php:586, front-end/default-fields/recaptcha/recaptcha.php:634
4566
  msgid "Please enter a (valid) reCAPTCHA value"
4567
  msgstr ""
4568
 
4569
+ #: features/functions.php:985
4570
  msgid "Incorrect phone number"
4571
  msgstr ""
4572
 
4573
+ #: features/functions.php:1049, assets/lib/wck-api/wordpress-creation-kit.php:447
4574
  msgid "Content"
4575
  msgstr ""
4576
 
4577
+ #: features/functions.php:1237
4578
  msgid "<br><br>Also, you will be able to visit your site at "
4579
  msgstr ""
4580
 
4581
+ #: features/functions.php:1250
4582
  msgid "<br><br>You can visit your site at "
4583
  msgstr ""
4584
 
4585
+ #: features/functions.php:1340
4586
  msgid "You will soon be redirected automatically. If you see this page for more than %1$d seconds, please click %2$s.%3$s"
4587
  msgstr ""
4588
 
4589
+ #: features/functions.php:1494
4590
  msgid "No feed available,please visit our <a href=\"%s\">homepage</a>!"
4591
  msgstr ""
4592
 
4593
+ #: features/functions.php:1535
4594
  msgid "You are not currently logged in."
4595
  msgstr ""
4596
 
4597
+ #: features/functions.php:1572
4598
+ msgid "Profile Builder"
4599
+ msgstr ""
4600
+
4601
+ #: features/functions.php:1590, features/email-confirmation/class-email-confirmation.php:92, features/email-confirmation/class-email-confirmation.php:171
4602
+ msgid "User Meta"
4603
+ msgstr ""
4604
+
4605
  #: front-end/class-formbuilder.php:141
4606
  msgid "The role of the created user set to the default role. Only an administrator can register a user with the role assigned to this form."
4607
  msgstr ""
4634
  msgid "Only an administrator can add new users."
4635
  msgstr ""
4636
 
4637
+ #: front-end/class-formbuilder.php:302, front-end/login.php:552, assets/lib/wck-api/wordpress-creation-kit.php:786
4638
  msgid "You are not allowed to do this."
4639
  msgstr ""
4640
 
4641
+ #: front-end/class-formbuilder.php:406
4642
  msgid "There was an error in the submitted form"
4643
  msgstr ""
4644
 
4645
+ #: front-end/class-formbuilder.php:395
4646
  msgid "Your profile has been successfully updated!"
4647
  msgstr ""
4648
 
4649
+ #: front-end/class-formbuilder.php:362, front-end/class-formbuilder.php:369
4650
  msgid "The account %1s has been successfully created!"
4651
  msgstr ""
4652
 
4653
+ #: front-end/class-formbuilder.php:365, front-end/class-formbuilder.php:375
4654
  msgid "Before you can access your account %1s, you need to confirm your email address. Please check your inbox and click the activation link."
4655
  msgstr ""
4656
 
4657
+ #: front-end/class-formbuilder.php:371
4658
  msgid "Before you can access your account %1s, an administrator has to approve it. You will be notified via email."
4659
  msgstr ""
4660
 
4661
+ #: front-end/class-formbuilder.php:467
4662
  msgid "Update"
4663
  msgstr ""
4664
 
4665
+ #: front-end/class-formbuilder.php:464
4666
  msgid "Add User"
4667
  msgstr ""
4668
 
4669
+ #: front-end/class-formbuilder.php:549
4670
  msgid "Send these credentials via email."
4671
  msgstr ""
4672
 
4673
+ #: front-end/class-formbuilder.php:784
4674
  msgid "There are no other users to edit"
4675
  msgstr ""
4676
 
4677
+ #: front-end/class-formbuilder.php:766
4678
  msgid "User to edit:"
4679
  msgstr ""
4680
 
4681
+ #: front-end/class-formbuilder.php:768
4682
  msgid "Select User"
4683
  msgstr ""
4684
 
4685
+ #: front-end/class-formbuilder.php:810
4686
  msgid "Something went wrong. Please try again!"
4687
  msgstr ""
4688
 
4689
+ #. translators: 1: Browser cookie documentation URL, 2: Support forums URL
4690
+ #: front-end/login.php:40
4691
+ msgid "<strong>ERROR</strong>: Cookies are blocked due to unexpected output. For help, please see <a href=\"%1$s\">this documentation</a> or try the <a href=\"%2$s\">support forums</a>."
4692
+ msgstr ""
4693
+
4694
+ #: front-end/login.php:112
4695
  msgid "Username or Email Address"
4696
  msgstr ""
4697
 
4698
+ #: front-end/login.php:114
4699
  msgid "Remember Me"
4700
  msgstr ""
4701
 
4702
+ #: front-end/login.php:115
4703
  msgid "Log In"
4704
  msgstr ""
4705
 
4706
+ #: front-end/login.php:328, front-end/login.php:364, front-end/recover.php:18, front-end/recover.php:325, features/two-factor-authentication/class-two-factor-authentication.php:570, front-end/extra-fields/extra-fields.php:95
4707
  msgid "ERROR"
4708
  msgstr ""
4709
 
4710
+ #: front-end/login.php:332
4711
  msgid "The password field is empty."
4712
  msgstr ""
4713
 
4714
+ #: front-end/login.php:336
4715
  msgid "The password you entered is incorrect."
4716
  msgstr ""
4717
 
4718
+ #: front-end/login.php:345
4719
  msgid "The username field is empty"
4720
  msgstr ""
4721
 
4722
+ #: front-end/login.php:343
4723
  msgid "The username/email field is empty"
4724
  msgstr ""
4725
 
4726
+ #: front-end/login.php:341
4727
  msgid "The email field is empty."
4728
  msgstr ""
4729
 
4730
+ #: front-end/login.php:354
4731
  msgid "Invalid username."
4732
  msgstr ""
4733
 
4734
+ #: front-end/login.php:352
4735
  msgid "Invalid username or email."
4736
  msgstr ""
4737
 
4738
+ #: front-end/login.php:350
4739
  msgid "Invalid email."
4740
  msgstr ""
4741
 
4742
+ #: front-end/login.php:358
4743
  msgid "Password Lost and Found."
4744
  msgstr ""
4745
 
4746
+ #: front-end/login.php:358, front-end/login.php:500
4747
  msgid "Lost your password?"
4748
  msgstr ""
4749
 
4750
+ #: front-end/login.php:364
4751
  msgid "Both fields are empty."
4752
  msgstr ""
4753
 
4754
+ #: front-end/login.php:539, front-end/logout.php:38
4755
  msgid "Log out of this account"
4756
  msgstr ""
4757
 
4758
+ #: front-end/login.php:539, front-end/logout.php:25
4759
  msgid "Log out &raquo;"
4760
  msgstr ""
4761
 
4762
+ #: front-end/login.php:540
4763
  msgid "You are currently logged in as %1$s. %2$s"
4764
  msgstr ""
4765
 
4766
+ #: front-end/login.php:453, front-end/recover.php:123
4767
  msgid "Username or Email"
4768
  msgstr ""
4769
 
4770
+ #: front-end/logout.php:25
4771
  msgid "You are currently logged in as %s. "
4772
  msgstr ""
4773
 
4819
  msgid "You are already logged in. You can change your password on the edit profile form."
4820
  msgstr ""
4821
 
4822
+ #: front-end/recover.php:426
4823
  msgid "The password must not be empty!"
4824
  msgstr ""
4825
 
4826
+ #: front-end/recover.php:362
4827
  msgid "The key cannot be empty!"
4828
  msgstr ""
4829
 
4830
+ #: front-end/recover.php:368, front-end/recover.php:452
4831
  msgid "Invalid key!"
4832
  msgstr ""
4833
 
4834
+ #: front-end/recover.php:373
4835
  msgid "The entered passwords don't match!"
4836
  msgstr ""
4837
 
4838
+ #: front-end/recover.php:379, front-end/default-fields/password/password.php:55
4839
  msgid "The password must have the minimum length of %s characters"
4840
  msgstr ""
4841
 
4842
+ #: front-end/recover.php:390
4843
  msgid "Your password has been successfully changed!"
4844
  msgstr ""
4845
 
4846
+ #: front-end/recover.php:298
4847
  msgid "The username entered wasn't found in the database!"
4848
  msgstr ""
4849
 
4850
+ #: front-end/recover.php:298
4851
  msgid "Please check that you entered the correct username."
4852
  msgstr ""
4853
 
4854
+ #: front-end/recover.php:341
4855
  msgid "The email address entered wasn't found in the database!"
4856
  msgstr ""
4857
 
4858
+ #: front-end/recover.php:341
4859
  msgid "Please check that you entered the correct email address."
4860
  msgstr ""
4861
 
4862
+ #: front-end/recover.php:311
4863
  msgid "Check your email for the confirmation link."
4864
  msgstr ""
4865
 
4866
+ #: front-end/recover.php:325
4867
  msgid "There was an error while trying to send the activation link to %1$s!"
4868
  msgstr ""
4869
 
4870
+ #: front-end/recover.php:452
4871
  msgid "ERROR:"
4872
  msgstr ""
4873
 
4887
  msgid "Your email was successfully confirmed."
4888
  msgstr ""
4889
 
4890
+ #: front-end/register.php:125, features/email-confirmation/email-confirmation.php:669
4891
  msgid "Before you can access your account, an administrator needs to approve it. You will be notified via email."
4892
  msgstr ""
4893
 
4895
  msgid "This username is already activated!"
4896
  msgstr ""
4897
 
4898
+ #: front-end/register.php:71, features/email-confirmation/email-confirmation.php:468
4899
  msgid "Could not create user!"
4900
  msgstr ""
4901
 
4902
+ #: add-ons/custom-redirects/custom_redirects_admin.php:49, assets/misc/elementor/widgets/class-pb-widget-l.php:96
4903
  msgid "After Login"
4904
  msgstr ""
4905
 
4906
+ #: add-ons/custom-redirects/custom_redirects_admin.php:50, assets/misc/elementor/widgets/class-pb-widget-l.php:105
4907
  msgid "After Logout"
4908
  msgstr ""
4909
 
4959
  msgid "Individual User Redirects"
4960
  msgstr ""
4961
 
4962
+ #: add-ons/custom-redirects/custom_redirects_admin.php:88
4963
+ msgid "... Choose"
4964
+ msgstr ""
4965
+
4966
  #: add-ons/custom-redirects/custom_redirects_admin.php:96, add-ons/email-customizer/email-customizer.php:31
4967
  msgid "User Role"
4968
  msgstr ""
5083
  msgid "Admin Email Customizer Settings"
5084
  msgstr ""
5085
 
5086
+ #: add-ons/email-customizer/admin-email-customizer.php:30, add-ons/email-customizer/user-email-customizer.php:30
5087
+ msgid "Settings saved."
5088
+ msgstr ""
5089
+
5090
  #: add-ons/email-customizer/admin-email-customizer.php:53
5091
  msgid "These settings are also replicated in the \"User Email Customizer\" settings-page upon save."
5092
  msgstr ""
5123
  msgid "Email Subject"
5124
  msgstr ""
5125
 
5126
+ #: add-ons/email-customizer/admin-email-customizer.php:84, features/email-confirmation/email-confirmation.php:542
5127
  msgid "A new subscriber has (been) registered!"
5128
  msgstr ""
5129
 
5268
  msgid "The users selected password at signup"
5269
  msgstr ""
5270
 
5271
+ #: add-ons/email-customizer/email-customizer.php:585, add-ons/email-customizer/email-customizer.php:592, add-ons/email-customizer/email-customizer.php:606, features/email-confirmation/email-confirmation.php:600
5272
  msgid "Your selected password at signup"
5273
  msgstr ""
5274
 
5521
  msgid "This form is empty."
5522
  msgstr ""
5523
 
5524
+ #: add-ons/multiple-forms/multiple-forms.php:227
5525
  msgid "You need to specify the title of the form before creating it"
5526
  msgstr ""
5527
 
5528
+ #: add-ons/multiple-forms/multiple-forms.php:411
5529
  msgid "<pre>Title (Type)</pre>"
5530
  msgstr ""
5531
 
5532
+ #: add-ons/multiple-forms/multiple-forms.php:411
5533
  msgid "Delete all items"
5534
  msgstr ""
5535
 
5536
+ #: add-ons/multiple-forms/multiple-forms.php:411
5537
  msgid "Delete all"
5538
  msgstr ""
5539
 
5569
  msgid "No Registration Forms found in trash"
5570
  msgstr ""
5571
 
5572
+ #: add-ons/multiple-forms/register-forms.php:219, features/roles-editor/roles-editor.php:171
5573
  msgid "Default Role"
5574
  msgstr ""
5575
 
5641
  msgid "Display name as"
5642
  msgstr ""
5643
 
5644
+ #: add-ons/user-listing/userlisting.php:160, add-ons/user-listing/userlisting.php:330, add-ons/user-listing/userlisting.php:870, add-ons/user-listing/userlisting.php:2415, features/admin-approval/class-admin-approval.php:178, features/roles-editor/roles-editor.php:256
5645
  msgid "Role"
5646
  msgstr ""
5647
 
5648
+ #: add-ons/user-listing/userlisting.php:161, features/roles-editor/roles-editor.php:366, features/roles-editor/roles-editor.php:530
5649
  msgid "Role Slug"
5650
  msgstr ""
5651
 
5717
  msgid "Avatar"
5718
  msgstr ""
5719
 
5720
+ #: add-ons/user-listing/userlisting.php:329, add-ons/user-listing/userlisting.php:840, add-ons/user-listing/userlisting.php:2410, features/admin-approval/class-admin-approval.php:175
5721
  msgid "Firstname"
5722
  msgstr ""
5723
 
5724
+ #: add-ons/user-listing/userlisting.php:331, add-ons/user-listing/userlisting.php:855, features/roles-editor/roles-editor.php:451
5725
  msgid "Posts"
5726
  msgstr ""
5727
 
5761
  msgid "Display Name"
5762
  msgstr ""
5763
 
5764
+ #: add-ons/user-listing/userlisting.php:843, add-ons/user-listing/userlisting.php:2411, features/admin-approval/class-admin-approval.php:176
5765
  msgid "Lastname"
5766
  msgstr ""
5767
 
5821
  msgid "Show All"
5822
  msgstr ""
5823
 
5824
+ #: add-ons/user-listing/userlisting.php:1779, admin/advanced-settings/includes/views/view-fields.php:78
5825
  msgid "Choose..."
5826
  msgstr ""
5827
 
6057
  msgid "Your account has to be confirmed by an administrator before you can log in."
6058
  msgstr ""
6059
 
6060
+ #: features/admin-approval/admin-approval.php:27, features/admin-approval/admin-approval.php:392, features/admin-approval/admin-approval.php:376, features/admin-approval/class-admin-approval.php:472, features/admin-approval/class-admin-approval.php:545
6061
  msgid "Admin Approval"
6062
  msgstr ""
6063
 
6077
  msgid "User successfully deleted!"
6078
  msgstr ""
6079
 
6080
+ #: features/admin-approval/admin-approval.php:90, features/admin-approval/admin-approval.php:390
6081
  msgid "User successfully unapproved!"
6082
  msgstr ""
6083
 
6084
+ #: features/admin-approval/admin-approval.php:80, features/admin-approval/admin-approval.php:374
6085
  msgid "User successfully approved!"
6086
  msgstr ""
6087
 
6129
  msgid "Your account has been successfully created!"
6130
  msgstr ""
6131
 
6132
+ #: features/admin-approval/admin-approval.php:329
6133
  msgid "Something went wrong!"
6134
  msgstr ""
6135
 
6136
+ #: features/admin-approval/admin-approval.php:331
6137
+ msgid "Admin Approval Error"
6138
+ msgstr ""
6139
+
6140
+ #: features/admin-approval/admin-approval.php:325
6141
  msgid "User not approved!"
6142
  msgstr ""
6143
 
6144
+ #: features/admin-approval/admin-approval.php:327
6145
+ msgid "Admin Approval Declined"
6146
+ msgstr ""
6147
+
6148
  #: features/admin-approval/admin-approval.php:305
6149
  msgid "Do you wish to unapprove the registration?"
6150
  msgstr ""
6153
  msgid "Do you wish to approve the registration?"
6154
  msgstr ""
6155
 
6156
+ #: features/admin-approval/admin-approval.php:350
6157
  msgid "The approval link is not valid! Please <a href=\"%s\"> log in </a> to approve the user manually. "
6158
  msgstr ""
6159
 
6160
+ #: features/admin-approval/admin-approval.php:353
6161
+ msgid "Admin Approval Unsuccessful"
6162
+ msgstr ""
6163
+
6164
+ #: features/admin-approval/class-admin-approval.php:116
6165
  msgid "delete this user?"
6166
  msgstr ""
6167
 
6168
+ #: features/admin-approval/class-admin-approval.php:124, features/admin-approval/class-admin-approval.php:122
6169
  msgid "approve this user?"
6170
  msgstr ""
6171
 
6172
+ #: features/admin-approval/class-admin-approval.php:124, features/admin-approval/class-admin-approval.php:122, features/admin-approval/class-admin-approval.php:230
6173
  msgid "Approve"
6174
  msgstr ""
6175
 
6176
+ #: features/admin-approval/class-admin-approval.php:125, features/admin-approval/class-admin-approval.php:120
6177
  msgid "unapprove this user?"
6178
  msgstr ""
6179
 
6180
+ #: features/admin-approval/class-admin-approval.php:125, features/admin-approval/class-admin-approval.php:120, features/admin-approval/class-admin-approval.php:231
6181
  msgid "Unapprove"
6182
  msgstr ""
6183
 
6184
+ #: features/admin-approval/class-admin-approval.php:179, features/email-confirmation/class-email-confirmation.php:170
6185
  msgid "Registered"
6186
  msgstr ""
6187
 
6188
+ #: features/admin-approval/class-admin-approval.php:180
6189
  msgid "User-status"
6190
  msgstr ""
6191
 
6192
+ #: features/admin-approval/class-admin-approval.php:282, features/email-confirmation/class-email-confirmation.php:285
6193
  msgid "Sorry, but you don't have permission to do that!"
6194
  msgstr ""
6195
 
6196
+ #: features/admin-approval/class-admin-approval.php:274
6197
  msgid "Do you want to bulk delete the selected users?"
6198
  msgstr ""
6199
 
6200
+ #: features/admin-approval/class-admin-approval.php:268
6201
  msgid "Do you want to bulk unapprove the selected users?"
6202
  msgstr ""
6203
 
6204
+ #: features/admin-approval/class-admin-approval.php:260
6205
  msgid "Do you want to bulk approve the selected users?"
6206
  msgstr ""
6207
 
6208
+ #: features/admin-approval/class-admin-approval.php:357
6209
  msgid "Pending"
6210
  msgstr ""
6211
 
6212
+ #: features/admin-approval/class-admin-approval.php:475, features/email-confirmation/class-email-confirmation.php:467
6213
  msgid "All Users"
6214
  msgstr ""
6215
 
6216
+ #: features/admin-approval/class-admin-approval.php:480, features/email-confirmation/class-email-confirmation.php:473
6217
+ msgid "Search Users"
6218
+ msgstr ""
6219
+
6220
+ #: features/admin-approval/class-admin-approval.php:531, features/email-confirmation/class-email-confirmation.php:490
6221
+ msgid "Number of items per page:"
6222
+ msgstr ""
6223
+
6224
  #: features/conditional-fields/conditional-fields.php:84
6225
  msgid "Conditional Logic"
6226
  msgstr ""
6229
  msgid "Conditional Rules"
6230
  msgstr ""
6231
 
6232
+ #: features/conditional-fields/conditional-fields.php:570
6233
  msgid "This field has conditional logic enabled."
6234
  msgstr ""
6235
 
6253
  msgid "Allow users which have the specified role to see this content."
6254
  msgstr ""
6255
 
6256
+ #: features/content-restriction/class-elementor-content-restriction.php:116, features/content-restriction/content-restriction-meta-box.php:127
6257
  msgid "Restriction Messages"
6258
  msgstr ""
6259
 
6265
  msgid "Replace hidden content with the default messages from PB -> Settings -> Content Restriction, a custom message or an Elementor Template."
6266
  msgstr ""
6267
 
6268
+ #: features/content-restriction/class-elementor-content-restriction.php:132, features/content-restriction/content-restriction-meta-box.php:133
6269
  msgid "Enable Custom Messages"
6270
  msgstr ""
6271
 
6289
  msgid "Select Template"
6290
  msgstr ""
6291
 
6292
+ #: features/content-restriction/content-restriction-filtering.php:219
6293
+ msgid "&hellip;"
6294
+ msgstr ""
6295
+
6296
  #: features/content-restriction/content-restriction-filtering.php:351
6297
  msgid "You must be logged in to view the comments."
6298
  msgstr ""
6329
  msgid "Display For"
6330
  msgstr ""
6331
 
6332
+ #: features/content-restriction/content-restriction-meta-box.php:89
6333
  msgid "Checking only \"Logged In Users\" will show this %s to all logged in users, regardless of user role."
6334
  msgstr ""
6335
 
6336
+ #: features/content-restriction/content-restriction-meta-box.php:93
6337
  msgid "Checking any user role will show this %s only to users that have one of those user roles assigned."
6338
  msgstr ""
6339
 
6340
+ #: features/content-restriction/content-restriction-meta-box.php:100
6341
  msgid "Restriction Redirect URL"
6342
  msgstr ""
6343
 
6344
+ #: features/content-restriction/content-restriction-meta-box.php:106
6345
  msgid "Enable Custom Redirect URL"
6346
  msgstr ""
6347
 
6348
+ #: features/content-restriction/content-restriction-meta-box.php:110
6349
  msgid "Check if you wish to add a custom redirect URL for this %s."
6350
  msgstr ""
6351
 
6352
+ #: features/content-restriction/content-restriction-meta-box.php:117
6353
  msgid "Custom Redirect URL"
6354
  msgstr ""
6355
 
6356
+ #: features/content-restriction/content-restriction-meta-box.php:121
6357
  msgid "Add a URL where you wish to redirect users that do not have access to this %s and try to access it directly."
6358
  msgstr ""
6359
 
6360
+ #: features/content-restriction/content-restriction-meta-box.php:137
6361
  msgid "Check if you wish to add custom messages for this %s."
6362
  msgstr ""
6363
 
6364
+ #: features/content-restriction/content-restriction-meta-box.php:144
6365
  msgid "Messages for logged-out users"
6366
  msgstr ""
6367
 
6368
+ #: features/content-restriction/content-restriction-meta-box.php:147
6369
  msgid "Messages for logged-in users"
6370
  msgstr ""
6371
 
6413
  msgid "Show a portion of the restricted post to logged-out users or users that are not allowed to see it."
6414
  msgstr ""
6415
 
 
 
 
 
6416
  #: features/email-confirmation/class-email-confirmation.php:92
6417
  msgid "show"
6418
  msgstr ""
6437
  msgid "Resend Activation Email"
6438
  msgstr ""
6439
 
6440
+ #: features/email-confirmation/class-email-confirmation.php:281
6441
  msgid "The selected users have had their activation emails resent"
6442
  msgstr ""
6443
 
6444
+ #: features/email-confirmation/class-email-confirmation.php:268
6445
  msgid "The selected users have been activated"
6446
  msgstr ""
6447
 
6448
+ #: features/email-confirmation/class-email-confirmation.php:251
6449
  msgid "%s couldn't be deleted"
6450
  msgstr ""
6451
 
6452
+ #: features/email-confirmation/class-email-confirmation.php:256
6453
  msgid "All users have been successfully deleted"
6454
  msgstr ""
6455
 
6456
+ #: features/email-confirmation/class-email-confirmation.php:464, features/email-confirmation/class-email-confirmation.php:504, features/email-confirmation/email-confirmation.php:49
6457
  msgid "Users with Unconfirmed Email Address"
6458
  msgstr ""
6459
 
6469
  msgid "There was an error performing that action!"
6470
  msgstr ""
6471
 
6472
+ #: features/email-confirmation/email-confirmation.php:424
6473
  msgid "[%1$s] Activate %2$s"
6474
  msgstr ""
6475
 
6476
+ #: features/email-confirmation/email-confirmation.php:427
6477
  msgid "To activate your user, please click the following link:<br><br>%s%s%s<br><br>After you activate it you will receive yet *another email* with your login."
6478
  msgstr ""
6479
 
6480
+ #: features/email-confirmation/email-confirmation.php:494
6481
  msgid "There was an error while trying to activate the user"
6482
  msgstr ""
6483
 
6484
+ #: features/email-confirmation/email-confirmation.php:471
6485
  msgid "That username is already activated!"
6486
  msgstr ""
6487
 
6488
+ #: features/email-confirmation/email-confirmation.php:545
6489
  msgid "New subscriber on %1$s.<br/><br/>Username:%2$s<br/>Email:%3$s<br/>"
6490
  msgstr ""
6491
 
6492
+ #: features/email-confirmation/email-confirmation.php:596
6493
  msgid "[%1$s] Your new account information"
6494
  msgstr ""
6495
 
6496
+ #: features/email-confirmation/email-confirmation.php:608
6497
  msgid "Welcome to %1$s!<br/><br/><br/>Your username is: %2$s and the password: %3$s<br/><br/>Access your account: %4$s "
6498
  msgstr ""
6499
 
6500
+ #: features/email-confirmation/email-confirmation.php:606
6501
  msgid "Welcome to %1$s!<br/><br/><br/>Your username is: %2$s and your password is the one that you have selected during registration.<br/><br/>Access your account: %3$s "
6502
  msgstr ""
6503
 
6504
+ #: features/email-confirmation/email-confirmation.php:661
6505
  msgid "The \"Admin Approval\" feature was activated at the time of registration, so please remember that you need to approve this user before he/she can log in!"
6506
  msgstr ""
6507
 
6529
  msgid "Password Recovery page URL (optional):"
6530
  msgstr ""
6531
 
6532
+ #: features/roles-editor/roles-editor.php:172
6533
+ msgid "Your Role"
6534
+ msgstr ""
6535
+
6536
+ #: features/roles-editor/roles-editor.php:173
6537
+ msgid "Role name is required."
6538
+ msgstr ""
6539
+
6540
+ #: features/roles-editor/roles-editor.php:174
6541
+ msgid "No capabilities found."
6542
+ msgstr ""
6543
+
6544
+ #: features/roles-editor/roles-editor.php:175
6545
+ msgid "Select capabilities"
6546
+ msgstr ""
6547
+
6548
+ #: features/roles-editor/roles-editor.php:176
6549
+ msgid "Delete Permanently"
6550
+ msgstr ""
6551
+
6552
+ #: features/roles-editor/roles-editor.php:177
6553
+ msgid ""
6554
+ "This will permanently delete the capability from your site and from every user role.\n"
6555
+ "\n"
6556
+ "It can't be undone!"
6557
+ msgstr ""
6558
+
6559
+ #: features/roles-editor/roles-editor.php:178
6560
+ msgid "This capability is not saved until you click Update!"
6561
+ msgstr ""
6562
+
6563
+ #: features/roles-editor/roles-editor.php:179
6564
+ msgid "This capability is not saved until you click Publish!"
6565
+ msgstr ""
6566
+
6567
+ #: features/roles-editor/roles-editor.php:182, features/roles-editor/roles-editor.php:432
6568
+ msgid "Add New Capability"
6569
+ msgstr ""
6570
+
6571
  #: features/roles-editor/roles-editor.php:183
6572
  msgid "Capability"
6573
  msgstr ""
6604
  msgid "No roles found in trash"
6605
  msgstr ""
6606
 
6607
+ #: features/roles-editor/roles-editor.php:284
6608
+ msgid "Enter role name here"
6609
+ msgstr ""
6610
+
6611
  #: features/roles-editor/roles-editor.php:297, features/roles-editor/roles-editor.php:300
6612
  msgid "Role updated."
6613
  msgstr ""
6620
  msgid "Custom field deleted."
6621
  msgstr ""
6622
 
6623
+ #: features/roles-editor/roles-editor.php:301
6624
+ msgid "Role restored to revision from %s"
6625
+ msgstr ""
6626
+
6627
  #: features/roles-editor/roles-editor.php:302
6628
  msgid "Role created."
6629
  msgstr ""
6640
  msgid "Role scheduled for: <strong>%1$s</strong>"
6641
  msgstr ""
6642
 
6643
+ #: features/roles-editor/roles-editor.php:305
6644
+ msgid "M j, Y @ G:i"
6645
+ msgstr ""
6646
+
6647
  #: features/roles-editor/roles-editor.php:306
6648
  msgid "Role draft updated."
6649
  msgstr ""
6652
  msgid "Role Name"
6653
  msgstr ""
6654
 
6655
+ #: features/roles-editor/roles-editor.php:367, features/roles-editor/roles-editor.php:524
6656
  msgid "Capabilities"
6657
  msgstr ""
6658
 
6659
+ #: features/roles-editor/roles-editor.php:368, features/roles-editor/roles-editor.php:475, features/roles-editor/roles-editor.php:519
6660
  msgid "Users"
6661
  msgstr ""
6662
 
6663
+ #: features/roles-editor/roles-editor.php:414
6664
+ msgid "Edit Role Capabilities"
6665
+ msgstr ""
6666
+
6667
+ #: features/roles-editor/roles-editor.php:425
6668
+ msgid "Add a new capability"
6669
+ msgstr ""
6670
+
6671
+ #: features/roles-editor/roles-editor.php:428
6672
+ msgid "Add Capability"
6673
+ msgstr ""
6674
+
6675
+ #: features/roles-editor/roles-editor.php:435
6676
+ msgid "Please select an existing capability or add a new one!"
6677
+ msgstr ""
6678
+
6679
+ #: features/roles-editor/roles-editor.php:436
6680
+ msgid "You can't add a hidden capability!"
6681
+ msgstr ""
6682
+
6683
+ #: features/roles-editor/roles-editor.php:437
6684
+ msgid "This capability already exists!"
6685
+ msgstr ""
6686
+
6687
+ #: features/roles-editor/roles-editor.php:443
6688
+ msgid "All"
6689
+ msgstr ""
6690
+
6691
+ #: features/roles-editor/roles-editor.php:447
6692
+ msgid "General"
6693
+ msgstr ""
6694
+
6695
+ #: features/roles-editor/roles-editor.php:455
6696
+ msgid "Pages"
6697
+ msgstr ""
6698
+
6699
+ #: features/roles-editor/roles-editor.php:459
6700
+ msgid "Media"
6701
+ msgstr ""
6702
+
6703
+ #: features/roles-editor/roles-editor.php:463
6704
+ msgid "Taxonomies"
6705
+ msgstr ""
6706
+
6707
+ #: features/roles-editor/roles-editor.php:467
6708
+ msgid "Appearance"
6709
+ msgstr ""
6710
+
6711
+ #: features/roles-editor/roles-editor.php:471
6712
+ msgid "Plugins"
6713
+ msgstr ""
6714
+
6715
+ #: features/roles-editor/roles-editor.php:479
6716
+ msgid "Custom"
6717
+ msgstr ""
6718
+
6719
+ #: features/roles-editor/roles-editor.php:880
6720
  msgid "Clone"
6721
  msgstr ""
6722
 
6723
+ #: features/roles-editor/roles-editor.php:906
6724
+ msgid "Are you sure?\nThis will permanently delete the role and cannot be undone!\nUsers assigned only on this role will be moved to the default role."
6725
+ msgstr ""
6726
+
6727
+ #: features/roles-editor/roles-editor.php:895
6728
  msgid "Change Default"
6729
  msgstr ""
6730
 
6731
+ #: features/roles-editor/roles-editor.php:896
6732
  msgid "You can't delete the default role. Change it first."
6733
  msgstr ""
6734
 
6735
+ #: features/roles-editor/roles-editor.php:887
6736
  msgid "You can't delete your role."
6737
  msgstr ""
6738
 
6739
+ #: features/roles-editor/roles-editor.php:1123
6740
  msgid "Edit User Roles"
6741
  msgstr ""
6742
 
6743
+ #: features/two-factor-authentication/class-two-factor-authentication.php:51
6744
+ msgid "Valid"
6745
+ msgstr ""
6746
+
6747
+ #: features/two-factor-authentication/class-two-factor-authentication.php:52
6748
+ msgid "Invalid"
6749
+ msgstr ""
6750
+
6751
+ #: features/two-factor-authentication/class-two-factor-authentication.php:97, features/two-factor-authentication/class-two-factor-authentication.php:337
6752
+ msgid "Two-Factor Authentication Settings"
6753
+ msgstr ""
6754
+
6755
+ #: features/two-factor-authentication/class-two-factor-authentication.php:109
6756
+ msgid "Enable Two-Factor Authentication"
6757
+ msgstr ""
6758
+
6759
+ #: features/two-factor-authentication/class-two-factor-authentication.php:116
6760
+ msgid "Activate the Authenticator functionality"
6761
+ msgstr ""
6762
+
6763
+ #: features/two-factor-authentication/class-two-factor-authentication.php:121
6764
+ msgid "Enable Authenticator for these user roles"
6765
+ msgstr ""
6766
+
6767
+ #: features/two-factor-authentication/class-two-factor-authentication.php:138
6768
+ msgid "\"*\" - Two-Factor Authentication will be enabled for all user roles."
6769
+ msgstr ""
6770
+
6771
+ #: features/two-factor-authentication/class-two-factor-authentication.php:143
6772
+ msgid "Show Authenticator code field"
6773
+ msgstr ""
6774
+
6775
+ #: features/two-factor-authentication/class-two-factor-authentication.php:147
6776
+ msgid "Backend"
6777
+ msgstr ""
6778
+
6779
+ #: features/two-factor-authentication/class-two-factor-authentication.php:148
6780
+ msgid "Frontend"
6781
+ msgstr ""
6782
+
6783
+ #: features/two-factor-authentication/class-two-factor-authentication.php:149
6784
+ msgid "Everywhere"
6785
+ msgstr ""
6786
+
6787
+ #: features/two-factor-authentication/class-two-factor-authentication.php:152
6788
+ msgid "\"No\" - only show the field when a user that has Two-Factor Authentication enabled attempts to log in."
6789
+ msgstr ""
6790
+
6791
+ #: features/two-factor-authentication/class-two-factor-authentication.php:153
6792
+ msgid "\"Backend\" - always show the field on the default backend form."
6793
+ msgstr ""
6794
+
6795
+ #: features/two-factor-authentication/class-two-factor-authentication.php:154
6796
+ msgid "\"Frontend\" - always show the field on the Profile Builder frontend form."
6797
+ msgstr ""
6798
+
6799
+ #: features/two-factor-authentication/class-two-factor-authentication.php:155
6800
+ msgid "\"Everywhere\" - always show the field both on the Profile Builder frontend form and on the default backend form."
6801
+ msgstr ""
6802
+
6803
+ #: features/two-factor-authentication/class-two-factor-authentication.php:183, features/two-factor-authentication/class-two-factor-authentication.php:184
6804
+ msgid "2fa_settings"
6805
+ msgstr ""
6806
+
6807
+ #: features/two-factor-authentication/class-two-factor-authentication.php:242, features/two-factor-authentication/class-two-factor-authentication.php:347
6808
+ msgid "Relaxed Mode"
6809
+ msgstr ""
6810
+
6811
+ #: features/two-factor-authentication/class-two-factor-authentication.php:244
6812
+ msgid " Allow for higher time drifting on your phone clock ( &#177;4 min )."
6813
+ msgstr ""
6814
+
6815
+ #: features/two-factor-authentication/class-two-factor-authentication.php:249
6816
+ msgid "Description that you'll see in the Authenticator app."
6817
+ msgstr ""
6818
+
6819
+ #: features/two-factor-authentication/class-two-factor-authentication.php:252, features/two-factor-authentication/class-two-factor-authentication.php:361
6820
+ msgid "Secret"
6821
+ msgstr ""
6822
+
6823
+ #: features/two-factor-authentication/class-two-factor-authentication.php:256
6824
+ msgid "New Secret"
6825
+ msgstr ""
6826
+
6827
+ #: features/two-factor-authentication/class-two-factor-authentication.php:257
6828
+ msgid "QR Code"
6829
+ msgstr ""
6830
+
6831
+ #: features/two-factor-authentication/class-two-factor-authentication.php:260
6832
+ msgid "Scan this with the Authenticator app:"
6833
+ msgstr ""
6834
+
6835
+ #: features/two-factor-authentication/class-two-factor-authentication.php:264, features/two-factor-authentication/class-two-factor-authentication.php:377
6836
+ msgid "Verify TOTP"
6837
+ msgstr ""
6838
+
6839
+ #: features/two-factor-authentication/class-two-factor-authentication.php:267, features/two-factor-authentication/class-two-factor-authentication.php:380
6840
+ msgid "Check"
6841
+ msgstr ""
6842
+
6843
+ #: features/two-factor-authentication/class-two-factor-authentication.php:350
6844
+ msgid " Allow for more time drifting on your phone clock ( &#177;4 min )."
6845
+ msgstr ""
6846
+
6847
+ #: features/two-factor-authentication/class-two-factor-authentication.php:357
6848
+ msgid "Description that you'll see in the Authenticator app on your phone."
6849
+ msgstr ""
6850
+
6851
+ #: features/two-factor-authentication/class-two-factor-authentication.php:364
6852
+ msgid "Create new secret"
6853
+ msgstr ""
6854
+
6855
+ #: features/two-factor-authentication/class-two-factor-authentication.php:365
6856
+ msgid "Show/Hide QR code"
6857
+ msgstr ""
6858
+
6859
+ #: features/two-factor-authentication/class-two-factor-authentication.php:371
6860
+ msgid "Scan this your Authenticator app:"
6861
+ msgstr ""
6862
+
6863
+ #: features/two-factor-authentication/class-two-factor-authentication.php:431
6864
+ msgid "Please verify TOTP to change Two-Factor Authentication settings"
6865
+ msgstr ""
6866
+
6867
+ #: features/two-factor-authentication/class-two-factor-authentication.php:566
6868
+ msgid "Please enter your Authenticator code."
6869
+ msgstr ""
6870
+
6871
+ #: features/two-factor-authentication/class-two-factor-authentication.php:570
6872
+ msgid "Your Authenticator code was incorrect. Please try again."
6873
+ msgstr ""
6874
+
6875
+ #: features/two-factor-authentication/class-two-factor-authentication.php:650
6876
+ msgid "Please enter the code from your Authenticator app."
6877
+ msgstr ""
6878
+
6879
+ #: features/two-factor-authentication/class-two-factor-authentication.php:674
6880
+ msgid "Authenticator Code"
6881
+ msgstr ""
6882
+
6883
  #: features/upgrades/upgrades-functions.php:136, features/upgrades/upgrades-functions.php:93
6884
  msgid "The usernames cannot be changed."
6885
  msgstr ""
6944
  msgid "Please enter a unique field title."
6945
  msgstr ""
6946
 
6947
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:347
6948
  msgid ""
6949
  "Please enter a unique field title.\n"
6950
  ""
6951
  msgstr ""
6952
 
6953
+ #: assets/lib/wck-api/wordpress-creation-kit.php:343
6954
+ msgid "Add Entry"
6955
+ msgstr ""
6956
+
6957
  #: assets/lib/wck-api/wordpress-creation-kit.php:549
6958
  msgid "Delete this item"
6959
  msgstr ""
6960
 
6961
+ #: assets/lib/wck-api/wordpress-creation-kit.php:737
6962
+ msgid "Please enter a value for the required field "
6963
+ msgstr ""
6964
+
6965
  #: assets/misc/elementor/class-elementor.php:72
6966
  msgid "Profile Builder Forms"
6967
  msgstr ""
6994
  msgid "This email is already reserved to be used soon."
6995
  msgstr ""
6996
 
6997
+ #: front-end/default-fields/email/email.php:69, front-end/default-fields/email/email.php:63, front-end/default-fields/email/email.php:79, front-end/default-fields/email/email.php:99, front-end/default-fields/username/username.php:51, front-end/default-fields/username/username.php:67
6998
  msgid "Please try a different one!"
6999
  msgstr ""
7000
 
7001
+ #: front-end/default-fields/email/email.php:79, front-end/default-fields/email/email.php:99
7002
  msgid "This email is already in use."
7003
  msgstr ""
7004
 
7022
  msgid "To use reCAPTCHA you must get an API key from"
7023
  msgstr ""
7024
 
7025
+ #: front-end/default-fields/recaptcha/recaptcha.php:217
7026
  msgid "For security reasons, you must pass the remote ip to reCAPTCHA!"
7027
  msgstr ""
7028
 
7029
+ #: front-end/default-fields/recaptcha/recaptcha.php:288
7030
  msgid "To use reCAPTCHA you must get an API public key from:"
7031
  msgstr ""
7032
 
7033
+ #: front-end/default-fields/recaptcha/recaptcha.php:586
7034
  msgid "Click the BACK button on your browser, and try again."
7035
  msgstr ""
7036
 
7062
  msgid "This username is already reserved to be used soon."
7063
  msgstr ""
7064
 
7065
+ #: front-end/extra-fields/avatar/avatar.php:20, front-end/extra-fields/upload/upload.php:16, front-end/extra-fields/upload/upload.php:128, assets/lib/wck-api/fields/upload.php:43
7066
  msgid "Remove"
7067
  msgstr ""
7068
 
7070
  msgid "required"
7071
  msgstr ""
7072
 
7073
+ #: front-end/extra-fields/honeypot/honeypot.php:25
7074
+ msgid "The hidden Honeypot field must be empty."
7075
+ msgstr ""
7076
+
7077
  #: front-end/extra-fields/input-url/input-url.php:70
7078
  msgid "You must enter a valid URL."
7079
  msgstr ""
7114
  msgid "Select File"
7115
  msgstr ""
7116
 
7117
+ #: front-end/extra-fields/upload/upload.php:199, assets/lib/wck-api/fields/upload.php:75
7118
  msgid "Upload "
7119
  msgstr ""
7120
 
7178
  msgid "Set multiple admin e-mail addresses that will receive e-mail notifications sent by Profile Builder"
7179
  msgstr ""
7180
 
7181
+ #: admin/advanced-settings/includes/views/view-admin.php:82
7182
  msgid "Admin Emails:"
7183
  msgstr ""
7184
 
7185
+ #: admin/advanced-settings/includes/views/view-admin.php:88
7186
  msgid "Add email addresses, separated by comma, for people you wish to receive notifications from Profile Builder. These addresses will overwrite the default Email Address from <a href=\"%s\">Settings -> General</a>"
7187
  msgstr ""
7188
 
7189
+ #: admin/advanced-settings/includes/views/view-admin.php:97
7190
  msgid "Disable Multiple User Roles"
7191
  msgstr ""
7192
 
7193
+ #: admin/advanced-settings/includes/views/view-admin.php:104
7194
  msgid "Activating this option will disable the ability to select multiple roles for a user."
7195
  msgstr ""
7196
 
7411
  msgstr ""
7412
 
7413
  #: admin/advanced-settings/includes/views/view-forms.php:223
7414
+ msgid "By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it."
7415
  msgstr ""
7416
 
7417
+ #: admin/advanced-settings/includes/views/view-forms.php:223
7418
+ msgid "setting"
7419
  msgstr ""
7420
 
7421
+ #: admin/advanced-settings/includes/views/view-forms.php:231
7422
  msgid "Modify default Redirect Delay timer"
7423
  msgstr ""
7424
 
7425
+ #: admin/advanced-settings/includes/views/view-forms.php:238
7426
  msgid "This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen."
7427
  msgstr ""
7428
 
7429
+ #: admin/advanced-settings/includes/views/view-forms.php:241
7430
  msgid "The default is 3 seconds. Leave empty if you do not want to change it."
7431
  msgstr ""
7432
 
7433
+ #: admin/advanced-settings/includes/views/view-forms.php:249
7434
  msgid "Save Admin Approval status in usermeta"
7435
  msgstr ""
7436
 
7437
+ #: admin/advanced-settings/includes/views/view-forms.php:258
7438
  msgid "By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user."
7439
  msgstr ""
7440
 
7441
+ #: admin/advanced-settings/includes/views/view-forms.php:261
7442
  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."
7443
  msgstr ""
7444
 
7445
+ #: admin/advanced-settings/includes/views/view-forms.php:270
7446
  msgid "Redirect '/author' page if user is not approved"
7447
  msgstr ""
7448
 
7449
+ #: admin/advanced-settings/includes/views/view-forms.php:279
7450
  msgid "By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible."
7451
  msgstr ""
7452
 
7453
+ #: admin/advanced-settings/includes/views/view-forms.php:282
7454
  msgid "Using this option you can redirect these pages, sending users who try to access them to your home page."
7455
  msgstr ""
7456
 
7457
+ #: admin/advanced-settings/includes/views/view-forms.php:290
7458
  msgid "Save 'Last Login' date in usermeta"
7459
  msgstr ""
7460
 
7461
+ #: admin/advanced-settings/includes/views/view-forms.php:299
7462
  msgid "By checking this option, each time a user logins, the date and time will be saved in the database."
7463
  msgstr ""
7464
 
7465
+ #: admin/advanced-settings/includes/views/view-forms.php:302
7466
  msgid "The meta name for the field will be <strong>last_login_date</strong>."
7467
  msgstr ""
7468
 
7469
+ #: admin/advanced-settings/includes/views/view-forms.php:305, admin/advanced-settings/includes/views/view-forms.php:327
7470
  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."
7471
  msgstr ""
7472
 
7473
+ #: admin/advanced-settings/includes/views/view-forms.php:312
7474
  msgid "Save 'Last Profile Update' date in usermeta"
7475
  msgstr ""
7476
 
7477
+ #: admin/advanced-settings/includes/views/view-forms.php:321
7478
  msgid "By checking this option, each time a modifies his profile the date and time will be saved in the database."
7479
  msgstr ""
7480
 
7481
+ #: admin/advanced-settings/includes/views/view-forms.php:324
7482
  msgid "The meta name for the field will be <strong>last_profile_update_date</strong>."
7483
  msgstr ""
7484
 
7485
+ #: admin/advanced-settings/includes/views/view-forms.php:334
7486
  msgid "Disable automatic scrolling after submit"
7487
  msgstr ""
7488
 
7489
+ #: admin/advanced-settings/includes/views/view-forms.php:343
7490
  msgid "By default, after each form submission the page will automatically scroll to the form message."
7491
  msgstr ""
7492
 
7493
+ #: admin/advanced-settings/includes/views/view-forms.php:346
7494
  msgid "If you check this option, automatic scrolling will be disabled."
7495
  msgstr ""
7496
 
7497
+ #: admin/advanced-settings/includes/views/view-forms.php:354
7498
  msgid "Use ajax on conditional fields:"
7499
  msgstr ""
7500
 
7501
+ #: admin/advanced-settings/includes/views/view-forms.php:362
7502
  msgid "For large conditional forms."
7503
  msgstr ""
7504
 
7505
+ #: admin/advanced-settings/includes/views/view-forms.php:365
7506
  msgid "Select \"Yes\" for improved page performance."
7507
  msgstr ""
7508
 
7586
  msgid "If you enable this option they will be hidden."
7587
  msgstr ""
7588
 
7589
+ #: assets/lib/wck-api/fields/nested repeater.php:8
7590
+ msgid "You can add the information for the %s after you add an entry"
7591
+ msgstr ""
7592
+
7593
  #: assets/lib/wck-api/fields/select-2.php:16
7594
  msgid "Select or type in an option"
7595
  msgstr ""
7596
 
7597
+ #: assets/misc/elementor/widgets/class-pb-widget-base.php:36
7598
+ msgid "Unlabelled Field"
7599
+ msgstr ""
7600
+
7601
  #: assets/misc/elementor/widgets/class-pb-widget-base.php:112
7602
  msgid "Background"
7603
  msgstr ""
7638
  msgid "Registration"
7639
  msgstr ""
7640
 
7641
+ #: assets/misc/elementor/widgets/class-pb-widget-l.php:56, assets/misc/elementor/widgets/class-pb-widget-l.php:65, assets/misc/elementor/widgets/class-pb-widget-l.php:98, assets/misc/elementor/widgets/class-pb-widget-l.php:107, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:234, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:253
7642
  msgid "Enter URL"
7643
  msgstr ""
7644
 
7645
+ #: assets/misc/elementor/widgets/class-pb-widget-l.php:73
7646
+ msgid "Show Authenticator Code Field"
7647
+ msgstr ""
7648
+
7649
+ #: assets/misc/elementor/widgets/class-pb-widget-l.php:88, assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:222
7650
  msgid "Redirects"
7651
  msgstr ""
7652
 
7662
  msgid "Automatic Login"
7663
  msgstr ""
7664
 
7665
+ #: assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:211
7666
+ msgid "Edit the Settings for this form %1$shere%2$s"
7667
+ msgstr ""
7668
+
7669
  #: assets/misc/elementor/widgets/class-pb-widget-rf-epf.php:242
7670
  msgid "Redirect after Edit Profile"
7671
  msgstr ""