<?php

/**
 * Custom functions / External files
 */

require_once 'functions/example.php';



/**
 * Add support for useful stuff
 */

if (function_exists('add_theme_support')) {
    // Add support for document title tag
    add_theme_support('title-tag');

    // Add Thumbnail Theme Support
    add_theme_support('post-thumbnails');
    // add_image_size( 'custom-size', 700, 200, true );

    // Add Support for post formats
    // add_theme_support( 'post-formats', ['post'] );
    // add_post_type_support( 'page', 'excerpt' );

    // Localisation Support
    load_theme_textdomain('barebones', get_template_directory() . '/languages');
}



/**
 * Remove junk
 */

define('ICL_DONT_LOAD_LANGUAGE_SELECTOR_CSS', true);
define('ICL_DONT_LOAD_LANGUAGES_JS', true);

add_filter('show_admin_bar', '__return_false');

remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

function barebones_remove_comments_rss($for_comments)
{
    return;
}

add_filter('post_comments_feed_link', 'barebones_remove_comments_rss');



/**
 * jQuery the right way
 */

function barebones_scripts()
{
    /*
     * For IE8 to play nice, you'll need to include your CSS here, for example:
     */
    // wp_enqueue_style( 'fonts', '//fonts.googleapis.com/css?family=Font+Family' );
    // wp_enqueue_style( 'icons', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' );
    wp_deregister_script('jquery');
    wp_register_script('jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js', false, '1.11.3', true);
    wp_enqueue_script('jquery');
    wp_enqueue_script('script', get_stylesheet_directory_uri() . '/js/script.min.js?' . filemtime(get_stylesheet_directory() . '/js/script.min.js'), ['jquery'], null, true);
}

add_action('wp_enqueue_scripts', 'barebones_scripts');



/**
 * Nav menus
 */

if (function_exists('register_nav_menus')) {
    register_nav_menus([
        'header' => 'Header',
        'footer' => 'Footer'
    ]);
}

function barebones_nav_menu_args($args = '')
{
    $args['container']       = false;
    $args['container_class'] = false;
    $args['menu_id']         = false;
    $args['items_wrap']      = '<ul class="%2$s">%3$s</ul>';

    return $args;
}

add_filter('wp_nav_menu_args', 'barebones_nav_menu_args');



/**
 * Email
 */

function barebones_mail_from($email)
{
    return get_option('admin_email');
}

add_filter('wp_mail_from', 'barebones_mail_from');


function barebones_mail_from_name($name)
{
    return get_bloginfo('name');
}

add_filter('wp_mail_from_name', 'barebones_mail_from_name');



/**
 * Shortcodes ([button] shortcode included)
 */

function button_shortcode($atts, $content = null)
{
    $atts['class']  = isset($atts['class']) ? $atts['class'] : 'btn';

    return '<a class="' . $atts['class'] . '" href="' . $atts['link'] . '">' . $content . '</a>';
}

add_shortcode('button', 'button_shortcode');



/**
 * TinyMCE
 */

function barebones_mce_buttons_2($buttons)
{
    array_unshift($buttons, 'styleselect');
    $buttons[] = 'hr';

    return $buttons;
}

add_filter('mce_buttons_2', 'barebones_mce_buttons_2');


function barebones_tiny_mce_before_init($settings)
{
    $style_formats = [
        // [
        //     'title'    => '',
        //     'selector' => '',
        //     'classes'  => ''
        // ]
    ];

    $settings['style_formats'] = json_encode($style_formats);
    $settings['style_formats_merge'] = true;

    return $settings;
}

add_filter('tiny_mce_before_init', 'barebones_tiny_mce_before_init');

/**
 * Get post thumbnail url
 * @param   string    $size    Size of the returned image
 * @param   int       $post_id post id
 * @param   boolean   $icon    if no image found, display icon
 */
function get_post_thumbnail_url( $size = 'full', $post_id = false, $icon = false )
{
    if(!$post_id) {
        $post_id = get_the_ID();
    }

    $thumb_url_array = wp_get_attachment_image_src(get_post_thumbnail_id( $post_id ), $size, $icon);
    return $thumb_url_array[0];
}