<?php

/**
 * lzrestaurant functions and definitions.
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 * @package lzrestaurant
 */
// Custom template tags for this theme.
require get_template_directory() . '/inc/template-tags.php';
// Custom functions that act independently of the theme templates.
require get_template_directory() . '/inc/extras.php';
// Customizer additions.
require get_template_directory() . '/inc/customizer.php';
// Load Jetpack compatibility file.
require get_template_directory() . '/inc/jetpack.php';
// Implement the Custom Header feature.
require get_template_directory() . '/inc/custom-header.php';

if (!function_exists('lzr_setup')) {

    /**
     * Sets up theme defaults and registers support for various WordPress features.
     * Note that this function is hooked into the after_setup_theme hook, which
     * runs before the init hook. The init hook is too late for some features, such
     * as indicating support for post thumbnails.
     */
    function lzr_setup() {
        /**
         * Enable support for Post Thumbnails on posts and pages.
         * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
         */
        add_theme_support('post-thumbnails');
        add_image_size('lzrestaurant-full-thumb', 768, 0, true);
        /**
         * Make theme available for translation.
         * Translations can be filed in the /languages/ directory.
         * If you're building a theme based on lzrestaurant, use a find and replace
         * to change 'lzrestaurant' to the name of your theme in all the template files.
         */
        load_theme_textdomain('lzrestaurant', get_template_directory() . '/languages');

        /**
         * Let WordPress manage the document title.
         * By adding theme support, we declare that this theme does not use a
         * hard-coded <title> tag in the document head, and expect WordPress to
         * provide it for us.
         */
        add_theme_support('title-tag');

        // Add default posts and comments RSS feed links to head.
        add_theme_support('automatic-feed-links');

        // This theme uses wp_nav_menu() in one location.
        register_nav_menus(array(
            'primary' => esc_html__('Primary', 'lzrestaurant'),
        ));

        /**
         * Switch default core markup for search form, comment form, and comments
         * to output valid HTML5.
         */
        add_theme_support('html5', array(
            'search-form',
            'comment-form',
            'comment-list',
            'gallery',
            'caption',
        ));

        // Set up the WordPress core custom background feature.
        add_theme_support('custom-background', apply_filters('lzr_custom_background_args', array(
            'default-color' => 'ffffff',
            'default-image' => '',
        )));

        // Add custome Logo functionality
        add_theme_support('custom-logo', array(
            'height' => 150,
            'width' => 380,
            'flex-height' => true,
            'flex-width' => true,
        ));
    }

}
add_action('after_setup_theme', 'lzr_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 lzr_content_width() {
    $GLOBALS['content_width'] = apply_filters('lzr_content_width', 640);
}

add_action('after_setup_theme', 'lzr_content_width', 0);

/**
 * Add Custom editor styles
 */
function lzrAddEditorStyles() {
    add_editor_style('css/custom-editor-style.css');
}

add_action('admin_init', 'lzrAddEditorStyles');

/**
 * Load Google Fonts
 */
function lzrGoogleFontsUrl() {
    $fonts_url = '';
    $Lato = _x('on', 'Lato font: on or off', 'lzrestaurant');
    $Montserrat = _x('on', 'Montserrat font: on or off', 'lzrestaurant');
    if ('off' !== $Lato || 'off' !== $Montserrat) {
        $font_families = array();
        if ('off' !== $Lato) {
            $font_families[] = 'Lato:300,400,400i,700';
        }
        if ('off' !== $Montserrat) {
            $font_families[] = 'Montserrat:400,400i,500,600,700';
        }
        $query_args = array(
            'family' => urlencode(implode('|', $font_families)),
            'subset' => urlencode('latin,latin-ext'),
        );
        $fonts_url = add_query_arg($query_args, 'https://fonts.googleapis.com/css');
    }
    return esc_url_raw($fonts_url);
}

function lzr_enqueue_googlefonts() {

    wp_enqueue_style('lzrestaurant-googlefonts', lzrGoogleFontsUrl(), array(), null);
}

add_action('wp_enqueue_scripts', 'lzr_enqueue_googlefonts');

/**
 * Register widget area.
 * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
 */
function lzrWidgetsInit() {
    register_sidebar(array(
        'name' => esc_html__('Sidebar', 'lzrestaurant'),
        'id' => 'top_widget_left',
        'before_widget' => '<div class="top-widgets">',
        'description' => esc_html__('Widgets here will appear in the sidebar', 'lzrestaurant'),
        'after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>',
    ));

    register_sidebar(array(
        'name' => esc_html__('Footer Widget One', 'lzrestaurant'),
        'id' => 'footer_widget_left',
        'before_widget' => '<div class="footer-widgets">',
        'description' => esc_html__('Widgets here will appear in the footer', 'lzrestaurant'),
        'after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>',
    ));

    register_sidebar(array(
        'name' => esc_html__('Footer Widget Two', 'lzrestaurant'),
        'id' => 'footer_widget_middle',
        'description' => esc_html__('Widgets here will appear in the footer', 'lzrestaurant'),
        'before_widget' => '<div class="footer-widgets">',
        'after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>',
    ));

    register_sidebar(array(
        'name' => esc_html__('Footer Widget Three', 'lzrestaurant'),
        'id' => 'footer_widget_right',
        'before_widget' => '<div class="footer-widgets">',
        'after_widget' => '</div>',
        'description' => esc_html__('Widgets here will appear in the footer', 'lzrestaurant'),
        'before_title' => '<h3>',
        'after_title' => '</h3>',
    ));
}

add_action('widgets_init', 'lzrWidgetsInit');

/**
 * Load theme information site css.
 */
function lzr_themepage_css_loop($hook) {
    if ('appearance_page_lzrestaurant-themepage' !== $hook) {
        return;
    }
//	wp_enqueue_style( 'lzrestaurant-tp-css', get_template_directory_uri() . '/css/tp.css', false, '1.0.0' );
}

add_action('admin_enqueue_scripts', 'lzr_themepage_css_loop');

/**
 * Enqueue scripts and styles.
 */
function lzrLoadJs() {
    wp_enqueue_style('lzrestaurant-style', get_stylesheet_uri());
    wp_enqueue_style('bootstrap-css', get_template_directory_uri() . '/css/bootstrap.min.css');
    wp_enqueue_style('font-awesome-css', get_template_directory_uri() . '/css/font-awesome.min.css');
    wp_enqueue_script('navigation-js', get_template_directory_uri() . '/js/navigation.js', array(), '20171125', true);
    wp_enqueue_script('skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20171125', true);
    wp_enqueue_script('lzrestaurant-script', get_template_directory_uri() . '/js/lzrestaurant.js', array('jquery'), false, true);
    if (is_singular() && comments_open() && get_option('thread_comments')) {
        wp_enqueue_script('comment-reply');
    }
}

add_action('wp_enqueue_scripts', 'lzrLoadJs');

if (!function_exists('lzrPostedOn')) {

    /**
     * Prints HTML with meta information for the current post-date/time and author.
     */
    function lzrPostedOn() {
        $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
        if (get_the_time('U') !== get_the_modified_time('U')) {
            $time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
        }
        $time_string = sprintf($time_string, esc_attr(get_the_date('c')), esc_html(get_the_date()), esc_attr(get_the_modified_date('c')), esc_html(get_the_modified_date())
        );
        $posted_on = sprintf(
                esc_html_x(' %s', 'post date', 'lzrestaurant'), '<a href="' . esc_url(get_permalink()) . '" rel="bookmark">' . $time_string . '</a>'
        );

        $byline = sprintf(
                esc_html_x('by %s', 'post author', 'lzrestaurant'), '<span class="author vcard"><a class="url fn n" href="' . esc_url(get_author_posts_url(get_the_author_meta('ID'))) . '">' . esc_html(get_the_author()) . '</a></span>'
        );
        echo '<span class="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.
    }

}
