User registration & user profile – Profile Builder - Version 3.3.8

Version Description

  • Elementor integration
  • Fixed some urls encoding in certain cases
  • Fixed a possible warning in advanced-settings.php
  • Fixed displaying additional email field with Placeholder Labels
Download this release

Release Info

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

Code changes from version 3.3.7 to 3.3.8

admin/advanced-settings/advanced-settings.php CHANGED
@@ -105,6 +105,10 @@ if( !class_exists('WPPB_toolbox') ){
105
 
106
  //this is for the migration of Multiple Admin Emails Add-on
107
  $wppb_toolbox_admin_settings = get_option('wppb_toolbox_admin_settings', array() );
 
 
 
 
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'] ) )
105
 
106
  //this is for the migration of Multiple Admin Emails Add-on
107
  $wppb_toolbox_admin_settings = get_option('wppb_toolbox_admin_settings', array() );
108
+ //make sure it's an array
109
+ if( empty($wppb_toolbox_admin_settings) )
110
+ $wppb_toolbox_admin_settings = array();
111
+
112
  if( !isset( $wppb_toolbox_admin_settings['multiple-admin-emails'] ) || !isset( $wppb_toolbox_admin_settings['admin-emails'] ) ){
113
 
114
  if( !isset( $wppb_toolbox_admin_settings['multiple-admin-emails'] ) )
admin/advanced-settings/includes/forms/placeholder-labels.php CHANGED
@@ -64,6 +64,7 @@ function wppb_pbpl_extra_attribute( $extra_attribute, $field, $form_location ) {
64
  'Datepicker',
65
  'Number',
66
  'Validation',
 
67
  );
68
 
69
  if( ! empty ( $field ) && in_array( $field['field'], $extra_attr_only_for ) ) {
64
  'Datepicker',
65
  'Number',
66
  'Validation',
67
+ 'Email',
68
  );
69
 
70
  if( ! empty ( $field ) && in_array( $field['field'], $extra_attr_only_for ) ) {
assets/css/style-front-end.css CHANGED
@@ -893,3 +893,13 @@ li.wppb-facet-search{
893
  .marker-content-info {position: absolute; top: -400px; left: -400px; display: none;}
894
  .wppb-map-container .marker-content {min-width: 320px; max-width: 100%;}
895
  .wppb-map-container .marker-content .marker-info-avatar_or_gravatar {float: left; margin-right: 10px;}
 
 
 
 
 
 
 
 
 
 
893
  .marker-content-info {position: absolute; top: -400px; left: -400px; display: none;}
894
  .wppb-map-container .marker-content {min-width: 320px; max-width: 100%;}
895
  .wppb-map-container .marker-content .marker-info-avatar_or_gravatar {float: left; margin-right: 10px;}
896
+
897
+ /**************************************************/
898
+ /* Elementor Visual Editor CSS
899
+ /**************************************************/
900
+ .elementor-edit-mode .wppb-map-container {
901
+ width: 69.9%;
902
+ float: left;
903
+ border: 1px solid #ccc;
904
+ border-radius: 3px;
905
+ }
assets/lib/class-mustache-templates/class-mustache-templates.php CHANGED
@@ -67,8 +67,10 @@ class PB_Mustache_Generate_Template{
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('[', '[', $value );
71
- $this->mustache_vars_array[$key] = str_replace(']', ']', $value );
 
 
72
  }
73
  }
74
  $content = do_shortcode( $m->render( $this->template, $this->mustache_vars_array ) );
67
  try {
68
  if( !empty( $this->mustache_vars_array ) ){
69
  foreach( $this->mustache_vars_array as $key => $value ){
70
+ if( is_string( $value ) ) {
71
+ $this->mustache_vars_array[$key] = str_replace('[', '[', $value);
72
+ $this->mustache_vars_array[$key] = str_replace(']', ']', $value);
73
+ }
74
  }
75
  }
76
  $content = do_shortcode( $m->render( $this->template, $this->mustache_vars_array ) );
assets/misc/elementor/class-elementor.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) exit;
5
+
6
+ use Elementor\Controls_Manager;
7
+
8
+ class PB_Elementor {
9
+ private static $_instance = null;
10
+ public $locations = array(
11
+ array(
12
+ 'element' => 'common',
13
+ 'action' => '_section_style',
14
+ ),
15
+ array(
16
+ 'element' => 'section',
17
+ 'action' => 'section_advanced',
18
+ )
19
+ );
20
+ public $section_name = 'pb_section_visibility_settings';
21
+
22
+ /**
23
+ * Register plugin action hooks and filters
24
+ */
25
+ public function __construct() {
26
+ // Add category
27
+ add_action( 'elementor/elements/categories_registered', array( $this, 'add_category' ) );
28
+
29
+ // Register widgets
30
+ add_action( 'elementor/widgets/widgets_registered', array( $this, 'register_widgets' ) );
31
+ }
32
+
33
+ /**
34
+ *
35
+ * Ensures only one instance of the class is loaded or can be loaded.
36
+ *
37
+ * @return PB_Elementor An instance of the class.
38
+ */
39
+ public static function instance() {
40
+ if ( is_null( self::$_instance ) )
41
+ self::$_instance = new self();
42
+
43
+ return self::$_instance;
44
+ }
45
+
46
+ /**
47
+ * Include Widgets files
48
+ */
49
+ private function include_widgets_files() {
50
+ require_once( __DIR__ . '/widgets/class-widget-edit-profile.php' );
51
+ require_once( __DIR__ . '/widgets/class-widget-login.php' );
52
+ require_once( __DIR__ . '/widgets/class-widget-recover-password.php' );
53
+ require_once( __DIR__ . '/widgets/class-widget-register.php' );
54
+ }
55
+
56
+ /**
57
+ * Register Widgets
58
+ */
59
+ public function register_widgets() {
60
+ $this->include_widgets_files();
61
+
62
+ \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new PB_Elementor_Edit_Profile_Widget() );
63
+ \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new PB_Elementor_Login_Widget() );
64
+ \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new PB_Elementor_Recover_Password_Widget() );
65
+ \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new PB_Elementor_Register_Widget() );
66
+ }
67
+
68
+ public function add_category( $elements_manager ) {
69
+ $elements_manager->add_category(
70
+ 'profile-builder',
71
+ array(
72
+ 'title' => __( 'Profile Builder Forms', 'profile-builder' ),
73
+ 'icon' => 'fa fa-plug',
74
+ )
75
+ );
76
+ }
77
+ }
78
+
79
+ // Instantiate Plugin Class
80
+ PB_Elementor::instance();
assets/misc/elementor/widgets/class-widget-edit-profile.php ADDED
@@ -0,0 +1,251 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) exit;
5
+
6
+ /**
7
+ * Elementor widget for our wppb-edit-profile shortcode
8
+ */
9
+ class PB_Elementor_Edit_Profile_Widget extends \Elementor\Widget_Base {
10
+
11
+ public function __construct($data = [], $args = null) {
12
+ parent::__construct($data, $args);
13
+
14
+ //Select2
15
+ wp_register_script('wppb_sl2_lib_js', WPPB_PLUGIN_URL . 'assets/js/select2/select2.min.js', array('jquery'));
16
+
17
+ wp_register_style('wppb_sl2_lib_css', WPPB_PLUGIN_URL . 'assets/css/select2/select2.min.css');
18
+ wp_register_style( 'wppb_sl2_css', WPPB_PLUGIN_URL.'front-end/extra-fields/select2/select2.css', false, PROFILE_BUILDER_VERSION );
19
+
20
+ //SelectCPT
21
+ wp_register_script( 'wppb_select2_js', WPPB_PLUGIN_URL .'assets/js/select2/select2.min.js', array( 'jquery' ), PROFILE_BUILDER_VERSION );
22
+ wp_register_style( 'wppb_select2_css', WPPB_PLUGIN_URL .'assets/css/select2/select2.min.css', array(), PROFILE_BUILDER_VERSION );
23
+ wp_register_style( 'wppb-select-cpt-style', WPPB_PLUGIN_URL.'front-end/extra-fields/select-cpt/style-front-end.css', array(), PROFILE_BUILDER_VERSION );
24
+
25
+ //Upload
26
+ wp_register_style( 'profile-builder-upload-css', WPPB_PLUGIN_URL.'front-end/extra-fields/upload/upload.css', false, PROFILE_BUILDER_VERSION );
27
+
28
+ //Multi-Step Forms compatibility
29
+ wp_register_style( 'wppb-msf-style-frontend', WP_PLUGIN_URL.'/pb-add-on-multi-step-forms/assets/css/frontend-multi-step-forms.css', array(), PROFILE_BUILDER_VERSION );
30
+ }
31
+
32
+ public function get_script_depends() {
33
+ return [
34
+ 'wppb_sl2_lib_js',
35
+ 'wppb_select2_js',
36
+ ];
37
+ }
38
+
39
+ public function get_style_depends() {
40
+ $styles = [
41
+ 'wppb_sl2_lib_css',
42
+ 'wppb_sl2_css',
43
+ 'profile-builder-upload-css',
44
+ 'wppb_select2_css',
45
+ 'wppb-select-cpt-style',
46
+ ];
47
+
48
+ if ( is_plugin_active( 'pb-add-on-multi-step-forms/index.php' ) ) {
49
+ $styles[] = 'wppb-msf-style-frontend';
50
+ }
51
+
52
+ return $styles;
53
+ }
54
+
55
+ /**
56
+ * Get widget name.
57
+ *
58
+ */
59
+ public function get_name() {
60
+ return 'wppb-edit-profile';
61
+ }
62
+
63
+ /**
64
+ * Get widget title.
65
+ *
66
+ */
67
+ public function get_title() {
68
+ return __( 'Edit Profile', 'profile-builder' );
69
+ }
70
+
71
+ /**
72
+ * Get widget icon.
73
+ *
74
+ */
75
+ public function get_icon() {
76
+ return 'eicon-form-horizontal';
77
+ }
78
+
79
+ /**
80
+ * Get widget categories.
81
+ *
82
+ */
83
+ public function get_categories() {
84
+ return array( 'profile-builder' );
85
+ }
86
+
87
+ /**
88
+ * Register widget controls
89
+ *
90
+ */
91
+ protected function _register_controls() {
92
+
93
+ $this->start_controls_section(
94
+ 'pb_edit_profile_form_settings_section',
95
+ array(
96
+ 'label' => __( 'Form Settings', 'profile-builder' ),
97
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
98
+ )
99
+ );
100
+
101
+ $args = array(
102
+ 'post_type' => 'wppb-epf-cpt',
103
+ 'posts_per_page'=> -1
104
+ );
105
+ $the_query = new WP_Query( $args );
106
+ $edit_form_links = array(
107
+ 'default' => ''
108
+ );
109
+ $form_titles = array(
110
+ 'default' => __( 'Default', 'profile-builder' )
111
+ );
112
+
113
+
114
+ if ( $the_query->have_posts() ) {
115
+ foreach ( $the_query->posts as $post ) {
116
+ $form_titles [ Wordpress_Creation_Kit_PB::wck_generate_slug( $post->post_title )] = $post->post_title ;
117
+ $edit_form_links [ Wordpress_Creation_Kit_PB::wck_generate_slug( $post->post_title )] = get_edit_post_link($post->ID);
118
+ }
119
+ wp_reset_postdata();
120
+ }
121
+
122
+ $this->add_control(
123
+ 'pb_form_name',
124
+ array(
125
+ 'label' => __('Form', 'profile-builder' ),
126
+ 'type' => \Elementor\Controls_Manager::SELECT,
127
+ 'options' => $form_titles,
128
+ 'default' => 'default',
129
+ )
130
+ );
131
+
132
+ foreach ($edit_form_links as $form_slug => $edit_form_link ) {
133
+ if( $form_slug === 'default' ){
134
+ continue;
135
+ }
136
+
137
+ $this->add_control(
138
+ 'pb_form_'.$form_slug.'_edit_link' ,
139
+ array(
140
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
141
+ 'raw' => __( 'Edit the Settings for this form <a href="'.esc_url( $edit_form_link ).'" target="_blank">here</a>' , 'profile-builder' ),
142
+ 'condition'=>[
143
+ 'pb_form_name' => [ $form_titles[$form_slug], $form_slug ],
144
+ ],
145
+ )
146
+ );
147
+ }
148
+
149
+ $this->end_controls_section();
150
+
151
+ $this->start_controls_section(
152
+ 'pb_edit_profile_redirects_section',
153
+ array(
154
+ 'label' => __( 'Redirects', 'profile-builder' ),
155
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
156
+ 'condition'=>[
157
+ 'pb_form_name'=>'default',
158
+ ],
159
+ )
160
+ );
161
+
162
+ $this->add_control(
163
+ 'pb_redirect_url',
164
+ array(
165
+ 'label' => __( 'Redirect after Edit Profile', 'profile-builder' ),
166
+ 'type' => \Elementor\Controls_Manager::TEXT,
167
+ 'placeholder' => __( 'Enter URL', 'profile-builder' ),
168
+ 'condition'=>[
169
+ 'pb_form_name'=>'default',
170
+ ],
171
+ )
172
+ );
173
+
174
+ $this->end_controls_section();
175
+
176
+ }
177
+
178
+ /**
179
+ * Render widget output in the front-end
180
+ *
181
+ */
182
+ protected function render() {
183
+
184
+ include_once( WPPB_PLUGIN_DIR.'/front-end/edit-profile.php' );
185
+ include_once( WPPB_PLUGIN_DIR.'/front-end/class-formbuilder.php' );
186
+
187
+ $settings = $this->get_settings_for_display();
188
+
189
+ $form_name = 'unspecified';
190
+ if ( array_key_exists( 'pb_form_name', $settings ) && $settings['pb_form_name'] !== 'default') {
191
+ $form_name = $settings['pb_form_name'];
192
+ }
193
+
194
+ $atts = [
195
+ 'form_name' => $form_name,
196
+ 'redirect_url' => $settings['pb_redirect_url'],
197
+ ];
198
+
199
+ $output = wppb_front_end_profile_info( $atts );
200
+
201
+ echo $output;
202
+
203
+ // check if the form is being displayed in the Elementor editor
204
+ $is_elementor_edit_mode = false;
205
+ if( class_exists ( '\Elementor\Plugin' ) ){
206
+ $is_elementor_edit_mode = \Elementor\Plugin::$instance->editor->is_edit_mode();
207
+ $message= "";
208
+ }
209
+
210
+ if ( $is_elementor_edit_mode && $output->args !== null ) {
211
+
212
+ //add the scripts for various fields
213
+ foreach ( $output->args['form_fields'] as $form_field ){
214
+ switch ( $form_field['field'] ){
215
+ case 'Select2':
216
+ echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/select2/select2.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb_sl2_js"></script>';
217
+ break;
218
+ case 'WYSIWYG':
219
+ echo '<script>jQuery(document.body).off( "click.add-media-button", ".insert-media" );</script>';
220
+ break;
221
+ case 'Select (CPT)':
222
+ echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/select-cpt/select-cpt.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-select-cpt-script"></script>';
223
+ break;
224
+ case 'Phone':
225
+ echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/phone/jquery.inputmask.bundle.min.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-jquery-inputmask"></script>';
226
+ echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/phone/script-phone.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-phone-script"></script>';
227
+ break;
228
+ default:
229
+ break;
230
+ }
231
+ }
232
+
233
+ //Multi-Step Forms compatibility
234
+ if ( is_plugin_active( 'pb-add-on-multi-step-forms/index.php' ) ) {
235
+ $ajaxUrl = admin_url( 'admin-ajax.php' );
236
+ $ajaxNonce = wp_create_nonce( 'wppb_msf_frontend_nonce' );
237
+ echo '
238
+ <script id="wppb-msf-script-frontend-extra">
239
+ var wppb_msf_data_frontend = {"ajaxUrl":"'.$ajaxUrl.'","ajaxNonce":"'.$ajaxNonce.'"};
240
+ </script>
241
+ ';
242
+ echo '
243
+ <script src="'.WP_PLUGIN_URL.'/pb-add-on-multi-step-forms/assets/js/frontend-multi-step-forms.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-msf-script-frontend">
244
+ </script>
245
+ ';
246
+
247
+ }
248
+ }
249
+ }
250
+
251
+ }
assets/misc/elementor/widgets/class-widget-login.php ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ use Elementor\Controls_Manager;
5
+ use Elementor\Group_Control_Border;
6
+ use Elementor\Group_Control_Typography;
7
+ use Elementor\Scheme_Typography;
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) exit;
10
+
11
+ /**
12
+ * Elementor widget for our wppb-login shortcode
13
+ */
14
+ class PB_Elementor_Login_Widget extends \Elementor\Widget_Base {
15
+
16
+ /**
17
+ * Get widget name.
18
+ *
19
+ */
20
+ public function get_name() {
21
+ return 'wppb-login';
22
+ }
23
+
24
+ /**
25
+ * Get widget title.
26
+ *
27
+ */
28
+ public function get_title() {
29
+ return __( 'Login', 'profile-builder' );
30
+ }
31
+
32
+ /**
33
+ * Get widget icon.
34
+ *
35
+ */
36
+ public function get_icon() {
37
+ return 'eicon-lock-user';
38
+ }
39
+
40
+ /**
41
+ * Get widget categories.
42
+ *
43
+ */
44
+ public function get_categories() {
45
+ return array( 'profile-builder' );
46
+ }
47
+
48
+ /**
49
+ * Register widget controls
50
+ *
51
+ */
52
+ protected function _register_controls() {
53
+
54
+ $this->start_controls_section(
55
+ 'pb_login_links',
56
+ array(
57
+ 'label' => __( 'Form Settings', 'profile-builder' ),
58
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
59
+ )
60
+ );
61
+
62
+ $this->add_control(
63
+ 'pb_register_url',
64
+ array(
65
+ 'label' => __( 'Registration', 'profile-builder' ),
66
+ 'type' => \Elementor\Controls_Manager::TEXT,
67
+ 'placeholder' => __( 'Enter URL', 'profile-builder' ),
68
+ )
69
+ );
70
+
71
+ $this->add_control(
72
+ 'pb_lostpassword_url',
73
+ array(
74
+ 'label' => __( 'Recover Password', 'profile-builder' ),
75
+ 'type' => \Elementor\Controls_Manager::TEXT,
76
+ 'placeholder' => __( 'Enter URL', 'profile-builder' ),
77
+ )
78
+ );
79
+
80
+ $this->end_controls_section();
81
+
82
+ $this->start_controls_section(
83
+ 'pb_login_redirects',
84
+ array(
85
+ 'label' => __( 'Redirects', 'profile-builder' ),
86
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
87
+ )
88
+ );
89
+
90
+ $this->add_control(
91
+ 'pb_after_login_redirect_url',
92
+ array(
93
+ 'label' => __( 'After Login', 'profile-builder' ),
94
+ 'type' => \Elementor\Controls_Manager::TEXT,
95
+ 'placeholder' => __( 'Enter URL', 'profile-builder' ),
96
+ )
97
+ );
98
+
99
+ $this->add_control(
100
+ 'pb_after_logout_redirect_url',
101
+ array(
102
+ 'label' => __( 'After Logout', 'profile-builder' ),
103
+ 'type' => \Elementor\Controls_Manager::TEXT,
104
+ 'placeholder' => __( 'Enter URL', 'profile-builder' ),
105
+ )
106
+ );
107
+
108
+ $this->end_controls_section();
109
+ }
110
+
111
+ /**
112
+ * Render widget output in the front-end
113
+ *
114
+ */
115
+ protected function render() {
116
+
117
+ include_once( WPPB_PLUGIN_DIR.'/front-end/login.php' );
118
+
119
+ $settings = $this->get_settings_for_display();
120
+
121
+ $atts = [
122
+ 'redirect_url' => $settings['pb_after_login_redirect_url'],
123
+ 'logout_redirect_url' => $settings['pb_after_logout_redirect_url'],
124
+ 'register_url' => $settings['pb_register_url'],
125
+ 'lostpassword_url' => $settings['pb_lostpassword_url'],
126
+ ];
127
+
128
+ echo wppb_front_end_login( $atts );
129
+ }
130
+
131
+ }
assets/misc/elementor/widgets/class-widget-recover-password.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) exit;
5
+
6
+ /**
7
+ * Elementor widget for our wppb-recover-password shortcode
8
+ */
9
+ class PB_Elementor_Recover_Password_Widget extends \Elementor\Widget_Base {
10
+
11
+ /**
12
+ * Get widget name.
13
+ *
14
+ */
15
+ public function get_name() {
16
+ return 'wppb-recover-password';
17
+ }
18
+
19
+ /**
20
+ * Get widget title.
21
+ *
22
+ */
23
+ public function get_title() {
24
+ return __( 'Recover Password', 'profile-builder' );
25
+ }
26
+
27
+ /**
28
+ * Get widget icon.
29
+ *
30
+ */
31
+ public function get_icon() {
32
+ return 'eicon-shortcode';
33
+ }
34
+
35
+ /**
36
+ * Get widget categories.
37
+ *
38
+ */
39
+ public function get_categories() {
40
+ return array( 'profile-builder' );
41
+ }
42
+
43
+ /**
44
+ * Register widget controls
45
+ *
46
+ */
47
+ protected function _register_controls() {
48
+
49
+ $this->start_controls_section(
50
+ 'pb_content_section',
51
+ array(
52
+ 'label' => __( 'Form Settings', 'profile-builder' ),
53
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
54
+ )
55
+ );
56
+
57
+ $this->add_control(
58
+ 'pb_recovery_no_controls_text',
59
+ array(
60
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
61
+ 'raw' => __( 'There are no available controls for the Password Recovery form', 'profile-builder' ),
62
+ )
63
+ );
64
+
65
+ $this->end_controls_section();
66
+
67
+ }
68
+
69
+ /**
70
+ * Render widget output in the front-end
71
+ *
72
+ */
73
+ protected function render() {
74
+
75
+ include_once( WPPB_PLUGIN_DIR.'/front-end/recover.php' );
76
+
77
+ echo wppb_front_end_password_recovery();
78
+ }
79
+
80
+ }
assets/misc/elementor/widgets/class-widget-register.php ADDED
@@ -0,0 +1,295 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) exit;
5
+
6
+ /**
7
+ * Elementor widget for our wppb-register shortcode
8
+ */
9
+ class PB_Elementor_Register_Widget extends \Elementor\Widget_Base {
10
+
11
+ public function __construct($data = [], $args = null) {
12
+ parent::__construct($data, $args);
13
+
14
+ //Select2
15
+ wp_register_script('wppb_sl2_lib_js', WPPB_PLUGIN_URL . 'assets/js/select2/select2.min.js', array('jquery'));
16
+
17
+ wp_register_style('wppb_sl2_lib_css', WPPB_PLUGIN_URL . 'assets/css/select2/select2.min.css');
18
+ wp_register_style( 'wppb_sl2_css', WPPB_PLUGIN_URL.'front-end/extra-fields/select2/select2.css', false, PROFILE_BUILDER_VERSION );
19
+
20
+ //SelectCPT
21
+ wp_register_script( 'wppb_select2_js', WPPB_PLUGIN_URL .'assets/js/select2/select2.min.js', array( 'jquery' ), PROFILE_BUILDER_VERSION );
22
+ wp_register_style( 'wppb_select2_css', WPPB_PLUGIN_URL .'assets/css/select2/select2.min.css', array(), PROFILE_BUILDER_VERSION );
23
+ wp_register_style( 'wppb-select-cpt-style', WPPB_PLUGIN_URL.'front-end/extra-fields/select-cpt/style-front-end.css', array(), PROFILE_BUILDER_VERSION );
24
+
25
+ //Upload
26
+ wp_register_style( 'profile-builder-upload-css', WPPB_PLUGIN_URL.'front-end/extra-fields/upload/upload.css', false, PROFILE_BUILDER_VERSION );
27
+
28
+ //Multi-Step Forms compatibility
29
+ wp_register_style( 'wppb-msf-style-frontend', WP_PLUGIN_URL.'/pb-add-on-multi-step-forms/assets/css/frontend-multi-step-forms.css', array(), PROFILE_BUILDER_VERSION );
30
+ }
31
+
32
+ public function get_script_depends() {
33
+ return [
34
+ 'wppb_sl2_lib_js',
35
+ 'wppb_select2_js',
36
+ ];
37
+ }
38
+
39
+ public function get_style_depends() {
40
+ $styles = [
41
+ 'wppb_sl2_lib_css',
42
+ 'wppb_sl2_css',
43
+ 'profile-builder-upload-css',
44
+ 'wppb_select2_css',
45
+ 'wppb-select-cpt-style',
46
+ ];
47
+
48
+ if ( is_plugin_active( 'pb-add-on-multi-step-forms/index.php' ) ) {
49
+ $styles[] = 'wppb-msf-style-frontend';
50
+ }
51
+
52
+ return $styles;
53
+ }
54
+
55
+ /**
56
+ * Get widget name.
57
+ *
58
+ */
59
+ public function get_name() {
60
+ return 'wppb-register';
61
+ }
62
+
63
+ /**
64
+ * Get widget title.
65
+ *
66
+ */
67
+ public function get_title() {
68
+ return __( 'Register', 'profile-builder' );
69
+ }
70
+
71
+ /**
72
+ * Get widget icon.
73
+ *
74
+ */
75
+ public function get_icon() {
76
+ return 'eicon-price-list';
77
+ }
78
+
79
+ /**
80
+ * Get widget categories.
81
+ *
82
+ */
83
+ public function get_categories() {
84
+ return array( 'profile-builder' );
85
+ }
86
+
87
+ /**
88
+ * Register widget controls
89
+ *
90
+ */
91
+ protected function _register_controls() {
92
+
93
+ $this->start_controls_section(
94
+ 'pb_register_form_settings_section',
95
+ array(
96
+ 'label' => __( 'Form Settings', 'profile-builder' ),
97
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
98
+ )
99
+ );
100
+
101
+ $args = array(
102
+ 'post_type' => 'wppb-rf-cpt',
103
+ 'posts_per_page'=> -1
104
+ );
105
+ $the_query = new WP_Query( $args );
106
+ $edit_form_links = array(
107
+ 'default' => ''
108
+ );
109
+ $form_titles = array(
110
+ 'default' => __( 'Default', 'profile-builder' )
111
+ );
112
+
113
+ if ( $the_query->have_posts() ) {
114
+ foreach ( $the_query->posts as $post ) {
115
+ $form_titles [ Wordpress_Creation_Kit_PB::wck_generate_slug( $post->post_title )] = $post->post_title ;
116
+ $edit_form_links [ Wordpress_Creation_Kit_PB::wck_generate_slug( $post->post_title )] = get_edit_post_link($post->ID);
117
+ }
118
+ wp_reset_postdata();
119
+ }
120
+
121
+ $this->add_control(
122
+ 'pb_form_name',
123
+ array(
124
+ 'label' => __('Form', 'profile-builder' ),
125
+ 'type' => \Elementor\Controls_Manager::SELECT,
126
+ 'options' => $form_titles,
127
+ 'default' => 'default',
128
+ )
129
+ );
130
+
131
+ if ( ! function_exists( 'get_editable_roles' ) ) {
132
+ require_once ABSPATH . 'wp-admin/includes/user.php';
133
+ }
134
+ $user_roles = get_editable_roles();
135
+ foreach ( $user_roles as $key=>$role ) {
136
+ $user_roles[$key] = $role['name'];
137
+ }
138
+
139
+ $this->add_control(
140
+ 'pb_role',
141
+ array(
142
+ 'label' => __( 'Assigned Role', 'profile-builder' ),
143
+ 'type' => \Elementor\Controls_Manager::SELECT,
144
+ 'options' => $user_roles,
145
+ 'default' => get_option('default_role'),
146
+ 'condition'=>[
147
+ 'pb_form_name'=>'default',
148
+ ],
149
+ )
150
+ );
151
+
152
+ $this->add_control(
153
+ 'pb_automatic_login',
154
+ array(
155
+ 'label' => __( 'Automatic Login', 'profile-builder' ),
156
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
157
+ 'label_on' => __( 'Yes', 'your-plugin' ),
158
+ 'label_off' => __( 'No', 'your-plugin' ),
159
+ 'return_value' => 'yes',
160
+ 'default' => '',
161
+ 'condition'=>[
162
+ 'pb_form_name'=>'default',
163
+ ],
164
+ )
165
+ );
166
+
167
+ foreach ($edit_form_links as $form_slug => $edit_form_link ) {
168
+ if( $form_slug === 'default' ){
169
+ continue;
170
+ }
171
+
172
+ $this->add_control(
173
+ 'pb_form_'.$form_slug.'_edit_link' ,
174
+ array(
175
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
176
+ 'raw' => __( 'Edit the Settings for this form <a href="'.esc_url( $edit_form_link ).'" target="_blank">here</a>' , 'profile-builder' ),
177
+ 'condition'=>[
178
+ 'pb_form_name' => [ $form_titles[$form_slug], $form_slug ],
179
+ ],
180
+ )
181
+ );
182
+ }
183
+
184
+ $this->end_controls_section();
185
+
186
+ $this->start_controls_section(
187
+ 'pb_register_redirects_section',
188
+ array(
189
+ 'label' => __( 'Redirects', 'profile-builder' ),
190
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
191
+ )
192
+ );
193
+
194
+ $this->add_control(
195
+ 'pb_redirect_url',
196
+ array(
197
+ 'label' => __( 'Redirect after Registration', 'profile-builder' ),
198
+ 'type' => \Elementor\Controls_Manager::TEXT,
199
+ 'placeholder' => __( 'Enter URL', 'profile-builder' ),
200
+ 'condition'=>[
201
+ 'pb_form_name'=>'default',
202
+ ],
203
+ )
204
+ );
205
+
206
+ $this->add_control(
207
+ 'pb_logout_redirect_url',
208
+ array(
209
+ 'label' => __( 'Redirect after Logout', 'profile-builder' ),
210
+ 'type' => \Elementor\Controls_Manager::TEXT,
211
+ 'placeholder' => __( 'Enter URL', 'profile-builder' ),
212
+ )
213
+ );
214
+
215
+ $this->end_controls_section();
216
+
217
+ }
218
+
219
+ /**
220
+ * Render widget output in the front-end
221
+ *
222
+ */
223
+ protected function render() {
224
+
225
+ include_once( WPPB_PLUGIN_DIR.'/front-end/register.php' );
226
+ include_once( WPPB_PLUGIN_DIR.'/front-end/class-formbuilder.php' );
227
+
228
+ $settings = $this->get_settings_for_display();
229
+
230
+ $form_name = 'unspecified';
231
+ if ( array_key_exists( 'pb_form_name', $settings ) && $settings['pb_form_name'] !== 'default') {
232
+ $form_name = $settings['pb_form_name'];
233
+ }
234
+
235
+ $atts = [
236
+ 'role' => $settings['pb_role'],
237
+ 'form_name' => $form_name,
238
+ 'redirect_url' => $settings['pb_redirect_url'],
239
+ 'logout_redirect_url' => $settings['pb_logout_redirect_url'],
240
+ 'automatic_login' => $settings['pb_automatic_login'],
241
+ ];
242
+
243
+ $output = wppb_front_end_register( $atts );
244
+
245
+ echo $output;
246
+
247
+ // check if the form is being displayed in the Elementor editor
248
+ $is_elementor_edit_mode = false;
249
+ if( class_exists ( '\Elementor\Plugin' ) ){
250
+ $is_elementor_edit_mode = \Elementor\Plugin::$instance->editor->is_edit_mode();
251
+ $message= "";
252
+ }
253
+
254
+ if ( $is_elementor_edit_mode && $output->args !== null ) {
255
+
256
+ //add the scripts for various fields
257
+ foreach ( $output->args['form_fields'] as $form_field ){
258
+ switch ( $form_field['field'] ){
259
+ case 'Select2':
260
+ echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/select2/select2.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb_sl2_js"></script>';
261
+ break;
262
+ case 'WYSIWYG':
263
+ echo '<script>jQuery(document.body).off( "click.add-media-button", ".insert-media" );</script>';
264
+ break;
265
+ case 'Select (CPT)':
266
+ echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/select-cpt/select-cpt.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-select-cpt-script"></script>';
267
+ break;
268
+ case 'Phone':
269
+ echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/phone/jquery.inputmask.bundle.min.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-jquery-inputmask"></script>';
270
+ echo '<script src="'.WPPB_PLUGIN_URL.'front-end/extra-fields/phone/script-phone.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-phone-script"></script>';
271
+ break;
272
+ default:
273
+ break;
274
+ }
275
+ }
276
+
277
+ //add script for Multi-Step Forms compatibility
278
+ if ( is_plugin_active( 'pb-add-on-multi-step-forms/index.php' ) ) {
279
+ $ajaxUrl = admin_url( 'admin-ajax.php' );
280
+ $ajaxNonce = wp_create_nonce( 'wppb_msf_frontend_nonce' );
281
+ echo '
282
+ <script id="wppb-msf-script-frontend-extra">
283
+ var wppb_msf_data_frontend = {"ajaxUrl":"'.$ajaxUrl.'","ajaxNonce":"'.$ajaxNonce.'"};
284
+ </script>
285
+ ';
286
+ echo '
287
+ <script src="'.WP_PLUGIN_URL.'/pb-add-on-multi-step-forms/assets/js/frontend-multi-step-forms.js?ver='.PROFILE_BUILDER_VERSION.'" id="wppb-msf-script-frontend">
288
+ </script>
289
+ ';
290
+
291
+ }
292
+ }
293
+ }
294
+
295
+ }
features/content-restriction/class-elementor-content-restriction.php CHANGED
@@ -217,7 +217,7 @@ class WPPB_Elementor {
217
  return false;
218
  }
219
 
220
- // Retrieves custom element message or the default message from PMS settings
221
  private function get_custom_message( $element ) {
222
  $settings = $element->get_settings();
223
 
217
  return false;
218
  }
219
 
220
+ // Retrieves custom element message or the default message from PB settings
221
  private function get_custom_message( $element ) {
222
  $settings = $element->get_settings();
223
 
features/functions.php CHANGED
@@ -1359,7 +1359,7 @@ function wppb_private_website_functionality(){
1359
  if( ( !in_array( $post_id, $allowed_pages ) && $redirect_url !== strtok( wppb_curpageurl(), '?' ) ) || is_search() ){
1360
  nocache_headers();
1361
  if( current_filter() == 'template_redirect' ) {
1362
- $redirect_url = add_query_arg( 'wppb_referer_url', esc_url( wppb_curpageurl() ), $redirect_url );
1363
  }
1364
  wp_safe_redirect( $redirect_url );
1365
  exit;
1359
  if( ( !in_array( $post_id, $allowed_pages ) && $redirect_url !== strtok( wppb_curpageurl(), '?' ) ) || is_search() ){
1360
  nocache_headers();
1361
  if( current_filter() == 'template_redirect' ) {
1362
+ $redirect_url = add_query_arg( 'wppb_referer_url', urlencode( esc_url( wppb_curpageurl() ) ), $redirect_url );
1363
  }
1364
  wp_safe_redirect( $redirect_url );
1365
  exit;
front-end/class-formbuilder.php CHANGED
@@ -54,7 +54,7 @@ class Profile_Builder_Form_Creator{
54
  $this->wppb_retrieve_custom_settings();
55
 
56
  if( ( !is_multisite() && current_user_can( 'edit_users' ) ) || ( is_multisite() && current_user_can( 'manage_network' ) ) )
57
- add_action( 'wppb_before_edit_profile_fields', array( 'Profile_Builder_Form_Creator', 'wppb_edit_profile_select_user_to_edit' ) );
58
 
59
  //enqueue frontend scripts for forms
60
  add_action( 'wp_footer', array( $this, 'wppb_frontend_scripts' ), 9999 );
@@ -277,7 +277,15 @@ class Profile_Builder_Form_Creator{
277
 
278
  ob_start();
279
 
280
- if( isset( $_REQUEST['action'] ) && $_REQUEST['form_name'] === $this->args['form_name'] ) {
 
 
 
 
 
 
 
 
281
  if( ! isset( $_POST[$this->args['form_type'].'_'. $this->args['form_name'] .'_nonce_field'] ) || ! wp_verify_nonce( $_POST[$this->args['form_type'].'_'. $this->args['form_name'] .'_nonce_field'], 'wppb_verify_form_submission' ) ) {
282
  echo '<span class="wppb-form-error wppb-error">'. esc_html(__( 'You are not allowed to do this.', 'profile-builder' )) . '</span>';
283
  return;
@@ -387,7 +395,7 @@ class Profile_Builder_Form_Creator{
387
  echo $message;
388
 
389
  // use this action hook to add extra content before the register form
390
- do_action( 'wppb_before_'.$this->args['form_type'].'_fields', $this->args['form_name'], $this->args['ID'], $this->args['form_type'] );
391
 
392
  $wppb_user_role_class = '';
393
  if( is_user_logged_in() ) {
@@ -692,10 +700,10 @@ class Profile_Builder_Form_Creator{
692
  return get_current_user_id();
693
  }
694
 
695
- static function wppb_edit_profile_select_user_to_edit( $form_name ){
696
 
697
  $display_edit_users_dropdown = apply_filters( 'wppb_display_edit_other_users_dropdown', true );
698
- if( !$display_edit_users_dropdown )
699
  return;
700
 
701
  /* add a hard cap: if we have more than 5000 users don't display the dropdown for performance considerations */
@@ -760,7 +768,7 @@ class Profile_Builder_Form_Creator{
760
  }
761
  }
762
 
763
- function wppb_frontend_scripts(){
764
  wp_enqueue_script( 'wppb_front_end_script', WPPB_PLUGIN_URL.'assets/js/script-front-end.js', array('jquery'), PROFILE_BUILDER_VERSION, true );
765
  wp_print_scripts( 'wppb_front_end_script' );
766
  }
54
  $this->wppb_retrieve_custom_settings();
55
 
56
  if( ( !is_multisite() && current_user_can( 'edit_users' ) ) || ( is_multisite() && current_user_can( 'manage_network' ) ) )
57
+ add_action( 'wppb_before_edit_profile_fields', array( 'Profile_Builder_Form_Creator', 'wppb_edit_profile_select_user_to_edit' ), 10, 4 );
58
 
59
  //enqueue frontend scripts for forms
60
  add_action( 'wp_footer', array( $this, 'wppb_frontend_scripts' ), 9999 );
277
 
278
  ob_start();
279
 
280
+ // check if the form is being displayed in the Elementor editor
281
+ // if true remove any messages
282
+ $is_elementor_edit_mode = false;
283
+ if( class_exists ( '\Elementor\Plugin' ) ){
284
+ $is_elementor_edit_mode = \Elementor\Plugin::$instance->editor->is_edit_mode();
285
+ $message= "";
286
+ }
287
+
288
+ if( !$is_elementor_edit_mode && isset( $_REQUEST['action'], $_REQUEST['form_name'], $this->args['form_name'] ) && $_REQUEST['form_name'] === $this->args['form_name'] ) {
289
  if( ! isset( $_POST[$this->args['form_type'].'_'. $this->args['form_name'] .'_nonce_field'] ) || ! wp_verify_nonce( $_POST[$this->args['form_type'].'_'. $this->args['form_name'] .'_nonce_field'], 'wppb_verify_form_submission' ) ) {
290
  echo '<span class="wppb-form-error wppb-error">'. esc_html(__( 'You are not allowed to do this.', 'profile-builder' )) . '</span>';
291
  return;
395
  echo $message;
396
 
397
  // use this action hook to add extra content before the register form
398
+ do_action( 'wppb_before_'.$this->args['form_type'].'_fields', $this->args['form_name'], $this->args['ID'], $this->args['form_type'], $is_elementor_edit_mode );
399
 
400
  $wppb_user_role_class = '';
401
  if( is_user_logged_in() ) {
700
  return get_current_user_id();
701
  }
702
 
703
+ static function wppb_edit_profile_select_user_to_edit( $form_name, $id, $form_type, $is_elementor_edit_mode ){
704
 
705
  $display_edit_users_dropdown = apply_filters( 'wppb_display_edit_other_users_dropdown', true );
706
+ if( !$display_edit_users_dropdown || $is_elementor_edit_mode )
707
  return;
708
 
709
  /* add a hard cap: if we have more than 5000 users don't display the dropdown for performance considerations */
768
  }
769
  }
770
 
771
+ static function wppb_frontend_scripts(){
772
  wp_enqueue_script( 'wppb_front_end_script', WPPB_PLUGIN_URL.'assets/js/script-front-end.js', array('jquery'), PROFILE_BUILDER_VERSION, true );
773
  wp_print_scripts( 'wppb_front_end_script' );
774
  }
front-end/login.php CHANGED
@@ -344,7 +344,7 @@ function wppb_login_redirect( $redirect_to, $requested_redirect_to, $user ){
344
 
345
  // encode the error string and send it as a GET parameter
346
  if ( isset($_POST['wppb_referer_url']) && $_POST['wppb_referer_url'] !== '' ) {
347
- $arr_params = array('loginerror' => urlencode(base64_encode($error_string)), 'request_form_location' => $request_form_location, 'wppb_referer_url' => esc_url( $_POST['wppb_referer_url'] ));
348
  } else {
349
  $arr_params = array('loginerror' => urlencode(base64_encode($error_string)), 'request_form_location' => $request_form_location);
350
  }
@@ -382,7 +382,13 @@ function wppb_front_end_login( $atts ){
382
 
383
  $wppb_generalSettings = get_option('wppb_general_settings');
384
 
385
- if( !is_user_logged_in() ){
 
 
 
 
 
 
386
  // set up the form arguments
387
  $form_args = array( 'echo' => false, 'id_submit' => 'wppb-submit' );
388
 
344
 
345
  // encode the error string and send it as a GET parameter
346
  if ( isset($_POST['wppb_referer_url']) && $_POST['wppb_referer_url'] !== '' ) {
347
+ $arr_params = array('loginerror' => urlencode(base64_encode($error_string)), 'request_form_location' => $request_form_location, 'wppb_referer_url' => urlencode(esc_url( $_POST['wppb_referer_url'] )));
348
  } else {
349
  $arr_params = array('loginerror' => urlencode(base64_encode($error_string)), 'request_form_location' => $request_form_location);
350
  }
382
 
383
  $wppb_generalSettings = get_option('wppb_general_settings');
384
 
385
+ // check if the form is being displayed in the Elementor editor
386
+ $is_elementor_edit_mode = false;
387
+ if( class_exists ( '\Elementor\Plugin' ) ){
388
+ $is_elementor_edit_mode = \Elementor\Plugin::$instance->editor->is_edit_mode();
389
+ }
390
+
391
+ if( !is_user_logged_in() || $is_elementor_edit_mode ){
392
  // set up the form arguments
393
  $form_args = array( 'echo' => false, 'id_submit' => 'wppb-submit' );
394
 
front-end/recover.php CHANGED
@@ -258,8 +258,15 @@ function wppb_front_end_password_recovery(){
258
 
259
  global $wpdb;
260
 
261
- if( is_user_logged_in() )
262
- return apply_filters( 'wppb_recover_password_already_logged_in', __( 'You are already logged in. You can change your password on the edit profile form.', 'profile-builder' ) );
 
 
 
 
 
 
 
263
 
264
  //Get general settings
265
  $wppb_generalSettings = get_option( 'wppb_general_settings' );
258
 
259
  global $wpdb;
260
 
261
+ // check if the form is being displayed in the Elementor editor
262
+ $is_elementor_edit_mode = false;
263
+ if( class_exists ( '\Elementor\Plugin' ) ){
264
+ $is_elementor_edit_mode = \Elementor\Plugin::$instance->editor->is_edit_mode();
265
+ }
266
+
267
+ if( is_user_logged_in() && !$is_elementor_edit_mode ) {
268
+ return apply_filters('wppb_recover_password_already_logged_in', __('You are already logged in. You can change your password on the edit profile form.', 'profile-builder'));
269
+ }
270
 
271
  //Get general settings
272
  $wppb_generalSettings = get_option( 'wppb_general_settings' );
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.7
7
  Author: Cozmoslabs
8
  Author URI: https://www.cozmoslabs.com/
9
  Text Domain: profile-builder
@@ -70,7 +70,7 @@ function wppb_free_plugin_init() {
70
  *
71
  *
72
  */
73
- define('PROFILE_BUILDER_VERSION', '3.3.7' );
74
  define('WPPB_PLUGIN_DIR', plugin_dir_path(__FILE__));
75
  define('WPPB_PLUGIN_URL', plugin_dir_url(__FILE__));
76
  define('WPPB_PLUGIN_BASENAME', plugin_basename(__FILE__));
@@ -173,6 +173,12 @@ function wppb_free_plugin_init() {
173
  /* added recaptcha and user role field since version 2.6.2 */
174
  include_once(WPPB_PLUGIN_DIR . '/front-end/default-fields/recaptcha/recaptcha.php'); //need to load this here for displaying reCAPTCHA on Login and Recover Password forms
175
 
 
 
 
 
 
 
176
  //Elementor Content Restriction
177
  global $content_restriction_activated;
178
  if ( $content_restriction_activated == 'yes' && did_action( 'elementor/loaded' ) ) {
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.8
7
  Author: Cozmoslabs
8
  Author URI: https://www.cozmoslabs.com/
9
  Text Domain: profile-builder
70
  *
71
  *
72
  */
73
+ define('PROFILE_BUILDER_VERSION', '3.3.8' );
74
  define('WPPB_PLUGIN_DIR', plugin_dir_path(__FILE__));
75
  define('WPPB_PLUGIN_URL', plugin_dir_url(__FILE__));
76
  define('WPPB_PLUGIN_BASENAME', plugin_basename(__FILE__));
173
  /* added recaptcha and user role field since version 2.6.2 */
174
  include_once(WPPB_PLUGIN_DIR . '/front-end/default-fields/recaptcha/recaptcha.php'); //need to load this here for displaying reCAPTCHA on Login and Recover Password forms
175
 
176
+ //Elementor Widgets
177
+ if ( did_action( 'elementor/loaded' ) ) {
178
+ if (file_exists(WPPB_PLUGIN_DIR . 'assets/misc/elementor/class-elementor.php'))
179
+ include_once WPPB_PLUGIN_DIR . 'assets/misc/elementor/class-elementor.php';
180
+ }
181
+
182
  //Elementor Content Restriction
183
  global $content_restriction_activated;
184
  if ( $content_restriction_activated == 'yes' && did_action( 'elementor/loaded' ) ) {
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, registration, edit profile, user custom fields, front-end login, front-end edit profile, front-end user registration, email confirmation, login form, content restriction, restrict content, profile
5
  Requires at least: 3.1
6
- Tested up to: 5.6.0
7
- Stable tag: 3.3.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -170,6 +170,12 @@ This plugin adds/removes user fields in the front-end. Both default and extra pr
170
  15. Edit or Add New User Role
171
 
172
  == Changelog ==
 
 
 
 
 
 
173
  = 3.3.7 =
174
  * Some minor security improvements
175
  * Fix for Invalid argument supplied for foreach() warning triggered by empty field list.
3
  Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
4
  Tags: user registration, user profile, user registration form, user fields, registration, edit profile, user custom fields, front-end login, front-end edit profile, front-end user registration, email confirmation, login form, content restriction, restrict content, profile
5
  Requires at least: 3.1
6
+ Tested up to: 5.6.1
7
+ Stable tag: 3.3.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
170
  15. Edit or Add New User Role
171
 
172
  == Changelog ==
173
+ = 3.3.8 =
174
+ * Elementor integration
175
+ * Fixed some urls encoding in certain cases
176
+ * Fixed a possible warning in advanced-settings.php
177
+ * Fixed displaying additional email field with Placeholder Labels
178
+
179
  = 3.3.7 =
180
  * Some minor security improvements
181
  * Fix for Invalid argument supplied for foreach() warning triggered by empty field list.
translation/profile-builder.catalog.php CHANGED
@@ -1619,6 +1619,7 @@
1619
  <?php __("Please enter a unique field title.", "profile-builder"); ?>
1620
  <?php __("Please enter a unique field title.\n", "profile-builder"); ?>
1621
  <?php __("Delete this item", "profile-builder"); ?>
 
1622
  <?php __("Yes, I'd like to create a new site", "profile-builder"); ?>
1623
  <?php __("Your site url will look like this:<br>", "profile-builder"); ?>
1624
  <?php __("Site URL slug", "profile-builder"); ?>
@@ -1764,3 +1765,14 @@
1764
  <?php __("The number of users that share a particular value is shown for the Select and Checkbox facet types.", "profile-builder"); ?>
1765
  <?php __("If you enable this option they will be hidden.", "profile-builder"); ?>
1766
  <?php __("Select or type in an option", "profile-builder"); ?>
 
 
 
 
 
 
 
 
 
 
 
1619
  <?php __("Please enter a unique field title.", "profile-builder"); ?>
1620
  <?php __("Please enter a unique field title.\n", "profile-builder"); ?>
1621
  <?php __("Delete this item", "profile-builder"); ?>
1622
+ <?php __("Profile Builder Forms", "profile-builder"); ?>
1623
  <?php __("Yes, I'd like to create a new site", "profile-builder"); ?>
1624
  <?php __("Your site url will look like this:<br>", "profile-builder"); ?>
1625
  <?php __("Site URL slug", "profile-builder"); ?>
1765
  <?php __("The number of users that share a particular value is shown for the Select and Checkbox facet types.", "profile-builder"); ?>
1766
  <?php __("If you enable this option they will be hidden.", "profile-builder"); ?>
1767
  <?php __("Select or type in an option", "profile-builder"); ?>
1768
+ <?php __("Form Settings", "profile-builder"); ?>
1769
+ <?php __("Form", "profile-builder"); ?>
1770
+ <?php __("Redirects", "profile-builder"); ?>
1771
+ <?php __("Redirect after Edit Profile", "profile-builder"); ?>
1772
+ <?php __("Enter URL", "profile-builder"); ?>
1773
+ <?php __("Registration", "profile-builder"); ?>
1774
+ <?php __("There are no available controls for the Password Recovery form", "profile-builder"); ?>
1775
+ <?php __("Assigned Role", "profile-builder"); ?>
1776
+ <?php __("Automatic Login", "profile-builder"); ?>
1777
+ <?php __("Redirect after Registration", "profile-builder"); ?>
1778
+ <?php __("Redirect after Logout", "profile-builder"); ?>
translation/profile-builder.pot CHANGED
@@ -305,7 +305,7 @@ msgstr ""
305
  msgid "Login Label"
306
  msgstr ""
307
 
308
- #: ../pb-add-on-custom-profile-menus/index.php:183, ../pb-add-on-custom-profile-menus/index.php:305, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:13, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:60, features/login-widget/login-widget.php:61
309
  msgid "Login"
310
  msgstr ""
311
 
@@ -357,11 +357,11 @@ msgstr ""
357
  msgid "Works only if Display Mode: Logged In Users is selected"
358
  msgstr ""
359
 
360
- #: ../pb-add-on-custom-profile-menus/index.php:308, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:67
361
  msgid "Edit Profile"
362
  msgstr ""
363
 
364
- #: ../pb-add-on-custom-profile-menus/index.php:311, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:74, front-end/class-formbuilder.php:441, front-end/login.php:440
365
  msgid "Register"
366
  msgstr ""
367
 
@@ -757,11 +757,11 @@ msgstr ""
757
  msgid "Display Social Connect buttons:"
758
  msgstr ""
759
 
760
- #: ../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:2441, 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
761
  msgid "Yes"
762
  msgstr ""
763
 
764
- #: ../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
765
  msgid "No"
766
  msgstr ""
767
 
@@ -1570,7 +1570,7 @@ msgstr ""
1570
  msgid "User-Role"
1571
  msgstr ""
1572
 
1573
- #: admin/admin-bar.php:79, add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:230
1574
  msgid "Default"
1575
  msgstr ""
1576
 
@@ -1714,7 +1714,7 @@ msgstr ""
1714
  msgid "Enable extra features"
1715
  msgstr ""
1716
 
1717
- #: admin/basic-info.php:73
1718
  msgid "Recover Password"
1719
  msgstr ""
1720
 
@@ -2094,11 +2094,11 @@ msgstr ""
2094
  msgid "Username and Email"
2095
  msgstr ""
2096
 
2097
- #: 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:328, add-ons/user-listing/userlisting.php:828, add-ons/user-listing/userlisting.php:2395, 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
2098
  msgid "Username"
2099
  msgstr ""
2100
 
2101
- #: 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:834, add-ons/user-listing/userlisting.php:2396, 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
2102
  msgid "Email"
2103
  msgstr ""
2104
 
@@ -4434,7 +4434,7 @@ msgstr ""
4434
  msgid "Disable the WordPress REST-API for non-logged in users when Private Website is enabled"
4435
  msgstr ""
4436
 
4437
- #: 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
4438
  msgid "Save Changes"
4439
  msgstr ""
4440
 
@@ -4534,7 +4534,7 @@ msgstr ""
4534
  msgid "Minimum length of %d characters."
4535
  msgstr ""
4536
 
4537
- #: features/functions.php:785, front-end/recover.php:361, front-end/default-fields/password/password.php:56
4538
  msgid "The password must have a minimum strength of %s"
4539
  msgstr ""
4540
 
@@ -4606,59 +4606,59 @@ msgstr ""
4606
  msgid "Only an administrator can add new users."
4607
  msgstr ""
4608
 
4609
- #: front-end/class-formbuilder.php:282, front-end/login.php:498
4610
  msgid "You are not allowed to do this."
4611
  msgstr ""
4612
 
4613
- #: front-end/class-formbuilder.php:384
4614
  msgid "There was an error in the submitted form"
4615
  msgstr ""
4616
 
4617
- #: front-end/class-formbuilder.php:373
4618
  msgid "Your profile has been successfully updated!"
4619
  msgstr ""
4620
 
4621
- #: front-end/class-formbuilder.php:340, front-end/class-formbuilder.php:347
4622
  msgid "The account %1s has been successfully created!"
4623
  msgstr ""
4624
 
4625
- #: front-end/class-formbuilder.php:343, front-end/class-formbuilder.php:353
4626
  msgid "Before you can access your account %1s, you need to confirm your email address. Please check your inbox and click the activation link."
4627
  msgstr ""
4628
 
4629
- #: front-end/class-formbuilder.php:349
4630
  msgid "Before you can access your account %1s, an administrator has to approve it. You will be notified via email."
4631
  msgstr ""
4632
 
4633
- #: front-end/class-formbuilder.php:444
4634
  msgid "Update"
4635
  msgstr ""
4636
 
4637
- #: front-end/class-formbuilder.php:441
4638
  msgid "Add User"
4639
  msgstr ""
4640
 
4641
- #: front-end/class-formbuilder.php:524
4642
  msgid "Send these credentials via email."
4643
  msgstr ""
4644
 
4645
- #: front-end/class-formbuilder.php:759
4646
  msgid "There are no other users to edit"
4647
  msgstr ""
4648
 
4649
- #: front-end/class-formbuilder.php:741
4650
  msgid "User to edit:"
4651
  msgstr ""
4652
 
4653
- #: front-end/class-formbuilder.php:743
4654
  msgid "Select User"
4655
  msgstr ""
4656
 
4657
- #: front-end/class-formbuilder.php:782
4658
  msgid "Something went wrong. Please try again!"
4659
  msgstr ""
4660
 
4661
- #: 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
4662
  msgid "ERROR"
4663
  msgstr ""
4664
 
@@ -4682,7 +4682,7 @@ msgstr ""
4682
  msgid "Password Lost and Found."
4683
  msgstr ""
4684
 
4685
- #: front-end/login.php:334, front-end/login.php:446
4686
  msgid "Lost your password?"
4687
  msgstr ""
4688
 
@@ -4690,19 +4690,19 @@ msgstr ""
4690
  msgid "Both fields are empty."
4691
  msgstr ""
4692
 
4693
- #: front-end/login.php:485, front-end/logout.php:26
4694
  msgid "Log out of this account"
4695
  msgstr ""
4696
 
4697
- #: front-end/login.php:485, front-end/logout.php:16
4698
  msgid "Log out &raquo;"
4699
  msgstr ""
4700
 
4701
- #: front-end/login.php:486
4702
  msgid "You are currently logged in as %1$s. %2$s"
4703
  msgstr ""
4704
 
4705
- #: front-end/login.php:413, front-end/recover.php:123
4706
  msgid "Username or Email"
4707
  msgstr ""
4708
 
@@ -4754,55 +4754,55 @@ msgstr ""
4754
  msgid "%1$s has requested a password change via the password reset feature.<br/>His/her new password is:%2$s"
4755
  msgstr ""
4756
 
4757
- #: front-end/recover.php:262
4758
  msgid "You are already logged in. You can change your password on the edit profile form."
4759
  msgstr ""
4760
 
4761
- #: front-end/recover.php:404
4762
  msgid "The password must not be empty!"
4763
  msgstr ""
4764
 
4765
- #: front-end/recover.php:346, front-end/recover.php:429
4766
  msgid "Invalid key!"
4767
  msgstr ""
4768
 
4769
- #: front-end/recover.php:351
4770
  msgid "The entered passwords don't match!"
4771
  msgstr ""
4772
 
4773
- #: front-end/recover.php:357, front-end/default-fields/password/password.php:52
4774
  msgid "The password must have the minimum length of %s characters"
4775
  msgstr ""
4776
 
4777
- #: front-end/recover.php:368
4778
  msgid "Your password has been successfully changed!"
4779
  msgstr ""
4780
 
4781
- #: front-end/recover.php:285
4782
  msgid "The username entered wasn't found in the database!"
4783
  msgstr ""
4784
 
4785
- #: front-end/recover.php:285
4786
  msgid "Please check that you entered the correct username."
4787
  msgstr ""
4788
 
4789
- #: front-end/recover.php:328
4790
  msgid "The email address entered wasn't found in the database!"
4791
  msgstr ""
4792
 
4793
- #: front-end/recover.php:328
4794
  msgid "Please check that you entered the correct email address."
4795
  msgstr ""
4796
 
4797
- #: front-end/recover.php:298
4798
  msgid "Check your email for the confirmation link."
4799
  msgstr ""
4800
 
4801
- #: front-end/recover.php:312
4802
  msgid "There was an error while trying to send the activation link to %1$s!"
4803
  msgstr ""
4804
 
4805
- #: front-end/recover.php:429
4806
  msgid "ERROR:"
4807
  msgstr ""
4808
 
@@ -4834,11 +4834,11 @@ msgstr ""
4834
  msgid "Could not create user!"
4835
  msgstr ""
4836
 
4837
- #: add-ons/custom-redirects/custom_redirects_admin.php:49
4838
  msgid "After Login"
4839
  msgstr ""
4840
 
4841
- #: add-ons/custom-redirects/custom_redirects_admin.php:50
4842
  msgid "After Logout"
4843
  msgstr ""
4844
 
@@ -5948,23 +5948,23 @@ msgstr ""
5948
  msgid "Your submission contains banned words."
5949
  msgstr ""
5950
 
5951
- #: admin/advanced-settings/advanced-settings.php:181
5952
  msgid "are"
5953
  msgstr ""
5954
 
5955
- #: admin/advanced-settings/advanced-settings.php:182
5956
  msgid "have"
5957
  msgstr ""
5958
 
5959
- #: admin/advanced-settings/advanced-settings.php:178
5960
  msgid "is"
5961
  msgstr ""
5962
 
5963
- #: admin/advanced-settings/advanced-settings.php:179
5964
  msgid "has"
5965
  msgstr ""
5966
 
5967
- #: admin/advanced-settings/advanced-settings.php:185
5968
  msgid "%1$s of the emails provided in the Admin Emails field %2$s invalid and %3$s been removed from the list"
5969
  msgstr ""
5970
 
@@ -6590,6 +6590,10 @@ msgstr ""
6590
  msgid "Delete this item"
6591
  msgstr ""
6592
 
 
 
 
 
6593
  #: front-end/default-fields/blog-details/blog-details.php:65
6594
  msgid "Yes, I'd like to create a new site"
6595
  msgstr ""
@@ -6754,11 +6758,11 @@ msgstr ""
6754
  msgid "This display name is already in use. Please choose another one."
6755
  msgstr ""
6756
 
6757
- #: admin/advanced-settings/includes/forms/placeholder-labels.php:105, admin/advanced-settings/includes/forms/placeholder-labels.php:109
6758
  msgid "Placeholder Labels"
6759
  msgstr ""
6760
 
6761
- #: admin/advanced-settings/includes/forms/placeholder-labels.php:131
6762
  msgid "Replace labels with placeholders:"
6763
  msgstr ""
6764
 
@@ -7169,3 +7173,47 @@ msgstr ""
7169
  #: assets/lib/wck-api/fields/select-2.php:16
7170
  msgid "Select or type in an option"
7171
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
305
  msgid "Login Label"
306
  msgstr ""
307
 
308
+ #: ../pb-add-on-custom-profile-menus/index.php:183, ../pb-add-on-custom-profile-menus/index.php:305, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:13, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:60, features/login-widget/login-widget.php:61, assets/misc/elementor/widgets/class-widget-login.php:29
309
  msgid "Login"
310
  msgstr ""
311
 
357
  msgid "Works only if Display Mode: Logged In Users is selected"
358
  msgstr ""
359
 
360
+ #: ../pb-add-on-custom-profile-menus/index.php:308, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:67, assets/misc/elementor/widgets/class-widget-edit-profile.php:68
361
  msgid "Edit Profile"
362
  msgstr ""
363
 
364
+ #: ../pb-add-on-custom-profile-menus/index.php:311, ../pb-add-on-custom-profile-menus/wppb-custom-profile-menus.php:74, front-end/class-formbuilder.php:449, front-end/login.php:446, assets/misc/elementor/widgets/class-widget-register.php:68
365
  msgid "Register"
366
  msgstr ""
367
 
757
  msgid "Display Social Connect buttons:"
758
  msgstr ""
759
 
760
+ #: ../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:2441, features/content-restriction/content-restriction.php:89, admin/advanced-settings/includes/forms/placeholder-labels.php:135, admin/advanced-settings/includes/views/view-admin.php:18, admin/advanced-settings/includes/views/view-admin.php:34, admin/advanced-settings/includes/views/view-admin.php:50, admin/advanced-settings/includes/views/view-admin.php:69, admin/advanced-settings/includes/views/view-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
761
  msgid "Yes"
762
  msgstr ""
763
 
764
+ #: ../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:136
765
  msgid "No"
766
  msgstr ""
767
 
1570
  msgid "User-Role"
1571
  msgstr ""
1572
 
1573
+ #: admin/admin-bar.php:79, add-ons/multiple-forms/edit-profile-forms.php:206, add-ons/multiple-forms/register-forms.php:230, assets/misc/elementor/widgets/class-widget-edit-profile.php:110, assets/misc/elementor/widgets/class-widget-register.php:110
1574
  msgid "Default"
1575
  msgstr ""
1576
 
1714
  msgid "Enable extra features"
1715
  msgstr ""
1716
 
1717
+ #: admin/basic-info.php:73, assets/misc/elementor/widgets/class-widget-login.php:74, assets/misc/elementor/widgets/class-widget-recover-password.php:24
1718
  msgid "Recover Password"
1719
  msgstr ""
1720
 
2094
  msgid "Username and Email"
2095
  msgstr ""
2096
 
2097
+ #: admin/general-settings.php:296, admin/manage-fields.php:330, front-end/login.php:255, front-end/login.php:269, front-end/login.php:415, add-ons/custom-redirects/custom_redirects_admin.php:60, add-ons/email-customizer/email-customizer.php:28, add-ons/user-listing/userlisting.php:112, add-ons/user-listing/userlisting.php:328, add-ons/user-listing/userlisting.php:828, add-ons/user-listing/userlisting.php:2395, 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
2098
  msgid "Username"
2099
  msgstr ""
2100
 
2101
+ #: admin/general-settings.php:297, front-end/login.php:412, front-end/recover.php:119, add-ons/email-customizer/email-customizer.php:29, add-ons/user-listing/userlisting.php:118, add-ons/user-listing/userlisting.php:834, add-ons/user-listing/userlisting.php:2396, 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
2102
  msgid "Email"
2103
  msgstr ""
2104
 
4434
  msgid "Disable the WordPress REST-API for non-logged in users when Private Website is enabled"
4435
  msgstr ""
4436
 
4437
+ #: 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:392, 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
4438
  msgid "Save Changes"
4439
  msgstr ""
4440
 
4534
  msgid "Minimum length of %d characters."
4535
  msgstr ""
4536
 
4537
+ #: features/functions.php:785, front-end/recover.php:368, front-end/default-fields/password/password.php:56
4538
  msgid "The password must have a minimum strength of %s"
4539
  msgstr ""
4540
 
4606
  msgid "Only an administrator can add new users."
4607
  msgstr ""
4608
 
4609
+ #: front-end/class-formbuilder.php:290, front-end/login.php:504
4610
  msgid "You are not allowed to do this."
4611
  msgstr ""
4612
 
4613
+ #: front-end/class-formbuilder.php:392
4614
  msgid "There was an error in the submitted form"
4615
  msgstr ""
4616
 
4617
+ #: front-end/class-formbuilder.php:381
4618
  msgid "Your profile has been successfully updated!"
4619
  msgstr ""
4620
 
4621
+ #: front-end/class-formbuilder.php:348, front-end/class-formbuilder.php:355
4622
  msgid "The account %1s has been successfully created!"
4623
  msgstr ""
4624
 
4625
+ #: front-end/class-formbuilder.php:351, front-end/class-formbuilder.php:361
4626
  msgid "Before you can access your account %1s, you need to confirm your email address. Please check your inbox and click the activation link."
4627
  msgstr ""
4628
 
4629
+ #: front-end/class-formbuilder.php:357
4630
  msgid "Before you can access your account %1s, an administrator has to approve it. You will be notified via email."
4631
  msgstr ""
4632
 
4633
+ #: front-end/class-formbuilder.php:452
4634
  msgid "Update"
4635
  msgstr ""
4636
 
4637
+ #: front-end/class-formbuilder.php:449
4638
  msgid "Add User"
4639
  msgstr ""
4640
 
4641
+ #: front-end/class-formbuilder.php:532
4642
  msgid "Send these credentials via email."
4643
  msgstr ""
4644
 
4645
+ #: front-end/class-formbuilder.php:767
4646
  msgid "There are no other users to edit"
4647
  msgstr ""
4648
 
4649
+ #: front-end/class-formbuilder.php:749
4650
  msgid "User to edit:"
4651
  msgstr ""
4652
 
4653
+ #: front-end/class-formbuilder.php:751
4654
  msgid "Select User"
4655
  msgstr ""
4656
 
4657
+ #: front-end/class-formbuilder.php:790
4658
  msgid "Something went wrong. Please try again!"
4659
  msgstr ""
4660
 
4661
+ #: front-end/login.php:318, front-end/login.php:339, front-end/recover.php:18, front-end/recover.php:319, front-end/extra-fields/extra-fields.php:93
4662
  msgid "ERROR"
4663
  msgstr ""
4664
 
4682
  msgid "Password Lost and Found."
4683
  msgstr ""
4684
 
4685
+ #: front-end/login.php:334, front-end/login.php:452
4686
  msgid "Lost your password?"
4687
  msgstr ""
4688
 
4690
  msgid "Both fields are empty."
4691
  msgstr ""
4692
 
4693
+ #: front-end/login.php:491, front-end/logout.php:26
4694
  msgid "Log out of this account"
4695
  msgstr ""
4696
 
4697
+ #: front-end/login.php:491, front-end/logout.php:16
4698
  msgid "Log out &raquo;"
4699
  msgstr ""
4700
 
4701
+ #: front-end/login.php:492
4702
  msgid "You are currently logged in as %1$s. %2$s"
4703
  msgstr ""
4704
 
4705
+ #: front-end/login.php:419, front-end/recover.php:123
4706
  msgid "Username or Email"
4707
  msgstr ""
4708
 
4754
  msgid "%1$s has requested a password change via the password reset feature.<br/>His/her new password is:%2$s"
4755
  msgstr ""
4756
 
4757
+ #: front-end/recover.php:268
4758
  msgid "You are already logged in. You can change your password on the edit profile form."
4759
  msgstr ""
4760
 
4761
+ #: front-end/recover.php:411
4762
  msgid "The password must not be empty!"
4763
  msgstr ""
4764
 
4765
+ #: front-end/recover.php:353, front-end/recover.php:436
4766
  msgid "Invalid key!"
4767
  msgstr ""
4768
 
4769
+ #: front-end/recover.php:358
4770
  msgid "The entered passwords don't match!"
4771
  msgstr ""
4772
 
4773
+ #: front-end/recover.php:364, front-end/default-fields/password/password.php:52
4774
  msgid "The password must have the minimum length of %s characters"
4775
  msgstr ""
4776
 
4777
+ #: front-end/recover.php:375
4778
  msgid "Your password has been successfully changed!"
4779
  msgstr ""
4780
 
4781
+ #: front-end/recover.php:292
4782
  msgid "The username entered wasn't found in the database!"
4783
  msgstr ""
4784
 
4785
+ #: front-end/recover.php:292
4786
  msgid "Please check that you entered the correct username."
4787
  msgstr ""
4788
 
4789
+ #: front-end/recover.php:335
4790
  msgid "The email address entered wasn't found in the database!"
4791
  msgstr ""
4792
 
4793
+ #: front-end/recover.php:335
4794
  msgid "Please check that you entered the correct email address."
4795
  msgstr ""
4796
 
4797
+ #: front-end/recover.php:305
4798
  msgid "Check your email for the confirmation link."
4799
  msgstr ""
4800
 
4801
+ #: front-end/recover.php:319
4802
  msgid "There was an error while trying to send the activation link to %1$s!"
4803
  msgstr ""
4804
 
4805
+ #: front-end/recover.php:436
4806
  msgid "ERROR:"
4807
  msgstr ""
4808
 
4834
  msgid "Could not create user!"
4835
  msgstr ""
4836
 
4837
+ #: add-ons/custom-redirects/custom_redirects_admin.php:49, assets/misc/elementor/widgets/class-widget-login.php:93
4838
  msgid "After Login"
4839
  msgstr ""
4840
 
4841
+ #: add-ons/custom-redirects/custom_redirects_admin.php:50, assets/misc/elementor/widgets/class-widget-login.php:102
4842
  msgid "After Logout"
4843
  msgstr ""
4844
 
5948
  msgid "Your submission contains banned words."
5949
  msgstr ""
5950
 
5951
+ #: admin/advanced-settings/advanced-settings.php:185
5952
  msgid "are"
5953
  msgstr ""
5954
 
5955
+ #: admin/advanced-settings/advanced-settings.php:186
5956
  msgid "have"
5957
  msgstr ""
5958
 
5959
+ #: admin/advanced-settings/advanced-settings.php:182
5960
  msgid "is"
5961
  msgstr ""
5962
 
5963
+ #: admin/advanced-settings/advanced-settings.php:183
5964
  msgid "has"
5965
  msgstr ""
5966
 
5967
+ #: admin/advanced-settings/advanced-settings.php:189
5968
  msgid "%1$s of the emails provided in the Admin Emails field %2$s invalid and %3$s been removed from the list"
5969
  msgstr ""
5970
 
6590
  msgid "Delete this item"
6591
  msgstr ""
6592
 
6593
+ #: assets/misc/elementor/class-elementor.php:72
6594
+ msgid "Profile Builder Forms"
6595
+ msgstr ""
6596
+
6597
  #: front-end/default-fields/blog-details/blog-details.php:65
6598
  msgid "Yes, I'd like to create a new site"
6599
  msgstr ""
6758
  msgid "This display name is already in use. Please choose another one."
6759
  msgstr ""
6760
 
6761
+ #: admin/advanced-settings/includes/forms/placeholder-labels.php:106, admin/advanced-settings/includes/forms/placeholder-labels.php:110
6762
  msgid "Placeholder Labels"
6763
  msgstr ""
6764
 
6765
+ #: admin/advanced-settings/includes/forms/placeholder-labels.php:132
6766
  msgid "Replace labels with placeholders:"
6767
  msgstr ""
6768
 
7173
  #: assets/lib/wck-api/fields/select-2.php:16
7174
  msgid "Select or type in an option"
7175
  msgstr ""
7176
+
7177
+ #: assets/misc/elementor/widgets/class-widget-edit-profile.php:96, assets/misc/elementor/widgets/class-widget-login.php:57, assets/misc/elementor/widgets/class-widget-recover-password.php:52, assets/misc/elementor/widgets/class-widget-register.php:96
7178
+ msgid "Form Settings"
7179
+ msgstr ""
7180
+
7181
+ #: assets/misc/elementor/widgets/class-widget-edit-profile.php:125, assets/misc/elementor/widgets/class-widget-register.php:124
7182
+ msgid "Form"
7183
+ msgstr ""
7184
+
7185
+ #: assets/misc/elementor/widgets/class-widget-edit-profile.php:154, assets/misc/elementor/widgets/class-widget-login.php:85, assets/misc/elementor/widgets/class-widget-register.php:189
7186
+ msgid "Redirects"
7187
+ msgstr ""
7188
+
7189
+ #: assets/misc/elementor/widgets/class-widget-edit-profile.php:165
7190
+ msgid "Redirect after Edit Profile"
7191
+ msgstr ""
7192
+
7193
+ #: assets/misc/elementor/widgets/class-widget-edit-profile.php:167, assets/misc/elementor/widgets/class-widget-login.php:67, assets/misc/elementor/widgets/class-widget-login.php:76, assets/misc/elementor/widgets/class-widget-login.php:95, assets/misc/elementor/widgets/class-widget-login.php:104, assets/misc/elementor/widgets/class-widget-register.php:199, assets/misc/elementor/widgets/class-widget-register.php:211
7194
+ msgid "Enter URL"
7195
+ msgstr ""
7196
+
7197
+ #: assets/misc/elementor/widgets/class-widget-login.php:65
7198
+ msgid "Registration"
7199
+ msgstr ""
7200
+
7201
+ #: assets/misc/elementor/widgets/class-widget-recover-password.php:61
7202
+ msgid "There are no available controls for the Password Recovery form"
7203
+ msgstr ""
7204
+
7205
+ #: assets/misc/elementor/widgets/class-widget-register.php:142
7206
+ msgid "Assigned Role"
7207
+ msgstr ""
7208
+
7209
+ #: assets/misc/elementor/widgets/class-widget-register.php:155
7210
+ msgid "Automatic Login"
7211
+ msgstr ""
7212
+
7213
+ #: assets/misc/elementor/widgets/class-widget-register.php:197
7214
+ msgid "Redirect after Registration"
7215
+ msgstr ""
7216
+
7217
+ #: assets/misc/elementor/widgets/class-widget-register.php:209
7218
+ msgid "Redirect after Logout"
7219
+ msgstr ""