Files
szkoleniauryzaj.pl/wp-content/plugins/password-protect-page/includes/services/class-ppw-customizer-pcp.php
2026-04-26 23:47:49 +02:00

817 lines
30 KiB
PHP

<?php
if ( ! class_exists( 'PPW_Customizer_PCP' ) ) {
class PPW_Customizer_PCP {
/**
* Instance of PPW_Pro_Shortcode class.
*
* @var PPW_Customizer_PCP
*/
protected static $instance = null;
const PANEL = 'ppwp_pcp';
const GENERAL_SECTION = 'ppwp_pcp_form';
const FORM_SECTION = 'ppwp_pcp_form';
const ERR_MSG_SECTION = 'ppwp_pcp_err_msg';
const BUTTON_SECTION = 'ppwp_pcp_button';
/**
* Get instance of PPW_Customizer
*
* @return PPW_Customizer_PCP
*/
public static function get_instance() {
if ( is_null( self::$instance ) ) {
// Use static instead of self due to the inheritance later.
// For example: ChildSC extends this class, when we call get_instance
// it will return the object of child class. On the other hand, self function
// will return the object of base class.
self::$instance = new static();
}
return self::$instance;
}
public function register() {
add_action( 'customize_register', array( $this, 'customize_register' ), 15 );
add_action( 'wp_head', array( $this, 'dynamic_styles' ) );
add_filter( 'ppw_pcp_attributes', array( $this, 'load_customizer_attributes' ) );
add_filter( 'ppw_validated_pcp_password', array( $this, 'load_customizer_err_msg' ), 10, 3 );
}
/**
* Load customizer attributes.
*
* @param array $attrs Attributes
*
* @return array
*/
public function load_customizer_attributes( $attrs ) {
$attrs['headline'] = get_theme_mod( 'ppwp_pcp_form_headline', PPW_Constants::DEFAULT_SHORTCODE_HEADLINE );
$attrs['description'] = get_theme_mod( 'ppwp_pcp_form_description', PPW_Constants::DEFAULT_SHORTCODE_DESCRIPTION );
$attrs['label'] = get_theme_mod( 'ppwp_pcp_form_label', PPW_Constants::DEFAULT_SHORTCODE_LABEL );
$attrs['placeholder'] = get_theme_mod( 'ppwp_pcp_form_placeholder', '' );
$attrs['error_msg'] = get_theme_mod( 'ppwp_pcp_err_msg_text', PPW_Constants::DEFAULT_SHORTCODE_ERROR_MSG );
$attrs['button'] = get_theme_mod( 'ppwp_pcp_button_text', PPW_Constants::DEFAULT_SHORTCODE_BUTTON );
$attrs['loading'] = get_theme_mod( 'ppwp_pcp_button_loading_text', PPW_Constants::DEFAULT_SHORTCODE_LOADING );
$attrs['show_password'] = get_theme_mod( 'ppwp_pcp_form_is_show_password', PPW_Constants::DEFAULT_SHORTCODE_SHOW_PASSWORD );
$attrs['show_password_text'] = get_theme_mod( 'ppwp_pcp_form_show_password_text', PPW_Constants::DEFAULT_SHORTCODE_SHOW_PASSWORD_TEXT );
// $attrs['desc_above_btn'] = get_theme_mod( 'ppwp_pcp_description_above_btn', PPW_Constants::DEFAULT_SHORTCODE_DESC_ABOVE_PWD_BTN );
$attrs['desc_below_form'] = get_theme_mod( 'ppwp_pcp_description_below_form', PPW_Constants::DEFAULT_SHORTCODE_DESC_BELOW_PWD_FORM );
return $attrs;
}
/**
* Load customizer error message.
*
* @param array $attrs Attributes.
* @param string $password Password.
* @param array $parsed_attrs Parsed attributes.
*
* @return array
*/
public function load_customizer_err_msg( $attrs, $password, $parsed_attrs ) {
if ( isset( $parsed_attrs['error_msg'] ) ) {
return $attrs;
}
if ( isset( $attrs['is_valid_password'] ) && ! $attrs['is_valid_password'] ) {
$attrs['message'] = get_theme_mod( 'ppwp_pcp_err_msg_text', PPW_Constants::DEFAULT_SHORTCODE_ERROR_MSG );
}
return $attrs;
}
/**
* Register customizer.
*
* @param WP_Customize $wp_customize WP Customize class.
*/
public function customize_register( $wp_customize ) {
if ( ! class_exists( 'PPW_Title_Group_Control' ) ) {
include PPW_DIR_PATH . 'includes/customizers/class-ppw-title-group-control.php';
}
if ( ! class_exists( 'PPW_Toggle_Control' ) ) {
include PPW_DIR_PATH . 'includes/customizers/class-ppw-toggle-control.php';
}
if ( ! class_exists( 'PPW_Text_Editor_Custom_Control' ) ) {
include PPW_DIR_PATH . 'includes/customizers/class-ppw-text-editor-control.php';
}
$wp_customize->add_panel(
self::PANEL,
array(
'priority' => 9990,
'capability' => 'edit_theme_options',
'theme_supports' => '',
'title' => __( 'PPWP Partial Protection Form', 'password-protect-page' ),
)
);
$this->append_form_section( $wp_customize );
$this->append_err_msg_section( $wp_customize );
$this->append_button_section( $wp_customize );
}
/**
* Append form section.
*
* @param WP_Customize $wp_customize WP Customize class.
*/
public function append_form_section( $wp_customize ) {
$wp_customize->add_section(
self::FORM_SECTION,
array(
'title' => __( 'Password Form', 'password-protect-page' ),
'panel' => self::PANEL,
'priority' => 10,
)
);
$wp_customize->add_setting( 'ppwp_pcp_form_background_title' );
$wp_customize->add_control(
new PPW_Title_Group_Control(
$wp_customize,
'ppwp_pcp_form_background_title', array(
'label' => __( 'Background', 'password-protect-page' ),
'section' => self::FORM_SECTION,
'settings' => 'ppwp_pcp_form_background_title',
'type' => 'control_title',
'priority' => 0,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_form_background_color' );
$wp_customize->add_control(
new WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_form_background_color_control',
array(
'label' => __( 'Form Background Color', 'password-protect-page' ),
'section' => self::FORM_SECTION,
'settings' => 'ppwp_pcp_form_background_color',
'priority' => 10,
)
)
);
$wp_customize->add_setting( 'ppwp_pcp_form_padding' );
$wp_customize->add_control(
'ppwp_pcp_form_padding_control',
array(
'label' => __( 'Padding', 'password-protect-page' ),
'description' => __( 'Padding in px', 'password-protect-page' ),
'section' => self::FORM_SECTION,
'settings' => 'ppwp_pcp_form_padding',
'type' => 'number',
'priority' => 20,
)
);
/* form background border radius */
$wp_customize->add_setting( 'ppwp_pcp_form_border_radius', array(
'default' => PPW_Constants::DEFAULT_FORM_BORDER_RADIUS,
) );
$wp_customize->add_control( 'ppwp_pcp_form_border_radius_control', array(
'label' => __( 'Border Radius', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'description' => 'Border Radius in px',
'settings' => 'ppwp_pcp_form_border_radius',
'type' => 'number',
'priority' => 40,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_headline_title' );
$wp_customize->add_control(
new PPW_Title_Group_Control(
$wp_customize,
'ppwp_pcp_form_headline_title', array(
'label' => __( 'Headline', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_headline_title',
'type' => 'control_title',
'priority' => 50,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_form_headline', array(
'default' => PPW_Constants::DEFAULT_SHORTCODE_HEADLINE,
) );
$wp_customize->add_control(
new PPW_Text_Editor_Custom_Control(
$wp_customize,
'ppwp_pcp_form_headline',
array(
'label' => __( 'Headline', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_headline',
'type' => 'textarea',
'priority' => 60,
)
)
);
$wp_customize->add_setting( 'ppwp_pcp_form_headline_font_size', array(
'default' => PPW_Constants::DEFAULT_HEADLINE_FONT_SIZE,
) );
$wp_customize->add_control( 'ppwp_pcp_form_headline_font_size_control', array(
'label' => __( 'Font Size', 'password-protect-page' ),
'description' => __( 'Font size in px', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_headline_font_size',
'type' => 'number',
'priority' => 70,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_headline_font_weight', array(
'default' => PPW_Constants::DEFAULT_HEADLINE_FONT_WEIGHT,
) );
$wp_customize->add_control( 'ppwp_pcp_form_headline_font_weight_control', array(
'label' => __( 'Font Weight', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_headline_font_weight',
'type' => 'number',
'priority' => 80,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_headline_color', array(
'default' => PPW_Constants::DEFAULT_HEADLINE_FONT_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_form_headline_color_control', array(
'label' => __( 'Text Color', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_headline_color',
'priority' => 90,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_form_description_title' );
$wp_customize->add_control(
new PPW_Title_Group_Control(
$wp_customize,
'ppwp_pcp_form_description_title', array(
'label' => __( 'Description Above Form', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_description_title',
'type' => 'control_title',
'priority' => 100,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_form_description', array(
'default' => PPW_Constants::DEFAULT_SHORTCODE_DESCRIPTION,
) );
$wp_customize->add_control(
new PPW_Text_Editor_Custom_Control(
$wp_customize,
'ppwp_pcp_form_description',
array(
'label' => __( 'Description', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_description',
'type' => 'textarea',
'priority' => 110,
)
)
);
$wp_customize->add_setting( 'ppwp_pcp_form_description_font_size', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_SIZE,
) );
$wp_customize->add_control( 'ppwp_pcp_form_description_font_size_control', array(
'label' => __( 'Font Size', 'password-protect-page' ),
'description' => __( 'Font size in px', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_description_font_size',
'type' => 'number',
'priority' => 120,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_description_font_weight', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_WEIGHT,
) );
$wp_customize->add_control( 'ppwp_pcp_form_description_font_weight_control', array(
'label' => __( 'Font Weight', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_description_font_weight',
'type' => 'number',
'priority' => 130,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_description_color', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_form_description_color_control', array(
'label' => __( 'Text Color', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_description_color',
'priority' => 140,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_form_desc_title' );
$wp_customize->add_control(
new PPW_Title_Group_Control(
$wp_customize,
'ppwp_pcp_form_desc_title',
array(
'label' => __( 'Description Below Form', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_desc_title',
'type' => 'control_title',
'priority' => 145,
)
)
);
$wp_customize->add_setting( 'ppwp_pcp_description_below_form', array(
'default' => PPW_Constants::DEFAULT_SHORTCODE_DESC_BELOW_PWD_FORM,
) );
$wp_customize->add_control(
new PPW_Text_Editor_Custom_Control(
$wp_customize,
'ppwp_pcp_description_below_form', array(
'label' => __( 'Description', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_description_below_form',
'type' => 'textarea',
'priority' => 146,
)
) );
$wp_customize->add_setting( 'ppwp_pcp_form_description_below_form_font_size', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_SIZE,
) );
$wp_customize->add_control( 'ppwp_pcp_form_description_below_form_font_size_control', array(
'label' => __( 'Font Size', 'password-protect-page' ),
'description' => __( 'Font size in px', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_description_below_form_font_size',
'type' => 'number',
'priority' => 147,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_description_below_form_font_weight', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_WEIGHT,
) );
$wp_customize->add_control( 'ppwp_pcp_form_description_below_form_font_weight_control', array(
'label' => __( 'Font Weight', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_description_below_form_font_weight',
'type' => 'number',
'priority' => 148,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_description_below_form_color', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_form_description_below_form_color_control', array(
'label' => __( 'Text Color', 'password-protect-page' ),
'section' => self::GENERAL_SECTION,
'settings' => 'ppwp_pcp_form_description_below_form_color',
'priority' => 149,
) )
);
// $wp_customize->add_setting( 'ppwp_pcp_desc_above_btn' );
// $wp_customize->add_control(
// new PPW_Title_Group_Control(
// $wp_customize,
// 'ppwp_pcp_desc_above_btn',
// array(
// 'label' => __( 'Description Above Button', 'password-protect-page' ),
// 'section' => 'ppwp_pcp_form',
// 'settings' => 'ppwp_pcp_desc_above_btn',
// 'type' => 'control_title',
// 'priority' => 150,
// )
// )
// );
// $wp_customize->add_setting( 'ppwp_pcp_description_above_btn', array(
// 'default' => PPW_Constants::DEFAULT_SHORTCODE_DESC_ABOVE_PWD_BTN,
// ) );
// $wp_customize->add_control(
// new PPW_Text_Editor_Custom_Control(
// $wp_customize,
// 'ppwp_pcp_description_above_btn',
// array(
// 'label' => __( 'Description', 'password-protect-page' ),
// 'section' => self::GENERAL_SECTION,
// 'settings' => 'ppwp_pcp_description_above_btn',
// 'type' => 'textarea',
// 'priority' => 152,
// )
// )
// );
// $wp_customize->add_setting( 'ppwp_pcp_form_description_above_btn_font_size', array(
// 'default' => PPW_Constants::DEFAULT_TEXT_FONT_SIZE,
// ) );
// $wp_customize->add_control( 'ppwp_pcp_form_description_above_btn_font_size_control', array(
// 'label' => __( 'Font Size', 'password-protect-page' ),
// 'description' => __( 'Font size in px', 'password-protect-page' ),
// 'section' => self::GENERAL_SECTION,
// 'settings' => 'ppwp_pcp_form_description_above_btn_font_size',
// 'type' => 'number',
// 'priority' => 153,
// ) );
// $wp_customize->add_setting( 'ppwp_pcp_form_description_above_btn_font_weight', array(
// 'default' => PPW_Constants::DEFAULT_TEXT_FONT_WEIGHT,
// ) );
// $wp_customize->add_control( 'ppwp_pcp_form_description_above_btn_font_weight_control', array(
// 'label' => __( 'Font Weight', 'password-protect-page' ),
// 'section' => self::GENERAL_SECTION,
// 'settings' => 'ppwp_pcp_form_description_above_btn_font_weight',
// 'type' => 'number',
// 'priority' => 154,
// ) );
// $wp_customize->add_setting( 'ppwp_pcp_form_description_above_btn_color', array(
// 'default' => PPW_Constants::DEFAULT_TEXT_FONT_COLOR,
// ) );
// $wp_customize->add_control(
// new \WP_Customize_Color_Control(
// $wp_customize,
// 'ppwp_pcp_form_description_above_btn_color_control', array(
// 'label' => __( 'Text Color', 'password-protect-page' ),
// 'section' => self::GENERAL_SECTION,
// 'settings' => 'ppwp_pcp_form_description_above_btn_color',
// 'priority' => 155,
// ) )
// );
$wp_customize->add_setting( 'ppwp_pcp_form_label_title' );
$wp_customize->add_control(
new PPW_Title_Group_Control(
$wp_customize,
'ppwp_pcp_form_label_title',
array(
'label' => __( 'Password Field', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_label_title',
'type' => 'control_title',
'priority' => 159,
)
)
);
$wp_customize->add_setting( 'ppwp_pcp_form_label', array(
'default' => PPW_Constants::DEFAULT_SHORTCODE_LABEL,
) );
$wp_customize->add_control( 'ppwp_pcp_form_label_control', array(
'label' => __( 'Password Label', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_label',
'type' => 'text',
'priority' => 160,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_label_font_size', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_SIZE,
) );
$wp_customize->add_control( 'ppwp_pcp_form_label_font_size_control', array(
'label' => __( 'Font Size', 'password-protect-page' ),
'description' => __( 'Font size in px', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_label_font_size',
'type' => 'number',
'priority' => 170,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_label_font_weight', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_WEIGHT,
) );
$wp_customize->add_control( 'ppwp_pcp_form_label_font_weight_control', array(
'label' => __( 'Font Weight', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_label_font_weight',
'type' => 'number',
'priority' => 180,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_label_color', array(
'default' => PPW_Constants::DEFAULT_TEXT_FONT_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_form_label_color_control', array(
'label' => __( 'Text Color', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_label_color',
'priority' => 190,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_form_placeholder', array(
'default' => PPW_Constants::DEFAULT_PLACEHOLDER,
) );
$wp_customize->add_control( 'ppwp_pcp_form_placeholder_control', array(
'label' => __( 'Placeholder', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_placeholder',
'type' => 'text',
'priority' => 200,
) );
$wp_customize->add_setting( 'ppwp_pcp_form_show_password_title' );
$wp_customize->add_control(
new PPW_Title_Group_Control(
$wp_customize,
'ppwp_pcp_form_show_password_title', array(
'label' => __( 'Show Password', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_show_password_title',
'type' => 'control_title',
'priority' => 210,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_form_is_show_password', array(
'default' => PPW_Constants::DEFAULT_SHORTCODE_SHOW_PASSWORD,
) );
$wp_customize->add_control(
new PPW_Toggle_Control(
$wp_customize,
'ppwp_pcp_form_is_show_password_control', array(
'label' => __( 'Show Password Reveal Button', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'type' => 'toggle',
'settings' => 'ppwp_pcp_form_is_show_password',
'priority' => 220,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_form_show_password_text', array(
'default' => PPW_Constants::DEFAULT_SHORTCODE_SHOW_PASSWORD_TEXT,
) );
$wp_customize->add_control( 'ppwp_pcp_form_show_password_text_control', array(
'label' => __( 'Button Text', 'password-protect-page' ),
'section' => 'ppwp_pcp_form',
'settings' => 'ppwp_pcp_form_show_password_text',
'type' => 'text',
'priority' => 230,
) );
}
/**
* Append error message section.
*
* @param WP_Customize $wp_customize WP Customize class.
*/
public function append_err_msg_section( $wp_customize ) {
/* form error message section */
$wp_customize->add_section( self::ERR_MSG_SECTION, array(
'title' => __( 'Error Message', 'password-protect-page' ),
'panel' => self::PANEL,
'priority' => 20,
) );
$wp_customize->add_setting( 'ppwp_pcp_err_msg_text', array(
'default' => PPW_Constants::DEFAULT_SHORTCODE_ERROR_MSG,
) );
$wp_customize->add_control(
new PPW_Text_Editor_Custom_Control(
$wp_customize,
'ppwp_pcp_err_msg_text',
array(
'label' => __( 'Wrong Password Message', 'password-protect-page' ),
'section' => self::ERR_MSG_SECTION,
'settings' => 'ppwp_pcp_err_msg_text',
'type' => 'textarea',
'priority' => 10,
)
)
);
$wp_customize->add_setting( 'ppwp_pcp_err_msg_text_font_size', array(
'default' => PPW_Constants::DEFAULT_ERROR_TEXT_FONT_SIZE,
) );
$wp_customize->add_control( 'ppwp_pcp_err_msg_text_font_size_control', array(
'label' => __( 'Font Size', 'password-protect-page' ),
'description' => __( 'Font size in px', 'password-protect-page' ),
'section' => self::ERR_MSG_SECTION,
'settings' => 'ppwp_pcp_err_msg_text_font_size',
'type' => 'number',
'priority' => 20,
) );
$wp_customize->add_setting( 'ppwp_pcp_err_msg_text_font_weight', array(
'default' => PPW_Constants::DEFAULT_ERROR_TEXT_FONT_WEIGHT,
) );
$wp_customize->add_control( 'ppwp_pcp_err_msg_text_font_weight_control', array(
'label' => __( 'Font Weight', 'password-protect-page' ),
'section' => self::ERR_MSG_SECTION,
'settings' => 'ppwp_pcp_err_msg_text_font_weight',
'type' => 'number',
'priority' => 25,
) );
$wp_customize->add_setting( 'ppwp_pcp_err_msg_text_color', array(
'default' => PPW_Constants::DEFAULT_ERROR_TEXT_FONT_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_err_msg_text_color_control', array(
'label' => __( 'Text Color', 'password-protect-page' ),
'section' => self::ERR_MSG_SECTION,
'settings' => 'ppwp_pcp_err_msg_text_color',
'priority' => 30,
) )
);
$wp_customize->add_setting( 'ppwp_pcp_err_msg_background_color', array(
'default' => '#ffffff',
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_err_msg_background_color_control', array(
'label' => __( 'Background Color', 'password-protect-page' ),
'section' => self::ERR_MSG_SECTION,
'settings' => 'ppwp_pcp_err_msg_background_color',
'priority' => 35,
) )
);
}
/**
* Append button section.
*
* @param WP_Customize $wp_customize WP Customize class.
*/
public function append_button_section( $wp_customize ) {
$wp_customize->add_section( self::BUTTON_SECTION, array(
'title' => __( 'Button', 'password-protect-page' ),
'panel' => self::PANEL,
'priority' => 300,
) );
$wp_customize->add_setting( 'ppwp_pcp_button_text', array(
'default' => PPW_Constants::DEFAULT_SHORTCODE_BUTTON,
) );
$wp_customize->add_control( 'ppwp_pcp_button_text_control', array(
'label' => __( 'Button Label', 'password-protect-page' ),
'section' => 'ppwp_pcp_button',
'settings' => 'ppwp_pcp_button_text',
'type' => 'text',
) );
$wp_customize->add_setting( 'ppwp_pcp_button_loading_text', array(
'default' => __( PPW_Constants::DEFAULT_SHORTCODE_LOADING, 'password-protect-page' ),
) );
$wp_customize->add_control( 'ppwp_pcp_button_loading_text_control', array(
'label' => __( 'Button Loading Label', 'password-protect-page' ),
'section' => 'ppwp_pcp_button',
'settings' => 'ppwp_pcp_button_loading_text',
'type' => 'text',
) );
$wp_customize->add_setting( 'ppwp_pcp_button_text_color', array(
'default' => PPW_Constants::DEFAULT_BUTTON_TEXT_FONT_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_button_text_color_control', array(
'label' => __( 'Text Color', 'password-protect-page' ),
'section' => 'ppwp_pcp_button',
'settings' => 'ppwp_pcp_button_text_color',
) )
);
$wp_customize->add_setting( 'ppwp_pcp_button_text_hover_color', array(
'default' => PPW_Constants::DEFAULT_BUTTON_TEXT_HOVER_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_button_text_hover_color_control', array(
'label' => __( 'Text Color (Hover)', 'password-protect-page' ),
'section' => 'ppwp_pcp_button',
'settings' => 'ppwp_pcp_button_text_hover_color',
) )
);
$wp_customize->add_setting( 'ppwp_pcp_button_background_color', array(
'default' => PPW_Constants::DEFAULT_BUTTON_BACKGROUND_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_button_background_color_control', array(
'label' => __( 'Background Color', 'password-protect-page' ),
'section' => 'ppwp_pcp_button',
'settings' => 'ppwp_pcp_button_background_color',
) )
);
$wp_customize->add_setting( 'ppwp_pcp_button_background_hover_color', array(
'default' => PPW_Constants::DEFAULT_BUTTON_BACKGROUND_HOVER_COLOR,
) );
$wp_customize->add_control(
new \WP_Customize_Color_Control(
$wp_customize,
'ppwp_pcp_button_background_hover_color_control', array(
'label' => __( 'Background Color (Hover)', 'password-protect-page' ),
'section' => 'ppwp_pcp_button',
'settings' => 'ppwp_pcp_button_background_hover_color',
) )
);
}
/**
* Add dynamic styles
*
* @return void
*/
public function dynamic_styles() {
$ppw_custom_css = "
<style>
.ppw-form {
background-color: " . get_theme_mod( 'ppwp_pcp_form_background_color', PPW_Constants::DEFAULT_FORM_BACKGROUND_COLOR ) . "!important;
padding: " . get_theme_mod( 'ppwp_pcp_form_padding', PPW_Constants::DEFAULT_FORM_PADDING ) . "px!important;
border-radius: " . get_theme_mod( 'ppwp_pcp_form_border_radius', PPW_Constants::DEFAULT_FORM_BORDER_RADIUS ) . "px!important;
}
.ppw-headline.ppw-pcp-pf-headline {
font-size: " . get_theme_mod( 'ppwp_pcp_form_headline_font_size', PPW_Constants::DEFAULT_HEADLINE_FONT_SIZE ) . "px!important;
font-weight: " . get_theme_mod( 'ppwp_pcp_form_headline_font_weight', PPW_Constants::DEFAULT_HEADLINE_FONT_WEIGHT ) . "!important;
color: " . get_theme_mod( 'ppwp_pcp_form_headline_color', PPW_Constants::DEFAULT_HEADLINE_FONT_COLOR ) . "!important;
}
.ppw-description.ppw-pcp-pf-desc {
font-size: " . get_theme_mod( 'ppwp_pcp_form_description_font_size', PPW_Constants::DEFAULT_TEXT_FONT_SIZE ) . "px!important;
font-weight: " . get_theme_mod( 'ppwp_pcp_form_description_font_weight', PPW_Constants::DEFAULT_TEXT_FONT_WEIGHT ) . "!important;
color: " . get_theme_mod( 'ppwp_pcp_form_description_color', PPW_Constants::DEFAULT_TEXT_FONT_COLOR ) . "!important;
}
.ppw-pcp-pf-desc-above-btn {
display: block;
}
.ppw-pcp-pf-desc-below-form {
font-size: " . get_theme_mod( 'ppwp_pcp_form_description_below_form_font_size', PPW_Constants::DEFAULT_TEXT_FONT_SIZE ) . "px!important;
font-weight: " . get_theme_mod( 'ppwp_pcp_form_description_below_form_font_weight', PPW_Constants::DEFAULT_TEXT_FONT_WEIGHT ) . "!important;
color: " . get_theme_mod( 'ppwp_pcp_form_description_below_form_color', PPW_Constants::DEFAULT_TEXT_FONT_COLOR ) . "!important;
}
.ppw-input label.ppw-pcp-password-label {
font-size: " . get_theme_mod( 'ppwp_pcp_form_label_font_size', PPW_Constants::DEFAULT_TEXT_FONT_SIZE ) . "px!important;
font-weight: " . get_theme_mod( 'ppwp_pcp_form_label_font_weight', PPW_Constants::DEFAULT_TEXT_FONT_WEIGHT ) . "!important;
color: " . get_theme_mod( 'ppwp_pcp_form_label_color', PPW_Constants::DEFAULT_TEXT_FONT_COLOR ) . "!important;
}
.ppw-form input[type='submit'] {
color: " . get_theme_mod( 'ppwp_pcp_button_text_color', PPW_Constants::DEFAULT_BUTTON_TEXT_FONT_COLOR ) . "!important;
background: " . get_theme_mod( 'ppwp_pcp_button_background_color', PPW_Constants::DEFAULT_BUTTON_BACKGROUND_COLOR ) . "!important;
}
.ppw-form input[type='submit']:hover {
color: " . get_theme_mod( 'ppwp_pcp_button_text_hover_color', PPW_Constants::DEFAULT_BUTTON_TEXT_HOVER_COLOR ) . "!important;
background: " . get_theme_mod( 'ppwp_pcp_button_background_hover_color', PPW_Constants::DEFAULT_BUTTON_BACKGROUND_HOVER_COLOR ) . "!important;
}
div.ppw-error.ppw-pcp-pf-error-msg {
font-size: " . get_theme_mod( 'ppwp_pcp_err_msg_text_font_size', PPW_Constants::DEFAULT_ERROR_TEXT_FONT_SIZE ) . "px!important;
font-weight: " . get_theme_mod( 'ppwp_pcp_err_msg_text_font_weight', PPW_Constants::DEFAULT_ERROR_TEXT_FONT_WEIGHT ) . "!important;
color: " . get_theme_mod( 'ppwp_pcp_err_msg_text_color', PPW_Constants::DEFAULT_ERROR_TEXT_FONT_COLOR ) . "!important;
background: " . get_theme_mod( 'ppwp_pcp_err_msg_background_color', PPW_Constants::DEFAULT_ERROR_TEXT_BACKGROUND_COLOR ) . "!important;
}
</style>
";
// compress $ppw_custom_css.
$ppw_custom_css = preg_replace( "/\s{2,}/", " ", str_replace( "\n", "", str_replace( ', ', ",", $ppw_custom_css ) ) );
echo $ppw_custom_css;
}
/*
* Optimize css.
*/
public function optimize_css( $sw_custom_css ) {
return preg_replace( "/\s{2,}/", " ", str_replace( "\n", "", str_replace( ', ', ",", $sw_custom_css ) ) );
}
}
}