<?php
/**
 * Theme Hook Alliance hook stub list.
 *
 * @package  inspirelite
 * @version  1.0
 * @since    1.0
 * @license  http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU General Public License, v2 (or newer)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * Themes and Plugins can check for inspirelite_hooks using current_theme_supports( 'inspirelite_hooks', $hook )
 * to determine whether a theme declares itself to support this specific hook type.
 *
 * Example:
 * <code>
 * 		// Declare support for all hook types
 * 		add_theme_support( 'inspirelite_hooks', array( 'all' ) );
 *
 * 		// Declare support for certain hook types only
 * 		add_theme_support( 'inspirelite_hooks', array( 'header', 'content', 'footer' ) );
 * </code>
 */
add_theme_support( 'inspirelite_hooks', array(

	/**
	 * As a Theme developer, use the 'all' parameter, to declare support for all
	 * hook types.
	 * Please make sure you then actually reference all the hooks in this file,
	 * Plugin developers depend on it!
	 */
	'all',

	/**
	 * Themes can also choose to only support certain hook types.
	 * Please make sure you then actually reference all the hooks in this type
	 * family.
	 *
	 * When the 'all' parameter was set, specific hook types do not need to be
	 * added explicitly.
	 */
	'html',
	'body',
	'head',
	'header',
	'content',
	'entry',
	'comments',
	'sidebars',
	'sidebar',
	'footer',

	/**
	 * If/when WordPress Core implements similar methodology, Themes and Plugins
	 * will be able to check whether the version of THA supplied by the theme
	 * supports Core hooks.
	 */
	//'core',
) );

/**
 * Determines, whether the specific hook type is actually supported.
 *
 * Plugin developers should always check for the support of a <strong>specific</strong>
 * hook type before hooking a callback function to a hook of this type.
 *
 * Example:
 * <code>
 * 		if ( current_theme_supports( 'inspirelite_hooks', 'header' ) )
 * 	  		add_action( 'inspirelite_head_top', 'prefix_header_top' );
 * </code>
 *
 * @param bool $bool true
 * @param array $args The hook type being checked
 * @param array $registered All registered hook types
 *
 * @return bool
 */
function inspirelite_current_theme_supports( $bool, $args, $registered ) {
	return in_array( $args[0], $registered[0] ) || in_array( 'all', $registered[0] );
}
add_filter( 'current_theme_supports-inspirelite_hooks', 'inspirelite_current_theme_supports', 10, 3 );

/**
 * HTML <html> hook
 * Special case, useful for <DOCTYPE>, etc.
 * $inspirelite_supports[] = 'html;
 */
function inspirelite_html_before() {
	do_action( 'inspirelite_html_before' );
}
/**
 * HTML <body> hooks
 * $inspirelite_supports[] = 'body';
 */
function inspirelite_body_top() {
	do_action( 'inspirelite_body_top' );
}

function inspirelite_body_bottom() {
	do_action( 'inspirelite_body_bottom' );
}

function inspirelite_body(){
	do_action( 'inspirelite_body' );
}

/**
 * HTML <head> hooks
 *
 * $inspirelite_supports[] = 'head';
 */
function inspirelite_head_top() {
	do_action( 'inspirelite_head_top' );
}

function inspirelite_head_bottom() {
	do_action( 'inspirelite_head_bottom' );
}

function inspirelite_head(){
	do_action( 'inspirelite_head' );
}

/**
 * Semantic <header> hooks
 *
 * $inspirelite_supports[] = 'header';
 */
function inspirelite_header_before() {
	do_action( 'inspirelite_header_before' );
}

function inspirelite_header_after() {
	do_action( 'inspirelite_header_after' );
}

function inspirelite_header() {
	do_action( 'inspirelite_header' );
}

/**
 * Semantic <content> hooks
 *
 * $inspirelite_supports[] = 'content';
 */
function inspirelite_content_before() {
	do_action( 'inspirelite_content_before' );
}

function inspirelite_content_after() {
	do_action( 'inspirelite_content_after' );
}

function inspirelite_content_top() {
	do_action( 'inspirelite_content_top' );
}

function inspirelite_content_bottom() {
	do_action( 'inspirelite_content_bottom' );
}

function inspirelite_content_while_before() {
	do_action( 'inspirelite_content_while_before' );
}

function inspirelite_content_while_after() {
	do_action( 'inspirelite_content_while_after' );
}

/**
 * Semantic <entry> hooks
 *
 * $inspirelite_supports[] = 'entry';
 */
function inspirelite_entry_before() {
	do_action( 'inspirelite_entry_before' );
}

function inspirelite_entry_after() {
	do_action( 'inspirelite_entry_after' );
}

function inspirelite_entry_content_before() {
	do_action( 'inspirelite_entry_content_before' );
}

function inspirelite_entry_content_after() {
	do_action( 'inspirelite_entry_content_after' );
}

function inspirelite_entry_top() {
	do_action( 'inspirelite_entry_top' );
}

function inspirelite_entry_bottom() {
	do_action( 'inspirelite_entry_bottom' );
}

function inspirelite_blog_entry(){
	do_action( 'inspirelite_blog_entry' );
}

/**
 * Comments block hooks
 *
 * $inspirelite_supports[] = 'comments';
 */
function inspirelite_comments_before() {
	do_action( 'inspirelite_comments_before' );
}

function inspirelite_comments_after() {
	do_action( 'inspirelite_comments_after' );
}

/**
 * Semantic <sidebar> hooks
 *
 * $inspirelite_supports[] = 'sidebar';
 */
function inspirelite_sidebars_before() {
	do_action( 'inspirelite_sidebars_before' );
}

function inspirelite_sidebars_after() {
	do_action( 'inspirelite_sidebars_after' );
}

function inspirelite_sidebar_top() {
	do_action( 'inspirelite_sidebar_top' );
}

function inspirelite_sidebar_bottom() {
	do_action( 'inspirelite_sidebar_bottom' );
}

/**
 * Semantic <footer> hooks
 *
 * $inspirelite_supports[] = 'footer';
 */
function inspirelite_footer_before() {
	do_action( 'inspirelite_footer_before' );
}

function inspirelite_footer_after() {
	do_action( 'inspirelite_footer_after' );
}

function inspirelite_footer_top() {
	do_action( 'inspirelite_footer_top' );
}

function inspirelite_footer_bottom() {
	do_action( 'inspirelite_footer_bottom' );
}

/**
 * Semantic <masthead> hooks
 *
 * $inspirelite_supports[] = 'masthead';
 */
function inspirelite_masthead_top(){
	do_action( 'inspirelite_masthead_top' );
}

function inspirelite_masthead(){
	do_action( 'inspirelite_masthead' );
}

function inspirelite_masthead_bottom(){
	do_action( 'inspirelite_masthead_bottom' );
}

/**
 * Semantic <headerbar> hooks
 *
 * $inspirelite_supports[] = 'headerbar';
 */
function inspirelite_main_header_bar_top(){
	do_action( 'inspirelite_main_header_bar_top' );
}

function inspirelite_masthead_content(){
	do_action( 'inspirelite_masthead_content' );
}

function inspirelite_main_header_bar_bottom(){
	do_action( 'inspirelite_main_header_bar_bottom' );
}

/**
 * Semantic <Menubar> hooks
 *
 * $inspirelite_supports[] = 'Menubar';
 */
function inspirelite_main_menubar_before(){
	do_action( 'inspirelite_main_menubar_before' );
}

function inspirelite_main_menubar_after(){
	do_action( 'inspirelite_main_menubar_after' );
}

/**
 * Semantic <Menubar> hooks
 *
 * $inspirelite_supports[] = 'Menubar';
 */
function inspirelite_branding_render_before(){
	do_action( 'inspirelite_branding_render_before' );
}

function inspirelite_branding_render_after(){
	do_action( 'inspirelite_branding_render_after' );
}

/**
 *  Post Blog Loop
 */

function inspirelite_primary_content_top(){
	do_action( 'inspirelite_primary_content_top' );
}

function inspirelite_content_loop(){
	do_action( 'inspirelite_content_loop' );
}

function inspirelite_primary_content_bottom(){
	do_action( 'inspirelite_primary_content_bottom' );
}

/**
 *  Footer Hook
 */

function inspirelite_footer(){
	do_action( 'inspirelite_footer' );
}
function inspirelite_footer_content_top(){
	do_action( 'inspirelite_footer_content_top' );
}
function inspirelite_footer_content(){
	do_action( 'inspirelite_footer_content' );
}
function inspirelite_footer_content_bottom(){
	do_action( 'inspirelite_footer_content_bottom' );
}


function inspirelite_footer_widget_area_top(){
	do_action( 'inspirelite_footer_widget_area_top' );
}
function inspirelite_footer_widget(){
	do_action( 'inspirelite_footer_widget' );
}
function inspirelite_footer_widget_area_bottom(){
	do_action( 'inspirelite_footer_widget_area_bottom' );
}


function inspirelite_blog_post_content(){
	do_action( 'inspirelite_blog_post_content' );
}

function inspirelite_entry_content(){
	do_action( 'inspirelite_entry_content' );
}