User registration & user profile – Profile Builder - Version 3.3.4

Version Description

  • Refactored add-on page to unify add-ons and modules, also did some refactoring of folders
  • Integrated Customization Toolbox addon as Advanced Settings in main plugin
  • Integrated Placeholder labels addon in Advanced Settings
  • Integrated Email Confirmation add-on as field in main plugin
  • Integrated Multiple Admin Emails add-on in Advanced Settings
  • Integrated Custom CSS Classes on fields add-on in main plugin
  • Integrated GDPR Communication Preferences add-on in main plugin
  • Integrated Import and Export add-on in main plugin
  • Integrated Labels Edit add-on in main plugin
  • Integrated Maximum Character Length add-on in main plugin
  • Fix for bbPress Messages compatibility issue.
Download this release

Release Info

Developer madalin.ungureanu
Plugin Icon 128x128 User registration & user profile – Profile Builder
Version 3.3.4
Comparing to
See all releases

Code changes from version 3.3.3 to 3.3.4

Files changed (131) hide show
  1. add-ons-free/custom-css-classes-on-fields/assets/js/main.js +20 -0
  2. add-ons-free/custom-css-classes-on-fields/custom-css-classes-on-fields.php +43 -0
  3. add-ons-free/gdpr-communication-preferences/admin/manage-fields.php +43 -0
  4. add-ons-free/gdpr-communication-preferences/assets/js/wppb-gcp-field.js +79 -0
  5. add-ons-free/gdpr-communication-preferences/front-end/gdpr-communication-preferences.php +166 -0
  6. add-ons-free/gdpr-communication-preferences/gdpr-communication-preferences.php +27 -0
  7. add-ons-free/import-export/import-export.php +74 -0
  8. add-ons-free/import-export/inc/class-pbie-export.php +60 -0
  9. add-ons-free/import-export/inc/class-pbie-import.php +99 -0
  10. add-ons-free/import-export/pbie-export.php +131 -0
  11. add-ons-free/import-export/pbie-import.php +42 -0
  12. add-ons-free/labels-edit/assets/chosen/chosen-sprite.png +0 -0
  13. add-ons-free/labels-edit/assets/chosen/chosen-sprite@2x.png +0 -0
  14. add-ons-free/labels-edit/assets/chosen/chosen.css +450 -0
  15. add-ons-free/labels-edit/assets/chosen/chosen.jquery.min.js +2 -0
  16. add-ons-free/labels-edit/assets/css/style.css +45 -0
  17. add-ons-free/labels-edit/assets/js/init.js +70 -0
  18. add-ons-free/labels-edit/inc/class-pble-export.php +43 -0
  19. add-ons-free/labels-edit/inc/class-pble-import.php +65 -0
  20. add-ons-free/labels-edit/labels-edit.php +420 -0
  21. add-ons-free/labels-edit/potx.php +1604 -0
  22. add-ons-free/maximum-character-length/assets/js/main.js +20 -0
  23. add-ons-free/maximum-character-length/maximum-character-length.php +75 -0
  24. admin/add-ons.php +359 -413
  25. admin/admin-functions.php +4 -5
  26. admin/advanced-settings/advanced-settings.php +223 -0
  27. admin/advanced-settings/includes/admin/admin-approval-access.php +9 -0
  28. admin/advanced-settings/includes/admin/admin-approval-confirmation.php +3 -0
  29. admin/advanced-settings/includes/admin/email-confirmation-access.php +9 -0
  30. admin/advanced-settings/includes/admin/multiple-admin-emails.php +13 -0
  31. admin/advanced-settings/includes/fields/automatically-generate-password.php +53 -0
  32. admin/advanced-settings/includes/fields/capitalize-first-last.php +18 -0
  33. admin/advanced-settings/includes/fields/datepicker-starts-monday.php +26 -0
  34. admin/advanced-settings/includes/fields/redirect-if-empty-required.php +45 -0
  35. admin/advanced-settings/includes/fields/remove-all-fields-from-backend.php +10 -0
  36. admin/advanced-settings/includes/fields/remove-repeater-fields.php +6 -0
  37. admin/advanced-settings/includes/fields/restricted-words.php +29 -0
  38. admin/advanced-settings/includes/fields/send-credentials-hide.php +6 -0
  39. admin/advanced-settings/includes/fields/send-credentials-text.php +13 -0
  40. admin/advanced-settings/includes/fields/unique-display-name.php +25 -0
  41. admin/advanced-settings/includes/fields/update-db-meta-keys.php +3 -0
  42. admin/advanced-settings/includes/forms/back-end-validation.php +6 -0
  43. admin/advanced-settings/includes/forms/ec-bypass.php +11 -0
  44. admin/advanced-settings/includes/forms/edit-other-users-limit.php +6 -0
  45. admin/advanced-settings/includes/forms/placeholder-labels.php +238 -0
  46. admin/advanced-settings/includes/forms/redirect-author-page.php +14 -0
  47. admin/advanced-settings/includes/forms/redirect-delay-timer.php +18 -0
  48. admin/advanced-settings/includes/forms/remember-me.php +6 -0
  49. admin/advanced-settings/includes/forms/restricted-email-domains.php +30 -0
  50. admin/advanced-settings/includes/forms/save-admin-approval-status.php +25 -0
  51. admin/advanced-settings/includes/forms/save-last-login.php +9 -0
  52. admin/advanced-settings/includes/forms/save-last-profile-update.php +6 -0
  53. admin/advanced-settings/includes/forms/social-connect-bypass-ec.php +6 -0
  54. admin/advanced-settings/includes/forms/users-can-register.php +4 -0
  55. admin/advanced-settings/includes/functions.php +20 -0
  56. admin/advanced-settings/includes/shortcodes/compare.php +50 -0
  57. admin/advanced-settings/includes/shortcodes/format-date.php +19 -0
  58. admin/advanced-settings/includes/shortcodes/resend-activation.php +35 -0
  59. admin/advanced-settings/includes/shortcodes/usermeta.php +46 -0
  60. admin/advanced-settings/includes/userlisting/modify-permalinks-single.php +69 -0
  61. admin/advanced-settings/includes/userlisting/remove-repetitions.php +3 -0
  62. admin/advanced-settings/includes/userlisting/search-placeholder-text.php +11 -0
  63. admin/advanced-settings/includes/userlisting/use-nicename-single.php +3 -0
  64. admin/advanced-settings/includes/views/view-admin.php +103 -0
  65. admin/advanced-settings/includes/views/view-fields.php +295 -0
  66. admin/advanced-settings/includes/views/view-forms.php +339 -0
  67. admin/advanced-settings/includes/views/view-shortcodes.php +79 -0
  68. admin/advanced-settings/includes/views/view-userlisting.php +93 -0
  69. admin/basic-info.php +5 -5
  70. admin/general-settings.php +45 -16
  71. admin/manage-fields.php +15 -3
  72. assets/css/placeholder-labels-rtl.css +43 -0
  73. assets/css/placeholder-labels.css +64 -0
  74. assets/css/serial-notice.css +1 -1
  75. assets/css/style-back-end.css +80 -0
  76. assets/images/custom_login_page_templates_logo.png +0 -0
  77. assets/images/pb_addon_buddypress_small.png +0 -0
  78. assets/images/pb_addon_client_portal.png +0 -0
  79. assets/images/pb_addon_epaa_small.png +0 -0
  80. assets/images/pb_addon_gdpr_small.png +0 -0
  81. assets/images/pb_addon_small_bbpress.png +0 -0
  82. assets/images/pb_addon_small_campaignmonitor.png +0 -0
  83. assets/images/pb_addon_small_cssclasses.png +0 -0
  84. assets/images/pb_addon_small_custom_menu.png +0 -0
  85. assets/images/pb_addon_small_emailconfirmation.png +0 -0
  86. assets/images/pb_addon_small_fieldvisibility.png +0 -0
  87. assets/images/pb_addon_small_importexport.png +0 -0
  88. assets/images/pb_addon_small_labeledit.png +0 -0
  89. assets/images/pb_addon_small_mailchimp.png +0 -0
  90. assets/images/pb_addon_small_mailpoet.png +0 -0
  91. assets/images/pb_addon_small_maxcharlength.png +0 -0
  92. assets/images/pb_addon_small_multipleadminemails.png +0 -0
  93. assets/images/pb_addon_small_multistep_forms.png +0 -0
  94. assets/images/pb_addon_small_passwordlesslogin.png +0 -0
  95. assets/images/pb_addon_small_placeholder.png +0 -0
  96. assets/images/pb_addon_small_select2.png +0 -0
  97. assets/images/pb_addon_small_social_connect.png +0 -0
  98. assets/images/pb_addon_small_woosync.png +0 -0
  99. assets/images/pms_logo.png +0 -0
  100. assets/images/pro_buddypress.png +0 -0
  101. assets/images/pro_custom_redirects.png +0 -0
  102. assets/images/pro_email_customizer.png +0 -0
  103. assets/images/pro_multiple_edit_profile.png +0 -0
  104. assets/images/pro_multiple_registration.png +0 -0
  105. assets/images/pro_repeater_fields.png +0 -0
  106. assets/images/pro_user_listing.png +0 -0
  107. assets/images/translatepress_logo.png +0 -0
  108. assets/js/jquery-manage-fields-live-change.js +44 -3
  109. assets/js/jquery-pb-sitewide.js +49 -0
  110. assets/js/placeholder-labels.js +14 -0
  111. assets/lib/cl-add-ons-listing/assets/css/cl-add-ons-listing.css +34 -0
  112. assets/lib/cl-add-ons-listing/assets/js/cl-add-ons-listing.js +60 -0
  113. assets/lib/cl-add-ons-listing/cl-add-ons-listing.php +346 -0
  114. {features → assets/lib}/class-list-table.php +0 -0
  115. assets/lib/class-mustache-templates/class-mustache-templates.css +193 -0
  116. assets/lib/class-mustache-templates/class-mustache-templates.js +80 -0
  117. assets/lib/class-mustache-templates/class-mustache-templates.php +573 -0
  118. assets/lib/class_notices.php +1 -1
  119. assets/lib/wck-api/wordpress-creation-kit.php +7 -0
  120. assets/misc/plugin-compatibilities.php +13 -1
  121. features/email-confirmation/class-email-confirmation.php +1 -1
  122. features/email-confirmation/email-confirmation.php +10 -0
  123. features/functions.php +38 -4
  124. features/upgrades/upgrades-functions.php +37 -0
  125. features/upgrades/upgrades.php +149 -1
  126. front-end/default-fields/default-fields.php +3 -0
  127. front-end/default-fields/email-confirmation/email-confirmation.php +55 -0
  128. index.php +45 -13
  129. readme.txt +17 -4
  130. translation/profile-builder.catalog.php +371 -368
  131. translation/profile-builder.pot +2116 -2106
add-ons-free/custom-css-classes-on-fields/assets/js/main.js ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Function that adds the css classes field to the global fields object
3
+ * declared in assets/js/jquery-manage-fields-live-change.js
4
+ *
5
+ */
6
+ function wppb_css_classes_field() {
7
+ if (typeof fields == "undefined") {
8
+ return false;
9
+ }
10
+
11
+ var updateFields = ['Default - Name (Heading)', 'Default - Contact Info (Heading)', 'Default - About Yourself (Heading)', 'Default - Username', 'Default - First Name', 'Default - Last Name', 'Default - Nickname', 'Default - E-mail', 'Default - Website', 'Default - AIM', 'Default - Yahoo IM', 'Default - Jabber / Google Talk', 'Default - Password', 'Default - Repeat Password', 'Default - Biographical Info', 'Default - Display name publicly as', 'Heading', 'Input', 'Textarea', 'WYSIWYG', 'Select', 'Datepicker', 'Select (Multiple)', 'Checkbox', 'Radio', 'Upload', 'Phone', 'Timepicker', 'Colorpicker', 'Validation', 'Select (User Role)', 'Select (CPT)', 'Select (Timezone)', 'Select (Country)', 'Select (Currency)', 'Email', 'URL', 'GDPR Checkbox', 'Map' ];
12
+
13
+ for( var i = 0; i < updateFields.length; i++ ) {
14
+ fields[ updateFields[i] ]['show_rows'].push( '.row-class-field' );
15
+ }
16
+ }
17
+
18
+ jQuery( function() {
19
+ wppb_css_classes_field();
20
+ });
add-ons-free/custom-css-classes-on-fields/custom-css-classes-on-fields.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Description: Extends the functionality of Profile Builder by adding the possibility to have custom css classes on fields
4
+ */
5
+
6
+ /*
7
+ * Function that enqueues the necessary scripts
8
+ *
9
+ * @since v.1.0.0
10
+ */
11
+ function wppb_ccc_scripts() {
12
+ wp_enqueue_script( 'wppb-custom-css-class-field', plugin_dir_url(__FILE__) . 'assets/js/main.js', array( 'jquery', 'wppb-manage-fields-live-change' ) );
13
+ }
14
+ add_action( 'admin_enqueue_scripts', 'wppb_ccc_scripts' );
15
+
16
+ /*
17
+ * Function that adds the numbers only checkbox on an input field.
18
+ *
19
+ * @since v.1.0.0
20
+ *
21
+ * @param array $fields - The current field properties
22
+ *
23
+ * @return array - The field properties that now include the numbers only checkbox
24
+ */
25
+ function wppb_ccc_field( $fields ) {
26
+ $class = array(
27
+ 'type' => 'text',
28
+ 'slug' => 'class-field',
29
+ 'title' => __( 'CSS Class', 'profile-builder' ),
30
+ 'description' => __( "Add a class to a field. Should not contain dots(.) and for multiple classes separate by space.", 'profile-builder' )
31
+ );
32
+ array_push( $fields, $class );
33
+ return $fields;
34
+ }
35
+ add_filter( 'wppb_manage_fields', 'wppb_ccc_field' );
36
+
37
+ function wppb_ccc_class( $class, $field, $error_var ){
38
+ if( !empty( $field['class-field'] ) ){
39
+ $class .= ' '. esc_attr( $field['class-field'] );
40
+ }
41
+ return $class;
42
+ }
43
+ add_filter( 'wppb_field_css_class', 'wppb_ccc_class', 10, 3 );
add-ons-free/gdpr-communication-preferences/admin/manage-fields.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Function that adds the new GDPR Communication Preferences field to the fields list
4
+ * and also the list of fields that skip the meta-name check
5
+ *
6
+ * @param array $fields - The names of all the fields
7
+ *
8
+ * @return array
9
+ *
10
+ */
11
+ function wppb_gdprcp_manage_field_types( $fields ) {
12
+ $fields[] = 'GDPR Communication Preferences';
13
+ return $fields;
14
+ }
15
+ add_filter( 'wppb_manage_fields_types', 'wppb_gdprcp_manage_field_types' );
16
+
17
+
18
+ /* Function adds the GDPR Communication Preferences option to set a maximum selection size
19
+ *
20
+ * @param array $fields - The current field properties
21
+ *
22
+ */
23
+ function wppb_gdprcp_manage_fields( $fields ) {
24
+ $fields[] = array( 'type' => 'checkbox', 'slug' => 'gdpr-communication-preferences', 'title' => __( 'Communication Preferences', 'profile-builder' ), 'options' => array( '%'.__( 'Email', 'profile-builder' ).'%email', '%'.__( 'Telephone', 'profile-builder' ).'%phone', '%'.__( 'SMS', 'profile-builder' ).'%sms', '%'.__( 'Post', 'profile-builder' ).'%post' ), 'description' => __( "Select which communication preferences are available on your site ( drag and drop to re-order )", 'profile-builder' ) );
25
+ $fields[] = array( 'type' => 'text', 'slug' => 'gdpr-communication-preferences-sort-order', 'title' => __( 'Communication Preferences Order', 'profile-builder' ), 'description' => __( "Save the communication preferences order", 'profile-builder' ) );
26
+ return $fields;
27
+ }
28
+ add_filter( 'wppb_manage_fields', 'wppb_gdprcp_manage_fields' );
29
+
30
+
31
+ /**
32
+ * Function that calls the wppb_handle_gdprcp_field
33
+ *
34
+ * @param void
35
+ *
36
+ * @return string
37
+ */
38
+ function wppb_gdprcp_sortable_order( $meta_name, $id, $element_id ){
39
+ if ( $meta_name == 'wppb_manage_fields' ) {
40
+ echo "<script type=\"text/javascript\">wppb_handle_gdprcp_field( '#container_wppb_manage_fields' );</script>";
41
+ }
42
+ }
43
+ add_action("wck_after_adding_form", "wppb_gdprcp_sortable_order", 10, 3);
add-ons-free/gdpr-communication-preferences/assets/js/wppb-gcp-field.js ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Function that adds the GDPR CP field to the global fields object
3
+ * declared in assets/js/jquery-manage-fields-live-change.js
4
+ *
5
+ */
6
+ function wppb_gdprcp_add_field() {
7
+ if (typeof fields == "undefined") {
8
+ return false;
9
+ }
10
+ fields["GDPR Communication Preferences"] = {
11
+ 'show_rows' : [
12
+ '.row-field-title',
13
+ '.row-meta-name',
14
+ '.row-description',
15
+ '.row-gdpr-communication-preferences',
16
+ '.row-required',
17
+ '.row-overwrite-existing'
18
+ ],
19
+ 'properties': {
20
+ 'meta_name_value' : 'gdpr_communication_preferences'
21
+ }
22
+ };
23
+ }
24
+
25
+
26
+ jQuery( function() {
27
+ wppb_gdprcp_add_field();
28
+
29
+ // we need run this again after adding the Email Confirmation field to the global fields object
30
+ wppb_hide_properties_for_already_added_fields( '#container_wppb_manage_fields' );
31
+
32
+ wppb_handle_gdprcp_field( '#wppb_manage_fields' );
33
+ });
34
+
35
+ /*
36
+ * Function that handles the sorting of the user roles from the Select (User Role)
37
+ * extra field
38
+ *
39
+ */
40
+ function wppb_handle_gdprcp_field( container_name ) {
41
+
42
+ jQuery( container_name + ' ' + '.row-gdpr-communication-preferences .wck-checkboxes').sortable({
43
+
44
+ //Assign a custom handle for the drag and drop
45
+ handle: '.sortable-handle',
46
+
47
+ create: function( event, ui ) {
48
+
49
+ //Add the custom handle for drag and drop
50
+ jQuery(this).find('div').each( function() {
51
+ jQuery(this).prepend('<span class="sortable-handle"></span>');
52
+ });
53
+
54
+ $sortOrderInput = jQuery(this).parents('.row-gdpr-communication-preferences').siblings('.row-gdpr-communication-preferences-sort-order').find('input[type=text]');
55
+
56
+ if( $sortOrderInput.val() == '' ) {
57
+ jQuery(this).find('input[type=checkbox]').each( function() {
58
+ $sortOrderInput.val( $sortOrderInput.val() + ', ' + jQuery(this).val() );
59
+ });
60
+ } else {
61
+ sortOrderElements = $sortOrderInput.val().split(', ');
62
+ sortOrderElements.shift();
63
+
64
+ for( var i=0; i < sortOrderElements.length; i++ ) {
65
+ jQuery( container_name + ' ' + '.row-gdpr-communication-preferences .wck-checkboxes').append( jQuery( container_name + ' ' + '.row-gdpr-communication-preferences .wck-checkboxes input[value="' + sortOrderElements[i] + '"]').parent().parent().get(0) );
66
+ }
67
+ }
68
+ },
69
+
70
+ update: function( event, ui ) {
71
+ $sortOrderInput = ui.item.parents('.row-gdpr-communication-preferences').siblings('.row-gdpr-communication-preferences-sort-order').find('input[type=text]');
72
+ $sortOrderInput.val('');
73
+
74
+ ui.item.parent().find('input[type=checkbox]').each( function() {
75
+ $sortOrderInput.val( $sortOrderInput.val() + ', ' + jQuery(this).val() );
76
+ });
77
+ }
78
+ });
79
+ }
add-ons-free/gdpr-communication-preferences/front-end/gdpr-communication-preferences.php ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* handle field output */
3
+ function wppb_gdprcp_handler( $output, $form_location, $field, $user_id, $field_check_errors, $request_data ){
4
+ if ( $field['field'] == 'GDPR Communication Preferences' ){
5
+ $item_title = apply_filters( 'wppb_'.$form_location.'_gdpr_communication_preferences_custom_field_'.$field['id'].'_item_title', wppb_icl_t( 'plugin profile-builder-pro', 'custom_field_'.$field['id'].'_title_translation', $field['field-title'] ) );
6
+ $item_description = wppb_icl_t( 'plugin profile-builder-pro', 'custom_field_'.$field['id'].'_description_translation', $field['description'] );
7
+
8
+ $checkbox_values = explode( ',', $field['gdpr-communication-preferences'] );
9
+ $checkbox_labels = array( "email" => __('Email', 'profile-builder'), "sms" => __('SMS', 'profile-builder'), "phone" => __('Telephone', 'profile-builder'), "post" => __('Post', 'profile-builder') );
10
+
11
+
12
+ if( $form_location != 'register' ) {
13
+ if( wppb_user_meta_exists($user_id, $field['meta-name']) !== null ){
14
+ $stored_value = get_user_meta($user_id, $field['meta-name'], true);
15
+ if( is_array( $stored_value ) )//this should not be the case but we had a client that had this problem (possible conflict with other plugin but could not identify it)
16
+ $stored_value = implode( ',', $stored_value );
17
+ $input_value = array_map('trim', explode(',', stripslashes($stored_value)));
18
+ }
19
+ else{
20
+ $input_value = array_map('trim', explode(',', $field['default-options']));
21
+ }
22
+ }
23
+ else
24
+ $input_value = ( !empty( $field['default-options'] ) ? array_map( 'trim', explode( ',', $field['default-options'] ) ) : array() );
25
+
26
+ if( isset( $request_data[ wppb_handle_meta_name( $field['meta-name'] ) ] ) && !empty( $request_data[ wppb_handle_meta_name( $field['meta-name'] ) ] ) )
27
+ $input_value = $request_data[ wppb_handle_meta_name( $field['meta-name'] ) ];
28
+
29
+ $extra_attr = apply_filters( 'wppb_extra_attribute', '', $field, $form_location );
30
+
31
+ if ( $form_location != 'back_end' ){
32
+ $error_mark = ( ( $field['required'] == 'Yes' ) ? '<span class="wppb-required" title="'.wppb_required_field_error($field["field-title"]).'">*</span>' : '' );
33
+
34
+ if ( array_key_exists( $field['id'], $field_check_errors ) )
35
+ $error_mark = '<img src="'.WPPB_PLUGIN_URL.'assets/images/pencil_delete.png" title="'.wppb_required_field_error($field["field-title"]).'"/>';
36
+
37
+ $output = '
38
+ <label for="'.$field['meta-name'].'">'.$item_title.$error_mark.'</label>';
39
+ $output .= '<ul class="wppb-checkboxes">';
40
+ foreach( $checkbox_values as $key => $value ){
41
+ $output .= '<li><input value="'.esc_attr( trim( $value ) ).'" class="custom_field_checkbox" name="' . $field['meta-name'] . '[]" id="'.Wordpress_Creation_Kit_PB::wck_generate_slug( trim( $value ) ).'_'.$field['id'].'" type="checkbox" '. $extra_attr .' ';
42
+
43
+ if ( in_array( trim( $value ), $input_value ) )
44
+ $output .= ' checked';
45
+
46
+ $output .= ' /><label for="'.Wordpress_Creation_Kit_PB::wck_generate_slug( trim( $value ) ).'_'.$field['id'].'" class="wppb-rc-value">'.( ( !isset( $checkbox_labels[ trim( $value )] ) || !$checkbox_labels[ trim( $value )] ) ? trim( $checkbox_values[$key] ) : trim( $checkbox_labels[ trim( $value )] ) ).'</label></li>';
47
+ }
48
+ $output .= '</ul>';
49
+ if( !empty( $item_description ) )
50
+ $output .= '<span class="wppb-description-delimiter">'.$item_description.'</span>';
51
+
52
+ }else{
53
+ $item_title = ( ( $field['required'] == 'Yes' ) ? $item_title .' <span class="description">('. __( 'required', 'profile-builder' ) .')</span>' : $item_title );
54
+ $output = '
55
+ <table class="form-table">
56
+ <tr>
57
+ <th><label for="'.$field['meta-name'].'">'.$item_title.'</label></th>
58
+ <td>';
59
+
60
+ foreach( $checkbox_values as $key => $value ){
61
+ $output .= '<li><input value="'.esc_attr( trim( $value ) ).'" class="custom_field_checkbox '. apply_filters( 'wppb_fields_extra_css_class', '', $field ) .'" name="' . $field['meta-name'] . '[]" id="'.Wordpress_Creation_Kit_PB::wck_generate_slug( trim( $value ) ).'_'.$field['id'].'" type="checkbox"';
62
+
63
+ if ( in_array( trim( $value ), $input_value ) )
64
+ $output .= ' checked';
65
+
66
+ $output .= ' /><label for="'.Wordpress_Creation_Kit_PB::wck_generate_slug( trim( $value ) ).'_'.$field['id'].'" class="wppb-rc-value">'.( ( !isset( $checkbox_labels[ trim( $value )] ) || !$checkbox_labels[ trim( $value )] ) ? trim( $checkbox_values[$key] ) : trim( $checkbox_labels[ trim( $value )] ) ).'</label></li>';
67
+ }
68
+
69
+
70
+
71
+ $output .= '<span class="wppb-description-delimiter">'.$item_description.'</span>';
72
+
73
+ //display the history of the changes to the filed in the admin area
74
+ $gdpr_communication_preferences_history = get_user_meta( $user_id, 'gdpr_communication_preferences_history', true );
75
+ if( !empty( $gdpr_communication_preferences_history ) ){
76
+ $output .= '<table class="form-table" style="max-width:700px;"><tbody>';
77
+ $output .= '<tr><th>'. __( 'Date', 'profile-builder' ) .'</th><th>'. __( 'Preference', 'profile-builder' ) .'</th></tr>';
78
+ foreach( $gdpr_communication_preferences_history as $date => $preff ){
79
+ $output .= '<tr><td style="padding: 5px 10px;">'. $date .'</td><td style="padding: 5px 10px;">'. $preff .'</td></tr>';
80
+ }
81
+ $output .= '</tbody></table>';
82
+ }
83
+
84
+ $output .= '</td>
85
+ </tr>
86
+ </table>';
87
+
88
+
89
+
90
+
91
+ }
92
+
93
+ return apply_filters( 'wppb_'.$form_location.'_gcp_'.$field['id'], $output, $form_location, $field, $user_id, $field_check_errors, $request_data, $input_value );
94
+ }
95
+ }
96
+ add_filter( 'wppb_output_form_field_gdpr-communication-preferences', 'wppb_gdprcp_handler', 10, 6 );
97
+ add_filter( 'wppb_admin_output_form_field_gdpr-communication-preferences', 'wppb_gdprcp_handler', 10, 6 );
98
+
99
+
100
+ /* handle field save */
101
+ function wppb_save_gdprcp_value( $field, $user_id, $request_data, $form_location ){
102
+ if( $field['field'] == 'GDPR Communication Preferences' ){
103
+ $prev_value = get_user_meta($user_id, $field['meta-name'], true );
104
+ $checkbox_values = wppb_process_gdprcp_value( $field, $request_data );
105
+ update_user_meta( $user_id, $field['meta-name'], $checkbox_values, $prev_value );
106
+ }
107
+ }
108
+ add_action( 'wppb_save_form_field', 'wppb_save_gdprcp_value', 10, 4 );
109
+ add_action( 'wppb_backend_save_form_field', 'wppb_save_gdprcp_value', 10, 4 );
110
+
111
+
112
+ function wppb_process_gdprcp_value( $field, $request_data ){
113
+ $checkbox_values = '';
114
+
115
+ if( isset( $request_data[ wppb_handle_meta_name( $field['meta-name'] ) ] ) )
116
+ $checkbox_values = implode( ',', $request_data[ wppb_handle_meta_name( $field['meta-name'] ) ] );
117
+
118
+ return trim( $checkbox_values, ',' );
119
+ }
120
+
121
+
122
+ function wppb_add_gdprcp_for_user_signup( $field_value, $field, $request_data ){
123
+ return wppb_process_gdprcp_value( $field, $request_data );
124
+ }
125
+ add_filter( 'wppb_add_to_user_signup_form_field_gdpr_communication_preferences', 'wppb_add_gdprcp_for_user_signup', 10, 3 );
126
+
127
+
128
+ /* handle field validation */
129
+ function wppb_check_gdprcp_value( $message, $field, $request_data, $form_location ){
130
+
131
+ if( $field['field'] == 'GDPR Communication Preferences' ){
132
+ $checked_values = '';
133
+
134
+ if( isset( $request_data[ wppb_handle_meta_name( $field['meta-name'] ) ] ) )
135
+ $checked_values = implode( ',', $request_data[ wppb_handle_meta_name( $field['meta-name'] ) ] );
136
+
137
+ if ( ( $field['required'] == 'Yes' ) && empty( $checked_values ) ){
138
+ return wppb_required_field_error($field["field-title"]);
139
+ }
140
+
141
+ }
142
+
143
+ return $message;
144
+ }
145
+ add_filter( 'wppb_check_form_field_gdpr_communication_preferences', 'wppb_check_gdprcp_value', 10, 4 );
146
+
147
+
148
+ /**
149
+ * Save the modifications done by the user in a new meta "gdpr_communication_preferences_history"
150
+ * this is a feature of the gdpr communication preferences
151
+ */
152
+ add_filter( 'update_user_metadata', 'wppb_gdprcp_save_gdpr_communication_preferences', 10, 5 );
153
+ function wppb_gdprcp_save_gdpr_communication_preferences( $null, $object_id, $meta_key, $meta_value, $prev_value ){
154
+ if ( 'gdpr_communication_preferences' == $meta_key && ( $meta_value != $prev_value ) ) {
155
+ $existing_values = get_user_meta( $object_id, 'gdpr_communication_preferences_history', true );
156
+ if( empty( $existing_values ) )
157
+ $existing_values = array();
158
+
159
+ $existing_values[date('Y-m-d H:i:s')] = $meta_value;
160
+ update_user_meta( $object_id, 'gdpr_communication_preferences_history', $existing_values );
161
+ }
162
+
163
+ return null; // this means: go on with the normal execution in meta.php
164
+ }
165
+
166
+
add-ons-free/gdpr-communication-preferences/gdpr-communication-preferences.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Description: Ads a GDPR Communication Preferences Field
4
+ */
5
+
6
+ /* define plugin directory */
7
+ define( 'PBGCP_ADD_ON_DIR', WP_PLUGIN_DIR . '/' . dirname( plugin_basename( __FILE__ ) ) );
8
+
9
+
10
+ /* load required files */
11
+ // Include the file that manages manage fields
12
+ if (file_exists(PBGCP_ADD_ON_DIR . '/admin/manage-fields.php'))
13
+ include_once(PBGCP_ADD_ON_DIR . '/admin/manage-fields.php');
14
+ // Include the files for the custom field
15
+ if (file_exists(PBGCP_ADD_ON_DIR . '/front-end/gdpr-communication-preferences.php'))
16
+ include_once(PBGCP_ADD_ON_DIR . '/front-end/gdpr-communication-preferences.php');
17
+
18
+ /* function that enqueues the necessary scripts */
19
+ function wppb_gdprcp_scripts_and_styles( $hook ) {
20
+ if( $hook == 'profile-builder_page_manage-fields' ){
21
+ wp_enqueue_script( 'wppb_gcp_main', plugin_dir_url(__FILE__) . 'assets/js/wppb-gcp-field.js', array( 'jquery', 'wppb-manage-fields-live-change' ) );
22
+ }
23
+ }
24
+ add_action( 'admin_enqueue_scripts', 'wppb_gdprcp_scripts_and_styles' );
25
+
26
+
27
+
add-ons-free/import-export/import-export.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Description: Adds a PB subpage where you can Import and Export settings of Profile Builder.
4
+ */
5
+
6
+ /* include content of Import and Export tabs */
7
+ require_once 'pbie-import.php';
8
+ require_once 'pbie-export.php';
9
+
10
+ /* add submenu page */
11
+ add_action( 'admin_menu', 'wppb_pbie_register_submenu_page', 18 );
12
+
13
+ function wppb_pbie_register_submenu_page() {
14
+ add_submenu_page( 'profile-builder', __( 'Import and Export', 'profile-builder' ), __( 'Import and Export', 'profile-builder' ), 'manage_options', 'pbie-import-export', 'wppb_pbie_submenu_page_callback' );
15
+ }
16
+
17
+ function wppb_pbie_submenu_page_callback() {
18
+ wppb_pbie_page();
19
+ }
20
+
21
+ /**
22
+ * adds Import and Export tab
23
+ *
24
+ * @param string $current tab to display. default 'import'.
25
+ */
26
+ function wppb_pbie_tabs( $current = 'import' ) {
27
+ $tabs = array(
28
+ 'import' => __( 'Import', 'profile-builder' ),
29
+ 'export' => __( 'Export', 'profile-builder' )
30
+ );
31
+
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
+ }
39
+
40
+ /* PB Import and Export subpage content function */
41
+ function wppb_pbie_page() {
42
+ global $pagenow;
43
+
44
+ ?>
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'] ) );
52
+ else wppb_pbie_tabs( 'import' );
53
+ ?>
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
+
61
+ switch ( $tab ) {
62
+ case 'export' :
63
+ wppb_pbie_export();
64
+ break;
65
+ case 'import' :
66
+ wppb_pbie_import();
67
+ break;
68
+ }
69
+ }
70
+ ?>
71
+ </form>
72
+ </div>
73
+ <?php
74
+ }
add-ons-free/import-export/inc/class-pbie-export.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WPPB_ImpEx_Export {
4
+
5
+ protected $args_to_export;
6
+
7
+ /**
8
+ * this will take custom options and posttypes that will be exported from database.
9
+ *
10
+ * @param array $args_to_export custom options and posttypes to export.
11
+ */
12
+ function __construct( $args_to_export ) {
13
+ $this->args_to_export = $args_to_export;
14
+ }
15
+
16
+ /* function to export from database */
17
+ public function export_array() {
18
+ /* export options from database */
19
+ $option_values = array();
20
+ foreach( $this->args_to_export['options'] as $option ) {
21
+ $get_option = get_option( $option );
22
+ if( $get_option !== false ) {
23
+ $option_values[$option] = $get_option;
24
+ }
25
+ }
26
+
27
+ /* export custom posts from database */
28
+ $all_custom_posts = array();
29
+ foreach( $this->args_to_export['cpts'] as $post_type ) {
30
+ $all_custom_posts[$post_type] = get_posts( "post_type=$post_type&posts_per_page=-1" );
31
+ foreach( $all_custom_posts[$post_type] as $key => $value ) {
32
+ $all_custom_posts[$post_type][$key]->postmeta = get_post_custom( $value->ID );
33
+ }
34
+ }
35
+
36
+ /* create and return array for export */
37
+ $all_for_export = array(
38
+ "options" => $option_values,
39
+ "posts" => $all_custom_posts
40
+ );
41
+
42
+ return $all_for_export;
43
+ }
44
+
45
+ /* export to json file */
46
+ public function download_to_json_format( $prefix ) {
47
+ $all_for_export = $this->export_array();
48
+ if( isset( $_POST['cozmos-export'] ) ) {
49
+ $json = json_encode( $all_for_export );
50
+ $filename = $prefix . date( 'Y-m-d_h.i.s', time() );
51
+ $filename .= '.json';
52
+ header( "Content-Disposition: attachment; filename=$filename" );
53
+ header( 'Content-type: application/json' );
54
+ header( 'Content-Length: ' . mb_strlen( $json ) );
55
+ header( 'Connection: close' );
56
+ echo $json;
57
+ exit;
58
+ }
59
+ }
60
+ }
add-ons-free/import-export/inc/class-pbie-import.php ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WPPB_ImpEx_Import {
4
+
5
+ protected $args_to_import;
6
+ public $import_messages = array();
7
+ private $j = '0';
8
+
9
+ /**
10
+ * this will take custom options and posttypes that will be imported to database.
11
+ *
12
+ * @param array $args_to_import custom options and posttypes to import.
13
+ */
14
+ function __construct( $args_to_import ) {
15
+ $this->args_to_import = $args_to_import;
16
+ }
17
+
18
+ /**
19
+ * this will save imported json.
20
+ *
21
+ * @param string $json_content imported json.
22
+ */
23
+ public function json_to_db( $json_content ) {
24
+ /* decode and put json to array */
25
+ $imported_array_from_json = json_decode( $json_content, true );
26
+ if ( $imported_array_from_json !== NULL ) {
27
+ $imported_options = $imported_array_from_json['options'];
28
+ $imported_posts = $imported_array_from_json['posts'];
29
+
30
+ /* import options to database */
31
+ foreach( $imported_options as $key => $value ) {
32
+ if( ! empty( $value ) ) {
33
+ update_option( $key, $value );
34
+ }
35
+ }
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 );
43
+ }
44
+
45
+ $db_posts = get_posts( "post_type=$imported_post_type&posts_per_page=-1" );
46
+ if( ! empty( $imported_posts[$imported_post_type] ) ) {
47
+ foreach( $imported_posts[$imported_post_type] as $imported_post ) {
48
+ foreach( $db_posts as $db_post ) {
49
+ if( $imported_post["post_title"] == $db_post->post_title && $imported_post["post_name"] == $db_post->post_name ) {
50
+ wp_delete_post( $db_post->ID, $force_delete = true );
51
+ }
52
+ }
53
+ unset( $imported_post["ID"] );
54
+ $imported_post_id = wp_insert_post( $imported_post );
55
+ foreach( $imported_post["postmeta"] as $key => $value ) {
56
+ foreach( $value as $value_key => $serialized_value ) {
57
+ add_post_meta( $imported_post_id, $key, maybe_unserialize( $serialized_value ) );
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ } else {
64
+ $this->import_messages[$this->j]['message'] = __( 'Uploaded file is not valid json!', 'profile-builder' );
65
+ $this->import_messages[$this->j]['type'] = 'error';
66
+ $this->j++;
67
+ }
68
+ }
69
+
70
+ /* upload json file function */
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'] );
78
+ move_uploaded_file( $_FILES['cozmos-upload']['tmp_name'], $target );
79
+ */
80
+ $this->json_to_db( $json_content );
81
+ if( empty( $this->pbie_import_messages ) ) {
82
+ $this->import_messages[$this->j]['message'] = __( 'Import successfully!', 'profile-builder' );
83
+ $this->import_messages[$this->j]['type'] = 'updated';
84
+ $this->j++;
85
+ flush_rewrite_rules( false );
86
+ }
87
+ } else {
88
+ $this->import_messages[$this->j]['message'] = __( 'Please select a .json file to import!', 'profile-builder' );
89
+ $this->import_messages[$this->j]['type'] = 'error';
90
+ $this->j++;
91
+ }
92
+ }
93
+ }
94
+
95
+ /* messages return function */
96
+ public function get_messages() {
97
+ return $this->import_messages;
98
+ }
99
+ }
add-ons-free/import-export/pbie-export.php ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* include export class */
4
+ require_once 'inc/class-pbie-export.php';
5
+
6
+ /* add scripts */
7
+ add_action( 'admin_init', 'wppb_pbie_export_our_json' );
8
+
9
+ /* export class arguments and call */
10
+ function wppb_pbie_export_our_json() {
11
+ if( isset( $_POST['cozmos-export'] ) ) {
12
+ /* get Profile Builder version */
13
+ if ( PROFILE_BUILDER == 'Profile Builder Pro' ) {
14
+ $version = 'pro';
15
+ } elseif( PROFILE_BUILDER == 'Profile Builder Hobbyist' ) {
16
+ $version = 'hobbyist';
17
+ }
18
+
19
+ $pbie_args = array(
20
+ 'options' => array(
21
+ // Admin Bar Settings
22
+ 'wppb_display_admin_settings',
23
+ // General Settings
24
+ 'wppb_general_settings',
25
+ // Content Restriction
26
+ 'wppb_content_restriction_settings',
27
+ // Roles Editor
28
+ 'wppb_roles_editor_capabilities',
29
+ // Serial Settings
30
+ 'wppb_profile_builder_'.$version.'_serial_status',
31
+ 'wppb_profile_builder_'.$version.'_serial',
32
+ // Manage Fields
33
+ 'wppb_manage_fields',
34
+ // Module Settings
35
+ 'wppb_module_settings',
36
+ 'wppb_module_settings_description',
37
+ // Email Customizer Settings
38
+ 'wppb_emailc_common_settings_from_name',
39
+ 'wppb_emailc_common_settings_from_reply_to_email',
40
+ // Email Customizer for Admins
41
+ 'wppb_admin_emailc_default_registration_email_subject',
42
+ 'wppb_admin_emailc_default_registration_email_content',
43
+ 'wppb_admin_emailc_registration_with_admin_approval_email_subject',
44
+ 'wppb_admin_emailc_registration_with_admin_approval_email_content',
45
+ 'wppb_admin_emailc_user_password_reset_email_subject',
46
+ 'wppb_admin_emailc_user_password_reset_email_content',
47
+ // Email Customizer for Users
48
+ 'wppb_user_emailc_default_registration_email_subject',
49
+ 'wppb_user_emailc_default_registration_email_content',
50
+ 'wppb_user_emailc_registr_w_email_confirm_email_subject',
51
+ 'wppb_user_emailc_registr_w_email_confirm_email_content',
52
+ 'wppb_user_emailc_registration_with_admin_approval_email_subject',
53
+ 'wppb_user_emailc_registration_with_admin_approval_email_content',
54
+ 'wppb_user_emailc_admin_approval_notif_approved_email_subject',
55
+ 'wppb_user_emailc_admin_approval_notif_approved_email_content',
56
+ 'wppb_user_emailc_admin_approval_notif_unapproved_email_subject',
57
+ 'wppb_user_emailc_admin_approval_notif_unapproved_email_content',
58
+ 'wppb_user_emailc_reset_email_subject',
59
+ 'wppb_user_emailc_reset_email_content',
60
+ 'wppb_user_emailc_reset_success_email_subject',
61
+ 'wppb_user_emailc_reset_success_email_content',
62
+ 'wppb_user_emailc_change_email_address_subject',
63
+ 'wppb_user_emailc_change_email_address_content',
64
+ // Custom Redirects
65
+ 'wppb_cr_user',
66
+ 'wppb_cr_role',
67
+ 'wppb_cr_global',
68
+ 'wppb_cr_default_wp_pages',
69
+ 'customRedirectSettings', // this is the old version of custom redirects, we only keep this for backwards compatibility
70
+ // Private Website
71
+ 'wppb_private_website_settings',
72
+ // Add-on: Multi-Step Forms
73
+ 'wppb_msf_options',
74
+ 'wppb_msf_break_points',
75
+ 'wppb_msf_tab_titles',
76
+ // Add-on: Social Connect
77
+ 'wppb_social_connect_settings',
78
+ // Add-on: bbPress
79
+ 'wppb_bbpress_settings',
80
+ // Add-on: BuddyPress
81
+ 'wppb_buddypress_settings',
82
+ // Add-on: Campaign Monitor
83
+ 'wppb_cmi_settings',
84
+ 'wppb_cmi_api_key_validated',
85
+ // Add-on: MailChimp
86
+ 'wppb_mci_settings',
87
+ 'wppb_mailchimp_api_key_validated',
88
+ // Add-on: WooSync
89
+ 'wppb_woosync_settings',
90
+ // Add-on: Toolbox
91
+ 'wppb_toolbox_forms_settings',
92
+ 'wppb_toolbox_fields_settings',
93
+ 'wppb_toolbox_userlisting_settings',
94
+ 'wppb_toolbox_shortcodes_settings',
95
+ ),
96
+ 'cpts' => array(
97
+ // User Listing
98
+ 'wppb-ul-cpt',
99
+ // Register Forms
100
+ 'wppb-rf-cpt',
101
+ // Edit Profile Forms
102
+ 'wppb-epf-cpt',
103
+ )
104
+ );
105
+
106
+ wppb_pbie_add_repeater_meta_names($pbie_args);
107
+
108
+ $pb_prefix = 'PB_';
109
+ $pbie_json_export = new WPPB_ImpEx_Export( $pbie_args );
110
+ $pbie_json_export->download_to_json_format( $pb_prefix );
111
+ }
112
+ }
113
+
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
+ }
123
+
124
+ function wppb_pbie_add_repeater_meta_names( &$args ) {
125
+ $fields = get_option('wppb_manage_fields');
126
+
127
+ foreach ($fields as $field) {
128
+ if ($field['field'] == 'Repeater')
129
+ $args['options'][] = $field['meta-name'];
130
+ }
131
+ }
add-ons-free/import-export/pbie-import.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* include import class */
4
+ require_once 'inc/class-pbie-import.php';
5
+
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',
13
+ 'wppb-epf-cpt'
14
+ );
15
+
16
+ $pbie_json_upload = new WPPB_ImpEx_Import( $pbie_cpts );
17
+ $pbie_json_upload->upload_json_file();
18
+ /* show error/success messages */
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
42
+ }
add-ons-free/labels-edit/assets/chosen/chosen-sprite.png ADDED
Binary file
add-ons-free/labels-edit/assets/chosen/chosen-sprite@2x.png ADDED
Binary file
add-ons-free/labels-edit/assets/chosen/chosen.css ADDED
@@ -0,0 +1,450 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ Chosen, a Select Box Enhancer for jQuery and Prototype
3
+ by Patrick Filler for Harvest, http://getharvest.com
4
+
5
+ Version 1.4.2
6
+ Full source at https://github.com/harvesthq/chosen
7
+ Copyright (c) 2011-2015 Harvest http://getharvest.com
8
+
9
+ MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
10
+ This file is generated by `grunt build`, do not edit it by hand.
11
+ */
12
+
13
+ /* @group Base */
14
+ .chosen-container {
15
+ position: relative;
16
+ display: inline-block;
17
+ vertical-align: middle;
18
+ font-size: 13px;
19
+ zoom: 1;
20
+ *display: inline;
21
+ -webkit-user-select: none;
22
+ -moz-user-select: none;
23
+ user-select: none;
24
+ }
25
+ .chosen-container * {
26
+ -webkit-box-sizing: border-box;
27
+ -moz-box-sizing: border-box;
28
+ box-sizing: border-box;
29
+ }
30
+ .chosen-container .chosen-drop {
31
+ position: absolute;
32
+ top: 100%;
33
+ left: -9999px;
34
+ z-index: 1010;
35
+ width: 100%;
36
+ border: 1px solid #aaa;
37
+ border-top: 0;
38
+ background: #fff;
39
+ box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
40
+ }
41
+ .chosen-container.chosen-with-drop .chosen-drop {
42
+ left: 0;
43
+ }
44
+ .chosen-container a {
45
+ cursor: pointer;
46
+ }
47
+ .chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
48
+ margin-right: 4px;
49
+ overflow: hidden;
50
+ white-space: nowrap;
51
+ text-overflow: ellipsis;
52
+ font-weight: normal;
53
+ color: #999999;
54
+ }
55
+ .chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
56
+ content: ":";
57
+ padding-left: 2px;
58
+ vertical-align: top;
59
+ }
60
+
61
+ /* @end */
62
+ /* @group Single Chosen */
63
+ .chosen-container-single .chosen-single {
64
+ position: relative;
65
+ display: block;
66
+ overflow: hidden;
67
+ padding: 0 0 0 8px;
68
+ height: 25px;
69
+ border: 1px solid #aaa;
70
+ border-radius: 5px;
71
+ background-color: #fff;
72
+ background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
73
+ background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
74
+ background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
75
+ background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
76
+ background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
77
+ background-clip: padding-box;
78
+ box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
79
+ color: #444;
80
+ text-decoration: none;
81
+ white-space: nowrap;
82
+ line-height: 24px;
83
+ }
84
+ .chosen-container-single .chosen-default {
85
+ color: #999;
86
+ }
87
+ .chosen-container-single .chosen-single span {
88
+ display: block;
89
+ overflow: hidden;
90
+ margin-right: 26px;
91
+ text-overflow: ellipsis;
92
+ white-space: nowrap;
93
+ }
94
+ .chosen-container-single .chosen-single-with-deselect span {
95
+ margin-right: 38px;
96
+ }
97
+ .chosen-container-single .chosen-single abbr {
98
+ position: absolute;
99
+ top: 6px;
100
+ right: 26px;
101
+ display: block;
102
+ width: 12px;
103
+ height: 12px;
104
+ background: url('chosen-sprite.png') -42px 1px no-repeat;
105
+ font-size: 1px;
106
+ }
107
+ .chosen-container-single .chosen-single abbr:hover {
108
+ background-position: -42px -10px;
109
+ }
110
+ .chosen-container-single.chosen-disabled .chosen-single abbr:hover {
111
+ background-position: -42px -10px;
112
+ }
113
+ .chosen-container-single .chosen-single div {
114
+ position: absolute;
115
+ top: 0;
116
+ right: 0;
117
+ display: block;
118
+ width: 18px;
119
+ height: 100%;
120
+ }
121
+ .chosen-container-single .chosen-single div b {
122
+ display: block;
123
+ width: 100%;
124
+ height: 100%;
125
+ background: url('chosen-sprite.png') no-repeat 0px 2px;
126
+ }
127
+ .chosen-container-single .chosen-search {
128
+ position: relative;
129
+ z-index: 1010;
130
+ margin: 0;
131
+ padding: 3px 4px;
132
+ white-space: nowrap;
133
+ }
134
+ .chosen-container-single .chosen-search input[type="text"] {
135
+ margin: 1px 0;
136
+ padding: 4px 20px 4px 5px;
137
+ width: 100%;
138
+ height: auto;
139
+ outline: 0;
140
+ border: 1px solid #aaa;
141
+ background: white url('chosen-sprite.png') no-repeat 100% -20px;
142
+ background: url('chosen-sprite.png') no-repeat 100% -20px;
143
+ font-size: 1em;
144
+ font-family: sans-serif;
145
+ line-height: normal;
146
+ border-radius: 0;
147
+ }
148
+ .chosen-container-single .chosen-drop {
149
+ margin-top: -1px;
150
+ border-radius: 0 0 4px 4px;
151
+ background-clip: padding-box;
152
+ }
153
+ .chosen-container-single.chosen-container-single-nosearch .chosen-search {
154
+ position: absolute;
155
+ left: -9999px;
156
+ }
157
+
158
+ /* @end */
159
+ /* @group Results */
160
+ .chosen-container .chosen-results {
161
+ color: #444;
162
+ position: relative;
163
+ overflow-x: hidden;
164
+ overflow-y: auto;
165
+ margin: 0 4px 4px 0;
166
+ padding: 0 0 0 4px;
167
+ max-height: 240px;
168
+ -webkit-overflow-scrolling: touch;
169
+ }
170
+ .chosen-container .chosen-results li {
171
+ display: none;
172
+ margin: 0;
173
+ padding: 5px 6px;
174
+ list-style: none;
175
+ line-height: 15px;
176
+ word-wrap: break-word;
177
+ -webkit-touch-callout: none;
178
+ }
179
+ .chosen-container .chosen-results li.active-result {
180
+ display: list-item;
181
+ cursor: pointer;
182
+ }
183
+ .chosen-container .chosen-results li.disabled-result {
184
+ display: list-item;
185
+ color: #ccc;
186
+ cursor: default;
187
+ }
188
+ .chosen-container .chosen-results li.highlighted {
189
+ background-color: #3875d7;
190
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
191
+ background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
192
+ background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
193
+ background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
194
+ background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
195
+ color: #fff;
196
+ }
197
+ .chosen-container .chosen-results li.no-results {
198
+ color: #777;
199
+ display: list-item;
200
+ background: #f4f4f4;
201
+ }
202
+ .chosen-container .chosen-results li.group-result {
203
+ display: list-item;
204
+ font-weight: bold;
205
+ cursor: default;
206
+ }
207
+ .chosen-container .chosen-results li.group-option {
208
+ padding-left: 15px;
209
+ }
210
+ .chosen-container .chosen-results li em {
211
+ font-style: normal;
212
+ text-decoration: underline;
213
+ }
214
+
215
+ /* @end */
216
+ /* @group Multi Chosen */
217
+ .chosen-container-multi .chosen-choices {
218
+ position: relative;
219
+ overflow: hidden;
220
+ margin: 0;
221
+ padding: 0 5px;
222
+ width: 100%;
223
+ height: auto !important;
224
+ height: 1%;
225
+ border: 1px solid #aaa;
226
+ background-color: #fff;
227
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
228
+ background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
229
+ background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
230
+ background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
231
+ background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
232
+ cursor: text;
233
+ }
234
+ .chosen-container-multi .chosen-choices li {
235
+ float: left;
236
+ list-style: none;
237
+ }
238
+ .chosen-container-multi .chosen-choices li.search-field {
239
+ margin: 0;
240
+ padding: 0;
241
+ white-space: nowrap;
242
+ }
243
+ .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
244
+ margin: 1px 0;
245
+ padding: 0;
246
+ height: 25px;
247
+ outline: 0;
248
+ border: 0 !important;
249
+ background: transparent !important;
250
+ box-shadow: none;
251
+ color: #999;
252
+ font-size: 100%;
253
+ font-family: sans-serif;
254
+ line-height: normal;
255
+ border-radius: 0;
256
+ }
257
+ .chosen-container-multi .chosen-choices li.search-choice {
258
+ position: relative;
259
+ margin: 3px 5px 3px 0;
260
+ padding: 3px 20px 3px 5px;
261
+ border: 1px solid #aaa;
262
+ max-width: 100%;
263
+ border-radius: 3px;
264
+ background-color: #eeeeee;
265
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
266
+ background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
267
+ background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
268
+ background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
269
+ background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
270
+ background-size: 100% 19px;
271
+ background-repeat: repeat-x;
272
+ background-clip: padding-box;
273
+ box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
274
+ color: #333;
275
+ line-height: 13px;
276
+ cursor: default;
277
+ }
278
+ .chosen-container-multi .chosen-choices li.search-choice span {
279
+ word-wrap: break-word;
280
+ }
281
+ .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
282
+ position: absolute;
283
+ top: 4px;
284
+ right: 3px;
285
+ display: block;
286
+ width: 12px;
287
+ height: 12px;
288
+ background: url('chosen-sprite.png') -42px 1px no-repeat;
289
+ font-size: 1px;
290
+ }
291
+ .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
292
+ background-position: -42px -10px;
293
+ }
294
+ .chosen-container-multi .chosen-choices li.search-choice-disabled {
295
+ padding-right: 5px;
296
+ border: 1px solid #ccc;
297
+ background-color: #e4e4e4;
298
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
299
+ background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
300
+ background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
301
+ background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
302
+ background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
303
+ color: #666;
304
+ }
305
+ .chosen-container-multi .chosen-choices li.search-choice-focus {
306
+ background: #d4d4d4;
307
+ }
308
+ .chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
309
+ background-position: -42px -10px;
310
+ }
311
+ .chosen-container-multi .chosen-results {
312
+ margin: 0;
313
+ padding: 0;
314
+ }
315
+ .chosen-container-multi .chosen-drop .result-selected {
316
+ display: list-item;
317
+ color: #ccc;
318
+ cursor: default;
319
+ }
320
+
321
+ /* @end */
322
+ /* @group Active */
323
+ .chosen-container-active .chosen-single {
324
+ border: 1px solid #5897fb;
325
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
326
+ }
327
+ .chosen-container-active.chosen-with-drop .chosen-single {
328
+ border: 1px solid #aaa;
329
+ -moz-border-radius-bottomright: 0;
330
+ border-bottom-right-radius: 0;
331
+ -moz-border-radius-bottomleft: 0;
332
+ border-bottom-left-radius: 0;
333
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
334
+ background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%);
335
+ background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%);
336
+ background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%);
337
+ background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
338
+ box-shadow: 0 1px 0 #fff inset;
339
+ }
340
+ .chosen-container-active.chosen-with-drop .chosen-single div {
341
+ border-left: none;
342
+ background: transparent;
343
+ }
344
+ .chosen-container-active.chosen-with-drop .chosen-single div b {
345
+ background-position: -18px 2px;
346
+ }
347
+ .chosen-container-active .chosen-choices {
348
+ border: 1px solid #5897fb;
349
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
350
+ }
351
+ .chosen-container-active .chosen-choices li.search-field input[type="text"] {
352
+ color: #222 !important;
353
+ }
354
+
355
+ /* @end */
356
+ /* @group Disabled Support */
357
+ .chosen-disabled {
358
+ opacity: 0.5 !important;
359
+ cursor: default;
360
+ }
361
+ .chosen-disabled .chosen-single {
362
+ cursor: default;
363
+ }
364
+ .chosen-disabled .chosen-choices .search-choice .search-choice-close {
365
+ cursor: default;
366
+ }
367
+
368
+ /* @end */
369
+ /* @group Right to Left */
370
+ .chosen-rtl {
371
+ text-align: right;
372
+ }
373
+ .chosen-rtl .chosen-single {
374
+ overflow: visible;
375
+ padding: 0 8px 0 0;
376
+ }
377
+ .chosen-rtl .chosen-single span {
378
+ margin-right: 0;
379
+ margin-left: 26px;
380
+ direction: rtl;
381
+ }
382
+ .chosen-rtl .chosen-single-with-deselect span {
383
+ margin-left: 38px;
384
+ }
385
+ .chosen-rtl .chosen-single div {
386
+ right: auto;
387
+ left: 3px;
388
+ }
389
+ .chosen-rtl .chosen-single abbr {
390
+ right: auto;
391
+ left: 26px;
392
+ }
393
+ .chosen-rtl .chosen-choices li {
394
+ float: right;
395
+ }
396
+ .chosen-rtl .chosen-choices li.search-field input[type="text"] {
397
+ direction: rtl;
398
+ }
399
+ .chosen-rtl .chosen-choices li.search-choice {
400
+ margin: 3px 5px 3px 0;
401
+ padding: 3px 5px 3px 19px;
402
+ }
403
+ .chosen-rtl .chosen-choices li.search-choice .search-choice-close {
404
+ right: auto;
405
+ left: 4px;
406
+ }
407
+ .chosen-rtl.chosen-container-single-nosearch .chosen-search,
408
+ .chosen-rtl .chosen-drop {
409
+ left: 9999px;
410
+ }
411
+ .chosen-rtl.chosen-container-single .chosen-results {
412
+ margin: 0 0 4px 4px;
413
+ padding: 0 4px 0 0;
414
+ }
415
+ .chosen-rtl .chosen-results li.group-option {
416
+ padding-right: 15px;
417
+ padding-left: 0;
418
+ }
419
+ .chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
420
+ border-right: none;
421
+ }
422
+ .chosen-rtl .chosen-search input[type="text"] {
423
+ padding: 4px 5px 4px 20px;
424
+ background: white url('chosen-sprite.png') no-repeat -30px -20px;
425
+ background: url('chosen-sprite.png') no-repeat -30px -20px;
426
+ direction: rtl;
427
+ }
428
+ .chosen-rtl.chosen-container-single .chosen-single div b {
429
+ background-position: 6px 2px;
430
+ }
431
+ .chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
432
+ background-position: -12px 2px;
433
+ }
434
+
435
+ /* @end */
436
+ /* @group Retina compatibility */
437
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
438
+ .chosen-rtl .chosen-search input[type="text"],
439
+ .chosen-container-single .chosen-single abbr,
440
+ .chosen-container-single .chosen-single div b,
441
+ .chosen-container-single .chosen-search input[type="text"],
442
+ .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
443
+ .chosen-container .chosen-results-scroll-down span,
444
+ .chosen-container .chosen-results-scroll-up span {
445
+ background-image: url('chosen-sprite@2x.png') !important;
446
+ background-size: 52px 37px !important;
447
+ background-repeat: no-repeat !important;
448
+ }
449
+ }
450
+ /* @end */
add-ons-free/labels-edit/assets/chosen/chosen.jquery.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* Chosen v1.4.2 | (c) 2011-2015 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */
2
+ (function(){var a,AbstractChosen,Chosen,SelectParser,b,c={}.hasOwnProperty,d=function(a,b){function d(){this.constructor=a}for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),title:a.title?a.title:void 0,children:0,disabled:a.disabled,classes:a.className}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,title:a.title?a.title:void 0,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,group_label:null!=b?this.parsed[b].label:null,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&amp;"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.choice_label=function(a){return this.include_group_label_in_selected&&null!=a.group_label?"<b class='group-name'>"+a.group_label+"</b>"+a.html:a.html},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(c)));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.style.cssText=a.style,c.setAttribute("data-option-array-index",a.array_index),c.innerHTML=a.search_text,a.title&&(c.title=a.title),this.outerHTML(c)):"":""},AbstractChosen.prototype.result_add_group=function(a){var b,c;return a.search_match||a.group_match?a.active_options>0?(b=[],b.push("group-result"),a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.innerHTML=a.search_text,a.title&&(c.title=a.title),this.outerHTML(c)):"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.reset_single_select_options=function(){var a,b,c,d,e;for(d=this.results_data,e=[],b=0,c=d.length;c>b;b++)a=d[b],a.selected?e.push(a.selected=!1):e.push(void 0);return e},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l;for(this.no_results_clear(),d=0,f=this.get_search_text(),a=f.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),i=new RegExp(a,"i"),c=this.get_search_regex(a),l=this.results_data,j=0,k=l.length;k>j;j++)b=l[j],b.search_match=!1,e=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(e=this.results_data[b.group_array_index],0===e.active_options&&e.search_match&&(d+=1),e.active_options+=1),b.search_text=b.group?b.label:b.html,(!b.group||this.group_search)&&(b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(d+=1),b.search_match?(f.length&&(g=b.search_text.search(i),h=b.search_text.substr(0,g+f.length)+"</em>"+b.search_text.substr(g+f.length),b.search_text=h.substr(0,g)+"<em>"+h.substr(g)),null!=e&&(e.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>d&&f.length?(this.update_results_content(""),this.no_results(f)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.get_search_regex=function(a){var b;return b=this.search_contains?"":"^",new RegExp(b+a,"i")},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.clipboard_event_checker=function(){var a=this;return setTimeout(function(){return a.results_search()},50)},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.prototype.search_results_touchstart=function(a){return this.touch_started=!0,this.search_results_mouseover(a)},AbstractChosen.prototype.search_results_touchmove=function(a){return this.touch_started=!1,this.search_results_mouseout(a)},AbstractChosen.prototype.search_results_touchend=function(a){return this.touch_started?this.search_results_mouseup(a):void 0},AbstractChosen.prototype.outerHTML=function(a){var b;return a.outerHTML?a.outerHTML:(b=document.createElement("div"),b.appendChild(a),b.innerHTML)},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d instanceof Chosen?d.destroy():d instanceof Chosen||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("<div />",c),this.is_multiple?this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>'):this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>'),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},Chosen.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("touchstart.chosen",function(b){return a.container_mousedown(b),b.preventDefault()}),this.container.bind("touchend.chosen",function(b){return a.container_mouseup(b),b.preventDefault()}),this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.search_results.bind("touchstart.chosen",function(b){a.search_results_touchstart(b)}),this.search_results.bind("touchmove.chosen",function(b){a.search_results_touchmove(b)}),this.search_results.bind("touchend.chosen",function(b){a.search_results_touchend(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.form_field_jq.bind("chosen:close.chosen",function(b){a.input_blur(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.search_field.bind("cut.chosen",function(b){a.clipboard_event_checker(b)}),this.search_field.bind("paste.chosen",function(b){a.clipboard_event_checker(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(this.container[0].ownerDocument).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b;return a.originalEvent&&(b=a.originalEvent.deltaY||-a.originalEvent.wheelDelta||a.originalEvent.detail),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){var c;return c=a(b.target).closest(".chosen-container"),c.length&&this.container[0]===c[0]?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("<li />",{"class":"search-choice"}).html("<span>"+this.choice_label(b)+"</span>"),b.disabled?c.addClass("search-choice-disabled"):(d=a("<a />",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):this.reset_single_select_options(),b.addClass("result-selected"),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(this.choice_label(c)),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,a.preventDefault(),this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return a("<div/>").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>'),c.find("span").first().html(b),this.search_results.append(c),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:this.results_showing&&a.preventDefault();break;case 32:this.disable_search&&a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("<div />",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}).call(this);
add-ons-free/labels-edit/assets/css/style.css ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #pble-id .mb-right-column{
2
+ overflow: visible;
3
+ }
4
+
5
+ #pble-id .mb-list-entry-fields li{
6
+ overflow: visible;
7
+ }
8
+
9
+ #pble-id .description {
10
+ overflow: hidden;
11
+ max-width: 80%;
12
+ padding-top: 5px;
13
+ font-style: normal;
14
+ }
15
+
16
+ #pble-id .mb-textarea {
17
+ width: 80%;
18
+ max-width: 80%;
19
+ height: 100px;
20
+ }
21
+
22
+ #container_pble thead .wppb-delete-all-fields {
23
+ color: #333;
24
+ text-decoration: underline;
25
+ }
26
+
27
+ #container_pble tbody .wck-delete {
28
+ padding: 8px 16px;
29
+ }
30
+
31
+ #pble-id-side-impexp hr {
32
+ display: block;
33
+ position: relative;
34
+ padding: 0;
35
+ margin: 8px auto;
36
+ height: 0;
37
+ width: 100%;
38
+ max-height: 0;
39
+ font-size: 1px;
40
+ line-height: 0;
41
+ clear: both;
42
+ border: none;
43
+ border-top: 1px solid #d4d4d4;
44
+ border-bottom: 1px solid #eeeeee;
45
+ }
add-ons-free/labels-edit/assets/js/init.js ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery( document ).ready( function() {
2
+ wppb_le_chosen();
3
+ wppb_le_select_option();
4
+ wppb_le_textarea_option();
5
+ } );
6
+
7
+ function wppb_le_chosen() {
8
+ jQuery( ".chosen-select, .mb-select" ).chosen( {
9
+ disable_search_threshold: 5,
10
+ no_results_text: "Nothing found!",
11
+ width: "80%"
12
+ } );
13
+ }
14
+
15
+ function wppb_le_select_option() {
16
+ jQuery( document ).on( 'change', '#pble-label', function() {
17
+ wppb_le_description( jQuery( this ) );
18
+ } );
19
+ }
20
+
21
+ function wppb_le_description( $this ) {
22
+ if( $this.val() == "" ) {
23
+ $this.siblings( '.description' ).text( "Here you will see the default label so you can copy it." );
24
+ } else {
25
+ $this.siblings( '.description' ).text( $this.val() );
26
+ }
27
+ }
28
+
29
+ function wppb_le_textarea_option() {
30
+ jQuery( document ).on( 'change', '.wck-add-form #pble-label', function() {
31
+ wppb_le_textarea( jQuery( this ) );
32
+ } );
33
+ }
34
+
35
+ function wppb_le_textarea( $this ) {
36
+ jQuery( '.wck-add-form .mb-textarea' ).text( $this.val() );
37
+ }
38
+
39
+ function wppb_le_delete_all_fields(event, delete_all_button_id, nonce) {
40
+ event.preventDefault();
41
+ $deleteButton = jQuery('#' + delete_all_button_id);
42
+
43
+ var response = confirm( "Are you sure you want to delete all items?" );
44
+
45
+ if( response == true ) {
46
+ $tableParent = $deleteButton.parents('table');
47
+
48
+ var meta = $tableParent.attr('id').replace('container_', '');
49
+ var post_id = parseInt( $tableParent.attr('post') );
50
+
51
+ $tableParent.parent().css({'opacity':'0.4', 'position':'relative'}).append('<div id="mb-ajax-loading"></div>');
52
+
53
+ jQuery.post( ajaxurl, { action: "pble_delete_all_fields", meta: meta, id: post_id, _ajax_nonce: nonce }, function(response) {
54
+
55
+ /* refresh the list */
56
+ jQuery.post( wppbWckAjaxurl, { action: "wck_refresh_list"+meta, meta: meta, id: post_id}, function(response) {
57
+ jQuery('#container_'+meta).replaceWith(response);
58
+ $tableParent = jQuery('#container_'+meta);
59
+
60
+ $tableParent.find('tbody td').css('width', function(){ return jQuery(this).width() });
61
+
62
+ mb_sortable_elements();
63
+ $tableParent.parent().css('opacity','1');
64
+
65
+ jQuery('#mb-ajax-loading').remove();
66
+ });
67
+
68
+ });
69
+ }
70
+ }
add-ons-free/labels-edit/inc/class-pble-export.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WPPB_LE_Export {
4
+
5
+ protected $args_to_export;
6
+
7
+ /**
8
+ * this will take labels that will be exported from database.
9
+ *
10
+ * @param array $args_to_export labels to export.
11
+ */
12
+ function __construct( $args_to_export ) {
13
+ $this->args_to_export = $args_to_export;
14
+ }
15
+
16
+ /* function to export from database */
17
+ public function export_array() {
18
+ /* export labels from database */
19
+ $all_for_export = array();
20
+ foreach( $this->args_to_export as $labels ) {
21
+ $all_for_export['pble'] = get_option( $labels );
22
+ }
23
+
24
+ return $all_for_export;
25
+ }
26
+
27
+ /* export to json file */
28
+ public function download_to_json_format( $prefix ) {
29
+ $all_for_export = $this->export_array();
30
+
31
+ if( isset( $_POST['pble-export'] ) ) {
32
+ $json = json_encode( $all_for_export );
33
+ $filename = $prefix . date( 'Y-m-d_h.i.s', time() );
34
+ $filename .= '.json';
35
+ header( "Content-Disposition: attachment; filename=$filename" );
36
+ header( 'Content-type: application/json' );
37
+ header( 'Content-Length: ' . mb_strlen( $json ) );
38
+ header( 'Connection: close' );
39
+ echo $json;
40
+ exit;
41
+ }
42
+ }
43
+ }
add-ons-free/labels-edit/inc/class-pble-import.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WPPB_LE_Import {
4
+
5
+ protected $args_to_import;
6
+ public $import_messages = array();
7
+ private $j = '0';
8
+
9
+ /**
10
+ * this will take labels that will be imported to database.
11
+ *
12
+ * @param array $args_to_import labels to import.
13
+ */
14
+ function __construct( $args_to_import ) {
15
+ $this->args_to_import = $args_to_import;
16
+ }
17
+
18
+ /**
19
+ * this will save imported json.
20
+ *
21
+ * @param string $json_content imported json.
22
+ */
23
+ public function json_to_db( $json_content ) {
24
+ /* decode and put json to array */
25
+ $imported_array_from_json = json_decode( $json_content, true );
26
+ if ( $imported_array_from_json !== NULL ) {
27
+ /* import labels to database */
28
+ foreach( $imported_array_from_json as $key => $value ) {
29
+ if( ! empty( $value ) ) {
30
+ update_option( $key, $value );
31
+ }
32
+ }
33
+ } else {
34
+ $this->import_messages[$this->j]['message'] = __( 'Uploaded file is not valid json!', 'profile-builder' );
35
+ $this->import_messages[$this->j]['type'] = 'error';
36
+ $this->j++;
37
+ }
38
+ }
39
+
40
+ /* upload json file function */
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 ) ) {
48
+ $this->import_messages[$this->j]['message'] = __( 'Import successfully!', 'profile-builder' ) . "</p><p>" . __( 'Page will refresh in 3 seconds...', 'profile-builder' ) . '<META HTTP-EQUIV="refresh" CONTENT="3">';
49
+ $this->import_messages[$this->j]['type'] = 'updated';
50
+ $this->j++;
51
+ flush_rewrite_rules( false );
52
+ }
53
+ } else {
54
+ $this->import_messages[$this->j]['message'] = __( 'Please select a .json file to import!', 'profile-builder' );
55
+ $this->import_messages[$this->j]['type'] = 'error';
56
+ $this->j++;
57
+ }
58
+ }
59
+ }
60
+
61
+ /* messages return function */
62
+ public function get_messages() {
63
+ return $this->import_messages;
64
+ }
65
+ }
add-ons-free/labels-edit/labels-edit.php ADDED
@@ -0,0 +1,420 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ Description: Enables editing of labels from Profile Builder.
5
+ */
6
+
7
+
8
+ /* function that enqueues the necessary scripts */
9
+ function wppb_le_scripts_and_styles( $hook ) {
10
+ if( $hook == 'profile-builder_page_pb-labels-edit' ) {
11
+ wp_enqueue_script( 'pble_init', plugin_dir_url( __FILE__ ) . 'assets/js/init.js', array( 'jquery' ) );
12
+ wp_enqueue_script( 'pble_chosen', plugin_dir_url( __FILE__ ) . 'assets/chosen/chosen.jquery.min.js', array( 'jquery' ) );
13
+ wp_enqueue_style( 'pble_chosen_css', plugin_dir_url( __FILE__ ) . 'assets/chosen/chosen.css' );
14
+ wp_enqueue_style( 'pble_css', plugin_dir_url( __FILE__ ) . 'assets/css/style.css' );
15
+ }
16
+ }
17
+ add_action( 'admin_enqueue_scripts', 'wppb_le_scripts_and_styles' );
18
+
19
+ /* load required files */
20
+ require_once 'potx.php';
21
+ require_once 'inc/class-pble-import.php';
22
+ require_once 'inc/class-pble-export.php';
23
+ //require_once 'assets/lib/wck-api/wordpress-creation-kit.php';
24
+
25
+ /* scan labels on plugin activate if not already scanned */
26
+ function wppb_le_scan_on_plugin_activate() {
27
+ $pble_check = get_option( 'pble_backup', 'not_set' );
28
+
29
+ if( empty( $pble_check ) || $pble_check === 'not_set' ) {
30
+ // use of output buffer to fix "headers already sent" notice on plugin activation
31
+ ob_start();
32
+ wppb_le_scan_labels();
33
+ $output = ob_get_clean();
34
+ }
35
+ }
36
+ register_activation_hook( __FILE__, 'wppb_le_scan_on_plugin_activate' );
37
+
38
+ /* scan pble labels */
39
+ function wppb_le_scan_labels() {
40
+ // create directory iterator
41
+ $ite = new RecursiveDirectoryIterator( WPPB_PLUGIN_DIR );
42
+
43
+ // array with files to get strings from
44
+ $pb_files_to_get = apply_filters( 'pb_files_to_get',
45
+ array(
46
+ 'functions.php',
47
+ 'login.php',
48
+ 'recover.php',
49
+ 'register.php',
50
+ 'logout.php',
51
+ 'class-formbuilder.php',
52
+ 'edit-profile.php',
53
+ 'admin-approval.php',
54
+ 'email-confirmation.php',
55
+ 'userlisting.php',
56
+ 'email.php',
57
+ 'username.php',
58
+ 'password-repeat.php',
59
+ 'profile-builder.catalog.php'
60
+ )
61
+ );
62
+
63
+ global $wppb_strings;
64
+ $wppb_strings = array();
65
+
66
+ // loop through directory and get _e() and __() function calls
67
+ foreach( new RecursiveIteratorIterator( $ite ) as $filename => $current_file ) {
68
+ // http://php.net/manual/en/class.splfileinfo.php
69
+ if( isset( $current_file ) ) {
70
+ $current_file_pathinfo = pathinfo( $current_file );
71
+ if( isset( $current_file_pathinfo['extension'] ) ) {
72
+ if( ! empty( $current_file_pathinfo['extension'] ) && $current_file_pathinfo['extension'] == "php" ) {
73
+ if( in_array( basename( $current_file ), $pb_files_to_get ) ) {
74
+ if( file_exists( $current_file ) ) {
75
+ _wppb_le_potx_process_file( realpath( $current_file ), 0, '_wppb_le_output_str2' );
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+
83
+ update_option( 'pble_backup', $wppb_strings );
84
+ }
85
+
86
+ // populate array with Profile Builder labels
87
+ function _wppb_le_output_str2( $str ) {
88
+ global $wppb_strings;
89
+ if( is_array( $wppb_strings ) && ! in_array( $str, $wppb_strings ) ) {
90
+ $wppb_strings[] = $str;
91
+ }
92
+ }
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
+
100
+ // $edited_labels = get_option( 'pble' );
101
+ // var_dump($edited_labels );
102
+
103
+ }
104
+ 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' );
117
+
118
+ /*
119
+ * change text strings
120
+ *
121
+ * @link http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
122
+ */
123
+ function wppb_le_text_strings( $translated_text, $text, $domain ) {
124
+ $edited_labels = get_option( 'pble' );
125
+
126
+ if( empty( $edited_labels ) || $edited_labels === 'not_set' ) {
127
+ return $translated_text;
128
+ }
129
+
130
+ if( is_array( $edited_labels ) && ! empty( $edited_labels ) ) {
131
+ foreach( $edited_labels as $inner_array ) {
132
+ if( $text === $inner_array['pble-label'] || $text === htmlentities($inner_array['pble-label']) ) {
133
+ $translated_text = wp_kses_post( $inner_array['pble-newlabel'] );
134
+ }
135
+ }
136
+ }
137
+
138
+ return $translated_text;
139
+ }
140
+ add_filter( 'gettext', 'wppb_le_text_strings', 8, 3 );
141
+
142
+ function wppb_le_ngettext_strings( $translated_text, $single, $plural, $number, $domain ){
143
+ if( $domain != 'profile-builder' )
144
+ return $translated_text;
145
+
146
+ $edited_labels = get_option( 'pble' );
147
+
148
+ if( empty( $edited_labels ) || $edited_labels === 'not_set' ) {
149
+ return $translated_text;
150
+ }
151
+
152
+ if( is_array( $edited_labels ) && ! empty( $edited_labels ) ) {
153
+ foreach( $edited_labels as $inner_array ) {
154
+ if( $single === $inner_array['pble-label'] ) {
155
+ $translated_text = wp_kses_post( $inner_array['pble-newlabel'] );
156
+ }
157
+ if( $plural === $inner_array['pble-label'] ) {
158
+ $translated_text = wp_kses_post( $inner_array['pble-newlabel'] );
159
+ }
160
+ }
161
+ }
162
+
163
+ return $translated_text;
164
+ }
165
+ add_filter( 'ngettext', 'wppb_le_text_strings', 8, 5 );
166
+
167
+
168
+ function wppb_le_remove_gettext_filter( $screen ) {
169
+ if( is_object( $screen ) && $screen->id == 'profile-builder_page_pb-labels-edit' ) {
170
+ remove_filter( 'gettext', 'wppb_le_text_strings', 8 );
171
+ }
172
+ }
173
+ add_action( 'current_screen', 'wppb_le_remove_gettext_filter' );
174
+
175
+ function wppb_le_remove_gettext_filter_from_ajax(){
176
+ remove_filter( 'gettext', 'wppb_le_text_strings', 8 );
177
+ }
178
+ add_action('wp_ajax_wck_add_formpble', 'wppb_le_remove_gettext_filter_from_ajax');
179
+ add_action('wp_ajax_wck_refresh_listpble', 'wppb_le_remove_gettext_filter_from_ajax');
180
+ add_action('wp_ajax_wck_refresh_entrypble', 'wppb_le_remove_gettext_filter_from_ajax');
181
+
182
+
183
+ /* PB Labels Edit subpage content function */
184
+ function wppb_le_page() {
185
+ // create Labels Edit page
186
+ $args = array(
187
+ 'menu_title' => __( 'Labels Edit', 'profile-builder' ),
188
+ 'page_title' => __( 'Labels Edit', 'profile-builder' ),
189
+ 'menu_slug' => 'pb-labels-edit',
190
+ 'page_type' => 'submenu_page',
191
+ 'capability' => 'manage_options',
192
+ 'priority' => 5,
193
+ 'parent_slug' => 'profile-builder'
194
+ );
195
+ if( class_exists( 'WCK_Page_Creator_PB' ) ) {
196
+ new WCK_Page_Creator_PB( $args );
197
+ }
198
+
199
+ // array with Profile Builder strings to edit
200
+ $wppb_strings = get_option( 'pble_backup', array() );
201
+ $pble_labels = $wppb_strings;
202
+
203
+
204
+ // array with fields for Edit Labels metabox
205
+ $pble_fields = array(
206
+ array( 'type' => 'select', 'slug' => 'pble-label', 'title' => __( 'Label to Edit', 'profile-builder' ), 'default-option' => true, 'values' => $pble_labels, 'options' => $pble_labels, 'description' => 'Here you will see the default label so you can copy it.' ),
207
+ array( 'type' => 'textarea', 'slug' => 'pble-newlabel', 'title' => __( 'New Label', 'profile-builder' ) ),
208
+ );
209
+
210
+ // create Edit Labels metabox
211
+ $pble_args = array(
212
+ 'metabox_id' => 'pble-id',
213
+ 'metabox_title' => __( 'Edit Labels', 'profile-builder' ),
214
+ 'post_type' => 'pb-labels-edit',
215
+ 'meta_name' => 'pble',
216
+ 'meta_array' => $pble_fields,
217
+ 'context' => 'option'
218
+ );
219
+ if( class_exists( 'Wordpress_Creation_Kit_PB' ) ) {
220
+ new Wordpress_Creation_Kit_PB( $pble_args );
221
+ }
222
+ }
223
+ add_action( 'init', 'wppb_le_page', 11 );
224
+
225
+ // add Rescan side meta-box
226
+ function wppb_le_side_metabox() {
227
+ add_meta_box(
228
+ 'pble-id-side',
229
+ __( 'Rescan Lables', 'profile-builder' ),
230
+ 'wppb_le_rescan_button',
231
+ 'profile-builder_page_pb-labels-edit',
232
+ 'side'
233
+ );
234
+ }
235
+ add_action( 'add_meta_boxes', 'wppb_le_side_metabox' );
236
+
237
+ // Rescan side meta-box content
238
+ function wppb_le_rescan_button() {
239
+ ?>
240
+ <div class="wrap">
241
+ <p>Rescan all Profile Builder labels.</p>
242
+
243
+ <form action="" method="post">
244
+ <input type="submit" class="button-primary" name="rescan" value="Rescan" />
245
+ </form>
246
+ </div>
247
+ <?php
248
+ }
249
+
250
+ // add Informations side meta-box
251
+ function wppb_le_info_side_metabox() {
252
+ add_meta_box(
253
+ 'pble-id-side-info',
254
+ __( 'Informations', 'profile-builder' ),
255
+ 'wppb_le_info',
256
+ 'profile-builder_page_pb-labels-edit',
257
+ 'side'
258
+ );
259
+ }
260
+ add_action( 'add_meta_boxes', 'wppb_le_info_side_metabox' );
261
+
262
+ // Informations side meta-box content
263
+ function wppb_le_info() {
264
+ ?>
265
+ <div class="wrap">
266
+ <p><b>Variables:</b></p>
267
+ <ul>
268
+ <li>%1$s</li>
269
+ <li>%2$s</li>
270
+ <li>%s</li>
271
+ <li>etc.</li>
272
+ </ul>
273
+ <p><b>Place them like in the default string!</b></p>
274
+ <p>Example:</p>
275
+ <p>
276
+ <b>Old Label:</b><br>in %1$d sec, click %2$s.%3$s<br>
277
+ <b>New Label:</b><br>click %2$s.%3$s in %1$d sec<br>
278
+ </p>
279
+ <a href="http://www.cozmoslabs.com/?p=40126" target="_blank">Read more detailed informations</a>
280
+ </div>
281
+ <?php
282
+ }
283
+
284
+ // add Import and Export side meta-box
285
+ function wppb_le_impexp_metabox() {
286
+ add_meta_box(
287
+ 'pble-id-side-impexp',
288
+ __( 'Import and Export Labels', 'profile-builder' ),
289
+ 'wppb_le_impexp_content',
290
+ 'profile-builder_page_pb-labels-edit',
291
+ 'side'
292
+ );
293
+ }
294
+ add_action( 'add_meta_boxes', 'wppb_le_impexp_metabox' );
295
+
296
+ // Import and Export side meta-box content
297
+ function wppb_le_impexp_content() {
298
+ // call import function
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
+ }
325
+
326
+ /* function that check for already edited labels */
327
+ function wppb_le_check_for_errors( $message, $fields, $required_fields, $meta_name, $posted_values, $post_id ) {
328
+ if ( $meta_name == 'pble' ) {
329
+ /* todo: broken check for added fields so you can't edit same label twice - fix it for future version
330
+ $pble_posted_labels = get_option( $meta_name, 'not_set' );
331
+ $posted_labels = array();
332
+
333
+
334
+ if( ! empty( $pble_posted_labels ) ) {
335
+ foreach( $pble_posted_labels as $label ) {
336
+ $posted_labels[] = $label['pble-label'];
337
+ }
338
+
339
+ if( ( in_array( $posted_values['pble-label'], $posted_labels ) ) ) {
340
+ $message = __( "This label is already edited!", 'profile-builder' );
341
+ }
342
+ }
343
+ */
344
+
345
+ if( $posted_values['pble-label'] == '' ) {
346
+ $message = __( "You must select a label to edit!", 'profile-builder' );
347
+ }
348
+ }
349
+ return $message;
350
+ }
351
+ add_filter( 'wck_extra_message', 'wppb_le_check_for_errors', 10, 6 );
352
+
353
+ /* function that change table header */
354
+ function wppb_le_header( $list_header ){
355
+ $delete_all_nonce = wp_create_nonce( 'pble-delete-all-entries' );
356
+
357
+ return '<thead><tr><th class="wck-number">#</th><th class="wck-content">'. __( 'Labels', 'profile-builder' ) .'</th><th class="wck-edit">'. __( 'Edit', 'profile-builder' ) .'</th><th class="wck-delete"><a id="wppb-delete-all-fields" class="wppb-delete-all-fields" onclick="wppb_le_delete_all_fields(event, this.id, \'' . esc_js($delete_all_nonce) . '\')" title="' . __('Delete all', 'profile-builder') . '" href="#">'. __( 'Delete all', 'profile-builder' ) .'</a></th></tr></thead>';
358
+ }
359
+ add_action( 'wck_metabox_content_header_pble', 'wppb_le_header' );
360
+
361
+ /* function that delete all edited labels */
362
+ add_action("wp_ajax_pble_delete_all_fields", 'wppb_le_delete_all_fields_callback' );
363
+ function wppb_le_delete_all_fields_callback(){
364
+ check_ajax_referer( "pble-delete-all-entries" );
365
+
366
+ if( ! empty( $_POST['meta'] ) )
367
+ $meta_name = sanitize_text_field( $_POST['meta'] );
368
+ else
369
+ $meta_name = '';
370
+
371
+ if( $meta_name == 'pble' ) {
372
+ delete_option( 'pble' );
373
+ }
374
+ exit;
375
+ }
376
+
377
+ /* function that calls chosen after refresh */
378
+ function wppb_le_chosen_pble( $id ) {
379
+ echo "<script type=\"text/javascript\">wppb_le_chosen(); wppb_le_description( jQuery( '.update_container_pble .mb-select' ) ); </script>";
380
+ }
381
+ add_action( "wck_ajax_add_form_pble", "wppb_le_chosen_pble" );
382
+ 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
+ );
391
+
392
+ $pble_json_upload = new WPPB_LE_Import( $pble_args );
393
+ $pble_json_upload->upload_json_file();
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
+ }
401
+ }
402
+
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'
413
+ );
414
+
415
+ $pble_prefix = 'PBLE_';
416
+ $pble_json_export = new WPPB_LE_Export( $pble_args );
417
+ $pble_json_export->download_to_json_format( $pble_prefix );
418
+ }
419
+ }
420
+ }
add-ons-free/labels-edit/potx.php ADDED
@@ -0,0 +1,1604 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // $Id: potx.inc,v 1.1.2.17.2.7.2.19.4.1 2009/07/19 12:54:42 goba Exp $
3
+
4
+ /**
5
+ * @file
6
+ * Extraction API used by the web and command line interface.
7
+ *
8
+ * This include file implements the default string and file version
9
+ * storage as well as formatting of POT files for web download or
10
+ * file system level creation. The strings, versions and file contents
11
+ * are handled with global variables to reduce the possible memory overhead
12
+ * and API clutter of passing them around. Custom string and version saving
13
+ * functions can be implemented to use the functionality provided here as an
14
+ * API for Drupal code to translatable string conversion.
15
+ *
16
+ * The potx-cli.php script can be used with this include file as
17
+ * a command line interface to string extraction. The potx.module
18
+ * can be used as a web interface for manual extraction.
19
+ *
20
+ * For a module using potx as an extraction API, but providing more
21
+ * sophisticated functionality on top of it, look into the
22
+ * 'Localization server' module: http://drupal.org/project/l10n_server
23
+ */
24
+
25
+ /**
26
+ * Silence status reports.
27
+ */
28
+ define( 'WPPB_LE_POTX_STATUS_SILENT', 0 );
29
+
30
+ /**
31
+ * Drupal message based status reports.
32
+ */
33
+ define( 'WPPB_LE_POTX_STATUS_MESSAGE', 1 );
34
+
35
+ /**
36
+ * Command line status reporting.
37
+ *
38
+ * Status goes to standard output, errors to standard error.
39
+ */
40
+ define( 'WPPB_LE_POTX_STATUS_CLI', 2 );
41
+
42
+ /**
43
+ * Structured array status logging.
44
+ *
45
+ * Useful for coder review status reporting.
46
+ */
47
+ define( 'WPPB_LE_POTX_STATUS_STRUCTURED', 3 );
48
+
49
+ /**
50
+ * Core parsing mode:
51
+ * - .info files folded into general.pot
52
+ * - separate files generated for modules
53
+ */
54
+ define( 'WPPB_LE_POTX_BUILD_CORE', 0 );
55
+
56
+ /**
57
+ * Multiple files mode:
58
+ * - .info files folded into their module pot files
59
+ * - separate files generated for modules
60
+ */
61
+ define( 'WPPB_LE_POTX_BUILD_MULTIPLE', 1 );
62
+
63
+ /**
64
+ * Single file mode:
65
+ * - all files folded into one pot file
66
+ */
67
+ define( 'WPPB_LE_POTX_BUILD_SINGLE', 2 );
68
+
69
+ /**
70
+ * Save string to both installer and runtime collection.
71
+ */
72
+ define( 'WPPB_LE_POTX_STRING_BOTH', 0 );
73
+
74
+ /**
75
+ * Save string to installer collection only.
76
+ */
77
+ define( 'WPPB_LE_POTX_STRING_INSTALLER', 1 );
78
+
79
+ /**
80
+ * Save string to runtime collection only.
81
+ */
82
+ define( 'WPPB_LE_POTX_STRING_RUNTIME', 2 );
83
+
84
+ /**
85
+ * Parse source files in Drupal 5.x format.
86
+ */
87
+ define( 'WPPB_LE_POTX_API_5', 5 );
88
+
89
+ /**
90
+ * Parse source files in Drupal 6.x format.
91
+ *
92
+ * Changes since 5.x documented at http://drupal.org/node/114774
93
+ */
94
+ define( 'WPPB_LE_POTX_API_6', 6 );
95
+
96
+ /**
97
+ * Parse source files in Drupal 7.x format.
98
+ *
99
+ * Changes since 6.x documented at http://drupal.org/node/224333
100
+ */
101
+ define( 'WPPB_LE_POTX_API_7', 7 );
102
+
103
+ /**
104
+ * When no context is used. Makes it easy to look these up.
105
+ */
106
+ define( 'WPPB_LE_POTX_CONTEXT_NONE', NULL );
107
+
108
+ /**
109
+ * When there was a context identification error.
110
+ */
111
+ define( 'WPPB_LE_POTX_CONTEXT_ERROR', FALSE );
112
+
113
+
114
+ /**
115
+ *
116
+ *
117
+ * Main function that outputs the string to the screen
118
+ *
119
+ * @param $str
120
+ * @return string
121
+ *
122
+ *
123
+ */
124
+ function _wppb_le_output_str ( $str )
125
+ {
126
+
127
+ $args = func_get_args ();
128
+
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
+ }
136
+
137
+ /**
138
+ * Process a file and put extracted information to the given parameters.
139
+ *
140
+ * @param $file_path
141
+ * Comlete path to file to process.
142
+ * @param $strip_prefix
143
+ * An integer denoting the number of chars to strip from filepath for output.
144
+ * @param $save_callback
145
+ * Callback function to use to save the collected strings.
146
+ * @param $version_callback
147
+ * Callback function to use to save collected version numbers.
148
+ * @param $api_version
149
+ * Drupal API version to work with.
150
+ */
151
+ function _wppb_le_potx_process_file ( $file_path, $strip_prefix = 0, $save_callback = '_wppb_le_potx_save_string', $version_callback = '_wppb_le_potx_save_version', $api_version = WPPB_LE_POTX_API_6 )
152
+ {
153
+ global $_wppb_le_potx_tokens, $_wppb_le_potx_lookup;
154
+
155
+ // Figure out the basename and extension to select extraction method.
156
+ $basename = basename ( $file_path );
157
+ $name_parts = pathinfo ( $basename );
158
+
159
+ // Always grab the CVS version number from the code
160
+ $code = file_get_contents ( $file_path );
161
+ $file_name = $strip_prefix > 0 ? substr ( $file_path, $strip_prefix ) : $file_path;
162
+ _wppb_le_potx_find_version_number ( $code, $file_name, $version_callback );
163
+
164
+ // Extract raw PHP language tokens.
165
+ $raw_tokens = token_get_all ( $code );
166
+ unset( $code );
167
+
168
+ // Remove whitespace and possible HTML (the later in templates for example),
169
+ // count line numbers so we can include them in the output.
170
+ $_wppb_le_potx_tokens = array();
171
+ $_wppb_le_potx_lookup = array();
172
+ $token_number = 0;
173
+ $line_number = 1;
174
+ foreach ( $raw_tokens as $token ) {
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',
182
+ '_n', '_nx'
183
+ );
184
+ if ( $token[ 0 ] == T_STRING || ( $token[ 0 ] == T_VARIABLE && in_array ( $token[ 1 ], $src_tokens ) ) ) {
185
+ if ( !isset( $_wppb_le_potx_lookup[ $token[ 1 ] ] ) ) {
186
+ $_wppb_le_potx_lookup[ $token[ 1 ] ] = array();
187
+ }
188
+ $_wppb_le_potx_lookup[ $token[ 1 ] ][ ] = $token_number;
189
+ }
190
+ }
191
+ $_wppb_le_potx_tokens[ ] = $token;
192
+ $token_number++;
193
+ }
194
+ // Collect line numbers.
195
+ if ( is_array ( $token ) ) {
196
+ $line_number += count ( explode ( "\n", $token[ 1 ] ) ) - 1;
197
+ } else {
198
+ $line_number += count ( explode ( "\n", $token ) ) - 1;
199
+ }
200
+ }
201
+ unset( $raw_tokens );
202
+
203
+ // Drupal 7 onwards supports context on t().
204
+ if ( !empty( $src_tokens ) )
205
+ foreach ( $src_tokens as $tk ) {
206
+ _wppb_le_potx_find_t_calls_with_context ( $file_name, $save_callback, $tk );
207
+ }
208
+
209
+ }
210
+
211
+ /**
212
+ * Creates complete file strings with _wppb_le_potx_store()
213
+ *
214
+ * @param $string_mode
215
+ * Strings to generate files for: WPPB_LE_POTX_STRING_RUNTIME or WPPB_LE_POTX_STRING_INSTALLER.
216
+ * @param $build_mode
217
+ * Storage mode used: single, multiple or core
218
+ * @param $force_name
219
+ * Forces a given file name to get used, if single mode is on, without extension
220
+ * @param $save_callback
221
+ * Callback used to save strings previously.
222
+ * @param $version_callback
223
+ * Callback used to save versions previously.
224
+ * @param $header_callback
225
+ * Callback to invoke to get the POT header.
226
+ * @param $template_export_langcode
227
+ * Language code if the template should have language dependent content
228
+ * (like plural formulas and language name) included.
229
+ * @param $translation_export_langcode
230
+ * Language code if translations should also be exported.
231
+ * @param $api_version
232
+ * Drupal API version to work with.
233
+ */
234
+ function _wppb_le_potx_build_files ( $string_mode = WPPB_LE_POTX_STRING_RUNTIME, $build_mode = WPPB_LE_POTX_BUILD_SINGLE, $force_name = 'general', $save_callback = '_wppb_le_potx_save_string', $version_callback = '_wppb_le_potx_save_version', $header_callback = '_wppb_le_potx_get_header', $template_export_langcode = NULL, $translation_export_langcode = NULL, $api_version = WPPB_LE_POTX_API_6 )
235
+ {
236
+ global $_wppb_le_potx_store;
237
+
238
+ // Get strings and versions by reference.
239
+ $strings = $save_callback( NULL, NULL, NULL, 0, $string_mode );
240
+ $versions = $version_callback();
241
+
242
+ // We might not have any string recorded in this string mode.
243
+ if ( !is_array ( $strings ) ) {
244
+ return;
245
+ }
246
+
247
+ foreach ( $strings as $string => $string_info ) {
248
+ foreach ( $string_info as $context => $file_info ) {
249
+ // Build a compact list of files this string occured in.
250
+ $occured = $file_list = array();
251
+ // Look for strings appearing in multiple directories (ie.
252
+ // different subprojects). So we can include them in general.pot.
253
+ $last_location = dirname ( array_shift ( array_keys ( $file_info ) ) );
254
+ $multiple_locations = FALSE;
255
+ foreach ( $file_info as $file => $lines ) {
256
+ $occured[ ] = "$file:" . join ( ';', $lines );
257
+ if ( isset( $versions[ $file ] ) ) {
258
+ $file_list[ ] = $versions[ $file ];
259
+ }
260
+ if ( dirname ( $file ) != $last_location ) {
261
+ $multiple_locations = TRUE;
262
+ }
263
+ $last_location = dirname ( $file );
264
+ }
265
+
266
+ // Mark duplicate strings (both translated in the app and in the installer).
267
+ $comment = join ( " ", $occured );
268
+ if ( strpos ( $comment, '(dup)' ) !== FALSE ) {
269
+ $comment = '(duplicate) ' . str_replace ( '(dup)', '', $comment );
270
+ }
271
+ $output = "#: $comment\n";
272
+
273
+ if ( $build_mode == WPPB_LE_POTX_BUILD_SINGLE ) {
274
+ // File name forcing in single mode.
275
+ $file_name = $force_name;
276
+ } elseif ( strpos ( $comment, '.info' ) ) {
277
+ // Store .info file strings either in general.pot or the module pot file,
278
+ // depending on the mode used.
279
+ $file_name = ( $build_mode == WPPB_LE_POTX_BUILD_CORE ? 'general' : str_replace ( '.info', '.module', $file_name ) );
280
+ } elseif ( $multiple_locations ) {
281
+ // Else if occured more than once, store in general.pot.
282
+ $file_name = 'general';
283
+ } else {
284
+ // Fold multiple files in the same folder into one.
285
+ if ( empty( $last_location ) || $last_location == '.' ) {
286
+ $file_name = 'root';
287
+ } else {
288
+ $file_name = str_replace ( '/', '-', $last_location );
289
+ }
290
+ }
291
+
292
+
293
+ if ( strpos ( $string, "\0" ) !== FALSE ) {
294
+ // Plural strings have a null byte delimited format.
295
+ list( $singular, $plural ) = explode ( "\0", $string );
296
+ $output .= "msgid \"$singular\"\n";
297
+ $output .= "msgid_plural \"$plural\"\n";
298
+ if ( !empty( $context ) ) {
299
+ $output .= "msgctxt \"$context\"\n";
300
+ }
301
+ if ( isset( $translation_export_langcode ) ) {
302
+ $output .= _wppb_le_potx_translation_export ( $translation_export_langcode, $singular, $plural, $api_version );
303
+ } else {
304
+ $output .= "msgstr[0] \"\"\n";
305
+ $output .= "msgstr[1] \"\"\n";
306
+ }
307
+ } else {
308
+ // Simple strings.
309
+ $output .= "msgid \"$string\"\n";
310
+ if ( !empty( $context ) ) {
311
+ $output .= "msgctxt \"$context\"\n";
312
+ }
313
+ if ( isset( $translation_export_langcode ) ) {
314
+ $output .= _wppb_le_potx_translation_export ( $translation_export_langcode, $string, NULL, $api_version );
315
+ } else {
316
+ $output .= "msgstr \"\"\n";
317
+ }
318
+ }
319
+ $output .= "\n";
320
+
321
+ // Store the generated output in the given file storage.
322
+ if ( !isset( $_wppb_le_potx_store[ $file_name ] ) ) {
323
+ $_wppb_le_potx_store[ $file_name ] = array(
324
+ 'header' => $header_callback( $file_name, $template_export_langcode, $api_version ),
325
+ 'sources' => $file_list,
326
+ 'strings' => $output,
327
+ 'count' => 1,
328
+ );
329
+ } else {
330
+ // Maintain a list of unique file names.
331
+ $_wppb_le_potx_store[ $file_name ][ 'sources' ] = array_unique ( array_merge ( $_wppb_le_potx_store[ $file_name ][ 'sources' ], $file_list ) );
332
+ $_wppb_le_potx_store[ $file_name ][ 'strings' ] .= $output;
333
+ $_wppb_le_potx_store[ $file_name ][ 'count' ] += 1;
334
+ }
335
+ }
336
+ }
337
+ }
338
+
339
+ /**
340
+ * Export translations with a specific language.
341
+ *
342
+ * @param $translation_export_langcode
343
+ * Language code if translations should also be exported.
344
+ * @param $string
345
+ * String or singular version if $plural was provided.
346
+ * @param $plural
347
+ * Plural version of singular string.
348
+ * @param $api_version
349
+ * Drupal API version to work with.
350
+ */
351
+ function _wppb_le_potx_translation_export ( $translation_export_langcode, $string, $plural = NULL, $api_version = WPPB_LE_POTX_API_6 )
352
+ {
353
+ include_once 'includes/locale.inc';
354
+
355
+ // Stip out slash escapes.
356
+ $string = stripcslashes ( $string );
357
+
358
+ // Column and table name changed between versions.
359
+ $language_column = $api_version > WPPB_LE_POTX_API_5 ? 'language' : 'locale';
360
+ $language_table = $api_version > WPPB_LE_POTX_API_5 ? 'languages' : 'locales_meta';
361
+
362
+ if ( !isset( $plural ) ) {
363
+ // Single string to look translation up for.
364
+ if ( $translation = db_result ( db_query ( "SELECT t.translation FROM {locales_source} s LEFT JOIN {locales_target} t ON t.lid = s.lid WHERE s.source = '%s' AND t.{$language_column} = '%s'", $string, $translation_export_langcode ) ) ) {
365
+ return 'msgstr ' . _locale_export_string ( $translation );
366
+ }
367
+ return "msgstr \"\"\n";
368
+ } else {
369
+ // String with plural variants. Fill up source string array first.
370
+ $plural = stripcslashes ( $plural );
371
+ $strings = array();
372
+ $number_of_plurals = db_result ( db_query ( 'SELECT plurals FROM {' . $language_table . "} WHERE {$language_column} = '%s'", $translation_export_langcode ) );
373
+ $plural_index = 0;
374
+ while ( $plural_index < $number_of_plurals ) {
375
+ if ( $plural_index == 0 ) {
376
+ // Add the singular version.
377
+ $strings[ ] = $string;
378
+ } elseif ( $plural_index == 1 ) {
379
+ // Only add plural version if required.
380
+ $strings[ ] = $plural;
381
+ } else {
382
+ // More plural versions only if required, with the lookup source
383
+ // string modified as imported into the database.
384
+ $strings[ ] = str_replace ( '@count', '@count[' . $plural_index . ']', $plural );
385
+ }
386
+ $plural_index++;
387
+ }
388
+
389
+ $output = '';
390
+ if ( count ( $strings ) ) {
391
+ // Source string array was done, so export translations.
392
+ foreach ( $strings as $index => $string ) {
393
+ if ( $translation = db_result ( db_query ( "SELECT t.translation FROM {locales_source} s LEFT JOIN {locales_target} t ON t.lid = s.lid WHERE s.source = '%s' AND t.{$language_column} = '%s'", $string, $translation_export_langcode ) ) ) {
394
+ $output .= 'msgstr[' . $index . '] ' . _locale_export_string ( _locale_export_remove_plural ( $translation ) );
395
+ } else {
396
+ $output .= "msgstr[" . $index . "] \"\"\n";
397
+ }
398
+ }
399
+ } else {
400
+ // No plural information was recorded, so export empty placeholders.
401
+ $output .= "msgstr[0] \"\"\n";
402
+ $output .= "msgstr[1] \"\"\n";
403
+ }
404
+ return $output;
405
+ }
406
+ }
407
+
408
+ /**
409
+ * Returns a header generated for a given file
410
+ *
411
+ * @param $file
412
+ * Name of POT file to generate header for
413
+ * @param $template_export_langcode
414
+ * Language code if the template should have language dependent content
415
+ * (like plural formulas and language name) included.
416
+ * @param $api_version
417
+ * Drupal API version to work with.
418
+ */
419
+ function _wppb_le_potx_get_header ( $file, $template_export_langcode = NULL, $api_version = WPPB_LE_POTX_API_6 )
420
+ {
421
+ // We only have language to use if we should export with that langcode.
422
+ $language = NULL;
423
+ if ( isset( $template_export_langcode ) ) {
424
+ $language = db_fetch_object ( db_query ( $api_version > WPPB_LE_POTX_API_5 ? "SELECT language, name, plurals, formula FROM {languages} WHERE language = '%s'" : "SELECT locale, name, plurals, formula FROM {locales_meta} WHERE locale = '%s'", $template_export_langcode ) );
425
+ }
426
+
427
+ $output = '# $' . 'Id' . '$' . "\n";
428
+ $output .= "#\n";
429
+ $output .= '# ' . ( isset( $language ) ? $language->name : 'LANGUAGE' ) . ' translation of Drupal (' . $file . ")\n";
430
+ $output .= "# Copyright YEAR NAME <EMAIL@ADDRESS>\n";
431
+ $output .= "# --VERSIONS--\n";
432
+ $output .= "#\n";
433
+ $output .= "#, fuzzy\n";
434
+ $output .= "msgid \"\"\n";
435
+ $output .= "msgstr \"\"\n";
436
+ $output .= "\"Project-Id-Version: PROJECT VERSION\\n\"\n";
437
+ $output .= '"POT-Creation-Date: ' . date ( "Y-m-d H:iO" ) . "\\n\"\n";
438
+ $output .= '"PO-Revision-Date: ' . ( isset( $language ) ? date ( "Y-m-d H:iO" ) : 'YYYY-mm-DD HH:MM+ZZZZ' ) . "\\n\"\n";
439
+ $output .= "\"Last-Translator: NAME <EMAIL@ADDRESS>\\n\"\n";
440
+ $output .= "\"Language-Team: " . ( isset( $language ) ? $language->name : 'LANGUAGE' ) . " <EMAIL@ADDRESS>\\n\"\n";
441
+ $output .= "\"MIME-Version: 1.0\\n\"\n";
442
+ $output .= "\"Content-Type: text/plain; charset=utf-8\\n\"\n";
443
+ $output .= "\"Content-Transfer-Encoding: 8bit\\n\"\n";
444
+ if ( isset( $language->formula ) && isset( $language->plurals ) ) {
445
+ $output .= "\"Plural-Forms: nplurals=" . $language->plurals . "; plural=" . strtr ( $language->formula, array( '$' => '' ) ) . ";\\n\"\n\n";
446
+ } else {
447
+ $output .= "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n\n";
448
+ }
449
+ return $output;
450
+ }
451
+
452
+ /**
453
+ * Write out generated files to the current folder.
454
+ *
455
+ * @param $http_filename
456
+ * File name for content-disposition header in case of usage
457
+ * over HTTP. If not given, files are written to the local filesystem.
458
+ * @param $content_disposition
459
+ * See RFC2183. 'inline' or 'attachment', with a default of
460
+ * 'inline'. Only used if $http_filename is set.
461
+ * @todo
462
+ * Look into whether multiple files can be output via HTTP.
463
+ */
464
+ function _wppb_le_potx_write_files ( $http_filename = NULL, $content_disposition = 'inline' )
465
+ {
466
+ global $_wppb_le_potx_store;
467
+
468
+ // Generate file lists and output files.
469
+ if ( is_array ( $_wppb_le_potx_store ) ) {
470
+ foreach ( $_wppb_le_potx_store as $file => $contents ) {
471
+ // Build replacement for file listing.
472
+ if ( count ( $contents[ 'sources' ] ) > 1 ) {
473
+ $filelist = "Generated from files:\n# " . join ( "\n# ", $contents[ 'sources' ] );
474
+ } elseif ( count ( $contents[ 'sources' ] ) == 1 ) {
475
+ $filelist = "Generated from file: " . join ( '', $contents[ 'sources' ] );
476
+ } else {
477
+ $filelist = 'No version information was available in the source files.';
478
+ }
479
+ $output = str_replace ( '--VERSIONS--', $filelist, $contents[ 'header' ] . $contents[ 'strings' ] );
480
+
481
+ if ( $http_filename ) {
482
+ // HTTP output.
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.
490
+ $file = str_replace ( '.', '-', preg_replace ( '![/]?([a-zA-Z_0-9]*/)*!', '', $file ) ) . '.pot';
491
+ $fp = fopen ( $file, 'w' );
492
+ fwrite ( $fp, $output );
493
+ fclose ( $fp );
494
+ }
495
+ }
496
+ }
497
+ }
498
+
499
+ /**
500
+ * Escape quotes in a strings depending on the surrounding
501
+ * quote type used.
502
+ *
503
+ * @param $str
504
+ * The strings to escape
505
+ */
506
+ function _wppb_le_potx_format_quoted_string ( $str )
507
+ {
508
+ $quo = substr ( $str, 0, 1 );
509
+ $str = substr ( $str, 1, -1 );
510
+ if ( $quo == '"' ) {
511
+ $str = stripcslashes ( $str );
512
+ } else {
513
+ $str = strtr ( $str, array( "\\'" => "'", "\\\\" => "\\" ) );
514
+ }
515
+
516
+ return addcslashes ( $str, "\0..\37\\\"" );
517
+ }
518
+
519
+ /**
520
+ * Output a marker error with an extract of where the error was found.
521
+ *
522
+ * @param $file
523
+ * Name of file
524
+ * @param $line
525
+ * Line number of error
526
+ * @param $marker
527
+ * Function name with which the error was identified
528
+ * @param $ti
529
+ * Index on the token array
530
+ * @param $error
531
+ * Helpful error message for users.
532
+ * @param $docs_url
533
+ * Documentation reference.
534
+ */
535
+ function _wppb_le_potx_marker_error ( $file, $line, $marker, $ti, $error, $docs_url = NULL )
536
+ {
537
+ global $_wppb_le_potx_tokens;
538
+
539
+ $tokens = '';
540
+ $ti += 2;
541
+ $tc = count ( $_wppb_le_potx_tokens );
542
+ $par = 1;
543
+ while ( ( ( $tc - $ti ) > 0 ) && $par ) {
544
+ if ( is_array ( $_wppb_le_potx_tokens[ $ti ] ) ) {
545
+ $tokens .= $_wppb_le_potx_tokens[ $ti ][ 1 ];
546
+ } else {
547
+ $tokens .= $_wppb_le_potx_tokens[ $ti ];
548
+ if ( $_wppb_le_potx_tokens[ $ti ] == "(" ) {
549
+ $par++;
550
+ } else if ( $_wppb_le_potx_tokens[ $ti ] == ")" ) {
551
+ $par--;
552
+ }
553
+ }
554
+ $ti++;
555
+ }
556
+ _wppb_le_potx_status ( 'error', $error, $file, $line, $marker . '(' . $tokens, $docs_url );
557
+ }
558
+
559
+ /**
560
+ * Status notification function.
561
+ *
562
+ * @param $op
563
+ * Operation to perform or type of message text.
564
+ * - set: sets the reporting mode to $value
565
+ * use one of the POTX_STATUS_* constants as $value
566
+ * - get: returns the list of error messages recorded
567
+ * if $value is true, it also clears the internal message cache
568
+ * - error: sends an error message in $value with optional $file and $line
569
+ * - status: sends a status message in $value
570
+ * @param $value
571
+ * Value depending on $op.
572
+ * @param $file
573
+ * Name of file the error message is related to.
574
+ * @param $line
575
+ * Number of line the error message is related to.
576
+ * @param $excerpt
577
+ * Excerpt of the code in question, if available.
578
+ * @param $docs_url
579
+ * URL to the guidelines to follow to fix the problem.
580
+ */
581
+ function _wppb_le_potx_status ( $op, $value = NULL, $file = NULL, $line = NULL, $excerpt = NULL, $docs_url = NULL )
582
+ {
583
+ static $mode = WPPB_LE_POTX_STATUS_CLI;
584
+ static $messages = array();
585
+
586
+ switch ( $op ) {
587
+ case 'set':
588
+ // Setting the reporting mode.
589
+ $mode = $value;
590
+ return;
591
+
592
+ case 'get':
593
+ // Getting the errors. Optionally deleting the messages.
594
+ $errors = $messages;
595
+ if ( !empty( $value ) ) {
596
+ $messages = array();
597
+ }
598
+ return $errors;
599
+
600
+ case 'error':
601
+ case 'status':
602
+
603
+ // Location information is required in 3 of the four possible reporting
604
+ // modes as part of the error message. The structured mode needs the
605
+ // file, line and excerpt info separately, not in the text.
606
+ $location_info = '';
607
+ if ( ( $mode != WPPB_LE_POTX_STATUS_STRUCTURED ) && isset( $file ) ) {
608
+ if ( isset( $line ) ) {
609
+ if ( isset( $excerpt ) ) {
610
+ $location_info = t ( 'At %excerpt in %file on line %line.', array( '%excerpt' => $excerpt, '%file' => $file, '%line' => $line ) );
611
+ } else {
612
+ $location_info = t ( 'In %file on line %line.', array( '%file' => $file, '%line' => $line ) );
613
+ }
614
+ } else {
615
+ if ( isset( $excerpt ) ) {
616
+ $location_info = t ( 'At %excerpt in %file.', array( '%excerpt' => $excerpt, '%file' => $file ) );
617
+ } else {
618
+ $location_info = t ( 'In %file.', array( '%file' => $file ) );
619
+ }
620
+ }
621
+ }
622
+
623
+ // Documentation helpers are provided as readable text in most modes.
624
+ $read_more = '';
625
+ if ( ( $mode != WPPB_LE_POTX_STATUS_STRUCTURED ) && isset( $docs_url ) ) {
626
+ $read_more = ( $mode == WPPB_LE_POTX_STATUS_CLI ) ? t ( 'Read more at @url', array( '@url' => $docs_url ) ) : t ( 'Read more at <a href="@url">@url</a>', array( '@url' => $docs_url ) );
627
+ }
628
+
629
+ // Error message or progress text to display.
630
+ switch ( $mode ) {
631
+ case WPPB_LE_POTX_STATUS_MESSAGE:
632
+ drupal_set_message ( join ( ' ', array( $value, $location_info, $read_more ) ), $op );
633
+ break;
634
+ case WPPB_LE_POTX_STATUS_CLI:
635
+ if ( defined ( 'STDERR' ) && defined ( 'STDOUT' ) ) {
636
+ fwrite ( $op == 'error' ? STDERR : STDOUT, join ( "\n", array( $value, $location_info, $read_more ) ) . "\n\n" );
637
+ }
638
+ break;
639
+ case WPPB_LE_POTX_STATUS_SILENT:
640
+ if ( $op == 'error' ) {
641
+ $messages[ ] = join ( ' ', array( $value, $location_info, $read_more ) );
642
+ }
643
+ break;
644
+ case WPPB_LE_POTX_STATUS_STRUCTURED:
645
+ if ( $op == 'error' ) {
646
+ $messages[ ] = array( $value, $file, $line, $excerpt, $docs_url );
647
+ }
648
+ break;
649
+ }
650
+ return;
651
+ }
652
+ }
653
+
654
+ /**
655
+ * Detect all occurances of t()-like calls.
656
+ *
657
+ * These sequences are searched for:
658
+ * T_STRING("$function_name") + "(" + T_CONSTANT_ENCAPSED_STRING + ")"
659
+ * T_STRING("$function_name") + "(" + T_CONSTANT_ENCAPSED_STRING + ","
660
+ *
661
+ * @param $file
662
+ * Name of file parsed.
663
+ * @param $save_callback
664
+ * Callback function used to save strings.
665
+ * @param function_name
666
+ * The name of the function to look for (could be 't', '$t', 'st'
667
+ * or any other t-like function).
668
+ * @param $string_mode
669
+ * String mode to use: WPPB_LE_POTX_STRING_INSTALLER, WPPB_LE_POTX_STRING_RUNTIME or
670
+ * WPPB_LE_POTX_STRING_BOTH.
671
+ */
672
+ function _wppb_le_potx_find_t_calls ( $file, $save_callback, $function_name = 't', $string_mode = WPPB_LE_POTX_STRING_RUNTIME )
673
+ {
674
+ global $_wppb_le_potx_tokens, $_wppb_le_potx_lookup;
675
+
676
+ // Lookup tokens by function name.
677
+ if ( isset( $_wppb_le_potx_lookup[ $function_name ] ) ) {
678
+ foreach ( $_wppb_le_potx_lookup[ $function_name ] as $ti ) {
679
+ list( $ctok, $par, $mid, $rig ) = array( $_wppb_le_potx_tokens[ $ti ], $_wppb_le_potx_tokens[ $ti + 1 ], $_wppb_le_potx_tokens[ $ti + 2 ], $_wppb_le_potx_tokens[ $ti + 3 ] );
680
+ list( $type, $string, $line ) = $ctok;
681
+ if ( $par == "(" ) {
682
+ if ( in_array ( $rig, array( ")", "," ) )
683
+ && ( is_array ( $mid ) && ( $mid[ 0 ] == T_CONSTANT_ENCAPSED_STRING ) )
684
+ ) {
685
+ // This function is only used for context-less call types.
686
+ $save_callback( _wppb_le_potx_format_quoted_string ( $mid[ 1 ] ), WPPB_LE_POTX_CONTEXT_NONE, $file, $line, $string_mode );
687
+ } else {
688
+ // $function_name() found, but inside is something which is not a string literal.
689
+ _wppb_le_potx_marker_error ( $file, $line, $function_name, $ti, t ( 'The first parameter to @function() should be a literal string. There should be no variables, concatenation, constants or other non-literal strings there.', array( '@function' => $function_name ) ), 'http://drupal.org/node/322732' );
690
+ }
691
+ }
692
+ }
693
+ }
694
+ }
695
+
696
+ /**
697
+ * Detect all occurances of t()-like calls from Drupal 7 (with context).
698
+ *
699
+ * These sequences are searched for:
700
+ * T_STRING("$function_name") + "(" + T_CONSTANT_ENCAPSED_STRING + ")"
701
+ * T_STRING("$function_name") + "(" + T_CONSTANT_ENCAPSED_STRING + ","
702
+ * and then an optional value for the replacements and an optional array
703
+ * for the options with an optional context key.
704
+ *
705
+ * @param $file
706
+ * Name of file parsed.
707
+ * @param $save_callback
708
+ * Callback function used to save strings.
709
+ * @param function_name
710
+ * The name of the function to look for (could be 't', '$t', 'st'
711
+ * or any other t-like function). Drupal 7 only supports context on t().
712
+ * @param $string_mode
713
+ * String mode to use: WPPB_LE_POTX_STRING_INSTALLER, WPPB_LE_POTX_STRING_RUNTIME or
714
+ * WPPB_LE_POTX_STRING_BOTH.
715
+ */
716
+ function _wppb_le_potx_find_t_calls_with_context ( $file, $save_callback, $function_name = '_e', $string_mode = WPPB_LE_POTX_STRING_RUNTIME )
717
+ {
718
+ global $_wppb_le_potx_tokens, $_wppb_le_potx_lookup;
719
+
720
+ // Lookup tokens by function name.
721
+ if ( isset( $_wppb_le_potx_lookup[ $function_name ] ) ) {
722
+ foreach ( $_wppb_le_potx_lookup[ $function_name ] as $ti ) {
723
+
724
+ list( $ctok, $par, $mid, $rig ) = array( $_wppb_le_potx_tokens[ $ti ], $_wppb_le_potx_tokens[ $ti + 1 ], $_wppb_le_potx_tokens[ $ti + 2 ], $_wppb_le_potx_tokens[ $ti + 3 ] );
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 ) )
732
+ ) {
733
+ // By default, there is no context.
734
+ $domain = WPPB_LE_POTX_CONTEXT_NONE;
735
+ if ( $rig == ',' ) {
736
+ // If there was a comma after the string, we need to look forward
737
+ // to try and find the context.
738
+ /*$context = _wppb_le_potx_find_context($ti, $ti + 4, $file, $function_name);*/
739
+
740
+ if ( $function_name == '_x' || $function_name == '_ex' ) {
741
+ $domain_offset = 6;
742
+ $context_offset = 4;
743
+ $text = $mid[ 1 ];
744
+ } elseif ( $function_name == '_n' ) {
745
+ $domain_offset = 10;
746
+ $context_offset = false;
747
+ $text_plural = $_wppb_le_potx_tokens[ $ti + 4 ][ 1 ];
748
+ } elseif ( $function_name == '_nx' ) {
749
+ $domain_offset = 10;
750
+ $context_offset = 8;
751
+ $text_plural = $_wppb_le_potx_tokens[ $ti + 4 ][ 1 ];
752
+ } else {
753
+ $domain_offset = 4;
754
+ $context_offset = false;
755
+ $text = $mid[ 1 ];
756
+ }
757
+
758
+ if ( !isset( $_wppb_le_potx_tokens[ $ti + $domain_offset ][ 1 ] ) ) return false;
759
+
760
+ if ( !preg_match ( '#^(\'|")(.+)#', $_wppb_le_potx_tokens[ $ti + $domain_offset ][ 1 ] ) ) {
761
+ $constant_val = @constant ( $_wppb_le_potx_tokens[ $ti + $domain_offset ][ 1 ] );
762
+ if ( !is_null ( $constant_val ) ) {
763
+ $domain = $constant_val;
764
+ } else {
765
+ if ( function_exists ( $_wppb_le_potx_tokens[ $ti + $domain_offset ][ 1 ] ) ) {
766
+ $domain = @$_wppb_le_potx_tokens[ $ti + $domain_offset ][ 1 ]();
767
+ if ( empty( $domain ) ) {
768
+ return false;
769
+ }
770
+ } else {
771
+ return false;
772
+ }
773
+
774
+ }
775
+ } else {
776
+ $domain = trim ( $_wppb_le_potx_tokens[ $ti + $domain_offset ][ 1 ], "\"' " );
777
+ }
778
+
779
+ // exception for gettext calls with contexts
780
+ if ( false !== $context_offset ) {
781
+ if ( !preg_match ( '#^(\'|")(.+)#', $_wppb_le_potx_tokens[ $ti + $context_offset ][ 1 ] ) ) {
782
+ $constant_val = @constant ( $_wppb_le_potx_tokens[ $ti + $context_offset ][ 1 ] );
783
+ if ( !is_null ( $constant_val ) ) {
784
+ $context = $constant_val;
785
+ } else {
786
+ if ( function_exists ( $_wppb_le_potx_tokens[ $ti + $context_offset ][ 1 ] ) ) {
787
+ $context = @$_wppb_le_potx_tokens[ $ti + $context_offset ][ 1 ]();
788
+ if ( empty( $context ) ) {
789
+ return false;
790
+ }
791
+ } else {
792
+ return false;
793
+ }
794
+ }
795
+ } else {
796
+ $context = trim ( $_wppb_le_potx_tokens[ $ti + $context_offset ][ 1 ], "\"' " );
797
+ }
798
+
799
+ } else {
800
+ $context = false;
801
+ }
802
+
803
+
804
+ }
805
+ if ( $domain !== WPPB_LE_POTX_CONTEXT_ERROR ) {
806
+ // Only save if there was no error in context parsing.
807
+ $save_callback( _wppb_le_potx_format_quoted_string ( $mid[ 1 ] ), $domain, @strval ( $context ), $file, $line, $string_mode );
808
+ if ( isset( $text_plural ) ) {
809
+ $save_callback( _wppb_le_potx_format_quoted_string ( $text_plural ), $domain, $context, $file, $line, $string_mode );
810
+ }
811
+ }
812
+ } else {
813
+ // $function_name() found, but inside is something which is not a string literal.
814
+ _wppb_le_potx_marker_error ( $file, $line, $function_name, $ti, t ( 'The first parameter to @function() should be a literal string. There should be no variables, concatenation, constants or other non-literal strings there.', array( '@function' => $function_name ) ), 'http://drupal.org/node/322732' );
815
+ }
816
+ }
817
+ }
818
+ }
819
+ }
820
+
821
+ /**
822
+ * Detect all occurances of watchdog() calls. Only from Drupal 6.
823
+ *
824
+ * These sequences are searched for:
825
+ * watchdog + "(" + T_CONSTANT_ENCAPSED_STRING + "," +
826
+ * T_CONSTANT_ENCAPSED_STRING + something
827
+ *
828
+ * @param $file
829
+ * Name of file parsed.
830
+ * @param $save_callback
831
+ * Callback function used to save strings.
832
+ */
833
+ function _wppb_le_potx_find_watchdog_calls ( $file, $save_callback )
834
+ {
835
+ global $_wppb_le_potx_tokens, $_wppb_le_potx_lookup;
836
+
837
+ // Lookup tokens by function name.
838
+ if ( isset( $_wppb_le_potx_lookup[ 'watchdog' ] ) ) {
839
+ foreach ( $_wppb_le_potx_lookup[ 'watchdog' ] as $ti ) {
840
+ list( $ctok, $par, $mtype, $comma, $message, $rig ) = array( $_wppb_le_potx_tokens[ $ti ], $_wppb_le_potx_tokens[ $ti + 1 ], $_wppb_le_potx_tokens[ $ti + 2 ], $_wppb_le_potx_tokens[ $ti + 3 ], $_wppb_le_potx_tokens[ $ti + 4 ], $_wppb_le_potx_tokens[ $ti + 5 ] );
841
+ list( $type, $string, $line ) = $ctok;
842
+ if ( $par == '(' ) {
843
+ // Both type and message should be a string literal.
844
+ if ( in_array ( $rig, array( ')', ',' ) ) && $comma == ','
845
+ && ( is_array ( $mtype ) && ( $mtype[ 0 ] == T_CONSTANT_ENCAPSED_STRING ) )
846
+ && ( is_array ( $message ) && ( $message[ 0 ] == T_CONSTANT_ENCAPSED_STRING ) )
847
+ ) {
848
+ // Context is not supported on watchdog().
849
+ $save_callback( _wppb_le_potx_format_quoted_string ( $mtype[ 1 ] ), WPPB_LE_POTX_CONTEXT_NONE, $file, $line );
850
+ $save_callback( _wppb_le_potx_format_quoted_string ( $message[ 1 ] ), WPPB_LE_POTX_CONTEXT_NONE, $file, $line );
851
+ } else {
852
+ // watchdog() found, but inside is something which is not a string literal.
853
+ _wppb_le_potx_marker_error ( $file, $line, 'watchdog', $ti, t ( 'The first two watchdog() parameters should be literal strings. There should be no variables, concatenation, constants or even a t() call there.' ), 'http://drupal.org/node/323101' );
854
+ }
855
+ }
856
+ }
857
+ }
858
+ }
859
+
860
+ /**
861
+ * Detect all occurances of format_plural calls.
862
+ *
863
+ * These sequences are searched for:
864
+ * T_STRING("format_plural") + "(" + ..anything (might be more tokens).. +
865
+ * "," + T_CONSTANT_ENCAPSED_STRING +
866
+ * "," + T_CONSTANT_ENCAPSED_STRING + parenthesis (or comma allowed from
867
+ * Drupal 6)
868
+ *
869
+ * @param $file
870
+ * Name of file parsed.
871
+ * @param $save_callback
872
+ * Callback function used to save strings.
873
+ * @param $api_version
874
+ * Drupal API version to work with.
875
+ */
876
+ function _wppb_le_potx_find_format_plural_calls ( $file, $save_callback, $api_version = WPPB_LE_POTX_API_6 )
877
+ {
878
+ global $_wppb_le_potx_tokens, $_wppb_le_potx_lookup;
879
+
880
+ if ( isset( $_wppb_le_potx_lookup[ 'format_plural' ] ) ) {
881
+ foreach ( $_wppb_le_potx_lookup[ 'format_plural' ] as $ti ) {
882
+ list( $ctok, $par1 ) = array( $_wppb_le_potx_tokens[ $ti ], $_wppb_le_potx_tokens[ $ti + 1 ] );
883
+ list( $type, $string, $line ) = $ctok;
884
+ if ( $par1 == "(" ) {
885
+ // Eat up everything that is used as the first parameter
886
+ $tn = $ti + 2;
887
+ $depth = 0;
888
+ while ( !( $_wppb_le_potx_tokens[ $tn ] == "," && $depth == 0 ) ) {
889
+ if ( $_wppb_le_potx_tokens[ $tn ] == "(" ) {
890
+ $depth++;
891
+ } elseif ( $_wppb_le_potx_tokens[ $tn ] == ")" ) {
892
+ $depth--;
893
+ }
894
+ $tn++;
895
+ }
896
+ // Get further parameters
897
+ list( $comma1, $singular, $comma2, $plural, $par2 ) = array( $_wppb_le_potx_tokens[ $tn ], $_wppb_le_potx_tokens[ $tn + 1 ], $_wppb_le_potx_tokens[ $tn + 2 ], $_wppb_le_potx_tokens[ $tn + 3 ], $_wppb_le_potx_tokens[ $tn + 4 ] );
898
+ if ( ( $comma2 == ',' ) && ( $par2 == ')' || ( $par2 == ',' && $api_version > WPPB_LE_POTX_API_5 ) ) &&
899
+ ( is_array ( $singular ) && ( $singular[ 0 ] == T_CONSTANT_ENCAPSED_STRING ) ) &&
900
+ ( is_array ( $plural ) && ( $plural[ 0 ] == T_CONSTANT_ENCAPSED_STRING ) )
901
+ ) {
902
+ // By default, there is no context.
903
+ $context = WPPB_LE_POTX_CONTEXT_NONE;
904
+ if ( $par2 == ',' && $api_version > WPPB_LE_POTX_API_6 ) {
905
+ // If there was a comma after the plural, we need to look forward
906
+ // to try and find the context.
907
+ $context = _wppb_le_potx_find_context ( $ti, $tn + 5, $file, 'format_plural' );
908
+ }
909
+ if ( $context !== WPPB_LE_POTX_CONTEXT_ERROR ) {
910
+ // Only save if there was no error in context parsing.
911
+ $save_callback(
912
+ _wppb_le_potx_format_quoted_string ( $singular[ 1 ] ) . "\0" . _wppb_le_potx_format_quoted_string ( $plural[ 1 ] ),
913
+ $context,
914
+ $file,
915
+ $line
916
+ );
917
+ }
918
+ } else {
919
+ // format_plural() found, but the parameters are not correct.
920
+ _wppb_le_potx_marker_error ( $file, $line, "format_plural", $ti, t ( 'In format_plural(), the singular and plural strings should be literal strings. There should be no variables, concatenation, constants or even a t() call there.' ), 'http://drupal.org/node/323072' );
921
+ }
922
+ }
923
+ }
924
+ }
925
+ }
926
+
927
+ /**
928
+ * Detect permission names from the hook_perm() implementations.
929
+ * Note that this will get confused with a similar pattern in a comment,
930
+ * and with dynamic permissions, which need to be accounted for.
931
+ *
932
+ * @param $file
933
+ * Full path name of file parsed.
934
+ * @param $filebase
935
+ * Filenaname of file parsed.
936
+ * @param $save_callback
937
+ * Callback function used to save strings.
938
+ */
939
+ function _wppb_le_potx_find_perm_hook ( $file, $filebase, $save_callback )
940
+ {
941
+ global $_wppb_le_potx_tokens, $_wppb_le_potx_lookup;
942
+
943
+ if ( isset( $_wppb_le_potx_lookup[ $filebase . '_perm' ] ) ) {
944
+ // Special case for node module, because it uses dynamic permissions.
945
+ // Include the static permissions by hand. That's about all we can do here.
946
+ if ( $filebase == 'node' ) {
947
+ $line = $_wppb_le_potx_tokens[ $_wppb_le_potx_lookup[ 'node_perm' ][ 0 ] ][ 2 ];
948
+ // List from node.module 1.763 (checked in on 2006/12/29 at 21:25:36 by drumm)
949
+ $nodeperms = array( 'administer content types', 'administer nodes', 'access content', 'view revisions', 'revert revisions' );
950
+ foreach ( $nodeperms as $item ) {
951
+ // hook_perm() is only ever found on a Drupal system which does not
952
+ // support context.
953
+ $save_callback( $item, WPPB_LE_POTX_CONTEXT_NONE, $file, $line );
954
+ }
955
+ } else {
956
+ $count = 0;
957
+ foreach ( $_wppb_le_potx_lookup[ $filebase . '_perm' ] as $ti ) {
958
+ $tn = $ti;
959
+ while ( is_array ( $_wppb_le_potx_tokens[ $tn ] ) || $_wppb_le_potx_tokens[ $tn ] != '}' ) {
960
+ if ( is_array ( $_wppb_le_potx_tokens[ $tn ] ) && $_wppb_le_potx_tokens[ $tn ][ 0 ] == T_CONSTANT_ENCAPSED_STRING ) {
961
+ // hook_perm() is only ever found on a Drupal system which does not
962
+ // support context.
963
+ $save_callback( _wppb_le_potx_format_quoted_string ( $_wppb_le_potx_tokens[ $tn ][ 1 ] ), WPPB_LE_POTX_CONTEXT_NONE, $file, $_wppb_le_potx_tokens[ $tn ][ 2 ] );
964
+ $count++;
965
+ }
966
+ $tn++;
967
+ }
968
+ }
969
+ if ( !$count ) {
970
+ wppb_potx_status ( 'error', t ( '%hook should have an array of literal string permission names.', array( '%hook' => $filebase . '_perm()' ) ), $file, NULL, NULL, 'http://drupal.org/node/323101' );
971
+ }
972
+ }
973
+ }
974
+ }
975
+
976
+ /**
977
+ * Helper function to look up the token closing the current function.
978
+ *
979
+ * @param $here
980
+ * The token at the function name
981
+ */
982
+ function _wppb_le_potx_find_end_of_function ( $here )
983
+ {
984
+ global $_wppb_le_potx_tokens;
985
+
986
+ // Seek to open brace.
987
+ while ( is_array ( $_wppb_le_potx_tokens[ $here ] ) || $_wppb_le_potx_tokens[ $here ] != '{' ) {
988
+ $here++;
989
+ }
990
+ $nesting = 1;
991
+ while ( $nesting > 0 ) {
992
+ $here++;
993
+ if ( !is_array ( $_wppb_le_potx_tokens[ $here ] ) ) {
994
+ if ( $_wppb_le_potx_tokens[ $here ] == '}' ) {
995
+ $nesting--;
996
+ }
997
+ if ( $_wppb_le_potx_tokens[ $here ] == '{' ) {
998
+ $nesting++;
999
+ }
1000
+ }
1001
+ }
1002
+ return $here;
1003
+ }
1004
+
1005
+ /**
1006
+ * Helper to move past t() and format_plural() arguments in search of context.
1007
+ *
1008
+ * @param $here
1009
+ * The token before the start of the arguments
1010
+ */
1011
+ function _wppb_le_potx_skip_args ( $here )
1012
+ {
1013
+ global $_wppb_le_potx_tokens;
1014
+
1015
+ $nesting = 0;
1016
+ // Go through to either the end of the function call or to a comma
1017
+ // after the current position on the same nesting level.
1018
+ while ( !( ( $_wppb_le_potx_tokens[ $here ] == ',' && $nesting == 0 ) ||
1019
+ ( $_wppb_le_potx_tokens[ $here ] == ')' && $nesting == -1 ) ) ) {
1020
+ $here++;
1021
+ if ( !is_array ( $_wppb_le_potx_tokens[ $here ] ) ) {
1022
+ if ( $_wppb_le_potx_tokens[ $here ] == ')' ) {
1023
+ $nesting--;
1024
+ }
1025
+ if ( $_wppb_le_potx_tokens[ $here ] == '(' ) {
1026
+ $nesting++;
1027
+ }
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
+ }
1035
+
1036
+ /**
1037
+ * Helper to find the value for 'context' on t() and format_plural().
1038
+ *
1039
+ * @param $tf
1040
+ * Start position of the original function.
1041
+ * @param $ti
1042
+ * Start position where we should search from.
1043
+ * @param $file
1044
+ * Full path name of file parsed.
1045
+ * @param function_name
1046
+ * The name of the function to look for. Either 'format_plural' or 't'
1047
+ * given that Drupal 7 only supports context on these.
1048
+ */
1049
+ function _wppb_le_potx_find_context ( $tf, $ti, $file, $function_name )
1050
+ {
1051
+ global $_wppb_le_potx_tokens;
1052
+
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;
1062
+ $ti += 3;
1063
+ // Go through to either the end of the array or to the key definition of
1064
+ // context on the same nesting level.
1065
+ while ( !( ( is_array ( $_wppb_le_potx_tokens[ $ti ] ) && ( in_array ( $_wppb_le_potx_tokens[ $ti ][ 1 ], array( '"context"', "'context'" ) ) ) && ( $_wppb_le_potx_tokens[ $ti ][ 0 ] == T_CONSTANT_ENCAPSED_STRING ) && ( $nesting == 0 ) ) ||
1066
+ ( $_wppb_le_potx_tokens[ $ti ] == ')' && $nesting == -1 ) ) ) {
1067
+ $ti++;
1068
+ if ( !is_array ( $_wppb_le_potx_tokens[ $ti ] ) ) {
1069
+ if ( $_wppb_le_potx_tokens[ $ti ] == ')' ) {
1070
+ $nesting--;
1071
+ }
1072
+ if ( $_wppb_le_potx_tokens[ $ti ] == '(' ) {
1073
+ $nesting++;
1074
+ }
1075
+ }
1076
+ }
1077
+ if ( $nesting == 0 ) {
1078
+ // Found the 'context' key on the top level of the $options array.
1079
+ list( $arw, $str ) = array( $_wppb_le_potx_tokens[ $ti + 1 ], $_wppb_le_potx_tokens[ $ti + 2 ] );
1080
+ if ( is_array ( $arw ) && $arw[ 1 ] == '=>' && is_array ( $str ) && $str[ 0 ] == T_CONSTANT_ENCAPSED_STRING ) {
1081
+ return _wppb_le_potx_format_quoted_string ( $str[ 1 ] );
1082
+ } else {
1083
+ list( $type, $string, $line ) = $_wppb_le_potx_tokens[ $ti ];
1084
+ // @todo: fix error reference.
1085
+ _wppb_le_potx_marker_error ( $file, $line, $function_name, $tf, t ( 'The context element in the options array argument to @function() should be a literal string. There should be no variables, concatenation, constants or other non-literal strings there.', array( '@function' => $function_name ) ), 'http://drupal.org/node/322732' );
1086
+ // Return with error.
1087
+ return WPPB_LE_POTX_CONTEXT_ERROR;
1088
+ }
1089
+ } else {
1090
+ // Did not found 'context' key in $options array.
1091
+ return WPPB_LE_POTX_CONTEXT_NONE;
1092
+ }
1093
+ }
1094
+ }
1095
+
1096
+ // After skipping args, we did not find a comma to look for $options.
1097
+ return WPPB_LE_POTX_CONTEXT_NONE;
1098
+ }
1099
+
1100
+ /**
1101
+ * List of menu item titles. Only from Drupal 6.
1102
+ *
1103
+ * @param $file
1104
+ * Full path name of file parsed.
1105
+ * @param $filebase
1106
+ * Filenaname of file parsed.
1107
+ * @param $save_callback
1108
+ * Callback function used to save strings.
1109
+ */
1110
+ function _wppb_le_potx_find_menu_hook ( $file, $filebase, $save_callback )
1111
+ {
1112
+ global $_wppb_le_potx_tokens, $_wppb_le_potx_lookup;
1113
+
1114
+ if ( isset( $_wppb_le_potx_lookup[ $filebase . '_menu' ] ) && is_array ( $_wppb_le_potx_lookup[ $filebase . '_menu' ] ) ) {
1115
+ // We have a menu hook in this file.
1116
+ foreach ( $_wppb_le_potx_lookup[ $filebase . '_menu' ] as $ti ) {
1117
+ $end = _wppb_le_potx_find_end_of_function ( $ti );
1118
+ $tn = $ti;
1119
+ while ( $tn < $end ) {
1120
+ // Look through the code until the end of the function.
1121
+ if ( $_wppb_le_potx_tokens[ $tn ][ 0 ] == T_CONSTANT_ENCAPSED_STRING && in_array ( $_wppb_le_potx_tokens[ $tn ][ 1 ], array( "'title'", '"title"', "'description'", '"description"' ) ) && $_wppb_le_potx_tokens[ $tn + 1 ][ 0 ] == T_DOUBLE_ARROW ) {
1122
+ if ( $_wppb_le_potx_tokens[ $tn + 2 ][ 0 ] == T_CONSTANT_ENCAPSED_STRING ) {
1123
+ // Menu items support no context.
1124
+ $save_callback(
1125
+ _wppb_le_potx_format_quoted_string ( $_wppb_le_potx_tokens[ $tn + 2 ][ 1 ] ),
1126
+ WPPB_LE_POTX_CONTEXT_NONE,
1127
+ $file,
1128
+ $_wppb_le_potx_tokens[ $tn + 2 ][ 2 ]
1129
+ );
1130
+ $tn += 2; // Jump forward by 2.
1131
+ } else {
1132
+ wppb_potx_status ( 'error', t ( 'Invalid menu %element definition found in %hook. Title and description keys of the menu array should be literal strings.', array( '%element' => $_wppb_le_potx_tokens[ $tn ][ 1 ], '%hook' => $filebase . '_menu()' ) ), $file, $_wppb_le_potx_tokens[ $tn ][ 2 ], NULL, 'http://drupal.org/node/323101' );
1133
+ }
1134
+ }
1135
+ $tn++;
1136
+ }
1137
+ }
1138
+ }
1139
+ }
1140
+
1141
+ /**
1142
+ * Get languages names from Drupal's locale.inc.
1143
+ *
1144
+ * @param $file
1145
+ * Full path name of file parsed
1146
+ * @param $save_callback
1147
+ * Callback function used to save strings.
1148
+ * @param $api_version
1149
+ * Drupal API version to work with.
1150
+ */
1151
+ function _wppb_le_potx_find_language_names ( $file, $save_callback, $api_version = WPPB_LE_POTX_API_6 )
1152
+ {
1153
+ global $_wppb_le_potx_tokens, $_wppb_le_potx_lookup;
1154
+
1155
+ foreach ( $_wppb_le_potx_lookup[ $api_version > WPPB_LE_POTX_API_5 ? '_locale_get_predefined_list' : '_locale_get_iso639_list' ] as $ti ) {
1156
+ // Search for the definition of _locale_get_predefined_list(), not where it is called.
1157
+ if ( $_wppb_le_potx_tokens[ $ti - 1 ][ 0 ] == T_FUNCTION ) {
1158
+ break;
1159
+ }
1160
+ }
1161
+
1162
+ $end = _wppb_le_potx_find_end_of_function ( $ti );
1163
+ $ti += 7; // function name, (, ), {, return, array, (
1164
+ while ( $ti < $end ) {
1165
+ while ( $_wppb_le_potx_tokens[ $ti ][ 0 ] != T_ARRAY ) {
1166
+ if ( !is_array ( $_wppb_le_potx_tokens[ $ti ] ) && $_wppb_le_potx_tokens[ $ti ] == ';' ) {
1167
+ // We passed the end of the list, break out to function level
1168
+ // to prevent an infinite loop.
1169
+ break 2;
1170
+ }
1171
+ $ti++;
1172
+ }
1173
+ $ti += 2; // array, (
1174
+ // Language names are context-less.
1175
+ $save_callback( _wppb_le_potx_format_quoted_string ( $_wppb_le_potx_tokens[ $ti ][ 1 ] ), WPPB_LE_POTX_CONTEXT_NONE, $file, $_wppb_le_potx_tokens[ $ti ][ 2 ] );
1176
+ }
1177
+ }
1178
+
1179
+ /**
1180
+ * Get the exact CVS version number from the file, so we can
1181
+ * push that into the generated output.
1182
+ *
1183
+ * @param $code
1184
+ * Complete source code of the file parsed.
1185
+ * @param $file
1186
+ * Name of the file parsed.
1187
+ * @param $version_callback
1188
+ * Callback used to save the version information.
1189
+ */
1190
+ function _wppb_le_potx_find_version_number ( $code, $file, $version_callback )
1191
+ {
1192
+ // Prevent CVS from replacing this pattern with actual info.
1193
+ if ( preg_match ( '!\\$I' . 'd: ([^\\$]+) Exp \\$!', $code, $version_info ) ) {
1194
+ $version_callback( $version_info[ 1 ], $file );
1195
+ } else {
1196
+ // Unknown version information.
1197
+ $version_callback( $file . ': n/a', $file );
1198
+ }
1199
+ }
1200
+
1201
+ /**
1202
+ * Add date strings, which cannot be extracted otherwise.
1203
+ * This is called for locale.module.
1204
+ *
1205
+ * @param $file
1206
+ * Name of the file parsed.
1207
+ * @param $save_callback
1208
+ * Callback function used to save strings.
1209
+ * @param $api_version
1210
+ * Drupal API version to work with.
1211
+ */
1212
+ function _wppb_le_potx_add_date_strings ( $file, $save_callback, $api_version = WPPB_LE_POTX_API_6 )
1213
+ {
1214
+ for ( $i = 1; $i <= 12; $i++ ) {
1215
+ $stamp = mktime ( 0, 0, 0, $i, 1, 1971 );
1216
+ if ( $api_version > WPPB_LE_POTX_API_6 ) {
1217
+ // From Drupal 7, long month names are saved with this context.
1218
+ $save_callback( date ( "F", $stamp ), 'Long month name', $file );
1219
+ } elseif ( $api_version > WPPB_LE_POTX_API_5 ) {
1220
+ // Drupal 6 uses a little hack. No context.
1221
+ $save_callback( '!long-month-name ' . date ( "F", $stamp ), WPPB_LE_POTX_CONTEXT_NONE, $file );
1222
+ } else {
1223
+ // Older versions just accept the confusion, no context.
1224
+ $save_callback( date ( "F", $stamp ), WPPB_LE_POTX_CONTEXT_NONE, $file );
1225
+ }
1226
+ // Short month names lack a context anyway.
1227
+ $save_callback( date ( "M", $stamp ), WPPB_LE_POTX_CONTEXT_NONE, $file );
1228
+ }
1229
+ for ( $i = 0; $i <= 7; $i++ ) {
1230
+ $stamp = $i * 86400;
1231
+ $save_callback( date ( "D", $stamp ), WPPB_LE_POTX_CONTEXT_NONE, $file );
1232
+ $save_callback( date ( "l", $stamp ), WPPB_LE_POTX_CONTEXT_NONE, $file );
1233
+ }
1234
+ $save_callback( 'am', WPPB_LE_POTX_CONTEXT_NONE, $file );
1235
+ $save_callback( 'pm', WPPB_LE_POTX_CONTEXT_NONE, $file );
1236
+ $save_callback( 'AM', WPPB_LE_POTX_CONTEXT_NONE, $file );
1237
+ $save_callback( 'PM', WPPB_LE_POTX_CONTEXT_NONE, $file );
1238
+ }
1239
+
1240
+ /**
1241
+ * Add format_interval special strings, which cannot be
1242
+ * extracted otherwise. This is called for common.inc
1243
+ *
1244
+ * @param $file
1245
+ * Name of the file parsed.
1246
+ * @param $save_callback
1247
+ * Callback function used to save strings.
1248
+ * @param $api_version
1249
+ * Drupal API version to work with.
1250
+ */
1251
+ function _wppb_le_potx_add_format_interval_strings ( $file, $save_callback, $api_version = WPPB_LE_POTX_API_6 )
1252
+ {
1253
+ $components = array(
1254
+ '1 year' => '@count years',
1255
+ '1 week' => '@count weeks',
1256
+ '1 day' => '@count days',
1257
+ '1 hour' => '@count hours',
1258
+ '1 min' => '@count min',
1259
+ '1 sec' => '@count sec'
1260
+ );
1261
+ if ( $api_version > WPPB_LE_POTX_API_6 ) {
1262
+ // Month support added in Drupal 7.
1263
+ $components[ '1 month' ] = '@count months';
1264
+ }
1265
+
1266
+ foreach ( $components as $singular => $plural ) {
1267
+ // Intervals support no context.
1268
+ $save_callback( $singular . "\0" . $plural, WPPB_LE_POTX_CONTEXT_NONE, $file );
1269
+ }
1270
+ }
1271
+
1272
+ /**
1273
+ * Add default theme region names, which cannot be extracted otherwise.
1274
+ * These default names are defined in system.module
1275
+ *
1276
+ * @param $file
1277
+ * Name of the file parsed.
1278
+ * @param $save_callback
1279
+ * Callback function used to save strings.
1280
+ * @param $api_version
1281
+ * Drupal API version to work with.
1282
+ */
1283
+ function _wppb_le_potx_add_default_region_names ( $file, $save_callback, $api_version = WPPB_LE_POTX_API_6 )
1284
+ {
1285
+ $regions = array(
1286
+ 'left' => 'Left sidebar',
1287
+ 'right' => 'Right sidebar',
1288
+ 'content' => 'Content',
1289
+ 'header' => 'Header',
1290
+ 'footer' => 'Footer',
1291
+ );
1292
+ if ( $api_version > WPPB_LE_POTX_API_6 ) {
1293
+ // @todo: Update with final region list when D7 stabilizes.
1294
+ $regions[ 'highlight' ] = 'Highlighted content';
1295
+ $regions[ 'help' ] = 'Help';
1296
+ $regions[ 'page_top' ] = 'Page top';
1297
+ }
1298
+ foreach ( $regions as $region ) {
1299
+ // Regions come with the default context.
1300
+ $save_callback( $region, WPPB_LE_POTX_CONTEXT_NONE, $file );
1301
+ }
1302
+ }
1303
+
1304
+ /**
1305
+ * Parse an .info file and add relevant strings to the list.
1306
+ *
1307
+ * @param $file_path
1308
+ * Complete file path to load contents with.
1309
+ * @param $file_name
1310
+ * Stripped file name to use in outpout.
1311
+ * @param $strings
1312
+ * Current strings array
1313
+ * @param $api_version
1314
+ * Drupal API version to work with.
1315
+ */
1316
+ function _wppb_le_potx_find_info_file_strings ( $file_path, $file_name, $save_callback, $api_version = WPPB_LE_POTX_API_6 )
1317
+ {
1318
+ $info = array();
1319
+
1320
+ if ( file_exists ( $file_path ) ) {
1321
+ $info = $api_version > WPPB_LE_POTX_API_5 ? drupal_parse_info_file ( $file_path ) : parse_ini_file ( $file_path );
1322
+ }
1323
+
1324
+ // We need the name, description and package values. Others,
1325
+ // like core and PHP compatibility, timestamps or versions
1326
+ // are not to be translated.
1327
+ foreach ( array( 'name', 'description', 'package' ) as $key ) {
1328
+ if ( isset( $info[ $key ] ) ) {
1329
+ // No context support for .info file strings.
1330
+ $save_callback( $info[ $key ], WPPB_LE_POTX_CONTEXT_NONE, $file_name );
1331
+ }
1332
+ }
1333
+
1334
+ // Add regions names from themes.
1335
+ if ( isset( $info[ 'regions' ] ) && is_array ( $info[ 'regions' ] ) ) {
1336
+ foreach ( $info[ 'regions' ] as $region => $region_name ) {
1337
+ // No context support for .info file strings.
1338
+ $save_callback( $region_name, WPPB_LE_POTX_CONTEXT_NONE, $file_name );
1339
+ }
1340
+ }
1341
+ }
1342
+
1343
+ /**
1344
+ * Parse a JavaScript file for translatables. Only from Drupal 6.
1345
+ *
1346
+ * Extracts strings wrapped in Drupal.t() and Drupal.formatPlural()
1347
+ * calls and inserts them into potx storage.
1348
+ *
1349
+ * Regex code lifted from _locale_parse_js_file().
1350
+ */
1351
+ function _wppb_le_potx_parse_js_file ( $code, $file, $save_callback )
1352
+ {
1353
+ $js_string_regex = '(?:(?:\'(?:\\\\\'|[^\'])*\'|"(?:\\\\"|[^"])*")(?:\s*\+\s*)?)+';
1354
+
1355
+ // Match all calls to Drupal.t() in an array.
1356
+ // Note: \s also matches newlines with the 's' modifier.
1357
+ preg_match_all ( '~[^\w]Drupal\s*\.\s*t\s*\(\s*(' . $js_string_regex . ')\s*[,\)]~s', $code, $t_matches, PREG_SET_ORDER );
1358
+ if ( isset( $t_matches ) && count ( $t_matches ) ) {
1359
+ foreach ( $t_matches as $match ) {
1360
+ // Remove match from code to help us identify faulty Drupal.t() calls.
1361
+ $code = str_replace ( $match[ 0 ], '', $code );
1362
+ // @todo: figure out how to parse out context, once Drupal supports it.
1363
+ $save_callback( _wppb_le_potx_parse_js_string ( $match[ 1 ] ), WPPB_LE_POTX_CONTEXT_NONE, $file, 0 );
1364
+ }
1365
+ }
1366
+
1367
+ // Match all Drupal.formatPlural() calls in another array.
1368
+ preg_match_all ( '~[^\w]Drupal\s*\.\s*formatPlural\s*\(\s*.+?\s*,\s*(' . $js_string_regex . ')\s*,\s*((?:(?:\'(?:\\\\\'|[^\'])*@count(?:\\\\\'|[^\'])*\'|"(?:\\\\"|[^"])*@count(?:\\\\"|[^"])*")(?:\s*\+\s*)?)+)\s*[,\)]~s', $code, $plural_matches, PREG_SET_ORDER );
1369
+ if ( isset( $plural_matches ) && count ( $plural_matches ) ) {
1370
+ foreach ( $plural_matches as $index => $match ) {
1371
+ // Remove match from code to help us identify faulty
1372
+ // Drupal.formatPlural() calls later.
1373
+ $code = str_replace ( $match[ 0 ], '', $code );
1374
+ // @todo: figure out how to parse out context, once Drupal supports it.
1375
+ $save_callback(
1376
+ _wppb_le_potx_parse_js_string ( $match[ 1 ] ) . "\0" . _wppb_le_potx_parse_js_string ( $match[ 2 ] ),
1377
+ WPPB_LE_POTX_CONTEXT_NONE,
1378
+ $file,
1379
+ 0
1380
+ );
1381
+ }
1382
+ }
1383
+
1384
+ // Any remaining Drupal.t() or Drupal.formatPlural() calls are evil. This
1385
+ // regex is not terribly accurate (ie. code wrapped inside will confuse
1386
+ // the match), but we only need some unique part to identify the faulty calls.
1387
+ preg_match_all ( '~[^\w]Drupal\s*\.\s*(t|formatPlural)\s*\([^)]+\)~s', $code, $faulty_matches, PREG_SET_ORDER );
1388
+ if ( isset( $faulty_matches ) && count ( $faulty_matches ) ) {
1389
+ foreach ( $faulty_matches as $index => $match ) {
1390
+ $message = ( $match[ 1 ] == 't' ) ? t ( 'Drupal.t() calls should have a single literal string as their first parameter.' ) : t ( 'The singular and plural string parameters on Drupal.formatPlural() calls should be literal strings, plural containing a @count placeholder.' );
1391
+ wppb_potx_status ( 'error', $message, $file, NULL, $match[ 0 ], 'http://drupal.org/node/323109' );
1392
+ }
1393
+ }
1394
+ }
1395
+
1396
+ /**
1397
+ * Clean up string found in JavaScript source code. Only from Drupal 6.
1398
+ */
1399
+ function _wppb_le_potx_parse_js_string ( $string )
1400
+ {
1401
+ return _wppb_le_potx_format_quoted_string ( implode ( '', preg_split ( '~(?<!\\\\)[\'"]\s*\+\s*[\'"]~s', $string ) ) );
1402
+ }
1403
+
1404
+ /**
1405
+ * Collect a list of file names relevant for extraction,
1406
+ * starting from the given path.
1407
+ *
1408
+ * @param $path
1409
+ * Where to start searching for files recursively.
1410
+ * Provide non-empty path values with a trailing slash.
1411
+ * @param $basename
1412
+ * Allows the restriction of search to a specific basename
1413
+ * (ie. to collect files for a specific module).
1414
+ * @param $api_version
1415
+ * Drupal API version to work with.
1416
+ * @todo
1417
+ * Add folder exceptions for other version control systems.
1418
+ */
1419
+ function _wppb_le_potx_explore_dir ( $path = '', $basename = '*', $api_version = WPPB_LE_POTX_API_6 )
1420
+ {
1421
+ // It would be so nice to just use GLOB_BRACE, but it is not available on all
1422
+ // operarting systems, so we are working around the missing functionality.
1423
+ $extensions = array( 'php', 'inc', 'module', 'engine', 'theme', 'install', 'info', 'profile' );
1424
+ if ( $api_version > WPPB_LE_POTX_API_5 ) {
1425
+ $extensions[ ] = 'js';
1426
+ }
1427
+ $files = array();
1428
+ foreach ( $extensions as $extension ) {
1429
+ $files_here = glob ( $path . $basename . '.' . $extension );
1430
+ if ( is_array ( $files_here ) ) {
1431
+ $files = array_merge ( $files, $files_here );
1432
+ }
1433
+ if ( $basename != '*' ) {
1434
+ // Basename was specific, so look for things like basename.admin.inc as well.
1435
+ // If the basnename was *, the above glob() already covered this case.
1436
+ $files_here = glob ( $path . $basename . '.*.' . $extension );
1437
+ if ( is_array ( $files_here ) ) {
1438
+ $files = array_merge ( $files, $files_here );
1439
+ }
1440
+ }
1441
+ }
1442
+
1443
+ // Grab subdirectories.
1444
+ $dirs = glob ( $path . '*', GLOB_ONLYDIR );
1445
+ if ( is_array ( $dirs ) ) {
1446
+ foreach ( $dirs as $dir ) {
1447
+ if ( !preg_match ( "!(^|.+/)(CVS|.svn|.git)$!", $dir ) ) {
1448
+ $files = array_merge ( $files, _wppb_le_potx_explore_dir ( "$dir/", $basename ) );
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 ) {
1456
+ if ( preg_match ( '!(potx-cli.php|potx.php)$!', $file_name ) ) {
1457
+ unset( $files[ $id ] );
1458
+ }
1459
+ }
1460
+ return $files;
1461
+ }
1462
+
1463
+ /**
1464
+ * Default $version_callback used by the potx system. Saves values
1465
+ * to a global array to reduce memory consumption problems when
1466
+ * passing around big chunks of values.
1467
+ *
1468
+ * @param $value
1469
+ * The ersion number value of $file. If NULL, the collected
1470
+ * values are returned.
1471
+ * @param $file
1472
+ * Name of file where the version information was found.
1473
+ */
1474
+ function _wppb_le_potx_save_version ( $value = NULL, $file = NULL )
1475
+ {
1476
+ global $_wppb_le_potx_versions;
1477
+
1478
+ if ( isset( $value ) ) {
1479
+ $_wppb_le_potx_versions[ $file ] = $value;
1480
+ } else {
1481
+ return $_wppb_le_potx_versions;
1482
+ }
1483
+ }
1484
+
1485
+ /**
1486
+ * Default $save_callback used by the potx system. Saves values
1487
+ * to global arrays to reduce memory consumption problems when
1488
+ * passing around big chunks of values.
1489
+ *
1490
+ * @param $value
1491
+ * The string value. If NULL, the array of collected values
1492
+ * are returned for the given $string_mode.
1493
+ * @param $context
1494
+ * From Drupal 7, separate contexts are supported. WPPB_LE_POTX_CONTEXT_NONE is
1495
+ * the default, if the code does not specify a context otherwise.
1496
+ * @param $file
1497
+ * Name of file where the string was found.
1498
+ * @param $line
1499
+ * Line number where the string was found.
1500
+ * @param $string_mode
1501
+ * String mode: WPPB_LE_POTX_STRING_INSTALLER, WPPB_LE_POTX_STRING_RUNTIME
1502
+ * or WPPB_LE_POTX_STRING_BOTH.
1503
+ */
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:
1511
+ // Mark installer strings as duplicates of runtime strings if
1512
+ // the string was both recorded in the runtime and in the installer.
1513
+ $_wppb_le_potx_install[ $value ][ $context ][ $file ][ ] = $line . ' (dup)';
1514
+ // Break intentionally missing.
1515
+ case WPPB_LE_POTX_STRING_RUNTIME:
1516
+ // Mark runtime strings as duplicates of installer strings if
1517
+ // the string was both recorded in the runtime and in the installer.
1518
+ $_wppb_le_potx_strings[ $value ][ $context ][ $file ][ ] = $line . ( $string_mode == WPPB_LE_POTX_STRING_BOTH ? ' (dup)' : '' );
1519
+ break;
1520
+ case WPPB_LE_POTX_STRING_INSTALLER:
1521
+ $_wppb_le_potx_install[ $value ][ $context ][ $file ][ ] = $line;
1522
+ break;
1523
+ }
1524
+ } else {
1525
+ return ( $string_mode == WPPB_LE_POTX_STRING_RUNTIME ? $_wppb_le_potx_strings : $_wppb_le_potx_install );
1526
+ }
1527
+ }
1528
+
1529
+ if ( !function_exists ( 't' ) ) {
1530
+ // If invoked outside of Drupal, t() will not exist, but
1531
+ // used to format the error message, so we provide a replacement.
1532
+ function t ( $string, $args = array() )
1533
+ {
1534
+ return strtr ( $string, $args );
1535
+ }
1536
+ }
1537
+
1538
+ if ( !function_exists ( 'drupal_parse_info_file' ) ) {
1539
+ // If invoked outside of Drupal, drupal_parse_info_file() will not be available,
1540
+ // but we need this function to properly parse Drupal 6/7 .info files.
1541
+ // Directly copied from common.inc,v 1.704 2007/10/19 10:30:54 goba Exp.
1542
+ function drupal_parse_info_file ( $filename )
1543
+ {
1544
+ $info = array();
1545
+
1546
+ if ( !file_exists ( $filename ) ) {
1547
+ return $info;
1548
+ }
1549
+
1550
+ $data = file_get_contents ( $filename );
1551
+ if ( preg_match_all ( '
1552
+ @^\s* # Start at the beginning of a line, ignoring leading whitespace
1553
+ ((?:
1554
+ [^=;\[\]]| # Key names cannot contain equal signs, semi-colons or square brackets,
1555
+ \[[^\[\]]*\] # unless they are balanced and not nested
1556
+ )+?)
1557
+ \s*=\s* # Key/value pairs are separated by equal signs (ignoring white-space)
1558
+ (?:
1559
+ ("(?:[^"]|(?<=\\\\)")*")| # Double-quoted string, which may contain slash-escaped quotes/slashes
1560
+ (\'(?:[^\']|(?<=\\\\)\')*\')| # Single-quoted string, which may contain slash-escaped quotes/slashes
1561
+ ([^\r\n]*?) # Non-quoted string
1562
+ )\s*$ # Stop at the next end of a line, ignoring trailing whitespace
1563
+ @msx', $data, $matches, PREG_SET_ORDER )
1564
+ ) {
1565
+ foreach ( $matches as $match ) {
1566
+ // Fetch the key and value string
1567
+ $i = 0;
1568
+ foreach ( array( 'key', 'value1', 'value2', 'value3' ) as $var ) {
1569
+ $$var = isset( $match[ ++$i ] ) ? $match[ $i ] : '';
1570
+ }
1571
+ $value = stripslashes ( substr ( $value1, 1, -1 ) ) . stripslashes ( substr ( $value2, 1, -1 ) ) . $value3;
1572
+
1573
+ // Parse array syntax
1574
+ $keys = preg_split ( '/\]?\[/', rtrim ( $key, ']' ) );
1575
+ $last = array_pop ( $keys );
1576
+ $parent = & $info;
1577
+
1578
+ // Create nested arrays
1579
+ foreach ( $keys as $key ) {
1580
+ if ( $key == '' ) {
1581
+ $key = count ( $parent );
1582
+ }
1583
+ if ( !isset( $parent[ $key ] ) || !is_array ( $parent[ $key ] ) ) {
1584
+ $parent[ $key ] = array();
1585
+ }
1586
+ $parent = & $parent[ $key ];
1587
+ }
1588
+
1589
+ // Handle PHP constants
1590
+ if ( defined ( $value ) ) {
1591
+ $value = constant ( $value );
1592
+ }
1593
+
1594
+ // Insert actual value
1595
+ if ( $last == '' ) {
1596
+ $last = count ( $parent );
1597
+ }
1598
+ $parent[ $last ] = $value;
1599
+ }
1600
+ }
1601
+
1602
+ return $info;
1603
+ }
1604
+ }
add-ons-free/maximum-character-length/assets/js/main.js ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Function that adds the maximum-character-length field property to the global fields object
3
+ * declared in assets/js/jquery-manage-fields-live-change.js
4
+ *
5
+ */
6
+ function wppb_max_char_length_update_fields() {
7
+ if (typeof fields == "undefined") {
8
+ return false;
9
+ }
10
+
11
+ var updateFields = ['Input', 'Textarea', 'Default - Biographical Info', 'URL', 'Email', 'Default - Website' ];
12
+
13
+ for( var i = 0; i < updateFields.length; i++ ) {
14
+ fields[ updateFields[i] ]['show_rows'].push( '.row-maximum-character-length' );
15
+ }
16
+ }
17
+
18
+ jQuery( function() {
19
+ wppb_max_char_length_update_fields();
20
+ });
add-ons-free/maximum-character-length/maximum-character-length.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Description: Extends the functionality of Profile Builder by allowing you to set a maximum character length for the custom input and textarea fields.
4
+ */
5
+
6
+ /*
7
+ * Function that enqueues the necessary scripts
8
+ *
9
+ * @since v.1.0.0
10
+ */
11
+ function wppb_mcl_scripts($hook) {
12
+ if ( $hook == 'profile-builder_page_manage-fields' ) {
13
+ wp_enqueue_script( 'wppb-max-char-length', plugin_dir_url(__FILE__) . 'assets/js/main.js', array( 'jquery', 'wppb-manage-fields-live-change' ) );
14
+ }
15
+ }
16
+ add_action( 'admin_enqueue_scripts', 'wppb_mcl_scripts' );
17
+
18
+ /*
19
+ * Function that adds maximum character length to the field properties in manage fields
20
+ *
21
+ * @since v.1.0.0
22
+ *
23
+ * @param array $fields - The current field properties
24
+ *
25
+ * @return array - The field properties that now include the maximum character length property
26
+ */
27
+ function wppb_mcl_manage_field( $fields ) {
28
+ $max_length_manage_field = array( 'type' => 'text', 'slug' => 'maximum-character-length', 'title' => __( 'Maximum Character Length', 'profile-builder' ), 'description' => __( "Specify the maximum number of characters a user can type in this field", 'profile-builder' ) );
29
+ array_push( $fields, $max_length_manage_field );
30
+
31
+ return $fields;
32
+ }
33
+ add_filter( 'wppb_manage_fields', 'wppb_mcl_manage_field' );
34
+
35
+ /*
36
+ * Function that checks to see if the maximum character length that the user entered is
37
+ * a number, we don't want random strings
38
+ *
39
+ * @since v.1.0.0
40
+ *
41
+ * @param string $message - The error messages that will be displayed to the user
42
+ * @param array $posted_values - The information the user has entered for the field
43
+ *
44
+ * @return string
45
+ */
46
+ function wppb_mcl_check_max_character_length( $message, $posted_values ) {
47
+
48
+ if ( isset( $posted_values['maximum-character-length'] ) && !is_numeric( $posted_values['maximum-character-length'] ) && !empty( $posted_values['maximum-character-length'] ) )
49
+ $message .= __( "The entered character number is not numerical\n", 'profile-builder' );
50
+
51
+ return $message;
52
+ }
53
+ add_filter( 'wppb_check_extra_manage_fields', 'wppb_mcl_check_max_character_length', 10, 2 );
54
+
55
+ /*
56
+ * Function that changes the default maximum character length with the one
57
+ * the user has set
58
+ *
59
+ * @since v.1.0.0
60
+ *
61
+ * @param int $default_value
62
+ * @param array $field
63
+ *
64
+ * @return int
65
+ */
66
+ function wppb_mcl_set_max_character_length( $default_value, $field = '' ) {
67
+ $output = $default_value;
68
+
69
+ if( isset( $field['maximum-character-length'] ) && !empty( $field['maximum-character-length'] ) ) {
70
+ $output = (int)$field['maximum-character-length'];
71
+ }
72
+
73
+ return $output;
74
+ }
75
+ add_filter( 'wppb_maximum_character_length', 'wppb_mcl_set_max_character_length', 10 , 2);
admin/add-ons.php CHANGED
@@ -1,6 +1,10 @@
1
  <?php
2
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
 
 
 
 
 
4
  /**
5
  * Function that creates the "Add-Ons" submenu page
6
  *
@@ -22,437 +26,379 @@ add_action( 'admin_menu', 'wppb_register_add_ons_submenu_page', 19 );
22
  * @return string
23
  */
24
  function wppb_add_ons_content() {
25
-
26
- $version = 'Free';
27
- $version = ( ( PROFILE_BUILDER == 'Profile Builder Pro' ) ? 'Pro' : $version );
28
- $version = ( ( PROFILE_BUILDER == 'Profile Builder Hobbyist' ) ? 'Hobbyist' : $version );
29
-
30
- $wppb_add_ons = wppb_add_ons_get_remote_content();
31
- $wppb_get_all_plugins = get_plugins();
32
- $wppb_get_active_plugins = get_option('active_plugins');
33
- $ajax_nonce = wp_create_nonce("wppb-activate-addon");
34
-
35
- ?>
36
-
37
- <div class="wrap wppb-add-on-wrap">
38
-
39
-
40
-
41
-
42
- <div>
43
- <h2><?php _e( 'Recommended Plugins', 'profile-builder' ) ?></h2>
44
-
45
-
46
- <?php
47
- $trp_add_on_exists = 0;
48
- $trp_add_on_is_active = 0;
49
- $trp_add_on_is_network_active = 0;
50
- // Check to see if add-on is in the plugins folder
51
- foreach ($wppb_get_all_plugins as $wppb_plugin_key => $wppb_plugin) {
52
- if( strtolower($wppb_plugin['Name']) == strtolower( 'TranslatePress - Multilingual' ) && strpos(strtolower($wppb_plugin['AuthorName']), strtolower('Cozmoslabs')) !== false) {
53
- $trp_add_on_exists = 1;
54
- if (in_array($wppb_plugin_key, $wppb_get_active_plugins)) {
55
- $trp_add_on_is_active = 1;
56
- }
57
- // Consider the add-on active if it's network active
58
- if (is_plugin_active_for_network($wppb_plugin_key)) {
59
- $trp_add_on_is_network_active = 1;
60
- $trp_add_on_is_active = 1;
61
- }
62
- $plugin_file = $wppb_plugin_key;
63
- }
64
- }
65
- ?>
66
- <div class="plugin-card wppb-recommended-plugin wppb-add-on">
67
- <div class="plugin-card-top">
68
- <a target="_blank" href="https://wordpress.org/plugins/translatepress-multilingual/">
69
- <img src="<?php echo plugins_url( '../assets/images/trp-recommended.png', __FILE__ ); ?>" width="100%">
70
- </a>
71
- <h3 class="wppb-add-on-title">
72
- <a target="_blank" href="https://wordpress.org/plugins/translatepress-multilingual/">TranslatePress</a>
73
- </h3>
74
- <h3 class="wppb-add-on-price"><?php _e( 'Free', 'profile-builder' ) ?></h3>
75
- <p class="wppb-add-on-description">
76
- <?php _e( 'Translate your Profile Builder forms with a WordPress translation plugin that anyone can use. It offers a simpler way to translate WordPress sites, with full support for WooCommerce and site builders.', 'profile-builder' ) ?>
77
- <a href="<?php admin_url();?>plugin-install.php?tab=plugin-information&plugin=translatepress-multilingual&TB_iframe=true&width=772&height=875" class="thickbox" aria-label="More information about TranslatePress - Multilingual" data-title="TranslatePress - Multilingual"><?php _e( 'More Details' ); ?></a>
78
- </p>
79
- </div>
80
- <div class="plugin-card-bottom wppb-add-on-compatible">
81
- <?php
82
- if ($trp_add_on_exists) {
83
-
84
- // Display activate/deactivate buttons
85
- if (!$trp_add_on_is_active) {
86
- echo '<a class="wppb-add-on-activate right button button-secondary" href="' . $plugin_file . '" data-nonce="' . $ajax_nonce . '">' . __('Activate', 'profile-builder') . '</a>';
87
-
88
- // If add-on is network activated don't allow deactivation
89
- } elseif (!$trp_add_on_is_network_active) {
90
- echo '<a class="wppb-add-on-deactivate right button button-secondary" href="' . $plugin_file . '" data-nonce="' . $ajax_nonce . '">' . __('Deactivate', 'profile-builder') . '</a>';
91
- }
92
-
93
- // Display message to the user
94
- if( !$trp_add_on_is_active ){
95
- echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . __('Plugin is <strong>inactive</strong>', 'profile-builder') . '</span>';
96
- } else {
97
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Plugin is <strong>active</strong>', 'profile-builder') . '</span>';
98
- }
99
-
100
- } else {
101
- // handles the in-page download
102
- $wppb_paid_link_class = 'button-secondary';
103
- $wppb_paid_link_text = __('Install Now', 'profile-builder');
104
-
105
- echo '<a class="right install-now button ' . $wppb_paid_link_class . '" href="'. wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=translatepress-multilingual'), 'install-plugin_translatepress-multilingual') .'" data-add-on-slug="translatepress-multilingual" data-add-on-name="TranslatePress - Multilingual" data-nonce="' . $ajax_nonce . '">' . $wppb_paid_link_text . '</a>';
106
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Compatible with your version of Profile Builder.', 'profile-builder') . '</span>';
107
-
108
- }
109
- ?>
110
- <div class="spinner"></div>
111
- <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( 'https://www.wordpress.org/plugins/translatepress-multilingual' )) ?></a>.</span>
112
- </div>
113
- </div>
114
-
115
-
116
-
117
- <?php
118
- $pms_add_on_exists = 0;
119
- $pms_add_on_is_active = 0;
120
- $pms_add_on_is_network_active = 0;
121
- // Check to see if add-on is in the plugins folder
122
- foreach ($wppb_get_all_plugins as $wppb_plugin_key => $wppb_plugin) {
123
- if( strtolower($wppb_plugin['Name']) == strtolower( 'Paid Member Subscriptions' ) && strpos(strtolower($wppb_plugin['AuthorName']), strtolower('Cozmoslabs')) !== false) {
124
- $pms_add_on_exists = 1;
125
- if (in_array($wppb_plugin_key, $wppb_get_active_plugins)) {
126
- $pms_add_on_is_active = 1;
127
- }
128
- // Consider the add-on active if it's network active
129
- if (is_plugin_active_for_network($wppb_plugin_key)) {
130
- $pms_add_on_is_network_active = 1;
131
- $pms_add_on_is_active = 1;
132
- }
133
- $plugin_file = $wppb_plugin_key;
134
- }
135
- }
136
- ?>
137
- <div class="plugin-card wppb-recommended-plugin wppb-add-on">
138
- <div class="plugin-card-top">
139
- <a target="_blank" href="http://wordpress.org/plugins/paid-member-subscriptions/">
140
- <img src="<?php echo plugins_url( '../assets/images/pms-recommended.png', __FILE__ ); ?>" width="100%">
141
- </a>
142
- <h3 class="wppb-add-on-title">
143
- <a target="_blank" href="http://wordpress.org/plugins/paid-member-subscriptions/">Paid Member Subscriptions</a>
144
- </h3>
145
- <h3 class="wppb-add-on-price"><?php _e( 'Free', 'profile-builder' ) ?></h3>
146
- <p class="wppb-add-on-description">
147
- <?php _e( 'Accept user payments, create subscription plans and restrict content on your membership site.', 'profile-builder' ) ?>
148
- <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>
149
- </p>
150
- </div>
151
- <div class="plugin-card-bottom wppb-add-on-compatible">
152
- <?php
153
- if ($pms_add_on_exists) {
154
-
155
- // Display activate/deactivate buttons
156
- if (!$pms_add_on_is_active) {
157
- echo '<a class="wppb-add-on-activate right button button-secondary" href="' . $plugin_file . '" data-nonce="' . $ajax_nonce . '">' . __('Activate', 'profile-builder') . '</a>';
158
-
159
- // If add-on is network activated don't allow deactivation
160
- } elseif (!$pms_add_on_is_network_active) {
161
- echo '<a class="wppb-add-on-deactivate right button button-secondary" href="' . $plugin_file . '" data-nonce="' . $ajax_nonce . '">' . __('Deactivate', 'profile-builder') . '</a>';
162
- }
163
-
164
- // Display message to the user
165
- if( !$pms_add_on_is_active ){
166
- echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . __('Plugin is <strong>inactive</strong>', 'profile-builder') . '</span>';
167
- } else {
168
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Plugin is <strong>active</strong>', 'profile-builder') . '</span>';
169
- }
170
-
171
- } else {
172
- // handles the in-page download
173
- $wppb_paid_link_class = 'button-secondary';
174
- $wppb_paid_link_text = __('Install Now', 'profile-builder');
175
-
176
- echo '<a class="right install-now button ' . $wppb_paid_link_class . '" href="'. wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=paid-member-subscriptions'), 'install-plugin_paid-member-subscriptions') .'" data-add-on-slug="paid-member-subscriptions" data-add-on-name="Paid Member Subscriptions" data-nonce="' . $ajax_nonce . '">' . $wppb_paid_link_text . '</a>';
177
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Compatible with your version of Profile Builder.', 'profile-builder') . '</span>';
178
-
179
- }
180
- ?>
181
- <div class="spinner"></div>
182
- <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>
183
- </div>
184
- </div>
185
-
186
-
187
-
188
-
189
-
190
-
191
- </div>
192
-
193
- <div class="clear"></div>
194
-
195
- <h2><?php _e( 'Add-Ons', 'profile-builder' ); ?></h2>
196
-
197
- <span id="wppb-add-on-activate-button-text" class="wppb-add-on-user-messages"><?php echo __( 'Activate', 'profile-builder' ); ?></span>
198
-
199
- <span id="wppb-add-on-downloading-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Downloading and installing...', 'profile-builder' ); ?></span>
200
- <span id="wppb-add-on-download-finished-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Installation complete', 'profile-builder' ); ?></span>
201
-
202
- <span id="wppb-add-on-activated-button-text" class="wppb-add-on-user-messages"><?php echo __( 'Add-On is Active', 'profile-builder' ); ?></span>
203
- <span id="wppb-add-on-activated-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Add-On has been activated', 'profile-builder' ) ?></span>
204
- <span id="wppb-add-on-activated-error-button-text" class="wppb-add-on-user-messages"><?php echo __( 'Retry Install', 'profile-builder' ) ?></span>
205
-
206
- <span id="wppb-add-on-is-active-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Add-On is <strong>active</strong>', 'profile-builder' ); ?></span>
207
- <span id="wppb-add-on-is-not-active-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Add-On is <strong>inactive</strong>', 'profile-builder' ); ?></span>
208
-
209
- <span id="wppb-add-on-deactivate-button-text" class="wppb-add-on-user-messages"><?php echo __( 'Deactivate', 'profile-builder' ) ?></span>
210
- <span id="wppb-add-on-deactivated-message-text" class="wppb-add-on-user-messages"><?php echo __( 'Add-On has been deactivated.', 'profile-builder' ) ?></span>
211
-
212
- <div id="the-list">
213
-
214
- <?php
215
-
216
- if( $wppb_add_ons === false ) {
217
-
218
- echo __('Something went wrong, we could not connect to the server. Please try again later.', 'profile-builder');
219
-
220
- } else {
221
-
222
- foreach( $wppb_add_ons as $key => $wppb_add_on ) {
223
-
224
- $wppb_add_on_exists = 0;
225
- $wppb_add_on_is_active = 0;
226
- $wppb_add_on_is_network_active = 0;
227
-
228
- // Check to see if add-on is in the plugins folder
229
- foreach ($wppb_get_all_plugins as $wppb_plugin_key => $wppb_plugin) {
230
- if ( strpos( strtolower( $wppb_plugin['Name'] ), 'profile builder' ) !== false &&
231
- strpos( strtolower( $wppb_plugin['Name'] ), strtolower( $wppb_add_on['name'] ) ) !== false &&
232
- strpos( strtolower( $wppb_plugin['AuthorName'] ), strtolower('Cozmoslabs') ) !== false ) {
233
- $wppb_add_on_exists = 1;
234
-
235
- if (in_array($wppb_plugin_key, $wppb_get_active_plugins)) {
236
- $wppb_add_on_is_active = 1;
237
- }
238
-
239
- // Consider the add-on active if it's network active
240
- if (is_plugin_active_for_network($wppb_plugin_key)) {
241
- $wppb_add_on_is_network_active = 1;
242
- $wppb_add_on_is_active = 1;
243
- }
244
-
245
-
246
- $wppb_add_on['plugin_file'] = $wppb_plugin_key;
247
- }
248
- }
249
-
250
- echo '<div class="plugin-card wppb-add-on">';
251
- echo '<div class="plugin-card-top">';
252
-
253
- echo '<a target="_blank" href="' . $wppb_add_on['url'] . '?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PB' . $version . '">';
254
- echo '<img src="' . $wppb_add_on['thumbnail_url'] . '" />';
255
- echo '</a>';
256
-
257
- echo '<h3 class="wppb-add-on-title">';
258
- echo '<a target="_blank" href="' . $wppb_add_on['url'] . '?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PB' . $version . '">';
259
- echo $wppb_add_on['name'];
260
- echo '</a>';
261
- echo '</h3>';
262
-
263
- //echo '<h3 class="wppb-add-on-price">' . $wppb_add_on['price'] . '</h3>';
264
- if ( $wppb_add_on['product_version_type'][0] == 'free' )
265
- echo '<h3 class="wppb-add-on-price">' . __( 'Available with All Versions', 'profile-builder' ) . '</h3>';
266
- elseif ( $wppb_add_on['product_version_type'][0] == 'hobbyist' )
267
- echo '<h3 class="wppb-add-on-price">' . __( 'Available with the Hobbyist and Pro Versions', 'profile-builder' ) . '</h3>';
268
- elseif ( $wppb_add_on['product_version_type'][0] == 'pro' )
269
- echo '<h3 class="wppb-add-on-price">' . __( 'Available with the Pro Version', 'profile-builder' ) . '</h3>';
270
-
271
- echo '<p class="wppb-add-on-description">' . $wppb_add_on['description'] . '</p>';
272
-
273
- echo '</div>';
274
-
275
- $wppb_version_validation = version_compare(PROFILE_BUILDER_VERSION, $wppb_add_on['product_version']);
276
-
277
- ($wppb_version_validation != -1) ? $wppb_version_validation_class = 'wppb-add-on-compatible' : $wppb_version_validation_class = 'wppb-add-on-not-compatible';
278
-
279
- echo '<div class="plugin-card-bottom ' . $wppb_version_validation_class . '">';
280
-
281
- // PB minimum version number is all good
282
- if ($wppb_version_validation != -1) {
283
-
284
- // PB version type does match
285
- if (in_array(strtolower($version), $wppb_add_on['product_version_type'])) {
286
-
287
- if ($wppb_add_on_exists) {
288
-
289
- // Display activate/deactivate buttons
290
- if (!$wppb_add_on_is_active) {
291
- echo '<a class="wppb-add-on-activate right button button-secondary" href="' . $wppb_add_on['plugin_file'] . '" data-nonce="' . $ajax_nonce . '">' . __('Activate', 'profile-builder') . '</a>';
292
-
293
- // If add-on is network activated don't allow deactivation
294
- } elseif (!$wppb_add_on_is_network_active) {
295
- echo '<a class="wppb-add-on-deactivate right button button-secondary" href="' . $wppb_add_on['plugin_file'] . '" data-nonce="' . $ajax_nonce . '">' . __('Deactivate', 'profile-builder') . '</a>';
296
- }
297
-
298
- // Display message to the user
299
- if (!$wppb_add_on_is_active) {
300
- echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . __('Add-On is <strong>inactive</strong>', 'profile-builder') . '</span>';
301
- } else {
302
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Add-On is <strong>active</strong>', 'profile-builder') . '</span>';
303
- }
304
-
305
- } else {
306
-
307
- // If we're on a multisite don't add the wpp-add-on-download class to the button so we don't fire the js that
308
- // handles the in-page download
309
- ($wppb_add_on['paid']) ? $wppb_paid_link_class = 'button-primary' : $wppb_paid_link_class = 'button-secondary';
310
- ($wppb_add_on['paid']) ? $wppb_paid_link_text = __('Learn More', 'profile-builder') : $wppb_paid_link_text = __('Download Now', 'profile-builder');
311
-
312
- ($wppb_add_on['paid']) ? $wppb_paid_href_utm_text = '?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page-buy-button&utm_campaign=PB' . $version : $wppb_paid_href_utm_text = '?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PB' . $version;
313
-
314
- echo '<a target="_blank" class="right button ' . $wppb_paid_link_class . '" href="' . $wppb_add_on['url'] . $wppb_paid_href_utm_text . '" data-add-on-slug="profile-builder-' . $wppb_add_on['slug'] . '" data-add-on-name="' . $wppb_add_on['name'] . '" data-nonce="' . $ajax_nonce . '">' . $wppb_paid_link_text . '</a>';
315
- echo '<span class="dashicons dashicons-yes"></span><span class="wppb-add-on-message">' . __('Compatible with your version of Profile Builder.', 'profile-builder') . '</span>';
316
-
317
- }
318
-
319
- echo '<div class="spinner"></div>';
320
-
321
- // PB version type does not match
322
- } else {
323
-
324
- echo '<a target="_blank" class="button button-secondary right" href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page-upgrade-button&utm_campaign=PB' . $version . '">' . __('Upgrade Profile Builder', 'profile-builder') . '</a>';
325
- echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . __('Not compatible with Profile Builder', 'profile-builder') . ' ' . $version . '</span>';
326
-
327
- }
328
-
329
- } else {
330
-
331
- // If PB version is older than the minimum required version of the add-on
332
- echo ' ' . '<a class="button button-secondary right" href="' . admin_url('plugins.php') . '">' . __('Update', 'profile-builder') . '</a>';
333
- echo '<span class="wppb-add-on-message">' . __('Not compatible with your version of Profile Builder.', 'profile-builder') . '</span><br />';
334
- echo '<span class="wppb-add-on-message">' . __('Minimum required Profile Builder version:', 'profile-builder') . '<strong> ' . $wppb_add_on['product_version'] . '</strong></span>';
335
-
336
- }
337
-
338
- // We had to put this error here because we need the url of the add-on
339
- echo '<span class="wppb-add-on-user-messages wppb-error-manual-install">' . sprintf(__('Could not install add-on. Retry or <a href="%s" target="_blank">install manually</a>.', 'profile-builder'), esc_url($wppb_add_on['url'])) . '</span>';
340
-
341
- echo '</div>';
342
- echo '</div>';
343
-
344
- } /* end $wppb_add_ons foreach */
345
- }
346
-
347
- ?>
348
- </div>
349
-
350
-
351
-
352
- </div>
353
- <?php
354
  }
355
 
356
- /*
357
- * Function that returns the array of add-ons from cozmoslabs.com if it finds the file
358
- * If something goes wrong it returns false
359
- *
360
- * @since v.2.1.0
361
- */
362
- function wppb_add_ons_get_remote_content() {
363
-
364
- $response = wp_remote_get('https://www.cozmoslabs.com/wp-content/plugins/cozmoslabs-products-add-ons/profile-builder-add-ons.json');
365
-
366
- if( is_wp_error($response) ) {
367
- return false;
368
- } else {
369
- $json_file_contents = $response['body'];
370
- $wppb_add_ons = json_decode( $json_file_contents, true );
371
- }
372
 
373
- if( !is_object( $wppb_add_ons ) && !is_array( $wppb_add_ons ) ) {
374
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
375
  }
376
-
377
- return $wppb_add_ons;
378
-
379
  }
380
 
381
 
382
- /*
383
- * Function that is triggered through Ajax to activate an add-on
384
- *
385
- * @since v.2.1.0
386
  */
387
- function wppb_add_on_activate() {
388
- check_ajax_referer( 'wppb-activate-addon', 'nonce' );
389
- if( current_user_can( 'manage_options' ) ){
390
- // Setup variables from POST
391
- $wppb_add_on_to_activate = sanitize_text_field( $_POST['wppb_add_on_to_activate'] );
392
- $response = filter_var( $_POST['wppb_add_on_index'], FILTER_SANITIZE_NUMBER_INT );
393
-
394
- if( !empty( $wppb_add_on_to_activate ) && !is_plugin_active( $wppb_add_on_to_activate )) {
395
- activate_plugin( $wppb_add_on_to_activate );
396
- }
397
 
398
- if( !empty( $response ) )
399
- echo $response;
400
- }
401
- wp_die();
 
 
402
  }
403
- add_action( 'wp_ajax_wppb_add_on_activate', 'wppb_add_on_activate' );
404
-
405
 
406
- /*
407
- * Function that is triggered through Ajax to deactivate an add-on
408
- *
409
- * @since v.2.1.0
410
  */
411
- function wppb_add_on_deactivate() {
412
- check_ajax_referer( 'wppb-activate-addon', 'nonce' );
413
- if( current_user_can( 'manage_options' ) ){
414
- // Setup variables from POST
415
- $wppb_add_on_to_deactivate = sanitize_text_field( $_POST['wppb_add_on_to_deactivate'] );
416
- $response = filter_var( $_POST['wppb_add_on_index'], FILTER_SANITIZE_NUMBER_INT );
417
-
418
- if( !empty( $wppb_add_on_to_deactivate ))
419
- deactivate_plugins( $wppb_add_on_to_deactivate );
420
-
421
- if( !empty( $response ) )
422
- echo $response;
423
- }
424
- wp_die();
425
-
426
  }
427
- add_action( 'wp_ajax_wppb_add_on_deactivate', 'wppb_add_on_deactivate' );
428
-
429
 
430
- /*
431
- * Function that retrieves the data of the newly added plugin
432
- *
433
- * @since v.2.1.0
434
  */
435
- function wppb_add_on_get_new_plugin_data() {
436
- if(isset( $_POST['wppb_add_on_name'] ) ){
437
- $wppb_add_on_name = sanitize_text_field( $_POST['wppb_add_on_name'] );
438
- }
439
-
440
- $wppb_get_all_plugins = get_plugins();
441
- foreach( $wppb_get_all_plugins as $wppb_plugin_key => $wppb_plugin ) {
442
 
443
- if( strpos( $wppb_plugin['Name'], $wppb_add_on_name ) !== false && strpos( $wppb_plugin['AuthorName'], 'Cozmoslabs' ) !== false ) {
444
 
445
- // Deactivate the add-on if it's active
446
- if( is_plugin_active( $wppb_plugin_key )) {
447
- deactivate_plugins( $wppb_plugin_key );
 
 
 
 
 
 
 
448
  }
449
-
450
- // Return the plugin path
451
- echo $wppb_plugin_key;
452
- wp_die();
453
  }
454
  }
455
-
456
- wp_die();
 
 
 
 
 
 
 
 
 
 
 
 
 
457
  }
458
- add_action( 'wp_ajax_wppb_add_on_get_new_plugin_data', 'wppb_add_on_get_new_plugin_data' );
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
 
4
+ if( ! class_exists( 'CL_Addons_List_Table' ) ) {
5
+ require_once( WPPB_PLUGIN_DIR . '/assets/lib/cl-add-ons-listing/cl-add-ons-listing.php' );
6
+ }
7
+
8
  /**
9
  * Function that creates the "Add-Ons" submenu page
10
  *
26
  * @return string
27
  */
28
  function wppb_add_ons_content() {
29
+ //initialize the object
30
+ $pb_addons_listing = new CL_Addons_List_Table();
31
+ $pb_addons_listing->images_folder = WPPB_PLUGIN_URL.'assets/images/';
32
+ $pb_addons_listing->text_domain = 'profile-builder';
33
+ $pb_addons_listing->header = array( 'title' => __('Profile Builder Add-ons', 'profile-builder' ) );
34
+ $pb_addons_listing->current_version = PROFILE_BUILDER;
35
+ $pb_addons_listing->tooltip_header = __( 'Profile Builder Add-ons', 'profile-builder' );
36
+ $pb_addons_listing->tooltip_content = sprintf( __( 'You must first purchase this version to have access to the addon %1$shere%2$s', 'profile-builder' ), '<a target="_blank" href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PB">', '</a>' );
37
+
38
+
39
+ //Add Pro Section
40
+ $pb_addons_listing->section_header = array( 'title' => __('Pro Add-ons', 'profile-builder' ), 'description' => __('These Add-ons are available with the Pro and Unlimited license', 'profile-builder') );
41
+ $pb_addons_listing->section_versions = array( 'Profile Builder Pro' );
42
+ $pb_addons_listing->items = array(
43
+ array( 'slug' => 'wppb_multipleRegistrationForms',
44
+ 'type' => 'add-on',
45
+ 'name' => __( 'Multiple Registration Forms', 'profile-builder' ),
46
+ 'description' => __( 'Set up multiple registration forms with different fields for certain user roles. Helps capture different information from different types of users.', 'profile-builder' ),
47
+ 'icon' => 'pro_multiple_registration.png',
48
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/modules/multiple-registration-forms/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
49
+ ),
50
+ array( 'slug' => 'wppb_multipleEditProfileForms',
51
+ 'type' => 'add-on',
52
+ 'name' => __( 'Multiple Edit Profile Forms', 'profile-builder' ),
53
+ 'description' => __( 'Allow different user roles to edit their specific information. Set up multiple edit-profile forms with different fields for certain user roles.', 'profile-builder' ),
54
+ 'icon' => 'pro_multiple_edit_profile.png',
55
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/modules/multiple-edit-profile-forms/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
56
+ ),
57
+ array( 'slug' => 'wppb_userListing',
58
+ 'type' => 'add-on',
59
+ 'name' => __( 'User Listing', 'profile-builder' ),
60
+ 'description' => __( 'Easy to edit templates for listing your users as well as creating single user pages.', 'profile-builder' ),
61
+ 'icon' => 'pro_user_listing.png',
62
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/modules/user-listing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
63
+ ),
64
+ array( 'slug' => 'wppb_emailCustomizer',
65
+ 'type' => 'add-on',
66
+ 'name' => __( 'Email Customizer', 'profile-builder' ),
67
+ 'description' => __( 'Simple to use customization of the WordPress Registration Emails', 'profile-builder' ),
68
+ 'icon' => 'pro_email_customizer.png',
69
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/modules/user-email-customizer/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
70
+ ),
71
+ array( 'slug' => 'wppb_customRedirect',
72
+ 'type' => 'add-on',
73
+ 'name' => __( 'Custom Redirects', 'profile-builder' ),
74
+ 'description' => __( 'Redirect users after login, after they first register or when they try to access the default WordPress dashboard, login, lost password and registration forms.', 'profile-builder' ),
75
+ 'icon' => 'pro_custom_redirects.png',
76
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/modules/custom-redirects/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
77
+ ),
78
+ array( 'slug' => 'wppb_repeaterFields',
79
+ 'type' => 'add-on',
80
+ 'name' => __( 'Repeater Fields', 'profile-builder' ),
81
+ 'description' => __( 'The Repeater Field Module makes it really easy to add repeater front-end fields or groups of fields to your user profile. Integration with both the Email Customizer and User Listing modules, makes creating advanced user profiles possible.', 'profile-builder' ),
82
+ 'icon' => 'pro_repeater_fields.png',
83
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/modules/repeater-fields/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
84
+ ),
85
+ array( 'slug' => 'pb-add-on-buddypress/index.php',
86
+ 'type' => 'plugin',
87
+ 'name' => __( 'BuddyPress', 'profile-builder' ),
88
+ 'description' => __( 'This integration add-on allows extending BuddyPress user profiles with Profile Builder user fields.', 'profile-builder' ),
89
+ 'icon' => 'pro_buddypress.png',
90
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/buddypress/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
91
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/buddypress/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
92
+ ),
93
+ );
94
+ $pb_addons_listing->add_section();
95
+
96
+ //Add Hobbyist section
97
+ $pb_addons_listing->section_header = array( 'title' => __('Advanced Add-ons', 'profile-builder' ), 'description' => __('These Add-ons are available with the Hobbyist, Pro and Unlimited license', 'profile-builder') );
98
+ $pb_addons_listing->section_versions = array( 'Profile Builder Pro', 'Profile Builder Hobbyist' );
99
+ $pb_addons_listing->items = array(
100
+ array( 'slug' => 'pb-add-on-social-connect/index.php',
101
+ 'type' => 'plugin',
102
+ 'name' => __( 'Social Connect', 'profile-builder' ),
103
+ 'description' => __( 'Easily configure and enable social login on your website. Users can login with social platforms like Facebook, Google+ or Twitter.', 'profile-builder' ),
104
+ 'icon' => 'pb_addon_small_social_connect.png',
105
+ 'doc_url' => 'http://www.cozmoslabs.com/docs/profile-builder-2/add-ons/social-connect/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
106
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/social-connect/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
107
+ ),
108
+ array( 'slug' => 'pb-add-on-woocommerce/index.php',
109
+ 'type' => 'plugin',
110
+ 'name' => __( 'WooCommerce Sync', 'profile-builder' ),
111
+ 'description' => __( 'Syncs Profile Builder with WooCommerce, allowing you to manage the user Shipping and Billing fields from WooCommerce with Profile Builder.', 'profile-builder' ),
112
+ 'icon' => 'pb_addon_small_woosync.png',
113
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/woocommerce-sync/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
114
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/woocommerce-sync/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
115
+ ),
116
+ array( 'slug' => 'pb-add-on-multi-step-forms/index.php',
117
+ 'type' => 'plugin',
118
+ 'name' => __( 'Multi Step Forms', 'profile-builder' ),
119
+ 'description' => __( 'Extends the functionality of Profile Builder by adding the possibility of having multi-page registration and edit-profile forms.', 'profile-builder' ),
120
+ 'icon' => 'pb_addon_small_multistep_forms.png',
121
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/multi-step-forms/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
122
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/multi-step-forms/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
123
+ ),
124
+ array( 'slug' => 'pb-add-on-mailchimp-integration/index.php',
125
+ 'type' => 'plugin',
126
+ 'name' => __( 'MailChimp', 'profile-builder' ),
127
+ 'description' => __( 'Easily associate MailChimp list fields with Profile Builder fields and set advanced settings for each list.', 'profile-builder' ),
128
+ 'icon' => 'pb_addon_small_mailchimp.png',
129
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/mailchimp/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
130
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/profile-builder-mailchimp/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
131
+ ),
132
+ array( 'slug' => 'pb-add-on-bbpress/index.php',
133
+ 'type' => 'plugin',
134
+ 'name' => __( 'bbPress', 'profile-builder' ),
135
+ 'description' => __( 'This add-on allows you to integrate Profile Builder with the popular forums plugin, bbPress.', 'profile-builder' ),
136
+ 'icon' => 'pb_addon_small_bbpress.png',
137
+ 'doc_url' => '?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
138
+ 'download_url' => '?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
139
+ ),
140
+ array( 'slug' => 'pb-add-on-campaign-monitor/index.php',
141
+ 'type' => 'plugin',
142
+ 'name' => __( 'Campaign Monitor', 'profile-builder' ),
143
+ 'description' => __( 'Easily associate Campaign Monitor client list fields with Profile Builder fields. Use Profile Builder Campaign Monitor Widget to add more subscribers to your lists.', 'profile-builder' ),
144
+ 'icon' => 'pb_addon_small_campaignmonitor.png',
145
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/bbpress/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
146
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/bbpress/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
147
+ ),
148
+ array( 'slug' => 'pb-add-on-field-visibility/index.php',
149
+ 'type' => 'plugin',
150
+ 'name' => __( 'Field Visibility', 'profile-builder' ),
151
+ 'description' => __( 'Extends the functionality of Profile Builder by allowing you to change visibility options for the extra fields.', 'profile-builder' ),
152
+ 'icon' => 'pb_addon_small_fieldvisibility.png',
153
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/field-visibility/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
154
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/field-visibility/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
155
+ ),
156
+ array( 'slug' => 'pb-add-on-edit-profile-approved-by-admin/index.php',
157
+ 'type' => 'plugin',
158
+ 'name' => __( 'Edit Profile Approved by Admin', 'profile-builder' ),
159
+ 'description' => __( 'Extends the functionality of Profile Builder by allowing administrators to approve profile changes made by users on individual fields.', 'profile-builder' ),
160
+ 'icon' => 'pb_addon_epaa_small.png',
161
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/edit-profile-approved-by-admin/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
162
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/edit-profile-approved-by-admin/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
163
+ ),
164
+ array( 'slug' => 'pb-add-on-custom-profile-menus/index.php',
165
+ 'type' => 'plugin',
166
+ 'name' => __( 'Custom Profile Menus', 'profile-builder' ),
167
+ 'description' => __( 'Add custom menu items like Login/Logout or just Logout button and Login/Register/Edit Profile in iFrame Popup.', 'profile-builder' ),
168
+ 'icon' => 'pb_addon_small_custom_menu.png',
169
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/custom-profile-menus/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
170
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/custom-profile-menus/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
171
+ ),
172
+ array( 'slug' => 'pb-add-on-mailpoet-integration/index.php',
173
+ 'type' => 'plugin',
174
+ 'name' => __( 'MailPoet', 'profile-builder' ),
175
+ 'description' => __( 'Allow users to subscribe to your MailPoet lists directly from the Register and Edit Profile forms.', 'profile-builder' ),
176
+ 'icon' => 'pb_addon_small_mailpoet.png',
177
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/mailpoet/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
178
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/mailpoet/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
179
+ ),
180
+ );
181
+ $pb_addons_listing->add_section();
182
+
183
+ //Add Free section
184
+ $pb_addons_listing->section_header = array( 'title' => __('Free Add-ons', 'profile-builder' ), 'description' => __('These Add-ons are available in all versions of Profile Builder', 'profile-builder') );
185
+ $pb_addons_listing->section_versions = array( 'Profile Builder Pro', 'Profile Builder Hobbyist', 'Profile Builder Free' );
186
+ $pb_addons_listing->items = array(
187
+ array( 'slug' => 'import-export',
188
+ 'type' => 'add-on',
189
+ 'name' => __( 'Import and Export', 'profile-builder' ),
190
+ 'description' => __( 'With the help of this add-on you will be able to export all Profile Builder Settings data to a .json. You can then use this file as a back-up or you can import this data on another instance of Profile Builder.', 'profile-builder' ),
191
+ 'icon' => 'pb_addon_small_importexport.png',
192
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/import-export-pb-settings/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
193
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/import-export/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
194
+ ),
195
+ array( 'slug' => 'custom-css-classes-on-fields',
196
+ 'type' => 'add-on',
197
+ 'name' => __( 'Custom CSS Classes on Fields', 'profile-builder' ),
198
+ 'description' => __( 'This add-on extends the functionality of Profile Builder by allowing you to add custom css classes for fields.', 'profile-builder' ),
199
+ 'icon' => 'pb_addon_small_cssclasses.png',
200
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/custom-css-classes-on-fields-for-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
201
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/custom-css-classes-fields/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
202
+ ),
203
+ array( 'slug' => 'maximum-character-length',
204
+ 'type' => 'add-on',
205
+ 'name' => __( 'Maximum Character Length', 'profile-builder' ),
206
+ 'description' => __( 'Using this addon you can limit the maximum number of characters a user can type in a field added and managed with Profile Builder.', 'profile-builder' ),
207
+ 'icon' => 'pb_addon_small_maxcharlength.png',
208
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/maximum-character-length/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
209
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/maximum-character-length/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
210
+ ),
211
+ /*array( 'slug' => 'pd-add-on-multiple-admin-e-mails/index.php',
212
+ 'type' => 'plugin',
213
+ 'name' => __( 'Multiple Admin E-mails', 'profile-builder' ),
214
+ 'description' => __( 'Extends the functionality of Profile Builder by allowing you to set multiple admin e-mail addresses that will receive e-mail notifications sent by Profile Builder.', 'profile-builder' ),
215
+ 'icon' => 'pb_addon_small_multipleadminemails.png',
216
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/multiple-admin-e-mails/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
217
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/multiple-admin-e-mails/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
218
+ ),*/
219
+ array( 'slug' => 'labels-edit',
220
+ 'type' => 'add-on',
221
+ 'name' => __( 'Labels Edit', 'profile-builder' ),
222
+ 'description' => __( 'This add-on extends the functionality of our plugin and let us easily edit all Profile Builder labels.', 'profile-builder' ),
223
+ 'icon' => 'pb_addon_small_labeledit.png',
224
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/labels-edit/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
225
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/labels-edit/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
226
+ ),
227
+ /*array( 'slug' => 'pb-add-on-placeholder-labels/pbpl.php',
228
+ 'type' => 'plugin',
229
+ 'name' => __( 'Placeholder Labels', 'profile-builder' ),
230
+ 'description' => __( 'Extends the functionality of our plugin by replacing Labels with Placeholders in Profile Builder forms.', 'profile-builder' ),
231
+ 'icon' => 'pb_addon_small_placeholder.png',
232
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/placeholder-labels/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
233
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/placeholder-labels/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
234
+ ),*/
235
+ /*array( 'slug' => 'pb-add-on-email-confirmation-field/index.php',
236
+ 'type' => 'plugin',
237
+ 'name' => __( 'Email Confirmation Field', 'profile-builder' ),
238
+ 'description' => __( 'The Email Confirmation Field add-on is meant to check if the email address entered matches the first one, making sure a user submits a valid and correct email address.', 'profile-builder' ),
239
+ 'icon' => 'pb_addon_small_emailconfirmation.png',
240
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/email-confirmation-field/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
241
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/email-confirmation-field/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
242
+ ),*/
243
+ /*array( 'slug' => 'pb-add-on-select2/index.php',
244
+ 'type' => 'plugin',
245
+ 'name' => __( 'Select2', 'profile-builder' ),
246
+ 'description' => __( 'This add-on allows you to create select fields with search and filter functionality. All of this in a good looking, responsive select box.', 'profile-builder' ),
247
+ 'icon' => 'pb_addon_small_select2.png',
248
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/select2/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
249
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/select2/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
250
+ ),*/
251
+ array( 'slug' => 'gdpr-communication-preferences',
252
+ 'type' => 'add-on',
253
+ 'name' => __( 'GDPR Communication Preferences', 'profile-builder' ),
254
+ 'description' => __( 'This add-on plugin adds a GDPR Communication preferences field to Profile Builder.', 'profile-builder' ),
255
+ 'icon' => 'pb_addon_gdpr_small.png',
256
+ 'doc_url' => 'https://www.cozmoslabs.com/add-ons/gdpr-communication-preferences/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
257
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/gdpr-communication-preferences/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
258
+ ),
259
+ );
260
+ $pb_addons_listing->add_section();
261
+
262
+
263
+
264
+ //Add Recommended Plugins
265
+ $pb_addons_listing->section_header = array( 'title' => __('Recommended Plugins', 'profile-builder' ), 'description' => __('These plugins are compatible with all versions of Profile Builder', 'profile-builder') );
266
+ $pb_addons_listing->section_versions = array( 'Profile Builder Pro', 'Profile Builder Hobbyist', 'Profile Builder Free' );
267
+ $pb_addons_listing->items = array(
268
+ array( 'slug' => 'translatepress-multilingual/index.php',
269
+ 'type' => 'plugin',
270
+ 'name' => __( 'TranslatePress', 'profile-builder' ),
271
+ 'description' => __( 'Translate your Profile Builder forms with a WordPress translation plugin that anyone can use. It offers a simpler way to translate WordPress sites, with full support for WooCommerce and site builders.', 'profile-builder' ),
272
+ 'icon' => 'translatepress_logo.png',
273
+ 'doc_url' => 'https://translatepress.com/docs/translatepress/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
274
+ 'download_url' => 'https://wordpress.org/plugins/translatepress-multilingual/'
275
+ ),
276
+ array( 'slug' => 'paid-member-subscriptions/index.php',
277
+ 'type' => 'plugin',
278
+ 'name' => __( 'Paid Member Subscriptions', 'profile-builder' ),
279
+ 'description' => __( 'Accept user payments, create subscription plans and restrict content on your membership site.', 'profile-builder' ),
280
+ 'icon' => 'pms_logo.png',
281
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/paid-member-subscriptions/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
282
+ 'download_url' => 'https://wordpress.org/plugins/paid-member-subscriptions/'
283
+ ),
284
+ array( 'slug' => 'client-portal/index.php',
285
+ 'type' => 'plugin',
286
+ 'name' => __( 'Client Portal', 'profile-builder' ),
287
+ 'description' => __( 'Create private pages for your website users that only an administrator can edit.', 'profile-builder' ),
288
+ 'icon' => 'pb_addon_client_portal.png',
289
+ 'doc_url' => 'https://www.cozmoslabs.com/55726-how-to-wordpress-client-portal-plugin/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
290
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/client-portal/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
291
+ ),
292
+ array( 'slug' => 'custom-login-page-templates/custom-login-templates.php',
293
+ 'type' => 'plugin',
294
+ 'name' => __( 'Custom Login Page Templates', 'profile-builder' ),
295
+ 'description' => __( 'Customizes the default WordPress Login Page with different templates, logo and background uploads and also adds support for custom CSS.', 'profile-builder' ),
296
+ 'icon' => 'custom_login_page_templates_logo.png',
297
+ 'doc_url' => 'https://www.cozmoslabs.com/add-ons/custom-login-page-templates/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
298
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/custom-login-page-templates/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
299
+ ),
300
+ array( 'slug' => 'passwordless-login/passwordless_login.php',
301
+ 'type' => 'plugin',
302
+ 'name' => __( 'Passwordless Login', 'profile-builder' ),
303
+ 'description' => __( 'WordPress Passwordless Login is a plugin that allows your users to login without a password.', 'profile-builder' ),
304
+ 'icon' => 'pb_addon_small_passwordlesslogin.png',
305
+ 'doc_url' => 'https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/passwordless-login/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro',
306
+ 'download_url' => 'https://www.cozmoslabs.com/add-ons/passwordless-login/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=PBPro'
307
+ ),
308
+ );
309
+ $pb_addons_listing->add_section();
310
+
311
+
312
+ //Display the whole listing
313
+ $pb_addons_listing->display_addons();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
  }
315
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316
 
317
+ /**
318
+ * Add this for generating default options on first install
319
+ */
320
+ add_action( 'admin_init', 'wppb_generate_modules_default_values' );
321
+ function wppb_generate_modules_default_values(){
322
+ $wppb_module_settings = get_option( 'wppb_module_settings', 'not_found' );
323
+ if ( $wppb_module_settings == 'not_found' ){
324
+ $wppb_module_settings = array( 'wppb_userListing' => 'hide',
325
+ 'wppb_customRedirect' => 'hide',
326
+ 'wppb_emailCustomizer' => 'hide',
327
+ 'wppb_multipleEditProfileForms' => 'hide',
328
+ 'wppb_multipleRegistrationForms' => 'hide',
329
+ 'wppb_repeaterFields' => 'hide'
330
+ );
331
+ update_option( 'wppb_module_settings', $wppb_module_settings );
332
  }
 
 
 
333
  }
334
 
335
 
336
+ /**
337
+ * For add-ons (not plugins) the implementation is speciffic to each plugin ( PB/PMS/TP ) and is done through filters in the plugin itself
 
 
338
  */
 
 
 
 
 
 
 
 
 
 
339
 
340
+ /**
341
+ * Function that determines if a PB add-on is active
342
+ */
343
+ add_filter( 'cl_add_on_is_active', 'wppb_check_add_ons_activation', 10, 2 );
344
+ function wppb_check_add_ons_activation( $bool, $slug ){
345
+ return wppb_check_if_add_on_is_active($slug);
346
  }
 
 
347
 
348
+ /**
349
+ * Function that activates a PB add-on
 
 
350
  */
351
+ add_action( 'cl_add_ons_activate', 'wppb_activate_add_ons' );
352
+ function wppb_activate_add_ons( $slug ){
353
+ wppb_activate_or_deactivate_add_on( $slug, 'show' );
 
 
 
 
 
 
 
 
 
 
 
 
354
  }
 
 
355
 
356
+ /**
357
+ * Function that deactivates a PB add-on
 
 
358
  */
359
+ add_action( 'cl_add_ons_deactivate', 'wppb_deactivate_add_ons' );
360
+ function wppb_deactivate_add_ons( $slug ){
361
+ wppb_activate_or_deactivate_add_on( $slug, 'hide' );
362
+ }
 
 
 
363
 
 
364
 
365
+ /**
366
+ * Function used to activate or deactivate a PB add-on
367
+ */
368
+ function wppb_activate_or_deactivate_add_on( $slug, $action ){
369
+ //the old modules part
370
+ $wppb_module_settings = get_option( 'wppb_module_settings', 'not_found' );
371
+ if ( $wppb_module_settings != 'not_found' ){
372
+ foreach( $wppb_module_settings as $add_on_slug => $status ){
373
+ if( $slug == $add_on_slug ){
374
+ $wppb_module_settings[$add_on_slug] = $action;
375
  }
 
 
 
 
376
  }
377
  }
378
+ update_option( 'wppb_module_settings', $wppb_module_settings );
379
+
380
+ //the free addons part
381
+ $wppb_free_add_ons_settings = get_option( 'wppb_free_add_ons_settings', array() );
382
+ if ( !empty( $wppb_free_add_ons_settings ) ){
383
+ foreach( $wppb_free_add_ons_settings as $add_on_slug => $status ){
384
+ if( $slug == $add_on_slug ){
385
+ if( $action == 'show' )
386
+ $wppb_free_add_ons_settings[$add_on_slug] = true;
387
+ elseif( $action == 'hide' )
388
+ $wppb_free_add_ons_settings[$add_on_slug] = false;
389
+ }
390
+ }
391
+ }
392
+ update_option( 'wppb_free_add_ons_settings', $wppb_free_add_ons_settings );
393
  }
394
+
395
+ /**
396
+ * Add a notice on the add-ons page if the save was successful
397
+ */
398
+ if ( isset($_GET['cl_add_ons_listing_success']) ){
399
+ if( class_exists('WPPB_Add_General_Notices') ) {
400
+ new WPPB_Add_General_Notices('cl_add_ons_listing_success',
401
+ sprintf(__('%1$sAdd-ons settings saved successfully%2$s', 'profile-builder'), "<p>", "</p>"),
402
+ 'updated notice is-dismissible');
403
+ }
404
+ }
admin/admin-functions.php CHANGED
@@ -255,15 +255,14 @@ function wppb_add_plugin_notifications() {
255
  /* initiate the plugin notifications class */
256
  $notifications = WPPB_Plugin_Notifications::get_instance();
257
  /* this must be unique */
258
- $notification_id = 'wppb_new_feature_customization_toolbox';
259
 
260
- $message = '<img style="float: left; margin: 10px 12px 10px 0; max-width: 100px;" src="'.WPPB_PLUGIN_URL.'assets/images/pb_addon_small_toolbox.png" alt="Customization Toolbox Add-on"/>';
261
- $message .= '<p style="margin-top: 16px;">' . __( 'Check out the Customization Toolbox add-on which packs the most popular customization requests from Profile Builder.', 'profile-builder' ) . '</p>';
262
  // be careful to use wppb_dismiss_admin_notification as query arg
263
- $message .= '<p><a href="https://www.cozmoslabs.com/add-ons/customization-toolbox/" class="button-primary">' . __( 'See details', 'profile-builder' ) . '</a></p>';
264
  $message .= '<a href="' . add_query_arg( array( 'wppb_dismiss_admin_notification' => $notification_id ) ) . '" type="button" class="notice-dismiss"><span class="screen-reader-text">' . __( 'Dismiss this notice.', 'profile-builder' ) . '</span></a>';
265
 
266
- $notifications->add_notification( $notification_id, $message, 'wppb-notice wppb-narrow notice notice-info', true, array( 'profile-builder-add-ons' ) );
267
  }
268
 
269
 
255
  /* initiate the plugin notifications class */
256
  $notifications = WPPB_Plugin_Notifications::get_instance();
257
  /* this must be unique */
258
+ $notification_id = 'wppb_migrated_free_add_ons';
259
 
260
+ $message = '<p style="margin-top: 16px;">' . __( 'All the free add-ons have been migrated to the main plugin. Their old individual plugins have been disabled and you can delete them from your site if you were using them: <ul><li>Profile Builder - Custom CSS Classes on fields</li><li>Profile Builder - Customization Toolbox Add-On</li><li>Profile Builder - Email Confirmation Field</li><li>Profile Builder - GDPR Communication Preferences</li><li>Profile Builder - Import and Export Add-On</li><li>Profile Builder - Labels Edit Add-On</li><li>Profile Builder - Maximum Character Length Add-On</li><li>Profile Builder - Multiple Admin E-mails Add-On</li><li>Profile Builder - Placeholder Labels Add-On</li></ul>', 'profile-builder' ) . '</p>';
 
261
  // be careful to use wppb_dismiss_admin_notification as query arg
262
+ $message .= '<p><a href="https://www.cozmoslabs.com/277540-profile-builder-enhancements-free-addons-now-part-of-main-plugin/" target="_blank" class="button-primary">' . __( 'See details', 'profile-builder' ) . '</a></p>';
263
  $message .= '<a href="' . add_query_arg( array( 'wppb_dismiss_admin_notification' => $notification_id ) ) . '" type="button" class="notice-dismiss"><span class="screen-reader-text">' . __( 'Dismiss this notice.', 'profile-builder' ) . '</span></a>';
264
 
265
+ $notifications->add_notification( $notification_id, $message, 'wppb-notice notice notice-info', false );
266
  }
267
 
268
 
admin/advanced-settings/advanced-settings.php ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Extends the capabilites of Profile Builder by adding more settings under the Advanced Settings tab.
4
+ */
5
+
6
+ if ( ! defined( 'ABSPATH' ) ) exit;
7
+
8
+ if( !class_exists('WPPB_toolbox') ){
9
+
10
+ class WPPB_Advanced_Settings {
11
+
12
+ public $tabs;
13
+ public $advanced_settings_dir;
14
+ protected $active_tab = 'forms';
15
+
16
+ public function __construct() {
17
+
18
+ $this->tabs = array(
19
+ 'forms' => __( 'Forms', 'profile-builder' ),
20
+ 'fields' => __( 'Fields', 'profile-builder' ),
21
+ 'userlisting' => __( 'Userlisting', 'profile-builder' ),
22
+ 'shortcodes' => __( 'Shortcodes', 'profile-builder' ),
23
+ 'admin' => __( 'Admin', 'profile-builder' ),
24
+ );
25
+
26
+ $this->advanced_settings_dir = plugin_dir_path( __FILE__ );
27
+
28
+ $this->generate_settings();
29
+
30
+ add_action( 'admin_menu', array( &$this, 'register_submenu_page' ) );
31
+ add_action( 'admin_enqueue_scripts', array( &$this, 'enqueue_scripts' ) );
32
+ add_action( 'admin_init', array( &$this, 'register_settings' ) );
33
+
34
+ $this->setup_functions();
35
+ }
36
+
37
+ public function register_submenu_page() {
38
+ add_submenu_page( 'profile-builder', __( 'Advanced Settings', 'profile-builder' ), __( 'Toolbox', 'profile-builder' ), 'manage_options', 'profile-builder-toolbox-settings', array( &$this, 'submenu_page_callback' ) );
39
+ }
40
+
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
+
52
+ <?php wppb_generate_settings_tabs() ?>
53
+
54
+ <?php
55
+ if ( file_exists( $this->advanced_settings_dir . 'includes/views/view-' . $this->active_tab . '.php' ) ) {
56
+ include_once 'includes/views/view-' . $this->active_tab . '.php';
57
+ }
58
+ ?>
59
+ </div>
60
+
61
+ <?php
62
+ }
63
+
64
+ private function generate_settings() {
65
+ add_option( 'wppb_toolbox_forms_settings',
66
+ array(
67
+ 'ec-bypass' => array(),
68
+ 'restricted-email-domains-data' => array(),
69
+ 'restricted-email-domains-message' => __( 'The email address you are trying to register with is not allowed on this website.', 'profile-builder' ),
70
+ )
71
+ );
72
+
73
+ add_option( 'wppb_toolbox_fields_settings',
74
+ array(
75
+ 'restricted-words-fields' => array(),
76
+ 'restricted-words-data' => array(),
77
+ 'restricted-words-message' => __( 'Your submission contains banned words.','profile-builder' ),
78
+ )
79
+ );
80
+
81
+ add_option( 'wppb_toolbox_userlisting_settings', array() );
82
+ add_option( 'wppb_toolbox_shortcodes_settings', array() );
83
+
84
+ if( wppb_was_addon_active_as_plugin('pd-add-on-multiple-admin-e-mails/index.php') )
85
+ $multiple_admin_emails = 'yes';
86
+ else
87
+ $multiple_admin_emails = '';
88
+
89
+ //admin emails comes from the old addon Multiple Admin Emails
90
+ $wppb_generalSettings = get_option('wppb_general_settings');
91
+ if( isset( $wppb_generalSettings['admin_emails'] ) )
92
+ $admin_emails = $wppb_generalSettings['admin_emails'];
93
+ else
94
+ $admin_emails = sanitize_email( get_option('admin_email') );
95
+
96
+
97
+ add_option( 'wppb_toolbox_admin_settings',
98
+ array(
99
+ 'multiple-admin-emails' => $multiple_admin_emails,
100
+ 'admin-emails' => $admin_emails
101
+ )
102
+ );
103
+
104
+ //update cases here
105
+
106
+ //this is for the migration of Multiple Admin Emails Add-on
107
+ $wppb_toolbox_admin_settings = get_option('wppb_toolbox_admin_settings');
108
+ if( !isset( $wppb_toolbox_admin_settings['multiple-admin-emails'] ) || !isset( $wppb_toolbox_admin_settings['admin-emails'] ) ){
109
+
110
+ if( !isset( $wppb_toolbox_admin_settings['multiple-admin-emails'] ) )
111
+ $wppb_toolbox_admin_settings['multiple-admin-emails'] = $multiple_admin_emails;
112
+
113
+ if( !isset( $wppb_toolbox_admin_settings['admin-emails'] ) )
114
+ $wppb_toolbox_admin_settings['admin-emails'] = $admin_emails;
115
+
116
+ update_option( 'wppb_toolbox_admin_settings', $wppb_toolbox_admin_settings );
117
+ }
118
+
119
+ //migrate Placeholder Labels Here
120
+ if( wppb_was_addon_active_as_plugin('pb-add-on-placeholder-labels/pbpl.php') )
121
+ $placeholder_labels = 'yes';
122
+ else
123
+ $placeholder_labels = '';
124
+
125
+ $wppb_toolbox_form_settings = get_option('wppb_toolbox_forms_settings');
126
+ if( !empty( $wppb_toolbox_form_settings ) ){
127
+
128
+ if( !isset( $wppb_toolbox_form_settings['placeholder-labels'] ) )
129
+ $wppb_toolbox_form_settings['placeholder-labels'] = $placeholder_labels;
130
+
131
+ update_option( 'wppb_toolbox_forms_settings', $wppb_toolbox_form_settings );
132
+ }
133
+
134
+ }
135
+
136
+ public function register_settings() {
137
+ register_setting( 'wppb_toolbox_forms_settings', 'wppb_toolbox_forms_settings', array( $this, 'sanitize_forms_settings' ) );
138
+ register_setting( 'wppb_toolbox_fields_settings', 'wppb_toolbox_fields_settings' );
139
+ register_setting( 'wppb_toolbox_userlisting_settings', 'wppb_toolbox_userlisting_settings' );
140
+ register_setting( 'wppb_toolbox_shortcodes_settings', 'wppb_toolbox_shortcodes_settings' );
141
+ register_setting( 'wppb_toolbox_admin_settings', 'wppb_toolbox_admin_settings', array( $this, 'sanitize_forms_settings' ) );
142
+ }
143
+
144
+ public function enqueue_scripts( $hook ) {
145
+ if ( $hook == 'profile-builder_page_profile-builder-toolbox-settings' ) {
146
+ wp_enqueue_script( 'wppb-select2', WPPB_PLUGIN_URL . 'assets/js/select2/select2.min.js', array(), PROFILE_BUILDER_VERSION );
147
+ wp_enqueue_style( 'wppb-select2-style', WPPB_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), PROFILE_BUILDER_VERSION );
148
+ }
149
+ }
150
+
151
+
152
+ public function sanitize_forms_settings( $settings ) {
153
+ if( !empty( $settings['restricted-email-domains-data'] ) ){
154
+ foreach( $settings['restricted-email-domains-data'] as $key => $email )
155
+ $settings['restricted-email-domains-data'][$key] = strtolower( $email );
156
+ }
157
+
158
+ /* Multiple Admin emails */
159
+ if( isset( $settings['admin-emails'] ) && !empty( $settings['admin-emails'] ) ) {
160
+ $invalid_email = false;
161
+ $invalid_email_count = 0;
162
+
163
+ $admin_emails = explode(',', $settings['admin-emails']);
164
+
165
+ foreach( $admin_emails as $key => $admin_email ) {
166
+ if( !is_email( trim( $admin_email ) ) ) {
167
+ $invalid_email = true;
168
+ $invalid_email_count++;
169
+
170
+ unset( $admin_emails[$key] );
171
+ }
172
+ }
173
+
174
+ if( $invalid_email ) {
175
+ $settings['admin-emails'] = implode(',', $admin_emails );
176
+
177
+ if( $invalid_email_count === 1 ) {
178
+ $invalid_email_is_are = __('is', 'profile-builder');
179
+ $invalid_email_has_have = __('has', 'profile-builder');
180
+ } else {
181
+ $invalid_email_is_are = __('are', 'profile-builder');
182
+ $invalid_email_has_have = __('have', 'profile-builder');
183
+ }
184
+
185
+ add_settings_error( 'wppb_toolbox_admin_settings', 'invalid-email', sprintf( __( '%1$s of the emails provided in the Admin Emails field %2$s invalid and %3$s been removed from the list', 'profile-builder' ), $invalid_email_count, $invalid_email_is_are, $invalid_email_has_have ) );
186
+ }
187
+ }
188
+
189
+ if( empty( $settings['admin-emails'] ) ) {
190
+ $settings['admin-emails'] = sanitize_email( get_option('admin_email') );
191
+ }
192
+
193
+ return $settings;
194
+ }
195
+
196
+ private function setup_functions() {
197
+ foreach( $this->tabs as $slug => $label ) {
198
+ $settings = get_option( 'wppb_toolbox_' . $slug . '_settings' );
199
+
200
+ if ( $settings != false ) {
201
+ foreach ( $settings as $key => $value ) {
202
+ if ( !empty( $value ) || ( $key == 'redirect-delay-timer' && $value == 0 ) ) {
203
+ $path = 'includes/' . $slug . '/' . $key . '.php';
204
+
205
+ if ( file_exists( $this->advanced_settings_dir . $path ) )
206
+ include_once $path;
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+
213
+ }
214
+
215
+ function wppb_advanced_settings_init() {
216
+ if ( function_exists( 'wppb_return_bytes' ) ) {
217
+ include 'includes/functions.php';
218
+
219
+ new WPPB_Advanced_Settings;
220
+ }
221
+ }
222
+ add_action( 'plugins_loaded', 'wppb_advanced_settings_init', 14 );
223
+ }
admin/advanced-settings/includes/admin/admin-approval-access.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_rehook_admin_approval_page() {
4
+ remove_action( 'admin_menu', 'wppb_add_au_submenu_page' );
5
+
6
+ add_submenu_page( 'users.php', 'Admin Approval', 'Admin Approval', 'delete_users', 'admin_approval', 'wppb_approved_unapproved_users_custom_menu_page' );
7
+ remove_submenu_page( 'users.php', 'admin_approval' );
8
+ }
9
+ add_action( 'admin_menu', 'wppb_toolbox_rehook_admin_approval_page', 5 );
admin/advanced-settings/includes/admin/admin-approval-confirmation.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ add_filter( 'wppb_enable_admin_approval_confirmation', '__return_false' );
admin/advanced-settings/includes/admin/email-confirmation-access.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_rehook_email_confirmation_page() {
4
+ remove_action( 'admin_menu', 'wppb_add_ec_submenu_page' );
5
+
6
+ add_submenu_page( 'users.php', 'Unconfirmed Email Address', 'Unconfirmed Email Address', 'delete_users', 'unconfirmed_emails', 'wppb_unconfirmed_email_address_custom_menu_page' );
7
+ remove_submenu_page( 'users.php', 'unconfirmed_emails' ); //hide the page in the admin menu
8
+ }
9
+ add_action( 'admin_menu', 'wppb_toolbox_rehook_email_confirmation_page', 5 );
admin/advanced-settings/includes/admin/multiple-admin-emails.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ function wppb_as_overwrite_mail_to($to){
3
+ $admin_email = get_option( 'admin_email' );
4
+ $wppb_toolbox_admin_settings = get_option('wppb_toolbox_admin_settings');
5
+
6
+ if( isset( $wppb_toolbox_admin_settings['admin-emails'] ) && !empty( $wppb_toolbox_admin_settings['admin-emails'] ) && $admin_email == $to ){
7
+ return $wppb_toolbox_admin_settings['admin-emails'];
8
+ } else {
9
+ return $to;
10
+ }
11
+ }
12
+ add_filter('wppb_send_email_to', 'wppb_as_overwrite_mail_to');
13
+
admin/advanced-settings/includes/fields/automatically-generate-password.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $wppb_general_settings = get_option( 'wppb_general_settings' );
4
+
5
+ if ( isset( $wppb_general_settings ) && $wppb_general_settings['emailConfirmation'] == 'yes' ) {
6
+ add_filter( 'wppb_register_user_email_message_with_admin_approval', 'wppb_toolbox_ec_generate_password', 20, 5 );
7
+ add_filter( 'wppb_register_user_email_message_without_admin_approval', 'wppb_toolbox_ec_generate_password', 20, 5 );
8
+ }
9
+
10
+ add_filter( 'wppb_check_form_field_default-password', 'wppb_toolbox_check_password_value', 20, 4 );
11
+ add_filter( 'wppb_check_form_field_default-repeat-password', 'wppb_toolbox_check_password_value', 20, 4 );
12
+ function wppb_toolbox_check_password_value( $message, $field, $request_data, $form_location ){
13
+ if ( $form_location == 'register' )
14
+ return;
15
+
16
+ return $message;
17
+ }
18
+
19
+ add_filter( 'wppb_register_password', '__return_empty_string', 10, 6 );
20
+ add_filter( 'wppb_register_repeat_password', '__return_empty_string', 10, 6 );
21
+ add_filter( 'wppb_send_password_in_default_email_message', '__return_true' );
22
+
23
+ add_filter('wppb_send_credentials_checkbox_logic', 'wppb_toolbox_send_credentials', 10, 2);
24
+ function wppb_toolbox_send_credentials($requestdata, $form){
25
+ return '<input id="send_credentials_via_email" type="hidden" name="send_credentials_via_email" value="sending" />';
26
+ }
27
+
28
+ add_action( 'wppb_build_userdata', 'wppb_toolbox_generate_password', 20, 2 );
29
+ function wppb_toolbox_generate_password( $userdata, $global_request ) {
30
+ if ( $global_request['action'] == 'register' ) {
31
+ $userdata['user_pass'] = wp_generate_password();
32
+
33
+ return $userdata;
34
+ }
35
+
36
+ return $userdata;
37
+ }
38
+
39
+ function wppb_toolbox_ec_generate_password( $content, $email, $password, $user_message_subject, $context ) {
40
+ if ( empty( $email ) ) return $content;
41
+
42
+ $user = get_user_by( 'email', $email );
43
+
44
+ if ( $user === false ) return $content;
45
+
46
+ $password = wp_generate_password();
47
+
48
+ wp_set_password( $password, $user->ID );
49
+
50
+ $content = str_replace( 'Your selected password at signup', $password, $content );
51
+
52
+ return $content;
53
+ }
admin/advanced-settings/includes/fields/capitalize-first-last.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $wppb_general_settings = get_option( 'wppb_general_settings' );
4
+
5
+ if ( isset( $wppb_general_settings ) && $wppb_general_settings['emailConfirmation'] == 'yes' )
6
+ add_filter('wppb_add_to_user_signup_form_meta', 'wppb_toolbox_capitalize_first_last', 20, 2);
7
+ else
8
+ add_filter('wppb_build_userdata', 'wppb_toolbox_capitalize_first_last', 20, 2);
9
+
10
+ function wppb_toolbox_capitalize_first_last( $meta, $global_request ) {
11
+ if ( isset( $global_request['first_name'] ) )
12
+ $meta['first_name'] = ucwords( $global_request['first_name'] );
13
+
14
+ if ( isset($global_request['last_name']) )
15
+ $meta['last_name'] = ucwords( $global_request['last_name'] );
16
+
17
+ return $meta;
18
+ }
admin/advanced-settings/includes/fields/datepicker-starts-monday.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_datepicker_starts_on_monday( $output, $form_location, $field, $user_id, $field_check_errors, $request_data ){
4
+ $field_id = $field['meta-name'];
5
+
6
+ $script = '<script>
7
+ jQuery(function(){
8
+ jQuery("#'. $field_id . '").each( function(){
9
+ var currentDatepicker = this;
10
+ jQuery( currentDatepicker ).datepicker("destroy");
11
+ jQuery( currentDatepicker ).datepicker({
12
+ inline: true,
13
+ changeYear: true,
14
+ changeMonth: true,
15
+ dateFormat: jQuery( currentDatepicker ).data("dateformat"),
16
+ firstDay: 1,
17
+ yearRange: "c-100:c+30"
18
+ });
19
+ });
20
+ });
21
+ </script>';
22
+
23
+ return $output . $script;
24
+ }
25
+ add_filter( 'wppb_output_form_field_datepicker', 'wppb_toolbox_datepicker_starts_on_monday', 20, 6 );
26
+ add_filter( 'wppb_admin_output_form_field_datepicker', 'wppb_toolbox_datepicker_starts_on_monday', 20, 6 );
admin/advanced-settings/includes/fields/redirect-if-empty-required.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $redirect_url = wppb_toolbox_get_settings( 'fields', 'redirect-if-empty-required-url' );
4
+
5
+ if ( !empty( $redirect_url ) )
6
+ add_action( 'template_redirect', 'wppb_toolbox_redirect_if_empty_required' );
7
+
8
+ function wppb_toolbox_redirect_if_empty_required() {
9
+ if ( current_user_can( 'manage_options' ) )
10
+ return;
11
+
12
+ $user_id = get_current_user_id();
13
+ $current_url = wppb_curpageurl();
14
+ $redirect_url = get_permalink( wppb_toolbox_get_settings( 'fields', 'redirect-if-empty-required-url' ) );
15
+
16
+ if ( !empty( $user_id ) && ( $current_url != $redirect_url ) && apply_filters( 'wppb_toolbox_redirect_if_empty_required', true, $user_id, $current_url, $redirect_url ) ) {
17
+
18
+ $fields = get_option( 'wppb_manage_fields', array() );
19
+ $without_meta_name = array( 'user_url' => 'Default - Website', 'display_name' => 'Default - Display name publicly as' );
20
+
21
+ foreach ( $fields as $field ){
22
+
23
+ if ( $field['required'] == 'Yes' && !empty( $field['meta-name'] ) ){
24
+ $value = get_user_meta( $user_id, $field['meta-name'], true );
25
+
26
+ if ( empty( $value ) ){
27
+ wp_redirect( $redirect_url );
28
+ exit();
29
+ }
30
+ }
31
+
32
+ if( $field['required'] == 'Yes' && ( $field['field'] == 'Default - Website' || $field['field'] == 'Default - Display name publicly as' ) ){
33
+ $user = get_userdata( $user_id );
34
+
35
+ $key = array_search( $field['field'], $without_meta_name );
36
+ $value = $user->$key;
37
+
38
+ if ( empty( $value ) ){
39
+ wp_redirect( $redirect_url );
40
+ exit();
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
admin/advanced-settings/includes/fields/remove-all-fields-from-backend.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Hide all profile fields in backend */
3
+ add_action('admin_init', 'wppb_toolbox_remove_all_fields_from_backend');
4
+ function wppb_toolbox_remove_all_fields_from_backend(){
5
+ remove_action( 'show_user_profile', 'display_profile_extra_fields_in_admin', 10 );
6
+ remove_action( 'edit_user_profile', 'display_profile_extra_fields_in_admin', 10 );
7
+ remove_action( 'personal_options_update', 'save_profile_extra_fields_in_admin', 10 );
8
+ remove_action( 'edit_user_profile_update', 'save_profile_extra_fields_in_admin', 10 );
9
+ remove_action( 'user_profile_update_errors', 'wppb_validate_backend_fields', 10, 3 );
10
+ }
admin/advanced-settings/includes/fields/remove-repeater-fields.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_remove_repeater_from_admin() {
4
+ remove_filter('wppb_admin_output_form_field_repeater', 'wppb_repeater_handler', 10);
5
+ }
6
+ add_action( 'admin_init', 'wppb_toolbox_remove_repeater_from_admin' );
admin/advanced-settings/includes/fields/restricted-words.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $affected_fields = wppb_toolbox_get_settings( 'fields', 'restricted-words-fields' );
4
+
5
+ if ( $affected_fields != false ) {
6
+ foreach ( $affected_fields as $field )
7
+ add_filter( 'wppb_check_form_field_default-' . $field, 'wppb_toolbox_check_banned_words', 20, 4 );
8
+ }
9
+
10
+ function wppb_toolbox_check_banned_words( $message, $field, $request_data, $form_location ){
11
+ $meta_name = str_replace( 'wppb_check_form_field_default-', '', current_filter() );
12
+ $meta_name = str_replace( '-', '_', $meta_name );
13
+
14
+ if( empty( $request_data[ $meta_name ] ) ) return $message;
15
+
16
+ $banned_words = wppb_toolbox_get_settings( 'fields', 'restricted-words-data' );
17
+
18
+ if ( $banned_words == false ) return $message;
19
+
20
+ $validation_message = wppb_toolbox_get_settings( 'fields', 'restricted-words-message' );
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
+
28
+ return $message;
29
+ }
admin/advanced-settings/includes/fields/send-credentials-hide.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_filter('wppb_send_credentials_checkbox_logic', 'wppb_toolbox_send_credentials_enabled', 10, 2);
4
+ function wppb_toolbox_send_credentials_enabled($requestdata, $form){
5
+ return '<input id="send_credentials_via_email" type="hidden" name="send_credentials_via_email" value="sending"/>';
6
+ }
admin/advanced-settings/includes/fields/send-credentials-text.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $text = wppb_toolbox_get_settings( 'fields', 'send-credentials-text' );
4
+
5
+ if ( !empty( $text ) )
6
+ add_filter( 'wppb_send_credentials_checkbox_logic', 'wppb_toolbox_send_credentials_checkbox_text', 10, 2 );
7
+
8
+ function wppb_toolbox_send_credentials_checkbox_text($requestdata, $form) {
9
+ $text = wppb_toolbox_get_settings( 'fields', 'send-credentials-text' );
10
+
11
+ return '<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' : '' ).'/>'.
12
+ __( $text, 'profile-builder').'</label></li>';
13
+ }
admin/advanced-settings/includes/fields/unique-display-name.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_unique_display_name( $message, $field, $request_data, $form_location ) {
4
+
5
+ if ( isset( $request_data['display_name']) ) {
6
+ if ( isset( $_GET['edit_user'] ) )
7
+ $user = get_userdata( sanitize_text_field( $_GET['edit_user'] ) );
8
+ else
9
+ $user = wp_get_current_user();
10
+
11
+ if ( $request_data['display_name'] == $user->display_name )
12
+ return $message;
13
+
14
+ global $wpdb;
15
+
16
+ $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(ID) FROM $wpdb->users WHERE display_name = %s", $request_data['display_name'] ) );
17
+
18
+ if ( $count >= 1 )
19
+ return __( 'This display name is already in use. Please choose another one.', 'profile-builder' );
20
+ }
21
+
22
+ return $message;
23
+
24
+ }
25
+ add_filter( 'wppb_check_form_field_default-display-name-publicly-as', 'wppb_toolbox_unique_display_name', 20, 4 );
admin/advanced-settings/includes/fields/update-db-meta-keys.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ add_filter( 'wppb_update_field_meta_key_in_db', '__return_true' );
admin/advanced-settings/includes/forms/back-end-validation.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_action ('user_profile_update_errors', 'wppb_toolbox_remove_backend_profile_validation', 5);
4
+ function wppb_toolbox_remove_backend_profile_validation(){
5
+ remove_action( 'user_profile_update_errors', 'wppb_validate_backend_fields', 10, 3);
6
+ }
admin/advanced-settings/includes/forms/ec-bypass.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_filter( 'wppb_email_confirmation_on_register', 'wppb_toolbox_bypass_email_confirmation', 2, 20 );
4
+ function wppb_toolbox_bypass_email_confirmation( $email_confirmation, $global_request ) {
5
+ $forms = wppb_toolbox_get_settings( 'forms', 'ec-bypass' );
6
+
7
+ if ( in_array( $global_request['form_name'], $forms ) )
8
+ return 'no';
9
+
10
+ return $email_confirmation;
11
+ }
admin/advanced-settings/includes/forms/edit-other-users-limit.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_filter( 'wppb_edit_other_users_count_limit', 'wppb_toolbox_edit_users_dropdown_limit' );
4
+ function wppb_toolbox_edit_users_dropdown_limit() {
5
+ return 100000;
6
+ }
admin/advanced-settings/includes/forms/placeholder-labels.php ADDED
@@ -0,0 +1,238 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Function that enqueues the necessary scripts in the front-end area
4
+ *
5
+ * @since v.1.0
6
+ *
7
+ */
8
+ function wppb_pbpl_scripts_and_styles() {
9
+ wp_enqueue_script( 'wppb_pbpl_init', WPPB_PLUGIN_URL . 'assets/js/placeholder-labels.js', array( 'jquery' ) );
10
+ wp_enqueue_style( 'wppb_pbpl_css', WPPB_PLUGIN_URL . 'assets/css/placeholder-labels.css' );
11
+
12
+ if( is_rtl() ) {
13
+ wp_enqueue_style( 'wppb_pbpl_css_rtl', plugin_dir_url( __FILE__ ) . 'assets/css/placeholder-labels-rtl.css' );
14
+ }
15
+ }
16
+ add_action( 'wp_enqueue_scripts', 'wppb_pbpl_scripts_and_styles' );
17
+
18
+
19
+ /*
20
+ * Function that adds a new class to each form field
21
+ *
22
+ * @since v.1.0
23
+ *
24
+ * @param string $field Contain the class of each form field
25
+ *
26
+ * @return string
27
+ */
28
+ function wppb_pbpl_field_css_class( $field ) {
29
+ $field = esc_attr( $field );
30
+
31
+ if( strpos( $field, 'wppb-subscription-plans' ) == false ) {
32
+ $field = $field . ' pbpl-class';
33
+ }
34
+
35
+ return $field;
36
+ }
37
+
38
+
39
+ /*
40
+ * Function that adds a new placeholder attribute to each form field
41
+ *
42
+ * @since v.1.0
43
+ *
44
+ * @param array $field Contain each form field
45
+ *
46
+ * @return string
47
+ */
48
+ function wppb_pbpl_extra_attribute( $extra_attribute, $field, $form_location ) {
49
+ $extra_attr_only_for = array(
50
+ 'Default - Username',
51
+ 'Default - First Name',
52
+ 'Default - Last Name',
53
+ 'Default - Nickname',
54
+ 'Default - E-mail',
55
+ 'Default - Website',
56
+ 'Default - Password',
57
+ 'Default - Repeat Password',
58
+ 'Default - Biographical Info',
59
+ 'Input',
60
+ 'Textarea',
61
+ 'Email Confirmation',
62
+ 'Phone',
63
+ 'Colorpicker',
64
+ 'Datepicker',
65
+ 'Number',
66
+ 'Validation',
67
+ );
68
+
69
+ if( ! empty ( $field ) && in_array( $field['field'], $extra_attr_only_for ) ) {
70
+ $extra_attribute .= 'placeholder = "' . esc_attr( wppb_icl_t( 'plugin profile-builder-pro', 'custom_field_'.$field['id'].'_title_translation', $field['field-title'] ) ) . ( ( $field['required'] == 'Yes' ) ? '*' : '' ) . '"';
71
+ }
72
+
73
+ return $extra_attribute;
74
+ }
75
+
76
+
77
+ /*
78
+ * Function that adds a new placeholder attribute to each WooCommerce Add-on form field
79
+ *
80
+ * @since v.1.1
81
+ *
82
+ * @param array $field Contain each form field
83
+ *
84
+ * @return string
85
+ */
86
+ function wppb_pbpl_woo_extra_attribute( $extra_attribute, $field ) {
87
+ $extra_attribute .= 'placeholder = "' . esc_attr( $field['label'] ) . ( ( $field['required'] == 'Yes' ) ? '*' : '' ) . '"';
88
+
89
+ return $extra_attribute;
90
+ }
91
+
92
+
93
+ /*
94
+ * Function that adds a Meta Box on each edit Register and Edit-Profile forms when Multiple Forms are active
95
+ *
96
+ * @since v.2.0
97
+ *
98
+ */
99
+ function wppb_pbpl_add_meta_boxes() {
100
+ $pbpl_pb_moduleSettings = get_option( 'wppb_module_settings', 'not_found' );
101
+
102
+ if( $pbpl_pb_moduleSettings != 'not_found' ) {
103
+
104
+ if( $pbpl_pb_moduleSettings['wppb_multipleRegistrationForms'] == 'show' ) {
105
+ add_meta_box( 'pbpl-rf-side', __( 'Placeholder Labels', 'profile-builder' ), 'wppb_pbpl_meta_box_content', 'wppb-rf-cpt', 'side', 'low' );
106
+ }
107
+
108
+ if( $pbpl_pb_moduleSettings['wppb_multipleEditProfileForms'] == 'show' ) {
109
+ add_meta_box( 'pbpl-epf-side', __( 'Placeholder Labels', 'profile-builder' ), 'wppb_pbpl_meta_box_content', 'wppb-epf-cpt', 'side', 'low' );
110
+ }
111
+
112
+ }
113
+ }
114
+ add_action( 'add_meta_boxes', 'wppb_pbpl_add_meta_boxes' );
115
+
116
+
117
+ /*
118
+ * Function that adds content to Meta Boxes on each edit Register and Edit-Profile forms
119
+ *
120
+ * @since v.2.0
121
+ *
122
+ * @param object $post Contain the post data
123
+ */
124
+ function wppb_pbpl_meta_box_content( $post ) {
125
+ $pbpl_select_value = get_post_meta( $post->ID, 'pbpl-active', true );
126
+ $pbpl_select_value = esc_attr( $pbpl_select_value );
127
+
128
+ ?>
129
+ <div class="wrap">
130
+ <p>
131
+ <label for="pbpl-active" ><?php _e( 'Replace labels with placeholders:', 'profile-builder' ) ?></label>
132
+ </p>
133
+ <select name="pbpl-active" id="pbpl-active" class="mb-select">
134
+ <option value="yes" <?php selected( $pbpl_select_value, 'yes' ); ?>><?php _e( 'Yes', 'profile-builder' ) ?></option>
135
+ <option value="no" <?php selected( $pbpl_select_value, 'no' ); ?>><?php _e( 'No', 'profile-builder' ) ?></option>
136
+ </select>
137
+ </div>
138
+ <?php
139
+ }
140
+
141
+
142
+ /*
143
+ * Function that saves the Meta Box option
144
+ *
145
+ * @since v.2.0
146
+ *
147
+ */
148
+ function wppb_pbpl_save_meta_box_option() {
149
+ global $post;
150
+
151
+ if( isset( $_POST['pbpl-active'] ) ) {
152
+ $pbpl_select_value = sanitize_text_field( $_POST['pbpl-active'] );
153
+
154
+ update_post_meta( $post->ID, 'pbpl-active', $pbpl_select_value );
155
+ }
156
+ }
157
+ add_action( 'save_post', 'wppb_pbpl_save_meta_box_option' );
158
+
159
+
160
+ /*
161
+ * Function that activate or deactivate replacement of labels with placeholders in form
162
+ *
163
+ * @since v.2.0
164
+ *
165
+ * @param array $form Contain the form args
166
+ */
167
+ function wppb_pbpl_activate( $form ) {
168
+ $pbpl_pb_moduleSettings = get_option( 'wppb_module_settings', 'not_found' );
169
+
170
+ if( ( $pbpl_pb_moduleSettings != 'not_found' && isset( $pbpl_pb_moduleSettings['wppb_multipleRegistrationForms'] ) && $pbpl_pb_moduleSettings['wppb_multipleRegistrationForms'] == 'show' ) || ( $pbpl_pb_moduleSettings != 'not_found' && isset( $pbpl_pb_moduleSettings['wppb_multipleEditProfileForms'] ) && $pbpl_pb_moduleSettings['wppb_multipleEditProfileForms'] == 'show' ) ) {
171
+ if( ! empty( $form['ID'] ) ) {
172
+ $pbpl_saved_value = get_post_meta( $form['ID'], 'pbpl-active', true );
173
+
174
+ if( $pbpl_saved_value == 'no' ) {
175
+ return;
176
+ } else {
177
+ wppb_pbpl_add_filters();
178
+ }
179
+ } else {
180
+ wppb_pbpl_add_filters();
181
+ }
182
+ } else {
183
+ wppb_pbpl_add_filters();
184
+ }
185
+ }
186
+ add_action( 'wppb_form_args_before_output', 'wppb_pbpl_activate' );
187
+
188
+
189
+ /*
190
+ * Function that adds the necessary filters
191
+ *
192
+ * @since v.2.0
193
+ *
194
+ */
195
+ function wppb_pbpl_add_filters() {
196
+ add_filter( 'wppb_field_css_class', 'wppb_pbpl_field_css_class', 10, 1 );
197
+ add_filter( 'wppb_extra_attribute', 'wppb_pbpl_extra_attribute', 10, 3 );
198
+ add_filter( 'wppb_woo_extra_attribute', 'wppb_pbpl_woo_extra_attribute', 10, 2 );
199
+ add_filter( 'wppb_extra_select_option', 'wppb_pbpl_extra_select_option', 10, 3 );
200
+ add_filter( 'wppb_select2_multiple_arguments', 'wppb_pbpl_select2_multiple_placeholder', 10, 3 );
201
+ }
202
+
203
+ /*
204
+ * Function that adds the necessary filters
205
+ *
206
+ * @since v.2.3.4
207
+ *
208
+ */
209
+ function wppb_pbpl_extra_select_option( $option, $field, $item_title ) {
210
+ $option = '<option value="" class="custom_field_select_option '. apply_filters( 'wppb_fields_extra_css_class', '', $field ) .'" disabled '. ( $field['field'] == 'Select (User Role)' ? '' : ( $field['field'] == 'Select2 (Multiple)' ? '' : 'selected' ) ) .'>'. esc_attr( $item_title ) . ( $field['required'] == 'Yes' ? '*' : '' ) .'</option>';
211
+
212
+ return $option;
213
+ }
214
+
215
+ /*
216
+ * Function that adds placeholder for Select2 Multiple field
217
+ *
218
+ * @since v.2.3.4
219
+ *
220
+ */
221
+ function wppb_pbpl_select2_multiple_placeholder( $arguments, $form_location, $field ) {
222
+ $arguments['placeholder'] = esc_attr( wppb_icl_t( 'plugin profile-builder-pro', 'custom_field_'.$field['id'].'_title_translation', $field['field-title'] ) ) . ( $field['required'] == 'Yes' ? '*' : '' );
223
+
224
+ return $arguments;
225
+ }
226
+
227
+ /*
228
+ * Function that adds placeholder for Recover Password form fields
229
+ *
230
+ * @since v.2.3.4
231
+ *
232
+ */
233
+ function wppb_pbpl_recover_password( $extra_attr, $input_title, $input_type ) {
234
+ $extra_attr .= ' placeholder="'. esc_attr( $input_title ) . '" ';
235
+
236
+ return $extra_attr;
237
+ }
238
+ add_filter( 'wppb_recover_password_extra_attr', 'wppb_pbpl_recover_password', 10, 3 );
admin/advanced-settings/includes/forms/redirect-author-page.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_redirect_author_page_if_not_approved() {
4
+ if (!is_author()) return;
5
+
6
+ $author = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));
7
+
8
+ if ( wp_get_object_terms( $author->ID, 'user_status' ) ){
9
+ wp_redirect( home_url() );
10
+ die();
11
+ } else
12
+ return;
13
+ }
14
+ add_action( 'template_redirect', 'wppb_toolbox_redirect_author_page_if_not_approved' );
admin/advanced-settings/includes/forms/redirect-delay-timer.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $delay = wppb_toolbox_get_settings( 'forms', 'redirect-delay-timer' );
4
+
5
+ if ( is_numeric( $delay ) ) {
6
+ add_filter( 'wppb_edit_profile_redirect_delay', 'wppb_toolbox_register_redirect_delay_duration', 10, 3 );
7
+ add_filter( 'wppb_register_redirect_delay', 'wppb_toolbox_register_redirect_delay_duration', 10, 3 );
8
+ }
9
+
10
+ function wppb_toolbox_register_redirect_delay_duration( $default, $user, $args ) {
11
+ $delay = wppb_toolbox_get_settings( 'forms', 'redirect-delay-timer' );
12
+
13
+ if ( $delay === false )
14
+ return $default;
15
+
16
+
17
+ return $delay;
18
+ }
admin/advanced-settings/includes/forms/remember-me.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_action( 'wppb_login_form_bottom', 'wppb_toolbox_rememberme_checked', 99 );
4
+ function wppb_toolbox_rememberme_checked() {
5
+ return '<script>if ( document.getElementById("rememberme") ) document.getElementById("rememberme").checked = true;</script>';
6
+ }
admin/advanced-settings/includes/forms/restricted-email-domains.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_check_email_domain( $message, $field, $request_data, $form_location ) {
4
+
5
+ $type = wppb_toolbox_get_settings( 'forms', 'restricted-email-domains-type' );
6
+
7
+ if ( $type == false ) return $message;
8
+
9
+ $restricted_domains = wppb_toolbox_get_settings( 'forms', 'restricted-email-domains-data' );
10
+
11
+ if ( $restricted_domains == false ) return $message;
12
+
13
+ $domain = strtolower( substr( strrchr( $request_data['email'], '@' ), 1 ) );
14
+ $validation_message = wppb_toolbox_get_settings( 'forms', 'restricted-email-domains-message' );
15
+
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
+
28
+ return $message;
29
+ }
30
+ add_filter( 'wppb_check_form_field_default-e-mail', 'wppb_toolbox_check_email_domain', 20, 4 );
admin/advanced-settings/includes/forms/save-admin-approval-status.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $wppb_general_settings = get_option( 'wppb_general_settings' );
4
+
5
+ if ( isset( $wppb_general_settings['adminApproval'] ) && $wppb_general_settings['adminApproval'] == 'yes' ) {
6
+ add_action( 'wppb_after_user_approval', 'wppb_toolbox_update_admin_approval_in_usermeta', 20 );
7
+
8
+ if ( isset( $wppb_general_settings['emailConfirmation'] ) && $wppb_general_settings['emailConfirmation'] == 'yes' )
9
+ add_action( 'wppb_activate_user', 'wppb_toolbox_save_admin_approval_in_usermeta_ec', 20, 3 );
10
+ else
11
+ add_action( 'wppb_register_success', 'wppb_toolbox_save_admin_approval_in_usermeta', 20, 3 );
12
+
13
+ }
14
+
15
+ function wppb_toolbox_save_admin_approval_in_usermeta( $http_request, $form_name, $user_id ){
16
+ update_user_meta( $user_id, 'wppb_approval_status', 'unapproved' );
17
+ }
18
+
19
+ function wppb_toolbox_save_admin_approval_in_usermeta_ec( $user_id, $password, $meta ){
20
+ update_user_meta( $user_id, 'wppb_approval_status', 'unapproved' );
21
+ }
22
+
23
+ function wppb_toolbox_update_admin_approval_in_usermeta( $user_id ){
24
+ update_user_meta( $user_id, 'wppb_approval_status', 'approved' );
25
+ }
admin/advanced-settings/includes/forms/save-last-login.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_action( 'wp_login', 'wppb_toolbox_count_user_logins', 20, 2 );
4
+ function wppb_toolbox_count_user_logins( $user_login, $user ) {
5
+ if ( empty($user->ID) ) return;
6
+
7
+ $now = new DateTime( 'now', wp_timezone() );
8
+ update_user_meta( $user->ID, 'last_login_date', $now->format( 'Y-m-d H:i:s' ) );
9
+ }
admin/advanced-settings/includes/forms/save-last-profile-update.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_action( 'wppb_edit_profile_success', 'wppb_toolbox_save_last_update_date', 20, 3 );
4
+ function wppb_toolbox_save_last_update_date( $http_request, $form_name, $user_id ) {
5
+ update_user_meta( $user_id, 'last_profile_update_date', date( 'Y-m-d H:i:s' ) );
6
+ }
admin/advanced-settings/includes/forms/social-connect-bypass-ec.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_filter( 'wppb_sc_email_confirmation_on_off', 'wppb_toolbox_sc_email_confirmation' );
4
+ function wppb_toolbox_sc_email_confirmation() {
5
+ return 'off';
6
+ }
admin/advanced-settings/includes/forms/users-can-register.php ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php
2
+
3
+ if ( get_option( 'users_can_register' ) != '1' )
4
+ add_filter( 'wppb_register_setting_override', '__return_false' );
admin/advanced-settings/includes/functions.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) exit;
3
+
4
+ /**
5
+ * @param string $context Name of the folder where the code file is placed (tab slug).
6
+ * @param string $setting Name of the file where the code is placed.
7
+ * @return string|false Returns false if settings are empty (shouldn't reach this point in that case anyway), else returns the setting.
8
+ */
9
+ function wppb_toolbox_get_settings( $context, $setting ) {
10
+ $option = 'wppb_toolbox_' . $context . '_settings';
11
+
12
+ $settings = get_option( $option );
13
+
14
+ if ( $settings == false ) return false;
15
+
16
+ if ( isset( $settings[ $setting ] ) )
17
+ return $settings[ $setting ];
18
+
19
+ return false;
20
+ }
admin/advanced-settings/includes/shortcodes/compare.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_shortcode( 'compare', 'wppb_toolbox_compare_shortcode' );
4
+ function wppb_toolbox_compare_shortcode( $atts, $content ){
5
+ extract(
6
+ $out = shortcode_atts( array( 'val1' => '', 'val2' => '', 'operator' => ''), $atts )
7
+ );
8
+
9
+ foreach($out as $key => $value){
10
+ $out[$key] = str_replace('&#8221;', '', $value );
11
+ }
12
+
13
+ $l = $out['val1'];
14
+ $r = $out['val2'];
15
+
16
+ $operators = array(
17
+ '==' => function($l, $r) {
18
+ return $l == $r;
19
+ },
20
+ '===' => function($l, $r) {
21
+ return $l === $r;
22
+ },
23
+ '!=' => function($l, $r) {
24
+ return $l != $r;
25
+ },
26
+ '<' => function($l, $r) {
27
+ return $l < $r;
28
+ },
29
+ '>' => function($l, $r) {
30
+ return $l > $r;
31
+ },
32
+ '<=' => function($l, $r) {
33
+ return $l <= $r;
34
+ },
35
+ '>=' => function($l, $r) {
36
+ return $l >= $r;
37
+ },
38
+ '' => function($l, $r) {
39
+ return $l == $r;
40
+ },
41
+ );
42
+
43
+ if ( !array_key_exists($out['operator'], $operators ) )
44
+ return '<p>The compare operator <strong style="padding:0 10px;">' . $out["operator"] . '</strong> is not recognized. Please try: == , ===, !=, <, >, <=, >=';
45
+
46
+ $bool = $operators[$out['operator']]($l, $r);
47
+
48
+ if( $bool )
49
+ return $content;
50
+ }
admin/advanced-settings/includes/shortcodes/format-date.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_shortcode( 'wppb-format-date', 'wppb_toolbox_format_date_handler' );
4
+ function wppb_toolbox_format_date_handler( $atts ){
5
+ $a = shortcode_atts( array(
6
+ 'date' => null,
7
+ 'format' => null,
8
+ ),$atts );
9
+
10
+ if ($a['date'] === null)
11
+ return;
12
+
13
+ if ($a['format'] === null)
14
+ return $a['date'];
15
+
16
+ $date = strtotime($a['date']);
17
+
18
+ return date($a['format'], $date);
19
+ }
admin/advanced-settings/includes/shortcodes/resend-activation.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_shortcode( 'wppb-resend-activation', 'wppb_toolbox_resend_activation_url_handler' );
4
+ function wppb_toolbox_resend_activation_url_handler() {
5
+ $button_name = __('Resend activation email', 'profile-builder');
6
+ $output = '<form enctype="multipart/form-data" method="post" id="wppbc-resend_activation" class="wppb-user-forms" action="">';
7
+ $output .= '
8
+ <li>
9
+ <label for="username_email" style="padding-right: 30px;">'.__( 'Email', 'profile-builder' ).'</label>
10
+ <input class="text-input" name="email" type="text" id="username_email" value="" />
11
+ <div style="padding-top: 20px;">
12
+ <input name="resend_activation" type="submit" id="wppbc-resend-activation-button" class="submit button" value="'. $button_name . '" />
13
+ <input name="action" type="hidden" id="action" value="wppbc_resend_activation" />
14
+ </div>
15
+ </li>
16
+ </form>';
17
+
18
+ return $output;
19
+ }
20
+
21
+ add_action( 'init', 'wppb_toolbox_resend_activation_url', 999 );
22
+ function wppb_toolbox_resend_activation_url() {
23
+ if(isset($_REQUEST['action']) && $_REQUEST['action'] === 'wppbc_resend_activation' && isset($_REQUEST['email'])) {
24
+ global $wpdb;
25
+ $sql_result = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $wpdb->base_prefix . "signups WHERE user_email = %s", sanitize_email( $_REQUEST['email'] ) ), ARRAY_A );
26
+
27
+ if ( $sql_result ){
28
+ wppb_signup_user_notification( trim( $sql_result['user_login'] ), trim( $sql_result['user_email'] ), $sql_result['activation_key'], $sql_result['meta'] );
29
+ echo '<script> alert("Activation email sent!");</script>';
30
+ }
31
+ else {
32
+ echo '<script> alert("No sign-up was made with that email!");</script>';
33
+ }
34
+ }
35
+ }
admin/advanced-settings/includes/shortcodes/usermeta.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_shortcode('user_meta', 'wppb_toolbox_usermeta_handler');
4
+ function wppb_toolbox_usermeta_handler( $atts, $content=null){
5
+
6
+ if ( !isset( $atts['user_id'] ) ){
7
+ $user = wp_get_current_user();
8
+ $atts['user_id'] = $user->ID;
9
+ }
10
+ if ( !isset( $atts['size'] ) ){
11
+ $atts['size'] = '50';
12
+ }
13
+ if ( !isset( $atts['pre'] ) ) {
14
+ $atts['pre'] = '';
15
+ }
16
+ if ( !isset( $atts['post'] ) ) {
17
+ $atts['post'] = '';
18
+ }
19
+ if ( !isset( $atts['wpautop'] ) ) {
20
+ $atts['wpautop'] = '';
21
+ }
22
+
23
+
24
+ $user = new WP_User($atts['user_id']);
25
+
26
+ if ( !$user->exists() ) return;
27
+
28
+ if ( !array_key_exists( 'key', $atts ) ) return;
29
+
30
+ if( $atts['key'] == 'avatar'){
31
+ return $atts['pre'] . get_avatar( $user->ID, $atts['size']) . $atts['post'] ;
32
+ }
33
+ if ( $user->has_prop( $atts['key'] ) ){
34
+ if ($atts['wpautop'] == 'on'){
35
+ $value = wpautop( $user->get( $atts['key'] ) );
36
+ } else {
37
+ $value = $user->get( $atts['key'] );
38
+ }
39
+ }
40
+
41
+ if (!empty( $value )){
42
+ return $atts['pre'] . $value . $atts['post'] ;
43
+ }
44
+
45
+ return;
46
+ }
admin/advanced-settings/includes/userlisting/modify-permalinks-single.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_flush_rewrite_rules() {
4
+ $base = wppb_toolbox_get_settings( 'userlisting', 'modify-permalinks-single' );
5
+
6
+ if ( $base == false ) return;
7
+
8
+ $rules = get_option( 'rewrite_rules' );
9
+ $frontpage_id = get_option( 'page_on_front' );
10
+
11
+ if ( !isset($rules['(.+?)/'.$base.'/([^/]+)']) ||
12
+ !isset($rules['(.?.+?)/' . wppb_get_users_pagination_slug() . '/?([0-9]{1,})/?$'] ) ||
13
+ ( !empty( $frontpage_id ) && !isset( $rules[wppb_get_users_pagination_slug() . '/?([0-9]{1,})/?$'] ) ) ) {
14
+ global $wp_rewrite;
15
+
16
+ $wp_rewrite->flush_rules();
17
+ }
18
+ }
19
+ add_action( 'wp_loaded', 'wppb_toolbox_flush_rewrite_rules' );
20
+
21
+ function wppb_toolbox_insert_userlisting_rule( $rules ) {
22
+ $base = wppb_toolbox_get_settings( 'userlisting', 'modify-permalinks-single' );
23
+
24
+ if ( $base == false ) return $rules;
25
+
26
+ $wppb_addonOptions = get_option('wppb_module_settings');
27
+
28
+ if( $wppb_addonOptions['wppb_userListing'] == 'show' ) {
29
+ $new_rules = array();
30
+
31
+ //user rule
32
+ $new_rules['(.+?)/'. $base .'/([^/]+)'] = 'index.php?pagename=$matches[1]&username=$matches[2]';
33
+
34
+ //users-page rule
35
+ $frontpage_id = get_option('page_on_front');
36
+ if (!empty($frontpage_id)) {
37
+ $new_rules[wppb_get_users_pagination_slug() . '/?([0-9]{1,})/?$'] = 'index.php?&page_id=' . $frontpage_id . '&wppb_page=$matches[1]';
38
+ }
39
+
40
+ $new_rules['(.?.+?)/' . wppb_get_users_pagination_slug() . '/?([0-9]{1,})/?$'] = 'index.php?pagename=$matches[1]&wppb_page=$matches[2]';
41
+
42
+ $rules = $new_rules + $rules;
43
+ }
44
+
45
+ return $rules;
46
+
47
+ }
48
+ add_filter( 'rewrite_rules_array', 'wppb_toolbox_insert_userlisting_rule' );
49
+
50
+ add_action('init', 'wppb_toolbox_remove_ul_rewrite_rules');
51
+ function wppb_toolbox_remove_ul_rewrite_rules() {
52
+ remove_action( 'wp_loaded', 'wppb_flush_rewrite_rules' );
53
+ remove_filter( 'rewrite_rules_array', 'wppb_insert_userlisting_rule' );
54
+ }
55
+
56
+ add_filter( 'wppb_userlisting_more_info_link_structure2', 'wppb_toolbox_modify_more_info_link', 20, 3 );
57
+ add_filter( 'wppb_userlisting_more_info_link_structure3', 'wppb_toolbox_modify_more_info_link', 20, 3 );
58
+ function wppb_toolbox_modify_more_info_link( $final_url, $url, $user_info ) {
59
+ $base = wppb_toolbox_get_settings( 'userlisting', 'modify-permalinks-single' );
60
+
61
+ if ( $base == false ) return $final_url;
62
+
63
+ if ( apply_filters( 'wppb_userlisting_get_user_by_id', true ) )
64
+ $new_url = trailingslashit( $url ) . $base . '/' . $user_info->ID;
65
+ else
66
+ $new_url = trailingslashit( $url ) . $base . '/' . $user_info;
67
+
68
+ return $new_url;
69
+ }
admin/advanced-settings/includes/userlisting/remove-repetitions.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ add_filter( 'wppb_ul_show_filter_count', '__return_false' );
admin/advanced-settings/includes/userlisting/search-placeholder-text.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_toolbox_userlisting_search_placeholder_text( $default ) {
4
+ $text = wppb_toolbox_get_settings( 'userlisting', 'search-placeholder-text' );
5
+
6
+ if ( $text == false )
7
+ return $default;
8
+
9
+ return $text;
10
+ }
11
+ add_filter('wppb_userlisting_search_field_text', 'wppb_toolbox_userlisting_search_placeholder_text', 20 );
admin/advanced-settings/includes/userlisting/use-nicename-single.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ add_filter('wppb_userlisting_get_user_by_id', '__return_false');
admin/advanced-settings/includes/views/view-admin.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+ <?php
4
+ $settings = get_option( 'wppb_toolbox_admin_settings' );
5
+ ?>
6
+
7
+ <form method="post" action="options.php">
8
+
9
+ <?php settings_fields( 'wppb_toolbox_admin_settings' ); ?>
10
+
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 Adress 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
+ </table>
100
+
101
+ <?php submit_button( __( 'Save Changes', 'profile-builder' ) ); ?>
102
+
103
+ </form>
admin/advanced-settings/includes/views/view-fields.php ADDED
@@ -0,0 +1,295 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+ <?php
4
+ $settings = get_option( 'wppb_toolbox_fields_settings' );
5
+ ?>
6
+
7
+ <form method="post" action="options.php">
8
+
9
+ <?php settings_fields( 'wppb_toolbox_fields_settings' ); ?>
10
+
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 )
82
+ echo '<option value="' . esc_attr( $page->ID ) . '"' . ( isset( $settings['redirect-if-empty-required-url'] ) ? selected( $settings['redirect-if-empty-required-url'], $page->ID, false ) : '') . '>' . esc_html( $page->post_title ) . ' ( ID: ' . esc_attr( $page->ID ) . ')' . '</option>';
83
+ ?>
84
+ </select>
85
+
86
+ </li>
87
+ </ul>
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>
112
+
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">
144
+
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
+ ?>
152
+
153
+ </select>
154
+ </li>
155
+ </ul>
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
+
166
+ </div>
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>
209
+ </tr>
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>
226
+ </tr>
227
+ <?php endif; ?>
228
+
229
+
230
+ <?php
231
+ $wppb_module_settings = get_option( 'wppb_module_settings' );
232
+
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>
252
+ </tr>
253
+ <?php endif; ?>
254
+
255
+ <?php if ( file_exists( WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php' ) ) : ?>
256
+ <tr>
257
+ <th><?php _e( 'Remove All Extra Fields from Backend edit profile page.', 'profile-builder' ); ?></th>
258
+
259
+ <td>
260
+ <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">
261
+ <?php _e( 'Yes', 'profile-builder' ); ?>
262
+ </label>
263
+
264
+ <ul>
265
+ <li class="description">
266
+ <?php _e( 'If you activate this option, it will remove all custom fields from the backend profile page created with Profile Builder.', 'profile-builder' ); ?>
267
+ </li>
268
+ </ul>
269
+ </td>
270
+ </tr>
271
+ <?php endif; ?>
272
+
273
+ <?php if ( file_exists( WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php' ) ) : ?>
274
+ <tr>
275
+ <th><?php _e( 'Update database entries when changing meta key', 'profile-builder' ); ?></th>
276
+
277
+ <td>
278
+ <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">
279
+ <?php _e( 'Yes', 'profile-builder' ); ?>
280
+ </label>
281
+
282
+ <ul>
283
+ <li class="description">
284
+ <?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' ); ?>
285
+ </li>
286
+ </ul>
287
+ </td>
288
+ </tr>
289
+ <?php endif; ?>
290
+
291
+ </table>
292
+
293
+ <?php submit_button( __( 'Save Changes', 'profile-builder' ) ); ?>
294
+
295
+ </form>
admin/advanced-settings/includes/views/view-forms.php ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+ <?php
4
+ $settings = get_option( 'wppb_toolbox_forms_settings' );
5
+ ?>
6
+
7
+ <form method="post" action="options.php">
8
+
9
+ <?php settings_fields( 'wppb_toolbox_forms_settings' ); ?>
10
+
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>
41
+
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">
67
+
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
+ ?>
75
+
76
+ </select>
77
+ </li>
78
+ </ul>
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
+
89
+ </div>
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>
100
+ </tr>
101
+
102
+ <?php
103
+ $wppb_module_settings = get_option( 'wppb_module_settings' );
104
+
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>
112
+ <select id="toolbox-bypass-ec" class="wppb-select" name="wppb_toolbox_forms_settings[ec-bypass][]" multiple="multiple">
113
+
114
+ <?php
115
+ $registration_forms = get_posts( array( 'post_type' => 'wppb-rf-cpt' ) );
116
+
117
+ if ( !empty( $registration_forms ) ) {
118
+ foreach ( $registration_forms as $form ) {
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
+ }
127
+ }
128
+ ?>
129
+
130
+ </select>
131
+ </label>
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>
139
+ </tr>
140
+ <?php endif; ?>
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>
189
+ </tr>
190
+
191
+ <?php
192
+ $users = count_users();
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>
209
+ </tr>
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>
229
+ </td>
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>
247
+ </tr>
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>
267
+ </tr>
268
+ <?php endif; ?>
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>
288
+ </tr>
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
+ </table>
336
+
337
+ <?php submit_button( __( 'Save Changes', 'profile-builder' ) ); ?>
338
+
339
+ </form>
admin/advanced-settings/includes/views/view-shortcodes.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+ <?php $settings = get_option( 'wppb_toolbox_shortcodes_settings' ); ?>
4
+
5
+ <form method="post" action="options.php">
6
+
7
+ <?php settings_fields( 'wppb_toolbox_shortcodes_settings' ); ?>
8
+
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>
73
+ </tr>
74
+
75
+ </table>
76
+
77
+ <?php submit_button( __( 'Save Changes', 'profile-builder' ) ); ?>
78
+
79
+ </form>
admin/advanced-settings/includes/views/view-userlisting.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+ <?php $settings = get_option( 'wppb_toolbox_userlisting_settings' ); ?>
4
+
5
+ <form method="post" action="options.php">
6
+
7
+ <?php settings_fields( 'wppb_toolbox_userlisting_settings' ); ?>
8
+
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>
87
+ </tr>
88
+
89
+ </table>
90
+
91
+ <?php submit_button( __( 'Save Changes', 'profile-builder' ) ); ?>
92
+
93
+ </form>
admin/basic-info.php CHANGED
@@ -146,13 +146,13 @@ function wppb_basic_info_content() {
146
  </div>
147
  <hr/>
148
  <div>
149
- <h3><?php _e( 'Powerful Modules (**)', 'profile-builder' );?></h3>
150
- <p><?php _e( 'Everything you will need to manage your users is probably already available using the Pro Modules.', 'profile-builder' ); ?></p>
151
- <?php if( file_exists ( WPPB_PLUGIN_DIR.'/modules/modules.php' ) ): ?>
152
- <p><a href="admin.php?page=profile-builder-modules" class="button"><?php _e( 'Enable your modules', '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-modules&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">
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">
admin/general-settings.php CHANGED
@@ -1,24 +1,34 @@
1
  <?php
2
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
  /**
4
- * Function that returns an array with the settings tabs(pages) and subtabs(subpages)
5
  * @return array with the tabs
6
  */
7
  function wppb_get_settings_pages(){
 
 
8
  $settings_pages['pages'] = array(
9
  'profile-builder-general-settings' => __( 'General Settings', 'profile-builder' ),
10
  'profile-builder-admin-bar-settings' => __( 'Admin Bar', 'profile-builder' ),
11
  'profile-builder-content_restriction' => __( 'Content Restriction', 'profile-builder' ),
12
  'profile-builder-private-website' => __( 'Private Website', 'profile-builder' ),
 
13
  );
14
 
15
- if (file_exists(WPPB_PLUGIN_DIR . '/modules/modules.php')) {
16
- $wppb_module_settings = get_option('wppb_module_settings');
 
 
 
 
 
 
 
 
17
  if( ( isset($wppb_module_settings['wppb_emailCustomizerAdmin']) && $wppb_module_settings['wppb_emailCustomizerAdmin'] == 'show' ) || ( isset($wppb_module_settings['wppb_emailCustomizer']) && $wppb_module_settings['wppb_emailCustomizer'] == 'show') ){
18
  $settings_pages['pages']['user-email-customizer'] = __( 'Email Customizer', 'profile-builder' );
19
- //add subpages here for email customizer
20
- $settings_pages['subpages']['user-email-customizer']['user-email-customizer'] = __( 'User Emails', 'profile-builder' );
21
- $settings_pages['subpages']['user-email-customizer']['admin-email-customizer'] = __( 'Administrator Emails', 'profile-builder' );
22
  }
23
  }
24
 
@@ -30,14 +40,14 @@ function wppb_get_settings_pages(){
30
  */
31
  function wppb_generate_settings_tabs(){
32
  ?>
33
- <h3 class="nav-tab-wrapper">
34
  <?php
35
  $pages = wppb_get_settings_pages();
36
 
37
  $active_tab = sanitize_text_field($_GET['page']);
38
  //if we are on a subpage we need to change the active tab to the parent
39
- if( !empty( $pages['subpages'] ) ) {
40
- foreach ($pages['subpages'] as $parent_slug => $subpages) {
41
  if (array_key_exists($active_tab, $subpages)) {
42
  $active_tab = $parent_slug;
43
  }
@@ -48,22 +58,41 @@ function wppb_generate_settings_tabs(){
48
  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>';
49
  }
50
  ?>
51
- </h3>
52
  <?php
53
- if( !empty( $pages['subpages'] ) ) {
54
- $active_subpage = sanitize_text_field($_GET['page']);
55
- echo '<ul class="wppb-subtabs subsubsub">';
56
- foreach ($pages['subpages'] as $parent_slug => $subpages) {
 
57
  if (array_key_exists( sanitize_text_field( $_GET['page'] ), $subpages)) {
 
58
  foreach ($subpages as $subpage_slug => $subpage_name) {
59
  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>';
60
  }
 
61
  }
62
  }
63
- echo '</ul>';
64
  }
65
 
66
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
 
69
  /**
1
  <?php
2
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
  /**
4
+ * Function that returns an array with the settings tabs(pages) and secondary tabs( can be sub-pages (we load a registered page as a secondary tab) or actual sub-tabs )
5
  * @return array with the tabs
6
  */
7
  function wppb_get_settings_pages(){
8
+ $wppb_module_settings = get_option('wppb_module_settings');
9
+
10
  $settings_pages['pages'] = array(
11
  'profile-builder-general-settings' => __( 'General Settings', 'profile-builder' ),
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
 
18
+ //add tabs here for Advanced Settings
19
+ $settings_pages['sub-tabs']['profile-builder-toolbox-settings']['forms'] = __( 'Forms', 'profile-builder' );
20
+ $settings_pages['sub-tabs']['profile-builder-toolbox-settings']['fields'] = __( 'Fields', 'profile-builder' );
21
+ if ( file_exists( WPPB_PLUGIN_DIR . '/add-ons/add-ons.php' ) && isset( $wppb_module_settings['wppb_userListing'] ) && $wppb_module_settings['wppb_userListing'] === 'show' )
22
+ $settings_pages['sub-tabs']['profile-builder-toolbox-settings']['userlisting'] = __( 'Userlisting', 'profile-builder' );
23
+ $settings_pages['sub-tabs']['profile-builder-toolbox-settings']['shortcodes'] = __( 'Shortcodes', 'profile-builder' );
24
+ $settings_pages['sub-tabs']['profile-builder-toolbox-settings']['admin'] = __( 'Admin', 'profile-builder' );
25
+
26
+ //add sub-pages here for email customizer
27
+ if (file_exists(WPPB_PLUGIN_DIR . '/add-ons/add-ons.php')) {
28
  if( ( isset($wppb_module_settings['wppb_emailCustomizerAdmin']) && $wppb_module_settings['wppb_emailCustomizerAdmin'] == 'show' ) || ( isset($wppb_module_settings['wppb_emailCustomizer']) && $wppb_module_settings['wppb_emailCustomizer'] == 'show') ){
29
  $settings_pages['pages']['user-email-customizer'] = __( 'Email Customizer', 'profile-builder' );
30
+ $settings_pages['sub-pages']['user-email-customizer']['user-email-customizer'] = __( 'User Emails', 'profile-builder' );
31
+ $settings_pages['sub-pages']['user-email-customizer']['admin-email-customizer'] = __( 'Administrator Emails', 'profile-builder' );
 
32
  }
33
  }
34
 
40
  */
41
  function wppb_generate_settings_tabs(){
42
  ?>
43
+ <nav class="nav-tab-wrapper">
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) {
51
  if (array_key_exists($active_tab, $subpages)) {
52
  $active_tab = $parent_slug;
53
  }
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
  }
75
  }
 
76
  }
77
 
78
+ if( !empty( $pages['sub-tabs'] ) ) {
79
+ foreach ($pages['sub-tabs'] as $parent_slug => $tabs) {
80
+ if ( $active_subpage == $parent_slug) {
81
+ echo '<ul class="wppb-subtabs subsubsub">';
82
+ //determine the active tab, if no tab present then default to the first one
83
+ if( isset($_GET['tab']) )
84
+ $active_tab = sanitize_text_field( $_GET['tab'] );
85
+ else {
86
+ $keys = array_keys($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
+ }
94
+ }
95
+ }
96
  }
97
 
98
  /**
admin/manage-fields.php CHANGED
@@ -111,8 +111,13 @@ function wppb_populate_manage_fields(){
111
 
112
  $manage_field_types['optgroups']['other']['options'][] = 'Email';
113
  $manage_field_types['optgroups']['other']['options'][] = 'URL';
 
 
 
114
  }
115
 
 
 
116
  /* added recaptcha and user role field since version 2.6.2 */
117
  $manage_field_types['optgroups']['advanced']['options'][] = 'reCAPTCHA';
118
  $manage_field_types['optgroups']['advanced']['options'][] = 'Select (User Role)';
@@ -278,7 +283,12 @@ function wppb_populate_manage_fields(){
278
  'description' => __( '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.', 'profile-builder' ),
279
  'default' => 50,
280
  ),
281
- ) );
 
 
 
 
 
282
 
283
  // create the new submenu with the above options
284
  $args = array(
@@ -1064,6 +1074,8 @@ function wppb_return_unique_field_list( $only_default_fields = false ){
1064
 
1065
  $unique_field_list[] = 'GDPR Checkbox';
1066
 
 
 
1067
  if ( wppb_can_users_signup_blog() ) {
1068
  $unique_field_list[] = 'Default - Blog Details';
1069
  }
@@ -1359,9 +1371,9 @@ function wppb_add_content_before_manage_fields(){
1359
  <p>
1360
  <?php
1361
  if( PROFILE_BUILDER == 'Profile Builder Pro' )
1362
- _e("If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Modules.", 'profile-builder');
1363
  else
1364
- _e( "With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms module.", "profile-builder" )
1365
  ?>
1366
  </p>
1367
  <?php
111
 
112
  $manage_field_types['optgroups']['other']['options'][] = 'Email';
113
  $manage_field_types['optgroups']['other']['options'][] = 'URL';
114
+
115
+ $manage_field_types['optgroups']['other']['options'][] = 'Select2';
116
+ $manage_field_types['optgroups']['other']['options'][] = 'Select2 (Multiple)';
117
  }
118
 
119
+ $manage_field_types['optgroups']['other']['options'][] = 'Email Confirmation';
120
+
121
  /* added recaptcha and user role field since version 2.6.2 */
122
  $manage_field_types['optgroups']['advanced']['options'][] = 'reCAPTCHA';
123
  $manage_field_types['optgroups']['advanced']['options'][] = 'Select (User Role)';
283
  'description' => __( '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.', 'profile-builder' ),
284
  'default' => 50,
285
  ),
286
+
287
+ //add Select 2 attributes
288
+ array( 'type' => 'text', 'slug' => 'select2-multiple-limit', 'title' => __( 'Maximum Selections', 'profile-builder' ), 'description' => __( "Select2 multi-value select boxes can set restrictions regarding the maximum number of options selected.", 'profile-builder' ) ),
289
+ array( 'type' => 'checkbox', 'slug' => 'select2-multiple-tags', 'title' => __( 'User Inputted Options', 'profile-builder' ), 'options' => array( '%Enable user inputted options%yes' ), 'description' => __( "Check this to allow users to create their own options beside the pre-existing ones.", 'profile-builder' ) ),
290
+
291
+ ) );
292
 
293
  // create the new submenu with the above options
294
  $args = array(
1074
 
1075
  $unique_field_list[] = 'GDPR Checkbox';
1076
 
1077
+ $unique_field_list[] = 'Email Confirmation';
1078
+
1079
  if ( wppb_can_users_signup_blog() ) {
1080
  $unique_field_list[] = 'Default - Blog Details';
1081
  }
1371
  <p>
1372
  <?php
1373
  if( PROFILE_BUILDER == 'Profile Builder Pro' )
1374
+ _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');
1375
  else
1376
+ _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" )
1377
  ?>
1378
  </p>
1379
  <?php
assets/css/placeholder-labels-rtl.css ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #wppb-recover-password ul li.wppb-form-field label,
2
+ .wppb-user-forms #loginform .login-username label,
3
+ .wppb-user-forms #loginform .login-password label,
4
+ .wppb-form-field.pbpl-class label {
5
+ left: 0;
6
+ right: -99999px;
7
+ }
8
+
9
+ .wppb-form-field.pbpl-class .wppb-checkboxes li label,
10
+ .wppb-form-field.pbpl-class .wppb-radios li label,
11
+ .wppb-form-field.wppb-radio.pbpl-class label,
12
+ .wppb-form-field.wppb-checkbox.pbpl-class label,
13
+ .wppb-form-field.wppb-campaign-monitor-subscribe.pbpl-class label,
14
+ .wppb-form-field.wppb-mailchimp-subscribe.pbpl-class label,
15
+ .wppb-form-field.wppb-mailpoet-subscribe.pbpl-class label,
16
+ .wppb-form-field.wppb-checkbox-terms-and-conditions.pbpl-class label,
17
+ .wppb-form-field.wppb-upload.pbpl-class label,
18
+ .wppb-form-field.wppb-select-multiple.pbpl-class label,
19
+ .wppb-form-field.wppb-timepicker.pbpl-class label,
20
+ .wppb-form-field.wppb-avatar.pbpl-class label {
21
+ right: 0;
22
+ }
23
+
24
+ .wppb-form-field.wppb-checkbox.pbpl-class .wppb-checkboxes li input[type="checkbox"],
25
+ .wppb-form-field.wppb-radio.pbpl-class .wppb-radios li input[type="radio"],
26
+ .wppb-form-field.wppb-campaign-monitor-subscribe.pbpl-class input[type="checkbox"].extra_field_campaign_monitor,
27
+ .wppb-form-field.wppb-mailchimp-subscribe.pbpl-class input[type="checkbox"].extra_field_mailchimp,
28
+ .wppb-form-field.wppb-mailpoet-subscribe.pbpl-class input[type="checkbox"].extra_field_mailpoet,
29
+ .wppb-form-field.wppb-checkbox-terms-and-conditions.pbpl-class input[type="checkbox"].custom_field_toa,
30
+ .wppb-form-field.wppb-send-credentials-checkbox input[type="checkbox"]#send_credentials_via_email {
31
+ margin-right: 0;
32
+ margin-left: 10px;
33
+ }
34
+
35
+ .wppb-form-field.wppb-checkbox.pbpl-class .wppb-checkboxes li,
36
+ .wppb-form-field.wppb-radio.pbpl-class .wppb-radios li {
37
+ padding: 0 0 0 20px;
38
+ }
39
+
40
+ .wppb-required {
41
+ margin-left: 0;
42
+ margin-right: 5px;
43
+ }
assets/css/placeholder-labels.css ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #wppb-recover-password ul li.wppb-form-field label,
2
+ .wppb-user-forms #wppb-loginform .login-username label,
3
+ .wppb-user-forms #wppb-loginform .login-password label,
4
+ .wppb-form-field.pbpl-class label {
5
+ text-indent: -99999px;
6
+ position: absolute;
7
+ left: -99999px;
8
+ }
9
+
10
+ .wppb-form-field.wppb-campaign-monitor-subscribe.pbpl-class label,
11
+ .wppb-form-field.wppb-mailchimp-subscribe.pbpl-class label,
12
+ .wppb-form-field.wppb-mailpoet-subscribe.pbpl-class label,
13
+ .wppb-form-field.wppb-checkbox-terms-and-conditions.pbpl-class label,
14
+ .wppb-form-field.wppb-gdpr-checkbox.pbpl-class label,
15
+ .wppb-form-field.wppb-upload.pbpl-class label,
16
+ .wppb-form-field.wppb-select-multiple.pbpl-class label,
17
+ .wppb-form-field.wppb-timepicker.pbpl-class label,
18
+ .wppb-form-field.wppb-avatar.pbpl-class label {
19
+ text-indent: 0;
20
+ position: relative;
21
+ left: 0;
22
+ width: 100%;
23
+ }
24
+
25
+ .wppb-form-field.pbpl-class .wppb-radios li label,
26
+ .wppb-form-field.wppb-radio.pbpl-class label,
27
+ .wppb-form-field.pbpl-class .wppb-checkboxes li label,
28
+ .wppb-form-field.wppb-checkbox.pbpl-class label {
29
+ text-indent: 0;
30
+ position: relative;
31
+ left: 0;
32
+ width: auto;
33
+ }
34
+
35
+ .wppb-user-forms #wppb-loginform .login-username input[type="text"],
36
+ .wppb-user-forms #wppb-loginform .login-password input[type="password"],
37
+ .wppb-form-field.pbpl-class input[type="text"],
38
+ .wppb-form-field.pbpl-class input[type="email"],
39
+ .wppb-form-field.pbpl-class input[type="url"],
40
+ .wppb-form-field.pbpl-class input[type="password"],
41
+ .wppb-form-field.pbpl-class input[type="search"],
42
+ .wppb-form-field.pbpl-class input[type="number"],
43
+ .wppb-form-field.pbpl-class select,
44
+ .wppb-form-field.pbpl-class textarea,
45
+ .wppb-form-field.pbpl-class .wppb-checkboxes,
46
+ .wppb-form-field.pbpl-class .wppb-radios,
47
+ .wppb-form-field.wppb-wysiwyg.pbpl-class .wp-editor-wrap,
48
+ #wppb-login-wrap.pbpl-class .login-username input,
49
+ #wppb-login-wrap.pbpl-class .login-password input,
50
+ #wppb-recover-password ul li.wppb-form-field input {
51
+ width: 100%;
52
+ }
53
+
54
+ .wppb-form-field.pbpl-class .wppb-description-delimiter,
55
+ .wppb-form-field.wppb-html.pbpl-class span.custom_field_html {
56
+ margin-left: auto;
57
+ }
58
+
59
+ .wppb-form-field.wppb-select2.pbpl-class span.select2.select2-container,
60
+ .wppb-form-field.wppb-select-cpt.pbpl-class span.select2.select2-container,
61
+ .wppb-form-field.wppb-select2-multiple.pbpl-class span.select2.select2-container {
62
+ width: 100% !important;
63
+ margin-left: 0 !important;
64
+ }
assets/css/serial-notice.css CHANGED
@@ -46,6 +46,6 @@ div.wppb-serial-notification p{
46
 
47
  /* hide menu items */
48
  .wp-submenu a[href="admin.php?page=profile-builder-admin-bar-settings"], .wp-submenu a[href="admin.php?page=profile-builder-content_restriction"],
49
- .wp-submenu a[href="admin.php?page=admin-email-customizer"], .wp-submenu a[href="admin.php?page=user-email-customizer"]{
50
  display:none !important;
51
  }
46
 
47
  /* hide menu items */
48
  .wp-submenu a[href="admin.php?page=profile-builder-admin-bar-settings"], .wp-submenu a[href="admin.php?page=profile-builder-content_restriction"],
49
+ .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"]{
50
  display:none !important;
51
  }
assets/css/style-back-end.css CHANGED
@@ -364,6 +364,11 @@
364
  }
365
 
366
  /* Admin Bar Page */
 
 
 
 
 
367
  .wppb-admin-bar label{
368
  margin-right:30px;
369
  padding:5px;
@@ -833,3 +838,78 @@ div.wppb-notice .notice-dismiss {
833
  .wppb_manage_fields_sortables > .dashicons {color: #f4f4f4; position: absolute; margin-left: -32px;}
834
  .wppb_manage_fields_sortables:hover > .dashicons {color: #000;}
835
  .wppb_selector_for_sortable_checkbox {margin-left: 32px; width: calc(100% - 32px);}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
  }
365
 
366
  /* Admin Bar Page */
367
+
368
+ .wppb-admin-bar > .description{
369
+ margin-top:23px;
370
+ }
371
+
372
  .wppb-admin-bar label{
373
  margin-right:30px;
374
  padding:5px;
838
  .wppb_manage_fields_sortables > .dashicons {color: #f4f4f4; position: absolute; margin-left: -32px;}
839
  .wppb_manage_fields_sortables:hover > .dashicons {color: #000;}
840
  .wppb_selector_for_sortable_checkbox {margin-left: 32px; width: calc(100% - 32px);}
841
+
842
+
843
+ /**
844
+ Advanced Settings or Toolbox (legacy addon)
845
+ */
846
+ .wppb-toolbox-list {
847
+ margin-top: 0;
848
+ }
849
+
850
+ .wppb-toolbox-list li {
851
+ list-style-type: none;
852
+ display: inline-block;
853
+ margin-right: 10px;
854
+ }
855
+
856
+ .wppb-toolbox-list .toolbox-label {
857
+ width: 140px;
858
+ }
859
+
860
+ .wppb-toolbox-list .toolbox-select2-container {
861
+ width: 100%;
862
+ max-width: 350px;
863
+ }
864
+
865
+ .wppb-toolbox-list #toolbox-restricted-email-domains-message {
866
+ width: 100%;
867
+ max-width: 350px;
868
+ }
869
+
870
+ .wppb-toolbox-list input[type="text"] {
871
+ width: 100%;
872
+ }
873
+
874
+ .wppb-toolbox-list--margin {
875
+ margin-top: 14px;
876
+ }
877
+
878
+ .form-table td {
879
+ padding-top: 20px;
880
+ }
881
+
882
+ .wppb-toolbox-accordion {
883
+ display: none;
884
+ }
885
+
886
+ .wppb-toolbox-wrap #setting-error-settings_updated p {
887
+ font-size: 13px;
888
+ }
889
+
890
+ .wppb-toolbox-admin-emails{
891
+ width: 75%;
892
+ }
893
+
894
+ /* select 2 field */
895
+ .wppb-select2 span.select2-container,
896
+ .wppb-select2 div.select2-container{ /* compatibility with WooCommerce which loads Select2 v.3.5.3 */
897
+ width: 15em !important;
898
+ }
899
+
900
+ @media screen and (max-width: 782px){
901
+ .wppb-select2 span.select2-container,
902
+ .wppb-select2 div.select2-container{ /* compatibility with WooCommerce which loads Select2 v.3.5.3 */
903
+ width: 100% !important;
904
+ }
905
+ .wppb-select2 span.select2-selection,
906
+ .wppb-select2 div.select2-selection{ /* compatibility with WooCommerce which loads Select2 v.3.5.3 */
907
+ height: 40px !important;
908
+ font-size: 16px;
909
+ line-height: 1.5;
910
+ padding-top: 7px;
911
+ padding-right: 10px;
912
+ padding-bottom: 7px;
913
+ padding-left: 10px;
914
+ }
915
+ }
assets/images/custom_login_page_templates_logo.png ADDED
Binary file
assets/images/pb_addon_buddypress_small.png ADDED
Binary file
assets/images/pb_addon_client_portal.png ADDED
Binary file
assets/images/pb_addon_epaa_small.png ADDED
Binary file
assets/images/pb_addon_gdpr_small.png ADDED
Binary file
assets/images/pb_addon_small_bbpress.png ADDED
Binary file
assets/images/pb_addon_small_campaignmonitor.png ADDED
Binary file
assets/images/pb_addon_small_cssclasses.png ADDED
Binary file
assets/images/pb_addon_small_custom_menu.png ADDED
Binary file
assets/images/pb_addon_small_emailconfirmation.png ADDED
Binary file
assets/images/pb_addon_small_fieldvisibility.png ADDED
Binary file
assets/images/pb_addon_small_importexport.png ADDED
Binary file
assets/images/pb_addon_small_labeledit.png ADDED
Binary file
assets/images/pb_addon_small_mailchimp.png ADDED
Binary file
assets/images/pb_addon_small_mailpoet.png ADDED
Binary file
assets/images/pb_addon_small_maxcharlength.png ADDED
Binary file
assets/images/pb_addon_small_multipleadminemails.png ADDED
Binary file
assets/images/pb_addon_small_multistep_forms.png ADDED
Binary file
assets/images/pb_addon_small_passwordlesslogin.png ADDED
Binary file
assets/images/pb_addon_small_placeholder.png ADDED
Binary file
assets/images/pb_addon_small_select2.png ADDED
Binary file
assets/images/pb_addon_small_social_connect.png ADDED
Binary file
assets/images/pb_addon_small_woosync.png ADDED
Binary file
assets/images/pms_logo.png ADDED
Binary file
assets/images/pro_buddypress.png ADDED
Binary file
assets/images/pro_custom_redirects.png ADDED
Binary file
assets/images/pro_email_customizer.png ADDED
Binary file
assets/images/pro_multiple_edit_profile.png ADDED
Binary file
assets/images/pro_multiple_registration.png ADDED
Binary file
assets/images/pro_repeater_fields.png ADDED
Binary file
assets/images/pro_user_listing.png ADDED
Binary file
assets/images/translatepress_logo.png ADDED
Binary file
assets/js/jquery-manage-fields-live-change.js CHANGED
@@ -253,7 +253,19 @@ var fields = {
253
  '.row-overwrite-existing'
254
  ]
255
  },
256
-
 
 
 
 
 
 
 
 
 
 
 
 
257
  'URL': { 'show_rows' : [
258
  '.row-field-title',
259
  '.row-meta-name',
@@ -374,9 +386,38 @@ var fields = {
374
  '.row-cpt',
375
  '.row-required',
376
  '.row-overwrite-existing'
377
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
378
  },
379
-
380
  'Checkbox': { 'show_rows' : [
381
  '.row-field-title',
382
  '.row-meta-name',
253
  '.row-overwrite-existing'
254
  ]
255
  },
256
+ 'Email Confirmation': { 'show_rows' : [
257
+ '.row-field-title',
258
+ '.row-field',
259
+ '.row-description',
260
+ '.row-required'
261
+ ],
262
+ 'required' : [
263
+ true
264
+ ],
265
+ 'properties': {
266
+ 'meta_name_value' : ''
267
+ }
268
+ },
269
  'URL': { 'show_rows' : [
270
  '.row-field-title',
271
  '.row-meta-name',
386
  '.row-cpt',
387
  '.row-required',
388
  '.row-overwrite-existing'
389
+ ]
390
+ },
391
+ "Select2": { 'show_rows' : [
392
+ '.row-field-title',
393
+ '.row-meta-name',
394
+ '.row-description',
395
+ '.row-default-option',
396
+ '.row-required',
397
+ '.row-overwrite-existing',
398
+ '.row-options',
399
+ '.row-labels',
400
+ '.row-visibility',
401
+ '.row-user-role-visibility',
402
+ '.row-location-visibility'
403
+ ]
404
+ },
405
+ "Select2 (Multiple)": { 'show_rows' : [
406
+ '.row-field-title',
407
+ '.row-meta-name',
408
+ '.row-description',
409
+ '.row-default-options',
410
+ '.row-required',
411
+ '.row-overwrite-existing',
412
+ '.row-options',
413
+ '.row-labels',
414
+ '.row-select2-multiple-limit',
415
+ '.row-select2-multiple-tags',
416
+ '.row-visibility',
417
+ '.row-user-role-visibility',
418
+ '.row-location-visibility'
419
+ ]
420
  },
 
421
  'Checkbox': { 'show_rows' : [
422
  '.row-field-title',
423
  '.row-meta-name',
assets/js/jquery-pb-sitewide.js CHANGED
@@ -183,3 +183,52 @@ jQuery( function() {
183
  });
184
  }
185
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  });
184
  }
185
  });
186
+
187
+
188
+ /*
189
+ * Advanced Settings page (Toolbox)
190
+ */
191
+
192
+ jQuery( function() {
193
+ if( jQuery('body.profile-builder_page_profile-builder-toolbox-settings').length != 0 ) {
194
+
195
+ jQuery('#toolbox-bypass-ec').select2();
196
+
197
+ jQuery('#toolbox-restricted-emails').select2({
198
+ tags: true,
199
+ width: '100%'
200
+ });
201
+
202
+ jQuery('.wppb-toolbox-switch').on('click', function () {
203
+ if (jQuery(this).prop('checked'))
204
+ jQuery('.wppb-toolbox-accordion').show();
205
+ else
206
+ jQuery('.wppb-toolbox-accordion').hide();
207
+ });
208
+
209
+ jQuery('#wppb-toolbox-send-credentials-hide').on('click', function () {
210
+ if (jQuery(this).prop('checked'))
211
+ jQuery('#toolbox-send-credentials-text').parent().hide();
212
+ else
213
+ jQuery('#toolbox-send-credentials-text').parent().show();
214
+ });
215
+
216
+ jQuery('#wppb-toolbox-redirect-users-hide').on('click', function () {
217
+ if (jQuery(this).prop('checked'))
218
+ jQuery('#toolbox-redirect-users-url').parent().show();
219
+ else
220
+ jQuery('#toolbox-redirect-users-url').parent().hide();
221
+ });
222
+
223
+
224
+ if (jQuery('.wppb-toolbox-switch').prop('checked'))
225
+ jQuery('.wppb-toolbox-accordion').show();
226
+
227
+ if (jQuery('#wppb-toolbox-send-credentials-hide').prop('checked'))
228
+ jQuery('#toolbox-send-credentials-text').parent().hide();
229
+
230
+ if (jQuery('#wppb-toolbox-redirect-users-hide').prop('checked'))
231
+ jQuery('#toolbox-redirect-users-url').parent().show();
232
+ }
233
+ });
234
+
assets/js/placeholder-labels.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Function that adds placeholders to Login Forms and Widget fields
3
+ *
4
+ * @since v.2.1
5
+ *
6
+ */
7
+ jQuery( document ).ready( function() {
8
+ jQuery(".login-username input, .login-password input").each( function ( index, elem ) {
9
+ var element_id = jQuery( elem ).attr( 'id' );
10
+ if( element_id && ( label = jQuery( elem ).parents( '#wppb-login-wrap' ).find( 'label[for=' + element_id + ']' ) ).length === 1 ) {
11
+ jQuery( elem ).attr( 'placeholder', jQuery( label ).text() );
12
+ }
13
+ });
14
+ });
assets/lib/cl-add-ons-listing/assets/css/cl-add-ons-listing.css ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ Style the Add-ons listing page
3
+ */
4
+ #cl-add-ons-listing .cl-main-header{
5
+ margin-bottom:30px;
6
+ }
7
+
8
+ #cl-add-ons-listing .cl-add-ons-section{
9
+ margin:40px 0;
10
+ }
11
+
12
+ #cl-add-ons-listing .tablenav{
13
+ display:none;
14
+ }
15
+
16
+ #cl-add-ons-listing .column-add_on{
17
+ width:80%;
18
+ }
19
+
20
+ #cl-add-ons-listing .column-icon{
21
+ width: 64px;
22
+ }
23
+
24
+ #cl-add-ons-listing .column-actions{
25
+ width:200px;
26
+ vertical-align: middle !important;
27
+ }
28
+ #cl-add-ons-listing .cl-add-ons-search-box{
29
+ margin-bottom:40px;
30
+ }
31
+
32
+ #cl-add-ons-listing #cl-add-ons-search-input{
33
+ width:350px;
34
+ }
assets/lib/cl-add-ons-listing/assets/js/cl-add-ons-listing.js ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery( function(){
2
+
3
+ //disable enter on search input
4
+ jQuery('#cl-add-ons-search-input').keypress(function(event) {
5
+ if (event.keyCode == 13) {
6
+ event.preventDefault();
7
+ }
8
+ });
9
+
10
+ jQuery('#cl-add-ons-search-input').on( 'keyup', function(e){
11
+
12
+ var search = jQuery(this).val().toUpperCase();
13
+
14
+ //hide individual add-ons
15
+ jQuery('tbody tr').each( function(){
16
+ addonName = jQuery( '.cl-add-ons-name', jQuery(this) ).text();
17
+ if (addonName.toUpperCase().indexOf(search) > -1) {
18
+ jQuery(this).show();
19
+ } else {
20
+ jQuery(this).hide();
21
+ }
22
+ });
23
+
24
+
25
+ //hide the whole table as well when there are no more add-ons in it
26
+ jQuery( 'tbody' ).each( function(){
27
+ hideTable = true;
28
+ jQuery( 'tr', jQuery( this ) ).each( function(){
29
+ if( jQuery(this).css('display') != "none" ) {
30
+ hideTable = false;
31
+ }
32
+ });
33
+
34
+ if( hideTable )
35
+ jQuery( this ).closest( '.cl-add-ons-section' ).hide();
36
+ else
37
+ jQuery( this ).closest( '.cl-add-ons-section' ).show();
38
+
39
+ })
40
+ } );
41
+
42
+ //disabled buttons prevent click
43
+ jQuery( '.cl-add-ons-section .button[disabled]' ).on( 'click', function(e){
44
+ e.preventDefault();
45
+
46
+ //add a tooltip
47
+ pointer_content = '<h3>'+ cl_add_ons_pointer.tooltip_header +'</h3>';
48
+ pointer_content += '<p>'+ cl_add_ons_pointer.tooltip_content +'</p>';
49
+
50
+ jQuery( this ).pointer({
51
+ content: pointer_content,
52
+ position: { 'edge': 'right', 'align' : 'middle' },
53
+ close: function() {
54
+ // This function is fired when you click the close button
55
+ }
56
+ }).pointer('open');
57
+
58
+ });
59
+
60
+ })
assets/lib/cl-add-ons-listing/cl-add-ons-listing.php ADDED
@@ -0,0 +1,346 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
+
5
+
6
+ if( ! class_exists( 'WP_List_Table' ) ) {
7
+ require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
8
+ }
9
+
10
+ class CL_Addons_List_Table extends WP_List_Table {
11
+
12
+ public $header;
13
+
14
+ public $section_header;
15
+ public $section_versions;
16
+ public $sections;
17
+
18
+ public $images_folder;
19
+ public $text_domain;
20
+
21
+ public $all_addons;
22
+ public $all_plugins;
23
+
24
+ public $current_version;
25
+
26
+ public $tooltip_header;
27
+ public $tooltip_content;
28
+
29
+ function __construct(){
30
+
31
+ //Set parent defaults
32
+ parent::__construct(array(
33
+ 'singular' => 'add-on', //singular name of the listed records
34
+ 'plural' => 'add-ons', //plural name of the listed records
35
+ 'ajax' => false //does this table support ajax?
36
+ ));
37
+
38
+ //this is necessary because of WP_List_Table
39
+ $this->prepare_items();
40
+
41
+ //enqueue scripts and styles
42
+ add_action('admin_footer', array($this, 'cl_print_assets'));
43
+
44
+ }
45
+
46
+ /**
47
+ * Print js and css
48
+ * @param $hook
49
+ */
50
+ function cl_print_assets(){
51
+ wp_enqueue_style('wp-pointer');
52
+ wp_enqueue_script('wp-pointer');
53
+ wp_localize_script( 'wp-pointer', 'cl_add_ons_pointer', array( 'tooltip_header' => $this->tooltip_header, 'tooltip_content' => $this->tooltip_content ) );
54
+
55
+ wp_enqueue_style('cl-add-ons-listing-css', plugin_dir_url(__FILE__) . '/assets/css/cl-add-ons-listing.css', false);
56
+ wp_enqueue_script('cl-add-ons-listing-js', plugin_dir_url(__FILE__) . '/assets/js/cl-add-ons-listing.js', array('jquery'));
57
+
58
+ }
59
+
60
+ /**
61
+ * Define the columns here and their headers
62
+ * @return array
63
+ */
64
+ function get_columns(){
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;
72
+ }
73
+
74
+ /**
75
+ * The checkbox column
76
+ * @param object $item
77
+ * @return string|void
78
+ */
79
+ function column_cb($item){
80
+ if( $item['type'] === 'add-on') {
81
+ in_array( $this->current_version, $this->section_versions ) ? $disabled = '' : $disabled = 'disabled';
82
+ return '<input type="checkbox" name="cl_add_ons[]" ' . checked($this->is_add_on_active($item['slug']), true, false) . ' '. $disabled .' value="' . $item['slug'] . '" />';
83
+ }elseif( $item['type'] === 'plugin') {
84
+ $all_wp_plugins = get_plugins();
85
+ array_key_exists( $item['slug'], $all_wp_plugins ) ? $disabled = '' : $disabled = 'disabled';//add disabled if the current version isn't eligible
86
+ if( empty($disabled) ){
87
+ is_plugin_active_for_network( $item['slug'] ) ? $disabled = 'disabled' : $disabled = '';
88
+ }
89
+
90
+ return '<input type="checkbox" name="cl_plugins[]" ' . checked(is_plugin_active($item['slug']), true, false) . ' '. $disabled .' value="' . $item['slug'] . '" />';
91
+ }
92
+ }
93
+
94
+ /**
95
+ * The icon column
96
+ * @param $item
97
+ * @return string
98
+ */
99
+ function column_icon($item){
100
+ return '<img src="'.$this->images_folder. $item['icon'] .'" width="64" height="64" alt="'. $item['name'] .'">';
101
+ }
102
+
103
+ /**
104
+ * The column where we display the addon name and description
105
+ * @param $item
106
+ * @return string
107
+ */
108
+ function column_add_on($item){
109
+ return '<strong class="cl-add-ons-name">'. $item['name'] . '</strong><br/>'. $item['description'];
110
+ }
111
+
112
+ /**
113
+ * The actions column for the addons
114
+ * @param $item
115
+ * @return string
116
+ */
117
+ function column_actions($item){
118
+
119
+ $action = '';
120
+ //for plugins we can do something general
121
+ if( $item['type'] === 'plugin' ) {
122
+
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
+
141
+ }
142
+ elseif ( $item['type'] === 'add-on' ){//this is more complicated as there are multiple cases, I think it should be done through filters in each plugin
143
+
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
+ }
158
+
159
+
160
+ //don't generate a bulk actions dropdown by returning an empty array
161
+ function get_bulk_actions() {
162
+ return array( );//don't show bulk actions
163
+ }
164
+
165
+
166
+
167
+ /**
168
+ * Function that initializez the object properties
169
+ */
170
+ function prepare_items() {
171
+ $columns = $this->get_columns();
172
+ $this->_column_headers = array($columns, array(), array());//the two empty arrays are hidden and sortable
173
+ $this->set_pagination_args( array( ) ); //we do not need pagination
174
+ }
175
+
176
+
177
+ /** Here start the customizations for multiple tables and our custom html **/
178
+
179
+
180
+ /**
181
+ * Show our own search box, we don't use the default search of Table listing
182
+ */
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
+ }
190
+
191
+ /**
192
+ * Show the submit button
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
+
200
+ /**
201
+ * This is the function that adds more sections (tables) to the listing
202
+ */
203
+ function add_section(){
204
+ ob_start();
205
+ ?>
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
+
215
+ <?php
216
+ foreach( $this->items as $item ) {
217
+ if( $item['type'] === 'add-on' )
218
+ $this->all_addons[] = $item['slug'];
219
+ elseif( $item['type'] === 'plugin' )
220
+ $this->all_plugins[] = $item['slug'];
221
+ }
222
+ $this->display(); /* this is the function from the table listing class */
223
+ ?>
224
+ </div>
225
+ <?php
226
+
227
+ $output = ob_get_contents();
228
+
229
+ ob_end_clean();
230
+
231
+ $this->sections[] = $output;
232
+ }
233
+
234
+
235
+ /**
236
+ * The function that actually displays all the tables and the surrounding html
237
+ */
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
+
245
+ <?php $this->show_search_box(); ?>
246
+
247
+ <?php $this->show_sumbit_button(); ?>
248
+
249
+ <?php
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>
265
+ </div>
266
+
267
+ <?php
268
+
269
+ }
270
+
271
+ static function is_add_on_active( $slug ){
272
+ return apply_filters( 'cl_add_on_is_active', false, $slug );
273
+ }
274
+ }
275
+
276
+ /**
277
+ * process the actions for the Add-ons page
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
285
+ //sanitize all data
286
+ $all_plugins = explode( '|', sanitize_text_field( $_POST['cl_all_plugins'] ) );
287
+ $all_add_ons = explode( '|', sanitize_text_field( $_POST['cl_all_add_ons'] ) );
288
+ $plugins_to_activate = array();
289
+ if( !empty($_POST['cl_plugins']) && is_array($_POST['cl_plugins']) ){
290
+ $plugins_to_activate = array_map( 'sanitize_text_field', $_POST['cl_plugins'] );
291
+ }
292
+ $add_ons_to_activate = array();
293
+ if( !empty($_POST['cl_add_ons']) && is_array($_POST['cl_add_ons']) ){
294
+ $add_ons_to_activate = array_map( 'sanitize_text_field', $_POST['cl_add_ons'] );
295
+ }
296
+
297
+ foreach( $all_plugins as $plugin ){
298
+ if( in_array( $plugin, $plugins_to_activate ) ){
299
+ if( !is_plugin_active( $plugin ) ) {
300
+ activate_plugin( $plugin );
301
+ }
302
+ }
303
+ else{
304
+ if( is_plugin_active( $plugin ) ) {
305
+ deactivate_plugins( $plugin );
306
+ }
307
+ }
308
+ }
309
+
310
+ foreach( $all_add_ons as $add_on ){
311
+ if( in_array( $add_on, $add_ons_to_activate ) ){
312
+ do_action( 'cl_add_ons_activate', $add_on );
313
+ }
314
+ else{
315
+ do_action( 'cl_add_ons_deactivate', $add_on );
316
+ }
317
+ }
318
+
319
+ }
320
+ }
321
+ elseif ( $_REQUEST['cl_add_ons_action'] === 'activate' ){
322
+ if( !empty( $_REQUEST['cl_plugins'] ) ){//we have a plugin
323
+ $plugin_slug = sanitize_text_field( $_REQUEST['cl_plugins'] );
324
+ if( !is_plugin_active( $plugin_slug ) ) {
325
+ activate_plugin( $plugin_slug );
326
+ }
327
+ }
328
+ elseif( !empty( $_REQUEST['cl_add_ons'] ) ){//we have a add-on
329
+ do_action( 'cl_add_ons_activate', sanitize_text_field($_REQUEST['cl_add_ons']) );
330
+ }
331
+ }
332
+ elseif ( $_REQUEST['cl_add_ons_action'] === 'deactivate' ){
333
+ if( !empty( $_REQUEST['cl_plugins'] ) ){//we have a plugin
334
+ $plugin_slug = sanitize_text_field( $_REQUEST['cl_plugins'] );
335
+ if( is_plugin_active( $plugin_slug ) ) {
336
+ deactivate_plugins( $plugin_slug );
337
+ }
338
+ }
339
+ elseif( !empty( $_REQUEST['cl_add_ons'] ) ){//we have a add-on
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
+ }
{features → assets/lib}/class-list-table.php RENAMED
File without changes
assets/lib/class-mustache-templates/class-mustache-templates.css ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Mustache Library for Creating */
2
+
3
+ /*--------------------------------------------------------------
4
+ >>> TABLE OF CONTENTS:
5
+ ----------------------------------------------------------------
6
+ 1.0 - Basic Structure
7
+ 2.0 - Textarea Codemirror Styling
8
+ 3.0 - Other Form Elements
9
+ 4.0 - Save Button
10
+ 5.0 - Media Queries
11
+ 6.0 - Other
12
+ --------------------------------------------------------------*/
13
+
14
+ /*--------------------------------------------------------------
15
+ 1.0 Basic Structure
16
+ --------------------------------------------------------------*/
17
+
18
+ .side .form-table th {
19
+ width: 20%;
20
+ font-weight: bold;
21
+ text-align: left;
22
+ padding-left: 0;
23
+ }
24
+
25
+ .wck-post-body{
26
+ clear: left;
27
+ float: left;
28
+ margin-right: -2000px;
29
+ width: 100%;
30
+ }
31
+
32
+ .metabox-holder .column-1 {
33
+ margin-right:300px;
34
+ }
35
+ .metabox-holder .column-2 {
36
+ float: right;
37
+ width: 280px;
38
+ clear:right;
39
+ position:relative;
40
+ }
41
+ .metabox-holder .column-3 {
42
+ clear: both;
43
+ margin-right:300px;
44
+ }
45
+ /*--------------------------------------------------------------
46
+ 2.0 Textarea Codemirror styling
47
+ --------------------------------------------------------------*/
48
+ .textarea .stp-extra{
49
+ border:1px solid #ccc;
50
+ border-left:0;
51
+ float: left;
52
+ overflow: auto;
53
+ width: 39%;
54
+ height:400px;
55
+ }
56
+ .textarea .stp-extra h4 {
57
+ height: 20px;
58
+ margin: 1px 0;
59
+ padding:10px 20px;
60
+ overflow: hidden;
61
+ cursor:pointer;
62
+ background:#F1F1F1;
63
+ }
64
+ .textarea .stp-extra h4:hover{
65
+ background:#FCFCFC;
66
+ }
67
+ .textarea .stp-extra pre {
68
+ display: block;
69
+ height: 253px;
70
+ margin: 12px 0;
71
+ max-height: 253px;
72
+ overflow: auto;
73
+ padding-left: 20px;
74
+ vertical-align: top;
75
+ width: auto;
76
+ }
77
+ .textarea label.wppb_mustache_label {
78
+ display: none;
79
+ }
80
+ .cm-s-default.CodeMirror {
81
+ border: 1px solid #CCCCCC;
82
+ float: left;
83
+ font-family: Monaco,Menlo,"Andale Mono","lucida console","Courier New",monospace !important;
84
+ line-height: 1.4em !important;
85
+ width: 60%;
86
+ }
87
+ .cm-s-default {
88
+ min-height: 400px;
89
+ }
90
+ .mustache-box{
91
+ table-layout:fixed;
92
+ }
93
+ /*--------------------------------------------------------------
94
+ 3.0 Other Form Elements
95
+ --------------------------------------------------------------*/
96
+ .text label.wppb_mustache_label {
97
+ display: inline-block;
98
+ min-width: 150px;
99
+ font-weight: bold;
100
+ }
101
+
102
+ .checkbox label.wppb_mustache_label {
103
+ font-weight: bold;
104
+ margin-right: 8px;
105
+ }
106
+
107
+ .mustache-box input[type="text"]{
108
+ width:400px;
109
+ min-width: auto;
110
+ }
111
+
112
+ .mustache-box .description{
113
+ display: block;
114
+ }
115
+
116
+ .mustache-box.form-table td.header{
117
+ padding-top: 0;
118
+ padding-bottom: 0;
119
+ }
120
+
121
+ /*--------------------------------------------------------------
122
+ 4.0 Save Button
123
+ --------------------------------------------------------------*/
124
+ .mustache-save{
125
+ width: 100%;
126
+ text-align: center;
127
+ }
128
+
129
+ #page-save-metabox .hndle{
130
+ background: #333333;
131
+ color: #fff;
132
+ }
133
+ #page-save-metabox .inside{
134
+ padding: 30px;
135
+ }
136
+
137
+ /*--------------------------------------------------------------
138
+ 5.0 Media Queries
139
+ --------------------------------------------------------------*/
140
+ @media screen and ( max-width: 878px ) {
141
+ .wck-post-body{
142
+ float:none;
143
+ margin-right: 0;
144
+ }
145
+
146
+ .metabox-holder .column-2{
147
+ float:none;
148
+ width:100%;
149
+ }
150
+
151
+ .metabox-holder .column-1{
152
+ margin-right:0;
153
+ }
154
+
155
+ .textarea .stp-extra{
156
+ float:none;
157
+ width:auto;
158
+ border:1px solid #ccc;
159
+ border-top:0;
160
+ }
161
+ .cm-s-default.CodeMirror{
162
+ float:none;
163
+ width: auto;
164
+ }
165
+ #page-save-metabox .inside{
166
+ text-align: right;
167
+ }
168
+ .mustache-save{
169
+ width: auto;
170
+ text-align: center;
171
+ }
172
+
173
+ }
174
+
175
+ /*--------------------------------------------------------------
176
+ 6.0 Other
177
+ --------------------------------------------------------------*/
178
+ /* show email toggle checkbox inline for User/Admin Email Customizers */
179
+ .profile-builder_page_user-email-customizer .wck-post-body .postbox:not(:first-child) tr:nth-child(1), .profile-builder_page_admin-email-customizer .wck-post-body .postbox:not(:first-child) tr:nth-child(1) {
180
+ width: 50%;
181
+ display: inline-block;
182
+ }
183
+
184
+ .profile-builder_page_user-email-customizer .wck-post-body .postbox:not(:first-child) tr:nth-child(2), .profile-builder_page_admin-email-customizer .wck-post-body .postbox:not(:first-child) tr:nth-child(2) {
185
+ text-align: left;
186
+ width: 50%;
187
+ display: inline-block;
188
+ }
189
+
190
+ .profile-builder_page_user-email-customizer .wck-post-body .postbox:not(:first-child) tr:nth-child(2) td, .profile-builder_page_admin-email-customizer .wck-post-body .postbox:not(:first-child) tr:nth-child(2) td {
191
+ float: right;
192
+ padding-right: 20px;
193
+ }
assets/lib/class-mustache-templates/class-mustache-templates.js ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ CodeMirror.defineMode("mustache", function(config, parserConfig) {
2
+ var mustacheOverlay = {
3
+ token: function(stream, state) {
4
+ var ch;
5
+ if (stream.match("{{")) {
6
+ while ((ch = stream.next()) != null)
7
+ if (ch == "}" && stream.next() == "}") break;
8
+ stream.eat("}");
9
+ return "mustache";
10
+ }
11
+ while (stream.next() != null && !stream.match("{{", false)) {}
12
+ return null;
13
+ }
14
+ };
15
+ return CodeMirror.overlayMode(CodeMirror.getMode(config, parserConfig.backdrop || "text/html"), mustacheOverlay);
16
+ });
17
+
18
+
19
+ jQuery(function(){
20
+ var wck_stp_textareas = ["wppb_mustache_template"];
21
+ var length = wck_stp_textareas.length;
22
+ element = null;
23
+
24
+ for ( var i=0; i < length; i++ ){
25
+ element = wck_stp_textareas[i];
26
+
27
+ if ( jQuery( 'textarea[class="' + element + '"]' ).length > 0 ){
28
+ jQuery( 'textarea[class|="' + element + '"]' ).each( function(){
29
+ var editor = CodeMirror.fromTextArea( this, {
30
+ mode: "mustache",
31
+ lineNumbers: true,
32
+ //lineWrapping:true,
33
+ extraKeys: {
34
+ "F11": function(cm) {
35
+ cm.setOption("fullScreen", !cm.getOption("fullScreen"));
36
+ },
37
+ "Esc": function(cm) {
38
+ if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
39
+ }
40
+ }
41
+ });
42
+ });
43
+ }
44
+ }
45
+ })
46
+
47
+ jQuery(function() {
48
+ jQuery( ".stp-extra" ).accordion();
49
+ });
50
+
51
+ //add hidden input with off value for checkboxes
52
+ jQuery(function() {
53
+
54
+ jQuery('form .wck-post-body input[type="checkbox"]').each( function() {
55
+
56
+ if ( !jQuery(this).is(':checked') ) {
57
+ var wppb_mustache_checkbox_off = document.createElement('input');
58
+ wppb_mustache_checkbox_off.type = 'hidden';
59
+ wppb_mustache_checkbox_off.value = 'off';
60
+ wppb_mustache_checkbox_off.name = jQuery(this).attr('name');
61
+
62
+ jQuery(this).after(wppb_mustache_checkbox_off);
63
+ }
64
+
65
+ });
66
+
67
+ jQuery('form .wck-post-body input[type="checkbox"]').on( 'change', function() {
68
+ var wppb_mustache_checkbox_off = document.createElement('input');
69
+ wppb_mustache_checkbox_off.type = 'hidden';
70
+ wppb_mustache_checkbox_off.value = 'off';
71
+ wppb_mustache_checkbox_off.name = jQuery(this).attr('name');
72
+
73
+ if ( jQuery(this).is(':checked') )
74
+ jQuery( '.' + jQuery(this).attr('name') + ' input[type="hidden"]' ).remove();
75
+ else
76
+ jQuery(this).after(wppb_mustache_checkbox_off);
77
+
78
+ });
79
+
80
+ });
assets/lib/class-mustache-templates/class-mustache-templates.php ADDED
@@ -0,0 +1,573 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @param array() $mustache_vars is the array containing the names of the variable that must be proccessed by mustache in the template. The array must be in this form:
4
+ * array( array( 'name' => '', 'type' => '' ) ... ), and for loop tags it also contains a 'children' element which contains other mustache_vars array( array( 'name' => 'users', 'type' => 'loop_tag', 'children' => $merge_tags )
5
+ * @param string $template the template that needs to be procesed
6
+ * @param array $extra_values in this array we can pass any variables that are required for that specific implementation of the mustache processing system
7
+ *
8
+ */
9
+ class PB_Mustache_Generate_Template{
10
+ var $mustache_vars = array( );
11
+ var $template = '';
12
+ var $extra_values = array( );
13
+
14
+ /**
15
+ * constructor for the class
16
+ *
17
+ * @param array $mustache_vars the array of variables
18
+ * @param string $template the html template
19
+ * @param $extra_values in this array we can pass any variables that are required for that specific implementation of the mustache processing system
20
+ *
21
+ * @since 2.0.0
22
+ *
23
+ */
24
+ function __construct( $mustache_vars, $template, $extra_values ){
25
+
26
+ // Include Mustache Templates
27
+ if( !class_exists( 'Mustache_Autoloader' ) )
28
+ require_once( WPPB_PLUGIN_DIR.'/assets/lib/Mustache/Autoloader.php' );
29
+
30
+ Mustache_Autoloader::register();
31
+
32
+ $this->mustache_vars = $mustache_vars;
33
+ $this->template = $template;
34
+ $this->extra_values = $extra_values;
35
+
36
+ $this->process_mustache_vars();
37
+ }
38
+
39
+ /**
40
+ * construct the mustache_vars_array from $mustache_vars through filters
41
+ *
42
+ * @since 2.0.0
43
+ *
44
+ */
45
+ function process_mustache_vars(){
46
+ if( !empty( $this->mustache_vars ) ){
47
+ foreach( $this->mustache_vars as $var ){
48
+ foreach( $var['variables'] as $variables ){
49
+ if( empty( $variables['children'] ) )
50
+ $variables['children'] = array();
51
+ $this->mustache_vars_array[ $variables['name'] ] = apply_filters( 'mustache_variable_'. $variables['type'], '', $variables['name'], $variables['children'], $this->extra_values );
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+
58
+ /**
59
+ * Process the mustache template from the html template and the processed mustache variable array.
60
+ *
61
+ * @since 2.0.0
62
+ *
63
+ * @return $content the proccessed template ready for output.
64
+ */
65
+ function process_template(){
66
+ $m = new Mustache_Engine;
67
+ try {
68
+ if( !empty( $this->mustache_vars_array ) ){
69
+ foreach( $this->mustache_vars_array as $key => $value ){
70
+ $this->mustache_vars_array[$key] = str_replace('[', '&#91;', $value );
71
+ $this->mustache_vars_array[$key] = str_replace(']', '&#93;', $value );
72
+ }
73
+ }
74
+ $content = do_shortcode( $m->render( $this->template, $this->mustache_vars_array ) );
75
+ } catch (Exception $e) {
76
+ $content = $e->getMessage();
77
+ }
78
+
79
+ return apply_filters( 'wppb_mustache_template', $content );
80
+ }
81
+
82
+ /**
83
+ * Handle toString method
84
+ *
85
+ * @since 2.0.0
86
+ *
87
+ * @return string $html html for the template.
88
+ */
89
+ public function __toString() {
90
+ $html = $this->process_template();
91
+ return "{$html}";
92
+ }
93
+
94
+
95
+ }
96
+
97
+
98
+ class PB_Mustache_Generate_Admin_Box{
99
+
100
+ var $id; // string meta box id
101
+ var $title; // string title
102
+ var $page; // string|array post type to add meta box to
103
+ var $priority;
104
+ var $mustache_vars;
105
+ var $default_value;
106
+
107
+
108
+ /**
109
+ * constructor for the class
110
+ *
111
+ * @param string $id the meta box id
112
+ * @param string $title the title of the metabox
113
+ * @param string|array $page post type to add meta box to
114
+ * @param string $priority the priority within the context where the boxes should show ('high', 'core', 'default' or 'low')
115
+ * @param array $mustache_vars is the array containing the names of the variable that must be proccessed by mustache in the template. The array must be in this form:
116
+ * array( array( 'name' => '', 'type' => '' ) ... ), and for loop tags it also contains a 'children' element which contains other mustache_vars array( array( 'name' => 'users', 'type' => 'loop_tag', 'children' => $merge_tags )
117
+ * @param string $default_value the default template that populates the codemirror box.
118
+ *
119
+ * @since 2.0.0
120
+ *
121
+ */
122
+ function __construct( $id, $title, $page, $priority, $mustache_vars, $default_value = '', $fields = array() ){
123
+
124
+ $this->mustache_vars = $mustache_vars;
125
+
126
+ $this->id = $id;
127
+ $this->title = $title;
128
+ $this->page = $page;
129
+ $this->priority = $priority;
130
+ $this->default_value = $default_value;
131
+
132
+ if(!is_array($this->page)) {
133
+ $this->page = array($this->page);
134
+ }
135
+
136
+ if( empty( $fields ) ){
137
+ $this->fields = array(
138
+ array( // Textarea
139
+ 'label' => '', // <label>
140
+ 'desc' => '', // description
141
+ 'id' => $id, // field id and name
142
+ 'type' => 'textarea', // type of field
143
+ 'default' => $default_value, // type of field
144
+ )
145
+ );
146
+ }
147
+ else{
148
+ $this->fields = $fields;
149
+ }
150
+
151
+ $this->save_default_values();
152
+
153
+ if( defined( 'DOING_AJAX' ) && DOING_AJAX )
154
+ return;
155
+
156
+ add_action( 'add_meta_boxes', array( $this, 'add_box' ) );
157
+ add_action( 'save_post', array( $this, 'save_box' ), 11, 2);
158
+ add_action( 'wp_insert_post', array( $this, 'save_box' ), 11, 2);
159
+ add_action( 'admin_enqueue_scripts', array( $this, 'wppb_print_mustache_script' ) );
160
+ add_action( 'admin_head', array( $this, 'wppb_print_codemirror_script' ) );
161
+
162
+ add_action( 'wck_before_meta_boxes', array( $this, 'wppb_mustache_page_before' ) );
163
+ add_action( 'wck_after_meta_boxes', array( $this, 'wppb_mustache_page_after' ) );
164
+ }
165
+
166
+ /**
167
+ * Function that print the required scripts for the mustache templates
168
+ *
169
+ * @param string $hook the page hook
170
+ *
171
+ * @since 2.0.0
172
+ *
173
+ */
174
+ function wppb_print_mustache_script( $hook ){
175
+ if ( isset( $_GET['post_type'] ) || isset( $_GET['post'] ) || isset( $_GET['page'] ) ){
176
+ if ( isset( $_GET['post_type'] ) )
177
+ $post_type = sanitize_text_field( $_GET['post_type'] );
178
+
179
+ elseif ( isset( $_GET['post'] ) )
180
+ $post_type = get_post_type( absint( $_GET['post'] ) );
181
+ else if( isset( $_GET['page'] ) ){
182
+ $screen = get_current_screen();
183
+ $post_type = $screen->id;
184
+ }
185
+
186
+ if ( ( $this->page[0] == $post_type ) ){
187
+ wp_enqueue_style( 'codemirror-style', WPPB_PLUGIN_URL . 'assets/lib/codemirror/lib/codemirror.css', false, PROFILE_BUILDER_VERSION );
188
+ if( !wp_script_is( 'codemirror', 'registered' ) && !wp_script_is( 'codemirror', 'enqueued' ) ) {
189
+ wp_enqueue_script('codemirror', WPPB_PLUGIN_URL . 'assets/lib/codemirror/lib/codemirror.js', array(), PROFILE_BUILDER_VERSION);
190
+ wp_enqueue_script('codemirror-mode-overlay-js', WPPB_PLUGIN_URL . 'assets/lib/codemirror/addon/mode/overlay.js', array(), '1.0');
191
+ wp_enqueue_script('codemirror-mode-xml-js', WPPB_PLUGIN_URL . 'assets/lib/codemirror/mode/xml/xml.js', array(), '1.0');
192
+ wp_enqueue_script('codemirror-fullscreen-js', WPPB_PLUGIN_URL . 'assets/lib/codemirror/addon/display/fullscreen.js', array(), '1.0');
193
+ }
194
+
195
+ wp_enqueue_script('jquery-ui-accordion');
196
+ }
197
+ }
198
+ }
199
+
200
+ /**
201
+ * Function that prints the codemirror initialization and the css
202
+ *
203
+ * @param string $hook the page hook
204
+ *
205
+ * @since 2.0.0
206
+ *
207
+ */
208
+ function wppb_print_codemirror_script(){
209
+ global $printed_codemirror_scripts;
210
+
211
+ if( $printed_codemirror_scripts )
212
+ return;
213
+
214
+ $post_type = NULL;
215
+
216
+ if ( isset( $_GET['post_type'] ) || isset( $_GET['post'] ) || isset( $_GET['page'] ) ){
217
+ if ( isset( $_GET['post_type'] ) )
218
+ $post_type = sanitize_text_field( $_GET['post_type'] );
219
+ elseif ( isset( $_GET['post'] ) )
220
+ $post_type = get_post_type( absint( $_GET['post'] ) );
221
+ else if( isset( $_GET['page'] ) ){
222
+ $screen = get_current_screen();
223
+ if( $screen !== null && is_object( $screen ) ) {
224
+ $post_type = $screen->id;
225
+ }
226
+ }
227
+
228
+ if ( ( $this->page[0] == $post_type ) ){
229
+ wp_enqueue_style( 'class-mustache-css', WPPB_PLUGIN_URL . 'assets/lib/class-mustache-templates/class-mustache-templates.css', false, PROFILE_BUILDER_VERSION );
230
+ if( wp_script_is( 'codemirror-mode-overlay-js', 'enqueued' ) ) {
231
+ wp_enqueue_script('class-mustache-js', WPPB_PLUGIN_URL . 'assets/lib/class-mustache-templates/class-mustache-templates.js', array("jquery"), PROFILE_BUILDER_VERSION);
232
+ }
233
+
234
+ $printed_codemirror_scripts = true;
235
+ }
236
+ }
237
+ }
238
+
239
+ /**
240
+ * Function that adds the mustache metabox
241
+ *
242
+ * @since 2.0.0
243
+ *
244
+ */
245
+ function add_box() {
246
+ global $post_type;
247
+
248
+ foreach ( $this->page as $page ) {
249
+ add_meta_box( $this->id, $this->title, array( $this, 'meta_box_callback' ), $page, 'normal', $this->priority, array( 'post_type' => $post_type ) );
250
+
251
+ /* if it's not a post type add a side metabox with a save button */
252
+ if( isset( $_GET['page'] ) )
253
+ add_meta_box( 'page-save-metabox', __( 'Save' ), array( $this, 'page_save_meta_box' ), $page, 'side' );
254
+ }
255
+ }
256
+
257
+ /**
258
+ * Function output the content for the metabox
259
+ *
260
+ *
261
+ * @since 2.0.0
262
+ *
263
+ */
264
+ function meta_box_callback( $post, $metabox ) {
265
+ global $post;
266
+ if( isset( $_GET['page'] ) )
267
+ $post_type = NULL;
268
+ else
269
+ $post_type = $metabox['args']['post_type'];
270
+
271
+ /* save default values in the database as post meta for post types */
272
+ if( !empty( $this->fields ) && !empty( $post->ID ) ){
273
+ foreach( $this->fields as $field ){
274
+ if( !empty( $field['default'] ) ){
275
+ /* see if we have an option with this name, if we have don't do anything */
276
+ $field_saved_value = get_post_meta( $post->ID, $field['id'], true );
277
+ if( empty( $field_saved_value ) ){
278
+ add_post_meta( $post->ID, $field['id'], $field['default'], true );
279
+ }
280
+ }
281
+ }
282
+ }
283
+
284
+ // Use nonce for verification
285
+ echo '<input type="hidden" name="' . $post_type . '_meta_box_nonce" value="' . wp_create_nonce( basename( __FILE__) ) . '" />';
286
+
287
+ // Begin the field table and loop
288
+ echo '<table class="form-table meta_box mustache-box">';
289
+ foreach ( $this->fields as $field ) {
290
+
291
+ // get data for this field
292
+ extract( $field );
293
+ if ( !empty( $desc ) )
294
+ $desc = '<span class="description">' . $desc . '</span>';
295
+
296
+ // get value of this field if it exists for this post
297
+ if( isset( $_GET['page'] ) ){
298
+ $meta = get_option( $id );
299
+ }
300
+ else{
301
+ $meta = get_post_meta( $post->ID, $id, true );
302
+ }
303
+
304
+ //try to set a default value
305
+ if( empty( $meta ) && !empty( $default ) ){
306
+ $meta = $default;
307
+ }
308
+
309
+
310
+ // begin a table row with
311
+ echo '<tr>
312
+ <td class="' . $id . ' ' .$type . '">';
313
+ if( $type != 'header' && !empty( $label ) ){
314
+ echo '<label for="' . $id . '" class="wppb_mustache_label">' . esc_html( $label ) . '</label>';
315
+ }
316
+ switch( $type ) {
317
+ // text
318
+ case 'text':
319
+ echo '<input type="text" name="' . $id . '" id="' . $id . '" value="' . esc_attr( $meta ) . '" size="30" />
320
+ <br />' . $desc ;
321
+ break;
322
+ // textarea
323
+ case 'textarea':
324
+
325
+ echo '<textarea name="' . $id . '" id="' . $id . '" cols="220" rows="4" class="wppb_mustache_template">' . esc_textarea( $meta ) . '</textarea>';
326
+ echo $desc ;
327
+ break;
328
+ // checkbox
329
+ case 'checkbox':
330
+ echo '<input type="checkbox" name="' . $id . '" id="' . $id . '"' . checked( esc_attr( $meta ), 'on', false ) . ' value="on" />
331
+ <label for="' . $id . '">' . $desc . '</label>';
332
+ break;
333
+ // select
334
+ case 'select':
335
+ echo '<select name="' . $id . '" id="' . $id . '">';
336
+ foreach ( $options as $option )
337
+ echo '<option' . selected( esc_attr( $meta ), $option['value'], false ) . ' value="' . esc_attr( $option['value'] ) . '">' . esc_html( $option['label'] ) . '</option>';
338
+ echo '</select><br />' . $desc;
339
+ break;
340
+ // radio
341
+ case 'radio':
342
+ foreach ( $options as $option )
343
+ echo '<input type="radio" name="' . $id . '" id="' . $id . '-' . $option['value'] . '" value="' . esc_attr( $option['value'] ) . '"' . checked( esc_attr( $meta ), $option['value'], false ) . ' />
344
+ <label for="' . $id . '-' . $option['value'] . '">' . $option['label'] . '</label><br />';
345
+ echo '' . esc_html( $desc );
346
+ break;
347
+ // checkbox_group
348
+ case 'checkbox_group':
349
+ foreach ( $options as $option )
350
+ 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"' : '' , ' />
351
+ <label for="' . $id . '-' . $option['value'] . '">' . $option['label'] . '</label><br />';
352
+ echo '' . esc_html( $desc );
353
+ break;
354
+ // text
355
+ case 'header':
356
+ echo '<h4>'. $default .'</h4>';
357
+ break;
358
+ } //end switch
359
+
360
+ if( $type == 'textarea' ){
361
+ ?>
362
+ <div class="stp-extra">
363
+ <?php
364
+ if( !empty( $this->mustache_vars ) ){
365
+ foreach( $this->mustache_vars as $mustache_var_group ){
366
+ ?>
367
+ <h4><?php echo $mustache_var_group['group-title']; ?></h4>
368
+ <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>
369
+ <?php
370
+ }
371
+ }
372
+ ?>
373
+ </div>
374
+ <?php
375
+ }
376
+ echo '</td></tr>';
377
+ } // end foreach
378
+ echo '</table>'; // end table
379
+ }
380
+
381
+ /**
382
+ * Function that ads a side metabox on pages ( not post types ) with a save button
383
+ *
384
+ *
385
+ * @since 2.0.0
386
+ *
387
+ */
388
+ function page_save_meta_box() {
389
+ ?>
390
+ <input type="submit" value="<?php _e( 'Save Changes', 'profile-builder' ); ?>" class="button button-primary button-large mustache-save">
391
+ <?php
392
+ }
393
+
394
+ /**
395
+ * Function that ads a form start on pages ( not post types ) and also the 'save_post' action
396
+ *
397
+ *
398
+ * @since 2.0.0
399
+ *
400
+ */
401
+ function wppb_mustache_page_before( $hook ){
402
+ global $started_mustache_form;
403
+
404
+ if( $started_mustache_form )
405
+ return;
406
+
407
+ if( isset( $_GET['page'] ) && $hook == $this->page[0] ){
408
+ /* if we are saving do the action 'save_post' */
409
+ if( isset( $_GET['mustache_action'] ) && $_GET['mustache_action'] == 'save' ) {
410
+ /* to avoid conflicts with other plugins we send an empty post object as the second parameter with a fake post type */
411
+ $post = new WP_Post( new stdClass() );
412
+ $post->post_type = 'wppb-mustache-settings-page';
413
+ remove_all_actions('save_post', 10 );//remove all actions that could run on the save_post hook on priority 10 than could expect a numeric post id instead of a string like $this->id. Ex: add_action( 'save_post', array( $this, 'refresh_post_word_count' ) ); in WPML translation management
414
+ remove_all_actions('save_post', PHP_INT_MAX );//same for PHP_INT_MAX priority: add_action( 'save_post', array( $this, 'queue_save_post_actions' ), PHP_INT_MAX, 2 );
415
+ do_action( 'save_post', $this->id, $post, false );
416
+ }
417
+
418
+ echo '<form action="'. esc_url( add_query_arg( array('mustache_action' => 'save') ) ) .'" method="post">';
419
+ $started_mustache_form = true;
420
+ }
421
+ }
422
+
423
+ /**
424
+ * Function that ads a form end on pages ( not post types )
425
+ *
426
+ *
427
+ * @since 2.0.0
428
+ *
429
+ */
430
+ function wppb_mustache_page_after( $hook ){
431
+ global $ended_mustache_form;
432
+ if( $ended_mustache_form )
433
+ return;
434
+
435
+ if( isset( $_GET['page'] ) && $hook == $this->page[0] ){
436
+ echo '</form>';
437
+ $ended_mustache_form = true;
438
+ }
439
+ }
440
+
441
+
442
+ /**
443
+ * Function that transforms and echoes the $mustache_vars into despayable forms. It takes care of nested levels and adds {{}} as well
444
+ *
445
+ * @param array $mustache_vars is the array containing the names of the variable that must be proccessed by mustache in the template. The array must be in this form:
446
+ * array( array( 'name' => '', 'type' => '' ) ... ), and for loop tags it also contains a 'children' element which contains other mustache_vars array( array( 'name' => 'users', 'type' => 'loop_tag', 'children' => $merge_tags )
447
+ * @param int $level the current level of the nested variables.
448
+ *
449
+ * @since 2.0.0
450
+ *
451
+ */
452
+ function display_mustache_available_vars( $mustache_vars, $level ){
453
+ if( !empty( $mustache_vars ) ){
454
+ foreach( $mustache_vars as $var ){
455
+ if ( $var[ 'name' ] != 'password' ) {
456
+ if ( empty( $var[ 'children' ] ) ) {
457
+ echo str_repeat( "&nbsp;&nbsp;", $level );
458
+ if ( !empty( $var[ 'label' ] ) )
459
+ echo apply_filters( 'wppb_variable_label', $var[ 'label' ] . ':' );
460
+ if ( !empty( $var[ 'unescaped' ] ) && $var[ 'unescaped' ] === true )
461
+ echo '{{{';
462
+ else
463
+ echo '{{';
464
+ echo $var[ 'name' ];
465
+ if ( !empty( $var[ 'unescaped' ] ) && $var[ 'unescaped' ] === true )
466
+ echo '}}}';
467
+ else
468
+ echo '}}';
469
+ echo PHP_EOL;
470
+ } else {
471
+ echo str_repeat( "&nbsp;&nbsp;", $level );
472
+ echo '{{#' . $var[ 'name' ] . '}}' . PHP_EOL;
473
+ $level++;
474
+ $this->display_mustache_available_vars( $var[ 'children' ], $level );
475
+ $level--;
476
+ echo str_repeat( "&nbsp;&nbsp;", $level );
477
+ echo '{{/' . $var[ 'name' ] . '}}' . PHP_EOL;
478
+ }
479
+ }
480
+ }
481
+ }
482
+ }
483
+
484
+ /**
485
+ * Function that saves the values from the metabox
486
+ *
487
+ * @param int $post_id the post id
488
+ * @param post object $post
489
+ *
490
+ * @since 2.0.0
491
+ *
492
+ */
493
+ function save_box( $post_id, $post ){
494
+ global $post_type;
495
+ /* addition to save as option if we are not on a post type */
496
+ if( !is_numeric( $post_id ) && @wp_verify_nonce( $_POST['_meta_box_nonce'], basename( __FILE__ ) ) ){
497
+ foreach ( $this->fields as $field ) {
498
+
499
+ if ( isset( $_POST[$field['id']] ) ) {
500
+ update_option( $field['id'], wp_unslash( $_POST[$field['id']] ) );
501
+ }
502
+
503
+ }
504
+ }
505
+
506
+ // verify nonce
507
+ if ( ! ( in_array( $post_type, $this->page ) && @wp_verify_nonce( $_POST[$post_type . '_meta_box_nonce'], basename( __FILE__ ) ) ) )
508
+ return $post_id;
509
+ // check autosave
510
+ if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
511
+ return $post_id;
512
+ // check permissions
513
+ if ( !current_user_can( 'edit_page', $post_id ) )
514
+ return $post_id;
515
+
516
+ // loop through fields and save the data
517
+ foreach ( $this->fields as $field ) {
518
+ if( $field['type'] == 'tax_select' ) {
519
+ // save taxonomies
520
+ if ( isset( $_POST[$field['id']] ) )
521
+ $term = $_POST[$field['id']];
522
+ wp_set_object_terms( $post_id, $term, $field['id'] );
523
+ }
524
+ else {
525
+ // save the rest
526
+ $old = get_post_meta( $post_id, $field['id'], true );
527
+ if ( isset( $_POST[$field['id']] ) ) {
528
+ $new = $_POST[$field['id']];
529
+ } else {
530
+ $new = '';
531
+ }
532
+
533
+ if ( $new && $new != $old ) {
534
+ if ( is_array( $new ) ) {
535
+ foreach ( $new as &$item ) {
536
+ //$item = esc_attr( $item );
537
+ }
538
+ unset( $item );
539
+ } else {
540
+ //$new = esc_attr( $new );
541
+ }
542
+ update_post_meta( $post_id, $field['id'], $new );
543
+ } elseif ( '' == $new && $old ) {
544
+ delete_post_meta( $post_id, $field['id'], $old );
545
+ }
546
+ }
547
+ } // end foreach
548
+ }
549
+
550
+
551
+ /**
552
+ * Function that saves the default values for each field in the database for options
553
+ *
554
+ *
555
+ * @since 2.0.0
556
+ *
557
+ */
558
+
559
+ function save_default_values(){
560
+ /* only do it on pages where we save as options and we have fields */
561
+ if( !empty( $this->fields ) && !post_type_exists($this->page[0]) ){
562
+ foreach( $this->fields as $field ){
563
+ if( !empty( $field['default'] ) ){
564
+ /* see if we have an option with this name, if we have don't do anything */
565
+ $field_saved_value = get_option( $field['id'] );
566
+ if( empty( $field_saved_value ) ) {
567
+ update_option( $field['id'], $field['default'] );
568
+ }
569
+ }
570
+ }
571
+ }
572
+ }
573
+ }
assets/lib/class_notices.php CHANGED
@@ -115,7 +115,7 @@ Class WPPB_Plugin_Notifications {
115
  function remove_other_plugin_notices(){
116
 
117
  //remove all notifications from start page
118
- if( isset( $_GET['page'] ) && $_GET['page'] == 'profile-builder-basic-info' ) {
119
  remove_all_actions('admin_notices');
120
  }
121
 
115
  function remove_other_plugin_notices(){
116
 
117
  //remove all notifications from start page
118
+ if( isset( $_GET['page'] ) && ( $_GET['page'] == 'profile-builder-basic-info' || ( $_GET['page'] == 'profile-builder-add-ons' && !isset( $_GET['cl_add_ons_listing_success'] ) ) ) ) {//on addons page we use notices to display success mesage so we can't remove it in that case
119
  remove_all_actions('admin_notices');
120
  }
121
 
assets/lib/wck-api/wordpress-creation-kit.php CHANGED
@@ -1327,6 +1327,13 @@ class Wordpress_Creation_Kit_PB{
1327
  else
1328
  $value_attr = $option_parts[2];
1329
  }
 
 
 
 
 
 
 
1330
  }
1331
  }
1332
 
1327
  else
1328
  $value_attr = $option_parts[2];
1329
  }
1330
+ else{
1331
+ $label = $option;
1332
+ if( !empty( $values ) )
1333
+ $value_attr = $values[$i];
1334
+ else
1335
+ $value_attr = $option;
1336
+ }
1337
  }
1338
  }
1339
 
assets/misc/plugin-compatibilities.php CHANGED
@@ -368,4 +368,16 @@
368
  ****************************************************/
369
  if ( class_exists( 'Xcrud_config' ) ){
370
  Xcrud_config::$load_jquery = apply_filters( 'wppb_xcrud_jquery_compatibility', false );
371
- }
 
 
 
 
 
 
 
 
 
 
 
 
368
  ****************************************************/
369
  if ( class_exists( 'Xcrud_config' ) ){
370
  Xcrud_config::$load_jquery = apply_filters( 'wppb_xcrud_jquery_compatibility', false );
371
+ }
372
+
373
+ /****************************************************
374
+ * Plugin Name: bbPress Messages
375
+ * Plugin URI: https://wordpress.org/plugins/bbp-messages/
376
+ * This plugin relies on the 'bbp_template_before_user_profile' hook
377
+ ****************************************************/
378
+ if ( function_exists( 'bbp_messages_loaded' ) ){
379
+ add_action( 'wppb_bbp_template_before_user_profile', 'wppb_bbp_messages_compatibility' );
380
+ function wppb_bbp_messages_compatibility (){
381
+ do_action( 'bbp_template_before_user_profile' );
382
+ }
383
+ }
features/email-confirmation/class-email-confirmation.php CHANGED
@@ -11,7 +11,7 @@ Author URI: http://www.mattvanandel.com
11
  * to check if it's available and load it if necessary.
12
  */
13
  if( !class_exists( 'PB_WP_List_Table' ) ){
14
- require_once( WPPB_PLUGIN_DIR.'/features/class-list-table.php' );
15
  }
16
 
17
 
11
  * to check if it's available and load it if necessary.
12
  */
13
  if( !class_exists( 'PB_WP_List_Table' ) ){
14
+ require_once( WPPB_PLUGIN_DIR.'/assets/lib/class-list-table.php' );
15
  }
16
 
17
 
features/email-confirmation/email-confirmation.php CHANGED
@@ -306,6 +306,16 @@ function wppb_add_meta_to_user_on_activation( $user_id, $password, $meta ){
306
  }
307
  }
308
  }
 
 
 
 
 
 
 
 
 
 
309
  default: {
310
  if ( isset( $meta[$value['meta-name']] ) ) {
311
  update_user_meta($user_id, $value['meta-name'], $meta[$value['meta-name']]);
306
  }
307
  }
308
  }
309
+ case 'Select2 (Multiple)':{
310
+
311
+ $selected_values = '';
312
+ if (!empty($meta[wppb_handle_meta_name($value['meta-name'])]) && is_array($meta[wppb_handle_meta_name($value['meta-name'])])) {
313
+ foreach ($meta[wppb_handle_meta_name($value['meta-name'])] as $key => $value)
314
+ $selected_values .= sanitize_text_field($value) . ',';
315
+ }
316
+
317
+ update_user_meta( $user_id, $value['meta-name'], trim( $selected_values, ',' ) );
318
+ }
319
  default: {
320
  if ( isset( $meta[$value['meta-name']] ) ) {
321
  update_user_meta($user_id, $value['meta-name'], $meta[$value['meta-name']]);
features/functions.php CHANGED
@@ -331,7 +331,7 @@ function wppb_print_cpt_script( $hook ){
331
 
332
  if (( $hook == 'profile-builder_page_manage-fields' ) ||
333
  ( $hook == 'profile-builder_page_profile-builder-basic-info' ) ||
334
- ( $hook == 'profile-builder_page_profile-builder-modules' ) ||
335
  ( $hook == 'profile-builder_page_profile-builder-general-settings' ) ||
336
  ( $hook == 'profile-builder_page_profile-builder-admin-bar-settings' ) ||
337
  ( $hook == 'profile-builder_page_profile-builder-register' ) ||
@@ -377,9 +377,9 @@ function wppb_print_cpt_script( $hook ){
377
  wp_enqueue_style( 'wppb-back-end-style', WPPB_PLUGIN_URL . 'assets/css/style-back-end.css', array(), PROFILE_BUILDER_VERSION );
378
  }
379
  }
380
- if ( file_exists ( WPPB_PLUGIN_DIR.'/update/update-checker.php' ) || $hook == 'admin_page_profile-builder-private-website' ) {
381
- wp_enqueue_script( 'wppb-sitewide', WPPB_PLUGIN_URL . 'assets/js/jquery-pb-sitewide.js', array(), PROFILE_BUILDER_VERSION, true );
382
- }
383
  wp_enqueue_style( 'wppb-serial-notice-css', WPPB_PLUGIN_URL . 'assets/css/serial-notice.css', false, PROFILE_BUILDER_VERSION );
384
  }
385
  add_action( 'admin_enqueue_scripts', 'wppb_print_cpt_script' );
@@ -394,6 +394,7 @@ add_action( "admin_footer-profile-builder_page_profile-builder-content_restricti
394
  add_action( "admin_footer-profile-builder_page_profile-builder-content_restriction", "wppb_make_setting_menu_item_highlighted" );
395
  add_action( "admin_footer-profile-builder_page_admin-email-customizer", "wppb_make_setting_menu_item_highlighted" );
396
  add_action( "admin_footer-profile-builder_page_user-email-customizer", "wppb_make_setting_menu_item_highlighted" );
 
397
  function wppb_make_setting_menu_item_highlighted(){
398
  echo'<script type="text/javascript">
399
  jQuery(document).ready( function($) {
@@ -1613,4 +1614,37 @@ function wppb_embed($atts, $content){
1613
  }
1614
 
1615
  return $content;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1616
  }
331
 
332
  if (( $hook == 'profile-builder_page_manage-fields' ) ||
333
  ( $hook == 'profile-builder_page_profile-builder-basic-info' ) ||
334
+ ( $hook == 'profile-builder_page_profile-builder-add-ons' ) ||
335
  ( $hook == 'profile-builder_page_profile-builder-general-settings' ) ||
336
  ( $hook == 'profile-builder_page_profile-builder-admin-bar-settings' ) ||
337
  ( $hook == 'profile-builder_page_profile-builder-register' ) ||
377
  wp_enqueue_style( 'wppb-back-end-style', WPPB_PLUGIN_URL . 'assets/css/style-back-end.css', array(), PROFILE_BUILDER_VERSION );
378
  }
379
  }
380
+
381
+ wp_enqueue_script( 'wppb-sitewide', WPPB_PLUGIN_URL . 'assets/js/jquery-pb-sitewide.js', array(), PROFILE_BUILDER_VERSION, true );
382
+
383
  wp_enqueue_style( 'wppb-serial-notice-css', WPPB_PLUGIN_URL . 'assets/css/serial-notice.css', false, PROFILE_BUILDER_VERSION );
384
  }
385
  add_action( 'admin_enqueue_scripts', 'wppb_print_cpt_script' );
394
  add_action( "admin_footer-profile-builder_page_profile-builder-content_restriction", "wppb_make_setting_menu_item_highlighted" );
395
  add_action( "admin_footer-profile-builder_page_admin-email-customizer", "wppb_make_setting_menu_item_highlighted" );
396
  add_action( "admin_footer-profile-builder_page_user-email-customizer", "wppb_make_setting_menu_item_highlighted" );
397
+ add_action( "admin_footer-profile-builder_page_profile-builder-toolbox-settings", "wppb_make_setting_menu_item_highlighted" );
398
  function wppb_make_setting_menu_item_highlighted(){
399
  echo'<script type="text/javascript">
400
  jQuery(document).ready( function($) {
1614
  }
1615
 
1616
  return $content;
1617
+ }
1618
+
1619
+ /**
1620
+ * Function to determine if an add-on is active
1621
+ */
1622
+
1623
+ function wppb_check_if_add_on_is_active( $slug ){
1624
+ //the old modulse part
1625
+ if (file_exists(WPPB_PLUGIN_DIR . '/add-ons/add-ons.php')) {
1626
+ $wppb_module_settings = get_option('wppb_module_settings', 'not_found');
1627
+ if ($wppb_module_settings != 'not_found') {
1628
+ foreach ($wppb_module_settings as $add_on_slug => $status) {
1629
+ if ($slug == $add_on_slug) {
1630
+ if ($status === 'hide')
1631
+ return false;
1632
+ elseif ($status === 'show')
1633
+ return true;
1634
+ }
1635
+ }
1636
+ }
1637
+ }
1638
+
1639
+ //the free addons part
1640
+ $wppb_free_add_ons_settings = get_option( 'wppb_free_add_ons_settings', array() );
1641
+ if ( !empty( $wppb_free_add_ons_settings ) ){
1642
+ foreach( $wppb_free_add_ons_settings as $add_on_slug => $status ){
1643
+ if( $slug == $add_on_slug ){
1644
+ return $status;
1645
+ }
1646
+ }
1647
+ }
1648
+
1649
+ return false;
1650
  }
features/upgrades/upgrades-functions.php CHANGED
@@ -641,4 +641,41 @@ function wppb_new_custom_redirects_compatibility() {
641
  update_option( 'wppb_cr_default_wp_pages', $wppb_new_cr_wp_default );
642
  }
643
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
644
  }
641
  update_option( 'wppb_cr_default_wp_pages', $wppb_new_cr_wp_default );
642
  }
643
  }
644
+ }
645
+
646
+ /**
647
+ * Check if an addon was active as a slug before it was programmatically deactivated by us
648
+ * On the plugin updates, where we transitioned add-ons we save the status in an option 'wppb_old_add_ons_status'
649
+ * @param $slug
650
+ * @return false
651
+ */
652
+ function wppb_was_addon_active_as_plugin( $slug ){
653
+ $old_add_ons_status = get_option( 'wppb_old_add_ons_status' );
654
+ if( isset( $old_add_ons_status[$slug] ) )
655
+ return $old_add_ons_status[$slug];
656
+ else
657
+ return false;
658
+ }
659
+
660
+ /**
661
+ * Function that returns the slugs of old addons that were plugins
662
+ * @return string[]
663
+ */
664
+ function wppb_get_old_addons_slug_list(){
665
+ $old_addon_list = array(
666
+ 'pd-add-on-multiple-admin-e-mails/index.php',
667
+ 'pb-add-on-customization-toolbox/index.php',
668
+ 'pb-add-on-email-confirmation-field/index.php',
669
+ 'pb-add-on-placeholder-labels/pbpl.php',
670
+ 'pb-add-on-gdpr-communication-preferences/pb-gdpr-communication-preferences.php',
671
+ 'pb-add-on-labels-edit/pble.php',
672
+ 'pb-add-on-maximum-character-length/index.php',
673
+ 'pb-add-on-custom-css-classes-on-fields/index.php',
674
+ 'pb-add-on-import-export/pbie.php',
675
+ );
676
+
677
+ if( PROFILE_BUILDER !== 'Profile Builder Free' )
678
+ $old_addon_list[] = 'pb-add-on-select2/index.php';//don't disable select 2 for people who already had it in free
679
+
680
+ return $old_addon_list;
681
  }
features/upgrades/upgrades.php CHANGED
@@ -76,4 +76,152 @@ function wppb_update_patch(){
76
 
77
  do_action ( 'wppb_after_default_changes', PROFILE_BUILDER_VERSION, $wppb_version );
78
  }
79
- add_action ( 'init', 'wppb_update_patch' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
  do_action ( 'wppb_after_default_changes', PROFILE_BUILDER_VERSION, $wppb_version );
78
  }
79
+ add_action ( 'init', 'wppb_update_patch' );
80
+
81
+
82
+ /**
83
+ * before disabling the old plugin addons save their status in the db
84
+ */
85
+ add_action( 'plugins_loaded', 'wppb_save_old_add_ons_status', 11 );
86
+ function wppb_save_old_add_ons_status(){
87
+ $old_addon_list = wppb_get_old_addons_slug_list();
88
+ $old_addons_status = get_option( 'wppb_old_add_ons_status', array() );
89
+
90
+ //if it's triggered in the frontend we need this include
91
+ if( !function_exists('is_plugin_active') )
92
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
93
+
94
+ foreach( $old_addon_list as $addon_slug ){
95
+ if( !isset( $old_addons_status[$addon_slug] ) ) {//don't change the status, just take the first run through
96
+ if ( is_plugin_active($addon_slug) )
97
+ $old_addons_status[$addon_slug] = true;
98
+ else
99
+ $old_addons_status[$addon_slug] = false;
100
+ }
101
+ }
102
+
103
+ update_option( 'wppb_old_add_ons_status', $old_addons_status );
104
+ }
105
+
106
+
107
+ /**
108
+ * Deactivate the old addons as plugins
109
+ */
110
+ add_action( 'plugins_loaded', 'wppb_disable_old_add_ons', 12 );
111
+ function wppb_disable_old_add_ons(){
112
+
113
+ //if it's triggered in the frontend we need this include
114
+ if( !function_exists('is_plugin_active') )
115
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
116
+
117
+ $old_addons_list = wppb_get_old_addons_slug_list();
118
+ $deactivated_addons = 0;
119
+ foreach( $old_addons_list as $addon_slug ){
120
+ if( is_plugin_active($addon_slug) ){
121
+ if( is_multisite() ){
122
+ if( is_plugin_active_for_network($addon_slug) )
123
+ deactivate_plugins($addon_slug, true);
124
+ else
125
+ deactivate_plugins($addon_slug, true, false);
126
+ }
127
+ else {
128
+ deactivate_plugins($addon_slug, true);
129
+ }
130
+ $deactivated_addons++;
131
+ }
132
+ }
133
+ if ( isset( $_GET['activate'] ) && $deactivated_addons === 1 ){
134
+ add_action( 'load-plugins.php',
135
+ function(){
136
+ add_action( 'in_admin_header',
137
+ function(){
138
+ add_filter( 'gettext', 'wppb_disable_old_add_ons_notice', 99, 3 );
139
+ }
140
+ );
141
+ }
142
+ );
143
+ } elseif ( isset( $_GET['activate-multi'] ) && $deactivated_addons !== 0 ){
144
+ add_action( 'admin_notices', 'wppb_disable_old_add_ons_notice_multi' );
145
+ }
146
+ }
147
+
148
+ function wppb_disable_old_add_ons_notice( $translated_text, $untranslated_text, $domain )
149
+ {
150
+ $old = array(
151
+ "Plugin activated."
152
+ );
153
+
154
+ $new = "This Profile Builder add-on has been migrated to the main plugin and is no longer used. You can delete it.";
155
+
156
+ if ( in_array( $untranslated_text, $old, true ) )
157
+ {
158
+ $translated_text = $new;
159
+ remove_filter( current_filter(), __FUNCTION__, 99 );
160
+ }
161
+ return $translated_text;
162
+ }
163
+
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
+ }
171
+
172
+ add_action( 'plugins_loaded', 'wppb_generate_new_free_add_ons_setting', 13 );
173
+ function wppb_generate_new_free_add_ons_setting(){
174
+ $wppb_free_add_ons_settings = get_option( 'wppb_free_add_ons_settings', array() );
175
+ if( empty( $wppb_free_add_ons_settings ) ){
176
+
177
+ $old_addons_list = wppb_get_old_addons_slug_list();
178
+ foreach( $old_addons_list as $addon_slug ){
179
+
180
+ switch ($addon_slug) {
181
+ case 'pb-add-on-customization-toolbox/index.php':
182
+ if( !wppb_was_addon_active_as_plugin( $addon_slug ) ){
183
+ //it might have been active at some point and we need to remove the settings so they don't get activated in Advance Settings
184
+ $toolbox_settings = array( 'wppb_toolbox_forms_settings', 'wppb_toolbox_fields_settings', 'wppb_toolbox_userlisting_settings', 'wppb_toolbox_shortcodes_settings', 'wppb_toolbox_admin_settings' );
185
+ foreach( $toolbox_settings as $toolbox_setting ){
186
+ delete_option( $toolbox_setting );
187
+ }
188
+ }
189
+ break;
190
+ case 'pb-add-on-gdpr-communication-preferences/pb-gdpr-communication-preferences.php':
191
+ if( wppb_was_addon_active_as_plugin( $addon_slug ) )
192
+ $wppb_free_add_ons_settings['gdpr-communication-preferences'] = true;
193
+ else
194
+ $wppb_free_add_ons_settings['gdpr-communication-preferences'] = false;
195
+ break;
196
+ case 'pb-add-on-labels-edit/pble.php':
197
+ if( wppb_was_addon_active_as_plugin( $addon_slug ) )
198
+ $wppb_free_add_ons_settings['labels-edit'] = true;
199
+ else
200
+ $wppb_free_add_ons_settings['labels-edit'] = false;
201
+ break;
202
+ case 'pb-add-on-maximum-character-length/index.php':
203
+ if( wppb_was_addon_active_as_plugin( $addon_slug ) )
204
+ $wppb_free_add_ons_settings['maximum-character-length'] = true;
205
+ else
206
+ $wppb_free_add_ons_settings['maximum-character-length'] = false;
207
+ break;
208
+ case 'pb-add-on-custom-css-classes-on-fields/index.php':
209
+ if( wppb_was_addon_active_as_plugin( $addon_slug ) )
210
+ $wppb_free_add_ons_settings['custom-css-classes-on-fields'] = true;
211
+ else
212
+ $wppb_free_add_ons_settings['custom-css-classes-on-fields'] = false;
213
+ break;
214
+ case 'pb-add-on-import-export/pbie.php':
215
+ if( wppb_was_addon_active_as_plugin( $addon_slug ) )
216
+ $wppb_free_add_ons_settings['import-export'] = true;
217
+ else
218
+ $wppb_free_add_ons_settings['import-export'] = false;
219
+ break;
220
+ }
221
+
222
+
223
+ }
224
+
225
+ add_option( 'wppb_free_add_ons_settings', $wppb_free_add_ons_settings );
226
+ }
227
+ }
front-end/default-fields/default-fields.php CHANGED
@@ -47,5 +47,8 @@ function wppb_include_default_fields_files() {
47
  /* added recaptcha and user role field since version 2.8.2 */
48
  include_once( WPPB_PLUGIN_DIR.'/front-end/default-fields/gdpr/gdpr.php' );
49
  include_once( WPPB_PLUGIN_DIR.'/front-end/default-fields/gdpr-delete/gdpr-delete.php' );
 
 
 
50
  }
51
  wppb_include_default_fields_files();
47
  /* added recaptcha and user role field since version 2.8.2 */
48
  include_once( WPPB_PLUGIN_DIR.'/front-end/default-fields/gdpr/gdpr.php' );
49
  include_once( WPPB_PLUGIN_DIR.'/front-end/default-fields/gdpr-delete/gdpr-delete.php' );
50
+
51
+ /* added email-confirmation field in main plugin since version 3.3.4 */
52
+ include_once( WPPB_PLUGIN_DIR.'/front-end/default-fields/email-confirmation/email-confirmation.php' );
53
  }
54
  wppb_include_default_fields_files();
front-end/default-fields/email-confirmation/email-confirmation.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* handle field output */
3
+ function wppb_email_confirmation_handler( $output, $form_location, $field, $user_id, $field_check_errors, $request_data ){
4
+ if ( $field['field'] == 'Email Confirmation' ) {
5
+ $item_title = apply_filters( 'wppb_' .$form_location.'_email_confirmation_custom_field_'.$field['id'].'_item_title', wppb_icl_t( 'plugin profile-builder-pro', 'custom_field_'.$field['id'].'_title_translation', esc_attr( $field['field-title'] ) ) );
6
+ $item_description = wppb_icl_t( 'plugin profile-builder-pro', 'custom_field_'.$field['id'].'_description_translation', wp_kses_post( $field['description'] ) );
7
+
8
+ $extra_attr = apply_filters( 'wppb_extra_attribute', '', $field, $form_location );
9
+
10
+ if( $form_location == 'edit_profile' )
11
+ $input_value = get_the_author_meta( 'user_email', $user_id );
12
+ else
13
+ $input_value = '';
14
+
15
+ $input_value = ( isset( $request_data['wppb_email_confirmation'] ) ? esc_attr( $request_data['wppb_email_confirmation'] ) : $input_value );
16
+
17
+ $error_mark = (($field['required'] == 'Yes') ? '<span class="wppb-required" title="' . wppb_required_field_error($field["field-title"]) . '">*</span>' : '');
18
+ if (array_key_exists($field['id'], $field_check_errors))
19
+ $error_mark = '<img src="' . WPPB_PLUGIN_URL . 'assets/images/pencil_delete.png" title="' . wppb_required_field_error($field["field-title"]) . '"/>';
20
+
21
+ $output = '
22
+ <label for="wppb_email_confirmation">'.$item_title.$error_mark.'</label>
23
+ <input class="extra_field_email_confirmation" name="wppb_email_confirmation" type="text" id="wppb_email_confirmation" value="'. esc_attr( wp_unslash( $input_value ) ) .'" '. $extra_attr .'/>';
24
+ if( !empty( $item_description ) )
25
+ $output .= '<span class="wppb-description-delimiter">'.$item_description.'</span>';
26
+
27
+ return apply_filters( 'wppb_'.$form_location.'_email_confirmation_custom_field_'.$field['id'], $output, $form_location, $field, $user_id, $field_check_errors, $request_data, $input_value );
28
+ }
29
+ }
30
+ add_filter( 'wppb_output_form_field_email-confirmation', 'wppb_email_confirmation_handler', 10, 6 );
31
+
32
+
33
+ /* handle field validation */
34
+ function wppb_check_email_confirmation_value( $message, $field, $request_data, $form_location ){
35
+ if( $field['field'] == 'Email Confirmation' ) {
36
+ if ((isset($request_data['wppb_email_confirmation']) && (trim($request_data['wppb_email_confirmation']) == '')) && ($field['required'] == 'Yes'))
37
+ return wppb_required_field_error($field["field-title"]);
38
+
39
+ if ( (isset($request_data['wppb_email_confirmation'])) && ($field['required'] == 'Yes') && (strcasecmp($request_data['email'], $request_data['wppb_email_confirmation']) != 0) ) {
40
+ return __('The email confirmation does not match your email address.', 'profile-builder');
41
+ }
42
+ }
43
+ return $message;
44
+ }
45
+ add_filter( 'wppb_check_form_field_email-confirmation', 'wppb_check_email_confirmation_value', 10, 4 );
46
+
47
+
48
+ //Remove Email Confirmation field from UserListing merge tags (available Meta and Sort Variables list)
49
+ function wppb_remove_email_confirmation_from_userlisting($manage_fields){
50
+ foreach ($manage_fields as $key => $value){
51
+ if ($value['field'] == 'Email Confirmation') unset($manage_fields[$key]);
52
+ }
53
+ return array_values($manage_fields);
54
+ }
55
+ add_filter('wppb_userlisting_merge_tags', 'wppb_remove_email_confirmation_from_userlisting');
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.3.3
7
  Author: Cozmoslabs
8
  Author URI: https://www.cozmoslabs.com/
9
  Text Domain: profile-builder
@@ -65,7 +65,7 @@ function wppb_free_plugin_init() {
65
  *
66
  *
67
  */
68
- define('PROFILE_BUILDER_VERSION', '3.3.3' );
69
  define('WPPB_PLUGIN_DIR', plugin_dir_path(__FILE__));
70
  define('WPPB_PLUGIN_URL', plugin_dir_url(__FILE__));
71
  define('WPPB_PLUGIN_BASENAME', plugin_basename(__FILE__));
@@ -76,7 +76,7 @@ function wppb_free_plugin_init() {
76
  if (file_exists(WPPB_PLUGIN_DIR . '/assets/lib/class_notices.php'))
77
  include_once(WPPB_PLUGIN_DIR . '/assets/lib/class_notices.php');
78
 
79
- if (file_exists(WPPB_PLUGIN_DIR . '/modules/modules.php'))
80
  define('PROFILE_BUILDER', 'Profile Builder Pro');
81
  elseif (file_exists(WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php'))
82
  define('PROFILE_BUILDER', 'Profile Builder Hobbyist');
@@ -113,6 +113,7 @@ function wppb_free_plugin_init() {
113
  include_once(WPPB_PLUGIN_DIR . '/admin/admin-functions.php');
114
  include_once(WPPB_PLUGIN_DIR . '/admin/basic-info.php');
115
  include_once(WPPB_PLUGIN_DIR . '/admin/general-settings.php');
 
116
  include_once(WPPB_PLUGIN_DIR . '/admin/admin-bar.php');
117
  include_once(WPPB_PLUGIN_DIR . '/admin/private-website.php');
118
  include_once(WPPB_PLUGIN_DIR . '/admin/manage-fields.php');
@@ -136,13 +137,13 @@ function wppb_free_plugin_init() {
136
  include_once(WPPB_PLUGIN_DIR . '/admin/register-version.php');
137
  }
138
 
139
- if (file_exists(WPPB_PLUGIN_DIR . '/modules/modules.php')) {
140
- include_once(WPPB_PLUGIN_DIR . '/modules/modules.php');
141
- include_once(WPPB_PLUGIN_DIR . '/modules/repeater-field/repeater-module.php');
142
- include_once(WPPB_PLUGIN_DIR . '/modules/custom-redirects/custom-redirects.php');
143
- include_once(WPPB_PLUGIN_DIR . '/modules/email-customizer/email-customizer.php');
144
- include_once(WPPB_PLUGIN_DIR . '/modules/multiple-forms/multiple-forms.php');
145
- include_once(WPPB_PLUGIN_DIR . '/modules/user-listing/userlisting.php');
146
 
147
  $wppb_module_settings = get_option('wppb_module_settings');
148
  if (isset($wppb_module_settings['wppb_userListing']) && ($wppb_module_settings['wppb_userListing'] == 'show')) {
@@ -155,10 +156,10 @@ function wppb_free_plugin_init() {
155
  $wppb_email_customizer_activate = 'show';
156
 
157
  if ( $wppb_email_customizer_activate == 'show')
158
- include_once(WPPB_PLUGIN_DIR . '/modules/email-customizer/admin-email-customizer.php');
159
 
160
  if ( $wppb_email_customizer_activate == 'show' )
161
- include_once(WPPB_PLUGIN_DIR . '/modules/email-customizer/user-email-customizer.php');
162
  }
163
 
164
  include_once(WPPB_PLUGIN_DIR . '/admin/add-ons.php');
@@ -174,13 +175,44 @@ function wppb_free_plugin_init() {
174
  include_once WPPB_PLUGIN_DIR . 'features/content-restriction/class-elementor-content-restriction.php';
175
  }
176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  /**
178
  * Check for updates
179
  *
180
  *
181
  */
182
  if (file_exists(WPPB_PLUGIN_DIR . '/update/update-checker.php')) {
183
- if (file_exists(WPPB_PLUGIN_DIR . '/modules/modules.php')) {
184
  $localSerial = get_option('wppb_profile_builder_pro_serial');
185
  $wppb_update = new wppb_PluginUpdateChecker('http://updatemetadata.cozmoslabs.com/?localSerialNumber=' . $localSerial . '&uniqueproduct=CLPBP', __FILE__, 'profile-builder-pro-update');
186
 
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.3.4
7
  Author: Cozmoslabs
8
  Author URI: https://www.cozmoslabs.com/
9
  Text Domain: profile-builder
65
  *
66
  *
67
  */
68
+ define('PROFILE_BUILDER_VERSION', '3.3.4' );
69
  define('WPPB_PLUGIN_DIR', plugin_dir_path(__FILE__));
70
  define('WPPB_PLUGIN_URL', plugin_dir_url(__FILE__));
71
  define('WPPB_PLUGIN_BASENAME', plugin_basename(__FILE__));
76
  if (file_exists(WPPB_PLUGIN_DIR . '/assets/lib/class_notices.php'))
77
  include_once(WPPB_PLUGIN_DIR . '/assets/lib/class_notices.php');
78
 
79
+ if (file_exists(WPPB_PLUGIN_DIR . '/add-ons/add-ons.php'))
80
  define('PROFILE_BUILDER', 'Profile Builder Pro');
81
  elseif (file_exists(WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php'))
82
  define('PROFILE_BUILDER', 'Profile Builder Hobbyist');
113
  include_once(WPPB_PLUGIN_DIR . '/admin/admin-functions.php');
114
  include_once(WPPB_PLUGIN_DIR . '/admin/basic-info.php');
115
  include_once(WPPB_PLUGIN_DIR . '/admin/general-settings.php');
116
+ include_once(WPPB_PLUGIN_DIR . '/admin/advanced-settings/advanced-settings.php');
117
  include_once(WPPB_PLUGIN_DIR . '/admin/admin-bar.php');
118
  include_once(WPPB_PLUGIN_DIR . '/admin/private-website.php');
119
  include_once(WPPB_PLUGIN_DIR . '/admin/manage-fields.php');
137
  include_once(WPPB_PLUGIN_DIR . '/admin/register-version.php');
138
  }
139
 
140
+ if (file_exists(WPPB_PLUGIN_DIR . '/add-ons/add-ons.php')) {
141
+ include_once(WPPB_PLUGIN_DIR . '/add-ons/add-ons.php');
142
+ include_once(WPPB_PLUGIN_DIR . '/add-ons/repeater-field/repeater-module.php');
143
+ include_once(WPPB_PLUGIN_DIR . '/add-ons/custom-redirects/custom-redirects.php');
144
+ include_once(WPPB_PLUGIN_DIR . '/add-ons/email-customizer/email-customizer.php');
145
+ include_once(WPPB_PLUGIN_DIR . '/add-ons/multiple-forms/multiple-forms.php');
146
+ include_once(WPPB_PLUGIN_DIR . '/add-ons/user-listing/userlisting.php');
147
 
148
  $wppb_module_settings = get_option('wppb_module_settings');
149
  if (isset($wppb_module_settings['wppb_userListing']) && ($wppb_module_settings['wppb_userListing'] == 'show')) {
156
  $wppb_email_customizer_activate = 'show';
157
 
158
  if ( $wppb_email_customizer_activate == 'show')
159
+ include_once(WPPB_PLUGIN_DIR . '/add-ons/email-customizer/admin-email-customizer.php');
160
 
161
  if ( $wppb_email_customizer_activate == 'show' )
162
+ include_once(WPPB_PLUGIN_DIR . '/add-ons/email-customizer/user-email-customizer.php');
163
  }
164
 
165
  include_once(WPPB_PLUGIN_DIR . '/admin/add-ons.php');
175
  include_once WPPB_PLUGIN_DIR . 'features/content-restriction/class-elementor-content-restriction.php';
176
  }
177
 
178
+ //Include Free Add-ons
179
+ $wppb_free_add_ons_settings = get_option( 'wppb_free_add_ons_settings', array() );
180
+ if( !empty( $wppb_free_add_ons_settings ) ){
181
+
182
+ if( isset( $wppb_free_add_ons_settings['custom-css-classes-on-fields'] ) && $wppb_free_add_ons_settings['custom-css-classes-on-fields'] ){
183
+ if( file_exists( WPPB_PLUGIN_DIR . 'add-ons-free/custom-css-classes-on-fields/custom-css-classes-on-fields.php' ) )
184
+ include_once WPPB_PLUGIN_DIR . 'add-ons-free/custom-css-classes-on-fields/custom-css-classes-on-fields.php';
185
+ }
186
+
187
+ if( isset( $wppb_free_add_ons_settings['gdpr-communication-preferences'] ) && $wppb_free_add_ons_settings['gdpr-communication-preferences'] ){
188
+ if( file_exists( WPPB_PLUGIN_DIR . 'add-ons-free/gdpr-communication-preferences/gdpr-communication-preferences.php' ) )
189
+ include_once WPPB_PLUGIN_DIR . 'add-ons-free/gdpr-communication-preferences/gdpr-communication-preferences.php';
190
+ }
191
+
192
+ if( isset( $wppb_free_add_ons_settings['import-export'] ) && $wppb_free_add_ons_settings['import-export'] ){
193
+ if( file_exists( WPPB_PLUGIN_DIR . 'add-ons-free/import-export/import-export.php' ) )
194
+ include_once WPPB_PLUGIN_DIR . 'add-ons-free/import-export/import-export.php';
195
+ }
196
+
197
+ if( isset( $wppb_free_add_ons_settings['labels-edit'] ) && $wppb_free_add_ons_settings['labels-edit'] ){
198
+ if( file_exists( WPPB_PLUGIN_DIR . 'add-ons-free/labels-edit/labels-edit.php' ) )
199
+ include_once WPPB_PLUGIN_DIR . 'add-ons-free/labels-edit/labels-edit.php';
200
+ }
201
+
202
+ if( isset( $wppb_free_add_ons_settings['maximum-character-length'] ) && $wppb_free_add_ons_settings['maximum-character-length'] ){
203
+ if( file_exists( WPPB_PLUGIN_DIR . 'add-ons-free/maximum-character-length/maximum-character-length.php' ) )
204
+ include_once WPPB_PLUGIN_DIR . 'add-ons-free/maximum-character-length/maximum-character-length.php';
205
+ }
206
+
207
+ }
208
+
209
  /**
210
  * Check for updates
211
  *
212
  *
213
  */
214
  if (file_exists(WPPB_PLUGIN_DIR . '/update/update-checker.php')) {
215
+ if (file_exists(WPPB_PLUGIN_DIR . '/add-ons/add-ons.php')) {
216
  $localSerial = get_option('wppb_profile_builder_pro_serial');
217
  $wppb_update = new wppb_PluginUpdateChecker('http://updatemetadata.cozmoslabs.com/?localSerialNumber=' . $localSerial . '&uniqueproduct=CLPBP', __FILE__, 'profile-builder-pro-update');
218
 
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: cozmoslabs, reflectionmedia, sareiodata, adispiac, madalin.ungurea
3
  Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
4
  Tags: user registration, user profile, user registration form, user fields, extra 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, profile
5
  Requires at least: 3.1
6
- Tested up to: 5.5.3
7
- Stable tag: 3.3.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -68,11 +68,11 @@ The [Pro version](http://www.cozmoslabs.com/wordpress-profile-builder/?utm_sourc
68
  * Create Multiple User Listings
69
  * Create a [Map of Users Locations](https://www.cozmoslabs.com/160142-add-users-map-wordpress/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree)
70
  * Custom Redirects
71
- * Multiple Registration Forms (set up [multiple registration forms](https://www.cozmoslabs.com/docs/profile-builder-2/modules/multiple-registration-forms/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree) with different profile fields for certain user roles)
72
  * Multiple Edit Profile Forms
73
  * Admin Approval ([approve new users from dashboard or via email](https://www.cozmoslabs.com/112321-approve-users-from-admin-email-using-profile-builder/))
74
  * Email Customizer (Personalize all emails sent to your users or admins; customize default WordPress registration email)
75
- * Advanced Modules (e.g. custom redirects, user listing, multiple registration forms etc.)
76
  * Access to support and documentation
77
  * 1 Year of Updates / Priority Support
78
 
@@ -167,6 +167,19 @@ This plugin adds/removes user fields in the front-end. Both default and extra pr
167
  12. Role Editor
168
 
169
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  = 3.3.3 =
171
  * Changed some sanitization functions to more specific ones
172
  * Add form name to 'User to edit' field ID so it works when multiple forms are on the same page.
3
  Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
4
  Tags: user registration, user profile, user registration form, user fields, extra 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, profile
5
  Requires at least: 3.1
6
+ Tested up to: 5.6.0
7
+ Stable tag: 3.3.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
68
  * Create Multiple User Listings
69
  * Create a [Map of Users Locations](https://www.cozmoslabs.com/160142-add-users-map-wordpress/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree)
70
  * Custom Redirects
71
+ * Multiple Registration Forms (set up [multiple registration forms](https://www.cozmoslabs.com/docs/profile-builder-2/add-ons/multiple-registration-forms/?utm_source=wp.org&utm_medium=pb-description-page&utm_campaign=PBFree) with different profile fields for certain user roles)
72
  * Multiple Edit Profile Forms
73
  * Admin Approval ([approve new users from dashboard or via email](https://www.cozmoslabs.com/112321-approve-users-from-admin-email-using-profile-builder/))
74
  * Email Customizer (Personalize all emails sent to your users or admins; customize default WordPress registration email)
75
+ * Advanced Add-ons (e.g. custom redirects, user listing, multiple registration forms etc.)
76
  * Access to support and documentation
77
  * 1 Year of Updates / Priority Support
78
 
167
  12. Role Editor
168
 
169
  == Changelog ==
170
+ = 3.3.4 =
171
+ * Refactored add-on page to unify add-ons and modules, also did some refactoring of folders
172
+ * Integrated Customization Toolbox addon as Advanced Settings in main plugin
173
+ * Integrated Placeholder labels addon in Advanced Settings
174
+ * Integrated Email Confirmation add-on as field in main plugin
175
+ * Integrated Multiple Admin Emails add-on in Advanced Settings
176
+ * Integrated Custom CSS Classes on fields add-on in main plugin
177
+ * Integrated GDPR Communication Preferences add-on in main plugin
178
+ * Integrated Import and Export add-on in main plugin
179
+ * Integrated Labels Edit add-on in main plugin
180
+ * Integrated Maximum Character Length add-on in main plugin
181
+ * Fix for bbPress Messages compatibility issue.
182
+
183
  = 3.3.3 =
184
  * Changed some sanitization functions to more specific ones
185
  * Add form name to 'User to edit' field ID so it works when multiple forms are on the same page.
translation/profile-builder.catalog.php CHANGED
@@ -71,8 +71,6 @@
71
  <?php __("Reset to Default BuddyPress User Listing Templates", "profile-builder"); ?>
72
  <?php __("<b>Note:</b> This action is not reversible. All modifications to this template will be lost!", "profile-builder"); ?>
73
  <?php __("Reset template", "profile-builder"); ?>
74
- <?php __("CSS Class", "profile-builder"); ?>
75
- <?php __("Add a class to a field. Should not contain dots(.) and for multiple classes separate by space.", "profile-builder"); ?>
76
  <?php __("Login Label", "profile-builder"); ?>
77
  <?php __("Login", "profile-builder"); ?>
78
  <?php __("Logout Label", "profile-builder"); ?>
@@ -93,15 +91,6 @@
93
  <?php __("iFrame Size", "profile-builder"); ?>
94
  <?php __("Height (px)", "profile-builder"); ?>
95
  <?php __("Width (px)", "profile-builder"); ?>
96
- <?php __("Forms", "profile-builder"); ?>
97
- <?php __("Fields", "profile-builder"); ?>
98
- <?php __("Userlisting", "profile-builder"); ?>
99
- <?php __("Shortcodes", "profile-builder"); ?>
100
- <?php __("Admin", "profile-builder"); ?>
101
- <?php __("Customization Toolbox", "profile-builder"); ?>
102
- <?php __("Toolbox", "profile-builder"); ?>
103
- <?php __("Settings", "profile-builder"); ?>
104
- <?php __("The email confirmation does not match your email address.", "profile-builder"); ?>
105
  <?php __("Visibility", "profile-builder"); ?>
106
  <?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"); ?>
107
  <?php __("User Role Visibility", "profile-builder"); ?>
@@ -117,33 +106,7 @@
117
  <?php __("This field is visible only in the following locations: %1$s", "profile-builder"); ?>
118
  <?php __("Get file", "profile-builder"); ?>
119
  <?php __("You do not have the capabilities necessary to edit this field.", "profile-builder"); ?>
120
- <?php __("Export Profile Builder options as a .json file. This allows you to easily import the configuration into another site.", "profile-builder"); ?>
121
- <?php __("Export", "profile-builder"); ?>
122
- <?php __("Import Profile Builder options from a .json file. This allows you to easily import the configuration from another site. ", "profile-builder"); ?>
123
- <?php __("Import", "profile-builder"); ?>
124
- <?php __("This will overwrite your old PB settings! Are you sure you want to continue?", "profile-builder"); ?>
125
- <?php __("Import and Export", "profile-builder"); ?>
126
- <?php __(" labels scanned.", "profile-builder"); ?>
127
- <?php __("Labels Edit", "profile-builder"); ?>
128
- <?php __("Label to Edit", "profile-builder"); ?>
129
- <?php __("New Label", "profile-builder"); ?>
130
- <?php __("Edit Labels", "profile-builder"); ?>
131
- <?php __("Rescan Lables", "profile-builder"); ?>
132
- <?php __("Informations", "profile-builder"); ?>
133
- <?php __("Import and Export Labels", "profile-builder"); ?>
134
- <?php __("Import Labels from a .json file.", "profile-builder"); ?>
135
- <?php __("Easily import the labels from another site.", "profile-builder"); ?>
136
- <?php __("This will overwrite all your old edited labels!\nAre you sure you want to continue?", "profile-builder"); ?>
137
- <?php __("Export Labels as a .json file.", "profile-builder"); ?>
138
- <?php __("Easily import the labels into another site.", "profile-builder"); ?>
139
- <?php __("You must select a label to edit!", "profile-builder"); ?>
140
- <?php __("Labels", "profile-builder"); ?>
141
- <?php __("Delete all", "profile-builder"); ?>
142
- <?php __("No labels edited, nothing to export!", "profile-builder"); ?>
143
  <?php __("MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!", "profile-builder"); ?>
144
- <?php __("Maximum Character Length", "profile-builder"); ?>
145
- <?php __("Specify the maximum number of characters a user can type in this field", "profile-builder"); ?>
146
- <?php __("The entered character number is not numerical\n", "profile-builder"); ?>
147
  <?php __("Step", "profile-builder"); ?>
148
  <?php __("Title for Tab", "profile-builder"); ?>
149
  <?php __("Add Break Points to edit tabs title.", "profile-builder"); ?>
@@ -164,10 +127,6 @@
164
  <?php __("Update Multi-Step", "profile-builder"); ?>
165
  <?php __("Next", "profile-builder"); ?>
166
  <?php __("Previous", "profile-builder"); ?>
167
- <?php __("Placeholder Labels", "profile-builder"); ?>
168
- <?php __("Replace labels with placeholders:", "profile-builder"); ?>
169
- <?php __("Yes", "profile-builder"); ?>
170
- <?php __("No", "profile-builder"); ?>
171
  <?php __("Social Connect", "profile-builder"); ?>
172
  <?php __("Display on the Following Forms", "profile-builder"); ?>
173
  <?php __("Disable Registration on", "profile-builder"); ?>
@@ -204,8 +163,11 @@
204
  <?php __("Unlink Accounts (Edit Profile)", "profile-builder"); ?>
205
  <?php __("This option will display linked social platforms to users accounts and will allow to easily unlink them in Edit Profile page.", "profile-builder"); ?>
206
  <?php __("Default Social Connect CSS in the Front-end", "profile-builder"); ?>
 
207
  <?php __("Help", "profile-builder"); ?>
208
  <?php __("Display Social Connect buttons:", "profile-builder"); ?>
 
 
209
  <?php __("You have successfully unlinked %% from your account.", "profile-builder"); ?>
210
  <?php __("An account with this email address already exists.<br> Do you want to connect it?", "profile-builder"); ?>
211
  <?php __("Please enter your website account password", "profile-builder"); ?>
@@ -278,21 +240,6 @@
278
  <?php __("Choose Edit Profile form to display on My Account page:", "profile-builder"); ?>
279
  <?php __("Select which Profile Builder Edit-profile form to display on My Account page from WooCommerce.", "profile-builder"); ?>
280
  <?php __("%s is also activated. You need to deactivate it before activating this version of the plugin.", "profile-builder"); ?>
281
- <?php __("Communication Preferences", "profile-builder"); ?>
282
- <?php __("Email", "profile-builder"); ?>
283
- <?php __("Telephone", "profile-builder"); ?>
284
- <?php __("SMS", "profile-builder"); ?>
285
- <?php __("Post", "profile-builder"); ?>
286
- <?php __("Select which communication preferences are available on your site ( drag and drop to re-order )", "profile-builder"); ?>
287
- <?php __("Communication Preferences Order", "profile-builder"); ?>
288
- <?php __("Save the communication preferences order", "profile-builder"); ?>
289
- <?php __("required", "profile-builder"); ?>
290
- <?php __("Date", "profile-builder"); ?>
291
- <?php __("Preference", "profile-builder"); ?>
292
- <?php __("Uploaded file is not valid json!", "profile-builder"); ?>
293
- <?php __("Please select a .json file to import!", "profile-builder"); ?>
294
- <?php __("Import successfully!", "profile-builder"); ?>
295
- <?php __("Page will refresh in 3 seconds...", "profile-builder"); ?>
296
  <?php __("MailChimp", "profile-builder"); ?>
297
  <?php __("MailChimp Integration", "profile-builder"); ?>
298
  <?php __("MailChimp List", "profile-builder"); ?>
@@ -346,10 +293,6 @@
346
  <?php __("We couldn't find any lists in your MailPoet settings.", "profile-builder"); ?>
347
  <?php __("Select in which MailPoet list you wish to add a new subscriber", "profile-builder"); ?>
348
  <?php __("Please select at least one MailPoet list \n", "profile-builder"); ?>
349
- <?php __("Maximum Selections", "profile-builder"); ?>
350
- <?php __("Select2 multi-value select boxes can set restrictions regarding the maximum number of options selected.", "profile-builder"); ?>
351
- <?php __("User Inputted Options", "profile-builder"); ?>
352
- <?php __("Check this to allow users to create their own options beside the pre-existing ones.", "profile-builder"); ?>
353
  <?php __("Sign in with Facebook", "profile-builder"); ?>
354
  <?php __("Link with Facebook", "profile-builder"); ?>
355
  <?php __("Sign in with Google", "profile-builder"); ?>
@@ -361,37 +304,66 @@
361
  <?php __("Sign in with Twitter", "profile-builder"); ?>
362
  <?php __("Link with Twitter", "profile-builder"); ?>
363
  <?php __("Add-Ons", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
  <?php __("Recommended Plugins", "profile-builder"); ?>
365
- <?php __("Free", "profile-builder"); ?>
 
366
  <?php __("Translate your Profile Builder forms with a WordPress translation plugin that anyone can use. It offers a simpler way to translate WordPress sites, with full support for WooCommerce and site builders.", "profile-builder"); ?>
367
- <?php __("Install Now", "profile-builder"); ?>
368
- <?php __("Compatible with your version of Profile Builder.", "profile-builder"); ?>
369
- <?php __("Deactivate", "profile-builder"); ?>
370
- <?php __("Activate", "profile-builder"); ?>
371
- <?php __("Plugin is <strong>active</strong>", "profile-builder"); ?>
372
- <?php __("Plugin is <strong>inactive</strong>", "profile-builder"); ?>
373
- <?php __("Could not install plugin. Retry or <a href=\"%s\" target=\"_blank\">install manually</a>.", "profile-builder"); ?>
374
  <?php __("Accept user payments, create subscription plans and restrict content on your membership site.", "profile-builder"); ?>
375
- <?php __("Downloading and installing...", "profile-builder"); ?>
376
- <?php __("Installation complete", "profile-builder"); ?>
377
- <?php __("Add-On is Active", "profile-builder"); ?>
378
- <?php __("Add-On has been activated", "profile-builder"); ?>
379
- <?php __("Retry Install", "profile-builder"); ?>
380
- <?php __("Add-On is <strong>active</strong>", "profile-builder"); ?>
381
- <?php __("Add-On is <strong>inactive</strong>", "profile-builder"); ?>
382
- <?php __("Add-On has been deactivated.", "profile-builder"); ?>
383
- <?php __("Available with the Pro Version", "profile-builder"); ?>
384
- <?php __("Available with the Hobbyist and Pro Versions", "profile-builder"); ?>
385
- <?php __("Available with All Versions", "profile-builder"); ?>
386
- <?php __("Update", "profile-builder"); ?>
387
- <?php __("Not compatible with your version of Profile Builder.", "profile-builder"); ?>
388
- <?php __("Minimum required Profile Builder version:", "profile-builder"); ?>
389
- <?php __("Upgrade Profile Builder", "profile-builder"); ?>
390
- <?php __("Not compatible with Profile Builder", "profile-builder"); ?>
391
- <?php __("Learn More", "profile-builder"); ?>
392
- <?php __("Download Now", "profile-builder"); ?>
393
- <?php __("Could not install add-on. Retry or <a href=\"%s\" target=\"_blank\">install manually</a>.", "profile-builder"); ?>
394
- <?php __("Something went wrong, we could not connect to the server. Please try again later.", "profile-builder"); ?>
395
  <?php __("Show/Hide the Admin Bar on the Front-End", "profile-builder"); ?>
396
  <?php __("Admin Bar Settings", "profile-builder"); ?>
397
  <?php __("Choose which user roles view the admin bar in the front-end of the website.", "profile-builder"); ?>
@@ -413,7 +385,7 @@
413
  <?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"); ?>
414
  <?php __("View Profile Builder documentation", "profile-builder"); ?>
415
  <?php __("Docs", "profile-builder"); ?>
416
- <?php __("Check out the Customization Toolbox add-on which packs the most popular customization requests from Profile Builder.", "profile-builder"); ?>
417
  <?php __("See details", "profile-builder"); ?>
418
  <?php __("Dismiss this notice.", "profile-builder"); ?>
419
  <?php __("Basic Information", "profile-builder"); ?>
@@ -469,22 +441,16 @@
469
  <?php __("Validation", "profile-builder"); ?>
470
  <?php __("Map", "profile-builder"); ?>
471
  <?php __("HTML", "profile-builder"); ?>
472
- <?php __("Powerful Modules (**)", "profile-builder"); ?>
473
- <?php __("Everything you will need to manage your users is probably already available using the Pro Modules.", "profile-builder"); ?>
474
- <?php __("Enable your modules", "profile-builder"); ?>
475
  <?php __("Find out more about PRO Modules", "profile-builder"); ?>
476
- <?php __("User Listing", "profile-builder"); ?>
477
  <?php __("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"); ?>
478
  <?php __("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"); ?>
479
- <?php __("Email Customizer", "profile-builder"); ?>
480
  <?php __("Personalize all emails sent to your users or admins. On registration, email confirmation, admin approval / un-approval.", "profile-builder"); ?>
481
- <?php __("Custom Redirects", "profile-builder"); ?>
482
  <?php __("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"); ?>
483
- <?php __("Multiple Registration Forms", "profile-builder"); ?>
484
  <?php __("Set up multiple registration forms with different fields for certain user roles. Capture different information from different types of users.", "profile-builder"); ?>
485
  <?php __("Multiple Edit-profile Forms", "profile-builder"); ?>
486
- <?php __("Allow different user roles to edit their specific information. Set up multiple edit-profile forms with different fields for certain user roles.", "profile-builder"); ?>
487
- <?php __("Repeater Fields", "profile-builder"); ?>
488
  <?php __("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"); ?>
489
  <?php __(" * only available in the %1$sHobbyist and Pro versions%2$s.", "profile-builder"); ?>
490
  <?php __("** only available in the %1$sPro version%2$s.", "profile-builder"); ?>
@@ -504,6 +470,12 @@
504
  <?php __("Submit and Deactivate", "profile-builder"); ?>
505
  <?php __("Admin Bar", "profile-builder"); ?>
506
  <?php __("Private Website", "profile-builder"); ?>
 
 
 
 
 
 
507
  <?php __("User Emails", "profile-builder"); ?>
508
  <?php __("Administrator Emails", "profile-builder"); ?>
509
  <?php __("Profile Builder Settings", "profile-builder"); ?>
@@ -528,6 +500,7 @@
528
  <?php __("Allow Users to Log in With:", "profile-builder"); ?>
529
  <?php __("Username and Email", "profile-builder"); ?>
530
  <?php __("Username", "profile-builder"); ?>
 
531
  <?php __("\"Username and Email\" - users can Log In with both Username and Email.", "profile-builder"); ?>
532
  <?php __("\"Username\" - users can Log In only with Username.", "profile-builder"); ?>
533
  <?php __("\"Email\" - users can Log In only with Email.", "profile-builder"); ?>
@@ -567,6 +540,7 @@
567
  <?php __("Enter a detailed description of the temrs 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;", "profile-builder"); ?>
568
  <?php __("Options", "profile-builder"); ?>
569
  <?php __("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", "profile-builder"); ?>
 
570
  <?php __("Enter a comma separated list of labels<br/>Visible for the user", "profile-builder"); ?>
571
  <?php __("reCAPTCHA Type", "profile-builder"); ?>
572
  <?php __("Choose the <a href=\"https://developers.google.com/recaptcha/docs/versions\" target=\"_blank\">type of reCAPTCHA</a> you wish to add to this site.", "profile-builder"); ?>
@@ -649,6 +623,10 @@
649
  <?php __("Select the attributes to be listed inside the POI bubble.", "profile-builder"); ?>
650
  <?php __("Number of Users per Map Iteration", "profile-builder"); ?>
651
  <?php __("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.", "profile-builder"); ?>
 
 
 
 
652
  <?php __("Form Field Properties", "profile-builder"); ?>
653
  <?php __("Registration & Edit Profile Forms", "profile-builder"); ?>
654
  <?php __("Usernames cannot be changed.", "profile-builder"); ?>
@@ -1050,8 +1028,8 @@
1050
  <?php __("Please select at least one user role\n", "profile-builder"); ?>
1051
  <?php __("<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre>", "profile-builder"); ?>
1052
  <?php __("Use these shortcodes on the pages you want the forms to be displayed:", "profile-builder"); ?>
1053
- <?php __("With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms module.", "profile-builder"); ?>
1054
- <?php __("If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Modules.", "profile-builder"); ?>
1055
  <?php __("Search Location", "profile-builder"); ?>
1056
  <?php __("Paid Accounts", "profile-builder"); ?>
1057
  <?php __("Paid Member Subscriptions - a free WordPress plugin", "profile-builder"); ?>
@@ -1063,10 +1041,22 @@
1063
  <?php __("Account Management", "profile-builder"); ?>
1064
  <?php __("Subscription Management", "profile-builder"); ?>
1065
  <?php __("Payment Management", "profile-builder"); ?>
 
 
 
1066
  <?php __("Plugin is Active", "profile-builder"); ?>
1067
  <?php __("Plugin has been activated", "profile-builder"); ?>
 
 
 
 
1068
  <?php __("Plugin has been deactivated.", "profile-builder"); ?>
 
1069
  <?php __("Accept user payments, create subscription plans and restrict content on your website.", "profile-builder"); ?>
 
 
 
 
1070
  <?php __("Step by Step Quick Setup", "profile-builder"); ?>
1071
  <?php __("Allow your users to have <strong>paid accounts with Profile Builder</strong>. %1$sFind out how >%2$s %3$sDismiss%4$s", "profile-builder"); ?>
1072
  <?php __("Private Website Settings", "profile-builder"); ?>
@@ -1134,6 +1124,7 @@
1134
  <?php __("The account %1s has been successfully created!", "profile-builder"); ?>
1135
  <?php __("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"); ?>
1136
  <?php __("Before you can access your account %1s, an administrator has to approve it. You will be notified via email.", "profile-builder"); ?>
 
1137
  <?php __("Add User", "profile-builder"); ?>
1138
  <?php __("Send these credentials via email.", "profile-builder"); ?>
1139
  <?php __("There are no other users to edit", "profile-builder"); ?>
@@ -1184,256 +1175,6 @@
1184
  <?php __("Before you can access your account, an administrator needs to approve it. You will be notified via email.", "profile-builder"); ?>
1185
  <?php __("This username is already activated!", "profile-builder"); ?>
1186
  <?php __("Could not create user!", "profile-builder"); ?>
1187
- <?php __("Modules", "profile-builder"); ?>
1188
- <?php __("Here you can activate / deactivate available modules for Profile Builder.", "profile-builder"); ?>
1189
- <?php __("Name/Description", "profile-builder"); ?>
1190
- <?php __("Status", "profile-builder"); ?>
1191
- <?php __("Active", "profile-builder"); ?>
1192
- <?php __("Inactive", "profile-builder"); ?>
1193
- <?php __("This display name is already in use. Please choose another one.", "profile-builder"); ?>
1194
- <?php __("Resend activation email", "profile-builder"); ?>
1195
- <?php __("Allow users with the 'delete_users' capability to view the Admin Approval list", "profile-builder"); ?>
1196
- <?php __("By checking this option, you will allow users that have the 'delete_users' capability to access and use the Admin Approval list.", "profile-builder"); ?>
1197
- <?php __("Allow users with the 'delete_users' capability to view the list of Unconfirmed Emails", "profile-builder"); ?>
1198
- <?php __("By checking this option, you will allow users that have the 'delete_users' capability to see the list of Unconfirmed Email Addresses.", "profile-builder"); ?>
1199
- <?php __("Disable confirmation dialog for the {{approval_url}} or {{approval_link}} Email Customizer tags", "profile-builder"); ?>
1200
- <?php __("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"); ?>
1201
- <?php __("Automatically generate password for users", "profile-builder"); ?>
1202
- <?php __("By checking this option, the password will be automatically generated and emailed to the user.", "profile-builder"); ?>
1203
- <?php __("Modify 'Send Credentials' checkbox", "profile-builder"); ?>
1204
- <?php __("Hidden and checked", "profile-builder"); ?>
1205
- <?php __("Field text:", "profile-builder"); ?>
1206
- <?php __("By default, the user needs to choose if he wants to receive a registration email.", "profile-builder"); ?>
1207
- <?php __("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"); ?>
1208
- <?php __("If you choose to show the field, you can modify the default text by entering something in the field from above.", "profile-builder"); ?>
1209
- <?php __("Redirect users to a page if they have empty required fields", "profile-builder"); ?>
1210
- <?php __("Redirect Page:", "profile-builder"); ?>
1211
- <?php __("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"); ?>
1212
- <?php __("For example, you can redirect these users to the Edit Profile form so they can add the missing info.", "profile-builder"); ?>
1213
- <?php __("Ban certain words from being used in fields", "profile-builder"); ?>
1214
- <?php __("On", "profile-builder"); ?>
1215
- <?php __("Affected fields:", "profile-builder"); ?>
1216
- <?php __("Banned words:", "profile-builder"); ?>
1217
- <?php __("Error message:", "profile-builder"); ?>
1218
- <?php __("Allows you to define some words which users cannot use in their Username, First Name or Last Name when registering.", "profile-builder"); ?>
1219
- <?php __("Unique 'Display Name' for users", "profile-builder"); ?>
1220
- <?php __("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"); ?>
1221
- <?php __("Always capitalize 'First Name' and 'Last Name' default fields", "profile-builder"); ?>
1222
- <?php __("If you have these fields in your forms, they will be always saved with the first letter as uppercase.", "profile-builder"); ?>
1223
- <?php __("eg.: <strong>John Doe</strong> instead of <strong>john doe</strong>", "profile-builder"); ?>
1224
- <?php __("Datepicker starts on Monday", "profile-builder"); ?>
1225
- <?php __("Will make all Datepickers use Monday as the first day of the week.", "profile-builder"); ?>
1226
- <?php __("Hide Repeater Fields from the back-end profile page", "profile-builder"); ?>
1227
- <?php __("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"); ?>
1228
- <?php __("You will still be able to use them from a front-end edit profile form.", "profile-builder"); ?>
1229
- <?php __("Remove All Extra Fields from Backend edit profile page.", "profile-builder"); ?>
1230
- <?php __("If you activate this option, it will remove all custom fields from the backend profile page created with Profile Builder.", "profile-builder"); ?>
1231
- <?php __("Update database entries when changing meta key", "profile-builder"); ?>
1232
- <?php __("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"); ?>
1233
- <?php __("Allow or deny email domains from registering", "profile-builder"); ?>
1234
- <?php __("Type:", "profile-builder"); ?>
1235
- <?php __("Allow", "profile-builder"); ?>
1236
- <?php __("Deny", "profile-builder"); ?>
1237
- <?php __("Restricted domains:", "profile-builder"); ?>
1238
- <?php __("This option lets you allow registrations only from certain domains or deny registrations from certain domains.", "profile-builder"); ?>
1239
- <?php __("You should add only the domain in the list from above. eg.: gmail.com", "profile-builder"); ?>
1240
- <?php __("Forms that should bypass Email Confirmation", "profile-builder"); ?>
1241
- <?php __("Users registering through any of the selected forms will not need to confirm their email address.", "profile-builder"); ?>
1242
- <?php __("Disable Email Confirmation for Social Connect registrations", "profile-builder"); ?>
1243
- <?php __("If checked, will allow users that register through the Social Connect add-on to bypass the Email Confirmation feature.", "profile-builder"); ?>
1244
- <?php __("Remember me checked by default", "profile-builder"); ?>
1245
- <?php __("Check the 'Remember Me' checkbox on Login forms, by default.", "profile-builder"); ?>
1246
- <?php __("Remove validation from back-end profile page", "profile-builder"); ?>
1247
- <?php __("When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute", "profile-builder"); ?>
1248
- <?php __("Always show edit other users dropdown", "profile-builder"); ?>
1249
- <?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"); ?>
1250
- <?php __("Consider 'Anyone can Register' WordPress option", "profile-builder"); ?>
1251
- <?php __("setting", "profile-builder"); ?>
1252
- <?php __("By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it.", "profile-builder"); ?>
1253
- <?php __("Modify default Redirect Delay timer", "profile-builder"); ?>
1254
- <?php __("This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen.", "profile-builder"); ?>
1255
- <?php __("The default is 3 seconds. Leave empty if you do not want to change it.", "profile-builder"); ?>
1256
- <?php __("Save Admin Approval status in usermeta", "profile-builder"); ?>
1257
- <?php __("By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user.", "profile-builder"); ?>
1258
- <?php __("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"); ?>
1259
- <?php __("Redirect '/author' page if user is not approved", "profile-builder"); ?>
1260
- <?php __("By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible.", "profile-builder"); ?>
1261
- <?php __("Using this option you can redirect these pages, sending users who try to access them to your home page.", "profile-builder"); ?>
1262
- <?php __("Save 'Last Login' date in usermeta", "profile-builder"); ?>
1263
- <?php __("By checking this option, each time a user logins, the date and time will be saved in the database.", "profile-builder"); ?>
1264
- <?php __("The meta name for the field will be <strong>last_login_date</strong>.", "profile-builder"); ?>
1265
- <?php __("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"); ?>
1266
- <?php __("Save 'Last Profile Update' date in usermeta", "profile-builder"); ?>
1267
- <?php __("By checking this option, each time a modifies his profile the date and time will be saved in the database.", "profile-builder"); ?>
1268
- <?php __("The meta name for the field will be <strong>last_profile_update_date</strong>.", "profile-builder"); ?>
1269
- <?php __("Enable Compare shortcode", "profile-builder"); ?>
1270
- <?php __("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"); ?>
1271
- <?php __("Enable Usermeta shortcode", "profile-builder"); ?>
1272
- <?php __("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"); ?>
1273
- <?php __("Enable Resend Activation Email shortcode", "profile-builder"); ?>
1274
- <?php __("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"); ?>
1275
- <?php __("Enable Format Date shortcode", "profile-builder"); ?>
1276
- <?php __("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"); ?>
1277
- <?php __("Change placeholder text for Search box", "profile-builder"); ?>
1278
- <?php __("This refers to the placeholder text from the <strong>{{{extra_search_all_fields}}}</strong> tag.", "profile-builder"); ?>
1279
- <?php __("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"); ?>
1280
- <?php __("Modify base URL for Single Userlisting", "profile-builder"); ?>
1281
- <?php __("By default Single Userlisting URLs contain the word <strong>user</strong>. eg.: ", "profile-builder"); ?>
1282
- <?php __("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"); ?>
1283
- <?php __("Make the Single Userlisting URLs work with user nicename", "profile-builder"); ?>
1284
- <?php __("By default Single Userlisting URLs are generated using the users ID. eg.: ", "profile-builder"); ?>
1285
- <?php __("With this option activated, the URLs will be generated using the users <strong>nicename</strong>.", "profile-builder"); ?>
1286
- <?php __("Remove repetition counts from Faceted Menus", "profile-builder"); ?>
1287
- <?php __("The number of users that share a particular value is shown for the Select and Checkbox facet types.", "profile-builder"); ?>
1288
- <?php __("If you enable this option they will be hidden.", "profile-builder"); ?>
1289
- <?php __("Your account has to be confirmed by an administrator before you can log in.", "profile-builder"); ?>
1290
- <?php __("Admin Approval", "profile-builder"); ?>
1291
- <?php __("Do you want to", "profile-builder"); ?>
1292
- <?php __("Your session has expired! Please refresh the page and try again.", "profile-builder"); ?>
1293
- <?php __("You either don't have permission for that action or there was an error!", "profile-builder"); ?>
1294
- <?php __("User successfully deleted!", "profile-builder"); ?>
1295
- <?php __("User successfully unapproved!", "profile-builder"); ?>
1296
- <?php __("User successfully approved!", "profile-builder"); ?>
1297
- <?php __("Users successfully deleted!", "profile-builder"); ?>
1298
- <?php __("Users successfully unapproved!", "profile-builder"); ?>
1299
- <?php __("Users successfully approved!", "profile-builder"); ?>
1300
- <?php __("Your account on %1$s has been unapproved!", "profile-builder"); ?>
1301
- <?php __("unapproved", "profile-builder"); ?>
1302
- <?php __("An administrator has just unapproved your account on %1$s (%2$s).", "profile-builder"); ?>
1303
- <?php __("Your account on %1$s has been approved!", "profile-builder"); ?>
1304
- <?php __("approved", "profile-builder"); ?>
1305
- <?php __("An administrator has just approved your account on %1$s (%2$s).", "profile-builder"); ?>
1306
- <?php __("Your account has to be confirmed by an administrator before you can use the \"Password Recovery\" feature.", "profile-builder"); ?>
1307
- <?php __("Your account has been successfully created!", "profile-builder"); ?>
1308
- <?php __("Something went wrong!", "profile-builder"); ?>
1309
- <?php __("User not approved!", "profile-builder"); ?>
1310
- <?php __("Do you wish to approve the registration?", "profile-builder"); ?>
1311
- <?php __("The approval link is not valid! Please <a href=\"%s\"> log in </a> to approve the user manually. ", "profile-builder"); ?>
1312
- <?php __("delete this user?", "profile-builder"); ?>
1313
- <?php __("approve this user?", "profile-builder"); ?>
1314
- <?php __("Approve", "profile-builder"); ?>
1315
- <?php __("unapprove this user?", "profile-builder"); ?>
1316
- <?php __("Unapprove", "profile-builder"); ?>
1317
- <?php __("Firstname", "profile-builder"); ?>
1318
- <?php __("Lastname", "profile-builder"); ?>
1319
- <?php __("Role", "profile-builder"); ?>
1320
- <?php __("Registered", "profile-builder"); ?>
1321
- <?php __("User-status", "profile-builder"); ?>
1322
- <?php __("Sorry, but you don't have permission to do that!", "profile-builder"); ?>
1323
- <?php __("Do you want to bulk delete the selected users?", "profile-builder"); ?>
1324
- <?php __("Do you want to bulk unapprove the selected users?", "profile-builder"); ?>
1325
- <?php __("Do you want to bulk approve the selected users?", "profile-builder"); ?>
1326
- <?php __("Unapproved", "profile-builder"); ?>
1327
- <?php __("Approved", "profile-builder"); ?>
1328
- <?php __("All Users", "profile-builder"); ?>
1329
- <?php __("Conditional Logic", "profile-builder"); ?>
1330
- <?php __("Conditional Rules", "profile-builder"); ?>
1331
- <?php __("This field has conditional logic enabled.", "profile-builder"); ?>
1332
- <?php __("Profile Builder Content Restriction", "profile-builder"); ?>
1333
- <?php __("Restrict to logged in users", "profile-builder"); ?>
1334
- <?php __("Allow only logged in users to see this content.", "profile-builder"); ?>
1335
- <?php __("Restrict by User Roles", "profile-builder"); ?>
1336
- <?php __("Allow users which have the specified role to see this content.", "profile-builder"); ?>
1337
- <?php __("Restriction Messages", "profile-builder"); ?>
1338
- <?php __("Enable Restriction Messages", "profile-builder"); ?>
1339
- <?php __("Replace hidden content with the default messages from PB -> Settings -> Content Restriction, a custom message or an Elementor Template.", "profile-builder"); ?>
1340
- <?php __("Enable Custom Messages", "profile-builder"); ?>
1341
- <?php __("Add a custom message or template.", "profile-builder"); ?>
1342
- <?php __("Content type", "profile-builder"); ?>
1343
- <?php __("Text", "profile-builder"); ?>
1344
- <?php __("Template", "profile-builder"); ?>
1345
- <?php __("Select Template", "profile-builder"); ?>
1346
- <?php __("You must be logged in to view the comments.", "profile-builder"); ?>
1347
- <?php __("Comments are restricted for your user role.", "profile-builder"); ?>
1348
- <?php __("This content is restricted for your user role.", "profile-builder"); ?>
1349
- <?php __("You must be logged in to view this content.", "profile-builder"); ?>
1350
- <?php __("Display Options", "profile-builder"); ?>
1351
- <?php __("Message", "profile-builder"); ?>
1352
- <?php __("Redirect", "profile-builder"); ?>
1353
- <?php __("Type of Restriction", "profile-builder"); ?>
1354
- <?php __("Settings Default", "profile-builder"); ?>
1355
- <?php __("Display For", "profile-builder"); ?>
1356
- <?php __("Checking only \"Logged In Users\" will show this %s to all logged in users, regardless of user role.", "profile-builder"); ?>
1357
- <?php __("Checking any user role will show this %s only to users that have one of those user roles assigned.", "profile-builder"); ?>
1358
- <?php __("Restriction Redirect URL", "profile-builder"); ?>
1359
- <?php __("Enable Custom Redirect URL", "profile-builder"); ?>
1360
- <?php __("Check if you wish to add a custom redirect URL for this %s.", "profile-builder"); ?>
1361
- <?php __("Custom Redirect URL", "profile-builder"); ?>
1362
- <?php __("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"); ?>
1363
- <?php __("Check if you wish to add custom messages for this %s.", "profile-builder"); ?>
1364
- <?php __("Messages for logged-out users", "profile-builder"); ?>
1365
- <?php __("Messages for logged-in users", "profile-builder"); ?>
1366
- <?php __("Content Restriction Settings", "profile-builder"); ?>
1367
- <?php __("Enable Content Restriction", "profile-builder"); ?>
1368
- <?php __("Activate Content Restriction", "profile-builder"); ?>
1369
- <?php __("If you select \"Message\", the post's content will be protected by being replaced with a custom message.", "profile-builder"); ?>
1370
- <?php __("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"); ?>
1371
- <?php __("Redirect URL", "profile-builder"); ?>
1372
- <?php __("Message for logged-out users", "profile-builder"); ?>
1373
- <?php __("Message for logged-in users", "profile-builder"); ?>
1374
- <?php __("Restricted Posts Preview", "profile-builder"); ?>
1375
- <?php __("Show the first %s words of the post's content", "profile-builder"); ?>
1376
- <?php __("Show the content before the \"more\" tag", "profile-builder"); ?>
1377
- <?php __("Show a portion of the restricted post to logged-out users or users that are not allowed to see it.", "profile-builder"); ?>
1378
- <?php __("User Meta", "profile-builder"); ?>
1379
- <?php __("show", "profile-builder"); ?>
1380
- <?php __("delete this user from the _signups table?", "profile-builder"); ?>
1381
- <?php __("confirm this email yourself?", "profile-builder"); ?>
1382
- <?php __("Confirm Email", "profile-builder"); ?>
1383
- <?php __("resend the activation link?", "profile-builder"); ?>
1384
- <?php __("Resend Activation Email", "profile-builder"); ?>
1385
- <?php __("The selected users have had their activation emails resent", "profile-builder"); ?>
1386
- <?php __("The selected users have been activated", "profile-builder"); ?>
1387
- <?php __("%s couldn't be deleted", "profile-builder"); ?>
1388
- <?php __("All users have been successfully deleted", "profile-builder"); ?>
1389
- <?php __("Users with Unconfirmed Email Address", "profile-builder"); ?>
1390
- <?php __("Email notification resent to user", "profile-builder"); ?>
1391
- <?php __("The selected user couldn't be deleted", "profile-builder"); ?>
1392
- <?php __("There was an error performing that action!", "profile-builder"); ?>
1393
- <?php __("[%1$s] Activate %2$s", "profile-builder"); ?>
1394
- <?php __("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"); ?>
1395
- <?php __("There was an error while trying to activate the user", "profile-builder"); ?>
1396
- <?php __("That username is already activated!", "profile-builder"); ?>
1397
- <?php __("A new subscriber has (been) registered!", "profile-builder"); ?>
1398
- <?php __("New subscriber on %1$s.<br/><br/>Username:%2$s<br/>Email:%3$s<br/>", "profile-builder"); ?>
1399
- <?php __("[%1$s] Your new account information", "profile-builder"); ?>
1400
- <?php __("Your selected password at signup", "profile-builder"); ?>
1401
- <?php __("Welcome to %1$s!<br/><br/><br/>Your username is: %2$s and the password: %3$s.<br/><br/>Access your account: %4$s ", "profile-builder"); ?>
1402
- <?php __("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 ", "profile-builder"); ?>
1403
- <?php __("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!", "profile-builder"); ?>
1404
- <?php __("This login widget lets you add a login form in the sidebar.", "profile-builder"); ?>
1405
- <?php __("Profile Builder Login Widget", "profile-builder"); ?>
1406
- <?php __("Title:", "profile-builder"); ?>
1407
- <?php __("After login redirect URL (optional):", "profile-builder"); ?>
1408
- <?php __("Register page URL (optional):", "profile-builder"); ?>
1409
- <?php __("Password Recovery page URL (optional):", "profile-builder"); ?>
1410
- <?php __("Capability", "profile-builder"); ?>
1411
- <?php __("You can't delete this capability from your role.", "profile-builder"); ?>
1412
- <?php __("Add New Role", "profile-builder"); ?>
1413
- <?php __("Edit Role", "profile-builder"); ?>
1414
- <?php __("New Role", "profile-builder"); ?>
1415
- <?php __("View Role", "profile-builder"); ?>
1416
- <?php __("Search the Roles Editor", "profile-builder"); ?>
1417
- <?php __("No roles found", "profile-builder"); ?>
1418
- <?php __("No roles found in trash", "profile-builder"); ?>
1419
- <?php __("Role updated.", "profile-builder"); ?>
1420
- <?php __("Custom field updated.", "profile-builder"); ?>
1421
- <?php __("Custom field deleted.", "profile-builder"); ?>
1422
- <?php __("Role created.", "profile-builder"); ?>
1423
- <?php __("Role saved.", "profile-builder"); ?>
1424
- <?php __("Role submitted.", "profile-builder"); ?>
1425
- <?php __("Role scheduled for: <strong>%1$s</strong>", "profile-builder"); ?>
1426
- <?php __("Role draft updated.", "profile-builder"); ?>
1427
- <?php __("Role Name", "profile-builder"); ?>
1428
- <?php __("Role Slug", "profile-builder"); ?>
1429
- <?php __("Capabilities", "profile-builder"); ?>
1430
- <?php __("Users", "profile-builder"); ?>
1431
- <?php __("Clone", "profile-builder"); ?>
1432
- <?php __("Change Default", "profile-builder"); ?>
1433
- <?php __("You can't delete the default role. Change it first.", "profile-builder"); ?>
1434
- <?php __("You can't delete your role.", "profile-builder"); ?>
1435
- <?php __("Edit User Roles", "profile-builder"); ?>
1436
- <?php __("The usernames cannot be changed.", "profile-builder"); ?>
1437
  <?php __("After Login", "profile-builder"); ?>
1438
  <?php __("After Logout", "profile-builder"); ?>
1439
  <?php __("After Registration", "profile-builder"); ?>
@@ -1446,6 +1187,7 @@
1446
  <?php __("User ID / Username", "profile-builder"); ?>
1447
  <?php __("Please select and enter the ID or username of your user.", "profile-builder"); ?>
1448
  <?php __("Redirect Type", "profile-builder"); ?>
 
1449
  <?php __("Can contain the following dynamic tags:{{homeurl}}, {{siteurl}}, {{user_id}}, {{user_nicename}}, {{http_referer}}", "profile-builder"); ?>
1450
  <?php __("Individual User Redirects", "profile-builder"); ?>
1451
  <?php __("User Role", "profile-builder"); ?>
@@ -1485,6 +1227,7 @@
1485
  <?php __("Common Settings", "profile-builder"); ?>
1486
  <?php __("<p>New subscriber on {{site_name}}.</p>\n<p>Username:{{username}}</p>\n<p>Email:{{user_email}}</p>\n", "profile-builder"); ?>
1487
  <?php __("Email Subject", "profile-builder"); ?>
 
1488
  <?php __("Enable email", "profile-builder"); ?>
1489
  <?php __("Default Registration & Registration with Email Confirmation", "profile-builder"); ?>
1490
  <?php __("<p>New subscriber on {{site_name}}.</p>\n<p>Username:{{username}}</p>\n<p>Email:{{user_email}}</p>\n<p>The Admin Approval feature was activated at the time of registration,\nso please remember that you need to approve this user before he/she can log in!</p>", "profile-builder"); ?>
@@ -1515,6 +1258,7 @@
1515
  <?php __("Modified Fields", "profile-builder"); ?>
1516
  <?php __("Approval URL", "profile-builder"); ?>
1517
  <?php __("The users selected password at signup", "profile-builder"); ?>
 
1518
  <?php __("User Email Customizer", "profile-builder"); ?>
1519
  <?php __("User Email Customizer Settings", "profile-builder"); ?>
1520
  <?php __("These settings are also replicated in the \"Admin Email Customizer\" settings-page upon save.", "profile-builder"); ?>
@@ -1558,6 +1302,7 @@
1558
  <?php __("<span style=\"color:red;\">Note:</span> changing the form title also changes the shortcode!", "profile-builder"); ?>
1559
  <?php __("The shortcode will be available after you publish this form.", "profile-builder"); ?>
1560
  <?php __("Form Shortcode", "profile-builder"); ?>
 
1561
  <?php __("Whether to redirect the user to a specific page or not", "profile-builder"); ?>
1562
  <?php __("Display Messages", "profile-builder"); ?>
1563
  <?php __("Allowed time to display any success messages (in seconds)", "profile-builder"); ?>
@@ -1570,6 +1315,7 @@
1570
  <?php __("You need to specify the title of the form before creating it", "profile-builder"); ?>
1571
  <?php __("<pre>Title (Type)</pre>", "profile-builder"); ?>
1572
  <?php __("Delete all items", "profile-builder"); ?>
 
1573
  <?php __("Add new Registration Form", "profile-builder"); ?>
1574
  <?php __("Edit the Registration Forms", "profile-builder"); ?>
1575
  <?php __("New Registration Form", "profile-builder"); ?>
@@ -1596,6 +1342,8 @@
1596
  <?php __("No User Listing found", "profile-builder"); ?>
1597
  <?php __("No User Listing found in trash", "profile-builder"); ?>
1598
  <?php __("Display name as", "profile-builder"); ?>
 
 
1599
  <?php __("Registration Date", "profile-builder"); ?>
1600
  <?php __("Number of Posts", "profile-builder"); ?>
1601
  <?php __("More Info", "profile-builder"); ?>
@@ -1613,6 +1361,7 @@
1613
  <?php __("All-userlisting Template", "profile-builder"); ?>
1614
  <?php __("Single-userlisting Template", "profile-builder"); ?>
1615
  <?php __("Avatar", "profile-builder"); ?>
 
1616
  <?php __("Posts", "profile-builder"); ?>
1617
  <?php __("Sign-up Date", "profile-builder"); ?>
1618
  <?php __("More", "profile-builder"); ?>
@@ -1623,6 +1372,7 @@
1623
  <?php __("Yim", "profile-builder"); ?>
1624
  <?php __("Aim", "profile-builder"); ?>
1625
  <?php __("Display Name", "profile-builder"); ?>
 
1626
  <?php __("First/Lastname", "profile-builder"); ?>
1627
  <?php __("Search Users by All Fields", "profile-builder"); ?>
1628
  <?php __("Click here to see more information about this user.", "profile-builder"); ?>
@@ -1684,12 +1434,174 @@
1684
  <?php __("Search Fields", "profile-builder"); ?>
1685
  <?php __("Choose the fields in which the Search Field will look in", "profile-builder"); ?>
1686
  <?php __("Search Settings", "profile-builder"); ?>
1687
- <?php __("You need to activate the Userlisting feature from within the \"Modules\" tab!", "profile-builder"); ?>
1688
  <?php __("You can find it in the Profile Builder menu.", "profile-builder"); ?>
1689
  <?php __("No results found!", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1690
  <?php __("Delete this item", "profile-builder"); ?>
1691
- <?php __("Syncronize WCK", "profile-builder"); ?>
1692
- <?php __("Syncronize WCK Translation", "profile-builder"); ?>
1693
  <?php __("Yes, I'd like to create a new site", "profile-builder"); ?>
1694
  <?php __("Your site url will look like this:<br>", "profile-builder"); ?>
1695
  <?php __("Site URL slug", "profile-builder"); ?>
@@ -1699,6 +1611,7 @@
1699
  <?php __("This email is already reserved to be used soon.", "profile-builder"); ?>
1700
  <?php __("Please try a different one!", "profile-builder"); ?>
1701
  <?php __("This email is already in use.", "profile-builder"); ?>
 
1702
  <?php __("Type %s to confirm deleting your account and all data associated with it:", "profile-builder"); ?>
1703
  <?php __("You did not type %s. Try again!", "profile-builder"); ?>
1704
  <?php __("The passwords do not match", "profile-builder"); ?>
@@ -1713,6 +1626,7 @@
1713
  <?php __("This username is invalid because it uses illegal characters.", "profile-builder"); ?>
1714
  <?php __("Please enter a valid username.", "profile-builder"); ?>
1715
  <?php __("This username is already reserved to be used soon.", "profile-builder"); ?>
 
1716
  <?php __("You must enter a valid URL.", "profile-builder"); ?>
1717
  <?php __("Please add the Google Maps API key for this field.", "profile-builder"); ?>
1718
  <?php __("Something went wrong. Please try again.", "profile-builder"); ?>
@@ -1728,19 +1642,108 @@
1728
  <?php __("Files must be smaller than ", "profile-builder"); ?>
1729
  <?php __("Sorry, you cannot upload this file type for this field.", "profile-builder"); ?>
1730
  <?php __("An error occurred, please try again later.", "profile-builder"); ?>
1731
- <?php __("Limit", "profile-builder"); ?>
1732
- <?php __("Enable limit to the number of fields to be generated by users in front end forms ", "profile-builder"); ?>
1733
- <?php __("General Limit", "profile-builder"); ?>
1734
- <?php __("Default limit for this repeater group. <br>Leave 0 for unlimited.", "profile-builder"); ?>
1735
- <?php __("Limit reached message", "profile-builder"); ?>
1736
- <?php __("The maximum number of fields has been reached.", "profile-builder"); ?>
1737
- <?php __("The popup message to display when the limit of repeater groups is reached.", "profile-builder"); ?>
1738
- <?php __("Limit per Role", "profile-builder"); ?>
1739
- <?php __("Leave 0 for unlimited.", "profile-builder"); ?>
1740
- <?php __("Repeated field group", "profile-builder"); ?>
1741
- <?php __("Manage field or group of fields that will be repeatable.", "profile-builder"); ?>
1742
- <?php __("Edit field group", "profile-builder"); ?>
1743
- <?php __("Repeatable fields saved!", "profile-builder"); ?>
1744
- <?php __("Please enter a unique field title.", "profile-builder"); ?>
1745
- <?php __("Please enter a unique field title.\n", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1746
  <?php __("Select or type in an option", "profile-builder"); ?>
71
  <?php __("Reset to Default BuddyPress User Listing Templates", "profile-builder"); ?>
72
  <?php __("<b>Note:</b> This action is not reversible. All modifications to this template will be lost!", "profile-builder"); ?>
73
  <?php __("Reset template", "profile-builder"); ?>
 
 
74
  <?php __("Login Label", "profile-builder"); ?>
75
  <?php __("Login", "profile-builder"); ?>
76
  <?php __("Logout Label", "profile-builder"); ?>
91
  <?php __("iFrame Size", "profile-builder"); ?>
92
  <?php __("Height (px)", "profile-builder"); ?>
93
  <?php __("Width (px)", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
94
  <?php __("Visibility", "profile-builder"); ?>
95
  <?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"); ?>
96
  <?php __("User Role Visibility", "profile-builder"); ?>
106
  <?php __("This field is visible only in the following locations: %1$s", "profile-builder"); ?>
107
  <?php __("Get file", "profile-builder"); ?>
108
  <?php __("You do not have the capabilities necessary to edit this field.", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  <?php __("MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!", "profile-builder"); ?>
 
 
 
110
  <?php __("Step", "profile-builder"); ?>
111
  <?php __("Title for Tab", "profile-builder"); ?>
112
  <?php __("Add Break Points to edit tabs title.", "profile-builder"); ?>
127
  <?php __("Update Multi-Step", "profile-builder"); ?>
128
  <?php __("Next", "profile-builder"); ?>
129
  <?php __("Previous", "profile-builder"); ?>
 
 
 
 
130
  <?php __("Social Connect", "profile-builder"); ?>
131
  <?php __("Display on the Following Forms", "profile-builder"); ?>
132
  <?php __("Disable Registration on", "profile-builder"); ?>
163
  <?php __("Unlink Accounts (Edit Profile)", "profile-builder"); ?>
164
  <?php __("This option will display linked social platforms to users accounts and will allow to easily unlink them in Edit Profile page.", "profile-builder"); ?>
165
  <?php __("Default Social Connect CSS in the Front-end", "profile-builder"); ?>
166
+ <?php __("Settings", "profile-builder"); ?>
167
  <?php __("Help", "profile-builder"); ?>
168
  <?php __("Display Social Connect buttons:", "profile-builder"); ?>
169
+ <?php __("Yes", "profile-builder"); ?>
170
+ <?php __("No", "profile-builder"); ?>
171
  <?php __("You have successfully unlinked %% from your account.", "profile-builder"); ?>
172
  <?php __("An account with this email address already exists.<br> Do you want to connect it?", "profile-builder"); ?>
173
  <?php __("Please enter your website account password", "profile-builder"); ?>
240
  <?php __("Choose Edit Profile form to display on My Account page:", "profile-builder"); ?>
241
  <?php __("Select which Profile Builder Edit-profile form to display on My Account page from WooCommerce.", "profile-builder"); ?>
242
  <?php __("%s is also activated. You need to deactivate it before activating this version of the plugin.", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243
  <?php __("MailChimp", "profile-builder"); ?>
244
  <?php __("MailChimp Integration", "profile-builder"); ?>
245
  <?php __("MailChimp List", "profile-builder"); ?>
293
  <?php __("We couldn't find any lists in your MailPoet settings.", "profile-builder"); ?>
294
  <?php __("Select in which MailPoet list you wish to add a new subscriber", "profile-builder"); ?>
295
  <?php __("Please select at least one MailPoet list \n", "profile-builder"); ?>
 
 
 
 
296
  <?php __("Sign in with Facebook", "profile-builder"); ?>
297
  <?php __("Link with Facebook", "profile-builder"); ?>
298
  <?php __("Sign in with Google", "profile-builder"); ?>
304
  <?php __("Sign in with Twitter", "profile-builder"); ?>
305
  <?php __("Link with Twitter", "profile-builder"); ?>
306
  <?php __("Add-Ons", "profile-builder"); ?>
307
+ <?php __("Profile Builder Add-ons", "profile-builder"); ?>
308
+ <?php __("You must first purchase this version to have access to the addon %1$shere%2$s", "profile-builder"); ?>
309
+ <?php __("Pro Add-ons", "profile-builder"); ?>
310
+ <?php __("These Add-ons are available with the Pro and Unlimited license", "profile-builder"); ?>
311
+ <?php __("Multiple Registration Forms", "profile-builder"); ?>
312
+ <?php __("Set up multiple registration forms with different fields for certain user roles. Helps capture different information from different types of users.", "profile-builder"); ?>
313
+ <?php __("Multiple Edit Profile Forms", "profile-builder"); ?>
314
+ <?php __("Allow different user roles to edit their specific information. Set up multiple edit-profile forms with different fields for certain user roles.", "profile-builder"); ?>
315
+ <?php __("User Listing", "profile-builder"); ?>
316
+ <?php __("Easy to edit templates for listing your users as well as creating single user pages.", "profile-builder"); ?>
317
+ <?php __("Email Customizer", "profile-builder"); ?>
318
+ <?php __("Simple to use customization of the WordPress Registration Emails", "profile-builder"); ?>
319
+ <?php __("Custom Redirects", "profile-builder"); ?>
320
+ <?php __("Redirect users after login, after they first register or when they try to access the default WordPress dashboard, login, lost password and registration forms.", "profile-builder"); ?>
321
+ <?php __("Repeater Fields", "profile-builder"); ?>
322
+ <?php __("The Repeater Field Module makes it really easy to add repeater front-end fields or groups of fields to your user profile. Integration with both the Email Customizer and User Listing modules, makes creating advanced user profiles possible.", "profile-builder"); ?>
323
+ <?php __("This integration add-on allows extending BuddyPress user profiles with Profile Builder user fields.", "profile-builder"); ?>
324
+ <?php __("Advanced Add-ons", "profile-builder"); ?>
325
+ <?php __("These Add-ons are available with the Hobbyist, Pro and Unlimited license", "profile-builder"); ?>
326
+ <?php __("Easily configure and enable social login on your website. Users can login with social platforms like Facebook, Google+ or Twitter.", "profile-builder"); ?>
327
+ <?php __("Syncs Profile Builder with WooCommerce, allowing you to manage the user Shipping and Billing fields from WooCommerce with Profile Builder.", "profile-builder"); ?>
328
+ <?php __("Multi Step Forms", "profile-builder"); ?>
329
+ <?php __("Extends the functionality of Profile Builder by adding the possibility of having multi-page registration and edit-profile forms.", "profile-builder"); ?>
330
+ <?php __("Easily associate MailChimp list fields with Profile Builder fields and set advanced settings for each list.", "profile-builder"); ?>
331
+ <?php __("This add-on allows you to integrate Profile Builder with the popular forums plugin, bbPress.", "profile-builder"); ?>
332
+ <?php __("Campaign Monitor", "profile-builder"); ?>
333
+ <?php __("Easily associate Campaign Monitor client list fields with Profile Builder fields. Use Profile Builder Campaign Monitor Widget to add more subscribers to your lists.", "profile-builder"); ?>
334
+ <?php __("Field Visibility", "profile-builder"); ?>
335
+ <?php __("Extends the functionality of Profile Builder by allowing you to change visibility options for the extra fields.", "profile-builder"); ?>
336
+ <?php __("Edit Profile Approved by Admin", "profile-builder"); ?>
337
+ <?php __("Extends the functionality of Profile Builder by allowing administrators to approve profile changes made by users on individual fields.", "profile-builder"); ?>
338
+ <?php __("Custom Profile Menus", "profile-builder"); ?>
339
+ <?php __("Add custom menu items like Login/Logout or just Logout button and Login/Register/Edit Profile in iFrame Popup.", "profile-builder"); ?>
340
+ <?php __("MailPoet", "profile-builder"); ?>
341
+ <?php __("Allow users to subscribe to your MailPoet lists directly from the Register and Edit Profile forms.", "profile-builder"); ?>
342
+ <?php __("Free Add-ons", "profile-builder"); ?>
343
+ <?php __("These Add-ons are available in all versions of Profile Builder", "profile-builder"); ?>
344
+ <?php __("Import and Export", "profile-builder"); ?>
345
+ <?php __("With the help of this add-on you will be able to export all Profile Builder Settings data to a .json. You can then use this file as a back-up or you can import this data on another instance of Profile Builder.", "profile-builder"); ?>
346
+ <?php __("Custom CSS Classes on Fields", "profile-builder"); ?>
347
+ <?php __("This add-on extends the functionality of Profile Builder by allowing you to add custom css classes for fields.", "profile-builder"); ?>
348
+ <?php __("Maximum Character Length", "profile-builder"); ?>
349
+ <?php __("Using this addon you can limit the maximum number of characters a user can type in a field added and managed with Profile Builder.", "profile-builder"); ?>
350
+ <?php __("Labels Edit", "profile-builder"); ?>
351
+ <?php __("This add-on extends the functionality of our plugin and let us easily edit all Profile Builder labels.", "profile-builder"); ?>
352
+ <?php __("GDPR Communication Preferences", "profile-builder"); ?>
353
+ <?php __("This add-on plugin adds a GDPR Communication preferences field to Profile Builder.", "profile-builder"); ?>
354
  <?php __("Recommended Plugins", "profile-builder"); ?>
355
+ <?php __("These plugins are compatible with all versions of Profile Builder", "profile-builder"); ?>
356
+ <?php __("TranslatePress", "profile-builder"); ?>
357
  <?php __("Translate your Profile Builder forms with a WordPress translation plugin that anyone can use. It offers a simpler way to translate WordPress sites, with full support for WooCommerce and site builders.", "profile-builder"); ?>
358
+ <?php __("Paid Member Subscriptions", "profile-builder"); ?>
 
 
 
 
 
 
359
  <?php __("Accept user payments, create subscription plans and restrict content on your membership site.", "profile-builder"); ?>
360
+ <?php __("Client Portal", "profile-builder"); ?>
361
+ <?php __("Create private pages for your website users that only an administrator can edit.", "profile-builder"); ?>
362
+ <?php __("Custom Login Page Templates", "profile-builder"); ?>
363
+ <?php __("Customizes the default WordPress Login Page with different templates, logo and background uploads and also adds support for custom CSS.", "profile-builder"); ?>
364
+ <?php __("Passwordless Login", "profile-builder"); ?>
365
+ <?php __("WordPress Passwordless Login is a plugin that allows your users to login without a password.", "profile-builder"); ?>
366
+ <?php __("%1$sAdd-ons settings saved successfully%2$s", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  <?php __("Show/Hide the Admin Bar on the Front-End", "profile-builder"); ?>
368
  <?php __("Admin Bar Settings", "profile-builder"); ?>
369
  <?php __("Choose which user roles view the admin bar in the front-end of the website.", "profile-builder"); ?>
385
  <?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"); ?>
386
  <?php __("View Profile Builder documentation", "profile-builder"); ?>
387
  <?php __("Docs", "profile-builder"); ?>
388
+ <?php __("All the free add-ons have been migrated to the main plugin. Their old individual plugins have been disabled and you can delete them from your site if you were using them: <ul><li>Profile Builder - Custom CSS Classes on fields</li><li>Profile Builder - Customization Toolbox Add-On</li><li>Profile Builder - Email Confirmation Field</li><li>Profile Builder - GDPR Communication Preferences</li><li>Profile Builder - Import and Export Add-On</li><li>Profile Builder - Labels Edit Add-On</li><li>Profile Builder - Maximum Character Length Add-On</li><li>Profile Builder - Multiple Admin E-mails Add-On</li><li>Profile Builder - Placeholder Labels Add-On</li></ul>", "profile-builder"); ?>
389
  <?php __("See details", "profile-builder"); ?>
390
  <?php __("Dismiss this notice.", "profile-builder"); ?>
391
  <?php __("Basic Information", "profile-builder"); ?>
441
  <?php __("Validation", "profile-builder"); ?>
442
  <?php __("Map", "profile-builder"); ?>
443
  <?php __("HTML", "profile-builder"); ?>
444
+ <?php __("Powerful Add-ons (**)", "profile-builder"); ?>
445
+ <?php __("Everything you will need to manage your users is probably already available using the Pro Add-ons.", "profile-builder"); ?>
446
+ <?php __("Enable your add-ons", "profile-builder"); ?>
447
  <?php __("Find out more about PRO Modules", "profile-builder"); ?>
 
448
  <?php __("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"); ?>
449
  <?php __("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"); ?>
 
450
  <?php __("Personalize all emails sent to your users or admins. On registration, email confirmation, admin approval / un-approval.", "profile-builder"); ?>
 
451
  <?php __("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"); ?>
 
452
  <?php __("Set up multiple registration forms with different fields for certain user roles. Capture different information from different types of users.", "profile-builder"); ?>
453
  <?php __("Multiple Edit-profile Forms", "profile-builder"); ?>
 
 
454
  <?php __("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"); ?>
455
  <?php __(" * only available in the %1$sHobbyist and Pro versions%2$s.", "profile-builder"); ?>
456
  <?php __("** only available in the %1$sPro version%2$s.", "profile-builder"); ?>
470
  <?php __("Submit and Deactivate", "profile-builder"); ?>
471
  <?php __("Admin Bar", "profile-builder"); ?>
472
  <?php __("Private Website", "profile-builder"); ?>
473
+ <?php __("Advanced Settings", "profile-builder"); ?>
474
+ <?php __("Forms", "profile-builder"); ?>
475
+ <?php __("Fields", "profile-builder"); ?>
476
+ <?php __("Userlisting", "profile-builder"); ?>
477
+ <?php __("Shortcodes", "profile-builder"); ?>
478
+ <?php __("Admin", "profile-builder"); ?>
479
  <?php __("User Emails", "profile-builder"); ?>
480
  <?php __("Administrator Emails", "profile-builder"); ?>
481
  <?php __("Profile Builder Settings", "profile-builder"); ?>
500
  <?php __("Allow Users to Log in With:", "profile-builder"); ?>
501
  <?php __("Username and Email", "profile-builder"); ?>
502
  <?php __("Username", "profile-builder"); ?>
503
+ <?php __("Email", "profile-builder"); ?>
504
  <?php __("\"Username and Email\" - users can Log In with both Username and Email.", "profile-builder"); ?>
505
  <?php __("\"Username\" - users can Log In only with Username.", "profile-builder"); ?>
506
  <?php __("\"Email\" - users can Log In only with Email.", "profile-builder"); ?>
540
  <?php __("Enter a detailed description of the temrs 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;", "profile-builder"); ?>
541
  <?php __("Options", "profile-builder"); ?>
542
  <?php __("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", "profile-builder"); ?>
543
+ <?php __("Labels", "profile-builder"); ?>
544
  <?php __("Enter a comma separated list of labels<br/>Visible for the user", "profile-builder"); ?>
545
  <?php __("reCAPTCHA Type", "profile-builder"); ?>
546
  <?php __("Choose the <a href=\"https://developers.google.com/recaptcha/docs/versions\" target=\"_blank\">type of reCAPTCHA</a> you wish to add to this site.", "profile-builder"); ?>
623
  <?php __("Select the attributes to be listed inside the POI bubble.", "profile-builder"); ?>
624
  <?php __("Number of Users per Map Iteration", "profile-builder"); ?>
625
  <?php __("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.", "profile-builder"); ?>
626
+ <?php __("Maximum Selections", "profile-builder"); ?>
627
+ <?php __("Select2 multi-value select boxes can set restrictions regarding the maximum number of options selected.", "profile-builder"); ?>
628
+ <?php __("User Inputted Options", "profile-builder"); ?>
629
+ <?php __("Check this to allow users to create their own options beside the pre-existing ones.", "profile-builder"); ?>
630
  <?php __("Form Field Properties", "profile-builder"); ?>
631
  <?php __("Registration & Edit Profile Forms", "profile-builder"); ?>
632
  <?php __("Usernames cannot be changed.", "profile-builder"); ?>
1028
  <?php __("Please select at least one user role\n", "profile-builder"); ?>
1029
  <?php __("<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre>", "profile-builder"); ?>
1030
  <?php __("Use these shortcodes on the pages you want the forms to be displayed:", "profile-builder"); ?>
1031
+ <?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"); ?>
1032
+ <?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"); ?>
1033
  <?php __("Search Location", "profile-builder"); ?>
1034
  <?php __("Paid Accounts", "profile-builder"); ?>
1035
  <?php __("Paid Member Subscriptions - a free WordPress plugin", "profile-builder"); ?>
1041
  <?php __("Account Management", "profile-builder"); ?>
1042
  <?php __("Subscription Management", "profile-builder"); ?>
1043
  <?php __("Payment Management", "profile-builder"); ?>
1044
+ <?php __("Activate", "profile-builder"); ?>
1045
+ <?php __("Downloading and installing...", "profile-builder"); ?>
1046
+ <?php __("Installation complete", "profile-builder"); ?>
1047
  <?php __("Plugin is Active", "profile-builder"); ?>
1048
  <?php __("Plugin has been activated", "profile-builder"); ?>
1049
+ <?php __("Retry Install", "profile-builder"); ?>
1050
+ <?php __("Plugin is <strong>active</strong>", "profile-builder"); ?>
1051
+ <?php __("Plugin is <strong>inactive</strong>", "profile-builder"); ?>
1052
+ <?php __("Deactivate", "profile-builder"); ?>
1053
  <?php __("Plugin has been deactivated.", "profile-builder"); ?>
1054
+ <?php __("Free", "profile-builder"); ?>
1055
  <?php __("Accept user payments, create subscription plans and restrict content on your website.", "profile-builder"); ?>
1056
+ <?php __("Install Now", "profile-builder"); ?>
1057
+ <?php __("Download Now", "profile-builder"); ?>
1058
+ <?php __("Compatible with your version of Profile Builder.", "profile-builder"); ?>
1059
+ <?php __("Could not install plugin. Retry or <a href=\"%s\" target=\"_blank\">install manually</a>.", "profile-builder"); ?>
1060
  <?php __("Step by Step Quick Setup", "profile-builder"); ?>
1061
  <?php __("Allow your users to have <strong>paid accounts with Profile Builder</strong>. %1$sFind out how >%2$s %3$sDismiss%4$s", "profile-builder"); ?>
1062
  <?php __("Private Website Settings", "profile-builder"); ?>
1124
  <?php __("The account %1s has been successfully created!", "profile-builder"); ?>
1125
  <?php __("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"); ?>
1126
  <?php __("Before you can access your account %1s, an administrator has to approve it. You will be notified via email.", "profile-builder"); ?>
1127
+ <?php __("Update", "profile-builder"); ?>
1128
  <?php __("Add User", "profile-builder"); ?>
1129
  <?php __("Send these credentials via email.", "profile-builder"); ?>
1130
  <?php __("There are no other users to edit", "profile-builder"); ?>
1175
  <?php __("Before you can access your account, an administrator needs to approve it. You will be notified via email.", "profile-builder"); ?>
1176
  <?php __("This username is already activated!", "profile-builder"); ?>
1177
  <?php __("Could not create user!", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1178
  <?php __("After Login", "profile-builder"); ?>
1179
  <?php __("After Logout", "profile-builder"); ?>
1180
  <?php __("After Registration", "profile-builder"); ?>
1187
  <?php __("User ID / Username", "profile-builder"); ?>
1188
  <?php __("Please select and enter the ID or username of your user.", "profile-builder"); ?>
1189
  <?php __("Redirect Type", "profile-builder"); ?>
1190
+ <?php __("Redirect URL", "profile-builder"); ?>
1191
  <?php __("Can contain the following dynamic tags:{{homeurl}}, {{siteurl}}, {{user_id}}, {{user_nicename}}, {{http_referer}}", "profile-builder"); ?>
1192
  <?php __("Individual User Redirects", "profile-builder"); ?>
1193
  <?php __("User Role", "profile-builder"); ?>
1227
  <?php __("Common Settings", "profile-builder"); ?>
1228
  <?php __("<p>New subscriber on {{site_name}}.</p>\n<p>Username:{{username}}</p>\n<p>Email:{{user_email}}</p>\n", "profile-builder"); ?>
1229
  <?php __("Email Subject", "profile-builder"); ?>
1230
+ <?php __("A new subscriber has (been) registered!", "profile-builder"); ?>
1231
  <?php __("Enable email", "profile-builder"); ?>
1232
  <?php __("Default Registration & Registration with Email Confirmation", "profile-builder"); ?>
1233
  <?php __("<p>New subscriber on {{site_name}}.</p>\n<p>Username:{{username}}</p>\n<p>Email:{{user_email}}</p>\n<p>The Admin Approval feature was activated at the time of registration,\nso please remember that you need to approve this user before he/she can log in!</p>", "profile-builder"); ?>
1258
  <?php __("Modified Fields", "profile-builder"); ?>
1259
  <?php __("Approval URL", "profile-builder"); ?>
1260
  <?php __("The users selected password at signup", "profile-builder"); ?>
1261
+ <?php __("Your selected password at signup", "profile-builder"); ?>
1262
  <?php __("User Email Customizer", "profile-builder"); ?>
1263
  <?php __("User Email Customizer Settings", "profile-builder"); ?>
1264
  <?php __("These settings are also replicated in the \"Admin Email Customizer\" settings-page upon save.", "profile-builder"); ?>
1302
  <?php __("<span style=\"color:red;\">Note:</span> changing the form title also changes the shortcode!", "profile-builder"); ?>
1303
  <?php __("The shortcode will be available after you publish this form.", "profile-builder"); ?>
1304
  <?php __("Form Shortcode", "profile-builder"); ?>
1305
+ <?php __("Redirect", "profile-builder"); ?>
1306
  <?php __("Whether to redirect the user to a specific page or not", "profile-builder"); ?>
1307
  <?php __("Display Messages", "profile-builder"); ?>
1308
  <?php __("Allowed time to display any success messages (in seconds)", "profile-builder"); ?>
1315
  <?php __("You need to specify the title of the form before creating it", "profile-builder"); ?>
1316
  <?php __("<pre>Title (Type)</pre>", "profile-builder"); ?>
1317
  <?php __("Delete all items", "profile-builder"); ?>
1318
+ <?php __("Delete all", "profile-builder"); ?>
1319
  <?php __("Add new Registration Form", "profile-builder"); ?>
1320
  <?php __("Edit the Registration Forms", "profile-builder"); ?>
1321
  <?php __("New Registration Form", "profile-builder"); ?>
1342
  <?php __("No User Listing found", "profile-builder"); ?>
1343
  <?php __("No User Listing found in trash", "profile-builder"); ?>
1344
  <?php __("Display name as", "profile-builder"); ?>
1345
+ <?php __("Role", "profile-builder"); ?>
1346
+ <?php __("Role Slug", "profile-builder"); ?>
1347
  <?php __("Registration Date", "profile-builder"); ?>
1348
  <?php __("Number of Posts", "profile-builder"); ?>
1349
  <?php __("More Info", "profile-builder"); ?>
1361
  <?php __("All-userlisting Template", "profile-builder"); ?>
1362
  <?php __("Single-userlisting Template", "profile-builder"); ?>
1363
  <?php __("Avatar", "profile-builder"); ?>
1364
+ <?php __("Firstname", "profile-builder"); ?>
1365
  <?php __("Posts", "profile-builder"); ?>
1366
  <?php __("Sign-up Date", "profile-builder"); ?>
1367
  <?php __("More", "profile-builder"); ?>
1372
  <?php __("Yim", "profile-builder"); ?>
1373
  <?php __("Aim", "profile-builder"); ?>
1374
  <?php __("Display Name", "profile-builder"); ?>
1375
+ <?php __("Lastname", "profile-builder"); ?>
1376
  <?php __("First/Lastname", "profile-builder"); ?>
1377
  <?php __("Search Users by All Fields", "profile-builder"); ?>
1378
  <?php __("Click here to see more information about this user.", "profile-builder"); ?>
1434
  <?php __("Search Fields", "profile-builder"); ?>
1435
  <?php __("Choose the fields in which the Search Field will look in", "profile-builder"); ?>
1436
  <?php __("Search Settings", "profile-builder"); ?>
1437
+ <?php __("You need to activate the Userlisting feature from within the \"Add-ons\" page!", "profile-builder"); ?>
1438
  <?php __("You can find it in the Profile Builder menu.", "profile-builder"); ?>
1439
  <?php __("No results found!", "profile-builder"); ?>
1440
+ <?php __("Toolbox", "profile-builder"); ?>
1441
+ <?php __("The email address you are trying to register with is not allowed on this website.", "profile-builder"); ?>
1442
+ <?php __("Your submission contains banned words.", "profile-builder"); ?>
1443
+ <?php __("are", "profile-builder"); ?>
1444
+ <?php __("have", "profile-builder"); ?>
1445
+ <?php __("is", "profile-builder"); ?>
1446
+ <?php __("has", "profile-builder"); ?>
1447
+ <?php __("%1$s of the emails provided in the Admin Emails field %2$s invalid and %3$s been removed from the list", "profile-builder"); ?>
1448
+ <?php __("Your account has to be confirmed by an administrator before you can log in.", "profile-builder"); ?>
1449
+ <?php __("Admin Approval", "profile-builder"); ?>
1450
+ <?php __("Do you want to", "profile-builder"); ?>
1451
+ <?php __("Your session has expired! Please refresh the page and try again.", "profile-builder"); ?>
1452
+ <?php __("You either don't have permission for that action or there was an error!", "profile-builder"); ?>
1453
+ <?php __("User successfully deleted!", "profile-builder"); ?>
1454
+ <?php __("User successfully unapproved!", "profile-builder"); ?>
1455
+ <?php __("User successfully approved!", "profile-builder"); ?>
1456
+ <?php __("Users successfully deleted!", "profile-builder"); ?>
1457
+ <?php __("Users successfully unapproved!", "profile-builder"); ?>
1458
+ <?php __("Users successfully approved!", "profile-builder"); ?>
1459
+ <?php __("Your account on %1$s has been unapproved!", "profile-builder"); ?>
1460
+ <?php __("unapproved", "profile-builder"); ?>
1461
+ <?php __("An administrator has just unapproved your account on %1$s (%2$s).", "profile-builder"); ?>
1462
+ <?php __("Your account on %1$s has been approved!", "profile-builder"); ?>
1463
+ <?php __("approved", "profile-builder"); ?>
1464
+ <?php __("An administrator has just approved your account on %1$s (%2$s).", "profile-builder"); ?>
1465
+ <?php __("Your account has to be confirmed by an administrator before you can use the \"Password Recovery\" feature.", "profile-builder"); ?>
1466
+ <?php __("Your account has been successfully created!", "profile-builder"); ?>
1467
+ <?php __("Something went wrong!", "profile-builder"); ?>
1468
+ <?php __("User not approved!", "profile-builder"); ?>
1469
+ <?php __("Do you wish to approve the registration?", "profile-builder"); ?>
1470
+ <?php __("The approval link is not valid! Please <a href=\"%s\"> log in </a> to approve the user manually. ", "profile-builder"); ?>
1471
+ <?php __("delete this user?", "profile-builder"); ?>
1472
+ <?php __("approve this user?", "profile-builder"); ?>
1473
+ <?php __("Approve", "profile-builder"); ?>
1474
+ <?php __("unapprove this user?", "profile-builder"); ?>
1475
+ <?php __("Unapprove", "profile-builder"); ?>
1476
+ <?php __("Registered", "profile-builder"); ?>
1477
+ <?php __("User-status", "profile-builder"); ?>
1478
+ <?php __("Sorry, but you don't have permission to do that!", "profile-builder"); ?>
1479
+ <?php __("Do you want to bulk delete the selected users?", "profile-builder"); ?>
1480
+ <?php __("Do you want to bulk unapprove the selected users?", "profile-builder"); ?>
1481
+ <?php __("Do you want to bulk approve the selected users?", "profile-builder"); ?>
1482
+ <?php __("Unapproved", "profile-builder"); ?>
1483
+ <?php __("Approved", "profile-builder"); ?>
1484
+ <?php __("All Users", "profile-builder"); ?>
1485
+ <?php __("Conditional Logic", "profile-builder"); ?>
1486
+ <?php __("Conditional Rules", "profile-builder"); ?>
1487
+ <?php __("This field has conditional logic enabled.", "profile-builder"); ?>
1488
+ <?php __("Profile Builder Content Restriction", "profile-builder"); ?>
1489
+ <?php __("Restrict to logged in users", "profile-builder"); ?>
1490
+ <?php __("Allow only logged in users to see this content.", "profile-builder"); ?>
1491
+ <?php __("Restrict by User Roles", "profile-builder"); ?>
1492
+ <?php __("Allow users which have the specified role to see this content.", "profile-builder"); ?>
1493
+ <?php __("Restriction Messages", "profile-builder"); ?>
1494
+ <?php __("Enable Restriction Messages", "profile-builder"); ?>
1495
+ <?php __("Replace hidden content with the default messages from PB -> Settings -> Content Restriction, a custom message or an Elementor Template.", "profile-builder"); ?>
1496
+ <?php __("Enable Custom Messages", "profile-builder"); ?>
1497
+ <?php __("Add a custom message or template.", "profile-builder"); ?>
1498
+ <?php __("Content type", "profile-builder"); ?>
1499
+ <?php __("Text", "profile-builder"); ?>
1500
+ <?php __("Template", "profile-builder"); ?>
1501
+ <?php __("Select Template", "profile-builder"); ?>
1502
+ <?php __("You must be logged in to view the comments.", "profile-builder"); ?>
1503
+ <?php __("Comments are restricted for your user role.", "profile-builder"); ?>
1504
+ <?php __("This content is restricted for your user role.", "profile-builder"); ?>
1505
+ <?php __("You must be logged in to view this content.", "profile-builder"); ?>
1506
+ <?php __("Display Options", "profile-builder"); ?>
1507
+ <?php __("Message", "profile-builder"); ?>
1508
+ <?php __("Type of Restriction", "profile-builder"); ?>
1509
+ <?php __("Settings Default", "profile-builder"); ?>
1510
+ <?php __("Display For", "profile-builder"); ?>
1511
+ <?php __("Checking only \"Logged In Users\" will show this %s to all logged in users, regardless of user role.", "profile-builder"); ?>
1512
+ <?php __("Checking any user role will show this %s only to users that have one of those user roles assigned.", "profile-builder"); ?>
1513
+ <?php __("Restriction Redirect URL", "profile-builder"); ?>
1514
+ <?php __("Enable Custom Redirect URL", "profile-builder"); ?>
1515
+ <?php __("Check if you wish to add a custom redirect URL for this %s.", "profile-builder"); ?>
1516
+ <?php __("Custom Redirect URL", "profile-builder"); ?>
1517
+ <?php __("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"); ?>
1518
+ <?php __("Check if you wish to add custom messages for this %s.", "profile-builder"); ?>
1519
+ <?php __("Messages for logged-out users", "profile-builder"); ?>
1520
+ <?php __("Messages for logged-in users", "profile-builder"); ?>
1521
+ <?php __("Content Restriction Settings", "profile-builder"); ?>
1522
+ <?php __("Enable Content Restriction", "profile-builder"); ?>
1523
+ <?php __("Activate Content Restriction", "profile-builder"); ?>
1524
+ <?php __("If you select \"Message\", the post's content will be protected by being replaced with a custom message.", "profile-builder"); ?>
1525
+ <?php __("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"); ?>
1526
+ <?php __("Message for logged-out users", "profile-builder"); ?>
1527
+ <?php __("Message for logged-in users", "profile-builder"); ?>
1528
+ <?php __("Restricted Posts Preview", "profile-builder"); ?>
1529
+ <?php __("Show the first %s words of the post's content", "profile-builder"); ?>
1530
+ <?php __("Show the content before the \"more\" tag", "profile-builder"); ?>
1531
+ <?php __("Show a portion of the restricted post to logged-out users or users that are not allowed to see it.", "profile-builder"); ?>
1532
+ <?php __("User Meta", "profile-builder"); ?>
1533
+ <?php __("show", "profile-builder"); ?>
1534
+ <?php __("delete this user from the _signups table?", "profile-builder"); ?>
1535
+ <?php __("confirm this email yourself?", "profile-builder"); ?>
1536
+ <?php __("Confirm Email", "profile-builder"); ?>
1537
+ <?php __("resend the activation link?", "profile-builder"); ?>
1538
+ <?php __("Resend Activation Email", "profile-builder"); ?>
1539
+ <?php __("The selected users have had their activation emails resent", "profile-builder"); ?>
1540
+ <?php __("The selected users have been activated", "profile-builder"); ?>
1541
+ <?php __("%s couldn't be deleted", "profile-builder"); ?>
1542
+ <?php __("All users have been successfully deleted", "profile-builder"); ?>
1543
+ <?php __("Users with Unconfirmed Email Address", "profile-builder"); ?>
1544
+ <?php __("Email notification resent to user", "profile-builder"); ?>
1545
+ <?php __("The selected user couldn't be deleted", "profile-builder"); ?>
1546
+ <?php __("There was an error performing that action!", "profile-builder"); ?>
1547
+ <?php __("[%1$s] Activate %2$s", "profile-builder"); ?>
1548
+ <?php __("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"); ?>
1549
+ <?php __("There was an error while trying to activate the user", "profile-builder"); ?>
1550
+ <?php __("That username is already activated!", "profile-builder"); ?>
1551
+ <?php __("New subscriber on %1$s.<br/><br/>Username:%2$s<br/>Email:%3$s<br/>", "profile-builder"); ?>
1552
+ <?php __("[%1$s] Your new account information", "profile-builder"); ?>
1553
+ <?php __("Welcome to %1$s!<br/><br/><br/>Your username is: %2$s and the password: %3$s.<br/><br/>Access your account: %4$s ", "profile-builder"); ?>
1554
+ <?php __("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 ", "profile-builder"); ?>
1555
+ <?php __("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!", "profile-builder"); ?>
1556
+ <?php __("This login widget lets you add a login form in the sidebar.", "profile-builder"); ?>
1557
+ <?php __("Profile Builder Login Widget", "profile-builder"); ?>
1558
+ <?php __("Title:", "profile-builder"); ?>
1559
+ <?php __("After login redirect URL (optional):", "profile-builder"); ?>
1560
+ <?php __("Register page URL (optional):", "profile-builder"); ?>
1561
+ <?php __("Password Recovery page URL (optional):", "profile-builder"); ?>
1562
+ <?php __("Capability", "profile-builder"); ?>
1563
+ <?php __("You can't delete this capability from your role.", "profile-builder"); ?>
1564
+ <?php __("Add New Role", "profile-builder"); ?>
1565
+ <?php __("Edit Role", "profile-builder"); ?>
1566
+ <?php __("New Role", "profile-builder"); ?>
1567
+ <?php __("View Role", "profile-builder"); ?>
1568
+ <?php __("Search the Roles Editor", "profile-builder"); ?>
1569
+ <?php __("No roles found", "profile-builder"); ?>
1570
+ <?php __("No roles found in trash", "profile-builder"); ?>
1571
+ <?php __("Role updated.", "profile-builder"); ?>
1572
+ <?php __("Custom field updated.", "profile-builder"); ?>
1573
+ <?php __("Custom field deleted.", "profile-builder"); ?>
1574
+ <?php __("Role created.", "profile-builder"); ?>
1575
+ <?php __("Role saved.", "profile-builder"); ?>
1576
+ <?php __("Role submitted.", "profile-builder"); ?>
1577
+ <?php __("Role scheduled for: <strong>%1$s</strong>", "profile-builder"); ?>
1578
+ <?php __("Role draft updated.", "profile-builder"); ?>
1579
+ <?php __("Role Name", "profile-builder"); ?>
1580
+ <?php __("Capabilities", "profile-builder"); ?>
1581
+ <?php __("Users", "profile-builder"); ?>
1582
+ <?php __("Clone", "profile-builder"); ?>
1583
+ <?php __("Change Default", "profile-builder"); ?>
1584
+ <?php __("You can't delete the default role. Change it first.", "profile-builder"); ?>
1585
+ <?php __("You can't delete your role.", "profile-builder"); ?>
1586
+ <?php __("Edit User Roles", "profile-builder"); ?>
1587
+ <?php __("The usernames cannot be changed.", "profile-builder"); ?>
1588
+ <?php __("This Profile Builder add-on has been migrated to the main plugin and is no longer used. You can delete it.", "profile-builder"); ?>
1589
+ <?php __("Limit", "profile-builder"); ?>
1590
+ <?php __("Enable limit to the number of fields to be generated by users in front end forms ", "profile-builder"); ?>
1591
+ <?php __("General Limit", "profile-builder"); ?>
1592
+ <?php __("Default limit for this repeater group. <br>Leave 0 for unlimited.", "profile-builder"); ?>
1593
+ <?php __("Limit reached message", "profile-builder"); ?>
1594
+ <?php __("The maximum number of fields has been reached.", "profile-builder"); ?>
1595
+ <?php __("The popup message to display when the limit of repeater groups is reached.", "profile-builder"); ?>
1596
+ <?php __("Limit per Role", "profile-builder"); ?>
1597
+ <?php __("Leave 0 for unlimited.", "profile-builder"); ?>
1598
+ <?php __("Repeated field group", "profile-builder"); ?>
1599
+ <?php __("Manage field or group of fields that will be repeatable.", "profile-builder"); ?>
1600
+ <?php __("Edit field group", "profile-builder"); ?>
1601
+ <?php __("Repeatable fields saved!", "profile-builder"); ?>
1602
+ <?php __("Please enter a unique field title.", "profile-builder"); ?>
1603
+ <?php __("Please enter a unique field title.\n", "profile-builder"); ?>
1604
  <?php __("Delete this item", "profile-builder"); ?>
 
 
1605
  <?php __("Yes, I'd like to create a new site", "profile-builder"); ?>
1606
  <?php __("Your site url will look like this:<br>", "profile-builder"); ?>
1607
  <?php __("Site URL slug", "profile-builder"); ?>
1611
  <?php __("This email is already reserved to be used soon.", "profile-builder"); ?>
1612
  <?php __("Please try a different one!", "profile-builder"); ?>
1613
  <?php __("This email is already in use.", "profile-builder"); ?>
1614
+ <?php __("The email confirmation does not match your email address.", "profile-builder"); ?>
1615
  <?php __("Type %s to confirm deleting your account and all data associated with it:", "profile-builder"); ?>
1616
  <?php __("You did not type %s. Try again!", "profile-builder"); ?>
1617
  <?php __("The passwords do not match", "profile-builder"); ?>
1626
  <?php __("This username is invalid because it uses illegal characters.", "profile-builder"); ?>
1627
  <?php __("Please enter a valid username.", "profile-builder"); ?>
1628
  <?php __("This username is already reserved to be used soon.", "profile-builder"); ?>
1629
+ <?php __("required", "profile-builder"); ?>
1630
  <?php __("You must enter a valid URL.", "profile-builder"); ?>
1631
  <?php __("Please add the Google Maps API key for this field.", "profile-builder"); ?>
1632
  <?php __("Something went wrong. Please try again.", "profile-builder"); ?>
1642
  <?php __("Files must be smaller than ", "profile-builder"); ?>
1643
  <?php __("Sorry, you cannot upload this file type for this field.", "profile-builder"); ?>
1644
  <?php __("An error occurred, please try again later.", "profile-builder"); ?>
1645
+ <?php __("This display name is already in use. Please choose another one.", "profile-builder"); ?>
1646
+ <?php __("Placeholder Labels", "profile-builder"); ?>
1647
+ <?php __("Replace labels with placeholders:", "profile-builder"); ?>
1648
+ <?php __("Resend activation email", "profile-builder"); ?>
1649
+ <?php __("Allow users with the 'delete_users' capability to view the Admin Approval list", "profile-builder"); ?>
1650
+ <?php __("By checking this option, you will allow users that have the 'delete_users' capability to access and use the Admin Approval list.", "profile-builder"); ?>
1651
+ <?php __("Allow users with the 'delete_users' capability to view the list of Unconfirmed Emails", "profile-builder"); ?>
1652
+ <?php __("By checking this option, you will allow users that have the 'delete_users' capability to see the list of Unconfirmed Email Addresses.", "profile-builder"); ?>
1653
+ <?php __("Disable confirmation dialog for the {{approval_url}} or {{approval_link}} Email Customizer tags", "profile-builder"); ?>
1654
+ <?php __("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"); ?>
1655
+ <?php __("Multiple Admin Emails", "profile-builder"); ?>
1656
+ <?php __("Set multiple admin e-mail addresses that will receive e-mail notifications sent by Profile Builder", "profile-builder"); ?>
1657
+ <?php __("Admin Emails:", "profile-builder"); ?>
1658
+ <?php __("Add email addresses, separated by comma, for people you wish to receive notifications from Profile Builder. These addresses will overwrite the default Email Adress from <a href=\"%s\">Settings -> General</a>", "profile-builder"); ?>
1659
+ <?php __("Automatically generate password for users", "profile-builder"); ?>
1660
+ <?php __("By checking this option, the password will be automatically generated and emailed to the user.", "profile-builder"); ?>
1661
+ <?php __("Modify 'Send Credentials' checkbox", "profile-builder"); ?>
1662
+ <?php __("Hidden and checked", "profile-builder"); ?>
1663
+ <?php __("Field text:", "profile-builder"); ?>
1664
+ <?php __("By default, the user needs to choose if he wants to receive a registration email.", "profile-builder"); ?>
1665
+ <?php __("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"); ?>
1666
+ <?php __("If you choose to show the field, you can modify the default text by entering something in the field from above.", "profile-builder"); ?>
1667
+ <?php __("Redirect users to a page if they have empty required fields", "profile-builder"); ?>
1668
+ <?php __("Redirect Page:", "profile-builder"); ?>
1669
+ <?php __("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"); ?>
1670
+ <?php __("For example, you can redirect these users to the Edit Profile form so they can add the missing info.", "profile-builder"); ?>
1671
+ <?php __("Ban certain words from being used in fields", "profile-builder"); ?>
1672
+ <?php __("On", "profile-builder"); ?>
1673
+ <?php __("Affected fields:", "profile-builder"); ?>
1674
+ <?php __("Banned words:", "profile-builder"); ?>
1675
+ <?php __("Error message:", "profile-builder"); ?>
1676
+ <?php __("Allows you to define some words which users cannot use in their Username, First Name or Last Name when registering.", "profile-builder"); ?>
1677
+ <?php __("Unique 'Display Name' for users", "profile-builder"); ?>
1678
+ <?php __("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"); ?>
1679
+ <?php __("Always capitalize 'First Name' and 'Last Name' default fields", "profile-builder"); ?>
1680
+ <?php __("If you have these fields in your forms, they will be always saved with the first letter as uppercase.", "profile-builder"); ?>
1681
+ <?php __("eg.: <strong>John Doe</strong> instead of <strong>john doe</strong>", "profile-builder"); ?>
1682
+ <?php __("Datepicker starts on Monday", "profile-builder"); ?>
1683
+ <?php __("Will make all Datepickers use Monday as the first day of the week.", "profile-builder"); ?>
1684
+ <?php __("Hide Repeater Fields from the back-end profile page", "profile-builder"); ?>
1685
+ <?php __("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"); ?>
1686
+ <?php __("You will still be able to use them from a front-end edit profile form.", "profile-builder"); ?>
1687
+ <?php __("Remove All Extra Fields from Backend edit profile page.", "profile-builder"); ?>
1688
+ <?php __("If you activate this option, it will remove all custom fields from the backend profile page created with Profile Builder.", "profile-builder"); ?>
1689
+ <?php __("Update database entries when changing meta key", "profile-builder"); ?>
1690
+ <?php __("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"); ?>
1691
+ <?php __("Enable Placeholder Labels", "profile-builder"); ?>
1692
+ <?php __("Replace Labels with Placeholders in Profile Builder forms.", "profile-builder"); ?>
1693
+ <?php __("Allow or deny email domains from registering", "profile-builder"); ?>
1694
+ <?php __("Type:", "profile-builder"); ?>
1695
+ <?php __("Allow", "profile-builder"); ?>
1696
+ <?php __("Deny", "profile-builder"); ?>
1697
+ <?php __("Restricted domains:", "profile-builder"); ?>
1698
+ <?php __("This option lets you allow registrations only from certain domains or deny registrations from certain domains.", "profile-builder"); ?>
1699
+ <?php __("You should add only the domain in the list from above. eg.: gmail.com", "profile-builder"); ?>
1700
+ <?php __("Forms that should bypass Email Confirmation", "profile-builder"); ?>
1701
+ <?php __("Users registering through any of the selected forms will not need to confirm their email address.", "profile-builder"); ?>
1702
+ <?php __("Disable Email Confirmation for Social Connect registrations", "profile-builder"); ?>
1703
+ <?php __("If checked, will allow users that register through the Social Connect add-on to bypass the Email Confirmation feature.", "profile-builder"); ?>
1704
+ <?php __("Remember me checked by default", "profile-builder"); ?>
1705
+ <?php __("Check the 'Remember Me' checkbox on Login forms, by default.", "profile-builder"); ?>
1706
+ <?php __("Remove validation from back-end profile page", "profile-builder"); ?>
1707
+ <?php __("When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute", "profile-builder"); ?>
1708
+ <?php __("Always show edit other users dropdown", "profile-builder"); ?>
1709
+ <?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"); ?>
1710
+ <?php __("Consider 'Anyone can Register' WordPress option", "profile-builder"); ?>
1711
+ <?php __("setting", "profile-builder"); ?>
1712
+ <?php __("By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it.", "profile-builder"); ?>
1713
+ <?php __("Modify default Redirect Delay timer", "profile-builder"); ?>
1714
+ <?php __("This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen.", "profile-builder"); ?>
1715
+ <?php __("The default is 3 seconds. Leave empty if you do not want to change it.", "profile-builder"); ?>
1716
+ <?php __("Save Admin Approval status in usermeta", "profile-builder"); ?>
1717
+ <?php __("By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user.", "profile-builder"); ?>
1718
+ <?php __("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"); ?>
1719
+ <?php __("Redirect '/author' page if user is not approved", "profile-builder"); ?>
1720
+ <?php __("By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible.", "profile-builder"); ?>
1721
+ <?php __("Using this option you can redirect these pages, sending users who try to access them to your home page.", "profile-builder"); ?>
1722
+ <?php __("Save 'Last Login' date in usermeta", "profile-builder"); ?>
1723
+ <?php __("By checking this option, each time a user logins, the date and time will be saved in the database.", "profile-builder"); ?>
1724
+ <?php __("The meta name for the field will be <strong>last_login_date</strong>.", "profile-builder"); ?>
1725
+ <?php __("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"); ?>
1726
+ <?php __("Save 'Last Profile Update' date in usermeta", "profile-builder"); ?>
1727
+ <?php __("By checking this option, each time a modifies his profile the date and time will be saved in the database.", "profile-builder"); ?>
1728
+ <?php __("The meta name for the field will be <strong>last_profile_update_date</strong>.", "profile-builder"); ?>
1729
+ <?php __("Enable Compare shortcode", "profile-builder"); ?>
1730
+ <?php __("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"); ?>
1731
+ <?php __("Enable Usermeta shortcode", "profile-builder"); ?>
1732
+ <?php __("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"); ?>
1733
+ <?php __("Enable Resend Activation Email shortcode", "profile-builder"); ?>
1734
+ <?php __("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"); ?>
1735
+ <?php __("Enable Format Date shortcode", "profile-builder"); ?>
1736
+ <?php __("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"); ?>
1737
+ <?php __("Change placeholder text for Search box", "profile-builder"); ?>
1738
+ <?php __("This refers to the placeholder text from the <strong>{{{extra_search_all_fields}}}</strong> tag.", "profile-builder"); ?>
1739
+ <?php __("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"); ?>
1740
+ <?php __("Modify base URL for Single Userlisting", "profile-builder"); ?>
1741
+ <?php __("By default Single Userlisting URLs contain the word <strong>user</strong>. eg.: ", "profile-builder"); ?>
1742
+ <?php __("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"); ?>
1743
+ <?php __("Make the Single Userlisting URLs work with user nicename", "profile-builder"); ?>
1744
+ <?php __("By default Single Userlisting URLs are generated using the users ID. eg.: ", "profile-builder"); ?>
1745
+ <?php __("With this option activated, the URLs will be generated using the users <strong>nicename</strong>.", "profile-builder"); ?>
1746
+ <?php __("Remove repetition counts from Faceted Menus", "profile-builder"); ?>
1747
+ <?php __("The number of users that share a particular value is shown for the Select and Checkbox facet types.", "profile-builder"); ?>
1748
+ <?php __("If you enable this option they will be hidden.", "profile-builder"); ?>
1749
  <?php __("Select or type in an option", "profile-builder"); ?>
translation/profile-builder.pot CHANGED
@@ -13,7 +13,7 @@ msgstr ""
13
  "X-Poedit-SourceCharset: UTF-8\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
 
16
- #: ../pb-add-on-bbpress/bbpress-page.php:24, ../pb-add-on-bbpress/bbpress-page.php:24
17
  msgid "bbPress"
18
  msgstr ""
19
 
@@ -61,7 +61,7 @@ msgstr ""
61
  msgid "Replies Created"
62
  msgstr ""
63
 
64
- #: ../pb-add-on-buddypress/buddypress-page.php:26, ../pb-add-on-buddypress/buddypress-page.php:26
65
  msgid "BuddyPress"
66
  msgstr ""
67
 
@@ -85,7 +85,7 @@ msgstr ""
85
  msgid "Registration form:"
86
  msgstr ""
87
 
88
- #: ../pb-add-on-buddypress/buddypress-page.php:65, modules/email-customizer/user-email-customizer.php:104
89
  msgid "Default Registration"
90
  msgstr ""
91
 
@@ -209,7 +209,7 @@ msgstr ""
209
  msgid "Profile Builder Avatar field is disabled to allow use of BuddyPress Avatar."
210
  msgstr ""
211
 
212
- #: ../pb-add-on-buddypress/index.php:511, admin/manage-fields.php:319
213
  msgid "Name"
214
  msgstr ""
215
 
@@ -233,7 +233,7 @@ msgstr ""
233
  msgid "Display name:"
234
  msgstr ""
235
 
236
- #: ../pb-add-on-buddypress/index.php:534, admin/manage-fields.php:325
237
  msgid "Contact Info"
238
  msgstr ""
239
 
@@ -241,7 +241,7 @@ msgstr ""
241
  msgid "Website:"
242
  msgstr ""
243
 
244
- #: ../pb-add-on-buddypress/index.php:541, admin/manage-fields.php:336
245
  msgid "About Yourself"
246
  msgstr ""
247
 
@@ -301,14 +301,6 @@ msgstr ""
301
  msgid "Reset template"
302
  msgstr ""
303
 
304
- #: ../pb-add-on-custom-css-classes-on-fields/index.php:50
305
- msgid "CSS Class"
306
- msgstr ""
307
-
308
- #: ../pb-add-on-custom-css-classes-on-fields/index.php:51
309
- msgid "Add a class to a field. Should not contain dots(.) and for multiple classes separate by space."
310
- msgstr ""
311
-
312
  #: ../pb-add-on-custom-profile-menus/index.php:178
313
  msgid "Login Label"
314
  msgstr ""
@@ -389,42 +381,6 @@ msgstr ""
389
  msgid "Width (px)"
390
  msgstr ""
391
 
392
- #: ../pb-add-on-customization-toolbox/index.php:40
393
- msgid "Forms"
394
- msgstr ""
395
-
396
- #: ../pb-add-on-customization-toolbox/index.php:41
397
- msgid "Fields"
398
- msgstr ""
399
-
400
- #: ../pb-add-on-customization-toolbox/index.php:42
401
- msgid "Userlisting"
402
- msgstr ""
403
-
404
- #: ../pb-add-on-customization-toolbox/index.php:43
405
- msgid "Shortcodes"
406
- msgstr ""
407
-
408
- #: ../pb-add-on-customization-toolbox/index.php:44
409
- msgid "Admin"
410
- msgstr ""
411
-
412
- #: ../pb-add-on-customization-toolbox/index.php:62, ../pb-add-on-customization-toolbox/index.php:72
413
- msgid "Customization Toolbox"
414
- msgstr ""
415
-
416
- #: ../pb-add-on-customization-toolbox/index.php:62
417
- msgid "Toolbox"
418
- msgstr ""
419
-
420
- #: ../pb-add-on-customization-toolbox/index.php:147, ../pb-add-on-social-connect/index.php:239, admin/admin-functions.php:227, admin/general-settings.php:77, admin/general-settings.php:77
421
- msgid "Settings"
422
- msgstr ""
423
-
424
- #: ../pb-add-on-email-confirmation-field/index.php:85
425
- msgid "The email confirmation does not match your email address."
426
- msgstr ""
427
-
428
  #: ../pb-add-on-field-visibility/index.php:219, admin/admin-bar.php:64
429
  msgid "Visibility"
430
  msgstr ""
@@ -453,11 +409,11 @@ msgstr ""
453
  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>"
454
  msgstr ""
455
 
456
- #: ../pb-add-on-field-visibility/index.php:239, ../pb-add-on-labels-edit/pble.php:381, admin/manage-fields.php:1338, features/functions.php:963, features/functions.php:970, features/admin-approval/class-admin-approval.php:108, features/roles-editor/roles-editor.php:866, modules/custom-redirects/custom_redirects_admin.php:183, modules/custom-redirects/custom_redirects_admin.php:197, modules/custom-redirects/custom_redirects_admin.php:211, modules/custom-redirects/custom_redirects_admin.php:225, modules/multiple-forms/multiple-forms.php:406
457
  msgid "Edit"
458
  msgstr ""
459
 
460
- #: ../pb-add-on-field-visibility/index.php:239, admin/manage-fields.php:1338, features/functions.php:956, features/functions.php:970, 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, modules/custom-redirects/custom_redirects_admin.php:183, modules/custom-redirects/custom_redirects_admin.php:197, modules/custom-redirects/custom_redirects_admin.php:211, modules/custom-redirects/custom_redirects_admin.php:225, front-end/default-fields/gdpr-delete/gdpr-delete.php:20
461
  msgid "Delete"
462
  msgstr ""
463
 
@@ -485,116 +441,10 @@ msgstr ""
485
  msgid "You do not have the capabilities necessary to edit this field."
486
  msgstr ""
487
 
488
- #: ../pb-add-on-import-export/pbie-export.php:117
489
- msgid "Export Profile Builder options as a .json file. This allows you to easily import the configuration into another site."
490
- msgstr ""
491
-
492
- #: ../pb-add-on-import-export/pbie-export.php:119, ../pb-add-on-import-export/pbie.php:55, ../pb-add-on-labels-edit/pble.php:345
493
- msgid "Export"
494
- msgstr ""
495
-
496
- #: ../pb-add-on-import-export/pbie-import.php:32
497
- msgid "Import Profile Builder options from a .json file. This allows you to easily import the configuration from another site. "
498
- msgstr ""
499
-
500
- #: ../pb-add-on-import-export/pbie-import.php:38, ../pb-add-on-import-export/pbie.php:54, ../pb-add-on-labels-edit/pble.php:335
501
- msgid "Import"
502
- msgstr ""
503
-
504
- #: ../pb-add-on-import-export/pbie-import.php:38
505
- msgid "This will overwrite your old PB settings! Are you sure you want to continue?"
506
- msgstr ""
507
-
508
- #: ../pb-add-on-import-export/pbie.php:40, ../pb-add-on-import-export/pbie.php:40, ../pb-add-on-import-export/pbie.php:74
509
- msgid "Import and Export"
510
- msgstr ""
511
-
512
- #: ../pb-add-on-labels-edit/pble.php:136
513
- msgid " labels scanned."
514
- msgstr ""
515
-
516
- #: ../pb-add-on-labels-edit/pble.php:211, ../pb-add-on-labels-edit/pble.php:212
517
- msgid "Labels Edit"
518
- msgstr ""
519
-
520
- #: ../pb-add-on-labels-edit/pble.php:230
521
- msgid "Label to Edit"
522
- msgstr ""
523
-
524
- #: ../pb-add-on-labels-edit/pble.php:231
525
- msgid "New Label"
526
- msgstr ""
527
-
528
- #: ../pb-add-on-labels-edit/pble.php:237
529
- msgid "Edit Labels"
530
- msgstr ""
531
-
532
- #: ../pb-add-on-labels-edit/pble.php:253
533
- msgid "Rescan Lables"
534
- msgstr ""
535
-
536
- #: ../pb-add-on-labels-edit/pble.php:278
537
- msgid "Informations"
538
- msgstr ""
539
-
540
- #: ../pb-add-on-labels-edit/pble.php:312
541
- msgid "Import and Export Labels"
542
- msgstr ""
543
-
544
- #: ../pb-add-on-labels-edit/pble.php:326
545
- msgid "Import Labels from a .json file."
546
- msgstr ""
547
-
548
- #: ../pb-add-on-labels-edit/pble.php:328
549
- msgid "Easily import the labels from another site."
550
- msgstr ""
551
-
552
- #: ../pb-add-on-labels-edit/pble.php:335
553
- msgid "This will overwrite all your old edited labels!\nAre you sure you want to continue?"
554
- msgstr ""
555
-
556
- #: ../pb-add-on-labels-edit/pble.php:340
557
- msgid "Export Labels as a .json file."
558
- msgstr ""
559
-
560
- #: ../pb-add-on-labels-edit/pble.php:342
561
- msgid "Easily import the labels into another site."
562
- msgstr ""
563
-
564
- #: ../pb-add-on-labels-edit/pble.php:370
565
- msgid "You must select a label to edit!"
566
- msgstr ""
567
-
568
- #: ../pb-add-on-labels-edit/pble.php:381, admin/manage-fields.php:191
569
- msgid "Labels"
570
- msgstr ""
571
-
572
- #: ../pb-add-on-labels-edit/pble.php:381, ../pb-add-on-labels-edit/pble.php:381, modules/multiple-forms/multiple-forms.php:406
573
- msgid "Delete all"
574
- msgstr ""
575
-
576
- #: ../pb-add-on-labels-edit/pble.php:433
577
- msgid "No labels edited, nothing to export!"
578
- msgstr ""
579
-
580
  #: ../pb-add-on-mailpoet-integration/index.php:128
581
  msgid "MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!"
582
  msgstr ""
583
 
584
- #: ../pb-add-on-maximum-character-length/index.php:49
585
- msgid "Maximum Character Length"
586
- msgstr ""
587
-
588
- #: ../pb-add-on-maximum-character-length/index.php:49
589
- msgid "Specify the maximum number of characters a user can type in this field"
590
- msgstr ""
591
-
592
- #: ../pb-add-on-maximum-character-length/index.php:70
593
- msgid ""
594
- "The entered character number is not numerical\n"
595
- ""
596
- msgstr ""
597
-
598
  #: ../pb-add-on-multi-step-forms/index.php:102, ../pb-add-on-multi-step-forms/index.php:525
599
  msgid "Step"
600
  msgstr ""
@@ -675,23 +525,7 @@ msgstr ""
675
  msgid "Previous"
676
  msgstr ""
677
 
678
- #: ../pb-add-on-placeholder-labels/pbpl.php:142, ../pb-add-on-placeholder-labels/pbpl.php:146
679
- msgid "Placeholder Labels"
680
- msgstr ""
681
-
682
- #: ../pb-add-on-placeholder-labels/pbpl.php:168
683
- msgid "Replace labels with placeholders:"
684
- msgstr ""
685
-
686
- #: ../pb-add-on-placeholder-labels/pbpl.php:171, ../pb-add-on-social-connect/index.php:326, admin/general-settings.php:114, admin/general-settings.php:127, admin/general-settings.php:142, admin/general-settings.php:191, admin/general-settings.php:238, admin/general-settings.php:312, admin/manage-fields.php:185, admin/private-website.php:67, admin/private-website.php:134, admin/private-website.php:147, ../pb-add-on-customization-toolbox/includes/views/view-admin.php:18, ../pb-add-on-customization-toolbox/includes/views/view-admin.php:34, ../pb-add-on-customization-toolbox/includes/views/view-admin.php:50, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:18, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:66, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:181, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:197, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:217, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:240, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:261, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:279, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:132, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:149, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:164, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:184, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:201, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:239, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:260, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:280, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:302, ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:16, ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:32, ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:48, ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:64, ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:53, ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:75, features/content-restriction/content-restriction.php:89, modules/multiple-forms/edit-profile-forms.php:206, modules/multiple-forms/register-forms.php:229, modules/multiple-forms/register-forms.php:230, modules/user-listing/userlisting.php:2415
687
- msgid "Yes"
688
- msgstr ""
689
-
690
- #: ../pb-add-on-placeholder-labels/pbpl.php:172, ../pb-add-on-social-connect/index.php:327, admin/general-settings.php:128, admin/general-settings.php:143, admin/general-settings.php:192, admin/general-settings.php:237, admin/general-settings.php:311, admin/private-website.php:66, admin/private-website.php:133, admin/private-website.php:148, features/content-restriction/content-restriction.php:88, modules/multiple-forms/edit-profile-forms.php:206, modules/multiple-forms/register-forms.php:229, modules/multiple-forms/register-forms.php:230
691
- msgid "No"
692
- msgstr ""
693
-
694
- #: ../pb-add-on-social-connect/index.php:185, ../pb-add-on-social-connect/index.php:186, ../pb-add-on-social-connect/index.php:294, ../pb-add-on-social-connect/index.php:298
695
  msgid "Social Connect"
696
  msgstr ""
697
 
@@ -835,6 +669,10 @@ msgstr ""
835
  msgid "Default Social Connect CSS in the Front-end"
836
  msgstr ""
837
 
 
 
 
 
838
  #: ../pb-add-on-social-connect/index.php:253
839
  msgid "Help"
840
  msgstr ""
@@ -843,6 +681,14 @@ msgstr ""
843
  msgid "Display Social Connect buttons:"
844
  msgstr ""
845
 
 
 
 
 
 
 
 
 
846
  #: ../pb-add-on-social-connect/index.php:372
847
  msgid "You have successfully unlinked %% from your account."
848
  msgstr ""
@@ -887,7 +733,7 @@ msgstr ""
887
  msgid "You will be redirected in 5 seconds. If not, click %%."
888
  msgstr ""
889
 
890
- #: ../pb-add-on-social-connect/index.php:394, features/functions.php:1250
891
  msgid "here"
892
  msgstr ""
893
 
@@ -931,7 +777,7 @@ msgstr ""
931
  msgid "Profile Builder not active!"
932
  msgstr ""
933
 
934
- #: ../pb-add-on-social-connect/index.php:871, admin/admin-functions.php:38, admin/general-settings.php:9
935
  msgid "General Settings"
936
  msgstr ""
937
 
@@ -955,11 +801,11 @@ msgstr ""
955
  msgid "Country"
956
  msgstr ""
957
 
958
- #: ../pb-add-on-woocommerce/billing-fields.php:6, ../pb-add-on-woocommerce/shipping-fields.php:6, admin/manage-fields.php:321, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:127
959
  msgid "First Name"
960
  msgstr ""
961
 
962
- #: ../pb-add-on-woocommerce/billing-fields.php:7, ../pb-add-on-woocommerce/shipping-fields.php:7, admin/manage-fields.php:322, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:133
963
  msgid "Last Name"
964
  msgstr ""
965
 
@@ -1071,7 +917,7 @@ msgstr ""
1071
  msgid "Field Name"
1072
  msgstr ""
1073
 
1074
- #: ../pb-add-on-woocommerce/index.php:304, admin/manage-fields.php:243
1075
  msgid "Required"
1076
  msgstr ""
1077
 
@@ -1103,7 +949,7 @@ msgstr ""
1103
  msgid "Whether the field should be added to the WooCommerce checkout form or not"
1104
  msgstr ""
1105
 
1106
- #: ../pb-add-on-woocommerce/woosync-page.php:23, ../pb-add-on-woocommerce/woosync-page.php:23, ../pb-add-on-woocommerce/woosync-page.php:70
1107
  msgid "WooCommerce Sync"
1108
  msgstr ""
1109
 
@@ -1131,67 +977,7 @@ msgstr ""
1131
  msgid "%s is also activated. You need to deactivate it before activating this version of the plugin."
1132
  msgstr ""
1133
 
1134
- #: ../pb-add-on-gdpr-communication-preferences/admin/manage-fields.php:29
1135
- msgid "Communication Preferences"
1136
- msgstr ""
1137
-
1138
- #: ../pb-add-on-gdpr-communication-preferences/admin/manage-fields.php:29, ../pb-add-on-gdpr-communication-preferences/front-end/gdpr-communication-preferences.php:9, admin/general-settings.php:268, front-end/login.php:406, front-end/recover.php:119, ../pb-add-on-customization-toolbox/includes/shortcodes/resend-activation.php:9, features/admin-approval/class-admin-approval.php:169, features/email-confirmation/class-email-confirmation.php:169, modules/email-customizer/email-customizer.php:29, modules/user-listing/userlisting.php:118, modules/user-listing/userlisting.php:813, modules/user-listing/userlisting.php:2370
1139
- msgid "Email"
1140
- msgstr ""
1141
-
1142
- #: ../pb-add-on-gdpr-communication-preferences/admin/manage-fields.php:29, ../pb-add-on-gdpr-communication-preferences/front-end/gdpr-communication-preferences.php:9
1143
- msgid "Telephone"
1144
- msgstr ""
1145
-
1146
- #: ../pb-add-on-gdpr-communication-preferences/admin/manage-fields.php:29, ../pb-add-on-gdpr-communication-preferences/front-end/gdpr-communication-preferences.php:9
1147
- msgid "SMS"
1148
- msgstr ""
1149
-
1150
- #: ../pb-add-on-gdpr-communication-preferences/admin/manage-fields.php:29, ../pb-add-on-gdpr-communication-preferences/front-end/gdpr-communication-preferences.php:9
1151
- msgid "Post"
1152
- msgstr ""
1153
-
1154
- #: ../pb-add-on-gdpr-communication-preferences/admin/manage-fields.php:29
1155
- msgid "Select which communication preferences are available on your site ( drag and drop to re-order )"
1156
- msgstr ""
1157
-
1158
- #: ../pb-add-on-gdpr-communication-preferences/admin/manage-fields.php:30
1159
- msgid "Communication Preferences Order"
1160
- msgstr ""
1161
-
1162
- #: ../pb-add-on-gdpr-communication-preferences/admin/manage-fields.php:30
1163
- msgid "Save the communication preferences order"
1164
- msgstr ""
1165
-
1166
- #: ../pb-add-on-gdpr-communication-preferences/front-end/gdpr-communication-preferences.php:53, ../pb-add-on-select2/front-end/select2-field.php:72, ../pb-add-on-select2/front-end/select2-multiple-field.php:87, front-end/extra-fields/avatar/avatar.php:80, front-end/extra-fields/checkbox/checkbox.php:45, front-end/extra-fields/colorpicker/colorpicker.php:45, front-end/extra-fields/datepicker/datepicker.php:40, front-end/extra-fields/input/input.php:30, front-end/extra-fields/input-email/input-email.php:30, front-end/extra-fields/input-hidden/input-hidden.php:34, front-end/extra-fields/input-url/input-url.php:30, front-end/extra-fields/map/map.php:51, front-end/extra-fields/number/number.php:30, front-end/extra-fields/phone/phone.php:39, front-end/extra-fields/radio/radio.php:44, front-end/extra-fields/select/select.php:51, front-end/extra-fields/select-cpt/select-cpt.php:59, front-end/extra-fields/select-multiple/select-multiple.php:47, front-end/extra-fields/select-timezone/select-timezone.php:49, front-end/extra-fields/textarea/textarea.php:30, front-end/extra-fields/upload/upload.php:76, front-end/extra-fields/wysiwyg/wysiwyg.php:33
1167
- msgid "required"
1168
- msgstr ""
1169
-
1170
- #: ../pb-add-on-gdpr-communication-preferences/front-end/gdpr-communication-preferences.php:77
1171
- msgid "Date"
1172
- msgstr ""
1173
-
1174
- #: ../pb-add-on-gdpr-communication-preferences/front-end/gdpr-communication-preferences.php:77
1175
- msgid "Preference"
1176
- msgstr ""
1177
-
1178
- #: ../pb-add-on-import-export/inc/class-pbie-import.php:64, ../pb-add-on-labels-edit/inc/class-pble-import.php:34
1179
- msgid "Uploaded file is not valid json!"
1180
- msgstr ""
1181
-
1182
- #: ../pb-add-on-import-export/inc/class-pbie-import.php:88, ../pb-add-on-labels-edit/inc/class-pble-import.php:54
1183
- msgid "Please select a .json file to import!"
1184
- msgstr ""
1185
-
1186
- #: ../pb-add-on-import-export/inc/class-pbie-import.php:82, ../pb-add-on-labels-edit/inc/class-pble-import.php:48
1187
- msgid "Import successfully!"
1188
- msgstr ""
1189
-
1190
- #: ../pb-add-on-labels-edit/inc/class-pble-import.php:48
1191
- msgid "Page will refresh in 3 seconds..."
1192
- msgstr ""
1193
-
1194
- #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:11, ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:11
1195
  msgid "MailChimp"
1196
  msgstr ""
1197
 
@@ -1215,7 +1001,7 @@ msgstr ""
1215
  msgid "Before you can make any changes you will need to add a MailChimp API key."
1216
  msgstr ""
1217
 
1218
- #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:94, ../pb-add-on-labels-edit/assets/lib/wck-api/wordpress-creation-kit.php:340, assets/lib/wck-api/wordpress-creation-kit.php:343
1219
  msgid "Save"
1220
  msgstr ""
1221
 
@@ -1235,11 +1021,11 @@ msgstr ""
1235
  msgid "Enter a MailChimp API key. You can create keys in your MailChimp account."
1236
  msgstr ""
1237
 
1238
- #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:157, ../pb-add-on-labels-edit/assets/lib/wck-api/wordpress-creation-kit.php:540, assets/lib/wck-api/wordpress-creation-kit.php:544
1239
  msgid "Edit this item"
1240
  msgstr ""
1241
 
1242
- #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:171, features/functions.php:949, ../pb-add-on-labels-edit/assets/lib/wck-api/wordpress-creation-kit.php:403, assets/lib/wck-api/wordpress-creation-kit.php:406
1243
  msgid "Cancel"
1244
  msgstr ""
1245
 
@@ -1407,22 +1193,6 @@ msgid ""
1407
  ""
1408
  msgstr ""
1409
 
1410
- #: ../pb-add-on-select2/admin/manage-fields.php:52
1411
- msgid "Maximum Selections"
1412
- msgstr ""
1413
-
1414
- #: ../pb-add-on-select2/admin/manage-fields.php:52
1415
- msgid "Select2 multi-value select boxes can set restrictions regarding the maximum number of options selected."
1416
- msgstr ""
1417
-
1418
- #: ../pb-add-on-select2/admin/manage-fields.php:53
1419
- msgid "User Inputted Options"
1420
- msgstr ""
1421
-
1422
- #: ../pb-add-on-select2/admin/manage-fields.php:53
1423
- msgid "Check this to allow users to create their own options beside the pre-existing ones."
1424
- msgstr ""
1425
-
1426
  #: ../pb-add-on-social-connect/facebook/facebook.php:38
1427
  msgid "Sign in with Facebook"
1428
  msgstr ""
@@ -1463,132 +1233,248 @@ msgstr ""
1463
  msgid "Link with Twitter"
1464
  msgstr ""
1465
 
1466
- #: admin/add-ons.php:12, admin/add-ons.php:12, admin/add-ons.php:195
1467
  msgid "Add-Ons"
1468
  msgstr ""
1469
 
1470
- #: admin/add-ons.php:43
1471
- msgid "Recommended Plugins"
1472
  msgstr ""
1473
 
1474
- #: admin/add-ons.php:74, admin/add-ons.php:145, admin/pms-cross-promotion.php:103
1475
- msgid "Free"
1476
  msgstr ""
1477
 
1478
- #: admin/add-ons.php:76
1479
- msgid "Translate your Profile Builder forms with a WordPress translation plugin that anyone can use. It offers a simpler way to translate WordPress sites, with full support for WooCommerce and site builders."
1480
  msgstr ""
1481
 
1482
- #: admin/add-ons.php:103, admin/add-ons.php:174, admin/pms-cross-promotion.php:138, admin/pms-cross-promotion.php:217
1483
- msgid "Install Now"
1484
  msgstr ""
1485
 
1486
- #: admin/add-ons.php:106, admin/add-ons.php:177, admin/add-ons.php:315, admin/pms-cross-promotion.php:142, admin/pms-cross-promotion.php:221
1487
- msgid "Compatible with your version of Profile Builder."
1488
  msgstr ""
1489
 
1490
- #: admin/add-ons.php:90, admin/add-ons.php:161, admin/add-ons.php:209, admin/add-ons.php:295, admin/pms-cross-promotion.php:91, admin/pms-cross-promotion.php:119, admin/pms-cross-promotion.php:198
1491
- msgid "Deactivate"
1492
  msgstr ""
1493
 
1494
- #: admin/add-ons.php:86, admin/add-ons.php:157, admin/add-ons.php:197, admin/add-ons.php:291, admin/pms-cross-promotion.php:79, admin/pms-cross-promotion.php:115, admin/pms-cross-promotion.php:194
1495
- msgid "Activate"
1496
  msgstr ""
1497
 
1498
- #: admin/add-ons.php:97, admin/add-ons.php:168, admin/pms-cross-promotion.php:88, admin/pms-cross-promotion.php:126, admin/pms-cross-promotion.php:205
1499
- msgid "Plugin is <strong>active</strong>"
1500
  msgstr ""
1501
 
1502
- #: admin/add-ons.php:95, admin/add-ons.php:166, admin/pms-cross-promotion.php:89, admin/pms-cross-promotion.php:124, admin/pms-cross-promotion.php:203
1503
- msgid "Plugin is <strong>inactive</strong>"
1504
  msgstr ""
1505
 
1506
- #: admin/add-ons.php:111, admin/add-ons.php:182, admin/pms-cross-promotion.php:147
1507
- msgid "Could not install plugin. Retry or <a href=\"%s\" target=\"_blank\">install manually</a>."
1508
  msgstr ""
1509
 
1510
- #: admin/add-ons.php:147
1511
- msgid "Accept user payments, create subscription plans and restrict content on your membership site."
1512
  msgstr ""
1513
 
1514
- #: admin/add-ons.php:199, admin/pms-cross-promotion.php:81
1515
- msgid "Downloading and installing..."
1516
  msgstr ""
1517
 
1518
- #: admin/add-ons.php:200, admin/pms-cross-promotion.php:82
1519
- msgid "Installation complete"
1520
  msgstr ""
1521
 
1522
- #: admin/add-ons.php:202
1523
- msgid "Add-On is Active"
1524
  msgstr ""
1525
 
1526
- #: admin/add-ons.php:203
1527
- msgid "Add-On has been activated"
1528
  msgstr ""
1529
 
1530
- #: admin/add-ons.php:204, admin/pms-cross-promotion.php:86
1531
- msgid "Retry Install"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1532
  msgstr ""
1533
 
1534
- #: admin/add-ons.php:206, admin/add-ons.php:302
1535
- msgid "Add-On is <strong>active</strong>"
1536
  msgstr ""
1537
 
1538
- #: admin/add-ons.php:207, admin/add-ons.php:300
1539
- msgid "Add-On is <strong>inactive</strong>"
1540
  msgstr ""
1541
 
1542
- #: admin/add-ons.php:210
1543
- msgid "Add-On has been deactivated."
1544
  msgstr ""
1545
 
1546
- #: admin/add-ons.php:269
1547
- msgid "Available with the Pro Version"
1548
  msgstr ""
1549
 
1550
- #: admin/add-ons.php:267
1551
- msgid "Available with the Hobbyist and Pro Versions"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1552
  msgstr ""
1553
 
1554
  #: admin/add-ons.php:265
1555
- msgid "Available with All Versions"
1556
  msgstr ""
1557
 
1558
- #: admin/add-ons.php:332, front-end/class-formbuilder.php:444
1559
- msgid "Update"
1560
  msgstr ""
1561
 
1562
- #: admin/add-ons.php:333
1563
- msgid "Not compatible with your version of Profile Builder."
1564
  msgstr ""
1565
 
1566
- #: admin/add-ons.php:334
1567
- msgid "Minimum required Profile Builder version:"
1568
  msgstr ""
1569
 
1570
- #: admin/add-ons.php:324
1571
- msgid "Upgrade Profile Builder"
1572
  msgstr ""
1573
 
1574
- #: admin/add-ons.php:325
1575
- msgid "Not compatible with Profile Builder"
1576
  msgstr ""
1577
 
1578
- #: admin/add-ons.php:310
1579
- msgid "Learn More"
1580
  msgstr ""
1581
 
1582
- #: admin/add-ons.php:310, admin/pms-cross-promotion.php:135, admin/pms-cross-promotion.php:214
1583
- msgid "Download Now"
 
 
 
 
 
 
 
 
 
 
 
 
1584
  msgstr ""
1585
 
1586
- #: admin/add-ons.php:339
1587
- msgid "Could not install add-on. Retry or <a href=\"%s\" target=\"_blank\">install manually</a>."
1588
  msgstr ""
1589
 
1590
- #: admin/add-ons.php:218
1591
- msgid "Something went wrong, we could not connect to the server. Please try again later."
1592
  msgstr ""
1593
 
1594
  #: admin/admin-bar.php:11
@@ -1607,7 +1493,7 @@ msgstr ""
1607
  msgid "User-Role"
1608
  msgstr ""
1609
 
1610
- #: admin/admin-bar.php:79, modules/multiple-forms/edit-profile-forms.php:206, modules/multiple-forms/register-forms.php:230
1611
  msgid "Default"
1612
  msgstr ""
1613
 
@@ -1615,7 +1501,7 @@ msgstr ""
1615
  msgid "Show"
1616
  msgstr ""
1617
 
1618
- #: admin/admin-bar.php:81, modules/user-listing/userlisting.php:1680
1619
  msgid "Hide"
1620
  msgstr ""
1621
 
@@ -1635,19 +1521,19 @@ msgstr ""
1635
  msgid "<strong>ERROR</strong>: The password must have the minimum length of %s characters"
1636
  msgstr ""
1637
 
1638
- #: admin/admin-functions.php:138, admin/general-settings.php:297
1639
  msgid "Very weak"
1640
  msgstr ""
1641
 
1642
- #: admin/admin-functions.php:138, admin/general-settings.php:298, features/functions.php:759, features/functions.php:783
1643
  msgid "Weak"
1644
  msgstr ""
1645
 
1646
- #: admin/admin-functions.php:138, admin/general-settings.php:299, features/functions.php:759, features/functions.php:783
1647
  msgid "Medium"
1648
  msgstr ""
1649
 
1650
- #: admin/admin-functions.php:138, admin/general-settings.php:300, features/functions.php:759, features/functions.php:783
1651
  msgid "Strong"
1652
  msgstr ""
1653
 
@@ -1675,15 +1561,15 @@ msgstr ""
1675
  msgid "Docs"
1676
  msgstr ""
1677
 
1678
- #: admin/admin-functions.php:261
1679
- msgid "Check out the Customization Toolbox add-on which packs the most popular customization requests from Profile Builder."
1680
  msgstr ""
1681
 
1682
- #: admin/admin-functions.php:263
1683
  msgid "See details"
1684
  msgstr ""
1685
 
1686
- #: admin/admin-functions.php:264
1687
  msgid "Dismiss this notice."
1688
  msgstr ""
1689
 
@@ -1723,7 +1609,7 @@ msgstr ""
1723
  msgid "Friction-less login using %s shortcode or a widget."
1724
  msgstr ""
1725
 
1726
- #: admin/basic-info.php:56, modules/multiple-forms/register-forms.php:11, modules/multiple-forms/register-forms.php:12
1727
  msgid "Registration Form"
1728
  msgstr ""
1729
 
@@ -1775,7 +1661,7 @@ msgstr ""
1775
  msgid "Make sure users sign up with genuine emails. On registration users will receive a notification to confirm their email address."
1776
  msgstr ""
1777
 
1778
- #: admin/basic-info.php:85, admin/general-settings.php:11, features/content-restriction/content-restriction.php:27, features/content-restriction/content-restriction.php:27
1779
  msgid "Content Restriction"
1780
  msgstr ""
1781
 
@@ -1900,25 +1786,21 @@ msgid "HTML"
1900
  msgstr ""
1901
 
1902
  #: admin/basic-info.php:149
1903
- msgid "Powerful Modules (**)"
1904
  msgstr ""
1905
 
1906
  #: admin/basic-info.php:150
1907
- msgid "Everything you will need to manage your users is probably already available using the Pro Modules."
1908
  msgstr ""
1909
 
1910
  #: admin/basic-info.php:152
1911
- msgid "Enable your modules"
1912
  msgstr ""
1913
 
1914
  #: admin/basic-info.php:155
1915
  msgid "Find out more about PRO Modules"
1916
  msgstr ""
1917
 
1918
- #: admin/basic-info.php:160, modules/modules.php:87, modules/user-listing/userlisting.php:11, modules/user-listing/userlisting.php:12, modules/user-listing/userlisting.php:17, modules/user-listing/userlisting.php:23
1919
- msgid "User Listing"
1920
- msgstr ""
1921
-
1922
  #: admin/basic-info.php:164
1923
  msgid "To create a page containing the users registered to this current site/blog, insert the following shortcode in a page of your chosing: %s."
1924
  msgstr ""
@@ -1927,42 +1809,22 @@ msgstr ""
1927
  msgid "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."
1928
  msgstr ""
1929
 
1930
- #: admin/basic-info.php:168, admin/general-settings.php:18, modules/modules.php:94
1931
- msgid "Email Customizer"
1932
- msgstr ""
1933
-
1934
  #: admin/basic-info.php:169
1935
  msgid "Personalize all emails sent to your users or admins. On registration, email confirmation, admin approval / un-approval."
1936
  msgstr ""
1937
 
1938
- #: admin/basic-info.php:172, modules/modules.php:106, modules/custom-redirects/custom_redirects_admin.php:33, modules/custom-redirects/custom_redirects_admin.php:34
1939
- msgid "Custom Redirects"
1940
- msgstr ""
1941
-
1942
  #: admin/basic-info.php:173
1943
  msgid "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."
1944
  msgstr ""
1945
 
1946
- #: admin/basic-info.php:178, modules/modules.php:73
1947
- msgid "Multiple Registration Forms"
1948
- msgstr ""
1949
-
1950
  #: admin/basic-info.php:179
1951
  msgid "Set up multiple registration forms with different fields for certain user roles. Capture different information from different types of users."
1952
  msgstr ""
1953
 
1954
- #: admin/basic-info.php:182, modules/modules.php:80
1955
  msgid "Multiple Edit-profile Forms"
1956
  msgstr ""
1957
 
1958
- #: admin/basic-info.php:183
1959
- msgid "Allow different user roles to edit their specific information. Set up multiple edit-profile forms with different fields for certain user roles."
1960
- msgstr ""
1961
-
1962
- #: admin/basic-info.php:186, modules/modules.php:113
1963
- msgid "Repeater Fields"
1964
- msgstr ""
1965
-
1966
  #: admin/basic-info.php:187
1967
  msgid "Set up a repeating group of fields on register and edit profile forms. Limit the number of repeated groups for each user role."
1968
  msgstr ""
@@ -2031,143 +1893,171 @@ msgstr ""
2031
  msgid "Submit and Deactivate"
2032
  msgstr ""
2033
 
2034
- #: admin/general-settings.php:10
2035
  msgid "Admin Bar"
2036
  msgstr ""
2037
 
2038
- #: admin/general-settings.php:12, admin/private-website.php:11, admin/private-website.php:11
2039
  msgid "Private Website"
2040
  msgstr ""
2041
 
2042
- #: admin/general-settings.php:20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2043
  msgid "User Emails"
2044
  msgstr ""
2045
 
2046
- #: admin/general-settings.php:21
2047
  msgid "Administrator Emails"
2048
  msgstr ""
2049
 
2050
- #: admin/general-settings.php:98
2051
  msgid "Profile Builder Settings"
2052
  msgstr ""
2053
 
2054
- #: admin/general-settings.php:111
2055
  msgid "Load Profile Builder's own CSS file in the front-end:"
2056
  msgstr ""
2057
 
2058
- #: admin/general-settings.php:116
2059
  msgid "You can find the default file here: %1$s"
2060
  msgstr ""
2061
 
2062
- #: admin/general-settings.php:123
2063
  msgid "Automatically Log In:"
2064
  msgstr ""
2065
 
2066
- #: admin/general-settings.php:131
2067
  msgid "Select \"Yes\" to automatically log in new users after successful registration."
2068
  msgstr ""
2069
 
2070
- #: admin/general-settings.php:138
2071
  msgid "\"Email Confirmation\" Activated:"
2072
  msgstr ""
2073
 
2074
- #: admin/general-settings.php:146
2075
  msgid "This works with front-end forms only. Recommended to redirect WP default registration to a Profile Builder one using \"Custom Redirects\" module."
2076
  msgstr ""
2077
 
2078
- #: admin/general-settings.php:148
2079
  msgid "You can find a list of unconfirmed email addresses %1$sUsers > All Users > Email Confirmation%2$s."
2080
  msgstr ""
2081
 
2082
- #: admin/general-settings.php:156
2083
  msgid "\"Email Confirmation\" Landing Page:"
2084
  msgstr ""
2085
 
2086
- #: admin/general-settings.php:161
2087
  msgid "Existing Pages"
2088
  msgstr ""
2089
 
2090
- #: admin/general-settings.php:176
2091
  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."
2092
  msgstr ""
2093
 
2094
- #: admin/general-settings.php:187
2095
  msgid "\"Admin Approval\" Activated:"
2096
  msgstr ""
2097
 
2098
- #: admin/general-settings.php:195
2099
  msgid "You can find a list of users at %1$sUsers > All Users > Admin Approval%2$s."
2100
  msgstr ""
2101
 
2102
- #: admin/general-settings.php:202
2103
  msgid "\"Admin Approval\" on User Role:"
2104
  msgstr ""
2105
 
2106
- #: admin/general-settings.php:221
2107
  msgid "Select on what user roles to activate Admin Approval."
2108
  msgstr ""
2109
 
2110
- #: admin/general-settings.php:233
2111
  msgid "\"Roles Editor\" Activated:"
2112
  msgstr ""
2113
 
2114
- #: admin/general-settings.php:241
2115
  msgid "You can add / edit user roles at %1$sUsers > Roles Editor%2$s."
2116
  msgstr ""
2117
 
2118
- #: admin/general-settings.php:252
2119
  msgid "\"Admin Approval\" Feature:"
2120
  msgstr ""
2121
 
2122
- #: admin/general-settings.php:255
2123
  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."
2124
  msgstr ""
2125
 
2126
- #: admin/general-settings.php:262
2127
  msgid "Allow Users to Log in With:"
2128
  msgstr ""
2129
 
2130
- #: admin/general-settings.php:266
2131
  msgid "Username and Email"
2132
  msgstr ""
2133
 
2134
- #: admin/general-settings.php:267, admin/manage-fields.php:320, front-end/login.php:255, front-end/login.php:269, front-end/login.php:409, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:121, features/admin-approval/class-admin-approval.php:166, features/email-confirmation/class-email-confirmation.php:168, modules/custom-redirects/custom_redirects_admin.php:60, modules/email-customizer/email-customizer.php:28, modules/user-listing/userlisting.php:112, modules/user-listing/userlisting.php:312, modules/user-listing/userlisting.php:807, modules/user-listing/userlisting.php:2369
2135
  msgid "Username"
2136
  msgstr ""
2137
 
2138
- #: admin/general-settings.php:271
 
 
 
 
2139
  msgid "\"Username and Email\" - users can Log In with both Username and Email."
2140
  msgstr ""
2141
 
2142
- #: admin/general-settings.php:272
2143
  msgid "\"Username\" - users can Log In only with Username."
2144
  msgstr ""
2145
 
2146
- #: admin/general-settings.php:273
2147
  msgid "\"Email\" - users can Log In only with Email."
2148
  msgstr ""
2149
 
2150
- #: admin/general-settings.php:280
2151
  msgid "Minimum Password Length:"
2152
  msgstr ""
2153
 
2154
- #: admin/general-settings.php:285
2155
  msgid "Enter the minimum characters the password should have. Leave empty for no minimum limit"
2156
  msgstr ""
2157
 
2158
- #: admin/general-settings.php:292
2159
  msgid "Minimum Password Strength:"
2160
  msgstr ""
2161
 
2162
- #: admin/general-settings.php:296
2163
  msgid "Disabled"
2164
  msgstr ""
2165
 
2166
- #: admin/general-settings.php:307
2167
  msgid "Use ajax on conditional fields:"
2168
  msgstr ""
2169
 
2170
- #: admin/general-settings.php:315
2171
  msgid "For large conditional forms select \"Yes\" for an improved page performance"
2172
  msgstr ""
2173
 
@@ -2179,2095 +2069,2115 @@ msgstr ""
2179
  msgid "Manage Form Fields"
2180
  msgstr ""
2181
 
2182
- #: admin/manage-fields.php:126
2183
  msgid "Choose one of the supported field types"
2184
  msgstr ""
2185
 
2186
- #: admin/manage-fields.php:128
2187
  msgid ". Extra Field Types are available in <a href=\"%s\">Hobbyist or PRO versions</a>."
2188
  msgstr ""
2189
 
2190
- #: admin/manage-fields.php:164
2191
  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"
2192
  msgstr ""
2193
 
2194
- #: admin/manage-fields.php:161
2195
  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"
2196
  msgstr ""
2197
 
2198
- #: admin/manage-fields.php:178
2199
  msgid "Field Title"
2200
  msgstr ""
2201
 
2202
- #: admin/manage-fields.php:178
2203
  msgid "Title of the field"
2204
  msgstr ""
2205
 
2206
- #: admin/manage-fields.php:179, modules/multiple-forms/edit-profile-forms.php:245, modules/multiple-forms/register-forms.php:266
2207
  msgid "Field"
2208
  msgstr ""
2209
 
2210
- #: admin/manage-fields.php:180
2211
  msgid "Meta-name"
2212
  msgstr ""
2213
 
2214
- #: admin/manage-fields.php:181, modules/custom-redirects/custom_redirects_admin.php:69, modules/custom-redirects/custom_redirects_admin.php:99, modules/custom-redirects/custom_redirects_admin.php:118, modules/custom-redirects/custom_redirects_admin.php:143, modules/multiple-forms/edit-profile-forms.php:246, modules/multiple-forms/register-forms.php:267
2215
  msgid "ID"
2216
  msgstr ""
2217
 
2218
- #: admin/manage-fields.php:181, modules/multiple-forms/edit-profile-forms.php:246, modules/multiple-forms/register-forms.php:267
2219
  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"
2220
  msgstr ""
2221
 
2222
- #: admin/manage-fields.php:182
2223
  msgid "Description"
2224
  msgstr ""
2225
 
2226
- #: admin/manage-fields.php:182
2227
  msgid "Enter a (detailed) description of the option for end users to read<br/>Optional"
2228
  msgstr ""
2229
 
2230
- #: admin/manage-fields.php:183
2231
  msgid "Row Count"
2232
  msgstr ""
2233
 
2234
- #: admin/manage-fields.php:183
2235
  msgid "Specify the number of rows for a 'Textarea' field<br/>If not specified, defaults to 5"
2236
  msgstr ""
2237
 
2238
- #: admin/manage-fields.php:184
2239
  msgid "Allowed Image Extensions"
2240
  msgstr ""
2241
 
2242
- #: admin/manage-fields.php:184
2243
  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 (.*)"
2244
  msgstr ""
2245
 
2246
- #: admin/manage-fields.php:185
2247
  msgid "Use Simple Upload"
2248
  msgstr ""
2249
 
2250
- #: admin/manage-fields.php:185
2251
  msgid "Use a simple upload field instead of the WordPress upload"
2252
  msgstr ""
2253
 
2254
- #: admin/manage-fields.php:186
2255
  msgid "Allowed Upload Extensions"
2256
  msgstr ""
2257
 
2258
- #: admin/manage-fields.php:186
2259
  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 (.*)"
2260
  msgstr ""
2261
 
2262
- #: admin/manage-fields.php:187
2263
  msgid "Avatar Size"
2264
  msgstr ""
2265
 
2266
- #: admin/manage-fields.php:187
2267
  msgid "Enter a value (between 20 and 200) for the size of the 'Avatar'<br/>If not specified, defaults to 100"
2268
  msgstr ""
2269
 
2270
- #: admin/manage-fields.php:188
2271
  msgid "Date-format"
2272
  msgstr ""
2273
 
2274
- #: admin/manage-fields.php:188
2275
  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"
2276
  msgstr ""
2277
 
2278
- #: admin/manage-fields.php:189
2279
  msgid "Terms of Agreement"
2280
  msgstr ""
2281
 
2282
- #: admin/manage-fields.php:189
2283
  msgid "Enter a detailed description of the temrs 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;"
2284
  msgstr ""
2285
 
2286
- #: admin/manage-fields.php:190
2287
  msgid "Options"
2288
  msgstr ""
2289
 
2290
- #: admin/manage-fields.php:190
2291
  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"
2292
  msgstr ""
2293
 
2294
- #: admin/manage-fields.php:191
 
 
 
 
2295
  msgid "Enter a comma separated list of labels<br/>Visible for the user"
2296
  msgstr ""
2297
 
2298
- #: admin/manage-fields.php:192
2299
  msgid "reCAPTCHA Type"
2300
  msgstr ""
2301
 
2302
- #: admin/manage-fields.php:192
2303
  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."
2304
  msgstr ""
2305
 
2306
- #: admin/manage-fields.php:193
2307
  msgid "Site Key"
2308
  msgstr ""
2309
 
2310
- #: admin/manage-fields.php:193
2311
  msgid "The site key from Google, <a href=\"http://www.google.com/recaptcha\" target=\"_blank\">www.google.com/recaptcha</a>"
2312
  msgstr ""
2313
 
2314
- #: admin/manage-fields.php:194
2315
  msgid "Secret Key"
2316
  msgstr ""
2317
 
2318
- #: admin/manage-fields.php:194
2319
  msgid "The secret key from Google, <a href=\"http://www.google.com/recaptcha\" target=\"_blank\">www.google.com/recaptcha</a>"
2320
  msgstr ""
2321
 
2322
- #: admin/manage-fields.php:195
2323
  msgid "Display on PB forms"
2324
  msgstr ""
2325
 
2326
- #: admin/manage-fields.php:195
2327
  msgid "PB Login"
2328
  msgstr ""
2329
 
2330
- #: admin/manage-fields.php:195
2331
  msgid "PB Register"
2332
  msgstr ""
2333
 
2334
- #: admin/manage-fields.php:195
2335
  msgid "PB Recover Password"
2336
  msgstr ""
2337
 
2338
- #: admin/manage-fields.php:195
2339
  msgid "Select on which Profile Builder forms to display reCAPTCHA"
2340
  msgstr ""
2341
 
2342
- #: admin/manage-fields.php:196
2343
  msgid "Display on default WP forms"
2344
  msgstr ""
2345
 
2346
- #: admin/manage-fields.php:196
2347
  msgid "Default WP Login"
2348
  msgstr ""
2349
 
2350
- #: admin/manage-fields.php:196
2351
  msgid "Default WP Register"
2352
  msgstr ""
2353
 
2354
- #: admin/manage-fields.php:196
2355
  msgid "Default WP Recover Password"
2356
  msgstr ""
2357
 
2358
- #: admin/manage-fields.php:196
2359
  msgid "Select on which default WP forms to display reCAPTCHA"
2360
  msgstr ""
2361
 
2362
- #: admin/manage-fields.php:197
2363
  msgid "User Roles"
2364
  msgstr ""
2365
 
2366
- #: admin/manage-fields.php:197
2367
  msgid "Select which user roles to show to the user ( drag and drop to re-order )"
2368
  msgstr ""
2369
 
2370
- #: admin/manage-fields.php:198
2371
  msgid "Display on Edit Profile"
2372
  msgstr ""
2373
 
2374
- #: admin/manage-fields.php:198
2375
  msgid "Check if you want the select user role field to appear on Edit Profile forms"
2376
  msgstr ""
2377
 
2378
- #: admin/manage-fields.php:199
2379
  msgid "User Roles Order"
2380
  msgstr ""
2381
 
2382
- #: admin/manage-fields.php:199
2383
  msgid "Save the user role order from the user roles checkboxes"
2384
  msgstr ""
2385
 
2386
- #: admin/manage-fields.php:200
2387
  msgid "Default Value"
2388
  msgstr ""
2389
 
2390
- #: admin/manage-fields.php:200
2391
  msgid "Default value of the field"
2392
  msgstr ""
2393
 
2394
- #: admin/manage-fields.php:201, admin/manage-fields.php:203, admin/manage-fields.php:204, admin/manage-fields.php:205
2395
  msgid "Default Option"
2396
  msgstr ""
2397
 
2398
- #: admin/manage-fields.php:201
2399
  msgid "Specify the option which should be selected by default"
2400
  msgstr ""
2401
 
2402
- #: admin/manage-fields.php:202
2403
  msgid "Default Option(s)"
2404
  msgstr ""
2405
 
2406
- #: admin/manage-fields.php:202
2407
  msgid "Specify the option which should be checked by default<br/>If there are multiple values, separate them with a ',' (comma)"
2408
  msgstr ""
2409
 
2410
- #: admin/manage-fields.php:203, admin/manage-fields.php:204, admin/manage-fields.php:205
2411
  msgid "Default option of the field"
2412
  msgstr ""
2413
 
2414
- #: admin/manage-fields.php:206
2415
  msgid "Show Currency Symbol"
2416
  msgstr ""
2417
 
2418
- #: admin/manage-fields.php:206
2419
  msgid "Whether the currency symbol should be displayed after the currency name in the select option."
2420
  msgstr ""
2421
 
2422
- #: admin/manage-fields.php:207
2423
  msgid "Show Post Type"
2424
  msgstr ""
2425
 
2426
- #: admin/manage-fields.php:207
2427
  msgid "Posts from what post type will be displayed in the select."
2428
  msgstr ""
2429
 
2430
- #: admin/manage-fields.php:208
2431
  msgid "Allowable Values"
2432
  msgstr ""
2433
 
2434
- #: admin/manage-fields.php:208
2435
  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."
2436
  msgstr ""
2437
 
2438
- #: admin/manage-fields.php:209
2439
  msgid "Error Message"
2440
  msgstr ""
2441
 
2442
- #: admin/manage-fields.php:209
2443
  msgid "Set a custom error message that will be displayed to the user."
2444
  msgstr ""
2445
 
2446
- #: admin/manage-fields.php:210
2447
  msgid "Time Format"
2448
  msgstr ""
2449
 
2450
- #: admin/manage-fields.php:210
2451
  msgid "Specify the time format."
2452
  msgstr ""
2453
 
2454
- #: admin/manage-fields.php:211
2455
  msgid "Google Maps API Key"
2456
  msgstr ""
2457
 
2458
- #: admin/manage-fields.php:211
2459
  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."
2460
  msgstr ""
2461
 
2462
- #: admin/manage-fields.php:216
2463
  msgid "Default Latitude"
2464
  msgstr ""
2465
 
2466
- #: admin/manage-fields.php:217
2467
  msgid "The latitude at which the map should be displayed when no pins are attached."
2468
  msgstr ""
2469
 
2470
- #: admin/manage-fields.php:223
2471
  msgid "Default Longitude"
2472
  msgstr ""
2473
 
2474
- #: admin/manage-fields.php:224
2475
  msgid "The longitude at which the map should be displayed when no pins are attached."
2476
  msgstr ""
2477
 
2478
- #: admin/manage-fields.php:230
2479
  msgid "Default Zoom Level"
2480
  msgstr ""
2481
 
2482
- #: admin/manage-fields.php:231
2483
  msgid "Add a number from 0 to 19. The higher the number the higher the zoom."
2484
  msgstr ""
2485
 
2486
- #: admin/manage-fields.php:235
2487
  msgid "Map Height"
2488
  msgstr ""
2489
 
2490
- #: admin/manage-fields.php:235
2491
  msgid "The height of the map."
2492
  msgstr ""
2493
 
2494
- #: admin/manage-fields.php:236
2495
  msgid "Default Content"
2496
  msgstr ""
2497
 
2498
- #: admin/manage-fields.php:236
2499
  msgid "Default value of the textarea"
2500
  msgstr ""
2501
 
2502
- #: admin/manage-fields.php:237
2503
  msgid "HTML Content"
2504
  msgstr ""
2505
 
2506
- #: admin/manage-fields.php:237
2507
  msgid "Add your HTML (or text) content"
2508
  msgstr ""
2509
 
2510
- #: admin/manage-fields.php:238
2511
  msgid "Phone Format"
2512
  msgstr ""
2513
 
2514
- #: admin/manage-fields.php:238
2515
  msgid "You can use: # for numbers, parentheses ( ), - sign, + sign, dot . and spaces."
2516
  msgstr ""
2517
 
2518
- #: admin/manage-fields.php:238
2519
  msgid "Eg. (###) ###-####"
2520
  msgstr ""
2521
 
2522
- #: admin/manage-fields.php:238
2523
  msgid "Empty field won't check for correct phone number."
2524
  msgstr ""
2525
 
2526
- #: admin/manage-fields.php:239
2527
  msgid "Heading Tag"
2528
  msgstr ""
2529
 
2530
- #: admin/manage-fields.php:239
2531
  msgid "Change heading field size on front-end forms"
2532
  msgstr ""
2533
 
2534
- #: admin/manage-fields.php:240
2535
  msgid "Min Number Value"
2536
  msgstr ""
2537
 
2538
- #: admin/manage-fields.php:240
2539
  msgid "Min allowed number value (0 to allow only positive numbers)"
2540
  msgstr ""
2541
 
2542
- #: admin/manage-fields.php:240
2543
  msgid "Leave it empty for no min value"
2544
  msgstr ""
2545
 
2546
- #: admin/manage-fields.php:241
2547
  msgid "Max Number Value"
2548
  msgstr ""
2549
 
2550
- #: admin/manage-fields.php:241
2551
  msgid "Max allowed number value (0 to allow only negative numbers)"
2552
  msgstr ""
2553
 
2554
- #: admin/manage-fields.php:241
2555
  msgid "Leave it empty for no max value"
2556
  msgstr ""
2557
 
2558
- #: admin/manage-fields.php:242
2559
  msgid "Number Step Value"
2560
  msgstr ""
2561
 
2562
- #: admin/manage-fields.php:242
2563
  msgid "Step value 1 to allow only integers, 0.1 to allow integers and numbers with 1 decimal"
2564
  msgstr ""
2565
 
2566
- #: admin/manage-fields.php:242
2567
  msgid "To allow multiple decimals use for eg. 0.01 (for 2 deciamls) and so on"
2568
  msgstr ""
2569
 
2570
- #: admin/manage-fields.php:242
2571
  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)"
2572
  msgstr ""
2573
 
2574
- #: admin/manage-fields.php:242
2575
  msgid "Leave it empty for no restriction"
2576
  msgstr ""
2577
 
2578
- #: admin/manage-fields.php:243
2579
  msgid "Whether the field is required or not"
2580
  msgstr ""
2581
 
2582
- #: admin/manage-fields.php:244
2583
  msgid "Overwrite Existing"
2584
  msgstr ""
2585
 
2586
- #: admin/manage-fields.php:244
2587
  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"
2588
  msgstr ""
2589
 
2590
- #: admin/manage-fields.php:250
2591
  msgid "POIs Load Type"
2592
  msgstr ""
2593
 
2594
- #: admin/manage-fields.php:252
2595
  msgid "POIs of the listed users (as filtered & paginated)"
2596
  msgstr ""
2597
 
2598
- #: admin/manage-fields.php:253
2599
  msgid "POIs of all the users for the filter* (no pagination)"
2600
  msgstr ""
2601
 
2602
- #: admin/manage-fields.php:256
2603
  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."
2604
  msgstr ""
2605
 
2606
- #: admin/manage-fields.php:263
2607
  msgid "POI Bubble Info"
2608
  msgstr ""
2609
 
2610
- #: admin/manage-fields.php:266
2611
  msgid "Select the attributes to be listed inside the POI bubble."
2612
  msgstr ""
2613
 
2614
- #: admin/manage-fields.php:277
2615
  msgid "Number of Users per Map Iteration"
2616
  msgstr ""
2617
 
2618
- #: admin/manage-fields.php:278
2619
  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."
2620
  msgstr ""
2621
 
2622
- #: admin/manage-fields.php:286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2623
  msgid "Form Field Properties"
2624
  msgstr ""
2625
 
2626
- #: admin/manage-fields.php:300
2627
  msgid "Registration & Edit Profile Forms"
2628
  msgstr ""
2629
 
2630
- #: admin/manage-fields.php:320
2631
  msgid "Usernames cannot be changed."
2632
  msgstr ""
2633
 
2634
- #: admin/manage-fields.php:323, modules/user-listing/userlisting.php:846, modules/user-listing/userlisting.php:2377
2635
  msgid "Nickname"
2636
  msgstr ""
2637
 
2638
- #: admin/manage-fields.php:324
2639
  msgid "Display name publicly as"
2640
  msgstr ""
2641
 
2642
- #: admin/manage-fields.php:326
2643
  msgid "E-mail"
2644
  msgstr ""
2645
 
2646
- #: admin/manage-fields.php:327, modules/email-customizer/email-customizer.php:33, modules/user-listing/userlisting.php:121, modules/user-listing/userlisting.php:828, modules/user-listing/userlisting.php:2371
2647
  msgid "Website"
2648
  msgstr ""
2649
 
2650
- #: admin/manage-fields.php:331
2651
  msgid "AIM"
2652
  msgstr ""
2653
 
2654
- #: admin/manage-fields.php:332
2655
  msgid "Yahoo IM"
2656
  msgstr ""
2657
 
2658
- #: admin/manage-fields.php:333
2659
  msgid "Jabber / Google Talk"
2660
  msgstr ""
2661
 
2662
- #: admin/manage-fields.php:337, modules/user-listing/userlisting.php:124, modules/user-listing/userlisting.php:831, modules/user-listing/userlisting.php:2372
2663
  msgid "Biographical Info"
2664
  msgstr ""
2665
 
2666
- #: admin/manage-fields.php:337
2667
  msgid "Share a little biographical information to fill out your profile. This may be shown publicly."
2668
  msgstr ""
2669
 
2670
- #: admin/manage-fields.php:338, front-end/recover.php:72, modules/email-customizer/email-customizer.php:30
2671
  msgid "Password"
2672
  msgstr ""
2673
 
2674
- #: admin/manage-fields.php:338
2675
  msgid "Type your password."
2676
  msgstr ""
2677
 
2678
- #: admin/manage-fields.php:339, front-end/recover.php:73
2679
  msgid "Repeat Password"
2680
  msgstr ""
2681
 
2682
- #: admin/manage-fields.php:339
2683
  msgid "Type your password again. "
2684
  msgstr ""
2685
 
2686
- #: admin/manage-fields.php:341
2687
  msgid "Blog Details"
2688
  msgstr ""
2689
 
2690
- #: admin/manage-fields.php:400
2691
  msgid "Select a Country"
2692
  msgstr ""
2693
 
2694
- #: admin/manage-fields.php:401
2695
  msgid "Afghanistan"
2696
  msgstr ""
2697
 
2698
- #: admin/manage-fields.php:402
2699
  msgid "Aland Islands"
2700
  msgstr ""
2701
 
2702
- #: admin/manage-fields.php:403
2703
  msgid "Albania"
2704
  msgstr ""
2705
 
2706
- #: admin/manage-fields.php:404
2707
  msgid "Algeria"
2708
  msgstr ""
2709
 
2710
- #: admin/manage-fields.php:405
2711
  msgid "American Samoa"
2712
  msgstr ""
2713
 
2714
- #: admin/manage-fields.php:406
2715
  msgid "Andorra"
2716
  msgstr ""
2717
 
2718
- #: admin/manage-fields.php:407
2719
  msgid "Angola"
2720
  msgstr ""
2721
 
2722
- #: admin/manage-fields.php:408
2723
  msgid "Anguilla"
2724
  msgstr ""
2725
 
2726
- #: admin/manage-fields.php:409
2727
  msgid "Antarctica"
2728
  msgstr ""
2729
 
2730
- #: admin/manage-fields.php:410
2731
  msgid "Antigua and Barbuda"
2732
  msgstr ""
2733
 
2734
- #: admin/manage-fields.php:411
2735
  msgid "Argentina"
2736
  msgstr ""
2737
 
2738
- #: admin/manage-fields.php:412
2739
  msgid "Armenia"
2740
  msgstr ""
2741
 
2742
- #: admin/manage-fields.php:413
2743
  msgid "Aruba"
2744
  msgstr ""
2745
 
2746
- #: admin/manage-fields.php:414
2747
  msgid "Australia"
2748
  msgstr ""
2749
 
2750
- #: admin/manage-fields.php:415
2751
  msgid "Austria"
2752
  msgstr ""
2753
 
2754
- #: admin/manage-fields.php:416
2755
  msgid "Azerbaijan"
2756
  msgstr ""
2757
 
2758
- #: admin/manage-fields.php:417
2759
  msgid "Bahamas"
2760
  msgstr ""
2761
 
2762
- #: admin/manage-fields.php:418
2763
  msgid "Bahrain"
2764
  msgstr ""
2765
 
2766
- #: admin/manage-fields.php:419
2767
  msgid "Bangladesh"
2768
  msgstr ""
2769
 
2770
- #: admin/manage-fields.php:420
2771
  msgid "Barbados"
2772
  msgstr ""
2773
 
2774
- #: admin/manage-fields.php:421
2775
  msgid "Belarus"
2776
  msgstr ""
2777
 
2778
- #: admin/manage-fields.php:422
2779
  msgid "Belgium"
2780
  msgstr ""
2781
 
2782
- #: admin/manage-fields.php:423
2783
  msgid "Belize"
2784
  msgstr ""
2785
 
2786
- #: admin/manage-fields.php:424
2787
  msgid "Benin"
2788
  msgstr ""
2789
 
2790
- #: admin/manage-fields.php:425
2791
  msgid "Bermuda"
2792
  msgstr ""
2793
 
2794
- #: admin/manage-fields.php:426
2795
  msgid "Bhutan"
2796
  msgstr ""
2797
 
2798
- #: admin/manage-fields.php:427
2799
  msgid "Bolivia"
2800
  msgstr ""
2801
 
2802
- #: admin/manage-fields.php:428
2803
  msgid "Bonaire, Saint Eustatius and Saba"
2804
  msgstr ""
2805
 
2806
- #: admin/manage-fields.php:429
2807
  msgid "Bosnia and Herzegovina"
2808
  msgstr ""
2809
 
2810
- #: admin/manage-fields.php:430
2811
  msgid "Botswana"
2812
  msgstr ""
2813
 
2814
- #: admin/manage-fields.php:431
2815
  msgid "Bouvet Island"
2816
  msgstr ""
2817
 
2818
- #: admin/manage-fields.php:432
2819
  msgid "Brazil"
2820
  msgstr ""
2821
 
2822
- #: admin/manage-fields.php:433
2823
  msgid "British Indian Ocean Territory"
2824
  msgstr ""
2825
 
2826
- #: admin/manage-fields.php:434
2827
  msgid "British Virgin Islands"
2828
  msgstr ""
2829
 
2830
- #: admin/manage-fields.php:435
2831
  msgid "Brunei"
2832
  msgstr ""
2833
 
2834
- #: admin/manage-fields.php:436
2835
  msgid "Bulgaria"
2836
  msgstr ""
2837
 
2838
- #: admin/manage-fields.php:437
2839
  msgid "Burkina Faso"
2840
  msgstr ""
2841
 
2842
- #: admin/manage-fields.php:438
2843
  msgid "Burundi"
2844
  msgstr ""
2845
 
2846
- #: admin/manage-fields.php:439
2847
  msgid "Cambodia"
2848
  msgstr ""
2849
 
2850
- #: admin/manage-fields.php:440
2851
  msgid "Cameroon"
2852
  msgstr ""
2853
 
2854
- #: admin/manage-fields.php:441
2855
  msgid "Canada"
2856
  msgstr ""
2857
 
2858
- #: admin/manage-fields.php:442
2859
  msgid "Cape Verde"
2860
  msgstr ""
2861
 
2862
- #: admin/manage-fields.php:443
2863
  msgid "Cayman Islands"
2864
  msgstr ""
2865
 
2866
- #: admin/manage-fields.php:444
2867
  msgid "Central African Republic"
2868
  msgstr ""
2869
 
2870
- #: admin/manage-fields.php:445
2871
  msgid "Chad"
2872
  msgstr ""
2873
 
2874
- #: admin/manage-fields.php:446
2875
  msgid "Chile"
2876
  msgstr ""
2877
 
2878
- #: admin/manage-fields.php:447
2879
  msgid "China"
2880
  msgstr ""
2881
 
2882
- #: admin/manage-fields.php:448
2883
  msgid "Christmas Island"
2884
  msgstr ""
2885
 
2886
- #: admin/manage-fields.php:449
2887
  msgid "Cocos Islands"
2888
  msgstr ""
2889
 
2890
- #: admin/manage-fields.php:450
2891
  msgid "Colombia"
2892
  msgstr ""
2893
 
2894
- #: admin/manage-fields.php:451
2895
  msgid "Comoros"
2896
  msgstr ""
2897
 
2898
- #: admin/manage-fields.php:452
2899
  msgid "Cook Islands"
2900
  msgstr ""
2901
 
2902
- #: admin/manage-fields.php:453
2903
  msgid "Costa Rica"
2904
  msgstr ""
2905
 
2906
- #: admin/manage-fields.php:454
2907
  msgid "Croatia"
2908
  msgstr ""
2909
 
2910
- #: admin/manage-fields.php:455
2911
  msgid "Cuba"
2912
  msgstr ""
2913
 
2914
- #: admin/manage-fields.php:456
2915
  msgid "Curacao"
2916
  msgstr ""
2917
 
2918
- #: admin/manage-fields.php:457
2919
  msgid "Cyprus"
2920
  msgstr ""
2921
 
2922
- #: admin/manage-fields.php:458
2923
  msgid "Czech Republic"
2924
  msgstr ""
2925
 
2926
- #: admin/manage-fields.php:459
2927
  msgid "Democratic Republic of the Congo"
2928
  msgstr ""
2929
 
2930
- #: admin/manage-fields.php:460
2931
  msgid "Denmark"
2932
  msgstr ""
2933
 
2934
- #: admin/manage-fields.php:461
2935
  msgid "Djibouti"
2936
  msgstr ""
2937
 
2938
- #: admin/manage-fields.php:462
2939
  msgid "Dominica"
2940
  msgstr ""
2941
 
2942
- #: admin/manage-fields.php:463
2943
  msgid "Dominican Republic"
2944
  msgstr ""
2945
 
2946
- #: admin/manage-fields.php:464
2947
  msgid "East Timor"
2948
  msgstr ""
2949
 
2950
- #: admin/manage-fields.php:465
2951
  msgid "Ecuador"
2952
  msgstr ""
2953
 
2954
- #: admin/manage-fields.php:466
2955
  msgid "Egypt"
2956
  msgstr ""
2957
 
2958
- #: admin/manage-fields.php:467
2959
  msgid "El Salvador"
2960
  msgstr ""
2961
 
2962
- #: admin/manage-fields.php:468
2963
  msgid "Equatorial Guinea"
2964
  msgstr ""
2965
 
2966
- #: admin/manage-fields.php:469
2967
  msgid "Eritrea"
2968
  msgstr ""
2969
 
2970
- #: admin/manage-fields.php:470
2971
  msgid "Estonia"
2972
  msgstr ""
2973
 
2974
- #: admin/manage-fields.php:471
2975
  msgid "Ethiopia"
2976
  msgstr ""
2977
 
2978
- #: admin/manage-fields.php:472
2979
  msgid "Falkland Islands"
2980
  msgstr ""
2981
 
2982
- #: admin/manage-fields.php:473
2983
  msgid "Faroe Islands"
2984
  msgstr ""
2985
 
2986
- #: admin/manage-fields.php:474
2987
  msgid "Fiji"
2988
  msgstr ""
2989
 
2990
- #: admin/manage-fields.php:475
2991
  msgid "Finland"
2992
  msgstr ""
2993
 
2994
- #: admin/manage-fields.php:476
2995
  msgid "France"
2996
  msgstr ""
2997
 
2998
- #: admin/manage-fields.php:477
2999
  msgid "French Guiana"
3000
  msgstr ""
3001
 
3002
- #: admin/manage-fields.php:478
3003
  msgid "French Polynesia"
3004
  msgstr ""
3005
 
3006
- #: admin/manage-fields.php:479
3007
  msgid "French Southern Territories"
3008
  msgstr ""
3009
 
3010
- #: admin/manage-fields.php:480
3011
  msgid "Gabon"
3012
  msgstr ""
3013
 
3014
- #: admin/manage-fields.php:481
3015
  msgid "Gambia"
3016
  msgstr ""
3017
 
3018
- #: admin/manage-fields.php:482
3019
  msgid "Georgia"
3020
  msgstr ""
3021
 
3022
- #: admin/manage-fields.php:483
3023
  msgid "Germany"
3024
  msgstr ""
3025
 
3026
- #: admin/manage-fields.php:484
3027
  msgid "Ghana"
3028
  msgstr ""
3029
 
3030
- #: admin/manage-fields.php:485
3031
  msgid "Gibraltar"
3032
  msgstr ""
3033
 
3034
- #: admin/manage-fields.php:486
3035
  msgid "Greece"
3036
  msgstr ""
3037
 
3038
- #: admin/manage-fields.php:487
3039
  msgid "Greenland"
3040
  msgstr ""
3041
 
3042
- #: admin/manage-fields.php:488
3043
  msgid "Grenada"
3044
  msgstr ""
3045
 
3046
- #: admin/manage-fields.php:489
3047
  msgid "Guadeloupe"
3048
  msgstr ""
3049
 
3050
- #: admin/manage-fields.php:490
3051
  msgid "Guam"
3052
  msgstr ""
3053
 
3054
- #: admin/manage-fields.php:491
3055
  msgid "Guatemala"
3056
  msgstr ""
3057
 
3058
- #: admin/manage-fields.php:492
3059
  msgid "Guernsey"
3060
  msgstr ""
3061
 
3062
- #: admin/manage-fields.php:493
3063
  msgid "Guinea"
3064
  msgstr ""
3065
 
3066
- #: admin/manage-fields.php:494
3067
  msgid "Guinea-Bissau"
3068
  msgstr ""
3069
 
3070
- #: admin/manage-fields.php:495
3071
  msgid "Guyana"
3072
  msgstr ""
3073
 
3074
- #: admin/manage-fields.php:496
3075
  msgid "Haiti"
3076
  msgstr ""
3077
 
3078
- #: admin/manage-fields.php:497
3079
  msgid "Heard Island and McDonald Islands"
3080
  msgstr ""
3081
 
3082
- #: admin/manage-fields.php:498
3083
  msgid "Honduras"
3084
  msgstr ""
3085
 
3086
- #: admin/manage-fields.php:499
3087
  msgid "Hong Kong"
3088
  msgstr ""
3089
 
3090
- #: admin/manage-fields.php:500
3091
  msgid "Hungary"
3092
  msgstr ""
3093
 
3094
- #: admin/manage-fields.php:501
3095
  msgid "Iceland"
3096
  msgstr ""
3097
 
3098
- #: admin/manage-fields.php:502
3099
  msgid "India"
3100
  msgstr ""
3101
 
3102
- #: admin/manage-fields.php:503
3103
  msgid "Indonesia"
3104
  msgstr ""
3105
 
3106
- #: admin/manage-fields.php:504
3107
  msgid "Iran"
3108
  msgstr ""
3109
 
3110
- #: admin/manage-fields.php:505
3111
  msgid "Iraq"
3112
  msgstr ""
3113
 
3114
- #: admin/manage-fields.php:506
3115
  msgid "Ireland"
3116
  msgstr ""
3117
 
3118
- #: admin/manage-fields.php:507
3119
  msgid "Isle of Man"
3120
  msgstr ""
3121
 
3122
- #: admin/manage-fields.php:508
3123
  msgid "Israel"
3124
  msgstr ""
3125
 
3126
- #: admin/manage-fields.php:509
3127
  msgid "Italy"
3128
  msgstr ""
3129
 
3130
- #: admin/manage-fields.php:510
3131
  msgid "Ivory Coast"
3132
  msgstr ""
3133
 
3134
- #: admin/manage-fields.php:511
3135
  msgid "Jamaica"
3136
  msgstr ""
3137
 
3138
- #: admin/manage-fields.php:512
3139
  msgid "Japan"
3140
  msgstr ""
3141
 
3142
- #: admin/manage-fields.php:513
3143
  msgid "Jersey"
3144
  msgstr ""
3145
 
3146
- #: admin/manage-fields.php:514
3147
  msgid "Jordan"
3148
  msgstr ""
3149
 
3150
- #: admin/manage-fields.php:515
3151
  msgid "Kazakhstan"
3152
  msgstr ""
3153
 
3154
- #: admin/manage-fields.php:516
3155
  msgid "Kenya"
3156
  msgstr ""
3157
 
3158
- #: admin/manage-fields.php:517
3159
  msgid "Kiribati"
3160
  msgstr ""
3161
 
3162
- #: admin/manage-fields.php:518
3163
  msgid "Kosovo"
3164
  msgstr ""
3165
 
3166
- #: admin/manage-fields.php:519
3167
  msgid "Kuwait"
3168
  msgstr ""
3169
 
3170
- #: admin/manage-fields.php:520
3171
  msgid "Kyrgyzstan"
3172
  msgstr ""
3173
 
3174
- #: admin/manage-fields.php:521
3175
  msgid "Laos"
3176
  msgstr ""
3177
 
3178
- #: admin/manage-fields.php:522
3179
  msgid "Latvia"
3180
  msgstr ""
3181
 
3182
- #: admin/manage-fields.php:523
3183
  msgid "Lebanon"
3184
  msgstr ""
3185
 
3186
- #: admin/manage-fields.php:524
3187
  msgid "Lesotho"
3188
  msgstr ""
3189
 
3190
- #: admin/manage-fields.php:525
3191
  msgid "Liberia"
3192
  msgstr ""
3193
 
3194
- #: admin/manage-fields.php:526
3195
  msgid "Libya"
3196
  msgstr ""
3197
 
3198
- #: admin/manage-fields.php:527
3199
  msgid "Liechtenstein"
3200
  msgstr ""
3201
 
3202
- #: admin/manage-fields.php:528
3203
  msgid "Lithuania"
3204
  msgstr ""
3205
 
3206
- #: admin/manage-fields.php:529
3207
  msgid "Luxembourg"
3208
  msgstr ""
3209
 
3210
- #: admin/manage-fields.php:530
3211
  msgid "Macao"
3212
  msgstr ""
3213
 
3214
- #: admin/manage-fields.php:531
3215
  msgid "Macedonia"
3216
  msgstr ""
3217
 
3218
- #: admin/manage-fields.php:532
3219
  msgid "Madagascar"
3220
  msgstr ""
3221
 
3222
- #: admin/manage-fields.php:533
3223
  msgid "Malawi"
3224
  msgstr ""
3225
 
3226
- #: admin/manage-fields.php:534
3227
  msgid "Malaysia"
3228
  msgstr ""
3229
 
3230
- #: admin/manage-fields.php:535
3231
  msgid "Maldives"
3232
  msgstr ""
3233
 
3234
- #: admin/manage-fields.php:536
3235
  msgid "Mali"
3236
  msgstr ""
3237
 
3238
- #: admin/manage-fields.php:537
3239
  msgid "Malta"
3240
  msgstr ""
3241
 
3242
- #: admin/manage-fields.php:538
3243
  msgid "Marshall Islands"
3244
  msgstr ""
3245
 
3246
- #: admin/manage-fields.php:539
3247
  msgid "Martinique"
3248
  msgstr ""
3249
 
3250
- #: admin/manage-fields.php:540
3251
  msgid "Mauritania"
3252
  msgstr ""
3253
 
3254
- #: admin/manage-fields.php:541
3255
  msgid "Mauritius"
3256
  msgstr ""
3257
 
3258
- #: admin/manage-fields.php:542
3259
  msgid "Mayotte"
3260
  msgstr ""
3261
 
3262
- #: admin/manage-fields.php:543
3263
  msgid "Mexico"
3264
  msgstr ""
3265
 
3266
- #: admin/manage-fields.php:544
3267
  msgid "Micronesia"
3268
  msgstr ""
3269
 
3270
- #: admin/manage-fields.php:545
3271
  msgid "Moldova"
3272
  msgstr ""
3273
 
3274
- #: admin/manage-fields.php:546
3275
  msgid "Monaco"
3276
  msgstr ""
3277
 
3278
- #: admin/manage-fields.php:547
3279
  msgid "Mongolia"
3280
  msgstr ""
3281
 
3282
- #: admin/manage-fields.php:548
3283
  msgid "Montenegro"
3284
  msgstr ""
3285
 
3286
- #: admin/manage-fields.php:549
3287
  msgid "Montserrat"
3288
  msgstr ""
3289
 
3290
- #: admin/manage-fields.php:550
3291
  msgid "Morocco"
3292
  msgstr ""
3293
 
3294
- #: admin/manage-fields.php:551
3295
  msgid "Mozambique"
3296
  msgstr ""
3297
 
3298
- #: admin/manage-fields.php:552
3299
  msgid "Myanmar"
3300
  msgstr ""
3301
 
3302
- #: admin/manage-fields.php:553
3303
  msgid "Namibia"
3304
  msgstr ""
3305
 
3306
- #: admin/manage-fields.php:554
3307
  msgid "Nauru"
3308
  msgstr ""
3309
 
3310
- #: admin/manage-fields.php:555
3311
  msgid "Nepal"
3312
  msgstr ""
3313
 
3314
- #: admin/manage-fields.php:556
3315
  msgid "Netherlands"
3316
  msgstr ""
3317
 
3318
- #: admin/manage-fields.php:557
3319
  msgid "New Caledonia"
3320
  msgstr ""
3321
 
3322
- #: admin/manage-fields.php:558
3323
  msgid "New Zealand"
3324
  msgstr ""
3325
 
3326
- #: admin/manage-fields.php:559
3327
  msgid "Nicaragua"
3328
  msgstr ""
3329
 
3330
- #: admin/manage-fields.php:560
3331
  msgid "Niger"
3332
  msgstr ""
3333
 
3334
- #: admin/manage-fields.php:561
3335
  msgid "Nigeria"
3336
  msgstr ""
3337
 
3338
- #: admin/manage-fields.php:562
3339
  msgid "Niue"
3340
  msgstr ""
3341
 
3342
- #: admin/manage-fields.php:563
3343
  msgid "Norfolk Island"
3344
  msgstr ""
3345
 
3346
- #: admin/manage-fields.php:564
3347
  msgid "North Korea"
3348
  msgstr ""
3349
 
3350
- #: admin/manage-fields.php:565
3351
  msgid "Northern Mariana Islands"
3352
  msgstr ""
3353
 
3354
- #: admin/manage-fields.php:566
3355
  msgid "Norway"
3356
  msgstr ""
3357
 
3358
- #: admin/manage-fields.php:567
3359
  msgid "Oman"
3360
  msgstr ""
3361
 
3362
- #: admin/manage-fields.php:568
3363
  msgid "Pakistan"
3364
  msgstr ""
3365
 
3366
- #: admin/manage-fields.php:569
3367
  msgid "Palau"
3368
  msgstr ""
3369
 
3370
- #: admin/manage-fields.php:570
3371
  msgid "Palestinian Territory"
3372
  msgstr ""
3373
 
3374
- #: admin/manage-fields.php:571
3375
  msgid "Panama"
3376
  msgstr ""
3377
 
3378
- #: admin/manage-fields.php:572
3379
  msgid "Papua New Guinea"
3380
  msgstr ""
3381
 
3382
- #: admin/manage-fields.php:573
3383
  msgid "Paraguay"
3384
  msgstr ""
3385
 
3386
- #: admin/manage-fields.php:574
3387
  msgid "Peru"
3388
  msgstr ""
3389
 
3390
- #: admin/manage-fields.php:575
3391
  msgid "Philippines"
3392
  msgstr ""
3393
 
3394
- #: admin/manage-fields.php:576
3395
  msgid "Pitcairn"
3396
  msgstr ""
3397
 
3398
- #: admin/manage-fields.php:577
3399
  msgid "Poland"
3400
  msgstr ""
3401
 
3402
- #: admin/manage-fields.php:578
3403
  msgid "Portugal"
3404
  msgstr ""
3405
 
3406
- #: admin/manage-fields.php:579
3407
  msgid "Puerto Rico"
3408
  msgstr ""
3409
 
3410
- #: admin/manage-fields.php:580
3411
  msgid "Qatar"
3412
  msgstr ""
3413
 
3414
- #: admin/manage-fields.php:581
3415
  msgid "Republic of the Congo"
3416
  msgstr ""
3417
 
3418
- #: admin/manage-fields.php:582
3419
  msgid "Reunion"
3420
  msgstr ""
3421
 
3422
- #: admin/manage-fields.php:583
3423
  msgid "Romania"
3424
  msgstr ""
3425
 
3426
- #: admin/manage-fields.php:584
3427
  msgid "Russia"
3428
  msgstr ""
3429
 
3430
- #: admin/manage-fields.php:585
3431
  msgid "Rwanda"
3432
  msgstr ""
3433
 
3434
- #: admin/manage-fields.php:586
3435
  msgid "Saint Barthelemy"
3436
  msgstr ""
3437
 
3438
- #: admin/manage-fields.php:587
3439
  msgid "Saint Helena"
3440
  msgstr ""
3441
 
3442
- #: admin/manage-fields.php:588
3443
  msgid "Saint Kitts and Nevis"
3444
  msgstr ""
3445
 
3446
- #: admin/manage-fields.php:589
3447
  msgid "Saint Lucia"
3448
  msgstr ""
3449
 
3450
- #: admin/manage-fields.php:590
3451
  msgid "Saint Martin"
3452
  msgstr ""
3453
 
3454
- #: admin/manage-fields.php:591
3455
  msgid "Saint Pierre and Miquelon"
3456
  msgstr ""
3457
 
3458
- #: admin/manage-fields.php:592
3459
  msgid "Saint Vincent and the Grenadines"
3460
  msgstr ""
3461
 
3462
- #: admin/manage-fields.php:593
3463
  msgid "Samoa"
3464
  msgstr ""
3465
 
3466
- #: admin/manage-fields.php:594
3467
  msgid "San Marino"
3468
  msgstr ""
3469
 
3470
- #: admin/manage-fields.php:595
3471
  msgid "Sao Tome and Principe"
3472
  msgstr ""
3473
 
3474
- #: admin/manage-fields.php:596
3475
  msgid "Saudi Arabia"
3476
  msgstr ""
3477
 
3478
- #: admin/manage-fields.php:597
3479
  msgid "Senegal"
3480
  msgstr ""
3481
 
3482
- #: admin/manage-fields.php:598
3483
  msgid "Serbia"
3484
  msgstr ""
3485
 
3486
- #: admin/manage-fields.php:599
3487
  msgid "Seychelles"
3488
  msgstr ""
3489
 
3490
- #: admin/manage-fields.php:600
3491
  msgid "Sierra Leone"
3492
  msgstr ""
3493
 
3494
- #: admin/manage-fields.php:601
3495
  msgid "Singapore"
3496
  msgstr ""
3497
 
3498
- #: admin/manage-fields.php:602
3499
  msgid "Sint Maarten"
3500
  msgstr ""
3501
 
3502
- #: admin/manage-fields.php:603
3503
  msgid "Slovakia"
3504
  msgstr ""
3505
 
3506
- #: admin/manage-fields.php:604
3507
  msgid "Slovenia"
3508
  msgstr ""
3509
 
3510
- #: admin/manage-fields.php:605
3511
  msgid "Solomon Islands"
3512
  msgstr ""
3513
 
3514
- #: admin/manage-fields.php:606
3515
  msgid "Somalia"
3516
  msgstr ""
3517
 
3518
- #: admin/manage-fields.php:607
3519
  msgid "South Africa"
3520
  msgstr ""
3521
 
3522
- #: admin/manage-fields.php:608
3523
  msgid "South Georgia and the South Sandwich Islands"
3524
  msgstr ""
3525
 
3526
- #: admin/manage-fields.php:609
3527
  msgid "South Korea"
3528
  msgstr ""
3529
 
3530
- #: admin/manage-fields.php:610
3531
  msgid "South Sudan"
3532
  msgstr ""
3533
 
3534
- #: admin/manage-fields.php:611
3535
  msgid "Spain"
3536
  msgstr ""
3537
 
3538
- #: admin/manage-fields.php:612
3539
  msgid "Sri Lanka"
3540
  msgstr ""
3541
 
3542
- #: admin/manage-fields.php:613
3543
  msgid "Sudan"
3544
  msgstr ""
3545
 
3546
- #: admin/manage-fields.php:614
3547
  msgid "Suriname"
3548
  msgstr ""
3549
 
3550
- #: admin/manage-fields.php:615
3551
  msgid "Svalbard and Jan Mayen"
3552
  msgstr ""
3553
 
3554
- #: admin/manage-fields.php:616
3555
  msgid "Swaziland"
3556
  msgstr ""
3557
 
3558
- #: admin/manage-fields.php:617
3559
  msgid "Sweden"
3560
  msgstr ""
3561
 
3562
- #: admin/manage-fields.php:618
3563
  msgid "Switzerland"
3564
  msgstr ""
3565
 
3566
- #: admin/manage-fields.php:619
3567
  msgid "Syria"
3568
  msgstr ""
3569
 
3570
- #: admin/manage-fields.php:620
3571
  msgid "Taiwan"
3572
  msgstr ""
3573
 
3574
- #: admin/manage-fields.php:621
3575
  msgid "Tajikistan"
3576
  msgstr ""
3577
 
3578
- #: admin/manage-fields.php:622
3579
  msgid "Tanzania"
3580
  msgstr ""
3581
 
3582
- #: admin/manage-fields.php:623
3583
  msgid "Thailand"
3584
  msgstr ""
3585
 
3586
- #: admin/manage-fields.php:624
3587
  msgid "Togo"
3588
  msgstr ""
3589
 
3590
- #: admin/manage-fields.php:625
3591
  msgid "Tokelau"
3592
  msgstr ""
3593
 
3594
- #: admin/manage-fields.php:626
3595
  msgid "Tonga"
3596
  msgstr ""
3597
 
3598
- #: admin/manage-fields.php:627
3599
  msgid "Trinidad and Tobago"
3600
  msgstr ""
3601
 
3602
- #: admin/manage-fields.php:628
3603
  msgid "Tunisia"
3604
  msgstr ""
3605
 
3606
- #: admin/manage-fields.php:629
3607
  msgid "Turkey"
3608
  msgstr ""
3609
 
3610
- #: admin/manage-fields.php:630
3611
  msgid "Turkmenistan"
3612
  msgstr ""
3613
 
3614
- #: admin/manage-fields.php:631
3615
  msgid "Turks and Caicos Islands"
3616
  msgstr ""
3617
 
3618
- #: admin/manage-fields.php:632
3619
  msgid "Tuvalu"
3620
  msgstr ""
3621
 
3622
- #: admin/manage-fields.php:633
3623
  msgid "U.S. Virgin Islands"
3624
  msgstr ""
3625
 
3626
- #: admin/manage-fields.php:634
3627
  msgid "Uganda"
3628
  msgstr ""
3629
 
3630
- #: admin/manage-fields.php:635
3631
  msgid "Ukraine"
3632
  msgstr ""
3633
 
3634
- #: admin/manage-fields.php:636
3635
  msgid "United Arab Emirates"
3636
  msgstr ""
3637
 
3638
- #: admin/manage-fields.php:637
3639
  msgid "United Kingdom"
3640
  msgstr ""
3641
 
3642
- #: admin/manage-fields.php:638
3643
  msgid "United States"
3644
  msgstr ""
3645
 
3646
- #: admin/manage-fields.php:639
3647
  msgid "United States Minor Outlying Islands"
3648
  msgstr ""
3649
 
3650
- #: admin/manage-fields.php:640
3651
  msgid "Uruguay"
3652
  msgstr ""
3653
 
3654
- #: admin/manage-fields.php:641
3655
  msgid "Uzbekistan"
3656
  msgstr ""
3657
 
3658
- #: admin/manage-fields.php:642
3659
  msgid "Vanuatu"
3660
  msgstr ""
3661
 
3662
- #: admin/manage-fields.php:643
3663
  msgid "Vatican"
3664
  msgstr ""
3665
 
3666
- #: admin/manage-fields.php:644
3667
  msgid "Venezuela"
3668
  msgstr ""
3669
 
3670
- #: admin/manage-fields.php:645
3671
  msgid "Vietnam"
3672
  msgstr ""
3673
 
3674
- #: admin/manage-fields.php:646
3675
  msgid "Wallis and Futuna"
3676
  msgstr ""
3677
 
3678
- #: admin/manage-fields.php:647
3679
  msgid "Western Sahara"
3680
  msgstr ""
3681
 
3682
- #: admin/manage-fields.php:648
3683
  msgid "Yemen"
3684
  msgstr ""
3685
 
3686
- #: admin/manage-fields.php:649
3687
  msgid "Zambia"
3688
  msgstr ""
3689
 
3690
- #: admin/manage-fields.php:650
3691
  msgid "Zimbabwe"
3692
  msgstr ""
3693
 
3694
- #: admin/manage-fields.php:683
3695
  msgid "Albania Lek"
3696
  msgstr ""
3697
 
3698
- #: admin/manage-fields.php:684
3699
  msgid "Afghanistan Afghani"
3700
  msgstr ""
3701
 
3702
- #: admin/manage-fields.php:685
3703
  msgid "Argentina Peso"
3704
  msgstr ""
3705
 
3706
- #: admin/manage-fields.php:687
3707
  msgid "Australia Dollar"
3708
  msgstr ""
3709
 
3710
- #: admin/manage-fields.php:688
3711
  msgid "Azerbaijan New Manat"
3712
  msgstr ""
3713
 
3714
- #: admin/manage-fields.php:689
3715
  msgid "Bahamas Dollar"
3716
  msgstr ""
3717
 
3718
- #: admin/manage-fields.php:690
3719
  msgid "Barbados Dollar"
3720
  msgstr ""
3721
 
3722
- #: admin/manage-fields.php:691
3723
  msgid "Bangladeshi taka"
3724
  msgstr ""
3725
 
3726
- #: admin/manage-fields.php:692
3727
  msgid "Belarus Ruble"
3728
  msgstr ""
3729
 
3730
- #: admin/manage-fields.php:693
3731
  msgid "Belize Dollar"
3732
  msgstr ""
3733
 
3734
- #: admin/manage-fields.php:694
3735
  msgid "Bermuda Dollar"
3736
  msgstr ""
3737
 
3738
- #: admin/manage-fields.php:695
3739
  msgid "Bolivia Boliviano"
3740
  msgstr ""
3741
 
3742
- #: admin/manage-fields.php:696
3743
  msgid "Bosnia and Herzegovina Convertible Marka"
3744
  msgstr ""
3745
 
3746
- #: admin/manage-fields.php:697
3747
  msgid "Botswana Pula"
3748
  msgstr ""
3749
 
3750
- #: admin/manage-fields.php:698
3751
  msgid "Bulgaria Lev"
3752
  msgstr ""
3753
 
3754
- #: admin/manage-fields.php:699
3755
  msgid "Brazil Real"
3756
  msgstr ""
3757
 
3758
- #: admin/manage-fields.php:700
3759
  msgid "Brunei Darussalam Dollar"
3760
  msgstr ""
3761
 
3762
- #: admin/manage-fields.php:701
3763
  msgid "Cambodia Riel"
3764
  msgstr ""
3765
 
3766
- #: admin/manage-fields.php:702
3767
  msgid "Canada Dollar"
3768
  msgstr ""
3769
 
3770
- #: admin/manage-fields.php:703
3771
  msgid "Cayman Islands Dollar"
3772
  msgstr ""
3773
 
3774
- #: admin/manage-fields.php:704
3775
  msgid "Chile Peso"
3776
  msgstr ""
3777
 
3778
- #: admin/manage-fields.php:705
3779
  msgid "China Yuan Renminbi"
3780
  msgstr ""
3781
 
3782
- #: admin/manage-fields.php:706
3783
  msgid "Colombia Peso"
3784
  msgstr ""
3785
 
3786
- #: admin/manage-fields.php:707
3787
  msgid "Costa Rica Colon"
3788
  msgstr ""
3789
 
3790
- #: admin/manage-fields.php:708
3791
  msgid "Croatia Kuna"
3792
  msgstr ""
3793
 
3794
- #: admin/manage-fields.php:709
3795
  msgid "Cuba Peso"
3796
  msgstr ""
3797
 
3798
- #: admin/manage-fields.php:710
3799
  msgid "Czech Republic Koruna"
3800
  msgstr ""
3801
 
3802
- #: admin/manage-fields.php:711
3803
  msgid "Denmark Krone"
3804
  msgstr ""
3805
 
3806
- #: admin/manage-fields.php:712
3807
  msgid "Dominican Republic Peso"
3808
  msgstr ""
3809
 
3810
- #: admin/manage-fields.php:713
3811
  msgid "East Caribbean Dollar"
3812
  msgstr ""
3813
 
3814
- #: admin/manage-fields.php:714
3815
  msgid "Egypt Pound"
3816
  msgstr ""
3817
 
3818
- #: admin/manage-fields.php:715
3819
  msgid "El Salvador Colon"
3820
  msgstr ""
3821
 
3822
- #: admin/manage-fields.php:716
3823
  msgid "Estonia Kroon"
3824
  msgstr ""
3825
 
3826
- #: admin/manage-fields.php:717
3827
  msgid "Euro"
3828
  msgstr ""
3829
 
3830
- #: admin/manage-fields.php:718
3831
  msgid "Falkland Islands (Malvinas) Pound"
3832
  msgstr ""
3833
 
3834
- #: admin/manage-fields.php:719
3835
  msgid "Fiji Dollar"
3836
  msgstr ""
3837
 
3838
- #: admin/manage-fields.php:720
3839
  msgid "Ghana Cedis"
3840
  msgstr ""
3841
 
3842
- #: admin/manage-fields.php:721
3843
  msgid "Gibraltar Pound"
3844
  msgstr ""
3845
 
3846
- #: admin/manage-fields.php:722
3847
  msgid "Guatemala Quetzal"
3848
  msgstr ""
3849
 
3850
- #: admin/manage-fields.php:723
3851
  msgid "Guernsey Pound"
3852
  msgstr ""
3853
 
3854
- #: admin/manage-fields.php:724
3855
  msgid "Guyana Dollar"
3856
  msgstr ""
3857
 
3858
- #: admin/manage-fields.php:725
3859
  msgid "Honduras Lempira"
3860
  msgstr ""
3861
 
3862
- #: admin/manage-fields.php:726
3863
  msgid "Hong Kong Dollar"
3864
  msgstr ""
3865
 
3866
- #: admin/manage-fields.php:727
3867
  msgid "Hungary Forint"
3868
  msgstr ""
3869
 
3870
- #: admin/manage-fields.php:728
3871
  msgid "Iceland Krona"
3872
  msgstr ""
3873
 
3874
- #: admin/manage-fields.php:729
3875
  msgid "India Rupee"
3876
  msgstr ""
3877
 
3878
- #: admin/manage-fields.php:730
3879
  msgid "Indonesia Rupiah"
3880
  msgstr ""
3881
 
3882
- #: admin/manage-fields.php:731
3883
  msgid "Iran Rial"
3884
  msgstr ""
3885
 
3886
- #: admin/manage-fields.php:732
3887
  msgid "Isle of Man Pound"
3888
  msgstr ""
3889
 
3890
- #: admin/manage-fields.php:733
3891
  msgid "Israel Shekel"
3892
  msgstr ""
3893
 
3894
- #: admin/manage-fields.php:734
3895
  msgid "Jamaica Dollar"
3896
  msgstr ""
3897
 
3898
- #: admin/manage-fields.php:735
3899
  msgid "Japan Yen"
3900
  msgstr ""
3901
 
3902
- #: admin/manage-fields.php:736
3903
  msgid "Jersey Pound"
3904
  msgstr ""
3905
 
3906
- #: admin/manage-fields.php:737
3907
  msgid "Kazakhstan Tenge"
3908
  msgstr ""
3909
 
3910
- #: admin/manage-fields.php:738
3911
  msgid "Korea (North) Won"
3912
  msgstr ""
3913
 
3914
- #: admin/manage-fields.php:739
3915
  msgid "Korea (South) Won"
3916
  msgstr ""
3917
 
3918
- #: admin/manage-fields.php:740
3919
  msgid "Kyrgyzstan Som"
3920
  msgstr ""
3921
 
3922
- #: admin/manage-fields.php:741
3923
  msgid "Laos Kip"
3924
  msgstr ""
3925
 
3926
- #: admin/manage-fields.php:742
3927
  msgid "Latvia Lat"
3928
  msgstr ""
3929
 
3930
- #: admin/manage-fields.php:743
3931
  msgid "Lebanon Pound"
3932
  msgstr ""
3933
 
3934
- #: admin/manage-fields.php:744
3935
  msgid "Liberia Dollar"
3936
  msgstr ""
3937
 
3938
- #: admin/manage-fields.php:745
3939
  msgid "Lithuania Litas"
3940
  msgstr ""
3941
 
3942
- #: admin/manage-fields.php:746
3943
  msgid "Macedonia Denar"
3944
  msgstr ""
3945
 
3946
- #: admin/manage-fields.php:747
3947
  msgid "Malaysia Ringgit"
3948
  msgstr ""
3949
 
3950
- #: admin/manage-fields.php:748
3951
  msgid "Mauritius Rupee"
3952
  msgstr ""
3953
 
3954
- #: admin/manage-fields.php:749
3955
  msgid "Mexico Peso"
3956
  msgstr ""
3957
 
3958
- #: admin/manage-fields.php:750
3959
  msgid "Mongolia Tughrik"
3960
  msgstr ""
3961
 
3962
- #: admin/manage-fields.php:751
3963
  msgid "Mozambique Metical"
3964
  msgstr ""
3965
 
3966
- #: admin/manage-fields.php:752
3967
  msgid "Namibia Dollar"
3968
  msgstr ""
3969
 
3970
- #: admin/manage-fields.php:753
3971
  msgid "Nepal Rupee"
3972
  msgstr ""
3973
 
3974
- #: admin/manage-fields.php:754
3975
  msgid "Netherlands Antilles Guilder"
3976
  msgstr ""
3977
 
3978
- #: admin/manage-fields.php:755
3979
  msgid "New Zealand Dollar"
3980
  msgstr ""
3981
 
3982
- #: admin/manage-fields.php:756
3983
  msgid "Nicaragua Cordoba"
3984
  msgstr ""
3985
 
3986
- #: admin/manage-fields.php:757
3987
  msgid "Nigeria Naira"
3988
  msgstr ""
3989
 
3990
- #: admin/manage-fields.php:758
3991
  msgid "Norway Krone"
3992
  msgstr ""
3993
 
3994
- #: admin/manage-fields.php:759
3995
  msgid "Oman Rial"
3996
  msgstr ""
3997
 
3998
- #: admin/manage-fields.php:760
3999
  msgid "Pakistan Rupee"
4000
  msgstr ""
4001
 
4002
- #: admin/manage-fields.php:761
4003
  msgid "Panama Balboa"
4004
  msgstr ""
4005
 
4006
- #: admin/manage-fields.php:762
4007
  msgid "Paraguay Guarani"
4008
  msgstr ""
4009
 
4010
- #: admin/manage-fields.php:763
4011
  msgid "Peru Nuevo Sol"
4012
  msgstr ""
4013
 
4014
- #: admin/manage-fields.php:764
4015
  msgid "Philippines Peso"
4016
  msgstr ""
4017
 
4018
- #: admin/manage-fields.php:765
4019
  msgid "Poland Zloty"
4020
  msgstr ""
4021
 
4022
- #: admin/manage-fields.php:766
4023
  msgid "Qatar Riyal"
4024
  msgstr ""
4025
 
4026
- #: admin/manage-fields.php:767
4027
  msgid "Romania New Leu"
4028
  msgstr ""
4029
 
4030
- #: admin/manage-fields.php:768
4031
  msgid "Russia Ruble"
4032
  msgstr ""
4033
 
4034
- #: admin/manage-fields.php:769
4035
  msgid "Saint Helena Pound"
4036
  msgstr ""
4037
 
4038
- #: admin/manage-fields.php:770
4039
  msgid "Saudi Arabia Riyal"
4040
  msgstr ""
4041
 
4042
- #: admin/manage-fields.php:771
4043
  msgid "Serbia Dinar"
4044
  msgstr ""
4045
 
4046
- #: admin/manage-fields.php:772
4047
  msgid "Seychelles Rupee"
4048
  msgstr ""
4049
 
4050
- #: admin/manage-fields.php:773
4051
  msgid "Singapore Dollar"
4052
  msgstr ""
4053
 
4054
- #: admin/manage-fields.php:774
4055
  msgid "Solomon Islands Dollar"
4056
  msgstr ""
4057
 
4058
- #: admin/manage-fields.php:775
4059
  msgid "Somalia Shilling"
4060
  msgstr ""
4061
 
4062
- #: admin/manage-fields.php:776
4063
  msgid "South Africa Rand"
4064
  msgstr ""
4065
 
4066
- #: admin/manage-fields.php:777
4067
  msgid "Sri Lanka Rupee"
4068
  msgstr ""
4069
 
4070
- #: admin/manage-fields.php:778
4071
  msgid "Sweden Krona"
4072
  msgstr ""
4073
 
4074
- #: admin/manage-fields.php:779
4075
  msgid "Switzerland Franc"
4076
  msgstr ""
4077
 
4078
- #: admin/manage-fields.php:780
4079
  msgid "Suriname Dollar"
4080
  msgstr ""
4081
 
4082
- #: admin/manage-fields.php:781
4083
  msgid "Syria Pound"
4084
  msgstr ""
4085
 
4086
- #: admin/manage-fields.php:782
4087
  msgid "Taiwan New Dollar"
4088
  msgstr ""
4089
 
4090
- #: admin/manage-fields.php:783
4091
  msgid "Thailand Baht"
4092
  msgstr ""
4093
 
4094
- #: admin/manage-fields.php:784
4095
  msgid "Trinidad and Tobago Dollar"
4096
  msgstr ""
4097
 
4098
- #: admin/manage-fields.php:785, admin/manage-fields.php:786
4099
  msgid "Turkey Lira"
4100
  msgstr ""
4101
 
4102
- #: admin/manage-fields.php:787
4103
  msgid "Tuvalu Dollar"
4104
  msgstr ""
4105
 
4106
- #: admin/manage-fields.php:788
4107
  msgid "Ukraine Hryvna"
4108
  msgstr ""
4109
 
4110
- #: admin/manage-fields.php:789
4111
  msgid "United Kingdom Pound"
4112
  msgstr ""
4113
 
4114
- #: admin/manage-fields.php:790
4115
  msgid "Uganda Shilling"
4116
  msgstr ""
4117
 
4118
- #: admin/manage-fields.php:791
4119
  msgid "US Dollar"
4120
  msgstr ""
4121
 
4122
- #: admin/manage-fields.php:792
4123
  msgid "Uruguay Peso"
4124
  msgstr ""
4125
 
4126
- #: admin/manage-fields.php:793
4127
  msgid "Uzbekistan Som"
4128
  msgstr ""
4129
 
4130
- #: admin/manage-fields.php:794
4131
  msgid "Venezuela Bolivar"
4132
  msgstr ""
4133
 
4134
- #: admin/manage-fields.php:795
4135
  msgid "Viet Nam Dong"
4136
  msgstr ""
4137
 
4138
- #: admin/manage-fields.php:796
4139
  msgid "Yemen Rial"
4140
  msgstr ""
4141
 
4142
- #: admin/manage-fields.php:797
4143
  msgid "Zimbabwe Dollar"
4144
  msgstr ""
4145
 
4146
- #: admin/manage-fields.php:1287
4147
  msgid ""
4148
  "That field is already added in this form\n"
4149
  ""
4150
  msgstr ""
4151
 
4152
- #: admin/manage-fields.php:1280, admin/manage-fields.php:1102
4153
  msgid ""
4154
  "You must select a field\n"
4155
  ""
4156
  msgstr ""
4157
 
4158
- #: admin/manage-fields.php:1112
4159
  msgid ""
4160
  "Please choose a different field type as this one already exists in your form (must be unique)\n"
4161
  ""
4162
  msgstr ""
4163
 
4164
- #: admin/manage-fields.php:1126
4165
  msgid ""
4166
  "The entered avatar size is not numerical\n"
4167
  ""
4168
  msgstr ""
4169
 
4170
- #: admin/manage-fields.php:1123
4171
  msgid ""
4172
  "The entered avatar size is not between 20 and 200\n"
4173
  ""
4174
  msgstr ""
4175
 
4176
- #: admin/manage-fields.php:1137
4177
  msgid ""
4178
  "You must enter a value for the row number\n"
4179
  ""
4180
  msgstr ""
4181
 
4182
- #: admin/manage-fields.php:1134
4183
  msgid ""
4184
  "The entered row number is not numerical\n"
4185
  ""
4186
  msgstr ""
4187
 
4188
- #: admin/manage-fields.php:1145
4189
  msgid ""
4190
  "You must enter the site key\n"
4191
  ""
4192
  msgstr ""
4193
 
4194
- #: admin/manage-fields.php:1147
4195
  msgid ""
4196
  "You must enter the secret key\n"
4197
  ""
4198
  msgstr ""
4199
 
4200
- #: admin/manage-fields.php:1169
4201
  msgid ""
4202
  "The entered value for the Datepicker is not a valid date-format\n"
4203
  ""
4204
  msgstr ""
4205
 
4206
- #: admin/manage-fields.php:1155
4207
  msgid ""
4208
  "You must enter a value for the date-format\n"
4209
  ""
4210
  msgstr ""
4211
 
4212
- #: admin/manage-fields.php:1188
4213
  msgid ""
4214
  "The meta-name cannot be empty\n"
4215
  ""
4216
  msgstr ""
4217
 
4218
- #: admin/manage-fields.php:1218, admin/manage-fields.php:1229
4219
  msgid ""
4220
  "That meta-name is already in use\n"
4221
  ""
4222
  msgstr ""
4223
 
4224
- #: admin/manage-fields.php:1210
4225
  msgid ""
4226
  "That meta-name can't be used, please choose another\n"
4227
  ""
4228
  msgstr ""
4229
 
4230
- #: admin/manage-fields.php:1240
4231
  msgid ""
4232
  "The meta-name can only contain lowercase letters, numbers, _ , - and no spaces.\n"
4233
  ""
4234
  msgstr ""
4235
 
4236
- #: admin/manage-fields.php:1264
4237
  msgid ""
4238
  "The following option did not coincide with the ones in the options list: %s\n"
4239
  ""
4240
  msgstr ""
4241
 
4242
- #: admin/manage-fields.php:1260
4243
  msgid ""
4244
  "The following option(s) did not coincide with the ones in the options list: %s\n"
4245
  ""
4246
  msgstr ""
4247
 
4248
- #: admin/manage-fields.php:1271
4249
  msgid ""
4250
  "Please select at least one user role\n"
4251
  ""
4252
  msgstr ""
4253
 
4254
- #: admin/manage-fields.php:1338
4255
  msgid "<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre>"
4256
  msgstr ""
4257
 
4258
- #: admin/manage-fields.php:1353
4259
  msgid "Use these shortcodes on the pages you want the forms to be displayed:"
4260
  msgstr ""
4261
 
4262
- #: admin/manage-fields.php:1364
4263
- msgid "With Profile Builder Pro you can display different fields in the registration and edit profile forms, using the Multiple Registration & Edit Profile Forms module."
4264
  msgstr ""
4265
 
4266
- #: admin/manage-fields.php:1362
4267
- msgid "If you're interested in displaying different fields in the registration and edit profile forms, please use the Multiple Registration & Edit Profile Forms Modules."
4268
  msgstr ""
4269
 
4270
- #: admin/manage-fields.php:1463
4271
  msgid "Search Location"
4272
  msgstr ""
4273
 
@@ -4311,6 +4221,18 @@ msgstr ""
4311
  msgid "Payment Management"
4312
  msgstr ""
4313
 
 
 
 
 
 
 
 
 
 
 
 
 
4314
  #: admin/pms-cross-promotion.php:84
4315
  msgid "Plugin is Active"
4316
  msgstr ""
@@ -4319,14 +4241,50 @@ msgstr ""
4319
  msgid "Plugin has been activated"
4320
  msgstr ""
4321
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4322
  #: admin/pms-cross-promotion.php:92
4323
  msgid "Plugin has been deactivated."
4324
  msgstr ""
4325
 
 
 
 
 
4326
  #: admin/pms-cross-promotion.php:105
4327
  msgid "Accept user payments, create subscription plans and restrict content on your website."
4328
  msgstr ""
4329
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4330
  #: admin/pms-cross-promotion.php:156
4331
  msgid "Step by Step Quick Setup"
4332
  msgstr ""
@@ -4359,7 +4317,7 @@ msgstr ""
4359
  msgid "Redirects to this page if not logged in. We recommend this page contains the [wppb-login] shortcode."
4360
  msgstr ""
4361
 
4362
- #: admin/private-website.php:93, modules/custom-redirects/custom_redirects_admin.php:253
4363
  msgid "You can force access to wp-login.php so you don't get locked out of the site by accessing the link:"
4364
  msgstr ""
4365
 
@@ -4399,7 +4357,7 @@ msgstr ""
4399
  msgid "Disable the WordPress REST-API for non-logged in users when Private Website is enabled"
4400
  msgstr ""
4401
 
4402
- #: admin/private-website.php:159, features/functions.php:942, ../pb-add-on-customization-toolbox/includes/views/view-admin.php:63, ../pb-add-on-customization-toolbox/includes/views/view-fields.php:293, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:321, ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:77, ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:91, features/content-restriction/content-restriction.php:162, modules/class-mustache-templates/class-mustache-templates.php:390, ../pb-add-on-labels-edit/assets/lib/wck-api/wordpress-creation-kit.php:402, assets/lib/wck-api/wordpress-creation-kit.php:405
4403
  msgid "Save Changes"
4404
  msgstr ""
4405
 
@@ -4487,55 +4445,55 @@ msgstr ""
4487
  msgid "I allow the website to collect and store the data I submit through this form."
4488
  msgstr ""
4489
 
4490
- #: features/functions.php:733
4491
  msgid "Strength indicator"
4492
  msgstr ""
4493
 
4494
- #: features/functions.php:759, features/functions.php:783
4495
  msgid "Very Weak"
4496
  msgstr ""
4497
 
4498
- #: features/functions.php:773
4499
  msgid "Minimum length of %d characters."
4500
  msgstr ""
4501
 
4502
- #: features/functions.php:784, front-end/recover.php:361, front-end/default-fields/password/password.php:56
4503
  msgid "The password must have a minimum strength of %s"
4504
  msgstr ""
4505
 
4506
- #: features/functions.php:861
4507
  msgid "This field is required"
4508
  msgstr ""
4509
 
4510
- #: features/functions.php:899, front-end/default-fields/recaptcha/recaptcha.php:524, front-end/default-fields/recaptcha/recaptcha.php:515, front-end/default-fields/recaptcha/recaptcha.php:580, front-end/default-fields/recaptcha/recaptcha.php:628
4511
  msgid "Please enter a (valid) reCAPTCHA value"
4512
  msgstr ""
4513
 
4514
- #: features/functions.php:906
4515
  msgid "Incorrect phone number"
4516
  msgstr ""
4517
 
4518
- #: features/functions.php:970, ../pb-add-on-labels-edit/assets/lib/wck-api/wordpress-creation-kit.php:444, assets/lib/wck-api/wordpress-creation-kit.php:447
4519
  msgid "Content"
4520
  msgstr ""
4521
 
4522
- #: features/functions.php:1152
4523
  msgid "<br><br>Also, you will be able to visit your site at "
4524
  msgstr ""
4525
 
4526
- #: features/functions.php:1165
4527
  msgid "<br><br>You can visit your site at "
4528
  msgstr ""
4529
 
4530
- #: features/functions.php:1251
4531
  msgid "You will soon be redirected automatically. If you see this page for more than %1$d seconds, please click %2$s.%3$s"
4532
  msgstr ""
4533
 
4534
- #: features/functions.php:1405
4535
  msgid "No feed available,please visit our <a href=\"%s\">homepage</a>!"
4536
  msgstr ""
4537
 
4538
- #: features/functions.php:1446
4539
  msgid "You are not currently logged in."
4540
  msgstr ""
4541
 
@@ -4595,6 +4553,10 @@ msgstr ""
4595
  msgid "Before you can access your account %1s, an administrator has to approve it. You will be notified via email."
4596
  msgstr ""
4597
 
 
 
 
 
4598
  #: front-end/class-formbuilder.php:441
4599
  msgid "Add User"
4600
  msgstr ""
@@ -4619,7 +4581,7 @@ msgstr ""
4619
  msgid "Something went wrong. Please try again!"
4620
  msgstr ""
4621
 
4622
- #: front-end/login.php:318, front-end/login.php:339, front-end/recover.php:18, front-end/recover.php:312, front-end/extra-fields/extra-fields.php:93
4623
  msgid "ERROR"
4624
  msgstr ""
4625
 
@@ -4783,7 +4745,7 @@ msgstr ""
4783
  msgid "Your email was successfully confirmed."
4784
  msgstr ""
4785
 
4786
- #: front-end/register.php:125, features/email-confirmation/email-confirmation.php:653
4787
  msgid "Before you can access your account, an administrator needs to approve it. You will be notified via email."
4788
  msgstr ""
4789
 
@@ -4791,2300 +4753,2348 @@ msgstr ""
4791
  msgid "This username is already activated!"
4792
  msgstr ""
4793
 
4794
- #: front-end/register.php:71, features/email-confirmation/email-confirmation.php:452
4795
  msgid "Could not create user!"
4796
  msgstr ""
4797
 
4798
- #: modules/modules.php:11, modules/modules.php:11, modules/modules.php:56
4799
- msgid "Modules"
4800
  msgstr ""
4801
 
4802
- #: modules/modules.php:57
4803
- msgid "Here you can activate / deactivate available modules for Profile Builder."
4804
  msgstr ""
4805
 
4806
- #: modules/modules.php:67
4807
- msgid "Name/Description"
4808
  msgstr ""
4809
 
4810
- #: modules/modules.php:68
4811
- msgid "Status"
4812
  msgstr ""
4813
 
4814
- #: modules/modules.php:75, modules/modules.php:82, modules/modules.php:89, modules/modules.php:101, modules/modules.php:108, modules/modules.php:115
4815
- msgid "Active"
4816
  msgstr ""
4817
 
4818
- #: modules/modules.php:76, modules/modules.php:83, modules/modules.php:90, modules/modules.php:102, modules/modules.php:109, modules/modules.php:116
4819
- msgid "Inactive"
4820
  msgstr ""
4821
 
4822
- #: ../pb-add-on-customization-toolbox/includes/fields/unique-display-name.php:19
4823
- msgid "This display name is already in use. Please choose another one."
4824
  msgstr ""
4825
 
4826
- #: ../pb-add-on-customization-toolbox/includes/shortcodes/resend-activation.php:5
4827
- msgid "Resend activation email"
4828
  msgstr ""
4829
 
4830
- #: ../pb-add-on-customization-toolbox/includes/views/view-admin.php:14
4831
- msgid "Allow users with the 'delete_users' capability to view the Admin Approval list"
4832
  msgstr ""
4833
 
4834
- #: ../pb-add-on-customization-toolbox/includes/views/view-admin.php:23
4835
- msgid "By checking this option, you will allow users that have the 'delete_users' capability to access and use the Admin Approval list."
4836
  msgstr ""
4837
 
4838
- #: ../pb-add-on-customization-toolbox/includes/views/view-admin.php:30
4839
- msgid "Allow users with the 'delete_users' capability to view the list of Unconfirmed Emails"
4840
  msgstr ""
4841
 
4842
- #: ../pb-add-on-customization-toolbox/includes/views/view-admin.php:39
4843
- msgid "By checking this option, you will allow users that have the 'delete_users' capability to see the list of Unconfirmed Email Addresses."
4844
  msgstr ""
4845
 
4846
- #: ../pb-add-on-customization-toolbox/includes/views/view-admin.php:46
4847
- msgid "Disable confirmation dialog for the {{approval_url}} or {{approval_link}} Email Customizer tags"
4848
  msgstr ""
4849
 
4850
- #: ../pb-add-on-customization-toolbox/includes/views/view-admin.php:55
4851
- msgid "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>."
4852
  msgstr ""
4853
 
4854
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:14
4855
- msgid "Automatically generate password for users"
4856
  msgstr ""
4857
 
4858
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:23
4859
- msgid "By checking this option, the password will be automatically generated and emailed to the user."
4860
  msgstr ""
4861
 
4862
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:30
4863
- msgid "Modify 'Send Credentials' checkbox"
4864
  msgstr ""
4865
 
4866
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:34
4867
- msgid "Hidden and checked"
4868
  msgstr ""
4869
 
4870
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:39
4871
- msgid "Field text:"
4872
  msgstr ""
4873
 
4874
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:49
4875
- msgid "By default, the user needs to choose if he wants to receive a registration email."
4876
  msgstr ""
4877
 
4878
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:52
4879
- msgid "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."
4880
  msgstr ""
4881
 
4882
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:55
4883
- msgid "If you choose to show the field, you can modify the default text by entering something in the field from above."
4884
  msgstr ""
4885
 
4886
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:62
4887
- msgid "Redirect users to a page if they have empty required fields"
4888
  msgstr ""
4889
 
4890
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:71
4891
- msgid "Redirect Page:"
4892
  msgstr ""
4893
 
4894
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:91
4895
- msgid "By activating this option, logged in users which have empty required fields on their profile will be redirected to the page you added above."
4896
  msgstr ""
4897
 
4898
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:94
4899
- msgid "For example, you can redirect these users to the Edit Profile form so they can add the missing info."
4900
  msgstr ""
4901
 
4902
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:101
4903
- msgid "Ban certain words from being used in fields"
4904
  msgstr ""
4905
 
4906
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:108, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:21
4907
- msgid "On"
4908
  msgstr ""
4909
 
4910
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:116
4911
- msgid "Affected fields:"
4912
  msgstr ""
4913
 
4914
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:140
4915
- msgid "Banned words:"
4916
  msgstr ""
4917
 
4918
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:159, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:66
4919
- msgid "Error message:"
4920
  msgstr ""
4921
 
4922
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:170
4923
- msgid "Allows you to define some words which users cannot use in their Username, First Name or Last Name when registering."
4924
  msgstr ""
4925
 
4926
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:177
4927
- msgid "Unique 'Display Name' for users"
4928
  msgstr ""
4929
 
4930
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:186
4931
- msgid "By checking this option, users will not be able to choose a <strong>Display Name</strong> that is already used by another account."
4932
  msgstr ""
4933
 
4934
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:193
4935
- msgid "Always capitalize 'First Name' and 'Last Name' default fields"
4936
  msgstr ""
4937
 
4938
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:202
4939
- msgid "If you have these fields in your forms, they will be always saved with the first letter as uppercase."
4940
  msgstr ""
4941
 
4942
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:205
4943
- msgid "eg.: <strong>John Doe</strong> instead of <strong>john doe</strong>"
4944
  msgstr ""
4945
 
4946
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:213
4947
- msgid "Datepicker starts on Monday"
4948
  msgstr ""
4949
 
4950
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:222
4951
- msgid "Will make all Datepickers use Monday as the first day of the week."
4952
  msgstr ""
4953
 
4954
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:236
4955
- msgid "Hide Repeater Fields from the back-end profile page"
4956
  msgstr ""
4957
 
4958
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:245
4959
- msgid "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."
4960
  msgstr ""
4961
 
4962
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:248
4963
- msgid "You will still be able to use them from a front-end edit profile form."
4964
  msgstr ""
4965
 
4966
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:257
4967
- msgid "Remove All Extra Fields from Backend edit profile page."
4968
  msgstr ""
4969
 
4970
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:266
4971
- msgid "If you activate this option, it will remove all custom fields from the backend profile page created with Profile Builder."
4972
  msgstr ""
4973
 
4974
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:275
4975
- msgid "Update database entries when changing meta key"
4976
  msgstr ""
4977
 
4978
- #: ../pb-add-on-customization-toolbox/includes/views/view-fields.php:284
4979
- msgid "If you activate this option, when changing the meta key of a field, existing entries from the database will be updated as well."
4980
  msgstr ""
4981
 
4982
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:14
4983
- msgid "Allow or deny email domains from registering"
4984
  msgstr ""
4985
 
4986
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:29
4987
- msgid "Type:"
4988
  msgstr ""
4989
 
4990
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:34
4991
- msgid "Allow"
4992
  msgstr ""
4993
 
4994
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:40
4995
- msgid "Deny"
4996
  msgstr ""
4997
 
4998
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:47
4999
- msgid "Restricted domains:"
 
 
 
 
5000
  msgstr ""
5001
 
5002
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:77
5003
- msgid "This option lets you allow registrations only from certain domains or deny registrations from certain domains."
5004
  msgstr ""
5005
 
5006
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:80
5007
- msgid "You should add only the domain in the list from above. eg.: gmail.com"
5008
  msgstr ""
5009
 
5010
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:92
5011
- msgid "Forms that should bypass Email Confirmation"
5012
  msgstr ""
5013
 
5014
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:119
5015
- msgid "Users registering through any of the selected forms will not need to confirm their email address."
5016
  msgstr ""
5017
 
5018
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:128
5019
- msgid "Disable Email Confirmation for Social Connect registrations"
 
 
 
 
 
5020
  msgstr ""
5021
 
5022
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:137
5023
- msgid "If checked, will allow users that register through the Social Connect add-on to bypass the Email Confirmation feature."
5024
  msgstr ""
5025
 
5026
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:145
5027
- msgid "Remember me checked by default"
 
 
5028
  msgstr ""
5029
 
5030
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:154
5031
- msgid "Check the 'Remember Me' checkbox on Login forms, by default."
5032
  msgstr ""
5033
 
5034
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:160
5035
- msgid "Remove validation from back-end profile page"
 
 
 
 
 
 
5036
  msgstr ""
5037
 
5038
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:169
5039
- msgid "When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute"
5040
  msgstr ""
5041
 
5042
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:180
5043
- msgid "Always show edit other users dropdown"
5044
  msgstr ""
5045
 
5046
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:189
5047
- msgid "For perfomance reasons, we disable the select if you have more than 5000 users on your website. This option lets you enable it again."
5048
  msgstr ""
5049
 
5050
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:197
5051
- msgid "Consider 'Anyone can Register' WordPress option"
5052
  msgstr ""
5053
 
5054
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:207
5055
- msgid "setting"
5056
  msgstr ""
5057
 
5058
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:209
5059
- msgid "By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it."
5060
  msgstr ""
5061
 
5062
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:217
5063
- msgid "Modify default Redirect Delay timer"
5064
  msgstr ""
5065
 
5066
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:224
5067
- msgid "This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen."
5068
  msgstr ""
5069
 
5070
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:227
5071
- msgid "The default is 3 seconds. Leave empty if you do not want to change it."
5072
  msgstr ""
5073
 
5074
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:235
5075
- msgid "Save Admin Approval status in usermeta"
5076
  msgstr ""
5077
 
5078
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:244
5079
- msgid "By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user."
5080
  msgstr ""
5081
 
5082
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:247
5083
- 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."
5084
  msgstr ""
5085
 
5086
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:256
5087
- msgid "Redirect '/author' page if user is not approved"
5088
  msgstr ""
5089
 
5090
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:265
5091
- msgid "By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible."
5092
  msgstr ""
5093
 
5094
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:268
5095
- msgid "Using this option you can redirect these pages, sending users who try to access them to your home page."
5096
  msgstr ""
5097
 
5098
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:276
5099
- msgid "Save 'Last Login' date in usermeta"
5100
  msgstr ""
5101
 
5102
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:285
5103
- msgid "By checking this option, each time a user logins, the date and time will be saved in the database."
5104
  msgstr ""
5105
 
5106
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:288
5107
- msgid "The meta name for the field will be <strong>last_login_date</strong>."
5108
  msgstr ""
5109
 
5110
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:291, ../pb-add-on-customization-toolbox/includes/views/view-forms.php:313
5111
- 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."
5112
  msgstr ""
5113
 
5114
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:298
5115
- msgid "Save 'Last Profile Update' date in usermeta"
5116
  msgstr ""
5117
 
5118
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:307
5119
- msgid "By checking this option, each time a modifies his profile the date and time will be saved in the database."
5120
  msgstr ""
5121
 
5122
- #: ../pb-add-on-customization-toolbox/includes/views/view-forms.php:310
5123
- msgid "The meta name for the field will be <strong>last_profile_update_date</strong>."
5124
  msgstr ""
5125
 
5126
- #: ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:12
5127
- msgid "Enable Compare shortcode"
5128
  msgstr ""
5129
 
5130
- #: ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:21
5131
- msgid "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>."
5132
  msgstr ""
5133
 
5134
- #: ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:28
5135
- msgid "Enable Usermeta shortcode"
5136
  msgstr ""
5137
 
5138
- #: ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:37
5139
- msgid "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>."
5140
  msgstr ""
5141
 
5142
- #: ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:44
5143
- msgid "Enable Resend Activation Email shortcode"
5144
  msgstr ""
5145
 
5146
- #: ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:53
5147
- msgid "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>."
 
 
 
5148
  msgstr ""
5149
 
5150
- #: ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:60
5151
- msgid "Enable Format Date shortcode"
 
 
 
 
5152
  msgstr ""
5153
 
5154
- #: ../pb-add-on-customization-toolbox/includes/views/view-shortcodes.php:69
5155
- msgid "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>."
5156
  msgstr ""
5157
 
5158
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:12
5159
- msgid "Change placeholder text for Search box"
5160
  msgstr ""
5161
 
5162
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:19
5163
- msgid "This refers to the placeholder text from the <strong>{{{extra_search_all_fields}}}</strong> tag."
 
 
 
 
5164
  msgstr ""
5165
 
5166
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:22
5167
- msgid "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."
5168
  msgstr ""
5169
 
5170
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:29
5171
- msgid "Modify base URL for Single Userlisting"
 
 
 
5172
  msgstr ""
5173
 
5174
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:37
5175
- msgid "By default Single Userlisting URLs contain the word <strong>user</strong>. eg.: "
5176
  msgstr ""
5177
 
5178
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:42
5179
- msgid "Using this option, you can change the word <strong>user</strong> to something else. Leave empty if you do not want to change it."
5180
  msgstr ""
5181
 
5182
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:49
5183
- msgid "Make the Single Userlisting URLs work with user nicename"
 
 
 
5184
  msgstr ""
5185
 
5186
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:59
5187
- msgid "By default Single Userlisting URLs are generated using the users ID. eg.: "
5188
  msgstr ""
5189
 
5190
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:64
5191
- msgid "With this option activated, the URLs will be generated using the users <strong>nicename</strong>."
5192
  msgstr ""
5193
 
5194
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:71
5195
- msgid "Remove repetition counts from Faceted Menus"
 
 
 
 
 
 
5196
  msgstr ""
5197
 
5198
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:80
5199
- msgid "The number of users that share a particular value is shown for the Select and Checkbox facet types."
5200
  msgstr ""
5201
 
5202
- #: ../pb-add-on-customization-toolbox/includes/views/view-userlisting.php:83
5203
- msgid "If you enable this option they will be hidden."
5204
  msgstr ""
5205
 
5206
- #: assets/misc/plugin-compatibilities.php:237
5207
- msgid "Your account has to be confirmed by an administrator before you can log in."
 
 
5208
  msgstr ""
5209
 
5210
- #: features/admin-approval/admin-approval.php:15, features/admin-approval/class-admin-approval.php:460, features/admin-approval/class-admin-approval.php:528
5211
- msgid "Admin Approval"
5212
  msgstr ""
5213
 
5214
- #: features/admin-approval/admin-approval.php:29, features/email-confirmation/email-confirmation.php:60
5215
- msgid "Do you want to"
5216
  msgstr ""
5217
 
5218
- #: features/admin-approval/admin-approval.php:52, features/admin-approval/admin-approval.php:100
5219
- msgid "Your session has expired! Please refresh the page and try again."
 
 
 
 
 
 
 
5220
  msgstr ""
5221
 
5222
- #: features/admin-approval/admin-approval.php:89, features/admin-approval/admin-approval.php:135, features/email-confirmation/email-confirmation.php:134
5223
- msgid "You either don't have permission for that action or there was an error!"
5224
  msgstr ""
5225
 
5226
- #: features/admin-approval/admin-approval.php:84
5227
- msgid "User successfully deleted!"
5228
  msgstr ""
5229
 
5230
- #: features/admin-approval/admin-approval.php:78
5231
- msgid "User successfully unapproved!"
 
 
 
 
 
5232
  msgstr ""
5233
 
5234
- #: features/admin-approval/admin-approval.php:68, features/admin-approval/admin-approval.php:344
5235
- msgid "User successfully approved!"
5236
  msgstr ""
5237
 
5238
- #: features/admin-approval/admin-approval.php:131
5239
- msgid "Users successfully deleted!"
5240
  msgstr ""
5241
 
5242
- #: features/admin-approval/admin-approval.php:123
5243
- msgid "Users successfully unapproved!"
5244
  msgstr ""
5245
 
5246
- #: features/admin-approval/admin-approval.php:113
5247
- msgid "Users successfully approved!"
5248
  msgstr ""
5249
 
5250
- #: features/admin-approval/admin-approval.php:159
5251
- msgid "Your account on %1$s has been unapproved!"
5252
  msgstr ""
5253
 
5254
- #: features/admin-approval/admin-approval.php:160, features/admin-approval/admin-approval.php:163
5255
- msgid "unapproved"
5256
  msgstr ""
5257
 
5258
- #: features/admin-approval/admin-approval.php:162
5259
- msgid "An administrator has just unapproved your account on %1$s (%2$s)."
5260
  msgstr ""
5261
 
5262
- #: features/admin-approval/admin-approval.php:151
5263
- msgid "Your account on %1$s has been approved!"
5264
  msgstr ""
5265
 
5266
- #: features/admin-approval/admin-approval.php:152, features/admin-approval/admin-approval.php:155
5267
- msgid "approved"
5268
  msgstr ""
5269
 
5270
- #: features/admin-approval/admin-approval.php:154
5271
- msgid "An administrator has just approved your account on %1$s (%2$s)."
5272
  msgstr ""
5273
 
5274
- #: features/admin-approval/admin-approval.php:193
5275
- msgid "Your account has to be confirmed by an administrator before you can use the \"Password Recovery\" feature."
5276
  msgstr ""
5277
 
5278
- #: features/admin-approval/admin-approval.php:228
5279
- msgid "Your account has been successfully created!"
5280
  msgstr ""
5281
 
5282
- #: features/admin-approval/admin-approval.php:302
5283
- msgid "Something went wrong!"
5284
  msgstr ""
5285
 
5286
- #: features/admin-approval/admin-approval.php:298
5287
- msgid "User not approved!"
5288
  msgstr ""
5289
 
5290
- #: features/admin-approval/admin-approval.php:283
5291
- msgid "Do you wish to approve the registration?"
5292
  msgstr ""
5293
 
5294
- #: features/admin-approval/admin-approval.php:323
5295
- msgid "The approval link is not valid! Please <a href=\"%s\"> log in </a> to approve the user manually. "
5296
  msgstr ""
5297
 
5298
- #: features/admin-approval/class-admin-approval.php:113
5299
- msgid "delete this user?"
5300
  msgstr ""
5301
 
5302
- #: features/admin-approval/class-admin-approval.php:118
5303
- msgid "approve this user?"
5304
  msgstr ""
5305
 
5306
- #: features/admin-approval/class-admin-approval.php:118, features/admin-approval/class-admin-approval.php:222
5307
- msgid "Approve"
5308
  msgstr ""
5309
 
5310
- #: features/admin-approval/class-admin-approval.php:116
5311
- msgid "unapprove this user?"
5312
  msgstr ""
5313
 
5314
- #: features/admin-approval/class-admin-approval.php:116, features/admin-approval/class-admin-approval.php:223
5315
- msgid "Unapprove"
5316
  msgstr ""
5317
 
5318
- #: features/admin-approval/class-admin-approval.php:167, modules/user-listing/userlisting.php:313, modules/user-listing/userlisting.php:819, modules/user-listing/userlisting.php:2374
5319
- msgid "Firstname"
5320
  msgstr ""
5321
 
5322
- #: features/admin-approval/class-admin-approval.php:168, modules/user-listing/userlisting.php:822, modules/user-listing/userlisting.php:2375
5323
- msgid "Lastname"
5324
  msgstr ""
5325
 
5326
- #: features/admin-approval/class-admin-approval.php:170, features/roles-editor/roles-editor.php:256, modules/user-listing/userlisting.php:160, modules/user-listing/userlisting.php:314, modules/user-listing/userlisting.php:849, modules/user-listing/userlisting.php:2379
5327
- msgid "Role"
5328
  msgstr ""
5329
 
5330
- #: features/admin-approval/class-admin-approval.php:171, features/email-confirmation/class-email-confirmation.php:170
5331
- msgid "Registered"
5332
  msgstr ""
5333
 
5334
- #: features/admin-approval/class-admin-approval.php:172
5335
- msgid "User-status"
5336
  msgstr ""
5337
 
5338
- #: features/admin-approval/class-admin-approval.php:274, features/email-confirmation/class-email-confirmation.php:279
5339
- msgid "Sorry, but you don't have permission to do that!"
5340
  msgstr ""
5341
 
5342
- #: features/admin-approval/class-admin-approval.php:266
5343
- msgid "Do you want to bulk delete the selected users?"
5344
  msgstr ""
5345
 
5346
- #: features/admin-approval/class-admin-approval.php:260
5347
- msgid "Do you want to bulk unapprove the selected users?"
5348
  msgstr ""
5349
 
5350
- #: features/admin-approval/class-admin-approval.php:252
5351
- msgid "Do you want to bulk approve the selected users?"
5352
  msgstr ""
5353
 
5354
- #: features/admin-approval/class-admin-approval.php:346
5355
- msgid "Unapproved"
5356
  msgstr ""
5357
 
5358
- #: features/admin-approval/class-admin-approval.php:344
5359
- msgid "Approved"
5360
  msgstr ""
5361
 
5362
- #: features/admin-approval/class-admin-approval.php:463, features/email-confirmation/class-email-confirmation.php:461
5363
- msgid "All Users"
5364
  msgstr ""
5365
 
5366
- #: features/conditional-fields/conditional-fields.php:84
5367
- msgid "Conditional Logic"
5368
  msgstr ""
5369
 
5370
- #: features/conditional-fields/conditional-fields.php:85
5371
- msgid "Conditional Rules"
5372
  msgstr ""
5373
 
5374
- #: features/conditional-fields/conditional-fields.php:569
5375
- msgid "This field has conditional logic enabled."
5376
  msgstr ""
5377
 
5378
- #: features/content-restriction/class-elementor-content-restriction.php:77, features/content-restriction/content-restriction-meta-box.php:19
5379
- msgid "Profile Builder Content Restriction"
5380
  msgstr ""
5381
 
5382
- #: features/content-restriction/class-elementor-content-restriction.php:90
5383
- msgid "Restrict to logged in users"
5384
  msgstr ""
5385
 
5386
- #: features/content-restriction/class-elementor-content-restriction.php:92
5387
- msgid "Allow only logged in users to see this content."
5388
  msgstr ""
5389
 
5390
- #: features/content-restriction/class-elementor-content-restriction.php:98
5391
- msgid "Restrict by User Roles"
5392
  msgstr ""
5393
 
5394
- #: features/content-restriction/class-elementor-content-restriction.php:110
5395
- msgid "Allow users which have the specified role to see this content."
5396
  msgstr ""
5397
 
5398
- #: features/content-restriction/class-elementor-content-restriction.php:116, features/content-restriction/content-restriction-meta-box.php:120
5399
- msgid "Restriction Messages"
5400
  msgstr ""
5401
 
5402
- #: features/content-restriction/class-elementor-content-restriction.php:124
5403
- msgid "Enable Restriction Messages"
5404
  msgstr ""
5405
 
5406
- #: features/content-restriction/class-elementor-content-restriction.php:126
5407
- msgid "Replace hidden content with the default messages from PB -> Settings -> Content Restriction, a custom message or an Elementor Template."
5408
  msgstr ""
5409
 
5410
- #: features/content-restriction/class-elementor-content-restriction.php:132, features/content-restriction/content-restriction-meta-box.php:126
5411
- msgid "Enable Custom Messages"
5412
  msgstr ""
5413
 
5414
- #: features/content-restriction/class-elementor-content-restriction.php:134
5415
- msgid "Add a custom message or template."
5416
  msgstr ""
5417
 
5418
- #: features/content-restriction/class-elementor-content-restriction.php:143
5419
- msgid "Content type"
5420
  msgstr ""
5421
 
5422
- #: features/content-restriction/class-elementor-content-restriction.php:147
5423
- msgid "Text"
5424
  msgstr ""
5425
 
5426
- #: features/content-restriction/class-elementor-content-restriction.php:151
5427
- msgid "Template"
5428
  msgstr ""
5429
 
5430
- #: features/content-restriction/class-elementor-content-restriction.php:168
5431
- msgid "Select Template"
5432
  msgstr ""
5433
 
5434
- #: features/content-restriction/content-restriction-filtering.php:351
5435
- msgid "You must be logged in to view the comments."
5436
  msgstr ""
5437
 
5438
- #: features/content-restriction/content-restriction-filtering.php:349
5439
- msgid "Comments are restricted for your user role."
5440
  msgstr ""
5441
 
5442
- #: features/content-restriction/content-restriction-functions.php:47
5443
- msgid "This content is restricted for your user role."
5444
  msgstr ""
5445
 
5446
- #: features/content-restriction/content-restriction-functions.php:45
5447
- msgid "You must be logged in to view this content."
5448
  msgstr ""
5449
 
5450
- #: features/content-restriction/content-restriction-meta-box.php:33
5451
- msgid "Display Options"
5452
  msgstr ""
5453
 
5454
- #: features/content-restriction/content-restriction-meta-box.php:37, features/content-restriction/content-restriction.php:101
5455
- msgid "Message"
5456
  msgstr ""
5457
 
5458
- #: features/content-restriction/content-restriction-meta-box.php:37, features/content-restriction/content-restriction.php:106, modules/multiple-forms/edit-profile-forms.php:206, modules/multiple-forms/register-forms.php:230
5459
- msgid "Redirect"
5460
  msgstr ""
5461
 
5462
- #: features/content-restriction/content-restriction-meta-box.php:42, features/content-restriction/content-restriction.php:96
5463
- msgid "Type of Restriction"
5464
  msgstr ""
5465
 
5466
- #: features/content-restriction/content-restriction-meta-box.php:46
5467
- msgid "Settings Default"
5468
  msgstr ""
5469
 
5470
- #: features/content-restriction/content-restriction-meta-box.php:58
5471
- msgid "Display For"
5472
  msgstr ""
5473
 
5474
- #: features/content-restriction/content-restriction-meta-box.php:82
5475
- msgid "Checking only \"Logged In Users\" will show this %s to all logged in users, regardless of user role."
5476
  msgstr ""
5477
 
5478
- #: features/content-restriction/content-restriction-meta-box.php:86
5479
- msgid "Checking any user role will show this %s only to users that have one of those user roles assigned."
5480
  msgstr ""
5481
 
5482
- #: features/content-restriction/content-restriction-meta-box.php:93
5483
- msgid "Restriction Redirect URL"
5484
  msgstr ""
5485
 
5486
- #: features/content-restriction/content-restriction-meta-box.php:99
5487
- msgid "Enable Custom Redirect URL"
5488
  msgstr ""
5489
 
5490
- #: features/content-restriction/content-restriction-meta-box.php:103
5491
- msgid "Check if you wish to add a custom redirect URL for this %s."
5492
  msgstr ""
5493
 
5494
- #: features/content-restriction/content-restriction-meta-box.php:110
5495
- msgid "Custom Redirect URL"
5496
  msgstr ""
5497
 
5498
- #: features/content-restriction/content-restriction-meta-box.php:114
5499
- msgid "Add a URL where you wish to redirect users that do not have access to this %s and try to access it directly."
5500
  msgstr ""
5501
 
5502
- #: features/content-restriction/content-restriction-meta-box.php:130
5503
- msgid "Check if you wish to add custom messages for this %s."
5504
  msgstr ""
5505
 
5506
- #: features/content-restriction/content-restriction-meta-box.php:137
5507
- msgid "Messages for logged-out users"
5508
  msgstr ""
5509
 
5510
- #: features/content-restriction/content-restriction-meta-box.php:140
5511
- msgid "Messages for logged-in users"
5512
  msgstr ""
5513
 
5514
- #: features/content-restriction/content-restriction.php:63
5515
- msgid "Content Restriction Settings"
5516
  msgstr ""
5517
 
5518
- #: features/content-restriction/content-restriction.php:85
5519
- msgid "Enable Content Restriction"
5520
  msgstr ""
5521
 
5522
- #: features/content-restriction/content-restriction.php:91
5523
- msgid "Activate Content Restriction"
5524
  msgstr ""
5525
 
5526
- #: features/content-restriction/content-restriction.php:109
5527
- msgid "If you select \"Message\", the post's content will be protected by being replaced with a custom message."
5528
  msgstr ""
5529
 
5530
- #: features/content-restriction/content-restriction.php:110
5531
- msgid "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."
5532
  msgstr ""
5533
 
5534
- #: features/content-restriction/content-restriction.php:115, modules/custom-redirects/custom_redirects_admin.php:68, modules/custom-redirects/custom_redirects_admin.php:98, modules/custom-redirects/custom_redirects_admin.php:117, modules/custom-redirects/custom_redirects_admin.php:142
5535
- msgid "Redirect URL"
5536
  msgstr ""
5537
 
5538
- #: features/content-restriction/content-restriction.php:120
5539
- msgid "Message for logged-out users"
5540
  msgstr ""
5541
 
5542
- #: features/content-restriction/content-restriction.php:125
5543
- msgid "Message for logged-in users"
5544
  msgstr ""
5545
 
5546
- #: features/content-restriction/content-restriction.php:130
5547
- msgid "Restricted Posts Preview"
5548
  msgstr ""
5549
 
5550
- #: features/content-restriction/content-restriction.php:145
5551
- msgid "Show the first %s words of the post's content"
5552
  msgstr ""
5553
 
5554
- #: features/content-restriction/content-restriction.php:153
5555
- msgid "Show the content before the \"more\" tag"
5556
  msgstr ""
5557
 
5558
- #: features/content-restriction/content-restriction.php:157
5559
- msgid "Show a portion of the restricted post to logged-out users or users that are not allowed to see it."
5560
  msgstr ""
5561
 
5562
- #: features/email-confirmation/class-email-confirmation.php:92, features/email-confirmation/class-email-confirmation.php:171
5563
- msgid "User Meta"
5564
  msgstr ""
5565
 
5566
- #: features/email-confirmation/class-email-confirmation.php:92
5567
- msgid "show"
5568
  msgstr ""
5569
 
5570
- #: features/email-confirmation/class-email-confirmation.php:121
5571
- msgid "delete this user from the _signups table?"
5572
  msgstr ""
5573
 
5574
- #: features/email-confirmation/class-email-confirmation.php:122
5575
- msgid "confirm this email yourself?"
5576
  msgstr ""
5577
 
5578
- #: features/email-confirmation/class-email-confirmation.php:122, features/email-confirmation/class-email-confirmation.php:219
5579
- msgid "Confirm Email"
5580
  msgstr ""
5581
 
5582
- #: features/email-confirmation/class-email-confirmation.php:123
5583
- msgid "resend the activation link?"
5584
  msgstr ""
5585
 
5586
- #: features/email-confirmation/class-email-confirmation.php:123, features/email-confirmation/class-email-confirmation.php:220
5587
- msgid "Resend Activation Email"
5588
  msgstr ""
5589
 
5590
- #: features/email-confirmation/class-email-confirmation.php:275
5591
- msgid "The selected users have had their activation emails resent"
5592
  msgstr ""
5593
 
5594
- #: features/email-confirmation/class-email-confirmation.php:264
5595
- msgid "The selected users have been activated"
5596
  msgstr ""
5597
 
5598
- #: features/email-confirmation/class-email-confirmation.php:250
5599
- msgid "%s couldn't be deleted"
5600
  msgstr ""
5601
 
5602
- #: features/email-confirmation/class-email-confirmation.php:254
5603
- msgid "All users have been successfully deleted"
5604
  msgstr ""
5605
 
5606
- #: features/email-confirmation/class-email-confirmation.php:458, features/email-confirmation/class-email-confirmation.php:498, features/email-confirmation/email-confirmation.php:49
5607
- msgid "Users with Unconfirmed Email Address"
5608
  msgstr ""
5609
 
5610
- #: features/email-confirmation/email-confirmation.php:128
5611
- msgid "Email notification resent to user"
5612
  msgstr ""
5613
 
5614
- #: features/email-confirmation/email-confirmation.php:117
5615
- msgid "The selected user couldn't be deleted"
5616
  msgstr ""
5617
 
5618
- #: features/email-confirmation/email-confirmation.php:109
5619
- msgid "There was an error performing that action!"
5620
  msgstr ""
5621
 
5622
- #: features/email-confirmation/email-confirmation.php:408
5623
- msgid "[%1$s] Activate %2$s"
5624
  msgstr ""
5625
 
5626
- #: features/email-confirmation/email-confirmation.php:411
5627
- 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."
5628
  msgstr ""
5629
 
5630
- #: features/email-confirmation/email-confirmation.php:478
5631
- msgid "There was an error while trying to activate the user"
5632
  msgstr ""
5633
 
5634
- #: features/email-confirmation/email-confirmation.php:455
5635
- msgid "That username is already activated!"
5636
  msgstr ""
5637
 
5638
- #: features/email-confirmation/email-confirmation.php:526, modules/email-customizer/admin-email-customizer.php:84
5639
- msgid "A new subscriber has (been) registered!"
5640
  msgstr ""
5641
 
5642
- #: features/email-confirmation/email-confirmation.php:529
5643
- msgid "New subscriber on %1$s.<br/><br/>Username:%2$s<br/>Email:%3$s<br/>"
5644
  msgstr ""
5645
 
5646
- #: features/email-confirmation/email-confirmation.php:580
5647
- msgid "[%1$s] Your new account information"
5648
  msgstr ""
5649
 
5650
- #: features/email-confirmation/email-confirmation.php:584, modules/email-customizer/email-customizer.php:583, modules/email-customizer/email-customizer.php:590, modules/email-customizer/email-customizer.php:604
5651
- msgid "Your selected password at signup"
5652
  msgstr ""
5653
 
5654
- #: features/email-confirmation/email-confirmation.php:592
5655
- 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 "
5656
  msgstr ""
5657
 
5658
- #: features/email-confirmation/email-confirmation.php:590
5659
- 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 "
5660
  msgstr ""
5661
 
5662
- #: features/email-confirmation/email-confirmation.php:645
5663
- 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!"
5664
  msgstr ""
5665
 
5666
- #: features/login-widget/login-widget.php:12
5667
- msgid "This login widget lets you add a login form in the sidebar."
5668
  msgstr ""
5669
 
5670
- #: features/login-widget/login-widget.php:17
5671
- msgid "Profile Builder Login Widget"
5672
  msgstr ""
5673
 
5674
- #: features/login-widget/login-widget.php:65
5675
- msgid "Title:"
5676
  msgstr ""
5677
 
5678
- #: features/login-widget/login-widget.php:70
5679
- msgid "After login redirect URL (optional):"
5680
  msgstr ""
5681
 
5682
- #: features/login-widget/login-widget.php:75
5683
- msgid "Register page URL (optional):"
5684
  msgstr ""
5685
 
5686
- #: features/login-widget/login-widget.php:80
5687
- msgid "Password Recovery page URL (optional):"
5688
  msgstr ""
5689
 
5690
- #: features/roles-editor/roles-editor.php:183
5691
- msgid "Capability"
5692
  msgstr ""
5693
 
5694
- #: features/roles-editor/roles-editor.php:184
5695
- msgid "You can't delete this capability from your role."
5696
  msgstr ""
5697
 
5698
- #: features/roles-editor/roles-editor.php:247, features/roles-editor/roles-editor.php:248
5699
- msgid "Add New Role"
5700
  msgstr ""
5701
 
5702
- #: features/roles-editor/roles-editor.php:249
5703
- msgid "Edit Role"
5704
  msgstr ""
5705
 
5706
- #: features/roles-editor/roles-editor.php:250
5707
- msgid "New Role"
5708
  msgstr ""
5709
 
5710
- #: features/roles-editor/roles-editor.php:252
5711
- msgid "View Role"
5712
  msgstr ""
5713
 
5714
- #: features/roles-editor/roles-editor.php:253
5715
- msgid "Search the Roles Editor"
5716
  msgstr ""
5717
 
5718
- #: features/roles-editor/roles-editor.php:254
5719
- msgid "No roles found"
5720
  msgstr ""
5721
 
5722
- #: features/roles-editor/roles-editor.php:255
5723
- msgid "No roles found in trash"
5724
  msgstr ""
5725
 
5726
- #: features/roles-editor/roles-editor.php:297, features/roles-editor/roles-editor.php:300
5727
- msgid "Role updated."
5728
  msgstr ""
5729
 
5730
- #: features/roles-editor/roles-editor.php:298
5731
- msgid "Custom field updated."
5732
  msgstr ""
5733
 
5734
- #: features/roles-editor/roles-editor.php:299
5735
- msgid "Custom field deleted."
5736
  msgstr ""
5737
 
5738
- #: features/roles-editor/roles-editor.php:302
5739
- msgid "Role created."
5740
  msgstr ""
5741
 
5742
- #: features/roles-editor/roles-editor.php:303
5743
- msgid "Role saved."
5744
  msgstr ""
5745
 
5746
- #: features/roles-editor/roles-editor.php:304
5747
- msgid "Role submitted."
5748
  msgstr ""
5749
 
5750
- #: features/roles-editor/roles-editor.php:305
5751
- msgid "Role scheduled for: <strong>%1$s</strong>"
5752
  msgstr ""
5753
 
5754
- #: features/roles-editor/roles-editor.php:306
5755
- msgid "Role draft updated."
5756
  msgstr ""
5757
 
5758
- #: features/roles-editor/roles-editor.php:365
5759
- msgid "Role Name"
5760
  msgstr ""
5761
 
5762
- #: features/roles-editor/roles-editor.php:366, modules/user-listing/userlisting.php:161
5763
- msgid "Role Slug"
5764
  msgstr ""
5765
 
5766
- #: features/roles-editor/roles-editor.php:367
5767
- msgid "Capabilities"
5768
  msgstr ""
5769
 
5770
- #: features/roles-editor/roles-editor.php:368
5771
- msgid "Users"
5772
  msgstr ""
5773
 
5774
- #: features/roles-editor/roles-editor.php:877
5775
- msgid "Clone"
5776
  msgstr ""
5777
 
5778
- #: features/roles-editor/roles-editor.php:892
5779
- msgid "Change Default"
5780
  msgstr ""
5781
 
5782
- #: features/roles-editor/roles-editor.php:893
5783
- msgid "You can't delete the default role. Change it first."
5784
  msgstr ""
5785
 
5786
- #: features/roles-editor/roles-editor.php:884
5787
- msgid "You can't delete your role."
5788
  msgstr ""
5789
 
5790
- #: features/roles-editor/roles-editor.php:1117
5791
- msgid "Edit User Roles"
5792
  msgstr ""
5793
 
5794
- #: features/upgrades/upgrades-functions.php:136, features/upgrades/upgrades-functions.php:93
5795
- msgid "The usernames cannot be changed."
5796
  msgstr ""
5797
 
5798
- #: modules/custom-redirects/custom_redirects_admin.php:49
5799
- msgid "After Login"
5800
  msgstr ""
5801
 
5802
- #: modules/custom-redirects/custom_redirects_admin.php:50
5803
- msgid "After Logout"
5804
  msgstr ""
5805
 
5806
- #: modules/custom-redirects/custom_redirects_admin.php:51
5807
- msgid "After Registration"
5808
  msgstr ""
5809
 
5810
- #: modules/custom-redirects/custom_redirects_admin.php:52
5811
- msgid "After Edit Profile"
5812
  msgstr ""
5813
 
5814
- #: modules/custom-redirects/custom_redirects_admin.php:53
5815
- msgid "After Successful Email Confirmation"
5816
  msgstr ""
5817
 
5818
- #: modules/custom-redirects/custom_redirects_admin.php:54
5819
- msgid "After Successful Password Reset"
5820
  msgstr ""
5821
 
5822
- #: modules/custom-redirects/custom_redirects_admin.php:55
5823
- msgid "Dashboard (redirect users from accessing the dashboard)"
5824
  msgstr ""
5825
 
5826
- #: modules/custom-redirects/custom_redirects_admin.php:59
5827
- msgid "User ID"
5828
  msgstr ""
5829
 
5830
- #: modules/custom-redirects/custom_redirects_admin.php:65
5831
- msgid "User ID or Username"
5832
  msgstr ""
5833
 
5834
- #: modules/custom-redirects/custom_redirects_admin.php:66
5835
- msgid "User ID / Username"
5836
  msgstr ""
5837
 
5838
- #: modules/custom-redirects/custom_redirects_admin.php:66
5839
- msgid "Please select and enter the ID or username of your user."
5840
  msgstr ""
5841
 
5842
- #: modules/custom-redirects/custom_redirects_admin.php:67, modules/custom-redirects/custom_redirects_admin.php:97, modules/custom-redirects/custom_redirects_admin.php:116, modules/custom-redirects/custom_redirects_admin.php:135
5843
- msgid "Redirect Type"
5844
  msgstr ""
5845
 
5846
- #: modules/custom-redirects/custom_redirects_admin.php:68, modules/custom-redirects/custom_redirects_admin.php:98, modules/custom-redirects/custom_redirects_admin.php:117, modules/custom-redirects/custom_redirects_admin.php:142
5847
- msgid "Can contain the following dynamic tags:{{homeurl}}, {{siteurl}}, {{user_id}}, {{user_nicename}}, {{http_referer}}"
5848
  msgstr ""
5849
 
5850
- #: modules/custom-redirects/custom_redirects_admin.php:75, modules/custom-redirects/custom_redirects_admin.php:245
5851
- msgid "Individual User Redirects"
5852
  msgstr ""
5853
 
5854
- #: modules/custom-redirects/custom_redirects_admin.php:96, modules/email-customizer/email-customizer.php:31
5855
- msgid "User Role"
5856
  msgstr ""
5857
 
5858
- #: modules/custom-redirects/custom_redirects_admin.php:96
5859
- msgid "Select a user role."
5860
  msgstr ""
5861
 
5862
- #: modules/custom-redirects/custom_redirects_admin.php:105, modules/custom-redirects/custom_redirects_admin.php:246
5863
- msgid "User Role based Redirects"
5864
  msgstr ""
5865
 
5866
- #: modules/custom-redirects/custom_redirects_admin.php:124, modules/custom-redirects/custom_redirects_admin.php:247
5867
- msgid "Global Redirects"
5868
  msgstr ""
5869
 
5870
- #: modules/custom-redirects/custom_redirects_admin.php:137
5871
- msgid "Login ( wp-login.php )"
5872
  msgstr ""
5873
 
5874
- #: modules/custom-redirects/custom_redirects_admin.php:138
5875
- msgid "Register ( wp-login.php?action=register )"
5876
  msgstr ""
5877
 
5878
- #: modules/custom-redirects/custom_redirects_admin.php:139
5879
- msgid "Lost Password ( wp-login.php?action=lostpassword )"
5880
  msgstr ""
5881
 
5882
- #: modules/custom-redirects/custom_redirects_admin.php:140
5883
- msgid "Author Archive ( http://sitename.com/author/admin )"
5884
  msgstr ""
5885
 
5886
- #: modules/custom-redirects/custom_redirects_admin.php:149
5887
- msgid "Redirect Default WordPress Forms and Pages"
5888
  msgstr ""
5889
 
5890
- #: modules/custom-redirects/custom_redirects_admin.php:161
5891
- msgid "How does this work?"
5892
  msgstr ""
5893
 
5894
- #: modules/custom-redirects/custom_redirects_admin.php:183
5895
- msgid "<pre>User ID / Username</pre><pre>Redirect</pre><pre>URL</pre>"
5896
  msgstr ""
5897
 
5898
- #: modules/custom-redirects/custom_redirects_admin.php:197
5899
- msgid "<pre>User Role</pre><pre>Redirect</pre><pre>URL</pre>"
5900
  msgstr ""
5901
 
5902
- #: modules/custom-redirects/custom_redirects_admin.php:211, modules/custom-redirects/custom_redirects_admin.php:225
5903
- msgid "<pre>Redirect</pre><pre>URL</pre>"
5904
  msgstr ""
5905
 
5906
- #: modules/custom-redirects/custom_redirects_admin.php:240
5907
- msgid "These redirects happen after a successful action, like registration or after a successful login."
5908
  msgstr ""
5909
 
5910
- #: modules/custom-redirects/custom_redirects_admin.php:242
5911
- msgid "Which redirect happens depends on the following priority:"
5912
  msgstr ""
5913
 
5914
- #: modules/custom-redirects/custom_redirects_admin.php:244
5915
- msgid "Multiple Registration and Edit Profile form settings Redirects"
5916
  msgstr ""
5917
 
5918
- #: modules/custom-redirects/custom_redirects_admin.php:248
5919
- msgid "Individual redirects defined in shortcodes; <strong><em>redirect_priority=\"top\"</em></strong> parameter can be added in any shortcode, then that shortcode redirect will have priority over all other redirects."
5920
  msgstr ""
5921
 
5922
- #: modules/custom-redirects/custom_redirects_admin.php:251
5923
- msgid "Redirect Default WordPress forms and pages"
5924
  msgstr ""
5925
 
5926
- #: modules/custom-redirects/custom_redirects_admin.php:252
5927
- msgid "With these you can redirect various WordPress forms and pages to pages created with profile builder."
5928
  msgstr ""
5929
 
5930
- #: modules/custom-redirects/custom_redirects_admin.php:255
5931
- msgid "Available tags for dynamic URLs"
5932
  msgstr ""
5933
 
5934
- #: modules/custom-redirects/custom_redirects_admin.php:256
5935
- msgid "You use the following tags in your URLs to redirect users to various pages."
5936
  msgstr ""
5937
 
5938
- #: modules/custom-redirects/custom_redirects_admin.php:258
5939
- msgid "generates a url of the current website homepage."
5940
  msgstr ""
5941
 
5942
- #: modules/custom-redirects/custom_redirects_admin.php:259
5943
- msgid "in WordPress the <a target='_blank' href='https://codex.wordpress.org/Function_Reference/site_url'>site url</a> can be different then the home url"
5944
  msgstr ""
5945
 
5946
- #: modules/custom-redirects/custom_redirects_admin.php:260
5947
- msgid "the ID of the user"
5948
  msgstr ""
5949
 
5950
- #: modules/custom-redirects/custom_redirects_admin.php:261
5951
- msgid "the URL sanitized version of the username, the user nicename can be safely used in URLs since it can't contain special characters or spaces."
5952
  msgstr ""
5953
 
5954
- #: modules/custom-redirects/custom_redirects_admin.php:262
5955
- msgid "the URL of the previously visited page"
5956
  msgstr ""
5957
 
5958
- #: modules/custom-redirects/custom_redirects_admin.php:357, modules/custom-redirects/custom_redirects_admin.php:351, modules/custom-redirects/custom_redirects_admin.php:345
5959
- msgid "You can't add duplicate redirects!"
5960
  msgstr ""
5961
 
5962
- #: modules/email-customizer/admin-email-customizer.php:11
5963
- msgid "Admin Email Customizer"
5964
  msgstr ""
5965
 
5966
- #: modules/email-customizer/admin-email-customizer.php:12
5967
- msgid "Admin Email Customizer Settings"
5968
  msgstr ""
5969
 
5970
- #: modules/email-customizer/admin-email-customizer.php:53
5971
- msgid "These settings are also replicated in the \"User Email Customizer\" settings-page upon save."
5972
  msgstr ""
5973
 
5974
- #: modules/email-customizer/admin-email-customizer.php:53, modules/email-customizer/user-email-customizer.php:53
5975
- msgid "Valid tags {{reply_to}} and {{site_name}}"
5976
  msgstr ""
5977
 
5978
- #: modules/email-customizer/admin-email-customizer.php:56, modules/email-customizer/user-email-customizer.php:56
5979
- msgid "From (name)"
5980
  msgstr ""
5981
 
5982
- #: modules/email-customizer/admin-email-customizer.php:64, modules/email-customizer/user-email-customizer.php:64
5983
- msgid "From (reply-to email)"
5984
  msgstr ""
5985
 
5986
- #: modules/email-customizer/admin-email-customizer.php:69, modules/email-customizer/user-email-customizer.php:69
5987
- msgid "Must be a valid email address or the tag {{reply_to}} which defaults to the administrator email"
5988
  msgstr ""
5989
 
5990
- #: modules/email-customizer/admin-email-customizer.php:72, modules/email-customizer/user-email-customizer.php:72
5991
- msgid "Common Settings"
5992
  msgstr ""
5993
 
5994
- #: modules/email-customizer/admin-email-customizer.php:75
5995
- msgid ""
5996
- "<p>New subscriber on {{site_name}}.</p>\n"
5997
- "<p>Username:{{username}}</p>\n"
5998
- "<p>Email:{{user_email}}</p>\n"
5999
- ""
6000
  msgstr ""
6001
 
6002
- #: modules/email-customizer/admin-email-customizer.php:80, modules/email-customizer/admin-email-customizer.php:111, modules/email-customizer/admin-email-customizer.php:142, modules/email-customizer/admin-email-customizer.php:182, modules/email-customizer/user-email-customizer.php:83, modules/email-customizer/user-email-customizer.php:114, modules/email-customizer/user-email-customizer.php:146, modules/email-customizer/user-email-customizer.php:177, modules/email-customizer/user-email-customizer.php:209, modules/email-customizer/user-email-customizer.php:241, modules/email-customizer/user-email-customizer.php:273, modules/email-customizer/user-email-customizer.php:307, modules/email-customizer/user-email-customizer.php:346
6003
- msgid "Email Subject"
6004
  msgstr ""
6005
 
6006
- #: modules/email-customizer/admin-email-customizer.php:87, modules/email-customizer/admin-email-customizer.php:118, modules/email-customizer/admin-email-customizer.php:149, modules/email-customizer/admin-email-customizer.php:189, modules/email-customizer/user-email-customizer.php:90, modules/email-customizer/user-email-customizer.php:121, modules/email-customizer/user-email-customizer.php:153, modules/email-customizer/user-email-customizer.php:184, modules/email-customizer/user-email-customizer.php:216, modules/email-customizer/user-email-customizer.php:248, modules/email-customizer/user-email-customizer.php:280, modules/email-customizer/user-email-customizer.php:314, modules/email-customizer/user-email-customizer.php:353
6007
- msgid "Enable email"
6008
  msgstr ""
6009
 
6010
- #: modules/email-customizer/admin-email-customizer.php:102
6011
- msgid "Default Registration & Registration with Email Confirmation"
6012
  msgstr ""
6013
 
6014
- #: modules/email-customizer/admin-email-customizer.php:105
6015
- msgid ""
6016
- "<p>New subscriber on {{site_name}}.</p>\n"
6017
- "<p>Username:{{username}}</p>\n"
6018
- "<p>Email:{{user_email}}</p>\n"
6019
- "<p>The Admin Approval feature was activated at the time of registration,\n"
6020
- "so please remember that you need to approve this user before he/she can log in!</p>"
6021
  msgstr ""
6022
 
6023
- #: modules/email-customizer/admin-email-customizer.php:133, modules/email-customizer/user-email-customizer.php:168
6024
- msgid "Registration with Admin Approval"
6025
  msgstr ""
6026
 
6027
- #: modules/email-customizer/admin-email-customizer.php:136
6028
- msgid ""
6029
- "<p>{{username}} has requested a password change via the password reset feature.</p>\n"
6030
- ""
6031
  msgstr ""
6032
 
6033
- #: modules/email-customizer/admin-email-customizer.php:164
6034
- msgid "Admin Notification for User Password Reset"
6035
  msgstr ""
6036
 
6037
- #: modules/email-customizer/admin-email-customizer.php:178
6038
- msgid ""
6039
- "<p>The user {{username}} has updated their profile and some of the fields require admin approval:</p>\n"
6040
- "<br>\n"
6041
- "{{modified_fields}}\n"
6042
- "<br>\n"
6043
- "<p>Access this link to approve changes: {{approval_url}}</p>\n"
6044
- ""
6045
  msgstr ""
6046
 
6047
- #: modules/email-customizer/admin-email-customizer.php:186
6048
- msgid "[{{site_name}}] A user has updated their profile. Some fields need approval"
6049
  msgstr ""
6050
 
6051
- #: modules/email-customizer/admin-email-customizer.php:204
6052
- msgid "Admin Notification for Edit Profile Approved by Admin"
6053
  msgstr ""
6054
 
6055
- #: modules/email-customizer/email-customizer.php:7
6056
- msgid "Available Tags"
6057
  msgstr ""
6058
 
6059
- #: modules/email-customizer/email-customizer.php:11, modules/user-listing/userlisting.php:213
6060
- msgid "User Fields Tags"
6061
  msgstr ""
6062
 
6063
- #: modules/email-customizer/email-customizer.php:21
6064
- msgid "Site Url"
6065
  msgstr ""
6066
 
6067
- #: modules/email-customizer/email-customizer.php:22
6068
- msgid "Site Name"
6069
  msgstr ""
6070
 
6071
- #: modules/email-customizer/email-customizer.php:25, modules/user-listing/userlisting.php:170
6072
- msgid "User Id"
6073
  msgstr ""
6074
 
6075
- #: modules/email-customizer/email-customizer.php:32
6076
- msgid "User Role Label"
6077
  msgstr ""
6078
 
6079
- #: modules/email-customizer/email-customizer.php:34
6080
- msgid "Reply To"
6081
  msgstr ""
6082
 
6083
- #: modules/email-customizer/email-customizer.php:37, modules/user-listing/userlisting.php:128
6084
- msgid "Blog URL"
6085
  msgstr ""
6086
 
6087
- #: modules/email-customizer/email-customizer.php:41
6088
- msgid "Activation Key"
6089
  msgstr ""
6090
 
6091
- #: modules/email-customizer/email-customizer.php:42
6092
- msgid "Activation Url"
6093
  msgstr ""
6094
 
6095
- #: modules/email-customizer/email-customizer.php:43
6096
- msgid "Activation Link"
6097
  msgstr ""
6098
 
6099
- #: modules/email-customizer/email-customizer.php:47
6100
- msgid "Reset Key"
6101
  msgstr ""
6102
 
6103
- #: modules/email-customizer/email-customizer.php:48
6104
- msgid "Reset Url"
6105
  msgstr ""
6106
 
6107
- #: modules/email-customizer/email-customizer.php:49
6108
- msgid "Reset Link"
6109
  msgstr ""
6110
 
6111
- #: modules/email-customizer/email-customizer.php:53
6112
- msgid "Approve User Url"
6113
  msgstr ""
6114
 
6115
- #: modules/email-customizer/email-customizer.php:54
6116
- msgid "Approve User Link"
6117
  msgstr ""
6118
 
6119
- #: modules/email-customizer/email-customizer.php:58
6120
- msgid "Approved Fields"
6121
  msgstr ""
6122
 
6123
- #: modules/email-customizer/email-customizer.php:59
6124
- msgid "Unapproved Fields"
6125
  msgstr ""
6126
 
6127
- #: modules/email-customizer/email-customizer.php:63
6128
- msgid "Modified Fields"
6129
  msgstr ""
6130
 
6131
- #: modules/email-customizer/email-customizer.php:64
6132
- msgid "Approval URL"
6133
  msgstr ""
6134
 
6135
- #: modules/email-customizer/email-customizer.php:575
6136
- msgid "The users selected password at signup"
6137
  msgstr ""
6138
 
6139
- #: modules/email-customizer/user-email-customizer.php:11
6140
- msgid "User Email Customizer"
6141
  msgstr ""
6142
 
6143
- #: modules/email-customizer/user-email-customizer.php:12
6144
- msgid "User Email Customizer Settings"
6145
  msgstr ""
6146
 
6147
- #: modules/email-customizer/user-email-customizer.php:53
6148
- msgid "These settings are also replicated in the \"Admin Email Customizer\" settings-page upon save."
6149
  msgstr ""
6150
 
6151
- #: modules/email-customizer/user-email-customizer.php:79
6152
- msgid ""
6153
- "<h3>Welcome to {{site_name}}!</h3>\n"
6154
- "<p>Your username is: {{username}}</p>\n"
6155
- ""
6156
  msgstr ""
6157
 
6158
- #: modules/email-customizer/user-email-customizer.php:110
6159
- msgid ""
6160
- "<p>To activate your user, please click the following link:<br/>\n"
6161
- "{{{activation_link}}}</p>\n"
6162
- "<p>After you activate, you will receive another email with your credentials.</p>\n"
6163
- ""
6164
  msgstr ""
6165
 
6166
- #: modules/email-customizer/user-email-customizer.php:118
6167
- msgid "[{{site_name}}] Activate {{username}}"
6168
  msgstr ""
6169
 
6170
- #: modules/email-customizer/user-email-customizer.php:136
6171
- msgid "Registration with Email Confirmation"
6172
  msgstr ""
6173
 
6174
- #: modules/email-customizer/user-email-customizer.php:142
6175
- msgid ""
6176
- "<h3>Welcome to {{site_name}}!</h3>\n"
6177
- "<p>Your username is: {{username}}</p>\n"
6178
- "<p>Before you can access your account, an administrator needs to approve it. You will be notified via email.</p>\n"
6179
- ""
6180
  msgstr ""
6181
 
6182
- #: modules/email-customizer/user-email-customizer.php:150
6183
- msgid "A new account has been created for you on {{site_name}}"
6184
  msgstr ""
6185
 
6186
- #: modules/email-customizer/user-email-customizer.php:173
6187
- msgid ""
6188
- "<h3>Good News!</h3>\n"
6189
- "<p>An administrator has just approved your account: {{username}} on {{site_name}}.</p>\n"
6190
- ""
6191
  msgstr ""
6192
 
6193
- #: modules/email-customizer/user-email-customizer.php:181
6194
- msgid "Your account on {{site_name}} has been approved!"
6195
  msgstr ""
6196
 
6197
- #: modules/email-customizer/user-email-customizer.php:199
6198
- msgid "User Approval Notification"
6199
  msgstr ""
6200
 
6201
- #: modules/email-customizer/user-email-customizer.php:204
6202
- msgid ""
6203
- "<h3>Hello,</h3>\n"
6204
- "<p>Unfortunatelly an administrator has just unapproved your account: {{username}} on {{site_name}}.</p>\n"
6205
- ""
6206
  msgstr ""
6207
 
6208
- #: modules/email-customizer/user-email-customizer.php:213
6209
- msgid "Your account on {{site_name}} has been unapproved!"
6210
  msgstr ""
6211
 
6212
- #: modules/email-customizer/user-email-customizer.php:231
6213
- msgid "Unapproved User Notification"
6214
  msgstr ""
6215
 
6216
- #: modules/email-customizer/user-email-customizer.php:237
6217
- msgid ""
6218
- "<p>Someone requested that the password be reset for the following account: {{site_name}}<br/>\n"
6219
- "Username: {{username}}</p>\n"
6220
- "<p>If this was a mistake, just ignore this email and nothing will happen.</p>\n"
6221
- "<p>To reset your password, visit the following address:<br/>\n"
6222
- "{{{reset_link}}}</p>\n"
6223
- ""
6224
  msgstr ""
6225
 
6226
- #: modules/email-customizer/user-email-customizer.php:245
6227
- msgid "[{{site_name}}] Password Reset"
6228
  msgstr ""
6229
 
6230
- #: modules/email-customizer/user-email-customizer.php:263
6231
- msgid "Password Reset Email"
6232
  msgstr ""
6233
 
6234
- #: modules/email-customizer/user-email-customizer.php:269
6235
- msgid ""
6236
- "<p>You have successfully reset your password.</p>\n"
6237
- ""
6238
  msgstr ""
6239
 
6240
- #: modules/email-customizer/user-email-customizer.php:277
6241
- msgid "[{{site_name}}] Password Reset Successfully"
6242
  msgstr ""
6243
 
6244
- #: modules/email-customizer/user-email-customizer.php:295
6245
- msgid "Password Reset Success Email"
6246
  msgstr ""
6247
 
6248
- #: modules/email-customizer/user-email-customizer.php:303
6249
- msgid ""
6250
- "<h3>Hi {{username}},</h3>\n"
6251
- "<p>This notice confirms that your email was changed on {{site_name}}.</p>\n"
6252
- "<p>If you did not change your email, please contact the Site Administrator at %s</p>\n"
6253
- "<p>This email has been sent to {{user_email}}</p>\n"
6254
- "<p>Regards,<br>\n"
6255
- "All at {{site_name}}<br>\n"
6256
- "<a href=\"{{site_url}}\">{{site_url}}</a></p>"
6257
  msgstr ""
6258
 
6259
- #: modules/email-customizer/user-email-customizer.php:311
6260
- msgid "[{{site_name}}] Notice of Email Change"
6261
  msgstr ""
6262
 
6263
- #: modules/email-customizer/user-email-customizer.php:329
6264
- msgid "Changed Email Address Notification"
6265
  msgstr ""
6266
 
6267
- #: modules/email-customizer/user-email-customizer.php:342
6268
- msgid ""
6269
- "<p>Your profile has been reviewed by an administrator:</p>\n"
6270
- "<br>\n"
6271
- "<p>Approved Fields: {{approved_fields}}</p>\n"
6272
- "<p>Unapproved Fields: {{unapproved_fields}}</p>\n"
6273
- ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6274
  msgstr ""
6275
 
6276
- #: modules/email-customizer/user-email-customizer.php:350
6277
- msgid "[{{site_name}}] Your profile has been reviewed by an administrator"
6278
  msgstr ""
6279
 
6280
- #: modules/email-customizer/user-email-customizer.php:368
6281
- msgid "User Notification for Edit Profile Approved by Admin"
6282
  msgstr ""
6283
 
6284
- #: modules/multiple-forms/edit-profile-forms.php:11, modules/multiple-forms/edit-profile-forms.php:12
6285
- msgid "Edit-profile Form"
6286
  msgstr ""
6287
 
6288
- #: modules/multiple-forms/edit-profile-forms.php:13, modules/multiple-forms/register-forms.php:13, modules/user-listing/userlisting.php:13
6289
- msgid "Add New"
6290
  msgstr ""
6291
 
6292
- #: modules/multiple-forms/edit-profile-forms.php:14
6293
- msgid "Add new Edit-profile Form"
6294
  msgstr ""
6295
 
6296
- #: modules/multiple-forms/edit-profile-forms.php:15
6297
- msgid "Edit the Edit-profile Forms"
6298
  msgstr ""
6299
 
6300
- #: modules/multiple-forms/edit-profile-forms.php:16
6301
- msgid "New Edit-profile Form"
6302
  msgstr ""
6303
 
6304
- #: modules/multiple-forms/edit-profile-forms.php:17, modules/multiple-forms/edit-profile-forms.php:23
6305
- msgid "Edit-profile Forms"
6306
  msgstr ""
6307
 
6308
- #: modules/multiple-forms/edit-profile-forms.php:18
6309
- msgid "View the Edit-profile Form"
6310
  msgstr ""
6311
 
6312
- #: modules/multiple-forms/edit-profile-forms.php:19
6313
- msgid "Search the Edit-profile Forms"
6314
  msgstr ""
6315
 
6316
- #: modules/multiple-forms/edit-profile-forms.php:20
6317
- msgid "No Edit-profile Form found"
6318
  msgstr ""
6319
 
6320
- #: modules/multiple-forms/edit-profile-forms.php:21
6321
- msgid "No Edit-profile Forms found in trash"
6322
  msgstr ""
6323
 
6324
- #: modules/multiple-forms/edit-profile-forms.php:135, modules/multiple-forms/register-forms.php:138, modules/user-listing/userlisting.php:2265
6325
- msgid "Shortcode"
6326
  msgstr ""
6327
 
6328
- #: modules/multiple-forms/edit-profile-forms.php:155, modules/multiple-forms/register-forms.php:159, modules/user-listing/userlisting.php:2286
6329
- msgid "(no title)"
6330
  msgstr ""
6331
 
6332
- #: modules/multiple-forms/edit-profile-forms.php:177, modules/multiple-forms/register-forms.php:180, modules/user-listing/userlisting.php:2308
6333
- msgid "Use this shortcode on the page you want the form to be displayed:"
6334
  msgstr ""
6335
 
6336
- #: modules/multiple-forms/edit-profile-forms.php:181, modules/multiple-forms/register-forms.php:184, modules/user-listing/userlisting.php:2312
6337
- msgid "<span style=\"color:red;\">Note:</span> changing the form title also changes the shortcode!"
6338
  msgstr ""
6339
 
6340
- #: modules/multiple-forms/edit-profile-forms.php:175, modules/multiple-forms/register-forms.php:178, modules/user-listing/userlisting.php:2306
6341
- msgid "The shortcode will be available after you publish this form."
6342
  msgstr ""
6343
 
6344
- #: modules/multiple-forms/edit-profile-forms.php:187, modules/multiple-forms/register-forms.php:190, modules/user-listing/userlisting.php:2345
6345
- msgid "Form Shortcode"
6346
  msgstr ""
6347
 
6348
- #: modules/multiple-forms/edit-profile-forms.php:206, modules/multiple-forms/register-forms.php:230
6349
- msgid "Whether to redirect the user to a specific page or not"
6350
  msgstr ""
6351
 
6352
- #: modules/multiple-forms/edit-profile-forms.php:207, modules/multiple-forms/register-forms.php:231
6353
- msgid "Display Messages"
6354
  msgstr ""
6355
 
6356
- #: modules/multiple-forms/edit-profile-forms.php:207, modules/multiple-forms/register-forms.php:231
6357
- msgid "Allowed time to display any success messages (in seconds)"
6358
  msgstr ""
6359
 
6360
- #: modules/multiple-forms/edit-profile-forms.php:208, modules/multiple-forms/register-forms.php:232
6361
- msgid "URL"
6362
  msgstr ""
6363
 
6364
- #: modules/multiple-forms/edit-profile-forms.php:208
6365
- msgid "Specify the URL of the page users will be redirected once they updated their profile using this form<br/>Use the following format: http://www.mysite.com"
6366
  msgstr ""
6367
 
6368
- #: modules/multiple-forms/edit-profile-forms.php:215
6369
- msgid "After Profile Update..."
6370
  msgstr ""
6371
 
6372
- #: modules/multiple-forms/edit-profile-forms.php:241, modules/multiple-forms/register-forms.php:262
6373
- msgid "Add New Field to the List"
6374
  msgstr ""
6375
 
6376
- #: modules/multiple-forms/edit-profile-forms.php:245, modules/multiple-forms/register-forms.php:266
6377
- msgid "Choose one of the supported fields you manage <a href=\"%s\">here</a>"
6378
  msgstr ""
6379
 
6380
- #: modules/multiple-forms/edit-profile-forms.php:274
6381
- msgid "This form is empty."
6382
  msgstr ""
6383
 
6384
- #: modules/multiple-forms/multiple-forms.php:222
6385
- msgid "You need to specify the title of the form before creating it"
6386
  msgstr ""
6387
 
6388
- #: modules/multiple-forms/multiple-forms.php:406
6389
- msgid "<pre>Title (Type)</pre>"
6390
  msgstr ""
6391
 
6392
- #: modules/multiple-forms/multiple-forms.php:406
6393
- msgid "Delete all items"
6394
  msgstr ""
6395
 
6396
- #: modules/multiple-forms/register-forms.php:14
6397
- msgid "Add new Registration Form"
6398
  msgstr ""
6399
 
6400
- #: modules/multiple-forms/register-forms.php:15
6401
- msgid "Edit the Registration Forms"
6402
  msgstr ""
6403
 
6404
- #: modules/multiple-forms/register-forms.php:16
6405
- msgid "New Registration Form"
6406
  msgstr ""
6407
 
6408
- #: modules/multiple-forms/register-forms.php:17, modules/multiple-forms/register-forms.php:23
6409
- msgid "Registration Forms"
6410
  msgstr ""
6411
 
6412
- #: modules/multiple-forms/register-forms.php:18
6413
- msgid "View the Registration Form"
6414
  msgstr ""
6415
 
6416
- #: modules/multiple-forms/register-forms.php:19
6417
- msgid "Search the Registration Forms"
6418
  msgstr ""
6419
 
6420
- #: modules/multiple-forms/register-forms.php:20
6421
- msgid "No Registration Form found"
6422
  msgstr ""
6423
 
6424
- #: modules/multiple-forms/register-forms.php:21
6425
- msgid "No Registration Forms found in trash"
6426
  msgstr ""
6427
 
6428
- #: modules/multiple-forms/register-forms.php:219
6429
- msgid "Default Role"
6430
  msgstr ""
6431
 
6432
- #: modules/multiple-forms/register-forms.php:228
6433
- msgid "Set Role"
6434
  msgstr ""
6435
 
6436
- #: modules/multiple-forms/register-forms.php:228
6437
- msgid "Choose what role the user will have after (s)he registered<br/>If not specified, defaults to the role set in the WordPress settings"
6438
  msgstr ""
6439
 
6440
- #: modules/multiple-forms/register-forms.php:229
6441
- msgid "Automatically Log In"
6442
  msgstr ""
6443
 
6444
- #: modules/multiple-forms/register-forms.php:229
6445
- msgid "Whether to automatically log in the newly registered user or not<br/>Only works on single-sites without \"Admin Approval\" and \"Email Confirmation\" features activated<br/>WARNING: Caching the registration form will make automatic login not work"
6446
  msgstr ""
6447
 
6448
- #: modules/multiple-forms/register-forms.php:232
6449
- msgid "Specify the URL of the page users will be redirected once registered using this form<br/>Use the following format: http://www.mysite.com"
6450
  msgstr ""
6451
 
6452
- #: modules/multiple-forms/register-forms.php:238
6453
- msgid "After Registration..."
6454
  msgstr ""
6455
 
6456
- #: modules/repeater-field/repeater-field.php:303
6457
- msgid "Are you sure you want to delete this?"
6458
  msgstr ""
6459
 
6460
- #: modules/user-listing/one-map-listing.php:439
6461
- msgid "Please wait while the pins are loading..."
6462
  msgstr ""
6463
 
6464
- #: modules/user-listing/one-map-listing.php:554
6465
- msgid "The API Key was not provided."
6466
  msgstr ""
6467
 
6468
- #: modules/user-listing/userlisting.php:14
6469
- msgid "Add new User Listing"
6470
  msgstr ""
6471
 
6472
- #: modules/user-listing/userlisting.php:15
6473
- msgid "Edit the User Listing"
6474
  msgstr ""
6475
 
6476
- #: modules/user-listing/userlisting.php:16
6477
- msgid "New User Listing"
6478
  msgstr ""
6479
 
6480
- #: modules/user-listing/userlisting.php:18
6481
- msgid "View the User Listing"
6482
  msgstr ""
6483
 
6484
- #: modules/user-listing/userlisting.php:19
6485
- msgid "Search the User Listing"
6486
  msgstr ""
6487
 
6488
- #: modules/user-listing/userlisting.php:20
6489
- msgid "No User Listing found"
6490
  msgstr ""
6491
 
6492
- #: modules/user-listing/userlisting.php:21
6493
- msgid "No User Listing found in trash"
6494
  msgstr ""
6495
 
6496
- #: modules/user-listing/userlisting.php:115
6497
- msgid "Display name as"
6498
  msgstr ""
6499
 
6500
- #: modules/user-listing/userlisting.php:162, modules/user-listing/userlisting.php:2373
6501
- msgid "Registration Date"
6502
  msgstr ""
6503
 
6504
- #: modules/user-listing/userlisting.php:163, modules/user-listing/userlisting.php:2378
6505
- msgid "Number of Posts"
6506
  msgstr ""
6507
 
6508
- #: modules/user-listing/userlisting.php:167
6509
- msgid "More Info"
 
 
6510
  msgstr ""
6511
 
6512
- #: modules/user-listing/userlisting.php:168
6513
- msgid "More Info Url"
6514
  msgstr ""
6515
 
6516
- #: modules/user-listing/userlisting.php:169
6517
- msgid "Avatar or Gravatar"
6518
  msgstr ""
6519
 
6520
- #: modules/user-listing/userlisting.php:171
6521
- msgid "User Nicename"
6522
  msgstr ""
6523
 
6524
- #: modules/user-listing/userlisting.php:219
6525
- msgid "Sort Tags"
6526
  msgstr ""
6527
 
6528
- #: modules/user-listing/userlisting.php:223, modules/user-listing/userlisting.php:262
6529
- msgid "Extra Functions"
6530
  msgstr ""
6531
 
6532
- #: modules/user-listing/userlisting.php:226
6533
- msgid "Pagination"
6534
  msgstr ""
6535
 
6536
- #: modules/user-listing/userlisting.php:227
6537
- msgid "Search all Fields"
6538
  msgstr ""
6539
 
6540
- #: modules/user-listing/userlisting.php:228, modules/user-listing/userlisting.php:2457
6541
- msgid "Faceted Menus"
6542
  msgstr ""
6543
 
6544
- #: modules/user-listing/userlisting.php:229
6545
- msgid "User Count"
6546
  msgstr ""
6547
 
6548
- #: modules/user-listing/userlisting.php:236
6549
- msgid "Map of listed users"
6550
  msgstr ""
6551
 
6552
- #: modules/user-listing/userlisting.php:264
6553
- msgid "Go Back Link"
6554
  msgstr ""
6555
 
6556
- #: modules/user-listing/userlisting.php:282
6557
- msgid "All-userlisting Template"
6558
  msgstr ""
6559
 
6560
- #: modules/user-listing/userlisting.php:285
6561
- msgid "Single-userlisting Template"
6562
  msgstr ""
6563
 
6564
- #: modules/user-listing/userlisting.php:311
6565
- msgid "Avatar"
6566
  msgstr ""
6567
 
6568
- #: modules/user-listing/userlisting.php:315, modules/user-listing/userlisting.php:834
6569
- msgid "Posts"
6570
  msgstr ""
6571
 
6572
- #: modules/user-listing/userlisting.php:316, modules/user-listing/userlisting.php:816
6573
- msgid "Sign-up Date"
6574
  msgstr ""
6575
 
6576
- #: modules/user-listing/userlisting.php:317
6577
- msgid "More"
6578
  msgstr ""
6579
 
6580
- #: modules/user-listing/userlisting.php:411
6581
- msgid "You do not have permission to view this user list."
6582
  msgstr ""
6583
 
6584
- #: modules/user-listing/userlisting.php:424
6585
- msgid "You do not have the required user role to view this user list."
6586
  msgstr ""
6587
 
6588
- #: modules/user-listing/userlisting.php:448
6589
- msgid "User not found"
6590
  msgstr ""
6591
 
6592
- #: modules/user-listing/userlisting.php:843, modules/user-listing/userlisting.php:2385
6593
- msgid "Jabber"
6594
  msgstr ""
6595
 
6596
- #: modules/user-listing/userlisting.php:840, modules/user-listing/userlisting.php:2384
6597
- msgid "Yim"
6598
  msgstr ""
6599
 
6600
- #: modules/user-listing/userlisting.php:837, modules/user-listing/userlisting.php:2383
6601
- msgid "Aim"
6602
  msgstr ""
6603
 
6604
- #: modules/user-listing/userlisting.php:825, modules/user-listing/userlisting.php:2376
6605
- msgid "Display Name"
6606
  msgstr ""
6607
 
6608
- #: modules/user-listing/userlisting.php:810
6609
- msgid "First/Lastname"
6610
  msgstr ""
6611
 
6612
- #: modules/user-listing/userlisting.php:1130, modules/user-listing/userlisting.php:1611, modules/user-listing/userlisting.php:2092, modules/user-listing/userlisting.php:2577
6613
- msgid "Search Users by All Fields"
6614
  msgstr ""
6615
 
6616
- #: modules/user-listing/userlisting.php:1407
6617
- msgid "Click here to see more information about this user."
6618
  msgstr ""
6619
 
6620
- #: modules/user-listing/userlisting.php:1404
6621
- msgid "Click here to see more information about this user"
6622
  msgstr ""
6623
 
6624
- #: modules/user-listing/userlisting.php:1404, modules/user-listing/userlisting.php:1404
6625
- msgid "More..."
6626
  msgstr ""
6627
 
6628
- #: modules/user-listing/userlisting.php:1434
6629
- msgid "View Map"
6630
  msgstr ""
6631
 
6632
- #: modules/user-listing/userlisting.php:1568, modules/user-listing/userlisting.php:1565
6633
- msgid "Click here to go back"
6634
  msgstr ""
6635
 
6636
- #: modules/user-listing/userlisting.php:1565, modules/user-listing/userlisting.php:1565
6637
- msgid "Back"
6638
  msgstr ""
6639
 
6640
- #: modules/user-listing/userlisting.php:1630
6641
- msgid "You don't have any pagination settings on this userlisting!"
6642
  msgstr ""
6643
 
6644
- #: modules/user-listing/userlisting.php:1598
6645
- msgid "&laquo;&laquo; First"
 
 
 
 
6646
  msgstr ""
6647
 
6648
- #: modules/user-listing/userlisting.php:1599
6649
- msgid "&laquo; Prev"
6650
  msgstr ""
6651
 
6652
- #: modules/user-listing/userlisting.php:1600
6653
- msgid "Next &raquo; "
6654
  msgstr ""
6655
 
6656
- #: modules/user-listing/userlisting.php:1601
6657
- msgid "Last &raquo;&raquo;"
6658
  msgstr ""
6659
 
6660
- #: modules/user-listing/userlisting.php:1679
6661
- msgid "Show All"
6662
  msgstr ""
6663
 
6664
- #: modules/user-listing/userlisting.php:1755
6665
- msgid "Choose..."
6666
  msgstr ""
6667
 
6668
- #: modules/user-listing/userlisting.php:1844
6669
- msgid "No options available"
6670
  msgstr ""
6671
 
6672
- #: modules/user-listing/userlisting.php:1994
6673
- msgid "Remove All Filters"
6674
  msgstr ""
6675
 
6676
- #: modules/user-listing/userlisting.php:2109
6677
- msgid "Search"
6678
  msgstr ""
6679
 
6680
- #: modules/user-listing/userlisting.php:2110
6681
- msgid "Clear Results"
6682
  msgstr ""
6683
 
6684
- #: modules/user-listing/userlisting.php:2315, modules/user-listing/userlisting.php:2319
6685
- msgid "Extra shortcode parameters"
6686
  msgstr ""
6687
 
6688
- #: modules/user-listing/userlisting.php:2317
6689
- msgid "View all extra shortcode parameters"
6690
  msgstr ""
6691
 
6692
- #: modules/user-listing/userlisting.php:2322
6693
- msgid "displays users having a certain meta-value within a certain (extra) meta-field"
6694
  msgstr ""
6695
 
6696
- #: modules/user-listing/userlisting.php:2323
6697
- msgid "Example:"
6698
  msgstr ""
6699
 
6700
- #: modules/user-listing/userlisting.php:2325
6701
- msgid "Remember though, that the field-value combination must exist in the database."
6702
  msgstr ""
6703
 
6704
- #: modules/user-listing/userlisting.php:2331
6705
- msgid "displays only the users that you specified the user_id for"
6706
  msgstr ""
6707
 
6708
- #: modules/user-listing/userlisting.php:2337
6709
- msgid "displays all users except the ones you specified the user_id for"
6710
  msgstr ""
6711
 
6712
- #: modules/user-listing/userlisting.php:2400
6713
- msgid "Random (very slow on large databases > 10K user)"
6714
  msgstr ""
6715
 
6716
- #: modules/user-listing/userlisting.php:2403
6717
- msgid "Ascending"
6718
  msgstr ""
6719
 
6720
- #: modules/user-listing/userlisting.php:2404
6721
- msgid "Descending"
6722
  msgstr ""
6723
 
6724
- #: modules/user-listing/userlisting.php:2409
6725
- msgid "Roles to Display"
6726
  msgstr ""
6727
 
6728
- #: modules/user-listing/userlisting.php:2409
6729
- msgid "Restrict the userlisting to these selected roles only<br/>If not specified, defaults to all existing roles"
6730
  msgstr ""
6731
 
6732
- #: modules/user-listing/userlisting.php:2410
6733
- msgid "Number of Users/Page"
6734
  msgstr ""
6735
 
6736
- #: modules/user-listing/userlisting.php:2410
6737
- msgid "Set the number of users to be displayed on every paginated part of the all-userlisting"
6738
  msgstr ""
6739
 
6740
- #: modules/user-listing/userlisting.php:2411
6741
- msgid "Default Sorting Criteria"
6742
  msgstr ""
6743
 
6744
- #: modules/user-listing/userlisting.php:2411
6745
- msgid "Set the default sorting criteria<br/>This can temporarily be changed for each new session"
6746
  msgstr ""
6747
 
6748
- #: modules/user-listing/userlisting.php:2412
6749
- msgid "Default Sorting Order"
6750
  msgstr ""
6751
 
6752
- #: modules/user-listing/userlisting.php:2412
6753
- msgid "Set the default sorting order<br/>This can temporarily be changed for each new session"
6754
  msgstr ""
6755
 
6756
- #: modules/user-listing/userlisting.php:2413
6757
- msgid "Avatar Size (All-userlisting)"
6758
  msgstr ""
6759
 
6760
- #: modules/user-listing/userlisting.php:2413
6761
- msgid "Set the avatar size on the all-userlisting only"
6762
  msgstr ""
6763
 
6764
- #: modules/user-listing/userlisting.php:2414
6765
- msgid "Avatar Size (Single-userlisting)"
6766
  msgstr ""
6767
 
6768
- #: modules/user-listing/userlisting.php:2414
6769
- msgid "Set the avatar size on the single-userlisting only"
6770
  msgstr ""
6771
 
6772
- #: modules/user-listing/userlisting.php:2415
6773
- msgid "Visible only to logged in users?"
6774
  msgstr ""
6775
 
6776
- #: modules/user-listing/userlisting.php:2415
6777
- msgid "The userlisting will only be visible only to the logged in users"
6778
  msgstr ""
6779
 
6780
- #: modules/user-listing/userlisting.php:2416
6781
- msgid "Visible to following Roles"
6782
  msgstr ""
6783
 
6784
- #: modules/user-listing/userlisting.php:2416
6785
- msgid "The userlisting will only be visible to the following roles"
6786
  msgstr ""
6787
 
6788
- #: modules/user-listing/userlisting.php:2422
6789
- msgid "Userlisting Settings"
6790
  msgstr ""
6791
 
6792
- #: modules/user-listing/userlisting.php:2447
6793
- msgid "Label"
6794
  msgstr ""
6795
 
6796
- #: modules/user-listing/userlisting.php:2447
6797
- msgid "Choose the facet name that appears on the frontend"
6798
  msgstr ""
6799
 
6800
- #: modules/user-listing/userlisting.php:2448
6801
- msgid "Facet Type"
6802
  msgstr ""
6803
 
6804
- #: modules/user-listing/userlisting.php:2448
6805
- msgid "Choose the facet menu type"
6806
  msgstr ""
6807
 
6808
- #: modules/user-listing/userlisting.php:2449
6809
- msgid "Facet Meta"
6810
  msgstr ""
6811
 
6812
- #: modules/user-listing/userlisting.php:2449
6813
- msgid "Choose the meta field for the facet menu. If you want to use a repeater meta or a meta outisde Profile Builder just type the value and press enter."
6814
  msgstr ""
6815
 
6816
- #: modules/user-listing/userlisting.php:2450
6817
- msgid "Behaviour"
6818
  msgstr ""
6819
 
6820
- #: modules/user-listing/userlisting.php:2450
6821
- msgid "Narrow the results"
6822
  msgstr ""
6823
 
6824
- #: modules/user-listing/userlisting.php:2450
6825
- msgid "Expand the results"
6826
  msgstr ""
6827
 
6828
- #: modules/user-listing/userlisting.php:2450
6829
- msgid "Choose how multiple selections affect the results"
6830
  msgstr ""
6831
 
6832
- #: modules/user-listing/userlisting.php:2451
6833
- msgid "Visible choices"
6834
  msgstr ""
6835
 
6836
- #: modules/user-listing/userlisting.php:2451
6837
- msgid "Show a toggle link after this many choices. Leave blank for all"
6838
  msgstr ""
6839
 
6840
- #: modules/user-listing/userlisting.php:2476
6841
- msgid "Search Fields"
6842
  msgstr ""
6843
 
6844
- #: modules/user-listing/userlisting.php:2476
6845
- msgid "Choose the fields in which the Search Field will look in"
6846
  msgstr ""
6847
 
6848
- #: modules/user-listing/userlisting.php:2481
6849
- msgid "Search Settings"
6850
  msgstr ""
6851
 
6852
- #: modules/user-listing/userlisting.php:2553
6853
- msgid "You need to activate the Userlisting feature from within the \"Modules\" tab!"
6854
  msgstr ""
6855
 
6856
- #: modules/user-listing/userlisting.php:2553
6857
- msgid "You can find it in the Profile Builder menu."
6858
  msgstr ""
6859
 
6860
- #: modules/user-listing/userlisting.php:2716
6861
- msgid "No results found!"
6862
  msgstr ""
6863
 
6864
- #: ../pb-add-on-labels-edit/assets/lib/wck-api/wordpress-creation-kit.php:541, assets/lib/wck-api/wordpress-creation-kit.php:545
6865
- msgid "Delete this item"
6866
  msgstr ""
6867
 
6868
- #: ../pb-add-on-labels-edit/assets/lib/wck-api/wordpress-creation-kit.php:1279
6869
- msgid "Syncronize WCK"
6870
  msgstr ""
6871
 
6872
- #: ../pb-add-on-labels-edit/assets/lib/wck-api/wordpress-creation-kit.php:1291
6873
- msgid "Syncronize WCK Translation"
6874
  msgstr ""
6875
 
6876
- #: front-end/default-fields/blog-details/blog-details.php:65
6877
- msgid "Yes, I'd like to create a new site"
6878
  msgstr ""
6879
 
6880
- #: front-end/default-fields/blog-details/blog-details.php:72
6881
- msgid "Your site url will look like this:<br>"
6882
  msgstr ""
6883
 
6884
- #: front-end/default-fields/blog-details/blog-details.php:95
6885
- msgid "Site URL slug"
6886
  msgstr ""
6887
 
6888
- #: front-end/default-fields/blog-details/blog-details.php:118
6889
- msgid "Site Title"
6890
  msgstr ""
6891
 
6892
- #: front-end/default-fields/blog-details/blog-details.php:140
6893
- msgid "Privacy: I would like my site to appear in search engines, and in public listings around this network."
6894
  msgstr ""
6895
 
6896
- #: front-end/default-fields/email/email.php:54, front-end/extra-fields/input-email/input-email.php:70
6897
- msgid "You must enter a valid email address."
6898
  msgstr ""
6899
 
6900
- #: front-end/default-fields/email/email.php:69, front-end/default-fields/email/email.php:63
6901
- msgid "This email is already reserved to be used soon."
6902
  msgstr ""
6903
 
6904
- #: 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
6905
- msgid "Please try a different one!"
6906
  msgstr ""
6907
 
6908
- #: front-end/default-fields/email/email.php:79, front-end/default-fields/email/email.php:97
6909
- msgid "This email is already in use."
6910
  msgstr ""
6911
 
6912
- #: front-end/default-fields/gdpr-delete/gdpr-delete.php:33
6913
- msgid "Type %s to confirm deleting your account and all data associated with it:"
6914
  msgstr ""
6915
 
6916
- #: front-end/default-fields/gdpr-delete/gdpr-delete.php:34
6917
- msgid "You did not type %s. Try again!"
6918
  msgstr ""
6919
 
6920
- #: front-end/default-fields/password-repeat/password-repeat.php:43, front-end/default-fields/password-repeat/password-repeat.php:39
6921
- msgid "The passwords do not match"
6922
  msgstr ""
6923
 
6924
- #: front-end/default-fields/recaptcha/recaptcha.php:55
6925
- msgid "To use reCAPTCHA you must get an API key from"
6926
  msgstr ""
6927
 
6928
- #: front-end/default-fields/recaptcha/recaptcha.php:214
6929
- msgid "For security reasons, you must pass the remote ip to reCAPTCHA!"
6930
  msgstr ""
6931
 
6932
- #: front-end/default-fields/recaptcha/recaptcha.php:282
6933
- msgid "To use reCAPTCHA you must get an API public key from:"
6934
  msgstr ""
6935
 
6936
- #: front-end/default-fields/recaptcha/recaptcha.php:580
6937
- msgid "Click the BACK button on your browser, and try again."
6938
  msgstr ""
6939
 
6940
- #: front-end/default-fields/user-role/user-role.php:108
6941
- msgid "As an administrator you cannot change your role."
6942
  msgstr ""
6943
 
6944
- #: front-end/default-fields/user-role/user-role.php:113, front-end/default-fields/user-role/user-role.php:99
6945
- msgid "Only administrators can see this field on edit profile forms."
6946
  msgstr ""
6947
 
6948
- #: front-end/default-fields/user-role/user-role.php:150, front-end/default-fields/user-role/user-role.php:179, front-end/default-fields/user-role/user-role.php:174
6949
- msgid "You cannot register this user role"
6950
  msgstr ""
6951
 
6952
- #: front-end/default-fields/username/username.php:51
6953
- msgid "This username already exists."
6954
  msgstr ""
6955
 
6956
- #: front-end/default-fields/username/username.php:54, front-end/default-fields/username/username.php:62
6957
- msgid "This username is invalid because it uses illegal characters."
6958
  msgstr ""
6959
 
6960
- #: front-end/default-fields/username/username.php:54, front-end/default-fields/username/username.php:62
6961
- msgid "Please enter a valid username."
6962
  msgstr ""
6963
 
6964
- #: front-end/default-fields/username/username.php:67
6965
- msgid "This username is already reserved to be used soon."
6966
  msgstr ""
6967
 
6968
- #: front-end/extra-fields/input-url/input-url.php:70
6969
- msgid "You must enter a valid URL."
6970
  msgstr ""
6971
 
6972
- #: front-end/extra-fields/map/map.php:69, front-end/extra-fields/map/map.php:46
6973
- msgid "Please add the Google Maps API key for this field."
6974
  msgstr ""
6975
 
6976
- #: front-end/extra-fields/map/map.php:134
6977
- msgid "Something went wrong. Please try again."
6978
  msgstr ""
6979
 
6980
- #: front-end/extra-fields/number/number.php:69
6981
- msgid "Please enter numbers only"
6982
  msgstr ""
6983
 
6984
- #: front-end/extra-fields/number/number.php:73
6985
- msgid "Value must be a multiplier of %1$s"
6986
  msgstr ""
6987
 
6988
- #: front-end/extra-fields/number/number.php:77
6989
- msgid "Value must be greater than or equal to %1$s"
6990
  msgstr ""
6991
 
6992
- #: front-end/extra-fields/number/number.php:81
6993
- msgid "Value must be less than or equal to %1$s"
6994
  msgstr ""
6995
 
6996
- #: front-end/extra-fields/phone/phone.php:22
6997
- msgid "Required phone number format: "
6998
  msgstr ""
6999
 
7000
- #: front-end/extra-fields/select-cpt/select-cpt.php:67, front-end/extra-fields/select-cpt/select-cpt.php:43, ../pb-add-on-labels-edit/assets/lib/wck-api/fields/country select.php:14, ../pb-add-on-labels-edit/assets/lib/wck-api/fields/cpt select.php:17, ../pb-add-on-labels-edit/assets/lib/wck-api/fields/select.php:14, ../pb-add-on-labels-edit/assets/lib/wck-api/fields/user select.php:15, assets/lib/wck-api/fields/country select.php:14, assets/lib/wck-api/fields/cpt select.php:17, assets/lib/wck-api/fields/select.php:14, assets/lib/wck-api/fields/user select.php:15
7001
- msgid "...Choose"
7002
  msgstr ""
7003
 
7004
- #: front-end/extra-fields/upload/upload.php:124
7005
- msgid "Remove"
7006
  msgstr ""
7007
 
7008
- #: front-end/extra-fields/upload/upload.php:189
7009
- msgid "Select File"
7010
  msgstr ""
7011
 
7012
- #: front-end/extra-fields/upload/upload.php:195
7013
- msgid "Upload "
7014
  msgstr ""
7015
 
7016
- #: front-end/extra-fields/upload/upload.php:174, front-end/extra-fields/upload/upload_helper_functions.php:61
7017
- msgid "Files must be smaller than "
7018
  msgstr ""
7019
 
7020
- #: front-end/extra-fields/upload/upload.php:175, front-end/extra-fields/upload/upload_helper_functions.php:87, front-end/extra-fields/upload/upload_helper_functions.php:96
7021
- msgid "Sorry, you cannot upload this file type for this field."
7022
  msgstr ""
7023
 
7024
- #: front-end/extra-fields/upload/upload_helper_functions.php:103
7025
- msgid "An error occurred, please try again later."
7026
  msgstr ""
7027
 
7028
- #: modules/repeater-field/admin/repeater-manage-fields.php:210
7029
- msgid "Limit"
7030
  msgstr ""
7031
 
7032
- #: modules/repeater-field/admin/repeater-manage-fields.php:210
7033
- msgid "Enable limit to the number of fields to be generated by users in front end forms "
7034
  msgstr ""
7035
 
7036
- #: modules/repeater-field/admin/repeater-manage-fields.php:211
7037
- msgid "General Limit"
7038
  msgstr ""
7039
 
7040
- #: modules/repeater-field/admin/repeater-manage-fields.php:211
7041
- msgid "Default limit for this repeater group. <br>Leave 0 for unlimited."
7042
  msgstr ""
7043
 
7044
- #: modules/repeater-field/admin/repeater-manage-fields.php:212
7045
- msgid "Limit reached message"
7046
  msgstr ""
7047
 
7048
- #: modules/repeater-field/admin/repeater-manage-fields.php:212
7049
- msgid "The maximum number of fields has been reached."
7050
  msgstr ""
7051
 
7052
- #: modules/repeater-field/admin/repeater-manage-fields.php:212
7053
- msgid "The popup message to display when the limit of repeater groups is reached."
7054
  msgstr ""
7055
 
7056
- #: modules/repeater-field/admin/repeater-manage-fields.php:213
7057
- msgid "Limit per Role"
7058
  msgstr ""
7059
 
7060
- #: modules/repeater-field/admin/repeater-manage-fields.php:213
7061
- msgid "Leave 0 for unlimited."
7062
  msgstr ""
7063
 
7064
- #: modules/repeater-field/admin/repeater-manage-fields.php:214
7065
- msgid "Repeated field group"
7066
  msgstr ""
7067
 
7068
- #: modules/repeater-field/admin/repeater-manage-fields.php:214
7069
- msgid "Manage field or group of fields that will be repeatable."
7070
  msgstr ""
7071
 
7072
- #: modules/repeater-field/admin/repeater-manage-fields.php:279
7073
- msgid "Edit field group"
7074
  msgstr ""
7075
 
7076
- #: modules/repeater-field/admin/repeater-manage-fields.php:280
7077
- msgid "Repeatable fields saved!"
7078
  msgstr ""
7079
 
7080
- #: modules/repeater-field/admin/repeater-manage-fields.php:297
7081
- msgid "Please enter a unique field title."
7082
  msgstr ""
7083
 
7084
- #: modules/repeater-field/admin/repeater-manage-fields.php:346
7085
- msgid ""
7086
- "Please enter a unique field title.\n"
7087
- ""
7088
  msgstr ""
7089
 
7090
  #: assets/lib/wck-api/fields/select-2.php:16
13
  "X-Poedit-SourceCharset: UTF-8\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
 
16
+ #: ../pb-add-on-bbpress/bbpress-page.php:24, ../pb-add-on-bbpress/bbpress-page.php:24, admin/add-ons.php:134
17
  msgid "bbPress"
18
  msgstr ""
19
 
61
  msgid "Replies Created"
62
  msgstr ""
63
 
64
+ #: ../pb-add-on-buddypress/buddypress-page.php:26, ../pb-add-on-buddypress/buddypress-page.php:26, admin/add-ons.php:87
65
  msgid "BuddyPress"
66
  msgstr ""
67
 
85
  msgid "Registration form:"
86
  msgstr ""
87
 
88
+ #: ../pb-add-on-buddypress/buddypress-page.php:65, add-ons/email-customizer/user-email-customizer.php:104
89
  msgid "Default Registration"
90
  msgstr ""
91
 
209
  msgid "Profile Builder Avatar field is disabled to allow use of BuddyPress Avatar."
210
  msgstr ""
211
 
212
+ #: ../pb-add-on-buddypress/index.php:511, admin/manage-fields.php:329
213
  msgid "Name"
214
  msgstr ""
215
 
233
  msgid "Display name:"
234
  msgstr ""
235
 
236
+ #: ../pb-add-on-buddypress/index.php:534, admin/manage-fields.php:335
237
  msgid "Contact Info"
238
  msgstr ""
239
 
241
  msgid "Website:"
242
  msgstr ""
243
 
244
+ #: ../pb-add-on-buddypress/index.php:541, admin/manage-fields.php:346
245
  msgid "About Yourself"
246
  msgstr ""
247
 
301
  msgid "Reset template"
302
  msgstr ""
303
 
 
 
 
 
 
 
 
 
304
  #: ../pb-add-on-custom-profile-menus/index.php:178
305
  msgid "Login Label"
306
  msgstr ""
381
  msgid "Width (px)"
382
  msgstr ""
383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  #: ../pb-add-on-field-visibility/index.php:219, admin/admin-bar.php:64
385
  msgid "Visibility"
386
  msgstr ""
409
  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>"
410
  msgstr ""
411
 
412
+ #: ../pb-add-on-field-visibility/index.php:239, admin/manage-fields.php:1350, features/functions.php:964, features/functions.php:971, 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
413
  msgid "Edit"
414
  msgstr ""
415
 
416
+ #: ../pb-add-on-field-visibility/index.php:239, admin/manage-fields.php:1350, features/functions.php:957, features/functions.php:971, 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
417
  msgid "Delete"
418
  msgstr ""
419
 
441
  msgid "You do not have the capabilities necessary to edit this field."
442
  msgstr ""
443
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
444
  #: ../pb-add-on-mailpoet-integration/index.php:128
445
  msgid "MailPoet Newsletters needs to be installed and activated for Profile Builder - MailPoet Add-on to work!"
446
  msgstr ""
447
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
448
  #: ../pb-add-on-multi-step-forms/index.php:102, ../pb-add-on-multi-step-forms/index.php:525
449
  msgid "Step"
450
  msgstr ""
525
  msgid "Previous"
526
  msgstr ""
527
 
528
+ #: ../pb-add-on-social-connect/index.php:185, ../pb-add-on-social-connect/index.php:186, ../pb-add-on-social-connect/index.php:294, ../pb-add-on-social-connect/index.php:298, admin/add-ons.php:102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
529
  msgid "Social Connect"
530
  msgstr ""
531
 
669
  msgid "Default Social Connect CSS in the Front-end"
670
  msgstr ""
671
 
672
+ #: ../pb-add-on-social-connect/index.php:239, admin/admin-functions.php:227, admin/general-settings.php:106, admin/general-settings.php:106
673
+ msgid "Settings"
674
+ msgstr ""
675
+
676
  #: ../pb-add-on-social-connect/index.php:253
677
  msgid "Help"
678
  msgstr ""
681
  msgid "Display Social Connect buttons:"
682
  msgstr ""
683
 
684
+ #: ../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/general-settings.php:341, admin/manage-fields.php:190, admin/private-website.php:67, admin/private-website.php:134, admin/private-website.php:147, 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:2420, features/content-restriction/content-restriction.php:89, admin/advanced-settings/includes/forms/placeholder-labels.php:134, 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-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:261, admin/advanced-settings/includes/views/view-fields.php:279, 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-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
685
+ msgid "Yes"
686
+ msgstr ""
687
+
688
+ #: ../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/general-settings.php:340, admin/private-website.php:66, admin/private-website.php:133, admin/private-website.php:148, 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:135
689
+ msgid "No"
690
+ msgstr ""
691
+
692
  #: ../pb-add-on-social-connect/index.php:372
693
  msgid "You have successfully unlinked %% from your account."
694
  msgstr ""
733
  msgid "You will be redirected in 5 seconds. If not, click %%."
734
  msgstr ""
735
 
736
+ #: ../pb-add-on-social-connect/index.php:394, features/functions.php:1251
737
  msgid "here"
738
  msgstr ""
739
 
777
  msgid "Profile Builder not active!"
778
  msgstr ""
779
 
780
+ #: ../pb-add-on-social-connect/index.php:871, admin/admin-functions.php:38, admin/general-settings.php:11
781
  msgid "General Settings"
782
  msgstr ""
783
 
801
  msgid "Country"
802
  msgstr ""
803
 
804
+ #: ../pb-add-on-woocommerce/billing-fields.php:6, ../pb-add-on-woocommerce/shipping-fields.php:6, admin/manage-fields.php:331, admin/advanced-settings/includes/views/view-fields.php:127
805
  msgid "First Name"
806
  msgstr ""
807
 
808
+ #: ../pb-add-on-woocommerce/billing-fields.php:7, ../pb-add-on-woocommerce/shipping-fields.php:7, admin/manage-fields.php:332, admin/advanced-settings/includes/views/view-fields.php:133
809
  msgid "Last Name"
810
  msgstr ""
811
 
917
  msgid "Field Name"
918
  msgstr ""
919
 
920
+ #: ../pb-add-on-woocommerce/index.php:304, admin/manage-fields.php:248
921
  msgid "Required"
922
  msgstr ""
923
 
949
  msgid "Whether the field should be added to the WooCommerce checkout form or not"
950
  msgstr ""
951
 
952
+ #: ../pb-add-on-woocommerce/woosync-page.php:23, ../pb-add-on-woocommerce/woosync-page.php:23, ../pb-add-on-woocommerce/woosync-page.php:70, admin/add-ons.php:110
953
  msgid "WooCommerce Sync"
954
  msgstr ""
955
 
977
  msgid "%s is also activated. You need to deactivate it before activating this version of the plugin."
978
  msgstr ""
979
 
980
+ #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:11, ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:11, admin/add-ons.php:126
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
981
  msgid "MailChimp"
982
  msgstr ""
983
 
1001
  msgid "Before you can make any changes you will need to add a MailChimp API key."
1002
  msgstr ""
1003
 
1004
+ #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:94, assets/lib/wck-api/wordpress-creation-kit.php:343
1005
  msgid "Save"
1006
  msgstr ""
1007
 
1021
  msgid "Enter a MailChimp API key. You can create keys in your MailChimp account."
1022
  msgstr ""
1023
 
1024
+ #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:157, assets/lib/wck-api/wordpress-creation-kit.php:544
1025
  msgid "Edit this item"
1026
  msgstr ""
1027
 
1028
+ #: ../pb-add-on-mailchimp-integration/admin/mailchimp-page.php:171, features/functions.php:950, assets/lib/wck-api/wordpress-creation-kit.php:406
1029
  msgid "Cancel"
1030
  msgstr ""
1031
 
1193
  ""
1194
  msgstr ""
1195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1196
  #: ../pb-add-on-social-connect/facebook/facebook.php:38
1197
  msgid "Sign in with Facebook"
1198
  msgstr ""
1233
  msgid "Link with Twitter"
1234
  msgstr ""
1235
 
1236
+ #: admin/add-ons.php:16, admin/add-ons.php:16
1237
  msgid "Add-Ons"
1238
  msgstr ""
1239
 
1240
+ #: admin/add-ons.php:33, admin/add-ons.php:35
1241
+ msgid "Profile Builder Add-ons"
1242
  msgstr ""
1243
 
1244
+ #: admin/add-ons.php:36
1245
+ msgid "You must first purchase this version to have access to the addon %1$shere%2$s"
1246
  msgstr ""
1247
 
1248
+ #: admin/add-ons.php:40
1249
+ msgid "Pro Add-ons"
1250
  msgstr ""
1251
 
1252
+ #: admin/add-ons.php:40
1253
+ msgid "These Add-ons are available with the Pro and Unlimited license"
1254
  msgstr ""
1255
 
1256
+ #: admin/add-ons.php:45, admin/basic-info.php:178
1257
+ msgid "Multiple Registration Forms"
1258
  msgstr ""
1259
 
1260
+ #: admin/add-ons.php:46
1261
+ msgid "Set up multiple registration forms with different fields for certain user roles. Helps capture different information from different types of users."
1262
  msgstr ""
1263
 
1264
+ #: admin/add-ons.php:52
1265
+ msgid "Multiple Edit Profile Forms"
1266
  msgstr ""
1267
 
1268
+ #: admin/add-ons.php:53, admin/basic-info.php:183
1269
+ msgid "Allow different user roles to edit their specific information. Set up multiple edit-profile forms with different fields for certain user roles."
1270
  msgstr ""
1271
 
1272
+ #: admin/add-ons.php:59, admin/basic-info.php:160, add-ons/user-listing/userlisting.php:11, add-ons/user-listing/userlisting.php:12, add-ons/user-listing/userlisting.php:17, add-ons/user-listing/userlisting.php:23
1273
+ msgid "User Listing"
1274
  msgstr ""
1275
 
1276
+ #: admin/add-ons.php:60
1277
+ msgid "Easy to edit templates for listing your users as well as creating single user pages."
1278
  msgstr ""
1279
 
1280
+ #: admin/add-ons.php:66, admin/basic-info.php:168, admin/general-settings.php:29
1281
+ msgid "Email Customizer"
1282
  msgstr ""
1283
 
1284
+ #: admin/add-ons.php:67
1285
+ msgid "Simple to use customization of the WordPress Registration Emails"
1286
  msgstr ""
1287
 
1288
+ #: admin/add-ons.php:73, admin/basic-info.php:172, add-ons/custom-redirects/custom_redirects_admin.php:33, add-ons/custom-redirects/custom_redirects_admin.php:34
1289
+ msgid "Custom Redirects"
1290
  msgstr ""
1291
 
1292
+ #: admin/add-ons.php:74
1293
+ msgid "Redirect users after login, after they first register or when they try to access the default WordPress dashboard, login, lost password and registration forms."
1294
  msgstr ""
1295
 
1296
+ #: admin/add-ons.php:80, admin/basic-info.php:186
1297
+ msgid "Repeater Fields"
1298
  msgstr ""
1299
 
1300
+ #: admin/add-ons.php:81
1301
+ msgid "The Repeater Field Module makes it really easy to add repeater front-end fields or groups of fields to your user profile. Integration with both the Email Customizer and User Listing modules, makes creating advanced user profiles possible."
1302
+ msgstr ""
1303
+
1304
+ #: admin/add-ons.php:88
1305
+ msgid "This integration add-on allows extending BuddyPress user profiles with Profile Builder user fields."
1306
+ msgstr ""
1307
+
1308
+ #: admin/add-ons.php:97
1309
+ msgid "Advanced Add-ons"
1310
+ msgstr ""
1311
+
1312
+ #: admin/add-ons.php:97
1313
+ msgid "These Add-ons are available with the Hobbyist, Pro and Unlimited license"
1314
+ msgstr ""
1315
+
1316
+ #: admin/add-ons.php:103
1317
+ msgid "Easily configure and enable social login on your website. Users can login with social platforms like Facebook, Google+ or Twitter."
1318
+ msgstr ""
1319
+
1320
+ #: admin/add-ons.php:111
1321
+ msgid "Syncs Profile Builder with WooCommerce, allowing you to manage the user Shipping and Billing fields from WooCommerce with Profile Builder."
1322
+ msgstr ""
1323
+
1324
+ #: admin/add-ons.php:118
1325
+ msgid "Multi Step Forms"
1326
+ msgstr ""
1327
+
1328
+ #: admin/add-ons.php:119
1329
+ msgid "Extends the functionality of Profile Builder by adding the possibility of having multi-page registration and edit-profile forms."
1330
+ msgstr ""
1331
+
1332
+ #: admin/add-ons.php:127
1333
+ msgid "Easily associate MailChimp list fields with Profile Builder fields and set advanced settings for each list."
1334
+ msgstr ""
1335
+
1336
+ #: admin/add-ons.php:135
1337
+ msgid "This add-on allows you to integrate Profile Builder with the popular forums plugin, bbPress."
1338
  msgstr ""
1339
 
1340
+ #: admin/add-ons.php:142
1341
+ msgid "Campaign Monitor"
1342
  msgstr ""
1343
 
1344
+ #: admin/add-ons.php:143
1345
+ msgid "Easily associate Campaign Monitor client list fields with Profile Builder fields. Use Profile Builder Campaign Monitor Widget to add more subscribers to your lists."
1346
  msgstr ""
1347
 
1348
+ #: admin/add-ons.php:150
1349
+ msgid "Field Visibility"
1350
  msgstr ""
1351
 
1352
+ #: admin/add-ons.php:151
1353
+ msgid "Extends the functionality of Profile Builder by allowing you to change visibility options for the extra fields."
1354
  msgstr ""
1355
 
1356
+ #: admin/add-ons.php:158
1357
+ msgid "Edit Profile Approved by Admin"
1358
+ msgstr ""
1359
+
1360
+ #: admin/add-ons.php:159
1361
+ msgid "Extends the functionality of Profile Builder by allowing administrators to approve profile changes made by users on individual fields."
1362
+ msgstr ""
1363
+
1364
+ #: admin/add-ons.php:166
1365
+ msgid "Custom Profile Menus"
1366
+ msgstr ""
1367
+
1368
+ #: admin/add-ons.php:167
1369
+ msgid "Add custom menu items like Login/Logout or just Logout button and Login/Register/Edit Profile in iFrame Popup."
1370
+ msgstr ""
1371
+
1372
+ #: admin/add-ons.php:174
1373
+ msgid "MailPoet"
1374
+ msgstr ""
1375
+
1376
+ #: admin/add-ons.php:175
1377
+ msgid "Allow users to subscribe to your MailPoet lists directly from the Register and Edit Profile forms."
1378
+ msgstr ""
1379
+
1380
+ #: admin/add-ons.php:184
1381
+ msgid "Free Add-ons"
1382
+ msgstr ""
1383
+
1384
+ #: admin/add-ons.php:184
1385
+ msgid "These Add-ons are available in all versions of Profile Builder"
1386
+ msgstr ""
1387
+
1388
+ #: admin/add-ons.php:189
1389
+ msgid "Import and Export"
1390
+ msgstr ""
1391
+
1392
+ #: admin/add-ons.php:190
1393
+ msgid "With the help of this add-on you will be able to export all Profile Builder Settings data to a .json. You can then use this file as a back-up or you can import this data on another instance of Profile Builder."
1394
+ msgstr ""
1395
+
1396
+ #: admin/add-ons.php:197
1397
+ msgid "Custom CSS Classes on Fields"
1398
+ msgstr ""
1399
+
1400
+ #: admin/add-ons.php:198
1401
+ msgid "This add-on extends the functionality of Profile Builder by allowing you to add custom css classes for fields."
1402
+ msgstr ""
1403
+
1404
+ #: admin/add-ons.php:205
1405
+ msgid "Maximum Character Length"
1406
+ msgstr ""
1407
+
1408
+ #: admin/add-ons.php:206
1409
+ msgid "Using this addon you can limit the maximum number of characters a user can type in a field added and managed with Profile Builder."
1410
+ msgstr ""
1411
+
1412
+ #: admin/add-ons.php:221
1413
+ msgid "Labels Edit"
1414
+ msgstr ""
1415
+
1416
+ #: admin/add-ons.php:222
1417
+ msgid "This add-on extends the functionality of our plugin and let us easily edit all Profile Builder labels."
1418
+ msgstr ""
1419
+
1420
+ #: admin/add-ons.php:253
1421
+ msgid "GDPR Communication Preferences"
1422
+ msgstr ""
1423
+
1424
+ #: admin/add-ons.php:254
1425
+ msgid "This add-on plugin adds a GDPR Communication preferences field to Profile Builder."
1426
  msgstr ""
1427
 
1428
  #: admin/add-ons.php:265
1429
+ msgid "Recommended Plugins"
1430
  msgstr ""
1431
 
1432
+ #: admin/add-ons.php:265
1433
+ msgid "These plugins are compatible with all versions of Profile Builder"
1434
  msgstr ""
1435
 
1436
+ #: admin/add-ons.php:270
1437
+ msgid "TranslatePress"
1438
  msgstr ""
1439
 
1440
+ #: admin/add-ons.php:271
1441
+ msgid "Translate your Profile Builder forms with a WordPress translation plugin that anyone can use. It offers a simpler way to translate WordPress sites, with full support for WooCommerce and site builders."
1442
  msgstr ""
1443
 
1444
+ #: admin/add-ons.php:278
1445
+ msgid "Paid Member Subscriptions"
1446
  msgstr ""
1447
 
1448
+ #: admin/add-ons.php:279
1449
+ msgid "Accept user payments, create subscription plans and restrict content on your membership site."
1450
  msgstr ""
1451
 
1452
+ #: admin/add-ons.php:286
1453
+ msgid "Client Portal"
1454
  msgstr ""
1455
 
1456
+ #: admin/add-ons.php:287
1457
+ msgid "Create private pages for your website users that only an administrator can edit."
1458
+ msgstr ""
1459
+
1460
+ #: admin/add-ons.php:294
1461
+ msgid "Custom Login Page Templates"
1462
+ msgstr ""
1463
+
1464
+ #: admin/add-ons.php:295
1465
+ msgid "Customizes the default WordPress Login Page with different templates, logo and background uploads and also adds support for custom CSS."
1466
+ msgstr ""
1467
+
1468
+ #: admin/add-ons.php:302
1469
+ msgid "Passwordless Login"
1470
  msgstr ""
1471
 
1472
+ #: admin/add-ons.php:303
1473
+ msgid "WordPress Passwordless Login is a plugin that allows your users to login without a password."
1474
  msgstr ""
1475
 
1476
+ #: admin/add-ons.php:401
1477
+ msgid "%1$sAdd-ons settings saved successfully%2$s"
1478
  msgstr ""
1479
 
1480
  #: admin/admin-bar.php:11
1493
  msgid "User-Role"
1494
  msgstr ""
1495
 
1496
+ #: admin/admin-bar.php:79, add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:230
1497
  msgid "Default"
1498
  msgstr ""
1499
 
1501
  msgid "Show"
1502
  msgstr ""
1503
 
1504
+ #: admin/admin-bar.php:81, add-ons/user-listing/userlisting.php:1680
1505
  msgid "Hide"
1506
  msgstr ""
1507
 
1521
  msgid "<strong>ERROR</strong>: The password must have the minimum length of %s characters"
1522
  msgstr ""
1523
 
1524
+ #: admin/admin-functions.php:138, admin/general-settings.php:326
1525
  msgid "Very weak"
1526
  msgstr ""
1527
 
1528
+ #: admin/admin-functions.php:138, admin/general-settings.php:327, features/functions.php:760, features/functions.php:784
1529
  msgid "Weak"
1530
  msgstr ""
1531
 
1532
+ #: admin/admin-functions.php:138, admin/general-settings.php:328, features/functions.php:760, features/functions.php:784
1533
  msgid "Medium"
1534
  msgstr ""
1535
 
1536
+ #: admin/admin-functions.php:138, admin/general-settings.php:329, features/functions.php:760, features/functions.php:784
1537
  msgid "Strong"
1538
  msgstr ""
1539
 
1561
  msgid "Docs"
1562
  msgstr ""
1563
 
1564
+ #: admin/admin-functions.php:260
1565
+ msgid "All the free add-ons have been migrated to the main plugin. Their old individual plugins have been disabled and you can delete them from your site if you were using them: <ul><li>Profile Builder - Custom CSS Classes on fields</li><li>Profile Builder - Customization Toolbox Add-On</li><li>Profile Builder - Email Confirmation Field</li><li>Profile Builder - GDPR Communication Preferences</li><li>Profile Builder - Import and Export Add-On</li><li>Profile Builder - Labels Edit Add-On</li><li>Profile Builder - Maximum Character Length Add-On</li><li>Profile Builder - Multiple Admin E-mails Add-On</li><li>Profile Builder - Placeholder Labels Add-On</li></ul>"
1566
  msgstr ""
1567
 
1568
+ #: admin/admin-functions.php:262
1569
  msgid "See details"
1570
  msgstr ""
1571
 
1572
+ #: admin/admin-functions.php:263
1573
  msgid "Dismiss this notice."
1574
  msgstr ""
1575
 
1609
  msgid "Friction-less login using %s shortcode or a widget."
1610
  msgstr ""
1611
 
1612
+ #: admin/basic-info.php:56, add-ons/multiple-forms/register-forms.php:11, add-ons/multiple-forms/register-forms.php:12
1613
  msgid "Registration Form"
1614
  msgstr ""
1615
 
1661
  msgid "Make sure users sign up with genuine emails. On registration users will receive a notification to confirm their email address."
1662
  msgstr ""
1663
 
1664
+ #: admin/basic-info.php:85, admin/general-settings.php:13, features/content-restriction/content-restriction.php:27, features/content-restriction/content-restriction.php:27
1665
  msgid "Content Restriction"
1666
  msgstr ""
1667
 
1786
  msgstr ""
1787
 
1788
  #: admin/basic-info.php:149
1789
+ msgid "Powerful Add-ons (**)"
1790
  msgstr ""
1791
 
1792
  #: admin/basic-info.php:150
1793
+ msgid "Everything you will need to manage your users is probably already available using the Pro Add-ons."
1794
  msgstr ""
1795
 
1796
  #: admin/basic-info.php:152
1797
+ msgid "Enable your add-ons"
1798
  msgstr ""
1799
 
1800
  #: admin/basic-info.php:155
1801
  msgid "Find out more about PRO Modules"
1802
  msgstr ""
1803
 
 
 
 
 
1804
  #: admin/basic-info.php:164
1805
  msgid "To create a page containing the users registered to this current site/blog, insert the following shortcode in a page of your chosing: %s."
1806
  msgstr ""
1809
  msgid "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."
1810
  msgstr ""
1811
 
 
 
 
 
1812
  #: admin/basic-info.php:169
1813
  msgid "Personalize all emails sent to your users or admins. On registration, email confirmation, admin approval / un-approval."
1814
  msgstr ""
1815
 
 
 
 
 
1816
  #: admin/basic-info.php:173
1817
  msgid "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."
1818
  msgstr ""
1819
 
 
 
 
 
1820
  #: admin/basic-info.php:179
1821
  msgid "Set up multiple registration forms with different fields for certain user roles. Capture different information from different types of users."
1822
  msgstr ""
1823
 
1824
+ #: admin/basic-info.php:182
1825
  msgid "Multiple Edit-profile Forms"
1826
  msgstr ""
1827
 
 
 
 
 
 
 
 
 
1828
  #: admin/basic-info.php:187
1829
  msgid "Set up a repeating group of fields on register and edit profile forms. Limit the number of repeated groups for each user role."
1830
  msgstr ""
1893
  msgid "Submit and Deactivate"
1894
  msgstr ""
1895
 
1896
+ #: admin/general-settings.php:12
1897
  msgid "Admin Bar"
1898
  msgstr ""
1899
 
1900
+ #: admin/general-settings.php:14, admin/private-website.php:11, admin/private-website.php:11
1901
  msgid "Private Website"
1902
  msgstr ""
1903
 
1904
+ #: admin/general-settings.php:15, admin/advanced-settings/advanced-settings.php:38, admin/advanced-settings/advanced-settings.php:48
1905
+ msgid "Advanced Settings"
1906
+ msgstr ""
1907
+
1908
+ #: admin/general-settings.php:19, admin/advanced-settings/advanced-settings.php:19
1909
+ msgid "Forms"
1910
+ msgstr ""
1911
+
1912
+ #: admin/general-settings.php:20, admin/advanced-settings/advanced-settings.php:20
1913
+ msgid "Fields"
1914
+ msgstr ""
1915
+
1916
+ #: admin/general-settings.php:22, admin/advanced-settings/advanced-settings.php:21
1917
+ msgid "Userlisting"
1918
+ msgstr ""
1919
+
1920
+ #: admin/general-settings.php:23, admin/advanced-settings/advanced-settings.php:22
1921
+ msgid "Shortcodes"
1922
+ msgstr ""
1923
+
1924
+ #: admin/general-settings.php:24, admin/advanced-settings/advanced-settings.php:23
1925
+ msgid "Admin"
1926
+ msgstr ""
1927
+
1928
+ #: admin/general-settings.php:30
1929
  msgid "User Emails"
1930
  msgstr ""
1931
 
1932
+ #: admin/general-settings.php:31
1933
  msgid "Administrator Emails"
1934
  msgstr ""
1935
 
1936
+ #: admin/general-settings.php:127
1937
  msgid "Profile Builder Settings"
1938
  msgstr ""
1939
 
1940
+ #: admin/general-settings.php:140
1941
  msgid "Load Profile Builder's own CSS file in the front-end:"
1942
  msgstr ""
1943
 
1944
+ #: admin/general-settings.php:145
1945
  msgid "You can find the default file here: %1$s"
1946
  msgstr ""
1947
 
1948
+ #: admin/general-settings.php:152
1949
  msgid "Automatically Log In:"
1950
  msgstr ""
1951
 
1952
+ #: admin/general-settings.php:160
1953
  msgid "Select \"Yes\" to automatically log in new users after successful registration."
1954
  msgstr ""
1955
 
1956
+ #: admin/general-settings.php:167
1957
  msgid "\"Email Confirmation\" Activated:"
1958
  msgstr ""
1959
 
1960
+ #: admin/general-settings.php:175
1961
  msgid "This works with front-end forms only. Recommended to redirect WP default registration to a Profile Builder one using \"Custom Redirects\" module."
1962
  msgstr ""
1963
 
1964
+ #: admin/general-settings.php:177
1965
  msgid "You can find a list of unconfirmed email addresses %1$sUsers > All Users > Email Confirmation%2$s."
1966
  msgstr ""
1967
 
1968
+ #: admin/general-settings.php:185
1969
  msgid "\"Email Confirmation\" Landing Page:"
1970
  msgstr ""
1971
 
1972
+ #: admin/general-settings.php:190
1973
  msgid "Existing Pages"
1974
  msgstr ""
1975
 
1976
+ #: admin/general-settings.php:205
1977
  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."
1978
  msgstr ""
1979
 
1980
+ #: admin/general-settings.php:216
1981
  msgid "\"Admin Approval\" Activated:"
1982
  msgstr ""
1983
 
1984
+ #: admin/general-settings.php:224
1985
  msgid "You can find a list of users at %1$sUsers > All Users > Admin Approval%2$s."
1986
  msgstr ""
1987
 
1988
+ #: admin/general-settings.php:231
1989
  msgid "\"Admin Approval\" on User Role:"
1990
  msgstr ""
1991
 
1992
+ #: admin/general-settings.php:250
1993
  msgid "Select on what user roles to activate Admin Approval."
1994
  msgstr ""
1995
 
1996
+ #: admin/general-settings.php:262
1997
  msgid "\"Roles Editor\" Activated:"
1998
  msgstr ""
1999
 
2000
+ #: admin/general-settings.php:270
2001
  msgid "You can add / edit user roles at %1$sUsers > Roles Editor%2$s."
2002
  msgstr ""
2003
 
2004
+ #: admin/general-settings.php:281
2005
  msgid "\"Admin Approval\" Feature:"
2006
  msgstr ""
2007
 
2008
+ #: admin/general-settings.php:284
2009
  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."
2010
  msgstr ""
2011
 
2012
+ #: admin/general-settings.php:291
2013
  msgid "Allow Users to Log in With:"
2014
  msgstr ""
2015
 
2016
+ #: admin/general-settings.php:295
2017
  msgid "Username and Email"
2018
  msgstr ""
2019
 
2020
+ #: admin/general-settings.php:296, admin/manage-fields.php:330, front-end/login.php:255, front-end/login.php:269, front-end/login.php:409, 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:312, add-ons/user-listing/userlisting.php:807, add-ons/user-listing/userlisting.php:2374, features/admin-approval/class-admin-approval.php:166, features/email-confirmation/class-email-confirmation.php:168, admin/advanced-settings/includes/views/view-fields.php:121
2021
  msgid "Username"
2022
  msgstr ""
2023
 
2024
+ #: admin/general-settings.php:297, front-end/login.php:406, 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:813, add-ons/user-listing/userlisting.php:2375, features/admin-approval/class-admin-approval.php:169, features/email-confirmation/class-email-confirmation.php:169, admin/advanced-settings/includes/shortcodes/resend-activation.php:9
2025
+ msgid "Email"
2026
+ msgstr ""
2027
+
2028
+ #: admin/general-settings.php:300
2029
  msgid "\"Username and Email\" - users can Log In with both Username and Email."
2030
  msgstr ""
2031
 
2032
+ #: admin/general-settings.php:301
2033
  msgid "\"Username\" - users can Log In only with Username."
2034
  msgstr ""
2035
 
2036
+ #: admin/general-settings.php:302
2037
  msgid "\"Email\" - users can Log In only with Email."
2038
  msgstr ""
2039
 
2040
+ #: admin/general-settings.php:309
2041
  msgid "Minimum Password Length:"
2042
  msgstr ""
2043
 
2044
+ #: admin/general-settings.php:314
2045
  msgid "Enter the minimum characters the password should have. Leave empty for no minimum limit"
2046
  msgstr ""
2047
 
2048
+ #: admin/general-settings.php:321
2049
  msgid "Minimum Password Strength:"
2050
  msgstr ""
2051
 
2052
+ #: admin/general-settings.php:325
2053
  msgid "Disabled"
2054
  msgstr ""
2055
 
2056
+ #: admin/general-settings.php:336
2057
  msgid "Use ajax on conditional fields:"
2058
  msgstr ""
2059
 
2060
+ #: admin/general-settings.php:344
2061
  msgid "For large conditional forms select \"Yes\" for an improved page performance"
2062
  msgstr ""
2063
 
2069
  msgid "Manage Form Fields"
2070
  msgstr ""
2071
 
2072
+ #: admin/manage-fields.php:131
2073
  msgid "Choose one of the supported field types"
2074
  msgstr ""
2075
 
2076
+ #: admin/manage-fields.php:133
2077
  msgid ". Extra Field Types are available in <a href=\"%s\">Hobbyist or PRO versions</a>."
2078
  msgstr ""
2079
 
2080
+ #: admin/manage-fields.php:169
2081
  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"
2082
  msgstr ""
2083
 
2084
+ #: admin/manage-fields.php:166
2085
  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"
2086
  msgstr ""
2087
 
2088
+ #: admin/manage-fields.php:183
2089
  msgid "Field Title"
2090
  msgstr ""
2091
 
2092
+ #: admin/manage-fields.php:183
2093
  msgid "Title of the field"
2094
  msgstr ""
2095
 
2096
+ #: admin/manage-fields.php:184, add-ons/multiple-forms/edit-profile-forms.php:245, add-ons/multiple-forms/register-forms.php:266
2097
  msgid "Field"
2098
  msgstr ""
2099
 
2100
+ #: admin/manage-fields.php:185
2101
  msgid "Meta-name"
2102
  msgstr ""
2103
 
2104
+ #: admin/manage-fields.php:186, 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
2105
  msgid "ID"
2106
  msgstr ""
2107
 
2108
+ #: admin/manage-fields.php:186, add-ons/multiple-forms/edit-profile-forms.php:246, add-ons/multiple-forms/register-forms.php:267
2109
  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"
2110
  msgstr ""
2111
 
2112
+ #: admin/manage-fields.php:187
2113
  msgid "Description"
2114
  msgstr ""
2115
 
2116
+ #: admin/manage-fields.php:187
2117
  msgid "Enter a (detailed) description of the option for end users to read<br/>Optional"
2118
  msgstr ""
2119
 
2120
+ #: admin/manage-fields.php:188
2121
  msgid "Row Count"
2122
  msgstr ""
2123
 
2124
+ #: admin/manage-fields.php:188
2125
  msgid "Specify the number of rows for a 'Textarea' field<br/>If not specified, defaults to 5"
2126
  msgstr ""
2127
 
2128
+ #: admin/manage-fields.php:189
2129
  msgid "Allowed Image Extensions"
2130
  msgstr ""
2131
 
2132
+ #: admin/manage-fields.php:189
2133
  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 (.*)"
2134
  msgstr ""
2135
 
2136
+ #: admin/manage-fields.php:190
2137
  msgid "Use Simple Upload"
2138
  msgstr ""
2139
 
2140
+ #: admin/manage-fields.php:190
2141
  msgid "Use a simple upload field instead of the WordPress upload"
2142
  msgstr ""
2143
 
2144
+ #: admin/manage-fields.php:191
2145
  msgid "Allowed Upload Extensions"
2146
  msgstr ""
2147
 
2148
+ #: admin/manage-fields.php:191
2149
  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 (.*)"
2150
  msgstr ""
2151
 
2152
+ #: admin/manage-fields.php:192
2153
  msgid "Avatar Size"
2154
  msgstr ""
2155
 
2156
+ #: admin/manage-fields.php:192
2157
  msgid "Enter a value (between 20 and 200) for the size of the 'Avatar'<br/>If not specified, defaults to 100"
2158
  msgstr ""
2159
 
2160
+ #: admin/manage-fields.php:193
2161
  msgid "Date-format"
2162
  msgstr ""
2163
 
2164
+ #: admin/manage-fields.php:193
2165
  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"
2166
  msgstr ""
2167
 
2168
+ #: admin/manage-fields.php:194
2169
  msgid "Terms of Agreement"
2170
  msgstr ""
2171
 
2172
+ #: admin/manage-fields.php:194
2173
  msgid "Enter a detailed description of the temrs 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;"
2174
  msgstr ""
2175
 
2176
+ #: admin/manage-fields.php:195
2177
  msgid "Options"
2178
  msgstr ""
2179
 
2180
+ #: admin/manage-fields.php:195
2181
  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"
2182
  msgstr ""
2183
 
2184
+ #: admin/manage-fields.php:196
2185
+ msgid "Labels"
2186
+ msgstr ""
2187
+
2188
+ #: admin/manage-fields.php:196
2189
  msgid "Enter a comma separated list of labels<br/>Visible for the user"
2190
  msgstr ""
2191
 
2192
+ #: admin/manage-fields.php:197
2193
  msgid "reCAPTCHA Type"
2194
  msgstr ""
2195
 
2196
+ #: admin/manage-fields.php:197
2197
  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."
2198
  msgstr ""
2199
 
2200
+ #: admin/manage-fields.php:198
2201
  msgid "Site Key"
2202
  msgstr ""
2203
 
2204
+ #: admin/manage-fields.php:198
2205
  msgid "The site key from Google, <a href=\"http://www.google.com/recaptcha\" target=\"_blank\">www.google.com/recaptcha</a>"
2206
  msgstr ""
2207
 
2208
+ #: admin/manage-fields.php:199
2209
  msgid "Secret Key"
2210
  msgstr ""
2211
 
2212
+ #: admin/manage-fields.php:199
2213
  msgid "The secret key from Google, <a href=\"http://www.google.com/recaptcha\" target=\"_blank\">www.google.com/recaptcha</a>"
2214
  msgstr ""
2215
 
2216
+ #: admin/manage-fields.php:200
2217
  msgid "Display on PB forms"
2218
  msgstr ""
2219
 
2220
+ #: admin/manage-fields.php:200
2221
  msgid "PB Login"
2222
  msgstr ""
2223
 
2224
+ #: admin/manage-fields.php:200
2225
  msgid "PB Register"
2226
  msgstr ""
2227
 
2228
+ #: admin/manage-fields.php:200
2229
  msgid "PB Recover Password"
2230
  msgstr ""
2231
 
2232
+ #: admin/manage-fields.php:200
2233
  msgid "Select on which Profile Builder forms to display reCAPTCHA"
2234
  msgstr ""
2235
 
2236
+ #: admin/manage-fields.php:201
2237
  msgid "Display on default WP forms"
2238
  msgstr ""
2239
 
2240
+ #: admin/manage-fields.php:201
2241
  msgid "Default WP Login"
2242
  msgstr ""
2243
 
2244
+ #: admin/manage-fields.php:201
2245
  msgid "Default WP Register"
2246
  msgstr ""
2247
 
2248
+ #: admin/manage-fields.php:201
2249
  msgid "Default WP Recover Password"
2250
  msgstr ""
2251
 
2252
+ #: admin/manage-fields.php:201
2253
  msgid "Select on which default WP forms to display reCAPTCHA"
2254
  msgstr ""
2255
 
2256
+ #: admin/manage-fields.php:202
2257
  msgid "User Roles"
2258
  msgstr ""
2259
 
2260
+ #: admin/manage-fields.php:202
2261
  msgid "Select which user roles to show to the user ( drag and drop to re-order )"
2262
  msgstr ""
2263
 
2264
+ #: admin/manage-fields.php:203
2265
  msgid "Display on Edit Profile"
2266
  msgstr ""
2267
 
2268
+ #: admin/manage-fields.php:203
2269
  msgid "Check if you want the select user role field to appear on Edit Profile forms"
2270
  msgstr ""
2271
 
2272
+ #: admin/manage-fields.php:204
2273
  msgid "User Roles Order"
2274
  msgstr ""
2275
 
2276
+ #: admin/manage-fields.php:204
2277
  msgid "Save the user role order from the user roles checkboxes"
2278
  msgstr ""
2279
 
2280
+ #: admin/manage-fields.php:205
2281
  msgid "Default Value"
2282
  msgstr ""
2283
 
2284
+ #: admin/manage-fields.php:205
2285
  msgid "Default value of the field"
2286
  msgstr ""
2287
 
2288
+ #: admin/manage-fields.php:206, admin/manage-fields.php:208, admin/manage-fields.php:209, admin/manage-fields.php:210
2289
  msgid "Default Option"
2290
  msgstr ""
2291
 
2292
+ #: admin/manage-fields.php:206
2293
  msgid "Specify the option which should be selected by default"
2294
  msgstr ""
2295
 
2296
+ #: admin/manage-fields.php:207
2297
  msgid "Default Option(s)"
2298
  msgstr ""
2299
 
2300
+ #: admin/manage-fields.php:207
2301
  msgid "Specify the option which should be checked by default<br/>If there are multiple values, separate them with a ',' (comma)"
2302
  msgstr ""
2303
 
2304
+ #: admin/manage-fields.php:208, admin/manage-fields.php:209, admin/manage-fields.php:210
2305
  msgid "Default option of the field"
2306
  msgstr ""
2307
 
2308
+ #: admin/manage-fields.php:211
2309
  msgid "Show Currency Symbol"
2310
  msgstr ""
2311
 
2312
+ #: admin/manage-fields.php:211
2313
  msgid "Whether the currency symbol should be displayed after the currency name in the select option."
2314
  msgstr ""
2315
 
2316
+ #: admin/manage-fields.php:212
2317
  msgid "Show Post Type"
2318
  msgstr ""
2319
 
2320
+ #: admin/manage-fields.php:212
2321
  msgid "Posts from what post type will be displayed in the select."
2322
  msgstr ""
2323
 
2324
+ #: admin/manage-fields.php:213
2325
  msgid "Allowable Values"
2326
  msgstr ""
2327
 
2328
+ #: admin/manage-fields.php:213
2329
  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."
2330
  msgstr ""
2331
 
2332
+ #: admin/manage-fields.php:214
2333
  msgid "Error Message"
2334
  msgstr ""
2335
 
2336
+ #: admin/manage-fields.php:214
2337
  msgid "Set a custom error message that will be displayed to the user."
2338
  msgstr ""
2339
 
2340
+ #: admin/manage-fields.php:215
2341
  msgid "Time Format"
2342
  msgstr ""
2343
 
2344
+ #: admin/manage-fields.php:215
2345
  msgid "Specify the time format."
2346
  msgstr ""
2347
 
2348
+ #: admin/manage-fields.php:216
2349
  msgid "Google Maps API Key"
2350
  msgstr ""
2351
 
2352
+ #: admin/manage-fields.php:216
2353
  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."
2354
  msgstr ""
2355
 
2356
+ #: admin/manage-fields.php:221
2357
  msgid "Default Latitude"
2358
  msgstr ""
2359
 
2360
+ #: admin/manage-fields.php:222
2361
  msgid "The latitude at which the map should be displayed when no pins are attached."
2362
  msgstr ""
2363
 
2364
+ #: admin/manage-fields.php:228
2365
  msgid "Default Longitude"
2366
  msgstr ""
2367
 
2368
+ #: admin/manage-fields.php:229
2369
  msgid "The longitude at which the map should be displayed when no pins are attached."
2370
  msgstr ""
2371
 
2372
+ #: admin/manage-fields.php:235
2373
  msgid "Default Zoom Level"
2374
  msgstr ""
2375
 
2376
+ #: admin/manage-fields.php:236
2377
  msgid "Add a number from 0 to 19. The higher the number the higher the zoom."
2378
  msgstr ""
2379
 
2380
+ #: admin/manage-fields.php:240
2381
  msgid "Map Height"
2382
  msgstr ""
2383
 
2384
+ #: admin/manage-fields.php:240
2385
  msgid "The height of the map."
2386
  msgstr ""
2387
 
2388
+ #: admin/manage-fields.php:241
2389
  msgid "Default Content"
2390
  msgstr ""
2391
 
2392
+ #: admin/manage-fields.php:241
2393
  msgid "Default value of the textarea"
2394
  msgstr ""
2395
 
2396
+ #: admin/manage-fields.php:242
2397
  msgid "HTML Content"
2398
  msgstr ""
2399
 
2400
+ #: admin/manage-fields.php:242
2401
  msgid "Add your HTML (or text) content"
2402
  msgstr ""
2403
 
2404
+ #: admin/manage-fields.php:243
2405
  msgid "Phone Format"
2406
  msgstr ""
2407
 
2408
+ #: admin/manage-fields.php:243
2409
  msgid "You can use: # for numbers, parentheses ( ), - sign, + sign, dot . and spaces."
2410
  msgstr ""
2411
 
2412
+ #: admin/manage-fields.php:243
2413
  msgid "Eg. (###) ###-####"
2414
  msgstr ""
2415
 
2416
+ #: admin/manage-fields.php:243
2417
  msgid "Empty field won't check for correct phone number."
2418
  msgstr ""
2419
 
2420
+ #: admin/manage-fields.php:244
2421
  msgid "Heading Tag"
2422
  msgstr ""
2423
 
2424
+ #: admin/manage-fields.php:244
2425
  msgid "Change heading field size on front-end forms"
2426
  msgstr ""
2427
 
2428
+ #: admin/manage-fields.php:245
2429
  msgid "Min Number Value"
2430
  msgstr ""
2431
 
2432
+ #: admin/manage-fields.php:245
2433
  msgid "Min allowed number value (0 to allow only positive numbers)"
2434
  msgstr ""
2435
 
2436
+ #: admin/manage-fields.php:245
2437
  msgid "Leave it empty for no min value"
2438
  msgstr ""
2439
 
2440
+ #: admin/manage-fields.php:246
2441
  msgid "Max Number Value"
2442
  msgstr ""
2443
 
2444
+ #: admin/manage-fields.php:246
2445
  msgid "Max allowed number value (0 to allow only negative numbers)"
2446
  msgstr ""
2447
 
2448
+ #: admin/manage-fields.php:246
2449
  msgid "Leave it empty for no max value"
2450
  msgstr ""
2451
 
2452
+ #: admin/manage-fields.php:247
2453
  msgid "Number Step Value"
2454
  msgstr ""
2455
 
2456
+ #: admin/manage-fields.php:247
2457
  msgid "Step value 1 to allow only integers, 0.1 to allow integers and numbers with 1 decimal"
2458
  msgstr ""
2459
 
2460
+ #: admin/manage-fields.php:247
2461
  msgid "To allow multiple decimals use for eg. 0.01 (for 2 deciamls) and so on"
2462
  msgstr ""
2463
 
2464
+ #: admin/manage-fields.php:247
2465
  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)"
2466
  msgstr ""
2467
 
2468
+ #: admin/manage-fields.php:247
2469
  msgid "Leave it empty for no restriction"
2470
  msgstr ""
2471
 
2472
+ #: admin/manage-fields.php:248
2473
  msgid "Whether the field is required or not"
2474
  msgstr ""
2475
 
2476
+ #: admin/manage-fields.php:249
2477
  msgid "Overwrite Existing"
2478
  msgstr ""
2479
 
2480
+ #: admin/manage-fields.php:249
2481
  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"
2482
  msgstr ""
2483
 
2484
+ #: admin/manage-fields.php:255
2485
  msgid "POIs Load Type"
2486
  msgstr ""
2487
 
2488
+ #: admin/manage-fields.php:257
2489
  msgid "POIs of the listed users (as filtered & paginated)"
2490
  msgstr ""
2491
 
2492
+ #: admin/manage-fields.php:258
2493
  msgid "POIs of all the users for the filter* (no pagination)"
2494
  msgstr ""
2495
 
2496
+ #: admin/manage-fields.php:261
2497
  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."
2498
  msgstr ""
2499
 
2500
+ #: admin/manage-fields.php:268
2501
  msgid "POI Bubble Info"
2502
  msgstr ""
2503
 
2504
+ #: admin/manage-fields.php:271
2505
  msgid "Select the attributes to be listed inside the POI bubble."
2506
  msgstr ""
2507
 
2508
+ #: admin/manage-fields.php:282
2509
  msgid "Number of Users per Map Iteration"
2510
  msgstr ""
2511
 
2512
+ #: admin/manage-fields.php:283
2513
  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."
2514
  msgstr ""
2515
 
2516
+ #: admin/manage-fields.php:288
2517
+ msgid "Maximum Selections"
2518
+ msgstr ""
2519
+
2520
+ #: admin/manage-fields.php:288
2521
+ msgid "Select2 multi-value select boxes can set restrictions regarding the maximum number of options selected."
2522
+ msgstr ""
2523
+
2524
+ #: admin/manage-fields.php:289
2525
+ msgid "User Inputted Options"
2526
+ msgstr ""
2527
+
2528
+ #: admin/manage-fields.php:289
2529
+ msgid "Check this to allow users to create their own options beside the pre-existing ones."
2530
+ msgstr ""
2531
+
2532
+ #: admin/manage-fields.php:296
2533
  msgid "Form Field Properties"
2534
  msgstr ""
2535
 
2536
+ #: admin/manage-fields.php:310
2537
  msgid "Registration & Edit Profile Forms"
2538
  msgstr ""
2539
 
2540
+ #: admin/manage-fields.php:330
2541
  msgid "Usernames cannot be changed."
2542
  msgstr ""
2543
 
2544
+ #: admin/manage-fields.php:333, add-ons/user-listing/userlisting.php:846, add-ons/user-listing/userlisting.php:2382
2545
  msgid "Nickname"
2546
  msgstr ""
2547
 
2548
+ #: admin/manage-fields.php:334
2549
  msgid "Display name publicly as"
2550
  msgstr ""
2551
 
2552
+ #: admin/manage-fields.php:336
2553
  msgid "E-mail"
2554
  msgstr ""
2555
 
2556
+ #: admin/manage-fields.php:337, add-ons/email-customizer/email-customizer.php:33, add-ons/user-listing/userlisting.php:121, add-ons/user-listing/userlisting.php:828, add-ons/user-listing/userlisting.php:2376
2557
  msgid "Website"
2558
  msgstr ""
2559
 
2560
+ #: admin/manage-fields.php:341
2561
  msgid "AIM"
2562
  msgstr ""
2563
 
2564
+ #: admin/manage-fields.php:342
2565
  msgid "Yahoo IM"
2566
  msgstr ""
2567
 
2568
+ #: admin/manage-fields.php:343
2569
  msgid "Jabber / Google Talk"
2570
  msgstr ""
2571
 
2572
+ #: admin/manage-fields.php:347, add-ons/user-listing/userlisting.php:124, add-ons/user-listing/userlisting.php:831, add-ons/user-listing/userlisting.php:2377
2573
  msgid "Biographical Info"
2574
  msgstr ""
2575
 
2576
+ #: admin/manage-fields.php:347
2577
  msgid "Share a little biographical information to fill out your profile. This may be shown publicly."
2578
  msgstr ""
2579
 
2580
+ #: admin/manage-fields.php:348, front-end/recover.php:72, add-ons/email-customizer/email-customizer.php:30
2581
  msgid "Password"
2582
  msgstr ""
2583
 
2584
+ #: admin/manage-fields.php:348
2585
  msgid "Type your password."
2586
  msgstr ""
2587
 
2588
+ #: admin/manage-fields.php:349, front-end/recover.php:73
2589
  msgid "Repeat Password"
2590
  msgstr ""
2591
 
2592
+ #: admin/manage-fields.php:349
2593
  msgid "Type your password again. "
2594
  msgstr ""
2595
 
2596
+ #: admin/manage-fields.php:351
2597
  msgid "Blog Details"
2598
  msgstr ""
2599
 
2600
+ #: admin/manage-fields.php:410
2601
  msgid "Select a Country"
2602
  msgstr ""
2603
 
2604
+ #: admin/manage-fields.php:411
2605
  msgid "Afghanistan"
2606
  msgstr ""
2607
 
2608
+ #: admin/manage-fields.php:412
2609
  msgid "Aland Islands"
2610
  msgstr ""
2611
 
2612
+ #: admin/manage-fields.php:413
2613
  msgid "Albania"
2614
  msgstr ""
2615
 
2616
+ #: admin/manage-fields.php:414
2617
  msgid "Algeria"
2618
  msgstr ""
2619
 
2620
+ #: admin/manage-fields.php:415
2621
  msgid "American Samoa"
2622
  msgstr ""
2623
 
2624
+ #: admin/manage-fields.php:416
2625
  msgid "Andorra"
2626
  msgstr ""
2627
 
2628
+ #: admin/manage-fields.php:417
2629
  msgid "Angola"
2630
  msgstr ""
2631
 
2632
+ #: admin/manage-fields.php:418
2633
  msgid "Anguilla"
2634
  msgstr ""
2635
 
2636
+ #: admin/manage-fields.php:419
2637
  msgid "Antarctica"
2638
  msgstr ""
2639
 
2640
+ #: admin/manage-fields.php:420
2641
  msgid "Antigua and Barbuda"
2642
  msgstr ""
2643
 
2644
+ #: admin/manage-fields.php:421
2645
  msgid "Argentina"
2646
  msgstr ""
2647
 
2648
+ #: admin/manage-fields.php:422
2649
  msgid "Armenia"
2650
  msgstr ""
2651
 
2652
+ #: admin/manage-fields.php:423
2653
  msgid "Aruba"
2654
  msgstr ""
2655
 
2656
+ #: admin/manage-fields.php:424
2657
  msgid "Australia"
2658
  msgstr ""
2659
 
2660
+ #: admin/manage-fields.php:425
2661
  msgid "Austria"
2662
  msgstr ""
2663
 
2664
+ #: admin/manage-fields.php:426
2665
  msgid "Azerbaijan"
2666
  msgstr ""
2667
 
2668
+ #: admin/manage-fields.php:427
2669
  msgid "Bahamas"
2670
  msgstr ""
2671
 
2672
+ #: admin/manage-fields.php:428
2673
  msgid "Bahrain"
2674
  msgstr ""
2675
 
2676
+ #: admin/manage-fields.php:429
2677
  msgid "Bangladesh"
2678
  msgstr ""
2679
 
2680
+ #: admin/manage-fields.php:430
2681
  msgid "Barbados"
2682
  msgstr ""
2683
 
2684
+ #: admin/manage-fields.php:431
2685
  msgid "Belarus"
2686
  msgstr ""
2687
 
2688
+ #: admin/manage-fields.php:432
2689
  msgid "Belgium"
2690
  msgstr ""
2691
 
2692
+ #: admin/manage-fields.php:433
2693
  msgid "Belize"
2694
  msgstr ""
2695
 
2696
+ #: admin/manage-fields.php:434
2697
  msgid "Benin"
2698
  msgstr ""
2699
 
2700
+ #: admin/manage-fields.php:435
2701
  msgid "Bermuda"
2702
  msgstr ""
2703
 
2704
+ #: admin/manage-fields.php:436
2705
  msgid "Bhutan"
2706
  msgstr ""
2707
 
2708
+ #: admin/manage-fields.php:437
2709
  msgid "Bolivia"
2710
  msgstr ""
2711
 
2712
+ #: admin/manage-fields.php:438
2713
  msgid "Bonaire, Saint Eustatius and Saba"
2714
  msgstr ""
2715
 
2716
+ #: admin/manage-fields.php:439
2717
  msgid "Bosnia and Herzegovina"
2718
  msgstr ""
2719
 
2720
+ #: admin/manage-fields.php:440
2721
  msgid "Botswana"
2722
  msgstr ""
2723
 
2724
+ #: admin/manage-fields.php:441
2725
  msgid "Bouvet Island"
2726
  msgstr ""
2727
 
2728
+ #: admin/manage-fields.php:442
2729
  msgid "Brazil"
2730
  msgstr ""
2731
 
2732
+ #: admin/manage-fields.php:443
2733
  msgid "British Indian Ocean Territory"
2734
  msgstr ""
2735
 
2736
+ #: admin/manage-fields.php:444
2737
  msgid "British Virgin Islands"
2738
  msgstr ""
2739
 
2740
+ #: admin/manage-fields.php:445
2741
  msgid "Brunei"
2742
  msgstr ""
2743
 
2744
+ #: admin/manage-fields.php:446
2745
  msgid "Bulgaria"
2746
  msgstr ""
2747
 
2748
+ #: admin/manage-fields.php:447
2749
  msgid "Burkina Faso"
2750
  msgstr ""
2751
 
2752
+ #: admin/manage-fields.php:448
2753
  msgid "Burundi"
2754
  msgstr ""
2755
 
2756
+ #: admin/manage-fields.php:449
2757
  msgid "Cambodia"
2758
  msgstr ""
2759
 
2760
+ #: admin/manage-fields.php:450
2761
  msgid "Cameroon"
2762
  msgstr ""
2763
 
2764
+ #: admin/manage-fields.php:451
2765
  msgid "Canada"
2766
  msgstr ""
2767
 
2768
+ #: admin/manage-fields.php:452
2769
  msgid "Cape Verde"
2770
  msgstr ""
2771
 
2772
+ #: admin/manage-fields.php:453
2773
  msgid "Cayman Islands"
2774
  msgstr ""
2775
 
2776
+ #: admin/manage-fields.php:454
2777
  msgid "Central African Republic"
2778
  msgstr ""
2779
 
2780
+ #: admin/manage-fields.php:455
2781
  msgid "Chad"
2782
  msgstr ""
2783
 
2784
+ #: admin/manage-fields.php:456
2785
  msgid "Chile"
2786
  msgstr ""
2787
 
2788
+ #: admin/manage-fields.php:457
2789
  msgid "China"
2790
  msgstr ""
2791
 
2792
+ #: admin/manage-fields.php:458
2793
  msgid "Christmas Island"
2794
  msgstr ""
2795
 
2796
+ #: admin/manage-fields.php:459
2797
  msgid "Cocos Islands"
2798
  msgstr ""
2799
 
2800
+ #: admin/manage-fields.php:460
2801
  msgid "Colombia"
2802
  msgstr ""
2803
 
2804
+ #: admin/manage-fields.php:461
2805
  msgid "Comoros"
2806
  msgstr ""
2807
 
2808
+ #: admin/manage-fields.php:462
2809
  msgid "Cook Islands"
2810
  msgstr ""
2811
 
2812
+ #: admin/manage-fields.php:463
2813
  msgid "Costa Rica"
2814
  msgstr ""
2815
 
2816
+ #: admin/manage-fields.php:464
2817
  msgid "Croatia"
2818
  msgstr ""
2819
 
2820
+ #: admin/manage-fields.php:465
2821
  msgid "Cuba"
2822
  msgstr ""
2823
 
2824
+ #: admin/manage-fields.php:466
2825
  msgid "Curacao"
2826
  msgstr ""
2827
 
2828
+ #: admin/manage-fields.php:467
2829
  msgid "Cyprus"
2830
  msgstr ""
2831
 
2832
+ #: admin/manage-fields.php:468
2833
  msgid "Czech Republic"
2834
  msgstr ""
2835
 
2836
+ #: admin/manage-fields.php:469
2837
  msgid "Democratic Republic of the Congo"
2838
  msgstr ""
2839
 
2840
+ #: admin/manage-fields.php:470
2841
  msgid "Denmark"
2842
  msgstr ""
2843
 
2844
+ #: admin/manage-fields.php:471
2845
  msgid "Djibouti"
2846
  msgstr ""
2847
 
2848
+ #: admin/manage-fields.php:472
2849
  msgid "Dominica"
2850
  msgstr ""
2851
 
2852
+ #: admin/manage-fields.php:473
2853
  msgid "Dominican Republic"
2854
  msgstr ""
2855
 
2856
+ #: admin/manage-fields.php:474
2857
  msgid "East Timor"
2858
  msgstr ""
2859
 
2860
+ #: admin/manage-fields.php:475
2861
  msgid "Ecuador"
2862
  msgstr ""
2863
 
2864
+ #: admin/manage-fields.php:476
2865
  msgid "Egypt"
2866
  msgstr ""
2867
 
2868
+ #: admin/manage-fields.php:477
2869
  msgid "El Salvador"
2870
  msgstr ""
2871
 
2872
+ #: admin/manage-fields.php:478
2873
  msgid "Equatorial Guinea"
2874
  msgstr ""
2875
 
2876
+ #: admin/manage-fields.php:479
2877
  msgid "Eritrea"
2878
  msgstr ""
2879
 
2880
+ #: admin/manage-fields.php:480
2881
  msgid "Estonia"
2882
  msgstr ""
2883
 
2884
+ #: admin/manage-fields.php:481
2885
  msgid "Ethiopia"
2886
  msgstr ""
2887
 
2888
+ #: admin/manage-fields.php:482
2889
  msgid "Falkland Islands"
2890
  msgstr ""
2891
 
2892
+ #: admin/manage-fields.php:483
2893
  msgid "Faroe Islands"
2894
  msgstr ""
2895
 
2896
+ #: admin/manage-fields.php:484
2897
  msgid "Fiji"
2898
  msgstr ""
2899
 
2900
+ #: admin/manage-fields.php:485
2901
  msgid "Finland"
2902
  msgstr ""
2903
 
2904
+ #: admin/manage-fields.php:486
2905
  msgid "France"
2906
  msgstr ""
2907
 
2908
+ #: admin/manage-fields.php:487
2909
  msgid "French Guiana"
2910
  msgstr ""
2911
 
2912
+ #: admin/manage-fields.php:488
2913
  msgid "French Polynesia"
2914
  msgstr ""
2915
 
2916
+ #: admin/manage-fields.php:489
2917
  msgid "French Southern Territories"
2918
  msgstr ""
2919
 
2920
+ #: admin/manage-fields.php:490
2921
  msgid "Gabon"
2922
  msgstr ""
2923
 
2924
+ #: admin/manage-fields.php:491
2925
  msgid "Gambia"
2926
  msgstr ""
2927
 
2928
+ #: admin/manage-fields.php:492
2929
  msgid "Georgia"
2930
  msgstr ""
2931
 
2932
+ #: admin/manage-fields.php:493
2933
  msgid "Germany"
2934
  msgstr ""
2935
 
2936
+ #: admin/manage-fields.php:494
2937
  msgid "Ghana"
2938
  msgstr ""
2939
 
2940
+ #: admin/manage-fields.php:495
2941
  msgid "Gibraltar"
2942
  msgstr ""
2943
 
2944
+ #: admin/manage-fields.php:496
2945
  msgid "Greece"
2946
  msgstr ""
2947
 
2948
+ #: admin/manage-fields.php:497
2949
  msgid "Greenland"
2950
  msgstr ""
2951
 
2952
+ #: admin/manage-fields.php:498
2953
  msgid "Grenada"
2954
  msgstr ""
2955
 
2956
+ #: admin/manage-fields.php:499
2957
  msgid "Guadeloupe"
2958
  msgstr ""
2959
 
2960
+ #: admin/manage-fields.php:500
2961
  msgid "Guam"
2962
  msgstr ""
2963
 
2964
+ #: admin/manage-fields.php:501
2965
  msgid "Guatemala"
2966
  msgstr ""
2967
 
2968
+ #: admin/manage-fields.php:502
2969
  msgid "Guernsey"
2970
  msgstr ""
2971
 
2972
+ #: admin/manage-fields.php:503
2973
  msgid "Guinea"
2974
  msgstr ""
2975
 
2976
+ #: admin/manage-fields.php:504
2977
  msgid "Guinea-Bissau"
2978
  msgstr ""
2979
 
2980
+ #: admin/manage-fields.php:505
2981
  msgid "Guyana"
2982
  msgstr ""
2983
 
2984
+ #: admin/manage-fields.php:506
2985
  msgid "Haiti"
2986
  msgstr ""
2987
 
2988
+ #: admin/manage-fields.php:507
2989
  msgid "Heard Island and McDonald Islands"
2990
  msgstr ""
2991
 
2992
+ #: admin/manage-fields.php:508
2993
  msgid "Honduras"
2994
  msgstr ""
2995
 
2996
+ #: admin/manage-fields.php:509
2997
  msgid "Hong Kong"
2998
  msgstr ""
2999
 
3000
+ #: admin/manage-fields.php:510
3001
  msgid "Hungary"
3002
  msgstr ""
3003
 
3004
+ #: admin/manage-fields.php:511
3005
  msgid "Iceland"
3006
  msgstr ""
3007
 
3008
+ #: admin/manage-fields.php:512
3009
  msgid "India"
3010
  msgstr ""
3011
 
3012
+ #: admin/manage-fields.php:513
3013
  msgid "Indonesia"
3014
  msgstr ""
3015
 
3016
+ #: admin/manage-fields.php:514
3017
  msgid "Iran"
3018
  msgstr ""
3019
 
3020
+ #: admin/manage-fields.php:515
3021
  msgid "Iraq"
3022
  msgstr ""
3023
 
3024
+ #: admin/manage-fields.php:516
3025
  msgid "Ireland"
3026
  msgstr ""
3027
 
3028
+ #: admin/manage-fields.php:517
3029
  msgid "Isle of Man"
3030
  msgstr ""
3031
 
3032
+ #: admin/manage-fields.php:518
3033
  msgid "Israel"
3034
  msgstr ""
3035
 
3036
+ #: admin/manage-fields.php:519
3037
  msgid "Italy"
3038
  msgstr ""
3039
 
3040
+ #: admin/manage-fields.php:520
3041
  msgid "Ivory Coast"
3042
  msgstr ""
3043
 
3044
+ #: admin/manage-fields.php:521
3045
  msgid "Jamaica"
3046
  msgstr ""
3047
 
3048
+ #: admin/manage-fields.php:522
3049
  msgid "Japan"
3050
  msgstr ""
3051
 
3052
+ #: admin/manage-fields.php:523
3053
  msgid "Jersey"
3054
  msgstr ""
3055
 
3056
+ #: admin/manage-fields.php:524
3057
  msgid "Jordan"
3058
  msgstr ""
3059
 
3060
+ #: admin/manage-fields.php:525
3061
  msgid "Kazakhstan"
3062
  msgstr ""
3063
 
3064
+ #: admin/manage-fields.php:526
3065
  msgid "Kenya"
3066
  msgstr ""
3067
 
3068
+ #: admin/manage-fields.php:527
3069
  msgid "Kiribati"
3070
  msgstr ""
3071
 
3072
+ #: admin/manage-fields.php:528
3073
  msgid "Kosovo"
3074
  msgstr ""
3075
 
3076
+ #: admin/manage-fields.php:529
3077
  msgid "Kuwait"
3078
  msgstr ""
3079
 
3080
+ #: admin/manage-fields.php:530
3081
  msgid "Kyrgyzstan"
3082
  msgstr ""
3083
 
3084
+ #: admin/manage-fields.php:531
3085
  msgid "Laos"
3086
  msgstr ""
3087
 
3088
+ #: admin/manage-fields.php:532
3089
  msgid "Latvia"
3090
  msgstr ""
3091
 
3092
+ #: admin/manage-fields.php:533
3093
  msgid "Lebanon"
3094
  msgstr ""
3095
 
3096
+ #: admin/manage-fields.php:534
3097
  msgid "Lesotho"
3098
  msgstr ""
3099
 
3100
+ #: admin/manage-fields.php:535
3101
  msgid "Liberia"
3102
  msgstr ""
3103
 
3104
+ #: admin/manage-fields.php:536
3105
  msgid "Libya"
3106
  msgstr ""
3107
 
3108
+ #: admin/manage-fields.php:537
3109
  msgid "Liechtenstein"
3110
  msgstr ""
3111
 
3112
+ #: admin/manage-fields.php:538
3113
  msgid "Lithuania"
3114
  msgstr ""
3115
 
3116
+ #: admin/manage-fields.php:539
3117
  msgid "Luxembourg"
3118
  msgstr ""
3119
 
3120
+ #: admin/manage-fields.php:540
3121
  msgid "Macao"
3122
  msgstr ""
3123
 
3124
+ #: admin/manage-fields.php:541
3125
  msgid "Macedonia"
3126
  msgstr ""
3127
 
3128
+ #: admin/manage-fields.php:542
3129
  msgid "Madagascar"
3130
  msgstr ""
3131
 
3132
+ #: admin/manage-fields.php:543
3133
  msgid "Malawi"
3134
  msgstr ""
3135
 
3136
+ #: admin/manage-fields.php:544
3137
  msgid "Malaysia"
3138
  msgstr ""
3139
 
3140
+ #: admin/manage-fields.php:545
3141
  msgid "Maldives"
3142
  msgstr ""
3143
 
3144
+ #: admin/manage-fields.php:546
3145
  msgid "Mali"
3146
  msgstr ""
3147
 
3148
+ #: admin/manage-fields.php:547
3149
  msgid "Malta"
3150
  msgstr ""
3151
 
3152
+ #: admin/manage-fields.php:548
3153
  msgid "Marshall Islands"
3154
  msgstr ""
3155
 
3156
+ #: admin/manage-fields.php:549
3157
  msgid "Martinique"
3158
  msgstr ""
3159
 
3160
+ #: admin/manage-fields.php:550
3161
  msgid "Mauritania"
3162
  msgstr ""
3163
 
3164
+ #: admin/manage-fields.php:551
3165
  msgid "Mauritius"
3166
  msgstr ""
3167
 
3168
+ #: admin/manage-fields.php:552
3169
  msgid "Mayotte"
3170
  msgstr ""
3171
 
3172
+ #: admin/manage-fields.php:553
3173
  msgid "Mexico"
3174
  msgstr ""
3175
 
3176
+ #: admin/manage-fields.php:554
3177
  msgid "Micronesia"
3178
  msgstr ""
3179
 
3180
+ #: admin/manage-fields.php:555
3181
  msgid "Moldova"
3182
  msgstr ""
3183
 
3184
+ #: admin/manage-fields.php:556
3185
  msgid "Monaco"
3186
  msgstr ""
3187
 
3188
+ #: admin/manage-fields.php:557
3189
  msgid "Mongolia"
3190
  msgstr ""
3191
 
3192
+ #: admin/manage-fields.php:558
3193
  msgid "Montenegro"
3194
  msgstr ""
3195
 
3196
+ #: admin/manage-fields.php:559
3197
  msgid "Montserrat"
3198
  msgstr ""
3199
 
3200
+ #: admin/manage-fields.php:560
3201
  msgid "Morocco"
3202
  msgstr ""
3203
 
3204
+ #: admin/manage-fields.php:561
3205
  msgid "Mozambique"
3206
  msgstr ""
3207
 
3208
+ #: admin/manage-fields.php:562
3209
  msgid "Myanmar"
3210
  msgstr ""
3211
 
3212
+ #: admin/manage-fields.php:563
3213
  msgid "Namibia"
3214
  msgstr ""
3215
 
3216
+ #: admin/manage-fields.php:564
3217
  msgid "Nauru"
3218
  msgstr ""
3219
 
3220
+ #: admin/manage-fields.php:565
3221
  msgid "Nepal"
3222
  msgstr ""
3223
 
3224
+ #: admin/manage-fields.php:566
3225
  msgid "Netherlands"
3226
  msgstr ""
3227
 
3228
+ #: admin/manage-fields.php:567
3229
  msgid "New Caledonia"
3230
  msgstr ""
3231
 
3232
+ #: admin/manage-fields.php:568
3233
  msgid "New Zealand"
3234
  msgstr ""
3235
 
3236
+ #: admin/manage-fields.php:569
3237
  msgid "Nicaragua"
3238
  msgstr ""
3239
 
3240
+ #: admin/manage-fields.php:570
3241
  msgid "Niger"
3242
  msgstr ""
3243
 
3244
+ #: admin/manage-fields.php:571
3245
  msgid "Nigeria"
3246
  msgstr ""
3247
 
3248
+ #: admin/manage-fields.php:572
3249
  msgid "Niue"
3250
  msgstr ""
3251
 
3252
+ #: admin/manage-fields.php:573
3253
  msgid "Norfolk Island"
3254
  msgstr ""
3255
 
3256
+ #: admin/manage-fields.php:574
3257
  msgid "North Korea"
3258
  msgstr ""
3259
 
3260
+ #: admin/manage-fields.php:575
3261
  msgid "Northern Mariana Islands"
3262
  msgstr ""
3263
 
3264
+ #: admin/manage-fields.php:576
3265
  msgid "Norway"
3266
  msgstr ""
3267
 
3268
+ #: admin/manage-fields.php:577
3269
  msgid "Oman"
3270
  msgstr ""
3271
 
3272
+ #: admin/manage-fields.php:578
3273
  msgid "Pakistan"
3274
  msgstr ""
3275
 
3276
+ #: admin/manage-fields.php:579
3277
  msgid "Palau"
3278
  msgstr ""
3279
 
3280
+ #: admin/manage-fields.php:580
3281
  msgid "Palestinian Territory"
3282
  msgstr ""
3283
 
3284
+ #: admin/manage-fields.php:581
3285
  msgid "Panama"
3286
  msgstr ""
3287
 
3288
+ #: admin/manage-fields.php:582
3289
  msgid "Papua New Guinea"
3290
  msgstr ""
3291
 
3292
+ #: admin/manage-fields.php:583
3293
  msgid "Paraguay"
3294
  msgstr ""
3295
 
3296
+ #: admin/manage-fields.php:584
3297
  msgid "Peru"
3298
  msgstr ""
3299
 
3300
+ #: admin/manage-fields.php:585
3301
  msgid "Philippines"
3302
  msgstr ""
3303
 
3304
+ #: admin/manage-fields.php:586
3305
  msgid "Pitcairn"
3306
  msgstr ""
3307
 
3308
+ #: admin/manage-fields.php:587
3309
  msgid "Poland"
3310
  msgstr ""
3311
 
3312
+ #: admin/manage-fields.php:588
3313
  msgid "Portugal"
3314
  msgstr ""
3315
 
3316
+ #: admin/manage-fields.php:589
3317
  msgid "Puerto Rico"
3318
  msgstr ""
3319
 
3320
+ #: admin/manage-fields.php:590
3321
  msgid "Qatar"
3322
  msgstr ""
3323
 
3324
+ #: admin/manage-fields.php:591
3325
  msgid "Republic of the Congo"
3326
  msgstr ""
3327
 
3328
+ #: admin/manage-fields.php:592
3329
  msgid "Reunion"
3330
  msgstr ""
3331
 
3332
+ #: admin/manage-fields.php:593
3333
  msgid "Romania"
3334
  msgstr ""
3335
 
3336
+ #: admin/manage-fields.php:594
3337
  msgid "Russia"
3338
  msgstr ""
3339
 
3340
+ #: admin/manage-fields.php:595
3341
  msgid "Rwanda"
3342
  msgstr ""
3343
 
3344
+ #: admin/manage-fields.php:596
3345
  msgid "Saint Barthelemy"
3346
  msgstr ""
3347
 
3348
+ #: admin/manage-fields.php:597
3349
  msgid "Saint Helena"
3350
  msgstr ""
3351
 
3352
+ #: admin/manage-fields.php:598
3353
  msgid "Saint Kitts and Nevis"
3354
  msgstr ""
3355
 
3356
+ #: admin/manage-fields.php:599
3357
  msgid "Saint Lucia"
3358
  msgstr ""
3359
 
3360
+ #: admin/manage-fields.php:600
3361
  msgid "Saint Martin"
3362
  msgstr ""
3363
 
3364
+ #: admin/manage-fields.php:601
3365
  msgid "Saint Pierre and Miquelon"
3366
  msgstr ""
3367
 
3368
+ #: admin/manage-fields.php:602
3369
  msgid "Saint Vincent and the Grenadines"
3370
  msgstr ""
3371
 
3372
+ #: admin/manage-fields.php:603
3373
  msgid "Samoa"
3374
  msgstr ""
3375
 
3376
+ #: admin/manage-fields.php:604
3377
  msgid "San Marino"
3378
  msgstr ""
3379
 
3380
+ #: admin/manage-fields.php:605
3381
  msgid "Sao Tome and Principe"
3382
  msgstr ""
3383
 
3384
+ #: admin/manage-fields.php:606
3385
  msgid "Saudi Arabia"
3386
  msgstr ""
3387
 
3388
+ #: admin/manage-fields.php:607
3389
  msgid "Senegal"
3390
  msgstr ""
3391
 
3392
+ #: admin/manage-fields.php:608
3393
  msgid "Serbia"
3394
  msgstr ""
3395
 
3396
+ #: admin/manage-fields.php:609
3397
  msgid "Seychelles"
3398
  msgstr ""
3399
 
3400
+ #: admin/manage-fields.php:610
3401
  msgid "Sierra Leone"
3402
  msgstr ""
3403
 
3404
+ #: admin/manage-fields.php:611
3405
  msgid "Singapore"
3406
  msgstr ""
3407
 
3408
+ #: admin/manage-fields.php:612
3409
  msgid "Sint Maarten"
3410
  msgstr ""
3411
 
3412
+ #: admin/manage-fields.php:613
3413
  msgid "Slovakia"
3414
  msgstr ""
3415
 
3416
+ #: admin/manage-fields.php:614
3417
  msgid "Slovenia"
3418
  msgstr ""
3419
 
3420
+ #: admin/manage-fields.php:615
3421
  msgid "Solomon Islands"
3422
  msgstr ""
3423
 
3424
+ #: admin/manage-fields.php:616
3425
  msgid "Somalia"
3426
  msgstr ""
3427
 
3428
+ #: admin/manage-fields.php:617
3429
  msgid "South Africa"
3430
  msgstr ""
3431
 
3432
+ #: admin/manage-fields.php:618
3433
  msgid "South Georgia and the South Sandwich Islands"
3434
  msgstr ""
3435
 
3436
+ #: admin/manage-fields.php:619
3437
  msgid "South Korea"
3438
  msgstr ""
3439
 
3440
+ #: admin/manage-fields.php:620
3441
  msgid "South Sudan"
3442
  msgstr ""
3443
 
3444
+ #: admin/manage-fields.php:621
3445
  msgid "Spain"
3446
  msgstr ""
3447
 
3448
+ #: admin/manage-fields.php:622
3449
  msgid "Sri Lanka"
3450
  msgstr ""
3451
 
3452
+ #: admin/manage-fields.php:623
3453
  msgid "Sudan"
3454
  msgstr ""
3455
 
3456
+ #: admin/manage-fields.php:624
3457
  msgid "Suriname"
3458
  msgstr ""
3459
 
3460
+ #: admin/manage-fields.php:625
3461
  msgid "Svalbard and Jan Mayen"
3462
  msgstr ""
3463
 
3464
+ #: admin/manage-fields.php:626
3465
  msgid "Swaziland"
3466
  msgstr ""
3467
 
3468
+ #: admin/manage-fields.php:627
3469
  msgid "Sweden"
3470
  msgstr ""
3471
 
3472
+ #: admin/manage-fields.php:628
3473
  msgid "Switzerland"
3474
  msgstr ""
3475
 
3476
+ #: admin/manage-fields.php:629
3477
  msgid "Syria"
3478
  msgstr ""
3479
 
3480
+ #: admin/manage-fields.php:630
3481
  msgid "Taiwan"
3482
  msgstr ""
3483
 
3484
+ #: admin/manage-fields.php:631
3485
  msgid "Tajikistan"
3486
  msgstr ""
3487
 
3488
+ #: admin/manage-fields.php:632
3489
  msgid "Tanzania"
3490
  msgstr ""
3491
 
3492
+ #: admin/manage-fields.php:633
3493
  msgid "Thailand"
3494
  msgstr ""
3495
 
3496
+ #: admin/manage-fields.php:634
3497
  msgid "Togo"
3498
  msgstr ""
3499
 
3500
+ #: admin/manage-fields.php:635
3501
  msgid "Tokelau"
3502
  msgstr ""
3503
 
3504
+ #: admin/manage-fields.php:636
3505
  msgid "Tonga"
3506
  msgstr ""
3507
 
3508
+ #: admin/manage-fields.php:637
3509
  msgid "Trinidad and Tobago"
3510
  msgstr ""
3511
 
3512
+ #: admin/manage-fields.php:638
3513
  msgid "Tunisia"
3514
  msgstr ""
3515
 
3516
+ #: admin/manage-fields.php:639
3517
  msgid "Turkey"
3518
  msgstr ""
3519
 
3520
+ #: admin/manage-fields.php:640
3521
  msgid "Turkmenistan"
3522
  msgstr ""
3523
 
3524
+ #: admin/manage-fields.php:641
3525
  msgid "Turks and Caicos Islands"
3526
  msgstr ""
3527
 
3528
+ #: admin/manage-fields.php:642
3529
  msgid "Tuvalu"
3530
  msgstr ""
3531
 
3532
+ #: admin/manage-fields.php:643
3533
  msgid "U.S. Virgin Islands"
3534
  msgstr ""
3535
 
3536
+ #: admin/manage-fields.php:644
3537
  msgid "Uganda"
3538
  msgstr ""
3539
 
3540
+ #: admin/manage-fields.php:645
3541
  msgid "Ukraine"
3542
  msgstr ""
3543
 
3544
+ #: admin/manage-fields.php:646
3545
  msgid "United Arab Emirates"
3546
  msgstr ""
3547
 
3548
+ #: admin/manage-fields.php:647
3549
  msgid "United Kingdom"
3550
  msgstr ""
3551
 
3552
+ #: admin/manage-fields.php:648
3553
  msgid "United States"
3554
  msgstr ""
3555
 
3556
+ #: admin/manage-fields.php:649
3557
  msgid "United States Minor Outlying Islands"
3558
  msgstr ""
3559
 
3560
+ #: admin/manage-fields.php:650
3561
  msgid "Uruguay"
3562
  msgstr ""
3563
 
3564
+ #: admin/manage-fields.php:651
3565
  msgid "Uzbekistan"
3566
  msgstr ""
3567
 
3568
+ #: admin/manage-fields.php:652
3569
  msgid "Vanuatu"
3570
  msgstr ""
3571
 
3572
+ #: admin/manage-fields.php:653
3573
  msgid "Vatican"
3574
  msgstr ""
3575
 
3576
+ #: admin/manage-fields.php:654
3577
  msgid "Venezuela"
3578
  msgstr ""
3579
 
3580
+ #: admin/manage-fields.php:655
3581
  msgid "Vietnam"
3582
  msgstr ""
3583
 
3584
+ #: admin/manage-fields.php:656
3585
  msgid "Wallis and Futuna"
3586
  msgstr ""
3587
 
3588
+ #: admin/manage-fields.php:657
3589
  msgid "Western Sahara"
3590
  msgstr ""
3591
 
3592
+ #: admin/manage-fields.php:658
3593
  msgid "Yemen"
3594
  msgstr ""
3595
 
3596
+ #: admin/manage-fields.php:659
3597
  msgid "Zambia"
3598
  msgstr ""
3599
 
3600
+ #: admin/manage-fields.php:660
3601
  msgid "Zimbabwe"
3602
  msgstr ""
3603
 
3604
+ #: admin/manage-fields.php:693
3605
  msgid "Albania Lek"
3606
  msgstr ""
3607
 
3608
+ #: admin/manage-fields.php:694
3609
  msgid "Afghanistan Afghani"
3610
  msgstr ""
3611
 
3612
+ #: admin/manage-fields.php:695
3613
  msgid "Argentina Peso"
3614
  msgstr ""
3615
 
3616
+ #: admin/manage-fields.php:697
3617
  msgid "Australia Dollar"
3618
  msgstr ""
3619
 
3620
+ #: admin/manage-fields.php:698
3621
  msgid "Azerbaijan New Manat"
3622
  msgstr ""
3623
 
3624
+ #: admin/manage-fields.php:699
3625
  msgid "Bahamas Dollar"
3626
  msgstr ""
3627
 
3628
+ #: admin/manage-fields.php:700
3629
  msgid "Barbados Dollar"
3630
  msgstr ""
3631
 
3632
+ #: admin/manage-fields.php:701
3633
  msgid "Bangladeshi taka"
3634
  msgstr ""
3635
 
3636
+ #: admin/manage-fields.php:702
3637
  msgid "Belarus Ruble"
3638
  msgstr ""
3639
 
3640
+ #: admin/manage-fields.php:703
3641
  msgid "Belize Dollar"
3642
  msgstr ""
3643
 
3644
+ #: admin/manage-fields.php:704
3645
  msgid "Bermuda Dollar"
3646
  msgstr ""
3647
 
3648
+ #: admin/manage-fields.php:705
3649
  msgid "Bolivia Boliviano"
3650
  msgstr ""
3651
 
3652
+ #: admin/manage-fields.php:706
3653
  msgid "Bosnia and Herzegovina Convertible Marka"
3654
  msgstr ""
3655
 
3656
+ #: admin/manage-fields.php:707
3657
  msgid "Botswana Pula"
3658
  msgstr ""
3659
 
3660
+ #: admin/manage-fields.php:708
3661
  msgid "Bulgaria Lev"
3662
  msgstr ""
3663
 
3664
+ #: admin/manage-fields.php:709
3665
  msgid "Brazil Real"
3666
  msgstr ""
3667
 
3668
+ #: admin/manage-fields.php:710
3669
  msgid "Brunei Darussalam Dollar"
3670
  msgstr ""
3671
 
3672
+ #: admin/manage-fields.php:711
3673
  msgid "Cambodia Riel"
3674
  msgstr ""
3675
 
3676
+ #: admin/manage-fields.php:712
3677
  msgid "Canada Dollar"
3678
  msgstr ""
3679
 
3680
+ #: admin/manage-fields.php:713
3681
  msgid "Cayman Islands Dollar"
3682
  msgstr ""
3683
 
3684
+ #: admin/manage-fields.php:714
3685
  msgid "Chile Peso"
3686
  msgstr ""
3687
 
3688
+ #: admin/manage-fields.php:715
3689
  msgid "China Yuan Renminbi"
3690
  msgstr ""
3691
 
3692
+ #: admin/manage-fields.php:716
3693
  msgid "Colombia Peso"
3694
  msgstr ""
3695
 
3696
+ #: admin/manage-fields.php:717
3697
  msgid "Costa Rica Colon"
3698
  msgstr ""
3699
 
3700
+ #: admin/manage-fields.php:718
3701
  msgid "Croatia Kuna"
3702
  msgstr ""
3703
 
3704
+ #: admin/manage-fields.php:719
3705
  msgid "Cuba Peso"
3706
  msgstr ""
3707
 
3708
+ #: admin/manage-fields.php:720
3709
  msgid "Czech Republic Koruna"
3710
  msgstr ""
3711
 
3712
+ #: admin/manage-fields.php:721
3713
  msgid "Denmark Krone"
3714
  msgstr ""
3715
 
3716
+ #: admin/manage-fields.php:722
3717
  msgid "Dominican Republic Peso"
3718
  msgstr ""
3719
 
3720
+ #: admin/manage-fields.php:723
3721
  msgid "East Caribbean Dollar"
3722
  msgstr ""
3723
 
3724
+ #: admin/manage-fields.php:724
3725
  msgid "Egypt Pound"
3726
  msgstr ""
3727
 
3728
+ #: admin/manage-fields.php:725
3729
  msgid "El Salvador Colon"
3730
  msgstr ""
3731
 
3732
+ #: admin/manage-fields.php:726
3733
  msgid "Estonia Kroon"
3734
  msgstr ""
3735
 
3736
+ #: admin/manage-fields.php:727
3737
  msgid "Euro"
3738
  msgstr ""
3739
 
3740
+ #: admin/manage-fields.php:728
3741
  msgid "Falkland Islands (Malvinas) Pound"
3742
  msgstr ""
3743
 
3744
+ #: admin/manage-fields.php:729
3745
  msgid "Fiji Dollar"
3746
  msgstr ""
3747
 
3748
+ #: admin/manage-fields.php:730
3749
  msgid "Ghana Cedis"
3750
  msgstr ""
3751
 
3752
+ #: admin/manage-fields.php:731
3753
  msgid "Gibraltar Pound"
3754
  msgstr ""
3755
 
3756
+ #: admin/manage-fields.php:732
3757
  msgid "Guatemala Quetzal"
3758
  msgstr ""
3759
 
3760
+ #: admin/manage-fields.php:733
3761
  msgid "Guernsey Pound"
3762
  msgstr ""
3763
 
3764
+ #: admin/manage-fields.php:734
3765
  msgid "Guyana Dollar"
3766
  msgstr ""
3767
 
3768
+ #: admin/manage-fields.php:735
3769
  msgid "Honduras Lempira"
3770
  msgstr ""
3771
 
3772
+ #: admin/manage-fields.php:736
3773
  msgid "Hong Kong Dollar"
3774
  msgstr ""
3775
 
3776
+ #: admin/manage-fields.php:737
3777
  msgid "Hungary Forint"
3778
  msgstr ""
3779
 
3780
+ #: admin/manage-fields.php:738
3781
  msgid "Iceland Krona"
3782
  msgstr ""
3783
 
3784
+ #: admin/manage-fields.php:739
3785
  msgid "India Rupee"
3786
  msgstr ""
3787
 
3788
+ #: admin/manage-fields.php:740
3789
  msgid "Indonesia Rupiah"
3790
  msgstr ""
3791
 
3792
+ #: admin/manage-fields.php:741
3793
  msgid "Iran Rial"
3794
  msgstr ""
3795
 
3796
+ #: admin/manage-fields.php:742
3797
  msgid "Isle of Man Pound"
3798
  msgstr ""
3799
 
3800
+ #: admin/manage-fields.php:743
3801
  msgid "Israel Shekel"
3802
  msgstr ""
3803
 
3804
+ #: admin/manage-fields.php:744
3805
  msgid "Jamaica Dollar"
3806
  msgstr ""
3807
 
3808
+ #: admin/manage-fields.php:745
3809
  msgid "Japan Yen"
3810
  msgstr ""
3811
 
3812
+ #: admin/manage-fields.php:746
3813
  msgid "Jersey Pound"
3814
  msgstr ""
3815
 
3816
+ #: admin/manage-fields.php:747
3817
  msgid "Kazakhstan Tenge"
3818
  msgstr ""
3819
 
3820
+ #: admin/manage-fields.php:748
3821
  msgid "Korea (North) Won"
3822
  msgstr ""
3823
 
3824
+ #: admin/manage-fields.php:749
3825
  msgid "Korea (South) Won"
3826
  msgstr ""
3827
 
3828
+ #: admin/manage-fields.php:750
3829
  msgid "Kyrgyzstan Som"
3830
  msgstr ""
3831
 
3832
+ #: admin/manage-fields.php:751
3833
  msgid "Laos Kip"
3834
  msgstr ""
3835
 
3836
+ #: admin/manage-fields.php:752
3837
  msgid "Latvia Lat"
3838
  msgstr ""
3839
 
3840
+ #: admin/manage-fields.php:753
3841
  msgid "Lebanon Pound"
3842
  msgstr ""
3843
 
3844
+ #: admin/manage-fields.php:754
3845
  msgid "Liberia Dollar"
3846
  msgstr ""
3847
 
3848
+ #: admin/manage-fields.php:755
3849
  msgid "Lithuania Litas"
3850
  msgstr ""
3851
 
3852
+ #: admin/manage-fields.php:756
3853
  msgid "Macedonia Denar"
3854
  msgstr ""
3855
 
3856
+ #: admin/manage-fields.php:757
3857
  msgid "Malaysia Ringgit"
3858
  msgstr ""
3859
 
3860
+ #: admin/manage-fields.php:758
3861
  msgid "Mauritius Rupee"
3862
  msgstr ""
3863
 
3864
+ #: admin/manage-fields.php:759
3865
  msgid "Mexico Peso"
3866
  msgstr ""
3867
 
3868
+ #: admin/manage-fields.php:760
3869
  msgid "Mongolia Tughrik"
3870
  msgstr ""
3871
 
3872
+ #: admin/manage-fields.php:761
3873
  msgid "Mozambique Metical"
3874
  msgstr ""
3875
 
3876
+ #: admin/manage-fields.php:762
3877
  msgid "Namibia Dollar"
3878
  msgstr ""
3879
 
3880
+ #: admin/manage-fields.php:763
3881
  msgid "Nepal Rupee"
3882
  msgstr ""
3883
 
3884
+ #: admin/manage-fields.php:764
3885
  msgid "Netherlands Antilles Guilder"
3886
  msgstr ""
3887
 
3888
+ #: admin/manage-fields.php:765
3889
  msgid "New Zealand Dollar"
3890
  msgstr ""
3891
 
3892
+ #: admin/manage-fields.php:766
3893
  msgid "Nicaragua Cordoba"
3894
  msgstr ""
3895
 
3896
+ #: admin/manage-fields.php:767
3897
  msgid "Nigeria Naira"
3898
  msgstr ""
3899
 
3900
+ #: admin/manage-fields.php:768
3901
  msgid "Norway Krone"
3902
  msgstr ""
3903
 
3904
+ #: admin/manage-fields.php:769
3905
  msgid "Oman Rial"
3906
  msgstr ""
3907
 
3908
+ #: admin/manage-fields.php:770
3909
  msgid "Pakistan Rupee"
3910
  msgstr ""
3911
 
3912
+ #: admin/manage-fields.php:771
3913
  msgid "Panama Balboa"
3914
  msgstr ""
3915
 
3916
+ #: admin/manage-fields.php:772
3917
  msgid "Paraguay Guarani"
3918
  msgstr ""
3919
 
3920
+ #: admin/manage-fields.php:773
3921
  msgid "Peru Nuevo Sol"
3922
  msgstr ""
3923
 
3924
+ #: admin/manage-fields.php:774
3925
  msgid "Philippines Peso"
3926
  msgstr ""
3927
 
3928
+ #: admin/manage-fields.php:775
3929
  msgid "Poland Zloty"
3930
  msgstr ""
3931
 
3932
+ #: admin/manage-fields.php:776
3933
  msgid "Qatar Riyal"
3934
  msgstr ""
3935
 
3936
+ #: admin/manage-fields.php:777
3937
  msgid "Romania New Leu"
3938
  msgstr ""
3939
 
3940
+ #: admin/manage-fields.php:778
3941
  msgid "Russia Ruble"
3942
  msgstr ""
3943
 
3944
+ #: admin/manage-fields.php:779
3945
  msgid "Saint Helena Pound"
3946
  msgstr ""
3947
 
3948
+ #: admin/manage-fields.php:780
3949
  msgid "Saudi Arabia Riyal"
3950
  msgstr ""
3951
 
3952
+ #: admin/manage-fields.php:781
3953
  msgid "Serbia Dinar"
3954
  msgstr ""
3955
 
3956
+ #: admin/manage-fields.php:782
3957
  msgid "Seychelles Rupee"
3958
  msgstr ""
3959
 
3960
+ #: admin/manage-fields.php:783
3961
  msgid "Singapore Dollar"
3962
  msgstr ""
3963
 
3964
+ #: admin/manage-fields.php:784
3965
  msgid "Solomon Islands Dollar"
3966
  msgstr ""
3967
 
3968
+ #: admin/manage-fields.php:785
3969
  msgid "Somalia Shilling"
3970
  msgstr ""
3971
 
3972
+ #: admin/manage-fields.php:786
3973
  msgid "South Africa Rand"
3974
  msgstr ""
3975
 
3976
+ #: admin/manage-fields.php:787
3977
  msgid "Sri Lanka Rupee"
3978
  msgstr ""
3979
 
3980
+ #: admin/manage-fields.php:788
3981
  msgid "Sweden Krona"
3982
  msgstr ""
3983
 
3984
+ #: admin/manage-fields.php:789
3985
  msgid "Switzerland Franc"
3986
  msgstr ""
3987
 
3988
+ #: admin/manage-fields.php:790
3989
  msgid "Suriname Dollar"
3990
  msgstr ""
3991
 
3992
+ #: admin/manage-fields.php:791
3993
  msgid "Syria Pound"
3994
  msgstr ""
3995
 
3996
+ #: admin/manage-fields.php:792
3997
  msgid "Taiwan New Dollar"
3998
  msgstr ""
3999
 
4000
+ #: admin/manage-fields.php:793
4001
  msgid "Thailand Baht"
4002
  msgstr ""
4003
 
4004
+ #: admin/manage-fields.php:794
4005
  msgid "Trinidad and Tobago Dollar"
4006
  msgstr ""
4007
 
4008
+ #: admin/manage-fields.php:795, admin/manage-fields.php:796
4009
  msgid "Turkey Lira"
4010
  msgstr ""
4011
 
4012
+ #: admin/manage-fields.php:797
4013
  msgid "Tuvalu Dollar"
4014
  msgstr ""
4015
 
4016
+ #: admin/manage-fields.php:798
4017
  msgid "Ukraine Hryvna"
4018
  msgstr ""
4019
 
4020
+ #: admin/manage-fields.php:799
4021
  msgid "United Kingdom Pound"
4022
  msgstr ""
4023
 
4024
+ #: admin/manage-fields.php:800
4025
  msgid "Uganda Shilling"
4026
  msgstr ""
4027
 
4028
+ #: admin/manage-fields.php:801
4029
  msgid "US Dollar"
4030
  msgstr ""
4031
 
4032
+ #: admin/manage-fields.php:802
4033
  msgid "Uruguay Peso"
4034
  msgstr ""
4035
 
4036
+ #: admin/manage-fields.php:803
4037
  msgid "Uzbekistan Som"
4038
  msgstr ""
4039
 
4040
+ #: admin/manage-fields.php:804
4041
  msgid "Venezuela Bolivar"
4042
  msgstr ""
4043
 
4044
+ #: admin/manage-fields.php:805
4045
  msgid "Viet Nam Dong"
4046
  msgstr ""
4047
 
4048
+ #: admin/manage-fields.php:806
4049
  msgid "Yemen Rial"
4050
  msgstr ""
4051
 
4052
+ #: admin/manage-fields.php:807
4053
  msgid "Zimbabwe Dollar"
4054
  msgstr ""
4055
 
4056
+ #: admin/manage-fields.php:1299
4057
  msgid ""
4058
  "That field is already added in this form\n"
4059
  ""
4060
  msgstr ""
4061
 
4062
+ #: admin/manage-fields.php:1292, admin/manage-fields.php:1114
4063
  msgid ""
4064
  "You must select a field\n"
4065
  ""
4066
  msgstr ""
4067
 
4068
+ #: admin/manage-fields.php:1124
4069
  msgid ""
4070
  "Please choose a different field type as this one already exists in your form (must be unique)\n"
4071
  ""
4072
  msgstr ""
4073
 
4074
+ #: admin/manage-fields.php:1138
4075
  msgid ""
4076
  "The entered avatar size is not numerical\n"
4077
  ""
4078
  msgstr ""
4079
 
4080
+ #: admin/manage-fields.php:1135
4081
  msgid ""
4082
  "The entered avatar size is not between 20 and 200\n"
4083
  ""
4084
  msgstr ""
4085
 
4086
+ #: admin/manage-fields.php:1149
4087
  msgid ""
4088
  "You must enter a value for the row number\n"
4089
  ""
4090
  msgstr ""
4091
 
4092
+ #: admin/manage-fields.php:1146
4093
  msgid ""
4094
  "The entered row number is not numerical\n"
4095
  ""
4096
  msgstr ""
4097
 
4098
+ #: admin/manage-fields.php:1157
4099
  msgid ""
4100
  "You must enter the site key\n"
4101
  ""
4102
  msgstr ""
4103
 
4104
+ #: admin/manage-fields.php:1159
4105
  msgid ""
4106
  "You must enter the secret key\n"
4107
  ""
4108
  msgstr ""
4109
 
4110
+ #: admin/manage-fields.php:1181
4111
  msgid ""
4112
  "The entered value for the Datepicker is not a valid date-format\n"
4113
  ""
4114
  msgstr ""
4115
 
4116
+ #: admin/manage-fields.php:1167
4117
  msgid ""
4118
  "You must enter a value for the date-format\n"
4119
  ""
4120
  msgstr ""
4121
 
4122
+ #: admin/manage-fields.php:1200
4123
  msgid ""
4124
  "The meta-name cannot be empty\n"
4125
  ""
4126
  msgstr ""
4127
 
4128
+ #: admin/manage-fields.php:1230, admin/manage-fields.php:1241
4129
  msgid ""
4130
  "That meta-name is already in use\n"
4131
  ""
4132
  msgstr ""
4133
 
4134
+ #: admin/manage-fields.php:1222
4135
  msgid ""
4136
  "That meta-name can't be used, please choose another\n"
4137
  ""
4138
  msgstr ""
4139
 
4140
+ #: admin/manage-fields.php:1252
4141
  msgid ""
4142
  "The meta-name can only contain lowercase letters, numbers, _ , - and no spaces.\n"
4143
  ""
4144
  msgstr ""
4145
 
4146
+ #: admin/manage-fields.php:1276
4147
  msgid ""
4148
  "The following option did not coincide with the ones in the options list: %s\n"
4149
  ""
4150
  msgstr ""
4151
 
4152
+ #: admin/manage-fields.php:1272
4153
  msgid ""
4154
  "The following option(s) did not coincide with the ones in the options list: %s\n"
4155
  ""
4156
  msgstr ""
4157
 
4158
+ #: admin/manage-fields.php:1283
4159
  msgid ""
4160
  "Please select at least one user role\n"
4161
  ""
4162
  msgstr ""
4163
 
4164
+ #: admin/manage-fields.php:1350
4165
  msgid "<pre>Title</pre><pre>Type</pre><pre>Meta Name</pre><pre class=\"wppb-mb-head-required\">Required</pre>"
4166
  msgstr ""
4167
 
4168
+ #: admin/manage-fields.php:1365
4169
  msgid "Use these shortcodes on the pages you want the forms to be displayed:"
4170
  msgstr ""
4171
 
4172
+ #: admin/manage-fields.php:1376
4173
+ 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."
4174
  msgstr ""
4175
 
4176
+ #: admin/manage-fields.php:1374
4177
+ 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."
4178
  msgstr ""
4179
 
4180
+ #: admin/manage-fields.php:1475
4181
  msgid "Search Location"
4182
  msgstr ""
4183
 
4221
  msgid "Payment Management"
4222
  msgstr ""
4223
 
4224
+ #: admin/pms-cross-promotion.php:79, admin/pms-cross-promotion.php:115, admin/pms-cross-promotion.php:194
4225
+ msgid "Activate"
4226
+ msgstr ""
4227
+
4228
+ #: admin/pms-cross-promotion.php:81
4229
+ msgid "Downloading and installing..."
4230
+ msgstr ""
4231
+
4232
+ #: admin/pms-cross-promotion.php:82
4233
+ msgid "Installation complete"
4234
+ msgstr ""
4235
+
4236
  #: admin/pms-cross-promotion.php:84
4237
  msgid "Plugin is Active"
4238
  msgstr ""
4241
  msgid "Plugin has been activated"
4242
  msgstr ""
4243
 
4244
+ #: admin/pms-cross-promotion.php:86
4245
+ msgid "Retry Install"
4246
+ msgstr ""
4247
+
4248
+ #: admin/pms-cross-promotion.php:88, admin/pms-cross-promotion.php:126, admin/pms-cross-promotion.php:205
4249
+ msgid "Plugin is <strong>active</strong>"
4250
+ msgstr ""
4251
+
4252
+ #: admin/pms-cross-promotion.php:89, admin/pms-cross-promotion.php:124, admin/pms-cross-promotion.php:203
4253
+ msgid "Plugin is <strong>inactive</strong>"
4254
+ msgstr ""
4255
+
4256
+ #: admin/pms-cross-promotion.php:91, admin/pms-cross-promotion.php:119, admin/pms-cross-promotion.php:198
4257
+ msgid "Deactivate"
4258
+ msgstr ""
4259
+
4260
  #: admin/pms-cross-promotion.php:92
4261
  msgid "Plugin has been deactivated."
4262
  msgstr ""
4263
 
4264
+ #: admin/pms-cross-promotion.php:103
4265
+ msgid "Free"
4266
+ msgstr ""
4267
+
4268
  #: admin/pms-cross-promotion.php:105
4269
  msgid "Accept user payments, create subscription plans and restrict content on your website."
4270
  msgstr ""
4271
 
4272
+ #: admin/pms-cross-promotion.php:138, admin/pms-cross-promotion.php:217
4273
+ msgid "Install Now"
4274
+ msgstr ""
4275
+
4276
+ #: admin/pms-cross-promotion.php:135, admin/pms-cross-promotion.php:214
4277
+ msgid "Download Now"
4278
+ msgstr ""
4279
+
4280
+ #: admin/pms-cross-promotion.php:142, admin/pms-cross-promotion.php:221
4281
+ msgid "Compatible with your version of Profile Builder."
4282
+ msgstr ""
4283
+
4284
+ #: admin/pms-cross-promotion.php:147
4285
+ msgid "Could not install plugin. Retry or <a href=\"%s\" target=\"_blank\">install manually</a>."
4286
+ msgstr ""
4287
+
4288
  #: admin/pms-cross-promotion.php:156
4289
  msgid "Step by Step Quick Setup"
4290
  msgstr ""
4317
  msgid "Redirects to this page if not logged in. We recommend this page contains the [wppb-login] shortcode."
4318
  msgstr ""
4319
 
4320
+ #: admin/private-website.php:93, add-ons/custom-redirects/custom_redirects_admin.php:253
4321
  msgid "You can force access to wp-login.php so you don't get locked out of the site by accessing the link:"
4322
  msgstr ""
4323
 
4357
  msgid "Disable the WordPress REST-API for non-logged in users when Private Website is enabled"
4358
  msgstr ""
4359
 
4360
+ #: admin/private-website.php:159, features/functions.php:943, features/content-restriction/content-restriction.php:162, assets/lib/class-mustache-templates/class-mustache-templates.php:390, assets/lib/wck-api/wordpress-creation-kit.php:405, admin/advanced-settings/includes/views/view-admin.php:101, admin/advanced-settings/includes/views/view-fields.php:293, admin/advanced-settings/includes/views/view-forms.php:337, admin/advanced-settings/includes/views/view-shortcodes.php:77, admin/advanced-settings/includes/views/view-userlisting.php:91
4361
  msgid "Save Changes"
4362
  msgstr ""
4363
 
4445
  msgid "I allow the website to collect and store the data I submit through this form."
4446
  msgstr ""
4447
 
4448
+ #: features/functions.php:734
4449
  msgid "Strength indicator"
4450
  msgstr ""
4451
 
4452
+ #: features/functions.php:760, features/functions.php:784
4453
  msgid "Very Weak"
4454
  msgstr ""
4455
 
4456
+ #: features/functions.php:774
4457
  msgid "Minimum length of %d characters."
4458
  msgstr ""
4459
 
4460
+ #: features/functions.php:785, front-end/recover.php:361, front-end/default-fields/password/password.php:56
4461
  msgid "The password must have a minimum strength of %s"
4462
  msgstr ""
4463
 
4464
+ #: features/functions.php:862
4465
  msgid "This field is required"
4466
  msgstr ""
4467
 
4468
+ #: features/functions.php:900, front-end/default-fields/recaptcha/recaptcha.php:524, front-end/default-fields/recaptcha/recaptcha.php:515, front-end/default-fields/recaptcha/recaptcha.php:580, front-end/default-fields/recaptcha/recaptcha.php:628
4469
  msgid "Please enter a (valid) reCAPTCHA value"
4470
  msgstr ""
4471
 
4472
+ #: features/functions.php:907
4473
  msgid "Incorrect phone number"
4474
  msgstr ""
4475
 
4476
+ #: features/functions.php:971, assets/lib/wck-api/wordpress-creation-kit.php:447
4477
  msgid "Content"
4478
  msgstr ""
4479
 
4480
+ #: features/functions.php:1153
4481
  msgid "<br><br>Also, you will be able to visit your site at "
4482
  msgstr ""
4483
 
4484
+ #: features/functions.php:1166
4485
  msgid "<br><br>You can visit your site at "
4486
  msgstr ""
4487
 
4488
+ #: features/functions.php:1252
4489
  msgid "You will soon be redirected automatically. If you see this page for more than %1$d seconds, please click %2$s.%3$s"
4490
  msgstr ""
4491
 
4492
+ #: features/functions.php:1406
4493
  msgid "No feed available,please visit our <a href=\"%s\">homepage</a>!"
4494
  msgstr ""
4495
 
4496
+ #: features/functions.php:1447
4497
  msgid "You are not currently logged in."
4498
  msgstr ""
4499
 
4553
  msgid "Before you can access your account %1s, an administrator has to approve it. You will be notified via email."
4554
  msgstr ""
4555
 
4556
+ #: front-end/class-formbuilder.php:444
4557
+ msgid "Update"
4558
+ msgstr ""
4559
+
4560
  #: front-end/class-formbuilder.php:441
4561
  msgid "Add User"
4562
  msgstr ""
4581
  msgid "Something went wrong. Please try again!"
4582
  msgstr ""
4583
 
4584
+ #: front-end/login.php:318, front-end/login.php:339, front-end/recover.php:18, front-end/recover.php:312, front-end/extra-fields/extra-fields.php:95
4585
  msgid "ERROR"
4586
  msgstr ""
4587
 
4745
  msgid "Your email was successfully confirmed."
4746
  msgstr ""
4747
 
4748
+ #: front-end/register.php:125, features/email-confirmation/email-confirmation.php:663
4749
  msgid "Before you can access your account, an administrator needs to approve it. You will be notified via email."
4750
  msgstr ""
4751
 
4753
  msgid "This username is already activated!"
4754
  msgstr ""
4755
 
4756
+ #: front-end/register.php:71, features/email-confirmation/email-confirmation.php:462
4757
  msgid "Could not create user!"
4758
  msgstr ""
4759
 
4760
+ #: add-ons/custom-redirects/custom_redirects_admin.php:49
4761
+ msgid "After Login"
4762
  msgstr ""
4763
 
4764
+ #: add-ons/custom-redirects/custom_redirects_admin.php:50
4765
+ msgid "After Logout"
4766
  msgstr ""
4767
 
4768
+ #: add-ons/custom-redirects/custom_redirects_admin.php:51
4769
+ msgid "After Registration"
4770
  msgstr ""
4771
 
4772
+ #: add-ons/custom-redirects/custom_redirects_admin.php:52
4773
+ msgid "After Edit Profile"
4774
  msgstr ""
4775
 
4776
+ #: add-ons/custom-redirects/custom_redirects_admin.php:53
4777
+ msgid "After Successful Email Confirmation"
4778
  msgstr ""
4779
 
4780
+ #: add-ons/custom-redirects/custom_redirects_admin.php:54
4781
+ msgid "After Successful Password Reset"
4782
  msgstr ""
4783
 
4784
+ #: add-ons/custom-redirects/custom_redirects_admin.php:55
4785
+ msgid "Dashboard (redirect users from accessing the dashboard)"
4786
  msgstr ""
4787
 
4788
+ #: add-ons/custom-redirects/custom_redirects_admin.php:59
4789
+ msgid "User ID"
4790
  msgstr ""
4791
 
4792
+ #: add-ons/custom-redirects/custom_redirects_admin.php:65
4793
+ msgid "User ID or Username"
4794
  msgstr ""
4795
 
4796
+ #: add-ons/custom-redirects/custom_redirects_admin.php:66
4797
+ msgid "User ID / Username"
4798
  msgstr ""
4799
 
4800
+ #: add-ons/custom-redirects/custom_redirects_admin.php:66
4801
+ msgid "Please select and enter the ID or username of your user."
4802
  msgstr ""
4803
 
4804
+ #: add-ons/custom-redirects/custom_redirects_admin.php:67, add-ons/custom-redirects/custom_redirects_admin.php:97, add-ons/custom-redirects/custom_redirects_admin.php:116, add-ons/custom-redirects/custom_redirects_admin.php:135
4805
+ msgid "Redirect Type"
4806
  msgstr ""
4807
 
4808
+ #: add-ons/custom-redirects/custom_redirects_admin.php:68, add-ons/custom-redirects/custom_redirects_admin.php:98, add-ons/custom-redirects/custom_redirects_admin.php:117, add-ons/custom-redirects/custom_redirects_admin.php:142, features/content-restriction/content-restriction.php:115
4809
+ msgid "Redirect URL"
4810
  msgstr ""
4811
 
4812
+ #: add-ons/custom-redirects/custom_redirects_admin.php:68, add-ons/custom-redirects/custom_redirects_admin.php:98, add-ons/custom-redirects/custom_redirects_admin.php:117, add-ons/custom-redirects/custom_redirects_admin.php:142
4813
+ msgid "Can contain the following dynamic tags:{{homeurl}}, {{siteurl}}, {{user_id}}, {{user_nicename}}, {{http_referer}}"
4814
  msgstr ""
4815
 
4816
+ #: add-ons/custom-redirects/custom_redirects_admin.php:75, add-ons/custom-redirects/custom_redirects_admin.php:245
4817
+ msgid "Individual User Redirects"
4818
  msgstr ""
4819
 
4820
+ #: add-ons/custom-redirects/custom_redirects_admin.php:96, add-ons/email-customizer/email-customizer.php:31
4821
+ msgid "User Role"
4822
  msgstr ""
4823
 
4824
+ #: add-ons/custom-redirects/custom_redirects_admin.php:96
4825
+ msgid "Select a user role."
4826
  msgstr ""
4827
 
4828
+ #: add-ons/custom-redirects/custom_redirects_admin.php:105, add-ons/custom-redirects/custom_redirects_admin.php:246
4829
+ msgid "User Role based Redirects"
4830
  msgstr ""
4831
 
4832
+ #: add-ons/custom-redirects/custom_redirects_admin.php:124, add-ons/custom-redirects/custom_redirects_admin.php:247
4833
+ msgid "Global Redirects"
4834
  msgstr ""
4835
 
4836
+ #: add-ons/custom-redirects/custom_redirects_admin.php:137
4837
+ msgid "Login ( wp-login.php )"
4838
  msgstr ""
4839
 
4840
+ #: add-ons/custom-redirects/custom_redirects_admin.php:138
4841
+ msgid "Register ( wp-login.php?action=register )"
4842
  msgstr ""
4843
 
4844
+ #: add-ons/custom-redirects/custom_redirects_admin.php:139
4845
+ msgid "Lost Password ( wp-login.php?action=lostpassword )"
4846
  msgstr ""
4847
 
4848
+ #: add-ons/custom-redirects/custom_redirects_admin.php:140
4849
+ msgid "Author Archive ( http://sitename.com/author/admin )"
4850
  msgstr ""
4851
 
4852
+ #: add-ons/custom-redirects/custom_redirects_admin.php:149
4853
+ msgid "Redirect Default WordPress Forms and Pages"
4854
  msgstr ""
4855
 
4856
+ #: add-ons/custom-redirects/custom_redirects_admin.php:161
4857
+ msgid "How does this work?"
4858
  msgstr ""
4859
 
4860
+ #: add-ons/custom-redirects/custom_redirects_admin.php:183
4861
+ msgid "<pre>User ID / Username</pre><pre>Redirect</pre><pre>URL</pre>"
4862
  msgstr ""
4863
 
4864
+ #: add-ons/custom-redirects/custom_redirects_admin.php:197
4865
+ msgid "<pre>User Role</pre><pre>Redirect</pre><pre>URL</pre>"
4866
  msgstr ""
4867
 
4868
+ #: add-ons/custom-redirects/custom_redirects_admin.php:211, add-ons/custom-redirects/custom_redirects_admin.php:225
4869
+ msgid "<pre>Redirect</pre><pre>URL</pre>"
4870
  msgstr ""
4871
 
4872
+ #: add-ons/custom-redirects/custom_redirects_admin.php:240
4873
+ msgid "These redirects happen after a successful action, like registration or after a successful login."
4874
  msgstr ""
4875
 
4876
+ #: add-ons/custom-redirects/custom_redirects_admin.php:242
4877
+ msgid "Which redirect happens depends on the following priority:"
4878
  msgstr ""
4879
 
4880
+ #: add-ons/custom-redirects/custom_redirects_admin.php:244
4881
+ msgid "Multiple Registration and Edit Profile form settings Redirects"
4882
  msgstr ""
4883
 
4884
+ #: add-ons/custom-redirects/custom_redirects_admin.php:248
4885
+ msgid "Individual redirects defined in shortcodes; <strong><em>redirect_priority=\"top\"</em></strong> parameter can be added in any shortcode, then that shortcode redirect will have priority over all other redirects."
4886
  msgstr ""
4887
 
4888
+ #: add-ons/custom-redirects/custom_redirects_admin.php:251
4889
+ msgid "Redirect Default WordPress forms and pages"
4890
  msgstr ""
4891
 
4892
+ #: add-ons/custom-redirects/custom_redirects_admin.php:252
4893
+ msgid "With these you can redirect various WordPress forms and pages to pages created with profile builder."
4894
  msgstr ""
4895
 
4896
+ #: add-ons/custom-redirects/custom_redirects_admin.php:255
4897
+ msgid "Available tags for dynamic URLs"
4898
  msgstr ""
4899
 
4900
+ #: add-ons/custom-redirects/custom_redirects_admin.php:256
4901
+ msgid "You use the following tags in your URLs to redirect users to various pages."
4902
  msgstr ""
4903
 
4904
+ #: add-ons/custom-redirects/custom_redirects_admin.php:258
4905
+ msgid "generates a url of the current website homepage."
4906
  msgstr ""
4907
 
4908
+ #: add-ons/custom-redirects/custom_redirects_admin.php:259
4909
+ msgid "in WordPress the <a target='_blank' href='https://codex.wordpress.org/Function_Reference/site_url'>site url</a> can be different then the home url"
4910
  msgstr ""
4911
 
4912
+ #: add-ons/custom-redirects/custom_redirects_admin.php:260
4913
+ msgid "the ID of the user"
4914
  msgstr ""
4915
 
4916
+ #: add-ons/custom-redirects/custom_redirects_admin.php:261
4917
+ msgid "the URL sanitized version of the username, the user nicename can be safely used in URLs since it can't contain special characters or spaces."
4918
  msgstr ""
4919
 
4920
+ #: add-ons/custom-redirects/custom_redirects_admin.php:262
4921
+ msgid "the URL of the previously visited page"
4922
  msgstr ""
4923
 
4924
+ #: add-ons/custom-redirects/custom_redirects_admin.php:357, add-ons/custom-redirects/custom_redirects_admin.php:351, add-ons/custom-redirects/custom_redirects_admin.php:345
4925
+ msgid "You can't add duplicate redirects!"
4926
  msgstr ""
4927
 
4928
+ #: add-ons/email-customizer/admin-email-customizer.php:11
4929
+ msgid "Admin Email Customizer"
4930
  msgstr ""
4931
 
4932
+ #: add-ons/email-customizer/admin-email-customizer.php:12
4933
+ msgid "Admin Email Customizer Settings"
4934
  msgstr ""
4935
 
4936
+ #: add-ons/email-customizer/admin-email-customizer.php:53
4937
+ msgid "These settings are also replicated in the \"User Email Customizer\" settings-page upon save."
4938
  msgstr ""
4939
 
4940
+ #: add-ons/email-customizer/admin-email-customizer.php:53, add-ons/email-customizer/user-email-customizer.php:53
4941
+ msgid "Valid tags {{reply_to}} and {{site_name}}"
4942
  msgstr ""
4943
 
4944
+ #: add-ons/email-customizer/admin-email-customizer.php:56, add-ons/email-customizer/user-email-customizer.php:56
4945
+ msgid "From (name)"
4946
  msgstr ""
4947
 
4948
+ #: add-ons/email-customizer/admin-email-customizer.php:64, add-ons/email-customizer/user-email-customizer.php:64
4949
+ msgid "From (reply-to email)"
4950
  msgstr ""
4951
 
4952
+ #: add-ons/email-customizer/admin-email-customizer.php:69, add-ons/email-customizer/user-email-customizer.php:69
4953
+ msgid "Must be a valid email address or the tag {{reply_to}} which defaults to the administrator email"
4954
  msgstr ""
4955
 
4956
+ #: add-ons/email-customizer/admin-email-customizer.php:72, add-ons/email-customizer/user-email-customizer.php:72
4957
+ msgid "Common Settings"
4958
  msgstr ""
4959
 
4960
+ #: add-ons/email-customizer/admin-email-customizer.php:75
4961
+ msgid ""
4962
+ "<p>New subscriber on {{site_name}}.</p>\n"
4963
+ "<p>Username:{{username}}</p>\n"
4964
+ "<p>Email:{{user_email}}</p>\n"
4965
+ ""
4966
  msgstr ""
4967
 
4968
+ #: add-ons/email-customizer/admin-email-customizer.php:80, add-ons/email-customizer/admin-email-customizer.php:111, add-ons/email-customizer/admin-email-customizer.php:142, add-ons/email-customizer/admin-email-customizer.php:182, add-ons/email-customizer/user-email-customizer.php:83, add-ons/email-customizer/user-email-customizer.php:114, add-ons/email-customizer/user-email-customizer.php:146, add-ons/email-customizer/user-email-customizer.php:177, add-ons/email-customizer/user-email-customizer.php:209, add-ons/email-customizer/user-email-customizer.php:241, add-ons/email-customizer/user-email-customizer.php:273, add-ons/email-customizer/user-email-customizer.php:307, add-ons/email-customizer/user-email-customizer.php:346
4969
+ msgid "Email Subject"
4970
  msgstr ""
4971
 
4972
+ #: add-ons/email-customizer/admin-email-customizer.php:84, features/email-confirmation/email-confirmation.php:536
4973
+ msgid "A new subscriber has (been) registered!"
4974
  msgstr ""
4975
 
4976
+ #: add-ons/email-customizer/admin-email-customizer.php:87, add-ons/email-customizer/admin-email-customizer.php:118, add-ons/email-customizer/admin-email-customizer.php:149, add-ons/email-customizer/admin-email-customizer.php:189, add-ons/email-customizer/user-email-customizer.php:90, add-ons/email-customizer/user-email-customizer.php:121, add-ons/email-customizer/user-email-customizer.php:153, add-ons/email-customizer/user-email-customizer.php:184, add-ons/email-customizer/user-email-customizer.php:216, add-ons/email-customizer/user-email-customizer.php:248, add-ons/email-customizer/user-email-customizer.php:280, add-ons/email-customizer/user-email-customizer.php:314, add-ons/email-customizer/user-email-customizer.php:353
4977
+ msgid "Enable email"
4978
  msgstr ""
4979
 
4980
+ #: add-ons/email-customizer/admin-email-customizer.php:102
4981
+ msgid "Default Registration & Registration with Email Confirmation"
4982
  msgstr ""
4983
 
4984
+ #: add-ons/email-customizer/admin-email-customizer.php:105
4985
+ msgid ""
4986
+ "<p>New subscriber on {{site_name}}.</p>\n"
4987
+ "<p>Username:{{username}}</p>\n"
4988
+ "<p>Email:{{user_email}}</p>\n"
4989
+ "<p>The Admin Approval feature was activated at the time of registration,\n"
4990
+ "so please remember that you need to approve this user before he/she can log in!</p>"
4991
  msgstr ""
4992
 
4993
+ #: add-ons/email-customizer/admin-email-customizer.php:133, add-ons/email-customizer/user-email-customizer.php:168
4994
+ msgid "Registration with Admin Approval"
4995
  msgstr ""
4996
 
4997
+ #: add-ons/email-customizer/admin-email-customizer.php:136
4998
+ msgid ""
4999
+ "<p>{{username}} has requested a password change via the password reset feature.</p>\n"
5000
+ ""
5001
  msgstr ""
5002
 
5003
+ #: add-ons/email-customizer/admin-email-customizer.php:164
5004
+ msgid "Admin Notification for User Password Reset"
5005
  msgstr ""
5006
 
5007
+ #: add-ons/email-customizer/admin-email-customizer.php:178
5008
+ msgid ""
5009
+ "<p>The user {{username}} has updated their profile and some of the fields require admin approval:</p>\n"
5010
+ "<br>\n"
5011
+ "{{modified_fields}}\n"
5012
+ "<br>\n"
5013
+ "<p>Access this link to approve changes: {{approval_url}}</p>\n"
5014
+ ""
5015
  msgstr ""
5016
 
5017
+ #: add-ons/email-customizer/admin-email-customizer.php:186
5018
+ msgid "[{{site_name}}] A user has updated their profile. Some fields need approval"
5019
  msgstr ""
5020
 
5021
+ #: add-ons/email-customizer/admin-email-customizer.php:204
5022
+ msgid "Admin Notification for Edit Profile Approved by Admin"
5023
  msgstr ""
5024
 
5025
+ #: add-ons/email-customizer/email-customizer.php:7
5026
+ msgid "Available Tags"
5027
  msgstr ""
5028
 
5029
+ #: add-ons/email-customizer/email-customizer.php:11, add-ons/user-listing/userlisting.php:213
5030
+ msgid "User Fields Tags"
5031
  msgstr ""
5032
 
5033
+ #: add-ons/email-customizer/email-customizer.php:21
5034
+ msgid "Site Url"
5035
  msgstr ""
5036
 
5037
+ #: add-ons/email-customizer/email-customizer.php:22
5038
+ msgid "Site Name"
5039
  msgstr ""
5040
 
5041
+ #: add-ons/email-customizer/email-customizer.php:25, add-ons/user-listing/userlisting.php:170
5042
+ msgid "User Id"
5043
  msgstr ""
5044
 
5045
+ #: add-ons/email-customizer/email-customizer.php:32
5046
+ msgid "User Role Label"
5047
  msgstr ""
5048
 
5049
+ #: add-ons/email-customizer/email-customizer.php:34
5050
+ msgid "Reply To"
5051
  msgstr ""
5052
 
5053
+ #: add-ons/email-customizer/email-customizer.php:37, add-ons/user-listing/userlisting.php:128
5054
+ msgid "Blog URL"
5055
  msgstr ""
5056
 
5057
+ #: add-ons/email-customizer/email-customizer.php:41
5058
+ msgid "Activation Key"
5059
  msgstr ""
5060
 
5061
+ #: add-ons/email-customizer/email-customizer.php:42
5062
+ msgid "Activation Url"
5063
  msgstr ""
5064
 
5065
+ #: add-ons/email-customizer/email-customizer.php:43
5066
+ msgid "Activation Link"
5067
  msgstr ""
5068
 
5069
+ #: add-ons/email-customizer/email-customizer.php:47
5070
+ msgid "Reset Key"
5071
  msgstr ""
5072
 
5073
+ #: add-ons/email-customizer/email-customizer.php:48
5074
+ msgid "Reset Url"
5075
  msgstr ""
5076
 
5077
+ #: add-ons/email-customizer/email-customizer.php:49
5078
+ msgid "Reset Link"
5079
  msgstr ""
5080
 
5081
+ #: add-ons/email-customizer/email-customizer.php:53
5082
+ msgid "Approve User Url"
5083
  msgstr ""
5084
 
5085
+ #: add-ons/email-customizer/email-customizer.php:54
5086
+ msgid "Approve User Link"
5087
  msgstr ""
5088
 
5089
+ #: add-ons/email-customizer/email-customizer.php:58
5090
+ msgid "Approved Fields"
5091
  msgstr ""
5092
 
5093
+ #: add-ons/email-customizer/email-customizer.php:59
5094
+ msgid "Unapproved Fields"
5095
  msgstr ""
5096
 
5097
+ #: add-ons/email-customizer/email-customizer.php:63
5098
+ msgid "Modified Fields"
5099
  msgstr ""
5100
 
5101
+ #: add-ons/email-customizer/email-customizer.php:64
5102
+ msgid "Approval URL"
5103
  msgstr ""
5104
 
5105
+ #: add-ons/email-customizer/email-customizer.php:575
5106
+ msgid "The users selected password at signup"
5107
  msgstr ""
5108
 
5109
+ #: add-ons/email-customizer/email-customizer.php:583, add-ons/email-customizer/email-customizer.php:590, add-ons/email-customizer/email-customizer.php:604, features/email-confirmation/email-confirmation.php:594
5110
+ msgid "Your selected password at signup"
5111
  msgstr ""
5112
 
5113
+ #: add-ons/email-customizer/user-email-customizer.php:11
5114
+ msgid "User Email Customizer"
5115
  msgstr ""
5116
 
5117
+ #: add-ons/email-customizer/user-email-customizer.php:12
5118
+ msgid "User Email Customizer Settings"
5119
  msgstr ""
5120
 
5121
+ #: add-ons/email-customizer/user-email-customizer.php:53
5122
+ msgid "These settings are also replicated in the \"Admin Email Customizer\" settings-page upon save."
5123
  msgstr ""
5124
 
5125
+ #: add-ons/email-customizer/user-email-customizer.php:79
5126
+ msgid ""
5127
+ "<h3>Welcome to {{site_name}}!</h3>\n"
5128
+ "<p>Your username is: {{username}}</p>\n"
5129
+ ""
5130
  msgstr ""
5131
 
5132
+ #: add-ons/email-customizer/user-email-customizer.php:110
5133
+ msgid ""
5134
+ "<p>To activate your user, please click the following link:<br/>\n"
5135
+ "{{{activation_link}}}</p>\n"
5136
+ "<p>After you activate, you will receive another email with your credentials.</p>\n"
5137
+ ""
5138
  msgstr ""
5139
 
5140
+ #: add-ons/email-customizer/user-email-customizer.php:118
5141
+ msgid "[{{site_name}}] Activate {{username}}"
5142
  msgstr ""
5143
 
5144
+ #: add-ons/email-customizer/user-email-customizer.php:136
5145
+ msgid "Registration with Email Confirmation"
5146
  msgstr ""
5147
 
5148
+ #: add-ons/email-customizer/user-email-customizer.php:142
5149
+ msgid ""
5150
+ "<h3>Welcome to {{site_name}}!</h3>\n"
5151
+ "<p>Your username is: {{username}}</p>\n"
5152
+ "<p>Before you can access your account, an administrator needs to approve it. You will be notified via email.</p>\n"
5153
+ ""
5154
  msgstr ""
5155
 
5156
+ #: add-ons/email-customizer/user-email-customizer.php:150
5157
+ msgid "A new account has been created for you on {{site_name}}"
5158
  msgstr ""
5159
 
5160
+ #: add-ons/email-customizer/user-email-customizer.php:173
5161
+ msgid ""
5162
+ "<h3>Good News!</h3>\n"
5163
+ "<p>An administrator has just approved your account: {{username}} on {{site_name}}.</p>\n"
5164
+ ""
5165
  msgstr ""
5166
 
5167
+ #: add-ons/email-customizer/user-email-customizer.php:181
5168
+ msgid "Your account on {{site_name}} has been approved!"
5169
  msgstr ""
5170
 
5171
+ #: add-ons/email-customizer/user-email-customizer.php:199
5172
+ msgid "User Approval Notification"
5173
  msgstr ""
5174
 
5175
+ #: add-ons/email-customizer/user-email-customizer.php:204
5176
+ msgid ""
5177
+ "<h3>Hello,</h3>\n"
5178
+ "<p>Unfortunatelly an administrator has just unapproved your account: {{username}} on {{site_name}}.</p>\n"
5179
+ ""
5180
  msgstr ""
5181
 
5182
+ #: add-ons/email-customizer/user-email-customizer.php:213
5183
+ msgid "Your account on {{site_name}} has been unapproved!"
5184
  msgstr ""
5185
 
5186
+ #: add-ons/email-customizer/user-email-customizer.php:231
5187
+ msgid "Unapproved User Notification"
5188
  msgstr ""
5189
 
5190
+ #: add-ons/email-customizer/user-email-customizer.php:237
5191
+ msgid ""
5192
+ "<p>Someone requested that the password be reset for the following account: {{site_name}}<br/>\n"
5193
+ "Username: {{username}}</p>\n"
5194
+ "<p>If this was a mistake, just ignore this email and nothing will happen.</p>\n"
5195
+ "<p>To reset your password, visit the following address:<br/>\n"
5196
+ "{{{reset_link}}}</p>\n"
5197
+ ""
5198
  msgstr ""
5199
 
5200
+ #: add-ons/email-customizer/user-email-customizer.php:245
5201
+ msgid "[{{site_name}}] Password Reset"
5202
  msgstr ""
5203
 
5204
+ #: add-ons/email-customizer/user-email-customizer.php:263
5205
+ msgid "Password Reset Email"
5206
  msgstr ""
5207
 
5208
+ #: add-ons/email-customizer/user-email-customizer.php:269
5209
+ msgid ""
5210
+ "<p>You have successfully reset your password.</p>\n"
5211
+ ""
5212
  msgstr ""
5213
 
5214
+ #: add-ons/email-customizer/user-email-customizer.php:277
5215
+ msgid "[{{site_name}}] Password Reset Successfully"
5216
  msgstr ""
5217
 
5218
+ #: add-ons/email-customizer/user-email-customizer.php:295
5219
+ msgid "Password Reset Success Email"
5220
  msgstr ""
5221
 
5222
+ #: add-ons/email-customizer/user-email-customizer.php:303
5223
+ msgid ""
5224
+ "<h3>Hi {{username}},</h3>\n"
5225
+ "<p>This notice confirms that your email was changed on {{site_name}}.</p>\n"
5226
+ "<p>If you did not change your email, please contact the Site Administrator at %s</p>\n"
5227
+ "<p>This email has been sent to {{user_email}}</p>\n"
5228
+ "<p>Regards,<br>\n"
5229
+ "All at {{site_name}}<br>\n"
5230
+ "<a href=\"{{site_url}}\">{{site_url}}</a></p>"
5231
  msgstr ""
5232
 
5233
+ #: add-ons/email-customizer/user-email-customizer.php:311
5234
+ msgid "[{{site_name}}] Notice of Email Change"
5235
  msgstr ""
5236
 
5237
+ #: add-ons/email-customizer/user-email-customizer.php:329
5238
+ msgid "Changed Email Address Notification"
5239
  msgstr ""
5240
 
5241
+ #: add-ons/email-customizer/user-email-customizer.php:342
5242
+ msgid ""
5243
+ "<p>Your profile has been reviewed by an administrator:</p>\n"
5244
+ "<br>\n"
5245
+ "<p>Approved Fields: {{approved_fields}}</p>\n"
5246
+ "<p>Unapproved Fields: {{unapproved_fields}}</p>\n"
5247
+ ""
5248
  msgstr ""
5249
 
5250
+ #: add-ons/email-customizer/user-email-customizer.php:350
5251
+ msgid "[{{site_name}}] Your profile has been reviewed by an administrator"
5252
  msgstr ""
5253
 
5254
+ #: add-ons/email-customizer/user-email-customizer.php:368
5255
+ msgid "User Notification for Edit Profile Approved by Admin"
5256
  msgstr ""
5257
 
5258
+ #: add-ons/multiple-forms/edit-profile-forms.php:11, add-ons/multiple-forms/edit-profile-forms.php:12
5259
+ msgid "Edit-profile Form"
5260
  msgstr ""
5261
 
5262
+ #: add-ons/multiple-forms/edit-profile-forms.php:13, add-ons/multiple-forms/register-forms.php:13, add-ons/user-listing/userlisting.php:13
5263
+ msgid "Add New"
5264
  msgstr ""
5265
 
5266
+ #: add-ons/multiple-forms/edit-profile-forms.php:14
5267
+ msgid "Add new Edit-profile Form"
5268
  msgstr ""
5269
 
5270
+ #: add-ons/multiple-forms/edit-profile-forms.php:15
5271
+ msgid "Edit the Edit-profile Forms"
5272
  msgstr ""
5273
 
5274
+ #: add-ons/multiple-forms/edit-profile-forms.php:16
5275
+ msgid "New Edit-profile Form"
5276
  msgstr ""
5277
 
5278
+ #: add-ons/multiple-forms/edit-profile-forms.php:17, add-ons/multiple-forms/edit-profile-forms.php:23
5279
+ msgid "Edit-profile Forms"
5280
  msgstr ""
5281
 
5282
+ #: add-ons/multiple-forms/edit-profile-forms.php:18
5283
+ msgid "View the Edit-profile Form"
5284
  msgstr ""
5285
 
5286
+ #: add-ons/multiple-forms/edit-profile-forms.php:19
5287
+ msgid "Search the Edit-profile Forms"
5288
  msgstr ""
5289
 
5290
+ #: add-ons/multiple-forms/edit-profile-forms.php:20
5291
+ msgid "No Edit-profile Form found"
5292
  msgstr ""
5293
 
5294
+ #: add-ons/multiple-forms/edit-profile-forms.php:21
5295
+ msgid "No Edit-profile Forms found in trash"
5296
  msgstr ""
5297
 
5298
+ #: add-ons/multiple-forms/edit-profile-forms.php:135, add-ons/multiple-forms/register-forms.php:138, add-ons/user-listing/userlisting.php:2270
5299
+ msgid "Shortcode"
5300
  msgstr ""
5301
 
5302
+ #: add-ons/multiple-forms/edit-profile-forms.php:155, add-ons/multiple-forms/register-forms.php:159, add-ons/user-listing/userlisting.php:2291
5303
+ msgid "(no title)"
5304
  msgstr ""
5305
 
5306
+ #: add-ons/multiple-forms/edit-profile-forms.php:177, add-ons/multiple-forms/register-forms.php:180, add-ons/user-listing/userlisting.php:2313
5307
+ msgid "Use this shortcode on the page you want the form to be displayed:"
5308
  msgstr ""
5309
 
5310
+ #: add-ons/multiple-forms/edit-profile-forms.php:181, add-ons/multiple-forms/register-forms.php:184, add-ons/user-listing/userlisting.php:2317
5311
+ msgid "<span style=\"color:red;\">Note:</span> changing the form title also changes the shortcode!"
5312
  msgstr ""
5313
 
5314
+ #: add-ons/multiple-forms/edit-profile-forms.php:175, add-ons/multiple-forms/register-forms.php:178, add-ons/user-listing/userlisting.php:2311
5315
+ msgid "The shortcode will be available after you publish this form."
5316
  msgstr ""
5317
 
5318
+ #: add-ons/multiple-forms/edit-profile-forms.php:187, add-ons/multiple-forms/register-forms.php:190, add-ons/user-listing/userlisting.php:2350
5319
+ msgid "Form Shortcode"
5320
  msgstr ""
5321
 
5322
+ #: add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:230, features/content-restriction/content-restriction-meta-box.php:37, features/content-restriction/content-restriction.php:106
5323
+ msgid "Redirect"
5324
  msgstr ""
5325
 
5326
+ #: add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:230
5327
+ msgid "Whether to redirect the user to a specific page or not"
5328
  msgstr ""
5329
 
5330
+ #: add-ons/multiple-forms/edit-profile-forms.php:207, add-ons/multiple-forms/register-forms.php:231
5331
+ msgid "Display Messages"
5332
  msgstr ""
5333
 
5334
+ #: add-ons/multiple-forms/edit-profile-forms.php:207, add-ons/multiple-forms/register-forms.php:231
5335
+ msgid "Allowed time to display any success messages (in seconds)"
5336
  msgstr ""
5337
 
5338
+ #: add-ons/multiple-forms/edit-profile-forms.php:208, add-ons/multiple-forms/register-forms.php:232
5339
+ msgid "URL"
5340
  msgstr ""
5341
 
5342
+ #: add-ons/multiple-forms/edit-profile-forms.php:208
5343
+ msgid "Specify the URL of the page users will be redirected once they updated their profile using this form<br/>Use the following format: http://www.mysite.com"
5344
  msgstr ""
5345
 
5346
+ #: add-ons/multiple-forms/edit-profile-forms.php:215
5347
+ msgid "After Profile Update..."
5348
  msgstr ""
5349
 
5350
+ #: add-ons/multiple-forms/edit-profile-forms.php:241, add-ons/multiple-forms/register-forms.php:262
5351
+ msgid "Add New Field to the List"
5352
  msgstr ""
5353
 
5354
+ #: add-ons/multiple-forms/edit-profile-forms.php:245, add-ons/multiple-forms/register-forms.php:266
5355
+ msgid "Choose one of the supported fields you manage <a href=\"%s\">here</a>"
5356
  msgstr ""
5357
 
5358
+ #: add-ons/multiple-forms/edit-profile-forms.php:274
5359
+ msgid "This form is empty."
5360
  msgstr ""
5361
 
5362
+ #: add-ons/multiple-forms/multiple-forms.php:222
5363
+ msgid "You need to specify the title of the form before creating it"
5364
  msgstr ""
5365
 
5366
+ #: add-ons/multiple-forms/multiple-forms.php:406
5367
+ msgid "<pre>Title (Type)</pre>"
5368
  msgstr ""
5369
 
5370
+ #: add-ons/multiple-forms/multiple-forms.php:406
5371
+ msgid "Delete all items"
5372
  msgstr ""
5373
 
5374
+ #: add-ons/multiple-forms/multiple-forms.php:406
5375
+ msgid "Delete all"
5376
  msgstr ""
5377
 
5378
+ #: add-ons/multiple-forms/register-forms.php:14
5379
+ msgid "Add new Registration Form"
5380
  msgstr ""
5381
 
5382
+ #: add-ons/multiple-forms/register-forms.php:15
5383
+ msgid "Edit the Registration Forms"
5384
  msgstr ""
5385
 
5386
+ #: add-ons/multiple-forms/register-forms.php:16
5387
+ msgid "New Registration Form"
5388
  msgstr ""
5389
 
5390
+ #: add-ons/multiple-forms/register-forms.php:17, add-ons/multiple-forms/register-forms.php:23
5391
+ msgid "Registration Forms"
5392
  msgstr ""
5393
 
5394
+ #: add-ons/multiple-forms/register-forms.php:18
5395
+ msgid "View the Registration Form"
5396
  msgstr ""
5397
 
5398
+ #: add-ons/multiple-forms/register-forms.php:19
5399
+ msgid "Search the Registration Forms"
5400
  msgstr ""
5401
 
5402
+ #: add-ons/multiple-forms/register-forms.php:20
5403
+ msgid "No Registration Form found"
5404
  msgstr ""
5405
 
5406
+ #: add-ons/multiple-forms/register-forms.php:21
5407
+ msgid "No Registration Forms found in trash"
5408
  msgstr ""
5409
 
5410
+ #: add-ons/multiple-forms/register-forms.php:219
5411
+ msgid "Default Role"
5412
  msgstr ""
5413
 
5414
+ #: add-ons/multiple-forms/register-forms.php:228
5415
+ msgid "Set Role"
5416
  msgstr ""
5417
 
5418
+ #: add-ons/multiple-forms/register-forms.php:228
5419
+ msgid "Choose what role the user will have after (s)he registered<br/>If not specified, defaults to the role set in the WordPress settings"
5420
  msgstr ""
5421
 
5422
+ #: add-ons/multiple-forms/register-forms.php:229
5423
+ msgid "Automatically Log In"
5424
  msgstr ""
5425
 
5426
+ #: add-ons/multiple-forms/register-forms.php:229
5427
+ msgid "Whether to automatically log in the newly registered user or not<br/>Only works on single-sites without \"Admin Approval\" and \"Email Confirmation\" features activated<br/>WARNING: Caching the registration form will make automatic login not work"
5428
  msgstr ""
5429
 
5430
+ #: add-ons/multiple-forms/register-forms.php:232
5431
+ msgid "Specify the URL of the page users will be redirected once registered using this form<br/>Use the following format: http://www.mysite.com"
5432
  msgstr ""
5433
 
5434
+ #: add-ons/multiple-forms/register-forms.php:238
5435
+ msgid "After Registration..."
5436
  msgstr ""
5437
 
5438
+ #: add-ons/repeater-field/repeater-field.php:303
5439
+ msgid "Are you sure you want to delete this?"
5440
  msgstr ""
5441
 
5442
+ #: add-ons/user-listing/one-map-listing.php:439
5443
+ msgid "Please wait while the pins are loading..."
5444
  msgstr ""
5445
 
5446
+ #: add-ons/user-listing/one-map-listing.php:554
5447
+ msgid "The API Key was not provided."
5448
  msgstr ""
5449
 
5450
+ #: add-ons/user-listing/userlisting.php:14
5451
+ msgid "Add new User Listing"
5452
  msgstr ""
5453
 
5454
+ #: add-ons/user-listing/userlisting.php:15
5455
+ msgid "Edit the User Listing"
5456
  msgstr ""
5457
 
5458
+ #: add-ons/user-listing/userlisting.php:16
5459
+ msgid "New User Listing"
5460
  msgstr ""
5461
 
5462
+ #: add-ons/user-listing/userlisting.php:18
5463
+ msgid "View the User Listing"
5464
  msgstr ""
5465
 
5466
+ #: add-ons/user-listing/userlisting.php:19
5467
+ msgid "Search the User Listing"
5468
  msgstr ""
5469
 
5470
+ #: add-ons/user-listing/userlisting.php:20
5471
+ msgid "No User Listing found"
5472
  msgstr ""
5473
 
5474
+ #: add-ons/user-listing/userlisting.php:21
5475
+ msgid "No User Listing found in trash"
5476
  msgstr ""
5477
 
5478
+ #: add-ons/user-listing/userlisting.php:115
5479
+ msgid "Display name as"
5480
  msgstr ""
5481
 
5482
+ #: add-ons/user-listing/userlisting.php:160, add-ons/user-listing/userlisting.php:314, add-ons/user-listing/userlisting.php:849, add-ons/user-listing/userlisting.php:2384, features/admin-approval/class-admin-approval.php:170, features/roles-editor/roles-editor.php:256
5483
+ msgid "Role"
5484
  msgstr ""
5485
 
5486
+ #: add-ons/user-listing/userlisting.php:161, features/roles-editor/roles-editor.php:366
5487
+ msgid "Role Slug"
5488
  msgstr ""
5489
 
5490
+ #: add-ons/user-listing/userlisting.php:162, add-ons/user-listing/userlisting.php:2378
5491
+ msgid "Registration Date"
5492
  msgstr ""
5493
 
5494
+ #: add-ons/user-listing/userlisting.php:163, add-ons/user-listing/userlisting.php:2383
5495
+ msgid "Number of Posts"
5496
  msgstr ""
5497
 
5498
+ #: add-ons/user-listing/userlisting.php:167
5499
+ msgid "More Info"
5500
  msgstr ""
5501
 
5502
+ #: add-ons/user-listing/userlisting.php:168
5503
+ msgid "More Info Url"
5504
  msgstr ""
5505
 
5506
+ #: add-ons/user-listing/userlisting.php:169
5507
+ msgid "Avatar or Gravatar"
5508
  msgstr ""
5509
 
5510
+ #: add-ons/user-listing/userlisting.php:171
5511
+ msgid "User Nicename"
5512
  msgstr ""
5513
 
5514
+ #: add-ons/user-listing/userlisting.php:219
5515
+ msgid "Sort Tags"
5516
  msgstr ""
5517
 
5518
+ #: add-ons/user-listing/userlisting.php:223, add-ons/user-listing/userlisting.php:262
5519
+ msgid "Extra Functions"
5520
  msgstr ""
5521
 
5522
+ #: add-ons/user-listing/userlisting.php:226
5523
+ msgid "Pagination"
5524
  msgstr ""
5525
 
5526
+ #: add-ons/user-listing/userlisting.php:227
5527
+ msgid "Search all Fields"
5528
  msgstr ""
5529
 
5530
+ #: add-ons/user-listing/userlisting.php:228, add-ons/user-listing/userlisting.php:2462
5531
+ msgid "Faceted Menus"
5532
  msgstr ""
5533
 
5534
+ #: add-ons/user-listing/userlisting.php:229
5535
+ msgid "User Count"
5536
  msgstr ""
5537
 
5538
+ #: add-ons/user-listing/userlisting.php:236
5539
+ msgid "Map of listed users"
5540
  msgstr ""
5541
 
5542
+ #: add-ons/user-listing/userlisting.php:264
5543
+ msgid "Go Back Link"
5544
  msgstr ""
5545
 
5546
+ #: add-ons/user-listing/userlisting.php:282
5547
+ msgid "All-userlisting Template"
5548
  msgstr ""
5549
 
5550
+ #: add-ons/user-listing/userlisting.php:285
5551
+ msgid "Single-userlisting Template"
5552
  msgstr ""
5553
 
5554
+ #: add-ons/user-listing/userlisting.php:311
5555
+ msgid "Avatar"
5556
  msgstr ""
5557
 
5558
+ #: add-ons/user-listing/userlisting.php:313, add-ons/user-listing/userlisting.php:819, add-ons/user-listing/userlisting.php:2379, features/admin-approval/class-admin-approval.php:167
5559
+ msgid "Firstname"
5560
  msgstr ""
5561
 
5562
+ #: add-ons/user-listing/userlisting.php:315, add-ons/user-listing/userlisting.php:834
5563
+ msgid "Posts"
5564
  msgstr ""
5565
 
5566
+ #: add-ons/user-listing/userlisting.php:316, add-ons/user-listing/userlisting.php:816
5567
+ msgid "Sign-up Date"
5568
  msgstr ""
5569
 
5570
+ #: add-ons/user-listing/userlisting.php:317
5571
+ msgid "More"
5572
  msgstr ""
5573
 
5574
+ #: add-ons/user-listing/userlisting.php:411
5575
+ msgid "You do not have permission to view this user list."
5576
  msgstr ""
5577
 
5578
+ #: add-ons/user-listing/userlisting.php:424
5579
+ msgid "You do not have the required user role to view this user list."
5580
  msgstr ""
5581
 
5582
+ #: add-ons/user-listing/userlisting.php:448
5583
+ msgid "User not found"
5584
  msgstr ""
5585
 
5586
+ #: add-ons/user-listing/userlisting.php:843, add-ons/user-listing/userlisting.php:2390
5587
+ msgid "Jabber"
5588
  msgstr ""
5589
 
5590
+ #: add-ons/user-listing/userlisting.php:840, add-ons/user-listing/userlisting.php:2389
5591
+ msgid "Yim"
5592
  msgstr ""
5593
 
5594
+ #: add-ons/user-listing/userlisting.php:837, add-ons/user-listing/userlisting.php:2388
5595
+ msgid "Aim"
5596
  msgstr ""
5597
 
5598
+ #: add-ons/user-listing/userlisting.php:825, add-ons/user-listing/userlisting.php:2381
5599
+ msgid "Display Name"
5600
  msgstr ""
5601
 
5602
+ #: add-ons/user-listing/userlisting.php:822, add-ons/user-listing/userlisting.php:2380, features/admin-approval/class-admin-approval.php:168
5603
+ msgid "Lastname"
5604
  msgstr ""
5605
 
5606
+ #: add-ons/user-listing/userlisting.php:810
5607
+ msgid "First/Lastname"
5608
  msgstr ""
5609
 
5610
+ #: add-ons/user-listing/userlisting.php:1130, add-ons/user-listing/userlisting.php:1611, add-ons/user-listing/userlisting.php:2097, add-ons/user-listing/userlisting.php:2582
5611
+ msgid "Search Users by All Fields"
5612
  msgstr ""
5613
 
5614
+ #: add-ons/user-listing/userlisting.php:1407
5615
+ msgid "Click here to see more information about this user."
5616
  msgstr ""
5617
 
5618
+ #: add-ons/user-listing/userlisting.php:1404
5619
+ msgid "Click here to see more information about this user"
5620
  msgstr ""
5621
 
5622
+ #: add-ons/user-listing/userlisting.php:1404, add-ons/user-listing/userlisting.php:1404
5623
+ msgid "More..."
5624
  msgstr ""
5625
 
5626
+ #: add-ons/user-listing/userlisting.php:1434
5627
+ msgid "View Map"
5628
  msgstr ""
5629
 
5630
+ #: add-ons/user-listing/userlisting.php:1568, add-ons/user-listing/userlisting.php:1565
5631
+ msgid "Click here to go back"
5632
  msgstr ""
5633
 
5634
+ #: add-ons/user-listing/userlisting.php:1565, add-ons/user-listing/userlisting.php:1565
5635
+ msgid "Back"
5636
  msgstr ""
5637
 
5638
+ #: add-ons/user-listing/userlisting.php:1630
5639
+ msgid "You don't have any pagination settings on this userlisting!"
5640
  msgstr ""
5641
 
5642
+ #: add-ons/user-listing/userlisting.php:1598
5643
+ msgid "&laquo;&laquo; First"
5644
  msgstr ""
5645
 
5646
+ #: add-ons/user-listing/userlisting.php:1599
5647
+ msgid "&laquo; Prev"
5648
  msgstr ""
5649
 
5650
+ #: add-ons/user-listing/userlisting.php:1600
5651
+ msgid "Next &raquo; "
5652
  msgstr ""
5653
 
5654
+ #: add-ons/user-listing/userlisting.php:1601
5655
+ msgid "Last &raquo;&raquo;"
5656
  msgstr ""
5657
 
5658
+ #: add-ons/user-listing/userlisting.php:1679
5659
+ msgid "Show All"
5660
  msgstr ""
5661
 
5662
+ #: add-ons/user-listing/userlisting.php:1755
5663
+ msgid "Choose..."
5664
  msgstr ""
5665
 
5666
+ #: add-ons/user-listing/userlisting.php:1844
5667
+ msgid "No options available"
5668
  msgstr ""
5669
 
5670
+ #: add-ons/user-listing/userlisting.php:1999
5671
+ msgid "Remove All Filters"
5672
  msgstr ""
5673
 
5674
+ #: add-ons/user-listing/userlisting.php:2114
5675
+ msgid "Search"
5676
  msgstr ""
5677
 
5678
+ #: add-ons/user-listing/userlisting.php:2115
5679
+ msgid "Clear Results"
5680
  msgstr ""
5681
 
5682
+ #: add-ons/user-listing/userlisting.php:2320, add-ons/user-listing/userlisting.php:2324
5683
+ msgid "Extra shortcode parameters"
5684
  msgstr ""
5685
 
5686
+ #: add-ons/user-listing/userlisting.php:2322
5687
+ msgid "View all extra shortcode parameters"
5688
  msgstr ""
5689
 
5690
+ #: add-ons/user-listing/userlisting.php:2327
5691
+ msgid "displays users having a certain meta-value within a certain (extra) meta-field"
5692
  msgstr ""
5693
 
5694
+ #: add-ons/user-listing/userlisting.php:2328
5695
+ msgid "Example:"
5696
  msgstr ""
5697
 
5698
+ #: add-ons/user-listing/userlisting.php:2330
5699
+ msgid "Remember though, that the field-value combination must exist in the database."
5700
  msgstr ""
5701
 
5702
+ #: add-ons/user-listing/userlisting.php:2336
5703
+ msgid "displays only the users that you specified the user_id for"
5704
  msgstr ""
5705
 
5706
+ #: add-ons/user-listing/userlisting.php:2342
5707
+ msgid "displays all users except the ones you specified the user_id for"
5708
  msgstr ""
5709
 
5710
+ #: add-ons/user-listing/userlisting.php:2405
5711
+ msgid "Random (very slow on large databases > 10K user)"
5712
  msgstr ""
5713
 
5714
+ #: add-ons/user-listing/userlisting.php:2408
5715
+ msgid "Ascending"
5716
  msgstr ""
5717
 
5718
+ #: add-ons/user-listing/userlisting.php:2409
5719
+ msgid "Descending"
5720
  msgstr ""
5721
 
5722
+ #: add-ons/user-listing/userlisting.php:2414
5723
+ msgid "Roles to Display"
5724
  msgstr ""
5725
 
5726
+ #: add-ons/user-listing/userlisting.php:2414
5727
+ msgid "Restrict the userlisting to these selected roles only<br/>If not specified, defaults to all existing roles"
5728
  msgstr ""
5729
 
5730
+ #: add-ons/user-listing/userlisting.php:2415
5731
+ msgid "Number of Users/Page"
5732
  msgstr ""
5733
 
5734
+ #: add-ons/user-listing/userlisting.php:2415
5735
+ msgid "Set the number of users to be displayed on every paginated part of the all-userlisting"
5736
  msgstr ""
5737
 
5738
+ #: add-ons/user-listing/userlisting.php:2416
5739
+ msgid "Default Sorting Criteria"
5740
  msgstr ""
5741
 
5742
+ #: add-ons/user-listing/userlisting.php:2416
5743
+ msgid "Set the default sorting criteria<br/>This can temporarily be changed for each new session"
5744
  msgstr ""
5745
 
5746
+ #: add-ons/user-listing/userlisting.php:2417
5747
+ msgid "Default Sorting Order"
5748
  msgstr ""
5749
 
5750
+ #: add-ons/user-listing/userlisting.php:2417
5751
+ msgid "Set the default sorting order<br/>This can temporarily be changed for each new session"
5752
  msgstr ""
5753
 
5754
+ #: add-ons/user-listing/userlisting.php:2418
5755
+ msgid "Avatar Size (All-userlisting)"
5756
  msgstr ""
5757
 
5758
+ #: add-ons/user-listing/userlisting.php:2418
5759
+ msgid "Set the avatar size on the all-userlisting only"
5760
  msgstr ""
5761
 
5762
+ #: add-ons/user-listing/userlisting.php:2419
5763
+ msgid "Avatar Size (Single-userlisting)"
5764
  msgstr ""
5765
 
5766
+ #: add-ons/user-listing/userlisting.php:2419
5767
+ msgid "Set the avatar size on the single-userlisting only"
5768
  msgstr ""
5769
 
5770
+ #: add-ons/user-listing/userlisting.php:2420
5771
+ msgid "Visible only to logged in users?"
5772
  msgstr ""
5773
 
5774
+ #: add-ons/user-listing/userlisting.php:2420
5775
+ msgid "The userlisting will only be visible only to the logged in users"
5776
  msgstr ""
5777
 
5778
+ #: add-ons/user-listing/userlisting.php:2421
5779
+ msgid "Visible to following Roles"
5780
  msgstr ""
5781
 
5782
+ #: add-ons/user-listing/userlisting.php:2421
5783
+ msgid "The userlisting will only be visible to the following roles"
5784
  msgstr ""
5785
 
5786
+ #: add-ons/user-listing/userlisting.php:2427
5787
+ msgid "Userlisting Settings"
5788
  msgstr ""
5789
 
5790
+ #: add-ons/user-listing/userlisting.php:2452
5791
+ msgid "Label"
5792
  msgstr ""
5793
 
5794
+ #: add-ons/user-listing/userlisting.php:2452
5795
+ msgid "Choose the facet name that appears on the frontend"
5796
  msgstr ""
5797
 
5798
+ #: add-ons/user-listing/userlisting.php:2453
5799
+ msgid "Facet Type"
5800
  msgstr ""
5801
 
5802
+ #: add-ons/user-listing/userlisting.php:2453
5803
+ msgid "Choose the facet menu type"
5804
  msgstr ""
5805
 
5806
+ #: add-ons/user-listing/userlisting.php:2454
5807
+ msgid "Facet Meta"
5808
  msgstr ""
5809
 
5810
+ #: add-ons/user-listing/userlisting.php:2454
5811
+ msgid "Choose the meta field for the facet menu. If you want to use a repeater meta or a meta outisde Profile Builder just type the value and press enter."
5812
  msgstr ""
5813
 
5814
+ #: add-ons/user-listing/userlisting.php:2455
5815
+ msgid "Behaviour"
5816
  msgstr ""
5817
 
5818
+ #: add-ons/user-listing/userlisting.php:2455
5819
+ msgid "Narrow the results"
5820
  msgstr ""
5821
 
5822
+ #: add-ons/user-listing/userlisting.php:2455
5823
+ msgid "Expand the results"
5824
  msgstr ""
5825
 
5826
+ #: add-ons/user-listing/userlisting.php:2455
5827
+ msgid "Choose how multiple selections affect the results"
5828
  msgstr ""
5829
 
5830
+ #: add-ons/user-listing/userlisting.php:2456
5831
+ msgid "Visible choices"
5832
  msgstr ""
5833
 
5834
+ #: add-ons/user-listing/userlisting.php:2456
5835
+ msgid "Show a toggle link after this many choices. Leave blank for all"
5836
  msgstr ""
5837
 
5838
+ #: add-ons/user-listing/userlisting.php:2481
5839
+ msgid "Search Fields"
5840
  msgstr ""
5841
 
5842
+ #: add-ons/user-listing/userlisting.php:2481
5843
+ msgid "Choose the fields in which the Search Field will look in"
5844
  msgstr ""
5845
 
5846
+ #: add-ons/user-listing/userlisting.php:2486
5847
+ msgid "Search Settings"
5848
  msgstr ""
5849
 
5850
+ #: add-ons/user-listing/userlisting.php:2558
5851
+ msgid "You need to activate the Userlisting feature from within the \"Add-ons\" page!"
5852
  msgstr ""
5853
 
5854
+ #: add-ons/user-listing/userlisting.php:2558
5855
+ msgid "You can find it in the Profile Builder menu."
5856
  msgstr ""
5857
 
5858
+ #: add-ons/user-listing/userlisting.php:2721
5859
+ msgid "No results found!"
5860
  msgstr ""
5861
 
5862
+ #: admin/advanced-settings/advanced-settings.php:38
5863
+ msgid "Toolbox"
5864
  msgstr ""
5865
 
5866
+ #: admin/advanced-settings/advanced-settings.php:69
5867
+ msgid "The email address you are trying to register with is not allowed on this website."
5868
  msgstr ""
5869
 
5870
+ #: admin/advanced-settings/advanced-settings.php:77
5871
+ msgid "Your submission contains banned words."
5872
  msgstr ""
5873
 
5874
+ #: admin/advanced-settings/advanced-settings.php:181
5875
+ msgid "are"
5876
  msgstr ""
5877
 
5878
+ #: admin/advanced-settings/advanced-settings.php:182
5879
+ msgid "have"
5880
  msgstr ""
5881
 
5882
+ #: admin/advanced-settings/advanced-settings.php:178
5883
+ msgid "is"
5884
  msgstr ""
5885
 
5886
+ #: admin/advanced-settings/advanced-settings.php:179
5887
+ msgid "has"
5888
  msgstr ""
5889
 
5890
+ #: admin/advanced-settings/advanced-settings.php:185
5891
+ msgid "%1$s of the emails provided in the Admin Emails field %2$s invalid and %3$s been removed from the list"
5892
  msgstr ""
5893
 
5894
+ #: assets/misc/plugin-compatibilities.php:237
5895
+ msgid "Your account has to be confirmed by an administrator before you can log in."
5896
  msgstr ""
5897
 
5898
+ #: features/admin-approval/admin-approval.php:15, features/admin-approval/class-admin-approval.php:460, features/admin-approval/class-admin-approval.php:528
5899
+ msgid "Admin Approval"
5900
  msgstr ""
5901
 
5902
+ #: features/admin-approval/admin-approval.php:29, features/email-confirmation/email-confirmation.php:60
5903
+ msgid "Do you want to"
5904
  msgstr ""
5905
 
5906
+ #: features/admin-approval/admin-approval.php:52, features/admin-approval/admin-approval.php:100
5907
+ msgid "Your session has expired! Please refresh the page and try again."
5908
  msgstr ""
5909
 
5910
+ #: features/admin-approval/admin-approval.php:89, features/admin-approval/admin-approval.php:135, features/email-confirmation/email-confirmation.php:134
5911
+ msgid "You either don't have permission for that action or there was an error!"
5912
  msgstr ""
5913
 
5914
+ #: features/admin-approval/admin-approval.php:84
5915
+ msgid "User successfully deleted!"
5916
  msgstr ""
5917
 
5918
+ #: features/admin-approval/admin-approval.php:78
5919
+ msgid "User successfully unapproved!"
5920
  msgstr ""
5921
 
5922
+ #: features/admin-approval/admin-approval.php:68, features/admin-approval/admin-approval.php:344
5923
+ msgid "User successfully approved!"
5924
  msgstr ""
5925
 
5926
+ #: features/admin-approval/admin-approval.php:131
5927
+ msgid "Users successfully deleted!"
5928
  msgstr ""
5929
 
5930
+ #: features/admin-approval/admin-approval.php:123
5931
+ msgid "Users successfully unapproved!"
5932
  msgstr ""
5933
 
5934
+ #: features/admin-approval/admin-approval.php:113
5935
+ msgid "Users successfully approved!"
5936
  msgstr ""
5937
 
5938
+ #: features/admin-approval/admin-approval.php:159
5939
+ msgid "Your account on %1$s has been unapproved!"
5940
  msgstr ""
5941
 
5942
+ #: features/admin-approval/admin-approval.php:160, features/admin-approval/admin-approval.php:163
5943
+ msgid "unapproved"
5944
  msgstr ""
5945
 
5946
+ #: features/admin-approval/admin-approval.php:162
5947
+ msgid "An administrator has just unapproved your account on %1$s (%2$s)."
5948
  msgstr ""
5949
 
5950
+ #: features/admin-approval/admin-approval.php:151
5951
+ msgid "Your account on %1$s has been approved!"
5952
  msgstr ""
5953
 
5954
+ #: features/admin-approval/admin-approval.php:152, features/admin-approval/admin-approval.php:155
5955
+ msgid "approved"
5956
  msgstr ""
5957
 
5958
+ #: features/admin-approval/admin-approval.php:154
5959
+ msgid "An administrator has just approved your account on %1$s (%2$s)."
5960
  msgstr ""
5961
 
5962
+ #: features/admin-approval/admin-approval.php:193
5963
+ msgid "Your account has to be confirmed by an administrator before you can use the \"Password Recovery\" feature."
5964
  msgstr ""
5965
 
5966
+ #: features/admin-approval/admin-approval.php:228
5967
+ msgid "Your account has been successfully created!"
5968
  msgstr ""
5969
 
5970
+ #: features/admin-approval/admin-approval.php:302
5971
+ msgid "Something went wrong!"
5972
  msgstr ""
5973
 
5974
+ #: features/admin-approval/admin-approval.php:298
5975
+ msgid "User not approved!"
5976
  msgstr ""
5977
 
5978
+ #: features/admin-approval/admin-approval.php:283
5979
+ msgid "Do you wish to approve the registration?"
5980
  msgstr ""
5981
 
5982
+ #: features/admin-approval/admin-approval.php:323
5983
+ msgid "The approval link is not valid! Please <a href=\"%s\"> log in </a> to approve the user manually. "
5984
  msgstr ""
5985
 
5986
+ #: features/admin-approval/class-admin-approval.php:113
5987
+ msgid "delete this user?"
5988
  msgstr ""
5989
 
5990
+ #: features/admin-approval/class-admin-approval.php:118
5991
+ msgid "approve this user?"
5992
  msgstr ""
5993
 
5994
+ #: features/admin-approval/class-admin-approval.php:118, features/admin-approval/class-admin-approval.php:222
5995
+ msgid "Approve"
5996
  msgstr ""
5997
 
5998
+ #: features/admin-approval/class-admin-approval.php:116
5999
+ msgid "unapprove this user?"
6000
  msgstr ""
6001
 
6002
+ #: features/admin-approval/class-admin-approval.php:116, features/admin-approval/class-admin-approval.php:223
6003
+ msgid "Unapprove"
6004
  msgstr ""
6005
 
6006
+ #: features/admin-approval/class-admin-approval.php:171, features/email-confirmation/class-email-confirmation.php:170
6007
+ msgid "Registered"
6008
  msgstr ""
6009
 
6010
+ #: features/admin-approval/class-admin-approval.php:172
6011
+ msgid "User-status"
 
 
 
 
6012
  msgstr ""
6013
 
6014
+ #: features/admin-approval/class-admin-approval.php:274, features/email-confirmation/class-email-confirmation.php:279
6015
+ msgid "Sorry, but you don't have permission to do that!"
6016
  msgstr ""
6017
 
6018
+ #: features/admin-approval/class-admin-approval.php:266
6019
+ msgid "Do you want to bulk delete the selected users?"
6020
  msgstr ""
6021
 
6022
+ #: features/admin-approval/class-admin-approval.php:260
6023
+ msgid "Do you want to bulk unapprove the selected users?"
6024
  msgstr ""
6025
 
6026
+ #: features/admin-approval/class-admin-approval.php:252
6027
+ msgid "Do you want to bulk approve the selected users?"
 
 
 
 
 
6028
  msgstr ""
6029
 
6030
+ #: features/admin-approval/class-admin-approval.php:346
6031
+ msgid "Unapproved"
6032
  msgstr ""
6033
 
6034
+ #: features/admin-approval/class-admin-approval.php:344
6035
+ msgid "Approved"
 
 
6036
  msgstr ""
6037
 
6038
+ #: features/admin-approval/class-admin-approval.php:463, features/email-confirmation/class-email-confirmation.php:461
6039
+ msgid "All Users"
6040
  msgstr ""
6041
 
6042
+ #: features/conditional-fields/conditional-fields.php:84
6043
+ msgid "Conditional Logic"
 
 
 
 
 
 
6044
  msgstr ""
6045
 
6046
+ #: features/conditional-fields/conditional-fields.php:85
6047
+ msgid "Conditional Rules"
6048
  msgstr ""
6049
 
6050
+ #: features/conditional-fields/conditional-fields.php:569
6051
+ msgid "This field has conditional logic enabled."
6052
  msgstr ""
6053
 
6054
+ #: features/content-restriction/class-elementor-content-restriction.php:77, features/content-restriction/content-restriction-meta-box.php:19
6055
+ msgid "Profile Builder Content Restriction"
6056
  msgstr ""
6057
 
6058
+ #: features/content-restriction/class-elementor-content-restriction.php:90
6059
+ msgid "Restrict to logged in users"
6060
  msgstr ""
6061
 
6062
+ #: features/content-restriction/class-elementor-content-restriction.php:92
6063
+ msgid "Allow only logged in users to see this content."
6064
  msgstr ""
6065
 
6066
+ #: features/content-restriction/class-elementor-content-restriction.php:98
6067
+ msgid "Restrict by User Roles"
6068
  msgstr ""
6069
 
6070
+ #: features/content-restriction/class-elementor-content-restriction.php:110
6071
+ msgid "Allow users which have the specified role to see this content."
6072
  msgstr ""
6073
 
6074
+ #: features/content-restriction/class-elementor-content-restriction.php:116, features/content-restriction/content-restriction-meta-box.php:120
6075
+ msgid "Restriction Messages"
6076
  msgstr ""
6077
 
6078
+ #: features/content-restriction/class-elementor-content-restriction.php:124
6079
+ msgid "Enable Restriction Messages"
6080
  msgstr ""
6081
 
6082
+ #: features/content-restriction/class-elementor-content-restriction.php:126
6083
+ msgid "Replace hidden content with the default messages from PB -> Settings -> Content Restriction, a custom message or an Elementor Template."
6084
  msgstr ""
6085
 
6086
+ #: features/content-restriction/class-elementor-content-restriction.php:132, features/content-restriction/content-restriction-meta-box.php:126
6087
+ msgid "Enable Custom Messages"
6088
  msgstr ""
6089
 
6090
+ #: features/content-restriction/class-elementor-content-restriction.php:134
6091
+ msgid "Add a custom message or template."
6092
  msgstr ""
6093
 
6094
+ #: features/content-restriction/class-elementor-content-restriction.php:143
6095
+ msgid "Content type"
6096
  msgstr ""
6097
 
6098
+ #: features/content-restriction/class-elementor-content-restriction.php:147
6099
+ msgid "Text"
6100
  msgstr ""
6101
 
6102
+ #: features/content-restriction/class-elementor-content-restriction.php:151
6103
+ msgid "Template"
6104
  msgstr ""
6105
 
6106
+ #: features/content-restriction/class-elementor-content-restriction.php:168
6107
+ msgid "Select Template"
6108
  msgstr ""
6109
 
6110
+ #: features/content-restriction/content-restriction-filtering.php:351
6111
+ msgid "You must be logged in to view the comments."
6112
  msgstr ""
6113
 
6114
+ #: features/content-restriction/content-restriction-filtering.php:349
6115
+ msgid "Comments are restricted for your user role."
6116
  msgstr ""
6117
 
6118
+ #: features/content-restriction/content-restriction-functions.php:47
6119
+ msgid "This content is restricted for your user role."
6120
  msgstr ""
6121
 
6122
+ #: features/content-restriction/content-restriction-functions.php:45
6123
+ msgid "You must be logged in to view this content."
6124
  msgstr ""
6125
 
6126
+ #: features/content-restriction/content-restriction-meta-box.php:33
6127
+ msgid "Display Options"
6128
  msgstr ""
6129
 
6130
+ #: features/content-restriction/content-restriction-meta-box.php:37, features/content-restriction/content-restriction.php:101
6131
+ msgid "Message"
6132
  msgstr ""
6133
 
6134
+ #: features/content-restriction/content-restriction-meta-box.php:42, features/content-restriction/content-restriction.php:96
6135
+ msgid "Type of Restriction"
6136
  msgstr ""
6137
 
6138
+ #: features/content-restriction/content-restriction-meta-box.php:46
6139
+ msgid "Settings Default"
6140
  msgstr ""
6141
 
6142
+ #: features/content-restriction/content-restriction-meta-box.php:58
6143
+ msgid "Display For"
6144
  msgstr ""
6145
 
6146
+ #: features/content-restriction/content-restriction-meta-box.php:82
6147
+ msgid "Checking only \"Logged In Users\" will show this %s to all logged in users, regardless of user role."
6148
  msgstr ""
6149
 
6150
+ #: features/content-restriction/content-restriction-meta-box.php:86
6151
+ msgid "Checking any user role will show this %s only to users that have one of those user roles assigned."
 
 
 
6152
  msgstr ""
6153
 
6154
+ #: features/content-restriction/content-restriction-meta-box.php:93
6155
+ msgid "Restriction Redirect URL"
 
 
 
 
6156
  msgstr ""
6157
 
6158
+ #: features/content-restriction/content-restriction-meta-box.php:99
6159
+ msgid "Enable Custom Redirect URL"
6160
  msgstr ""
6161
 
6162
+ #: features/content-restriction/content-restriction-meta-box.php:103
6163
+ msgid "Check if you wish to add a custom redirect URL for this %s."
6164
  msgstr ""
6165
 
6166
+ #: features/content-restriction/content-restriction-meta-box.php:110
6167
+ msgid "Custom Redirect URL"
 
 
 
 
6168
  msgstr ""
6169
 
6170
+ #: features/content-restriction/content-restriction-meta-box.php:114
6171
+ msgid "Add a URL where you wish to redirect users that do not have access to this %s and try to access it directly."
6172
  msgstr ""
6173
 
6174
+ #: features/content-restriction/content-restriction-meta-box.php:130
6175
+ msgid "Check if you wish to add custom messages for this %s."
 
 
 
6176
  msgstr ""
6177
 
6178
+ #: features/content-restriction/content-restriction-meta-box.php:137
6179
+ msgid "Messages for logged-out users"
6180
  msgstr ""
6181
 
6182
+ #: features/content-restriction/content-restriction-meta-box.php:140
6183
+ msgid "Messages for logged-in users"
6184
  msgstr ""
6185
 
6186
+ #: features/content-restriction/content-restriction.php:63
6187
+ msgid "Content Restriction Settings"
 
 
 
6188
  msgstr ""
6189
 
6190
+ #: features/content-restriction/content-restriction.php:85
6191
+ msgid "Enable Content Restriction"
6192
  msgstr ""
6193
 
6194
+ #: features/content-restriction/content-restriction.php:91
6195
+ msgid "Activate Content Restriction"
6196
  msgstr ""
6197
 
6198
+ #: features/content-restriction/content-restriction.php:109
6199
+ msgid "If you select \"Message\", the post's content will be protected by being replaced with a custom message."
 
 
 
 
 
 
6200
  msgstr ""
6201
 
6202
+ #: features/content-restriction/content-restriction.php:110
6203
+ msgid "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."
6204
  msgstr ""
6205
 
6206
+ #: features/content-restriction/content-restriction.php:120
6207
+ msgid "Message for logged-out users"
6208
  msgstr ""
6209
 
6210
+ #: features/content-restriction/content-restriction.php:125
6211
+ msgid "Message for logged-in users"
 
 
6212
  msgstr ""
6213
 
6214
+ #: features/content-restriction/content-restriction.php:130
6215
+ msgid "Restricted Posts Preview"
6216
  msgstr ""
6217
 
6218
+ #: features/content-restriction/content-restriction.php:145
6219
+ msgid "Show the first %s words of the post's content"
6220
  msgstr ""
6221
 
6222
+ #: features/content-restriction/content-restriction.php:153
6223
+ msgid "Show the content before the \"more\" tag"
 
 
 
 
 
 
 
6224
  msgstr ""
6225
 
6226
+ #: features/content-restriction/content-restriction.php:157
6227
+ msgid "Show a portion of the restricted post to logged-out users or users that are not allowed to see it."
6228
  msgstr ""
6229
 
6230
+ #: features/email-confirmation/class-email-confirmation.php:92, features/email-confirmation/class-email-confirmation.php:171
6231
+ msgid "User Meta"
6232
  msgstr ""
6233
 
6234
+ #: features/email-confirmation/class-email-confirmation.php:92
6235
+ msgid "show"
6236
+ msgstr ""
6237
+
6238
+ #: features/email-confirmation/class-email-confirmation.php:121
6239
+ msgid "delete this user from the _signups table?"
6240
+ msgstr ""
6241
+
6242
+ #: features/email-confirmation/class-email-confirmation.php:122
6243
+ msgid "confirm this email yourself?"
6244
+ msgstr ""
6245
+
6246
+ #: features/email-confirmation/class-email-confirmation.php:122, features/email-confirmation/class-email-confirmation.php:219
6247
+ msgid "Confirm Email"
6248
+ msgstr ""
6249
+
6250
+ #: features/email-confirmation/class-email-confirmation.php:123
6251
+ msgid "resend the activation link?"
6252
+ msgstr ""
6253
+
6254
+ #: features/email-confirmation/class-email-confirmation.php:123, features/email-confirmation/class-email-confirmation.php:220
6255
+ msgid "Resend Activation Email"
6256
+ msgstr ""
6257
+
6258
+ #: features/email-confirmation/class-email-confirmation.php:275
6259
+ msgid "The selected users have had their activation emails resent"
6260
+ msgstr ""
6261
+
6262
+ #: features/email-confirmation/class-email-confirmation.php:264
6263
+ msgid "The selected users have been activated"
6264
+ msgstr ""
6265
+
6266
+ #: features/email-confirmation/class-email-confirmation.php:250
6267
+ msgid "%s couldn't be deleted"
6268
+ msgstr ""
6269
+
6270
+ #: features/email-confirmation/class-email-confirmation.php:254
6271
+ msgid "All users have been successfully deleted"
6272
+ msgstr ""
6273
+
6274
+ #: features/email-confirmation/class-email-confirmation.php:458, features/email-confirmation/class-email-confirmation.php:498, features/email-confirmation/email-confirmation.php:49
6275
+ msgid "Users with Unconfirmed Email Address"
6276
+ msgstr ""
6277
+
6278
+ #: features/email-confirmation/email-confirmation.php:128
6279
+ msgid "Email notification resent to user"
6280
  msgstr ""
6281
 
6282
+ #: features/email-confirmation/email-confirmation.php:117
6283
+ msgid "The selected user couldn't be deleted"
6284
  msgstr ""
6285
 
6286
+ #: features/email-confirmation/email-confirmation.php:109
6287
+ msgid "There was an error performing that action!"
6288
  msgstr ""
6289
 
6290
+ #: features/email-confirmation/email-confirmation.php:418
6291
+ msgid "[%1$s] Activate %2$s"
6292
  msgstr ""
6293
 
6294
+ #: features/email-confirmation/email-confirmation.php:421
6295
+ 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."
6296
  msgstr ""
6297
 
6298
+ #: features/email-confirmation/email-confirmation.php:488
6299
+ msgid "There was an error while trying to activate the user"
6300
  msgstr ""
6301
 
6302
+ #: features/email-confirmation/email-confirmation.php:465
6303
+ msgid "That username is already activated!"
6304
  msgstr ""
6305
 
6306
+ #: features/email-confirmation/email-confirmation.php:539
6307
+ msgid "New subscriber on %1$s.<br/><br/>Username:%2$s<br/>Email:%3$s<br/>"
6308
  msgstr ""
6309
 
6310
+ #: features/email-confirmation/email-confirmation.php:590
6311
+ msgid "[%1$s] Your new account information"
6312
  msgstr ""
6313
 
6314
+ #: features/email-confirmation/email-confirmation.php:602
6315
+ 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 "
6316
  msgstr ""
6317
 
6318
+ #: features/email-confirmation/email-confirmation.php:600
6319
+ 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 "
6320
  msgstr ""
6321
 
6322
+ #: features/email-confirmation/email-confirmation.php:655
6323
+ 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!"
6324
  msgstr ""
6325
 
6326
+ #: features/login-widget/login-widget.php:12
6327
+ msgid "This login widget lets you add a login form in the sidebar."
6328
  msgstr ""
6329
 
6330
+ #: features/login-widget/login-widget.php:17
6331
+ msgid "Profile Builder Login Widget"
6332
  msgstr ""
6333
 
6334
+ #: features/login-widget/login-widget.php:65
6335
+ msgid "Title:"
6336
  msgstr ""
6337
 
6338
+ #: features/login-widget/login-widget.php:70
6339
+ msgid "After login redirect URL (optional):"
6340
  msgstr ""
6341
 
6342
+ #: features/login-widget/login-widget.php:75
6343
+ msgid "Register page URL (optional):"
6344
  msgstr ""
6345
 
6346
+ #: features/login-widget/login-widget.php:80
6347
+ msgid "Password Recovery page URL (optional):"
6348
  msgstr ""
6349
 
6350
+ #: features/roles-editor/roles-editor.php:183
6351
+ msgid "Capability"
6352
  msgstr ""
6353
 
6354
+ #: features/roles-editor/roles-editor.php:184
6355
+ msgid "You can't delete this capability from your role."
6356
  msgstr ""
6357
 
6358
+ #: features/roles-editor/roles-editor.php:247, features/roles-editor/roles-editor.php:248
6359
+ msgid "Add New Role"
6360
  msgstr ""
6361
 
6362
+ #: features/roles-editor/roles-editor.php:249
6363
+ msgid "Edit Role"
6364
  msgstr ""
6365
 
6366
+ #: features/roles-editor/roles-editor.php:250
6367
+ msgid "New Role"
6368
  msgstr ""
6369
 
6370
+ #: features/roles-editor/roles-editor.php:252
6371
+ msgid "View Role"
6372
  msgstr ""
6373
 
6374
+ #: features/roles-editor/roles-editor.php:253
6375
+ msgid "Search the Roles Editor"
6376
  msgstr ""
6377
 
6378
+ #: features/roles-editor/roles-editor.php:254
6379
+ msgid "No roles found"
6380
  msgstr ""
6381
 
6382
+ #: features/roles-editor/roles-editor.php:255
6383
+ msgid "No roles found in trash"
6384
  msgstr ""
6385
 
6386
+ #: features/roles-editor/roles-editor.php:297, features/roles-editor/roles-editor.php:300
6387
+ msgid "Role updated."
6388
  msgstr ""
6389
 
6390
+ #: features/roles-editor/roles-editor.php:298
6391
+ msgid "Custom field updated."
6392
  msgstr ""
6393
 
6394
+ #: features/roles-editor/roles-editor.php:299
6395
+ msgid "Custom field deleted."
6396
  msgstr ""
6397
 
6398
+ #: features/roles-editor/roles-editor.php:302
6399
+ msgid "Role created."
6400
  msgstr ""
6401
 
6402
+ #: features/roles-editor/roles-editor.php:303
6403
+ msgid "Role saved."
6404
  msgstr ""
6405
 
6406
+ #: features/roles-editor/roles-editor.php:304
6407
+ msgid "Role submitted."
6408
  msgstr ""
6409
 
6410
+ #: features/roles-editor/roles-editor.php:305
6411
+ msgid "Role scheduled for: <strong>%1$s</strong>"
6412
  msgstr ""
6413
 
6414
+ #: features/roles-editor/roles-editor.php:306
6415
+ msgid "Role draft updated."
6416
  msgstr ""
6417
 
6418
+ #: features/roles-editor/roles-editor.php:365
6419
+ msgid "Role Name"
6420
  msgstr ""
6421
 
6422
+ #: features/roles-editor/roles-editor.php:367
6423
+ msgid "Capabilities"
6424
  msgstr ""
6425
 
6426
+ #: features/roles-editor/roles-editor.php:368
6427
+ msgid "Users"
6428
  msgstr ""
6429
 
6430
+ #: features/roles-editor/roles-editor.php:877
6431
+ msgid "Clone"
6432
  msgstr ""
6433
 
6434
+ #: features/roles-editor/roles-editor.php:892
6435
+ msgid "Change Default"
6436
  msgstr ""
6437
 
6438
+ #: features/roles-editor/roles-editor.php:893
6439
+ msgid "You can't delete the default role. Change it first."
6440
  msgstr ""
6441
 
6442
+ #: features/roles-editor/roles-editor.php:884
6443
+ msgid "You can't delete your role."
6444
  msgstr ""
6445
 
6446
+ #: features/roles-editor/roles-editor.php:1117
6447
+ msgid "Edit User Roles"
6448
  msgstr ""
6449
 
6450
+ #: features/upgrades/upgrades-functions.php:136, features/upgrades/upgrades-functions.php:93
6451
+ msgid "The usernames cannot be changed."
6452
  msgstr ""
6453
 
6454
+ #: features/upgrades/upgrades.php:167
6455
+ msgid "This Profile Builder add-on has been migrated to the main plugin and is no longer used. You can delete it."
6456
  msgstr ""
6457
 
6458
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:210
6459
+ msgid "Limit"
6460
  msgstr ""
6461
 
6462
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:210
6463
+ msgid "Enable limit to the number of fields to be generated by users in front end forms "
6464
  msgstr ""
6465
 
6466
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:211
6467
+ msgid "General Limit"
6468
  msgstr ""
6469
 
6470
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:211
6471
+ msgid "Default limit for this repeater group. <br>Leave 0 for unlimited."
6472
  msgstr ""
6473
 
6474
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:212
6475
+ msgid "Limit reached message"
6476
  msgstr ""
6477
 
6478
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:212
6479
+ msgid "The maximum number of fields has been reached."
6480
  msgstr ""
6481
 
6482
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:212
6483
+ msgid "The popup message to display when the limit of repeater groups is reached."
6484
  msgstr ""
6485
 
6486
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:213
6487
+ msgid "Limit per Role"
6488
  msgstr ""
6489
 
6490
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:213
6491
+ msgid "Leave 0 for unlimited."
6492
  msgstr ""
6493
 
6494
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:214
6495
+ msgid "Repeated field group"
6496
  msgstr ""
6497
 
6498
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:214
6499
+ msgid "Manage field or group of fields that will be repeatable."
6500
  msgstr ""
6501
 
6502
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:279
6503
+ msgid "Edit field group"
6504
  msgstr ""
6505
 
6506
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:280
6507
+ msgid "Repeatable fields saved!"
6508
  msgstr ""
6509
 
6510
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:297
6511
+ msgid "Please enter a unique field title."
6512
  msgstr ""
6513
 
6514
+ #: add-ons/repeater-field/admin/repeater-manage-fields.php:346
6515
+ msgid ""
6516
+ "Please enter a unique field title.\n"
6517
+ ""
6518
  msgstr ""
6519
 
6520
+ #: assets/lib/wck-api/wordpress-creation-kit.php:545
6521
+ msgid "Delete this item"
6522
  msgstr ""
6523
 
6524
+ #: front-end/default-fields/blog-details/blog-details.php:65
6525
+ msgid "Yes, I'd like to create a new site"
6526
  msgstr ""
6527
 
6528
+ #: front-end/default-fields/blog-details/blog-details.php:72
6529
+ msgid "Your site url will look like this:<br>"
6530
  msgstr ""
6531
 
6532
+ #: front-end/default-fields/blog-details/blog-details.php:95
6533
+ msgid "Site URL slug"
6534
  msgstr ""
6535
 
6536
+ #: front-end/default-fields/blog-details/blog-details.php:118
6537
+ msgid "Site Title"
6538
  msgstr ""
6539
 
6540
+ #: front-end/default-fields/blog-details/blog-details.php:140
6541
+ msgid "Privacy: I would like my site to appear in search engines, and in public listings around this network."
6542
  msgstr ""
6543
 
6544
+ #: front-end/default-fields/email/email.php:54, front-end/extra-fields/input-email/input-email.php:70
6545
+ msgid "You must enter a valid email address."
6546
  msgstr ""
6547
 
6548
+ #: front-end/default-fields/email/email.php:69, front-end/default-fields/email/email.php:63
6549
+ msgid "This email is already reserved to be used soon."
6550
  msgstr ""
6551
 
6552
+ #: 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
6553
+ msgid "Please try a different one!"
6554
  msgstr ""
6555
 
6556
+ #: front-end/default-fields/email/email.php:79, front-end/default-fields/email/email.php:97
6557
+ msgid "This email is already in use."
6558
  msgstr ""
6559
 
6560
+ #: front-end/default-fields/email-confirmation/email-confirmation.php:40
6561
+ msgid "The email confirmation does not match your email address."
6562
  msgstr ""
6563
 
6564
+ #: front-end/default-fields/gdpr-delete/gdpr-delete.php:33
6565
+ msgid "Type %s to confirm deleting your account and all data associated with it:"
6566
  msgstr ""
6567
 
6568
+ #: front-end/default-fields/gdpr-delete/gdpr-delete.php:34
6569
+ msgid "You did not type %s. Try again!"
6570
  msgstr ""
6571
 
6572
+ #: front-end/default-fields/password-repeat/password-repeat.php:43, front-end/default-fields/password-repeat/password-repeat.php:39
6573
+ msgid "The passwords do not match"
6574
  msgstr ""
6575
 
6576
+ #: front-end/default-fields/recaptcha/recaptcha.php:55
6577
+ msgid "To use reCAPTCHA you must get an API key from"
6578
  msgstr ""
6579
 
6580
+ #: front-end/default-fields/recaptcha/recaptcha.php:214
6581
+ msgid "For security reasons, you must pass the remote ip to reCAPTCHA!"
6582
  msgstr ""
6583
 
6584
+ #: front-end/default-fields/recaptcha/recaptcha.php:282
6585
+ msgid "To use reCAPTCHA you must get an API public key from:"
6586
  msgstr ""
6587
 
6588
+ #: front-end/default-fields/recaptcha/recaptcha.php:580
6589
+ msgid "Click the BACK button on your browser, and try again."
6590
  msgstr ""
6591
 
6592
+ #: front-end/default-fields/user-role/user-role.php:108
6593
+ msgid "As an administrator you cannot change your role."
6594
  msgstr ""
6595
 
6596
+ #: front-end/default-fields/user-role/user-role.php:113, front-end/default-fields/user-role/user-role.php:99
6597
+ msgid "Only administrators can see this field on edit profile forms."
6598
  msgstr ""
6599
 
6600
+ #: front-end/default-fields/user-role/user-role.php:150, front-end/default-fields/user-role/user-role.php:179, front-end/default-fields/user-role/user-role.php:174
6601
+ msgid "You cannot register this user role"
6602
  msgstr ""
6603
 
6604
+ #: front-end/default-fields/username/username.php:51
6605
+ msgid "This username already exists."
6606
  msgstr ""
6607
 
6608
+ #: front-end/default-fields/username/username.php:54, front-end/default-fields/username/username.php:62
6609
+ msgid "This username is invalid because it uses illegal characters."
6610
  msgstr ""
6611
 
6612
+ #: front-end/default-fields/username/username.php:54, front-end/default-fields/username/username.php:62
6613
+ msgid "Please enter a valid username."
6614
  msgstr ""
6615
 
6616
+ #: front-end/default-fields/username/username.php:67
6617
+ msgid "This username is already reserved to be used soon."
6618
  msgstr ""
6619
 
6620
+ #: front-end/extra-fields/avatar/avatar.php:80, front-end/extra-fields/checkbox/checkbox.php:45, front-end/extra-fields/colorpicker/colorpicker.php:45, front-end/extra-fields/datepicker/datepicker.php:40, front-end/extra-fields/input/input.php:30, front-end/extra-fields/input-email/input-email.php:30, front-end/extra-fields/input-hidden/input-hidden.php:34, front-end/extra-fields/input-url/input-url.php:30, front-end/extra-fields/map/map.php:51, front-end/extra-fields/number/number.php:30, front-end/extra-fields/phone/phone.php:39, front-end/extra-fields/radio/radio.php:44, front-end/extra-fields/select/select.php:51, front-end/extra-fields/select-cpt/select-cpt.php:59, front-end/extra-fields/select-multiple/select-multiple.php:47, front-end/extra-fields/select-timezone/select-timezone.php:49, front-end/extra-fields/select2/select2-multiple.php:88, front-end/extra-fields/select2/select2.php:74, front-end/extra-fields/textarea/textarea.php:30, front-end/extra-fields/upload/upload.php:76, front-end/extra-fields/wysiwyg/wysiwyg.php:33
6621
+ msgid "required"
6622
  msgstr ""
6623
 
6624
+ #: front-end/extra-fields/input-url/input-url.php:70
6625
+ msgid "You must enter a valid URL."
6626
  msgstr ""
6627
 
6628
+ #: front-end/extra-fields/map/map.php:69, front-end/extra-fields/map/map.php:46
6629
+ msgid "Please add the Google Maps API key for this field."
6630
  msgstr ""
6631
 
6632
+ #: front-end/extra-fields/map/map.php:134
6633
+ msgid "Something went wrong. Please try again."
6634
  msgstr ""
6635
 
6636
+ #: front-end/extra-fields/number/number.php:69
6637
+ msgid "Please enter numbers only"
6638
  msgstr ""
6639
 
6640
+ #: front-end/extra-fields/number/number.php:73
6641
+ msgid "Value must be a multiplier of %1$s"
6642
  msgstr ""
6643
 
6644
+ #: front-end/extra-fields/number/number.php:77
6645
+ msgid "Value must be greater than or equal to %1$s"
6646
  msgstr ""
6647
 
6648
+ #: front-end/extra-fields/number/number.php:81
6649
+ msgid "Value must be less than or equal to %1$s"
6650
  msgstr ""
6651
 
6652
+ #: front-end/extra-fields/phone/phone.php:22
6653
+ msgid "Required phone number format: "
6654
+ msgstr ""
6655
+
6656
+ #: front-end/extra-fields/select-cpt/select-cpt.php:67, front-end/extra-fields/select-cpt/select-cpt.php:43, assets/lib/wck-api/fields/country select.php:14, assets/lib/wck-api/fields/cpt select.php:17, assets/lib/wck-api/fields/select.php:14, assets/lib/wck-api/fields/user select.php:15
6657
+ msgid "...Choose"
6658
  msgstr ""
6659
 
6660
+ #: front-end/extra-fields/upload/upload.php:124
6661
+ msgid "Remove"
6662
  msgstr ""
6663
 
6664
+ #: front-end/extra-fields/upload/upload.php:189
6665
+ msgid "Select File"
6666
  msgstr ""
6667
 
6668
+ #: front-end/extra-fields/upload/upload.php:195
6669
+ msgid "Upload "
6670
  msgstr ""
6671
 
6672
+ #: front-end/extra-fields/upload/upload.php:174, front-end/extra-fields/upload/upload_helper_functions.php:61
6673
+ msgid "Files must be smaller than "
6674
  msgstr ""
6675
 
6676
+ #: front-end/extra-fields/upload/upload.php:175, front-end/extra-fields/upload/upload_helper_functions.php:87, front-end/extra-fields/upload/upload_helper_functions.php:96
6677
+ msgid "Sorry, you cannot upload this file type for this field."
6678
  msgstr ""
6679
 
6680
+ #: front-end/extra-fields/upload/upload_helper_functions.php:103
6681
+ msgid "An error occurred, please try again later."
6682
  msgstr ""
6683
 
6684
+ #: admin/advanced-settings/includes/fields/unique-display-name.php:19
6685
+ msgid "This display name is already in use. Please choose another one."
6686
  msgstr ""
6687
 
6688
+ #: admin/advanced-settings/includes/forms/placeholder-labels.php:105, admin/advanced-settings/includes/forms/placeholder-labels.php:109
6689
+ msgid "Placeholder Labels"
6690
  msgstr ""
6691
 
6692
+ #: admin/advanced-settings/includes/forms/placeholder-labels.php:131
6693
+ msgid "Replace labels with placeholders:"
6694
  msgstr ""
6695
 
6696
+ #: admin/advanced-settings/includes/shortcodes/resend-activation.php:5
6697
+ msgid "Resend activation email"
6698
  msgstr ""
6699
 
6700
+ #: admin/advanced-settings/includes/views/view-admin.php:14
6701
+ msgid "Allow users with the 'delete_users' capability to view the Admin Approval list"
6702
  msgstr ""
6703
 
6704
+ #: admin/advanced-settings/includes/views/view-admin.php:23
6705
+ msgid "By checking this option, you will allow users that have the 'delete_users' capability to access and use the Admin Approval list."
6706
  msgstr ""
6707
 
6708
+ #: admin/advanced-settings/includes/views/view-admin.php:30
6709
+ msgid "Allow users with the 'delete_users' capability to view the list of Unconfirmed Emails"
6710
  msgstr ""
6711
 
6712
+ #: admin/advanced-settings/includes/views/view-admin.php:39
6713
+ msgid "By checking this option, you will allow users that have the 'delete_users' capability to see the list of Unconfirmed Email Addresses."
6714
  msgstr ""
6715
 
6716
+ #: admin/advanced-settings/includes/views/view-admin.php:46
6717
+ msgid "Disable confirmation dialog for the {{approval_url}} or {{approval_link}} Email Customizer tags"
6718
  msgstr ""
6719
 
6720
+ #: admin/advanced-settings/includes/views/view-admin.php:55
6721
+ msgid "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>."
6722
  msgstr ""
6723
 
6724
+ #: admin/advanced-settings/includes/views/view-admin.php:62
6725
+ msgid "Multiple Admin Emails"
6726
  msgstr ""
6727
 
6728
+ #: admin/advanced-settings/includes/views/view-admin.php:73
6729
+ msgid "Set multiple admin e-mail addresses that will receive e-mail notifications sent by Profile Builder"
6730
  msgstr ""
6731
 
6732
+ #: admin/advanced-settings/includes/views/view-admin.php:84
6733
+ msgid "Admin Emails:"
6734
  msgstr ""
6735
 
6736
+ #: admin/advanced-settings/includes/views/view-admin.php:90
6737
+ msgid "Add email addresses, separated by comma, for people you wish to receive notifications from Profile Builder. These addresses will overwrite the default Email Adress from <a href=\"%s\">Settings -> General</a>"
6738
  msgstr ""
6739
 
6740
+ #: admin/advanced-settings/includes/views/view-fields.php:14
6741
+ msgid "Automatically generate password for users"
6742
  msgstr ""
6743
 
6744
+ #: admin/advanced-settings/includes/views/view-fields.php:23
6745
+ msgid "By checking this option, the password will be automatically generated and emailed to the user."
6746
  msgstr ""
6747
 
6748
+ #: admin/advanced-settings/includes/views/view-fields.php:30
6749
+ msgid "Modify 'Send Credentials' checkbox"
6750
  msgstr ""
6751
 
6752
+ #: admin/advanced-settings/includes/views/view-fields.php:34
6753
+ msgid "Hidden and checked"
6754
  msgstr ""
6755
 
6756
+ #: admin/advanced-settings/includes/views/view-fields.php:39
6757
+ msgid "Field text:"
6758
  msgstr ""
6759
 
6760
+ #: admin/advanced-settings/includes/views/view-fields.php:49
6761
+ msgid "By default, the user needs to choose if he wants to receive a registration email."
6762
  msgstr ""
6763
 
6764
+ #: admin/advanced-settings/includes/views/view-fields.php:52
6765
+ msgid "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."
6766
  msgstr ""
6767
 
6768
+ #: admin/advanced-settings/includes/views/view-fields.php:55
6769
+ msgid "If you choose to show the field, you can modify the default text by entering something in the field from above."
6770
  msgstr ""
6771
 
6772
+ #: admin/advanced-settings/includes/views/view-fields.php:62
6773
+ msgid "Redirect users to a page if they have empty required fields"
6774
  msgstr ""
6775
 
6776
+ #: admin/advanced-settings/includes/views/view-fields.php:71
6777
+ msgid "Redirect Page:"
6778
  msgstr ""
6779
 
6780
+ #: admin/advanced-settings/includes/views/view-fields.php:91
6781
+ msgid "By activating this option, logged in users which have empty required fields on their profile will be redirected to the page you added above."
6782
  msgstr ""
6783
 
6784
+ #: admin/advanced-settings/includes/views/view-fields.php:94
6785
+ msgid "For example, you can redirect these users to the Edit Profile form so they can add the missing info."
6786
  msgstr ""
6787
 
6788
+ #: admin/advanced-settings/includes/views/view-fields.php:101
6789
+ msgid "Ban certain words from being used in fields"
6790
  msgstr ""
6791
 
6792
+ #: admin/advanced-settings/includes/views/view-fields.php:108, admin/advanced-settings/includes/views/view-forms.php:37
6793
+ msgid "On"
6794
  msgstr ""
6795
 
6796
+ #: admin/advanced-settings/includes/views/view-fields.php:116
6797
+ msgid "Affected fields:"
6798
  msgstr ""
6799
 
6800
+ #: admin/advanced-settings/includes/views/view-fields.php:140
6801
+ msgid "Banned words:"
6802
  msgstr ""
6803
 
6804
+ #: admin/advanced-settings/includes/views/view-fields.php:159, admin/advanced-settings/includes/views/view-forms.php:82
6805
+ msgid "Error message:"
6806
  msgstr ""
6807
 
6808
+ #: admin/advanced-settings/includes/views/view-fields.php:170
6809
+ msgid "Allows you to define some words which users cannot use in their Username, First Name or Last Name when registering."
6810
  msgstr ""
6811
 
6812
+ #: admin/advanced-settings/includes/views/view-fields.php:177
6813
+ msgid "Unique 'Display Name' for users"
6814
  msgstr ""
6815
 
6816
+ #: admin/advanced-settings/includes/views/view-fields.php:186
6817
+ msgid "By checking this option, users will not be able to choose a <strong>Display Name</strong> that is already used by another account."
6818
  msgstr ""
6819
 
6820
+ #: admin/advanced-settings/includes/views/view-fields.php:193
6821
+ msgid "Always capitalize 'First Name' and 'Last Name' default fields"
6822
  msgstr ""
6823
 
6824
+ #: admin/advanced-settings/includes/views/view-fields.php:202
6825
+ msgid "If you have these fields in your forms, they will be always saved with the first letter as uppercase."
6826
  msgstr ""
6827
 
6828
+ #: admin/advanced-settings/includes/views/view-fields.php:205
6829
+ msgid "eg.: <strong>John Doe</strong> instead of <strong>john doe</strong>"
6830
  msgstr ""
6831
 
6832
+ #: admin/advanced-settings/includes/views/view-fields.php:213
6833
+ msgid "Datepicker starts on Monday"
6834
  msgstr ""
6835
 
6836
+ #: admin/advanced-settings/includes/views/view-fields.php:222
6837
+ msgid "Will make all Datepickers use Monday as the first day of the week."
6838
  msgstr ""
6839
 
6840
+ #: admin/advanced-settings/includes/views/view-fields.php:236
6841
+ msgid "Hide Repeater Fields from the back-end profile page"
6842
  msgstr ""
6843
 
6844
+ #: admin/advanced-settings/includes/views/view-fields.php:245
6845
+ msgid "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."
6846
  msgstr ""
6847
 
6848
+ #: admin/advanced-settings/includes/views/view-fields.php:248
6849
+ msgid "You will still be able to use them from a front-end edit profile form."
6850
  msgstr ""
6851
 
6852
+ #: admin/advanced-settings/includes/views/view-fields.php:257
6853
+ msgid "Remove All Extra Fields from Backend edit profile page."
6854
  msgstr ""
6855
 
6856
+ #: admin/advanced-settings/includes/views/view-fields.php:266
6857
+ msgid "If you activate this option, it will remove all custom fields from the backend profile page created with Profile Builder."
6858
  msgstr ""
6859
 
6860
+ #: admin/advanced-settings/includes/views/view-fields.php:275
6861
+ msgid "Update database entries when changing meta key"
6862
  msgstr ""
6863
 
6864
+ #: admin/advanced-settings/includes/views/view-fields.php:284
6865
+ msgid "If you activate this option, when changing the meta key of a field, existing entries from the database will be updated as well."
6866
  msgstr ""
6867
 
6868
+ #: admin/advanced-settings/includes/views/view-forms.php:14
6869
+ msgid "Enable Placeholder Labels"
6870
  msgstr ""
6871
 
6872
+ #: admin/advanced-settings/includes/views/view-forms.php:24
6873
+ msgid "Replace Labels with Placeholders in Profile Builder forms."
6874
  msgstr ""
6875
 
6876
+ #: admin/advanced-settings/includes/views/view-forms.php:30
6877
+ msgid "Allow or deny email domains from registering"
6878
  msgstr ""
6879
 
6880
+ #: admin/advanced-settings/includes/views/view-forms.php:45
6881
+ msgid "Type:"
6882
  msgstr ""
6883
 
6884
+ #: admin/advanced-settings/includes/views/view-forms.php:50
6885
+ msgid "Allow"
6886
  msgstr ""
6887
 
6888
+ #: admin/advanced-settings/includes/views/view-forms.php:56
6889
+ msgid "Deny"
6890
  msgstr ""
6891
 
6892
+ #: admin/advanced-settings/includes/views/view-forms.php:63
6893
+ msgid "Restricted domains:"
6894
  msgstr ""
6895
 
6896
+ #: admin/advanced-settings/includes/views/view-forms.php:93
6897
+ msgid "This option lets you allow registrations only from certain domains or deny registrations from certain domains."
6898
  msgstr ""
6899
 
6900
+ #: admin/advanced-settings/includes/views/view-forms.php:96
6901
+ msgid "You should add only the domain in the list from above. eg.: gmail.com"
6902
  msgstr ""
6903
 
6904
+ #: admin/advanced-settings/includes/views/view-forms.php:108
6905
+ msgid "Forms that should bypass Email Confirmation"
6906
  msgstr ""
6907
 
6908
+ #: admin/advanced-settings/includes/views/view-forms.php:135
6909
+ msgid "Users registering through any of the selected forms will not need to confirm their email address."
6910
  msgstr ""
6911
 
6912
+ #: admin/advanced-settings/includes/views/view-forms.php:144
6913
+ msgid "Disable Email Confirmation for Social Connect registrations"
6914
  msgstr ""
6915
 
6916
+ #: admin/advanced-settings/includes/views/view-forms.php:153
6917
+ msgid "If checked, will allow users that register through the Social Connect add-on to bypass the Email Confirmation feature."
6918
  msgstr ""
6919
 
6920
+ #: admin/advanced-settings/includes/views/view-forms.php:161
6921
+ msgid "Remember me checked by default"
6922
  msgstr ""
6923
 
6924
+ #: admin/advanced-settings/includes/views/view-forms.php:170
6925
+ msgid "Check the 'Remember Me' checkbox on Login forms, by default."
6926
  msgstr ""
6927
 
6928
+ #: admin/advanced-settings/includes/views/view-forms.php:176
6929
+ msgid "Remove validation from back-end profile page"
6930
  msgstr ""
6931
 
6932
+ #: admin/advanced-settings/includes/views/view-forms.php:185
6933
+ msgid "When saving the back-end user profile, Profile Builder fields will not be validated anymore. eg.: bypass required attribute"
6934
  msgstr ""
6935
 
6936
+ #: admin/advanced-settings/includes/views/view-forms.php:196
6937
+ msgid "Always show edit other users dropdown"
6938
  msgstr ""
6939
 
6940
+ #: admin/advanced-settings/includes/views/view-forms.php:205
6941
+ msgid "For perfomance reasons, we disable the select if you have more than 5000 users on your website. This option lets you enable it again."
6942
  msgstr ""
6943
 
6944
+ #: admin/advanced-settings/includes/views/view-forms.php:213
6945
+ msgid "Consider 'Anyone can Register' WordPress option"
6946
  msgstr ""
6947
 
6948
+ #: admin/advanced-settings/includes/views/view-forms.php:223
6949
+ msgid "setting"
6950
  msgstr ""
6951
 
6952
+ #: admin/advanced-settings/includes/views/view-forms.php:225
6953
+ msgid "By default, Profile Builder ignores this %1$s. If you check this option, our registration form will consider it."
6954
  msgstr ""
6955
 
6956
+ #: admin/advanced-settings/includes/views/view-forms.php:233
6957
+ msgid "Modify default Redirect Delay timer"
6958
  msgstr ""
6959
 
6960
+ #: admin/advanced-settings/includes/views/view-forms.php:240
6961
+ msgid "This allows you to change the amount of seconds it takes for the <strong>'After Registration'</strong> redirect to happen."
6962
  msgstr ""
6963
 
6964
+ #: admin/advanced-settings/includes/views/view-forms.php:243
6965
+ msgid "The default is 3 seconds. Leave empty if you do not want to change it."
6966
  msgstr ""
6967
 
6968
+ #: admin/advanced-settings/includes/views/view-forms.php:251
6969
+ msgid "Save Admin Approval status in usermeta"
6970
  msgstr ""
6971
 
6972
+ #: admin/advanced-settings/includes/views/view-forms.php:260
6973
+ msgid "By default, the Admin Approval status is saved as a custom taxonomy that is attached to the user."
6974
  msgstr ""
6975
 
6976
+ #: admin/advanced-settings/includes/views/view-forms.php:263
6977
+ 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."
6978
  msgstr ""
6979
 
6980
+ #: admin/advanced-settings/includes/views/view-forms.php:272
6981
+ msgid "Redirect '/author' page if user is not approved"
6982
  msgstr ""
6983
 
6984
+ #: admin/advanced-settings/includes/views/view-forms.php:281
6985
+ msgid "By default, users placed in Admin Approval will not be able to login, but the Author pages will be accessible."
6986
  msgstr ""
6987
 
6988
+ #: admin/advanced-settings/includes/views/view-forms.php:284
6989
+ msgid "Using this option you can redirect these pages, sending users who try to access them to your home page."
6990
  msgstr ""
6991
 
6992
+ #: admin/advanced-settings/includes/views/view-forms.php:292
6993
+ msgid "Save 'Last Login' date in usermeta"
6994
  msgstr ""
6995
 
6996
+ #: admin/advanced-settings/includes/views/view-forms.php:301
6997
+ msgid "By checking this option, each time a user logins, the date and time will be saved in the database."
6998
  msgstr ""
6999
 
7000
+ #: admin/advanced-settings/includes/views/view-forms.php:304
7001
+ msgid "The meta name for the field will be <strong>last_login_date</strong>."
7002
  msgstr ""
7003
 
7004
+ #: admin/advanced-settings/includes/views/view-forms.php:307, admin/advanced-settings/includes/views/view-forms.php:329
7005
+ 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."
7006
  msgstr ""
7007
 
7008
+ #: admin/advanced-settings/includes/views/view-forms.php:314
7009
+ msgid "Save 'Last Profile Update' date in usermeta"
7010
  msgstr ""
7011
 
7012
+ #: admin/advanced-settings/includes/views/view-forms.php:323
7013
+ msgid "By checking this option, each time a modifies his profile the date and time will be saved in the database."
7014
  msgstr ""
7015
 
7016
+ #: admin/advanced-settings/includes/views/view-forms.php:326
7017
+ msgid "The meta name for the field will be <strong>last_profile_update_date</strong>."
7018
  msgstr ""
7019
 
7020
+ #: admin/advanced-settings/includes/views/view-shortcodes.php:12
7021
+ msgid "Enable Compare shortcode"
7022
  msgstr ""
7023
 
7024
+ #: admin/advanced-settings/includes/views/view-shortcodes.php:21
7025
+ msgid "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>."
7026
  msgstr ""
7027
 
7028
+ #: admin/advanced-settings/includes/views/view-shortcodes.php:28
7029
+ msgid "Enable Usermeta shortcode"
7030
  msgstr ""
7031
 
7032
+ #: admin/advanced-settings/includes/views/view-shortcodes.php:37
7033
+ msgid "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>."
7034
  msgstr ""
7035
 
7036
+ #: admin/advanced-settings/includes/views/view-shortcodes.php:44
7037
+ msgid "Enable Resend Activation Email shortcode"
7038
  msgstr ""
7039
 
7040
+ #: admin/advanced-settings/includes/views/view-shortcodes.php:53
7041
+ msgid "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>."
7042
  msgstr ""
7043
 
7044
+ #: admin/advanced-settings/includes/views/view-shortcodes.php:60
7045
+ msgid "Enable Format Date shortcode"
7046
  msgstr ""
7047
 
7048
+ #: admin/advanced-settings/includes/views/view-shortcodes.php:69
7049
+ msgid "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>."
7050
  msgstr ""
7051
 
7052
+ #: admin/advanced-settings/includes/views/view-userlisting.php:12
7053
+ msgid "Change placeholder text for Search box"
7054
  msgstr ""
7055
 
7056
+ #: admin/advanced-settings/includes/views/view-userlisting.php:19
7057
+ msgid "This refers to the placeholder text from the <strong>{{{extra_search_all_fields}}}</strong> tag."
7058
  msgstr ""
7059
 
7060
+ #: admin/advanced-settings/includes/views/view-userlisting.php:22
7061
+ msgid "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."
7062
  msgstr ""
7063
 
7064
+ #: admin/advanced-settings/includes/views/view-userlisting.php:29
7065
+ msgid "Modify base URL for Single Userlisting"
7066
  msgstr ""
7067
 
7068
+ #: admin/advanced-settings/includes/views/view-userlisting.php:37
7069
+ msgid "By default Single Userlisting URLs contain the word <strong>user</strong>. eg.: "
7070
  msgstr ""
7071
 
7072
+ #: admin/advanced-settings/includes/views/view-userlisting.php:42
7073
+ msgid "Using this option, you can change the word <strong>user</strong> to something else. Leave empty if you do not want to change it."
7074
  msgstr ""
7075
 
7076
+ #: admin/advanced-settings/includes/views/view-userlisting.php:49
7077
+ msgid "Make the Single Userlisting URLs work with user nicename"
7078
  msgstr ""
7079
 
7080
+ #: admin/advanced-settings/includes/views/view-userlisting.php:59
7081
+ msgid "By default Single Userlisting URLs are generated using the users ID. eg.: "
7082
  msgstr ""
7083
 
7084
+ #: admin/advanced-settings/includes/views/view-userlisting.php:64
7085
+ msgid "With this option activated, the URLs will be generated using the users <strong>nicename</strong>."
7086
  msgstr ""
7087
 
7088
+ #: admin/advanced-settings/includes/views/view-userlisting.php:71
7089
+ msgid "Remove repetition counts from Faceted Menus"
7090
  msgstr ""
7091
 
7092
+ #: admin/advanced-settings/includes/views/view-userlisting.php:80
7093
+ msgid "The number of users that share a particular value is shown for the Select and Checkbox facet types."
7094
  msgstr ""
7095
 
7096
+ #: admin/advanced-settings/includes/views/view-userlisting.php:83
7097
+ msgid "If you enable this option they will be hidden."
 
 
7098
  msgstr ""
7099
 
7100
  #: assets/lib/wck-api/fields/select-2.php:16