get_all_pages(); $this->start_controls_section( 'pb_login_links', array( 'label' => __( 'Form Settings', 'profile-builder' ), 'tab' => \Elementor\Controls_Manager::TAB_CONTENT, ) ); $this->add_control( 'pb_register_url', array( 'label' => __( 'Registration', 'profile-builder' ), 'type' => \Elementor\Controls_Manager::SELECT, 'options' => $page_titles, 'default' => '', ) ); $this->add_control( 'pb_lostpassword_url', array( 'label' => __( 'Recover Password', 'profile-builder' ), 'type' => \Elementor\Controls_Manager::SELECT, 'options' => $page_titles, 'default' => '', ) ); if ( $this->is_2fa_active() ) { $this->add_control( 'pb_auth_field', array( 'label' => __('Show Authenticator Code Field', 'profile-builder'), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => __('Yes', 'profile-builder'), 'label_off' => __('No', 'profile-builder'), 'return_value' => 'yes', 'default' => '', ) ); } if( defined( 'WPPB_PAID_PLUGIN_DIR' ) ) { $this->add_control( 'pb_ajax', array( 'label' => __( 'AJAX Validation', 'profile-builder' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => __( 'Yes', 'profile-builder' ), 'label_off' => __( 'No', 'profile-builder' ), 'return_value' => 'true', 'default' => 'false', ) ); } $this->end_controls_section(); $this->start_controls_section( 'pb_login_redirects', array( 'label' => __( 'Redirects', 'profile-builder' ), 'tab' => \Elementor\Controls_Manager::TAB_CONTENT, ) ); $this->add_control( 'pb_after_login_redirect_url', array( 'label' => __( 'After Login', 'profile-builder' ), 'type' => \Elementor\Controls_Manager::SELECT, 'options' => $page_titles, 'default' => '', ) ); $this->add_control( 'pb_after_logout_redirect_url', array( 'label' => __( 'After Logout', 'profile-builder' ), 'type' => \Elementor\Controls_Manager::SELECT, 'options' => $page_titles, 'default' => '', ) ); $this->end_controls_section(); // User Login Style tab if( !$this->is_placeholder_labels_active() ) { $sections['label'] = [ 'selector' => '#wppb-login-wrap .login-username label[for=user_login]', 'section_name' => 'Label', ]; } $sections['input'] = [ 'selector' => '#wppb-login-wrap .login-username input#wppb_user_login', 'section_name' => 'Input', ]; $this->add_styling_control_group( 'User Login', '', 'pb_user_login_username', $sections ); unset($sections); // Password Style tab if( !$this->is_placeholder_labels_active() ) { $sections['label'] = [ 'selector' => '#wppb-login-wrap .login-password label[for=user_pass]', 'section_name' => 'Label', ]; } $sections['input'] = [ 'selector' => '#wppb-login-wrap .login-password input#wppb_user_pass', 'section_name' => 'Input', ]; $this->add_styling_control_group( 'Password', '', 'pb_user_login_password', $sections ); unset($sections); if ( $this->is_2fa_active() ) { // Authenticator Code Style tab if (!$this->is_placeholder_labels_active()) { $sections['label'] = [ 'selector' => '#wppb-login-wrap .login-auth label[for=login_auth]', 'section_name' => 'Label', ]; } $sections['input'] = [ 'selector' => '#wppb-login-wrap .login-auth input#login_auth', 'section_name' => 'Input', ]; $this->add_styling_control_group( 'Authenticator Code', '', 'pb_user_auth_code', $sections ); unset($sections); } // reCAPTCHA Style tab if( !$this->is_placeholder_labels_active() ) { include_once(WPPB_PLUGIN_DIR . '/front-end/default-fields/recaptcha/recaptcha.php'); include_once(WPPB_PLUGIN_DIR . '/front-end/default-fields/turnstile/turnstile.php'); $field = wppb_get_recaptcha_field(); if (!empty($field) && isset($field['captcha-pb-forms']) && (strpos($field['captcha-pb-forms'], 'pb_recover_password') !== false)) { $this->add_styling_control_group( 'reCAPTCHA', '', 'pb_user_login_recaptcha', [ 'label' => [ 'selector' => '#wppb-login-wrap .wppb-form-field.wppb-recaptcha label[for=recaptcha_response_field]', 'section_name' => 'Label', ] ] ); } } // Remember Checkbox Style tab $this->add_styling_control_group( 'Remember Me Checkbox', '', 'pb_user_login_remember', [ 'label' => [ 'selector' => '#wppb-login-wrap .login-remember label', 'section_name' => 'Label', ], 'input' => [ 'selector' => '#wppb-login-wrap .login-remember input', 'section_name' => 'Input', ] ] ); // Submit Button Style tab $this->add_styling_control_group( 'Login Button', '', 'pb_user_login_button', [ 'input' => [ 'selector' => '#wppb-login-wrap .login-submit input#wppb-submit', 'section_name' => 'Input', ] ] ); // Social Connect Style tab $social_connect_settings = get_option( 'wppb_social_connect_settings' ); if ( is_array($social_connect_settings) ) { $social_connect_settings = reset($social_connect_settings); } if ( $social_connect_settings && strpos($social_connect_settings['display-on-the-following-forms'], 'pb-login' ) !== false ) { $this->add_styling_control_group( 'Social Connect', '', 'pb_user_login_social_connect', [ 'sc_heading' => [ 'selector' => '.wppb-sc-buttons-container .wppb-sc-heading-before-reg-buttons h3', 'section_name' => 'Heading', ], 'sc_buttons' => [ 'selector' => '.wppb-sc-buttons-container a.wppb-sc-button', 'section_name' => 'Buttons', ] ] ); } } /** * Render widget output in the front-end. * */ protected function render() { $output = $this->render_widget( 'l' ); echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped // check if the form is being displayed in the Elementor editor $is_elementor_edit_mode = false; if( class_exists ( '\Elementor\Plugin' ) ){ $is_elementor_edit_mode = \Elementor\Plugin::$instance->editor->is_edit_mode(); $message= ""; } if ($is_elementor_edit_mode && !empty($output) && $this->is_placeholder_labels_active()) { echo ' '; } } }