<?php
/**
 * Magenta Plus functions and definitions
 *
 * @package Magenta Plus
 */

if ( ! defined( 'MAGENTA_PLUS_VERSION' ) ) {
	// Replace the version number of the theme on each release.
	define( 'MAGENTA_PLUS_VERSION', '1.0.0' );
}

function magenta_plus_setup() {

	load_theme_textdomain( 'magenta-plus', get_template_directory() . '/languages' );
	add_theme_support( 'automatic-feed-links' );
	add_theme_support( 'title-tag' );
	add_theme_support( 'post-thumbnails' );

	register_nav_menus(
		array(
			'menu-1' => esc_html__( 'Primary', 'magenta-plus' ),
			'social-menu' => esc_html__('Social Menu', 'magenta-plus'),
		)
	);

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

	add_theme_support(
		'custom-background',
		apply_filters(
			'magenta_plus_custom_background_args',
			array(
				'default-color' => '#fafafa',
				'default-image' => '',
			)
		)
	);

	add_theme_support( 'customize-selective-refresh-widgets' );

	add_theme_support(
		'custom-logo',
		array(
			'height'      => 250,
			'width'       => 250,
			'flex-width'  => true,
			'flex-height' => true,
		)
	);
	
}
add_action( 'after_setup_theme', 'magenta_plus_setup' );

/**
 * Set the content width in pixels, based on the theme's design and stylesheet.
 *
 * Priority 0 to make it available to lower priority callbacks.
 *
 * @global int $content_width
 */
function magenta_plus_content_width() {
	$GLOBALS['content_width'] = apply_filters( 'magenta_plus_content_width', 640 );
}
add_action( 'after_setup_theme', 'magenta_plus_content_width', 0 );

/**
 * Register widget area.
 *
 * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
 */
function magenta_plus_widgets_init() {
	register_sidebar(
		array(
			'name'          => esc_html__( 'Sidebar', 'magenta-plus' ),
			'id'            => 'sidebar-1',
			'description'   => esc_html__( 'Add widgets here.', 'magenta-plus' ),
			'before_widget' => '<section id="%1$s" class="widget %2$s">',
			'after_widget'  => '</section>',
			'before_title'  => '<h2 class="widget-title">',
			'after_title'   => '</h2>',
		)
	);

	register_sidebar(
		array(
			'name'          => esc_html__( 'Footer 1', 'magenta-plus' ),
			'id'            => 'footer-1',
			'description'   => esc_html__( 'Add widgets here.', 'magenta-plus' ),
			'before_widget' => '<section id="%1$s" class="widget %2$s">',
			'after_widget'  => '</section>',
			'before_title'  => '<h2 class="widget-title">',
			'after_title'   => '</h2>',
		)
	);

	register_sidebar(
		array(
			'name'          => esc_html__( 'Footer 2', 'magenta-plus' ),
			'id'            => 'footer-2',
			'description'   => esc_html__( 'Add widgets here.', 'magenta-plus' ),
			'before_widget' => '<section id="%1$s" class="widget %2$s">',
			'after_widget'  => '</section>',
			'before_title'  => '<h2 class="widget-title">',
			'after_title'   => '</h2>',
		)
	);

	register_sidebar(
		array(
			'name'          => esc_html__( 'Footer 3', 'magenta-plus' ),
			'id'            => 'footer-3',
			'description'   => esc_html__( 'Add widgets here.', 'magenta-plus' ),
			'before_widget' => '<section id="%1$s" class="widget %2$s">',
			'after_widget'  => '</section>',
			'before_title'  => '<h2 class="widget-title">',
			'after_title'   => '</h2>',
		)
	);
}
add_action( 'widgets_init', 'magenta_plus_widgets_init' );


function magenta_plus_social_menu()
    {
        if (has_nav_menu('social-menu')) :
            wp_nav_menu(array(
                'theme_location' => 'social-menu',
                'container' => 'ul',
                'menu_class' => 'social-menu menu',
                'menu_id'  => 'menu-social',
            ));
        endif;
    }

/**
 * Enqueue scripts and styles.
 */
function magenta_plus_scripts() {

	// Load fonts locally
	require_once get_theme_file_path('revolution/inc/wptt-webfont-loader.php');

	$font_families = array(
		'Poppins:wght@100;400;500;600;700',
		'Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700'
	);
	
	$fonts_url = add_query_arg( array(
		'family' => implode( '&family=', $font_families ),
		'display' => 'swap',
	), 'https://fonts.googleapis.com/css2' );

	wp_enqueue_style('magenta-plus-google-fonts', wptt_get_webfont_url(esc_url_raw($fonts_url)), array(), '1.0.0');
	
	// Font Awesome CSS
	wp_enqueue_style('font-awesome-5', get_template_directory_uri() . '/revolution/assets/vendors/font-awesome-5/css/all.min.css', array());

	wp_enqueue_style('owl.carousel.style', get_template_directory_uri() . '/revolution/assets/css/owl.carousel.css', array());
	
	wp_enqueue_style( 'magenta-plus-style', get_stylesheet_uri(), array(), MAGENTA_PLUS_VERSION );

	require get_parent_theme_file_path( '/custom-style.php' );
	wp_add_inline_style( 'magenta-plus-style',$magenta_plus_custom_css );

	wp_enqueue_script( 'magenta-plus-navigation', get_template_directory_uri() . '/js/navigation.js', array(), MAGENTA_PLUS_VERSION, true );

	wp_enqueue_script( 'owl.carousel.jquery', get_template_directory_uri() . '/revolution/assets/js/owl.carousel.js', array(), MAGENTA_PLUS_VERSION, true );

	wp_enqueue_script( 'magenta-plus-custom-js', get_template_directory_uri() . '/revolution/assets/js/custom.js', array('jquery'), MAGENTA_PLUS_VERSION, true );

	if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
		wp_enqueue_script( 'comment-reply' );
	}
}
add_action( 'wp_enqueue_scripts', 'magenta_plus_scripts' );

if (!function_exists('magenta_plus_related_post')) :
    /**
     * Display related posts from same category
     *
     */
    function magenta_plus_related_post($post_id){        
        $categories = get_the_category($post_id);
        if ($categories) {
            $category_ids = array();
            $category = get_category($category_ids);
            $categories = get_the_category($post_id);
            foreach ($categories as $category) {
                $category_ids[] = $category->term_id;
            }
            $count = $category->category_count;
            if ($count > 1) { ?>
                <div class="related-post">
                    
                    <h2 class="post-title"><?php esc_html_e('Related Posts','magenta-plus'); ?></h2>
                    <?php
                    $magenta_plus_cat_post_args = array(
                        'category__in' => $category_ids,
                        'post__not_in' => array($post_id),
                        'post_type' => 'post',
                        'posts_per_page' => 3,
                        'post_status' => 'publish',
                        'ignore_sticky_posts' => true
                    );
                    $magenta_plus_featured_query = new WP_Query($magenta_plus_cat_post_args);
                    ?>
                    <div class="rel-post-wrap">
                        <?php
                        if ($magenta_plus_featured_query->have_posts()) :

                        while ($magenta_plus_featured_query->have_posts()) : $magenta_plus_featured_query->the_post();
                            ?>

							<div class="card-item rel-card-item">
								<?php
									if(has_post_thumbnail()){
									?>

									<div class="card-media"> 
										<a href="<?php the_permalink(); ?>">
											<?php the_post_thumbnail(); ?>
											
										</a>
									</div>
									<?php
									}
								?>
								<div class="card-content">
									<div class="entry-title">
										<h3>
											<a href="<?php the_permalink() ?>">
												<?php the_title(); ?>
											</a>
										</h3>
									</div>
									<div class="entry-meta">
										<?php magenta_plus_posted_on(); ?>
									</div>
								</div>
							</div>
                        <?php
                        endwhile;
                        ?>
                <?php
                endif;
                wp_reset_postdata();
                ?>
                </div>
                <?php
            }
        }
    }
endif;
add_action('magenta_plus_related_posts', 'magenta_plus_related_post', 10, 1);

function magenta_plus_sanitize_choices( $input, $setting ) {
    global $wp_customize; 
    $control = $wp_customize->get_control( $setting->id ); 
    if ( array_key_exists( $input, $control->choices ) ) {
        return $input;
    } else {
        return $setting->default;
    }
}

// Add admin notice
function magenta_plus_admin_notice() { 
    global $pagenow;
    $theme_args      = wp_get_theme();
    $meta            = get_option( 'magenta_plus_admin_notice' );
    $name            = $theme_args->__get( 'Name' );
    $current_screen  = get_current_screen();

    if( !$meta ){
	    if( is_network_admin() ){
	        return;
	    }

	    if( ! current_user_can( 'manage_options' ) ){
	        return;
	    } 
		
		if($current_screen->base != 'appearance_page_magenta_plus_guide' ) { ?>
			<div class="notice notice-success">
				<h2><?php esc_html_e('Hey, Thank you for installing Magenta Plus Theme!', 'magenta-plus'); ?><span><a class="info-link" href="<?php echo esc_url( admin_url( 'themes.php?page=magenta_plus_guide' ) ); ?>"><?php esc_html_e('Click Here for more Details', 'magenta-plus'); ?></a></span></h2>
				<p class="dismiss-link"><strong><a href="?magenta_plus_admin_notice=1"><?php esc_html_e( 'Dismiss', 'magenta-plus' ); ?></a></strong></p>
			</div>
			<?php
		}

	}
}

add_action( 'admin_notices', 'magenta_plus_admin_notice' );

if( ! function_exists( 'magenta_plus_update_admin_notice' ) ) :
/**
 * Updating admin notice on dismiss
*/
function magenta_plus_update_admin_notice(){
    if ( isset( $_GET['magenta_plus_admin_notice'] ) && $_GET['magenta_plus_admin_notice'] = '1' ) {
        update_option( 'magenta_plus_admin_notice', true );
    }
}
endif;
add_action( 'admin_init', 'magenta_plus_update_admin_notice' );


add_action('after_switch_theme', 'magenta_plus_setup_options');
function magenta_plus_setup_options () {
    update_option('magenta_plus_admin_notice', FALSE );
}

/**
 * Checkbox sanitization callback example.
 *
 * Sanitization callback for 'checkbox' type controls. This callback sanitizes `$checked`
 * as a boolean value, either TRUE or FALSE.
 */
function magenta_plus_sanitize_checkbox($checked)
{
    // Boolean check.
    return ((isset($checked) && true == $checked) ? true : false);
}

/**
 * Implement the Custom Header feature.
 */
require get_template_directory() . '/revolution/inc/custom-header.php';

/**
 * Custom template tags for this theme.
 */
require get_template_directory() . '/revolution/inc/template-tags.php';

/**
 * Functions which enhance the theme by hooking into WordPress.
 */
require get_template_directory() . '/revolution/inc/template-functions.php';

/**
 * Customizer additions.
 */
require get_template_directory() . '/revolution/inc/customizer.php';

/**
 * Load Jetpack compatibility file.
 */
if ( defined( 'JETPACK__VERSION' ) ) {
	require get_template_directory() . '/revolution/inc/jetpack.php';
}
/**
 * Load getstart.
 */
require get_template_directory() . '/getstarted/getstarted.php';

define('MAGENTA_PLUS_FREE_SUPPORT',__('https://wordpress.org/support/theme/magenta-plus/','magenta-plus'));
define('MAGENTA_PLUS_REVIEW',__('https://wordpress.org/support/theme/magenta-plus/reviews/#new-post','magenta-plus'));


/**
 * Custom logo
 */

function magenta_plus_custom_css() {
?>
	<style type="text/css" id="custom-theme-colors" >
        :root {
           
            --magenta_plus_logo_width: <?php echo absint(get_theme_mod('magenta_plus_logo_width')); ?> ;   
        }
        .main-header .site-branding {
            max-width:<?php echo esc_html(get_theme_mod('magenta_plus_logo_width')); ?>px ;    
        }         
	</style>
<?php
}
add_action( 'wp_head', 'magenta_plus_custom_css' );


function magenta_plus_remove_customize_register() {
    global $wp_customize;

    $wp_customize->remove_setting( 'display_header_text' );
    $wp_customize->remove_control( 'display_header_text' );

}

add_action( 'customize_register', 'magenta_plus_remove_customize_register', 11 );

