<?php
/**
 * Client Section options
 *
 * @package Theme Palace
 * @subpackage enlightme Pro
 * @since enlightme Pro 1.0.0
 */
// Add client Collection section
$wp_customize->add_section( 'enlightme_pro_client_section', array(
    'title'             => esc_html__( 'Client','enlightme-pro' ),
    'description'       => esc_html__( 'Client Section options.', 'enlightme-pro' ),
    'panel'             => 'enlightme_pro_front_page_panel',
    'active_callback'   => function( $control ) {
        return (
            enlightme_pro_is_default_layout( $control )
            ||
            enlightme_pro_is_third_layout( $control )
            ||
            enlightme_pro_is_fourth_layout( $control )
            ||
            enlightme_pro_is_fifth_layout( $control )
        );
    },
) );

// client content enable control and setting
$wp_customize->add_setting( 'enlightme_pro_theme_options[client_section_enable]', array(
    'default'           =>  $options['client_section_enable'],
    'sanitize_callback' => 'enlightme_pro_sanitize_switch_control',
) );

$wp_customize->add_control( new Enlightme_Pro_Switch_Control( $wp_customize, 'enlightme_pro_theme_options[client_section_enable]', array(
    'label'             => esc_html__( 'Client Section Enable', 'enlightme-pro' ),
    'section'           => 'enlightme_pro_client_section',
    'on_off_label'      => enlightme_pro_switch_options(),
) ) );

if ( isset( $wp_customize->selective_refresh ) ) {
    $wp_customize->selective_refresh->add_partial( 'enlightme_pro_theme_options[client_section_enable]', array(
        'selector'            => '#client .tooltiptext',
        'settings'            => 'enlightme_pro_theme_options[client_section_enable]',
    ) );
}

// featured title setting and control
$wp_customize->add_setting( 'enlightme_pro_theme_options[client_title]', array(
    'sanitize_callback' => 'sanitize_text_field',
    'default'           => $options['client_title'],
    'transport'         => 'postMessage',
) );

$wp_customize->add_control( 'enlightme_pro_theme_options[client_title]', array(
    'label'             => esc_html__( 'Client Section Label', 'enlightme-pro' ),
    'section'           => 'enlightme_pro_client_section',
    'active_callback'   => 'enlightme_pro_is_featured_section_enable',
    'type'              => 'text',
) );

// Abort if selective refresh is not available.
if ( isset( $wp_customize->selective_refresh ) ) {
    $wp_customize->selective_refresh->add_partial( 'enlightme_pro_theme_options[client_title]', array(
        'selector'            => '#client .wrapper p',
        'settings'            => 'enlightme_pro_theme_options[client_title]',
        'container_inclusive' => false,
        'fallback_refresh'    => true,
        'render_callback'     => 'enlightme_pro_client_title_partial',
    ) );
}


$wp_customize->add_setting( 'enlightme_pro_theme_options[client_count]', array(
    'default'           => $options['client_count'],
    'sanitize_callback' => 'enlightme_pro_sanitize_number_range',
    'validate_callback' => 'enlightme_pro_validate_client_count',
) );

$wp_customize->add_control( 'enlightme_pro_theme_options[client_count]', array(
    'label'             => esc_html__( 'Number of client', 'enlightme-pro' ),
    'description'       => esc_html__( 'Note: Min 1 & Max 12. Please input the valid number and save. Then refresh the page to see the change.', 'enlightme-pro' ),
    'section'           => 'enlightme_pro_client_section',
    'active_callback'   => 'enlightme_pro_is_client_section_enable',
    'type'              => 'number',
    'input_attrs'       => array(
        'min'   => 1,
        'max'   => 12,
        'style' => 'width: 100px;'
        ),
) );

$wp_customize->add_setting( 'enlightme_pro_theme_options[client_content_type]', array(
    'default'           => $options['client_content_type'],
    'sanitize_callback' => 'enlightme_pro_sanitize_select',
) );

$wp_customize->add_control( 'enlightme_pro_theme_options[client_content_type]', array(
    'label'             => esc_html__( 'Content Type', 'enlightme-pro' ),
    'section'           => 'enlightme_pro_client_section',
    'type'              => 'select',
    'active_callback'   => 'enlightme_pro_is_client_section_enable',
    'choices'           => array( 
        'page'          => esc_html__( 'Page', 'enlightme-pro' ),
        'post'          => esc_html__( 'Post', 'enlightme-pro' ),
        'category'          => esc_html__( 'Category', 'enlightme-pro' ),
        'custom'        => esc_html__( 'Custom', 'enlightme-pro' ),
    ),
) );

for ($i=1; $i <= $options['client_count'] ; $i++) :
    // client pages drop down chooser control and setting
    $wp_customize->add_setting( 'enlightme_pro_theme_options[client_content_page_' . $i . ']', array(
        'sanitize_callback' => 'enlightme_pro_sanitize_page',
    ) );

    $wp_customize->add_control( new Enlightme_Pro_Dropdown_Chooser( $wp_customize, 'enlightme_pro_theme_options[client_content_page_' . $i . ']', array(
        'label'             => sprintf( esc_html__( 'Select Page %d', 'enlightme-pro' ), $i ),
        'section'           => 'enlightme_pro_client_section',
        'choices'           => enlightme_pro_page_choices(),
        'active_callback'   => 'enlightme_pro_is_client_section_content_page_enable',
    ) ) );

    // client posts drop down chooser control and setting
    $wp_customize->add_setting( 'enlightme_pro_theme_options[client_content_post_' . $i . ']', array(
        'sanitize_callback' => 'enlightme_pro_sanitize_page',
    ) );

    $wp_customize->add_control( new Enlightme_Pro_Dropdown_Chooser( $wp_customize, 'enlightme_pro_theme_options[client_content_post_' . $i . ']', array(
        'label'             => sprintf( esc_html__( 'Select Post %d', 'enlightme-pro' ), $i ),
        'section'           => 'enlightme_pro_client_section',
        'choices'           => enlightme_pro_post_choices(),
        'active_callback'   => 'enlightme_pro_is_client_section_content_post_enable',
    ) ) );

    $wp_customize->add_setting( 'enlightme_pro_theme_options[client_image_' . $i . ']', array(
        'sanitize_callback' => 'enlightme_pro_sanitize_image',
    ) );

    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'enlightme_pro_theme_options[client_image_' . $i . ']',
            array(
            'label'             => sprintf( esc_html__( 'Client Logo %d', 'enlightme-pro' ), $i ),
            'section'           => 'enlightme_pro_client_section',
            'active_callback'   => 'enlightme_pro_is_client_section_content_custom_enable',
    ) ) );

    $wp_customize->add_setting( 'enlightme_pro_theme_options[client_url_' . $i . ']', array(
        'sanitize_callback' => 'esc_url_raw',
    ) );

    $wp_customize->add_control( 'enlightme_pro_theme_options[client_url_' . $i . ']', array(
        'label'             => sprintf( esc_html__( 'Client Url %d', 'enlightme-pro' ), $i ),
        'section'           => 'enlightme_pro_client_section',
        'active_callback'   => 'enlightme_pro_is_client_section_content_custom_enable',
        'type'              => 'url',
    ) );


    $wp_customize->add_setting( 'enlightme_pro_theme_options[client_hr_'. $i .']', array(
        'sanitize_callback' => 'sanitize_text_field'
    ) );

    $wp_customize->add_control( new Enlightme_Pro_Customize_Horizontal_Line( $wp_customize, 'enlightme_pro_theme_options[client_hr_'. $i .']',
        array(
            'section'           => 'enlightme_pro_client_section',
            'active_callback'   => 'enlightme_pro_is_client_section_enable',
            'type'            => 'hr'
    ) ) );

endfor;

$wp_customize->add_setting(  'enlightme_pro_theme_options[client_content_category]', array(
    'sanitize_callback' => 'enlightme_pro_sanitize_single_category',
) ) ;

$wp_customize->add_control( new Enlightme_Pro_Dropdown_Taxonomies_Control( $wp_customize,'enlightme_pro_theme_options[client_content_category]', array(
    'label'             => esc_html__( 'Select Category', 'enlightme-pro' ),
    'description'       => esc_html__( 'Note: Latest selected no of posts will be shown from selected category', 'enlightme-pro' ),
    'section'           => 'enlightme_pro_client_section',
    'type'              => 'dropdown-taxonomies',
    'active_callback'   => 'enlightme_pro_is_client_section_content_category_enable'
) ) );  