<?php

/**
 * ncmaz Theme Customizer
 *
 * @package ncmaz
 */

/**
 * Add postMessage support for site title and description for the Theme Customizer.
 *
 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
 */
function ncmaz_customize_register($wp_customize)
{
	$wp_customize->get_setting('blogname')->transport         = 'postMessage';
	$wp_customize->get_setting('blogdescription')->transport  = 'postMessage';
	$wp_customize->get_setting('header_textcolor')->transport = 'postMessage';

	if (isset($wp_customize->selective_refresh)) {
		$wp_customize->selective_refresh->add_partial(
			'blogname',
			array(
				'selector'        => '.site-title a',
				'render_callback' => 'ncmaz_customize_partial_blogname',
			)
		);
		$wp_customize->selective_refresh->add_partial(
			'blogdescription',
			array(
				'selector'        => '.site-description',
				'render_callback' => 'ncmaz_customize_partial_blogdescription',
			)
		);
	}
}
add_action('customize_register', 'ncmaz_customize_register');

/**
 * Render the site title for the selective refresh partial.
 *
 * @return void
 */
function ncmaz_customize_partial_blogname()
{
	bloginfo('name');
}

/**
 * Render the site tagline for the selective refresh partial.
 *
 * @return void
 */
function ncmaz_customize_partial_blogdescription()
{
	bloginfo('description');
}

/**
 * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
 */
function ncmaz_customize_preview_js()
{
	wp_enqueue_script('ncmaz-customizer', get_template_directory_uri() . '/js/customizer.js', array('customize-preview'), _NCMAZ_THEME_VERSION, true);
}
add_action('customize_preview_init', 'ncmaz_customize_preview_js');

// 
function ncmaz_theme_add_theme_caps()
{
	global $pagenow;
	$contributorRole = get_role('contributor');

	if ('themes.php' == $pagenow && isset($_GET['activated'])) {
		// Test if theme is active
		$contributorRole->add_cap('upload_files');
	} else {
		$contributorRole->remove_cap('upload_files');
	}
}
add_action('load-themes.php', 'ncmaz_theme_add_theme_caps');

// ==== Allow Contributors to Upload Media =====
// ON THE NEXT TIME UPDATE THEME WILL DELETE THIS ACTION
add_action('admin_init', function () {
	if (current_user_can('contributor') && !current_user_can('upload_files')) {
		$contributorRole = get_role('contributor');
		// 
		$contributorRole->add_cap('upload_files');
	}
});
