<?php
/**
 * Theme functions and definitions
 *
 * @package Electronics Gadgets
 */ 

if ( ! function_exists( 'electronics_gadgets_enqueue_styles' ) ) :
	/**
	 * Load assets.
	 *
	 * @since 1.0.0
	 */
	function electronics_gadgets_enqueue_styles() {
		wp_enqueue_style( 'electronics-gadgets-block-patterns-style-frontend', get_theme_file_uri('/css/block-frontend.css') );
		wp_enqueue_style( 'bootstrap-css', get_template_directory_uri().'/css/bootstrap.css' );
		wp_enqueue_style( 'electronics-gadgets-style-parent', get_template_directory_uri() . '/style.css' );
		wp_enqueue_style( 'electronics-gadgets-style', get_stylesheet_directory_uri() . '/style.css', array( 'electronics-gadgets-style-parent' ), '1.0.0' );

		require get_theme_file_path( '/tc-style.php' );
		wp_add_inline_style( 'electronics-gadgets-style',$electronics_gadgets_custom_css );

		require get_parent_theme_file_path( '/tc-style.php' );
		wp_add_inline_style( 'electronics-gadgets-style-parent',$electronics_store_custom_css );
	}
endif;
add_action( 'wp_enqueue_scripts', 'electronics_gadgets_enqueue_styles');

/**
 * Enqueue block editor style
 */
function electronics_gadgets_block_editor_styles() {
	wp_enqueue_style( 'electronics-store-font', electronics_store_font_url(), array() );
	wp_enqueue_style( 'electronics-gadgets-block-patterns-style-editor', get_theme_file_uri( '/css/block-editor.css' ), false, '1.0', 'all' );
    wp_enqueue_style( 'bootstrap-style', get_template_directory_uri().'/css/bootstrap.css' );
    wp_enqueue_style( 'font-awesome-css', get_template_directory_uri().'/css/fontawesome-all.css' );
}
add_action( 'enqueue_block_editor_assets', 'electronics_gadgets_block_editor_styles' );

function electronics_gadgets_scripts() {	
	wp_enqueue_script( 'electronics-gadgets-custom-js', get_stylesheet_directory_uri() . '/js/custom.js', array('jquery') );
}
add_action( 'wp_enqueue_scripts', 'electronics_gadgets_scripts' );

function electronics_gadgets_customize_register() {
	global $wp_customize;
	$wp_customize->remove_setting( 'electronics_store_shipping_text' );
	$wp_customize->remove_control( 'electronics_store_shipping_text' );
	$wp_customize->remove_setting( 'electronics_store_product_deals_image' );
	$wp_customize->remove_control( 'electronics_store_product_deals_image' );
	$wp_customize->remove_setting( 'electronics_store_product_deal_text' );
	$wp_customize->remove_control( 'electronics_store_product_deal_text' );
	$wp_customize->remove_setting( 'electronics_store_theme_color' );
	$wp_customize->remove_control( 'electronics_store_theme_color' );
	$wp_customize->remove_setting( 'electronics_store_menu_settings_premium_features' );
	$wp_customize->remove_control( 'electronics_store_menu_settings_premium_features' );
	$wp_customize->remove_setting( 'electronics_store_product_settings_premium_features' );
	$wp_customize->remove_control( 'electronics_store_product_settings_premium_features' );
	$wp_customize->remove_setting( 'electronics_store_post_settings_premium_features' );
	$wp_customize->remove_control( 'electronics_store_post_settings_premium_features' );

	$wp_customize->remove_section( 'electronics_store_about_theme' );

	// Add the Theme Color Option section.
	$wp_customize->add_setting( 'electronics_gadgets_primary_theme_color', array(
	    'default' => '#FFC21F',
	    'sanitize_callback' => 'sanitize_hex_color',
  	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'electronics_gadgets_primary_theme_color', array(
  		'label' => __('Theme Color Option','electronics-gadgets'),
	    'section' => 'electronics_store_typography',
	    'settings' => 'electronics_gadgets_primary_theme_color',
		'priority' => 1,
  	)));



	//About Section
		$wp_customize->add_section( 'electronics_gadgets_about_theme' , array(
	    	'title' => esc_html__( 'About Theme', 'electronics-gadgets' ),
	    	'priority' => 10,
		) );

		$wp_customize->add_setting('electronics_gadgets_demo_link',array(
			'sanitize_callback'	=> 'sanitize_text_field'
		));
		$wp_customize->add_control('electronics_gadgets_demo_link',array(
			'type'=> 'hidden',
			'description' => "<h3>". esc_html__('Theme Demo','electronics-gadgets') ."</h3><p>". esc_html__('Our premium version of Electronics Gadgets has unlimited sections with advanced control fields. Dedicated support and no limititation in any field.','electronics-gadgets') ."</p> <a target='_blank' href='". esc_url('https://preview.themescaliber.com/electronics-gadgets-pro/') ." '>". esc_html__('View Demo','electronics-gadgets') ."</a>",
			'section'=> 'electronics_gadgets_about_theme'
		));
		
		$wp_customize->add_setting('electronics_gadgets_doc_link',array(
			'sanitize_callback'	=> 'sanitize_text_field'
		));
		$wp_customize->add_control('electronics_gadgets_doc_link',array(
			'type'=> 'hidden',
			'description' => "<h3>". esc_html__('Theme Documentation','electronics-gadgets') ."</h3><p>". esc_html__('We have well prepared documentation that provides the general guidelines and suggestions needed for this theme.','electronics-gadgets') ."</p> <a target='_blank' href='". esc_url('https://preview.themescaliber.com/doc/free-electronics-gadgets/') ." '>". esc_html__('View Documentation','electronics-gadgets') ."</a>",
			'section'=> 'electronics_gadgets_about_theme'
		));

		$wp_customize->add_setting('electronics_gadgets_forum_link',array(
			'sanitize_callback'	=> 'sanitize_text_field'
		));
		$wp_customize->add_control('electronics_gadgets_forum_link',array(
			'type'=> 'hidden',
			'description' => "<h3>". esc_html__('Theme Support','electronics-gadgets') ."</h3><p>". esc_html__('Regarding any theme issue, we offer 24/7 support. You can get assistance from our support staff in resolving any problem. Please get in touch with us.','electronics-gadgets') ."</p><a target='_blank' href='". esc_url('https://wordpress.org/support/theme/electronics-gadgets/') ." '>". esc_html__('Support Forum','electronics-gadgets') ."</a>",
			'section'=> 'electronics_gadgets_about_theme'
		));

		$wp_customize->add_setting('electronics_gadgets_review_link',array(
			'sanitize_callback'	=> 'sanitize_text_field'
		));
		$wp_customize->add_control('electronics_gadgets_review_link',array(
			'type'=> 'hidden',
			'description' => "<h3>". esc_html__('Theme Review','electronics-gadgets') ."</h3><p>". esc_html__('If you enjoy using our theme, we’d love to hear your feedback. please leave us a review.','electronics-gadgets') ."</p><a target='_blank' href='". esc_url('https://wordpress.org/support/theme/electronics-gadgets/reviews/') ." '>". esc_html__('Rate & Review','electronics-gadgets') ."</a>",
			'section'=> 'electronics_gadgets_about_theme'
		));	

		$wp_customize->add_setting( 'electronics_gadgets_menu_settings_premium_features',array(
		        'sanitize_callback' => 'sanitize_text_field'
		    ));
		    $wp_customize->add_control('electronics_gadgets_menu_settings_premium_features', array(
		    	'type'=> 'hidden',
		        'description' => "<h3>". esc_html__('More Features in the Premium Version!','electronics-gadgets') ."</h3>
		        	<ul>
		        		<li>". esc_html__('Menu Background Colors','electronics-gadgets') ."</li>
		        		<li>". esc_html__('Menu Item Fonts','electronics-gadgets') ."</li>
		        		<li>". esc_html__('Responsive Menu Colors','electronics-gadgets') ."</li>
		        		<li>". esc_html__('Header Search Icons Colors','electronics-gadgets') ."</li>
		        		<li>". esc_html__('... and Other Premium Features','electronics-gadgets') ."</li>
		        	</ul>
		        	<a target='_blank' href='". esc_url('https://www.themescaliber.com/products/electronic-gadget-wordpress-theme') ." '>". esc_html__('Upgrade Now','electronics-gadgets') ."</a>",
		        'section' => 'electronics_store_header',
				'priority' => 1,
		        )
		    );

		    $wp_customize->add_setting( 'electronics_gadgets_product_settings_premium_features',array(
		        'sanitize_callback' => 'sanitize_text_field'
		    ));
		    $wp_customize->add_control('electronics_gadgets_product_settings_premium_features', array(
		    	'type'=> 'hidden',
		        'description' => "<h3>". esc_html__('More Features in the Premium Version!','electronics-gadgets') ."</h3>
		        	<ul>
		        		<li>". esc_html__('Section Background Image Option','electronics-gadgets') ."</li>
		        		<li>". esc_html__('Section Title Font Options','electronics-gadgets') ."</li>
		        		<li>". esc_html__('... and Other Premium Features','electronics-gadgets') ."</li>
		        	</ul>
		        	<a target='_blank' href='". esc_url('https://www.themescaliber.com/products/electronic-gadget-wordpress-theme') ." '>". esc_html__('Upgrade Now','electronics-gadgets') ."</a>",
		        'section' => 'electronics_store_product_section',
				'priority' => 1,
		        )
		    );

		    $wp_customize->add_setting( 'electronics_gadgets_post_settings_premium_features',array(
		        'sanitize_callback' => 'sanitize_text_field'
		    ));
		    $wp_customize->add_control('electronics_gadgets_post_settings_premium_features', array(
		    	'type'=> 'hidden',
		        'description' => "<h3>". esc_html__('More Features in the Premium Version!','electronics-gadgets') ."</h3>
		        	<ul>
		        		<li>". esc_html__('Section Heading Option','electronics-gadgets') ."</li>
		        		<li>". esc_html__('Animated Elements Colors','electronics-gadgets') ."</li>
		        		<li>". esc_html__('... and Other Premium Features','electronics-gadgets') ."</li>
		        	</ul>
		        	<a target='_blank' href='". esc_url('https://www.themescaliber.com/products/electronic-gadget-wordpress-theme') ." '>". esc_html__('Upgrade Now','electronics-gadgets') ."</a>",
		        'section' => 'electronics_store_blog_post',
				'priority' => 1,
		        )
		    );

}
add_action( 'customize_register', 'electronics_gadgets_customize_register', 11 );


require_once( ABSPATH . WPINC . '/class-wp-customize-section.php' );

class Electronics_Gadgets_Customize_Section_Pro extends WP_Customize_Section {

    /**
     * Outputs the Underscore.js template.
     *
     * @since  1.0.0
     * @access public
     * @return void
     */
    protected function render_template() { ?>

        <li id="accordion-section-{{ data.id }}" class="accordion-section control-section control-section-{{ data.type }} cannot-expand">
            <h3 class="accordion-section-title">
                {{ data.title }}

                <# if ( data.pro_text && data.pro_url ) { #>
                    <a href="{{ data.pro_url }}" class="button button-secondary alignright" target="_blank">{{ data.pro_text }}</a>
                <# } #>
            </h3>
        </li>
    <?php }
}


/**
 * Singleton class for handling the theme's customizer integration.
 *
 * @since  1.0.0
 * @access public
 */
final class Electronics_Gadgets_Customize {

    /**
     * Returns the instance.
     *
     * @since  1.0.0
     * @access public
     * @return object
     */
    public static function get_instance() {

        static $instance = null;

        if ( is_null( $instance ) ) {
            $instance = new self;
            $instance->setup_actions();
        }

        return $instance;
    }

    /**
     * Constructor method.
     *
     * @since  1.0.0
     * @access private
     * @return void
     */
    private function __construct() {}

    /**
     * Sets up initial actions.
     *
     * @since  1.0.0
     * @access private
     * @return void
     */
    private function setup_actions() {

        // Register panels, sections, settings, controls, and partials.
        add_action( 'customize_register', array( $this, 'sections' ) );

        // Register scripts and styles for the controls.
        add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_control_scripts' ), 0 );
    }

    /**
     * Sets up the customizer sections.
     *
     * @since  1.0.0
     * @access public
     * @param  object  $manager
     * @return void
     */
    public function sections( $manager ) {

        // Register custom section types.
        $manager->register_section_type( 'Electronics_Gadgets_Customize_Section_Pro' );

    }

    /**
     * Loads theme customizer CSS.
     *
     * @since  1.0.0
     * @access public
     * @return void
     */

    public function enqueue_control_scripts() {
        wp_enqueue_style( 'electronics_gadgets-customize-controls', get_stylesheet_directory_uri() . '/css/customize-controls-child.css' );
    }
}

// Doing this customizer thang!
Electronics_Gadgets_Customize::get_instance();


/* Theme Setup */
if ( ! function_exists( 'electronics_gadgets_setup' ) ) :

function electronics_gadgets_setup() {

	$GLOBALS['content_width'] = apply_filters( 'electronics_gadgets_content_width', 640 );

	add_theme_support( 'automatic-feed-links' );
	add_theme_support( 'post-thumbnails' );
	add_theme_support( 'woocommerce' );
	add_theme_support( 'align-wide' );
	add_theme_support( 'wp-block-styles' );
	add_theme_support( 'title-tag' );
	add_theme_support( 'custom-logo', array(
		'height'      => 240,
		'width'       => 240,
		'flex-height' => true,
	) );
	add_image_size('electronics-gadgets-homepage-thumb',240,145,true);
	
   	register_nav_menus( array(
		'primary' => __( 'Primary Menu', 'electronics-gadgets' ),
	) );

	add_theme_support( 'custom-background', array(
		'default-color' => 'f1f1f1'
	) );
	
	add_theme_support ('html5', array (
        'search-form', 'comment-form', 'comment-list', 'gallery', 'caption'
    ) );

	add_theme_support('responsive-embeds');

	/* Selective refresh for widgets */
	add_theme_support( 'customize-selective-refresh-widgets' );

	/*
	 * This theme styles the visual editor to resemble the theme style,
	 * specifically font, colors, icons, and column width.
	 */
	add_editor_style( array( 'css/editor-style.css', electronics_store_font_url() ) );

	// Dashboard Theme Notification
	global $pagenow;
	
	if (
			is_admin()
			&&
			('themes.php' == $pagenow)
			// &&
			// isset( $_GET['activated'] )
		) {
			add_action('admin_notices', 'electronics_gadgets_activation_notice');
		}
	}
	endif;
add_action( 'after_setup_theme', 'electronics_gadgets_setup' );

// Dashboard Theme Notification   
function electronics_gadgets_activation_notice() {
	$electronics_gadgets_meta = get_option( 'electronics_gadgets_admin_notice' );

	if (!$electronics_gadgets_meta) {
	echo '<div id="electronics-gadgets-welcome-notice" class="notice is-dismissible electronics-store-notice">';
		echo '<div class="electronics-store-banner">';
			echo '<div class="electronics-store-text">';
				echo '<h2>' . esc_html__( 'Thanks For Installing the "Electronics Gadgets" Theme !', 'electronics-store' ) . '</h2>';
				echo '<p>' . esc_html__( 'We’re excited to help you get started with your new theme! Set up your website quickly and easily by importing our demo content and customizing it to suit your needs.', 'electronics-gadgets' ) . '</p>';
				echo '<div class="electronics-store-buttons">';
					echo '<a href="' . esc_url( admin_url( 'themes.php?page=electronics_gadgets_guide' ) ) . '">' . esc_html__( 'Demo Import', 'electronics-gadgets' ) . '</a>';
					echo '<a href="'. esc_url( 'https://preview.themescaliber.com/doc/free-electronics-store/' ) .'" target=_blank>' . esc_html__( 'Documentation', 'electronics-gadgets' ) . '</a>';
					echo '<a href="'. esc_url( 'https://www.themescaliber.com/products/electronic-gadget-wordpress-theme' ) .'" target=_blank>' . esc_html__( 'Get Premium', 'electronics-gadgets' ) . '</a>';
					echo '<a class="bundle_btn" href="'. esc_url( 'https://www.themescaliber.com/products/wordpress-theme-bundle' ) .'" target=_blank>' . esc_html__( 'Bundle of 220+ Themes at $99', 'electronics-gadgets' ) . '</a>';
				echo '</div>';
			echo '</div>';
			echo '<div class="electronics-store-image">';
				echo '<img src="' . esc_url(get_theme_file_uri()) . '/images/demo-preview.png">';
			echo '</div>';
		echo '</div>';
    echo '</div>';
}
}

function electronics_gadgets_widgets_init() {
	register_sidebar( array(
		'name'          => __( 'Blog Sidebar', 'electronics-gadgets' ),
		'description'   => __( 'Appears on blog page sidebar', 'electronics-gadgets' ),
		'id'            => 'sidebar-1',
		'before_widget' => '<aside id="%1$s" class="widget %2$s mb-4 p-2">',
		'after_widget'  => '</aside>',
		'before_title'  => '<h3 class="widget-title pt-0">',
		'after_title'   => '</h3>',
	) );
}
add_action( 'widgets_init', 'electronics_gadgets_widgets_init' );

function electronics_gadgets_enqueue_comments_reply() {
    if( is_singular() && comments_open() && ( get_option( 'thread_comments' ) == 1) ) {
        wp_enqueue_script( 'comment-reply', '/wp-includes/js/comment-reply.min.js', array(), false, true );
    }
}
add_action( 'wp_enqueue_scripts', 'electronics_gadgets_enqueue_comments_reply' );

add_action( 'init', 'electronics_gadgets_remove_action');
function electronics_gadgets_remove_action() {
    remove_action( 'admin_menu','electronics_store_gettingstarted' );
    remove_action( 'admin_notices','electronics_store_activation_notice' );
}
function electronics_gadgets_mysetup() {
	// URL DEFINES
	define('ELECTRONICS_GADGETS_SUPPORT',__('https://wordpress.org/support/theme/electronics-gadgets/','electronics-gadgets'));
	define('ELECTRONICS_GADGETS_REVIEW',__('https://wordpress.org/support/theme/electronics-gadgets/reviews/','electronics-gadgets'));
	define('ELECTRONICS_GADGETS_BUY_NOW',__('https://www.themescaliber.com/products/electronic-gadget-wordpress-theme','electronics-gadgets'));
	define('ELECTRONICS_GADGETS_LIVE_DEMO',__('https://preview.themescaliber.com/electronics-gadgets-pro/','electronics-gadgets'));
	define('ELECTRONICS_GADGETS_PRO_DOC',__('https://preview.themescaliber.com/doc/electronics-gadgets-pro/','electronics-gadgets'));
	define('ELECTRONICS_GADGETS_CHILD_THEME',__('https://developer.wordpress.org/themes/advanced-topics/child-themes/','electronics-gadgets'));
	define('ELECTRONICS_GADGETS_THEME_URL',__('https://www.themescaliber.com/products/free-gadget-wordpress-theme', 'electronics-gadgets'));
	define('ELECTRONICS_GADGETS_FREE_THEME_DOC', 'https://preview.themescaliber.com/doc/free-electronics-gadgets/' );


	if ( ! defined( 'ELECTRONICS_STORE_PRO_NAME' ) ) {
		define( 'ELECTRONICS_STORE_PRO_NAME', esc_html__( 'Electronics Gadgets Pro', 'electronics-gadgets' ));
	}
	if ( ! defined( 'ELECTRONICS_STORE_PRO_URL' ) ) {
		define( 'ELECTRONICS_STORE_PRO_URL', esc_url('https://www.themescaliber.com/products/electronic-gadget-wordpress-theme'));
	}
	/* Block Pattern */
	require get_theme_file_path() . '/block-patterns.php';
}
add_action( 'after_setup_theme', 'electronics_gadgets_mysetup' );

function electronics_gadgets_credit_link() {
    echo "<a href=".esc_url(ELECTRONICS_GADGETS_THEME_URL)." target='_blank'>".esc_html__('Electronics Gadgets WordPress Theme','electronics-gadgets')."</a>";
}
/* Implement the get started page */
require get_theme_file_path() . '/inc/dashboard/getstart.php';

// Admin notice code START
function electronics_gadgets_dismissed_notice() {
	update_option( 'electronics_gadgets_admin_notice', true );
}
add_action( 'wp_ajax_electronics_gadgets_dismissed_notice', 'electronics_gadgets_dismissed_notice' );

//After Switch theme function
add_action('after_switch_theme', 'electronics_gadgets_getstart_setup_options');
function electronics_gadgets_getstart_setup_options () {
    update_option('electronics_gadgets_admin_notice', false );
}
// Admin notice code END

// woocommerce page function
add_filter( 'woocommerce_enable_setup_wizard', '__return_false' );