<?php

add_action( 'after_setup_theme', 'the_tour_operator_after_setup_theme' );
function the_tour_operator_after_setup_theme() {
    add_theme_support( 'title-tag' );
    add_theme_support( 'automatic-feed-links' );
    add_theme_support( "responsive-embeds" );
    add_theme_support( 'wp-block-styles' );
    add_theme_support( 'align-wide' );
    add_theme_support( 'post-thumbnails' );
    add_image_size( 'the-tour-operator-featured-image', 2000, 1200, true );
    add_image_size( 'the-tour-operator-thumbnail-avatar', 100, 100, true );

    // Set the default content width.
    $GLOBALS['content_width'] = 525;

    // Add theme support for Custom Logo.
    add_theme_support( 'custom-logo', array(
        'width'       => 250,
        'height'      => 250,
        'flex-width'  => true,
        'flex-height' => true,
    ) );

    add_theme_support( 'custom-background', array(
        'default-color' => 'ffffff'
    ) );

    add_theme_support( 'html5', array('comment-form','comment-list','gallery','caption',) );

}

// Add function after setup:
function the_tour_operator_conditional_editor_styles() {
    
    add_editor_style( array( 'assets/css/editor-style.css') );
}
add_action( 'after_setup_theme', 'the_tour_operator_conditional_editor_styles', 11 );

/**
 * Register widget area.
 */
function the_tour_operator_widgets_init() {
    register_sidebar( array(
        'name'          => __( 'Blog Sidebar', 'the-tour-operator' ),
        'id'            => 'sidebar-1',
        'description'   => __( 'Add widgets here to appear in your sidebar on blog posts and archive pages.', 'the-tour-operator' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );

    register_sidebar( array(
        'name'          => __( 'Page Sidebar', 'the-tour-operator' ),
        'id'            => 'sidebar-2',
        'description'   => __( 'Add widgets here to appear in your sidebar on pages.', 'the-tour-operator' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );

    register_sidebar( array(
        'name'          => __( 'Sidebar 3', 'the-tour-operator' ),
        'id'            => 'sidebar-3',
        'description'   => __( 'Add widgets here to appear in your sidebar on blog posts and archive pages.', 'the-tour-operator' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );

    register_sidebar( array(
        'name'          => __( 'Footer 1', 'the-tour-operator' ),
        'id'            => 'footer-1',
        'description'   => __( 'Add widgets here to appear in your footer.', 'the-tour-operator' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );

    register_sidebar( array(
        'name'          => __( 'Footer 2', 'the-tour-operator' ),
        'id'            => 'footer-2',
        'description'   => __( 'Add widgets here to appear in your footer.', 'the-tour-operator' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );

    register_sidebar( array(
        'name'          => __( 'Footer 3', 'the-tour-operator' ),
        'id'            => 'footer-3',
        'description'   => __( 'Add widgets here to appear in your footer.', 'the-tour-operator' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );

    register_sidebar( array(
        'name'          => __( 'Footer 4', 'the-tour-operator' ),
        'id'            => 'footer-4',
        'description'   => __( 'Add widgets here to appear in your footer.', 'the-tour-operator' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );
}
add_action( 'widgets_init', 'the_tour_operator_widgets_init' );

// enqueue styles for child theme
function the_tour_operator_enqueue_styles() {

    // Bootstrap
    wp_enqueue_style( 'bootstrap-css', get_theme_file_uri( '/assets/css/bootstrap.css' ) );

    // Theme block stylesheet.
    wp_enqueue_style( 'the-tour-operator-block-style', get_theme_file_uri( '/assets/css/blocks.css' ), array( 'the-tour-operator-child-style' ), '1.0' );

    // enqueue parent styles
    wp_enqueue_style('adventure-travelling-style', get_template_directory_uri() .'/style.css');

    // enqueue child styles
    wp_enqueue_style('the-tour-operator-child-style', get_stylesheet_directory_uri() .'/style.css', array('adventure-travelling-style'));

    require get_theme_file_path( '/tp-theme-color.php' );
    wp_add_inline_style( 'the-tour-operator-child-style',$adventure_travelling_tp_theme_css );

    wp_style_add_data('the-tour-operator-child-style', 'rtl', 'replace');

    wp_enqueue_script( 'comment-reply', '/wp-includes/js/comment-reply.min.js', array(), false, true );

    $adventure_travelling_body_font_family = get_theme_mod('adventure_travelling_body_font_family', '');

    $adventure_travelling_heading_font_family = get_theme_mod('adventure_travelling_heading_font_family', '');

    $adventure_travelling_menu_font_family = get_theme_mod('adventure_travelling_menu_font_family', '');

    $adventure_travelling_tp_theme_css = '
        body{
            font-family: '.esc_html($adventure_travelling_body_font_family).' !important;
        }
        .more-btn a{
            font-family: '.esc_html($adventure_travelling_body_font_family).'!important;
        }
        h1,.logo h1{
            font-family: '.esc_html($adventure_travelling_heading_font_family).'!important;
        }
        h2{
            font-family: '.esc_html($adventure_travelling_heading_font_family).'!important;
        }
        h3{
            font-family: '.esc_html($adventure_travelling_heading_font_family).'!important;
        }
        h4{
            font-family: '.esc_html($adventure_travelling_heading_font_family).'!important;
        }
        h5{
            font-family: '.esc_html($adventure_travelling_heading_font_family).'!important;
        }
        h6{
            font-family: '.esc_html($adventure_travelling_heading_font_family).'!important;
        }
        #theme-sidebar .wp-block-search .wp-block-search__label{
            font-family: '.esc_html($adventure_travelling_heading_font_family).'!important;
        }
        .menubar{
            font-family: '.esc_html($adventure_travelling_menu_font_family).'!important;
        }
    ';
    wp_add_inline_style('the-tour-operator-child-style', $adventure_travelling_tp_theme_css);

}
add_action('wp_enqueue_scripts', 'the_tour_operator_enqueue_styles');

function the_tour_operator_admin_scripts() {
    // Backend CSS
    wp_enqueue_style( 'the-tour-operator-backend-css', get_theme_file_uri( '/assets/css/customizer.css' ) );
}
add_action( 'admin_enqueue_scripts', 'the_tour_operator_admin_scripts' );

// offer Meta
function the_tour_operator_bn_custom_meta_offer() {
    add_meta_box( 'bn_meta', __( 'Trip Offer Meta Feilds', 'the-tour-operator' ), 'the_tour_operator_meta_callback_trip_offer', 'post', 'normal', 'high' );
}
/* Hook things in for admin*/
if (is_admin()){
  add_action('admin_menu', 'the_tour_operator_bn_custom_meta_offer');
}

function the_tour_operator_meta_callback_trip_offer( $post ) {
    wp_nonce_field( basename( __FILE__ ), 'the_tour_operator_offer_trip_meta_nonce' );
    $bn_stored_meta = get_post_meta( $post->ID );
    $the_tour_operator_trip_amount = get_post_meta( $post->ID, 'the_tour_operator_trip_amount', true );
    $the_tour_operator_trip_days = get_post_meta( $post->ID, 'the_tour_operator_trip_days', true );
    ?>
    <div id="testimonials_custom_stuff">
        <table id="list">
            <tbody id="the-list" data-wp-lists="list:meta">
                <tr id="meta-8">
                    <td class="left">
                        <?php esc_html_e( 'Package Amount', 'the-tour-operator' )?>
                    </td>
                    <td class="left">
                        <input type="text" name="the_tour_operator_trip_amount" id="the_tour_operator_trip_amount" value="<?php echo esc_attr($the_tour_operator_trip_amount); ?>" />
                    </td>
                </tr>
                <tr id="meta-8">
                    <td class="left">
                        <?php esc_html_e( 'Package Days', 'the-tour-operator' )?>
                    </td>
                    <td class="left">
                        <input type="text" name="the_tour_operator_trip_days" id="the_tour_operator_trip_days" value="<?php echo esc_attr($the_tour_operator_trip_days); ?>" />
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
    <?php
}

/* Saves the custom meta input */
function the_tour_operator_bn_metadesig_save( $post_id ) {
    if (!isset($_POST['the_tour_operator_offer_trip_meta_nonce']) || !wp_verify_nonce( strip_tags( wp_unslash( $_POST['the_tour_operator_offer_trip_meta_nonce']) ), basename(__FILE__))) {
        return;
    }

    if (!current_user_can('edit_post', $post_id)) {
        return;
    }

    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }

    // Save Trip Amount
    if( isset( $_POST[ 'the_tour_operator_trip_amount' ] ) ) {
        update_post_meta( $post_id, 'the_tour_operator_trip_amount', strip_tags( wp_unslash( $_POST[ 'the_tour_operator_trip_amount' ]) ) );
    }
    // Save Trip Days
    if( isset( $_POST[ 'the_tour_operator_trip_days' ] ) ) {
        update_post_meta( $post_id, 'the_tour_operator_trip_days', strip_tags( wp_unslash( $_POST[ 'the_tour_operator_trip_days' ]) ) );
    }
}
add_action( 'save_post', 'the_tour_operator_bn_metadesig_save' );


function the_tour_operator_theme_setup() {

    require get_stylesheet_directory() . '/customizer/customizer.php';

    require get_theme_file_path( '/customizer/customize-control-toggle.php' );

    if ( ! defined( 'ADVENTURE_TRAVELLING_PRO_THEME_NAME' ) ) {
        define( 'ADVENTURE_TRAVELLING_PRO_THEME_NAME', esc_html__( 'Tour Operator Pro', 'the-tour-operator' ));
    }
    if ( ! defined( 'ADVENTURE_TRAVELLING_PRO_THEME_URL' ) ) {
        define( 'ADVENTURE_TRAVELLING_PRO_THEME_URL', esc_url('https://www.themespride.com/products/tour-operator-wordpress-theme'));
    }
    if ( ! defined( 'ADVENTURE_TRAVELLING_FREE_THEME_URL' ) ) {
        define( 'ADVENTURE_TRAVELLING_FREE_THEME_URL', 'https://www.themespride.com/products/free-tour-operator-wordpress-theme' );
    }
    if ( ! defined( 'ADVENTURE_TRAVELLING_DEMO_THEME_URL' ) ) {
        define( 'ADVENTURE_TRAVELLING_DEMO_THEME_URL', 'https://page.themespride.com/tour-operator-pro/' );
    }
    if ( ! defined( 'ADVENTURE_TRAVELLING_DOCS_THEME_URL' ) ) {
        define( 'ADVENTURE_TRAVELLING_DOCS_THEME_URL', 'https://page.themespride.com/demo/docs/the-tour-operator-lite/' );
    }
    if ( ! defined( 'ADVENTURE_TRAVELLING_DOCS_URL' ) ) {
        define( 'ADVENTURE_TRAVELLING_DOCS_URL', 'https://page.themespride.com/demo/docs/the-tour-operator-lite/' );
    }
    if ( ! defined( 'ADVENTURE_TRAVELLING_RATE_THEME_URL' ) ) {
        define( 'ADVENTURE_TRAVELLING_RATE_THEME_URL', 'https://wordpress.org/support/theme/the-tour-operator/reviews/#new-post' );
    }
    if ( ! defined( 'ADVENTURE_TRAVELLING_CHANGELOG_THEME_URL' ) ) {
        define( 'ADVENTURE_TRAVELLING_CHANGELOG_THEME_URL', get_stylesheet_directory() . '/readme.txt' );
    }
    if ( ! defined( 'ADVENTURE_TRAVELLING_SUPPORT_THEME_URL' ) ) {
        define( 'ADVENTURE_TRAVELLING_SUPPORT_THEME_URL', 'https://wordpress.org/support/theme/the-tour-operator/' );
    }

    define('THE_TOUR_OPERATOR_CREDIT',__('https://www.themespride.com/products/free-tour-operator-wordpress-theme','the-tour-operator') );
    if ( ! function_exists( 'the_tour_operator_credit' ) ) {
        function the_tour_operator_credit(){
            echo "<a href=".esc_url(THE_TOUR_OPERATOR_CREDIT)." target='_blank'>".esc_html__(get_theme_mod('adventure_travelling_footer_text',__('Tour Operator WordPress Theme','the-tour-operator')))."</a>";
        }
    }
    
}
add_action( 'after_setup_theme', 'the_tour_operator_theme_setup' );
