<?php

 /**

 * Enable support for Post Thumbnails on posts and pages.

 *

 * @param  

 * @return mixed|string

 */

    add_theme_support('post-thumbnails');

    /* Set the image size by cropping the image */

    add_image_size('post-thumbnail', 250, 250, true);
    add_image_size( 'post-thumbnail-large', 750, 500, true ); /* blog thumbnail */
    add_image_size( 'post-thumbnail-large-table', 600, 300, true ); /* blog thumbnail for table */
    add_image_size( 'post-thumbnail-large-mobile', 400, 200, true ); /* blog thumbnail for mobile */

/*
 * Custom header menu
 *
*/

add_action( 'after_setup_theme', 'register_theme_menu' );
function register_theme_menu() {
  register_nav_menu( 'primary', __( 'Primary Menu', 'oneline' ) );
}



    function th_nav_menu(){
        wp_nav_menu( array('theme_location' => 'primary', 
        'container' => false, 
            'menu_class' => 'sf-menu', 
            'menu_id'         => 'menu',
            'fallback_cb'     => 'th_wp_page_menu'));
    }



   function th_wp_page_menu()

{
    echo '<ul class="sf-menu" id="menu">';
    wp_list_pages(array('title_li' => ''));
    echo '</ul>';
}


// post content image thumbnail

function th_post_image($width, $height) {

    $w = $width;
    $h = $height;
    global $post;

    //This is required to set to Null

    $img_source = '';
    $permalink = get_permalink($post->ID);
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);

    if (isset($matches [1] [0])) {
        $img_source = $matches [1] [0];
    }

    if($img_source!=''){
    $img_path = th_image_resize($img_source, $w, $h);

    if (!empty($img_path['url'])) {
        print "<a href='$permalink'><img src='$img_path[url]' class='postimg' alt='Post Image'/></a>";
    }

        }

}

/*

 * Blog page  pagination 

 *

 */

function th_pagination($pages = '', $range =2) {

    $showitems = ($range * 2) + 1;

    global $paged;

    if (empty($paged))

        $paged = 1;

    if ($pages == '') {

        global $wp_query;

        $pages = $wp_query->max_num_pages;

        if (!$pages) {

            $pages = 1;

        }

    }

    if (1 != $pages) {

        echo "<ul class='paging'>";

        if ($paged > 2 && $paged > $range + 1 && $showitems < $pages)

            echo "<li class ='nav-previous'><a href='" . get_pagenum_link(1) . "'>&laquo;</a></li>";

        if ($paged > 1 && $showitems < $pages)

            echo "<li><a href='" . get_pagenum_link($paged - 1) . "'><i class = 'fa fa-angle-left'></i></a></li>";

        for ($i = 1; $i <= $pages; $i++) {

            if (1 != $pages && (!($i >= $paged + $range + 1 || $i <= $paged - $range - 1) || $pages <= $showitems )) {

                echo ($paged == $i) ? "<li><a href='" . get_pagenum_link($i) . "' class='current' >" . $i . "</a></li>" : "<li><a href='" . get_pagenum_link($i) . "' class='inactive' >" . $i . "</a></li>";

            }

        }



        if ($paged < $pages && $showitems < $pages)

            echo "<li><a href='" . get_pagenum_link($paged + 1) . "'><i class = 'fa fa-angle-right'></i></a></li>";

        if ($paged < $pages - 1 && $paged + $range - 1 < $pages && $showitems < $pages)

            echo "<li class = 'nav-next'><a href='" . get_pagenum_link($pages) . "'>&raquo;</a></li>";

        echo "</ul>\n";

    }

}





/**

 * Display navigation to next/previous post when applicable.

 *

 * @since ThemeHunk 1.0

 */



if ( ! function_exists( 'th_post_nav' ) ) :

function th_post_nav() {

    // Don't print empty markup if there's nowhere to navigate.



    $previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );

    $next     = get_adjacent_post( false, '', false );

    if ( ! $next && ! $previous ) {

        return;

    }

    ?>

    <nav class="navigation post-navigation" role="navigation">

        <h1 class="screen-reader-text"><?php _e( 'Post navigation', 'oneline' ); ?></h1>

        <div class="nav-links">

           <?php

            if ( is_attachment() ) :

                previous_post_link( '%link', __( '<span class="meta-nav">Published In</span>', 'oneline' ) );

            else :

                previous_post_link( '%link', __( '<span class="meta-nav">Previous Post</span>', 'oneline' ) );

                next_post_link( '%link', __( '<span class="meta-nav">Next Post</span>', 'oneline' ) );

                //%title

            endif;

            ?>

        </div><!-- .nav-links -->

    </nav><!-- .navigation -->

    <?php

}

endif;



/**

 * Display breadcrumb post/page.

 *

 * @since ThemeHunk 1.0

 */

function th_breadcrumb() {
 
    /* === OPTIONS === */
    $text['home']     = 'Home'; // text for the 'Home' link
    $text['category'] = 'Archive by Category "%s"'; // text for a category page
    $text['search']   = 'Search Results for "%s" Query'; // text for a search results page
    $text['tag']      = 'Posts Tagged "%s"'; // text for a tag page
    $text['author']   = 'Articles Posted by %s'; // text for an author page
    $text['404']      = 'Error 404'; // text for the 404 page
 
    $show_current   = 1; // 1 - show current post/page/category title in breadcrumbs, 0 - don't show
    $show_on_home   = 0; // 1 - show breadcrumbs on the homepage, 0 - don't show
    $show_home_link = 1; // 1 - show the 'Home' link, 0 - don't show
    $show_title     = 1; // 1 - show the title for the links, 0 - don't show
    $delimiter      = ' &raquo; '; // delimiter between crumbs
    $before         = '<span class="current">'; // tag before the current crumb
    $after          = '</span>'; // tag after the current crumb
    /* === END OF OPTIONS === */
 
    global $post;
    $home_link    = home_url('/');
    $link_before  = '<span typeof="v:Breadcrumb">';
    $link_after   = '</span>';
    $link_attr    = ' rel="v:url" property="v:title"';
    $link         = $link_before . '<a' . $link_attr . ' href="%1$s">%2$s</a>' . $link_after;
    $parent_id    = $parent_id_2 = $post->post_parent;
    $frontpage_id = get_option('page_on_front');
 
    if (is_home() || is_front_page()) {
 
        if ($show_on_home == 1) echo '<div class="breadcrumbs"><a href="' . $home_link . '">' . $text['home'] . '</a></div>';
 
    } else {
  /*  xmlns:v="http://rdf.data-vocabulary.org/#"*/
        echo '<div class="breadcrumbs" >';
        if ($show_home_link == 1) {
            echo '<a href="' . $home_link . '" rel="v:url" property="v:title">' . $text['home'] . '</a>';
            if ($frontpage_id == 0 || $parent_id != $frontpage_id) echo $delimiter;
        }
 
        if ( is_category() ) {
            $this_cat = get_category(get_query_var('cat'), false);
            if ($this_cat->parent != 0) {
                $cats = get_category_parents($this_cat->parent, TRUE, $delimiter);
                if ($show_current == 0) $cats = preg_replace("#^(.+)$delimiter$#", "$1", $cats);
                $cats = str_replace('<a', $link_before . '<a' . $link_attr, $cats);
                $cats = str_replace('</a>', '</a>' . $link_after, $cats);
                if ($show_title == 0) $cats = preg_replace('/ title="(.*?)"/', '', $cats);
                echo $cats;
            }
            if ($show_current == 1) echo $before . sprintf($text['category'], single_cat_title('', false)) . $after;
 
        } elseif ( is_search() ) {
            echo $before . sprintf($text['search'], get_search_query()) . $after;
 
        } elseif ( is_day() ) {
            echo sprintf($link, get_year_link(get_the_time('Y')), get_the_time('Y')) . $delimiter;
            echo sprintf($link, get_month_link(get_the_time('Y'),get_the_time('m')), get_the_time('F')) . $delimiter;
            echo $before . get_the_time('d') . $after;
 
        } elseif ( is_month() ) {
            echo sprintf($link, get_year_link(get_the_time('Y')), get_the_time('Y')) . $delimiter;
            echo $before . get_the_time('F') . $after;
 
        } elseif ( is_year() ) {
            echo $before . get_the_time('Y') . $after;
 
        } elseif ( is_single() && !is_attachment() ) {
            if ( get_post_type() != 'post' ) {
                $post_type = get_post_type_object(get_post_type());
                $slug = $post_type->rewrite;
                printf($link, $home_link . '/' . $slug['slug'] . '/', $post_type->labels->singular_name);
                if ($show_current == 1) echo $delimiter . $before . get_the_title() . $after;
            } else {
                $cat = get_the_category(); $cat = $cat[0];
                $cats = get_category_parents($cat, TRUE, $delimiter);
                if ($show_current == 0) $cats = preg_replace("#^(.+)$delimiter$#", "$1", $cats);
                $cats = str_replace('<a', $link_before . '<a' . $link_attr, $cats);
                $cats = str_replace('</a>', '</a>' . $link_after, $cats);
                if ($show_title == 0) $cats = preg_replace('/ title="(.*?)"/', '', $cats);
                echo $cats;
                if ($show_current == 1) echo $before . get_the_title() . $after;
            }
 
        } elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
            $post_type = get_post_type_object(get_post_type());
            echo $before . $post_type->labels->singular_name . $after;
 
        } elseif ( is_attachment() ) {
            $parent = get_post($parent_id);
            $cat = get_the_category($parent->ID); $cat = $cat[0];
            $cats = get_category_parents($cat, TRUE, $delimiter);
            $cats = str_replace('<a', $link_before . '<a' . $link_attr, $cats);
            $cats = str_replace('</a>', '</a>' . $link_after, $cats);
            if ($show_title == 0) $cats = preg_replace('/ title="(.*?)"/', '', $cats);
            echo $cats;
            printf($link, get_permalink($parent), $parent->post_title);
            if ($show_current == 1) echo $delimiter . $before . get_the_title() . $after;
 
        } elseif ( is_page() && !$parent_id ) {
            if ($show_current == 1) echo $before . get_the_title() . $after;
 
        } elseif ( is_page() && $parent_id ) {
            if ($parent_id != $frontpage_id) {
                $breadcrumbs = array();
                while ($parent_id) {
                    $page = get_page($parent_id);
                    if ($parent_id != $frontpage_id) {
                        $breadcrumbs[] = sprintf($link, get_permalink($page->ID), get_the_title($page->ID));
                    }
                    $parent_id = $page->post_parent;
                }
                $breadcrumbs = array_reverse($breadcrumbs);
                for ($i = 0; $i < count($breadcrumbs); $i++) {
                    echo $breadcrumbs[$i];
                    if ($i != count($breadcrumbs)-1) echo $delimiter;
                }
            }
            if ($show_current == 1) {
                if ($show_home_link == 1 || ($parent_id_2 != 0 && $parent_id_2 != $frontpage_id)) echo $delimiter;
                echo $before . get_the_title() . $after;
            }
 
        } elseif ( is_tag() ) {
            echo $before . sprintf($text['tag'], single_tag_title('', false)) . $after;
 
        } elseif ( is_author() ) {
            global $author;
            $userdata = get_userdata($author);
            echo $before . sprintf($text['author'], $userdata->display_name) . $after;
 
        } elseif ( is_404() ) {
            echo $before . $text['404'] . $after;
        }
 
        if ( get_query_var('paged') ) {
            if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
            echo __('Page','oneline') . ' ' . get_query_var('paged');
            if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
        }
 
        echo '</div><!-- .breadcrumbs -->';
 
    }
}



/**

 * The Gallery shortcode.

 *

 * This implements the functionality of the Gallery Shortcode for displaying

 * WordPress images on a post.

 *

 * @param array $attr Attributes of the shortcode.

 * @return string HTML content to display gallery.

 */

//remove_shortcode('gallery');

//add_shortcode('gallery', 'th_gallery_shortcode');



function t1h_gallery_shortcode($attr) {

    $post = get_post();

    static $instance = 0;

    $instance++;

    if (!empty($attr['ids'])) {

        // 'ids' is explicitly ordered, unless you specify otherwise.



        if (empty($attr['orderby']))

            $attr['orderby'] = 'post__in';

        $attr['include'] = $attr['ids'];

    }



    // Allow plugins/themes to override the default gallery template.

    $output = apply_filters('post_gallery', '', $attr);

    if ($output != '')

        return $output;



    // We're trusting author input, so let's at least make sure it looks like a valid orderby statement

    if (isset($attr['orderby'])) {

        $attr['orderby'] = sanitize_sql_orderby($attr['orderby']);

        if (!$attr['orderby'])

         unset($attr['orderby']);

    }



    extract(shortcode_atts(array(

        'order' => 'ASC',

        'orderby' => 'menu_order ID',

        'id' => $post->ID,

        'itemtag' => 'dl',

        'icontag' => 'dt',

        'captiontag' => 'dd',

        'columns' => 3,

        'size' => 'thumbnail',

        'include' => '',

        'exclude' => ''

         ), $attr));

   $id = intval($id);

    if ('RAND' == $order)

        $orderby = 'none';

    if (!empty($include)) {

        $_attachments = get_posts(array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby));

        $attachments = array();

        foreach ($_attachments as $key => $val) {

            $attachments[$val->ID] = $_attachments[$key];

        }

    } elseif (!empty($exclude)) {

        $attachments = get_children(array('post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby));

    } else {

        $attachments = get_children(array('post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby));

    }

    if (empty($attachments))

        return '';

    if (is_feed()) {

        $output = "\n";

        foreach ($attachments as $att_id => $attachment)

            $output .= wp_get_attachment_link($att_id, $size, true) . "\n";

        return $output;

    }

    $itemtag = tag_escape($itemtag);

    $captiontag = tag_escape($captiontag);

    $columns = intval($columns);

    $itemwidth = $columns > 0 ? floor(100 / $columns) : 100;

    $float = is_rtl() ? 'right' : 'left';

    $selector = "gallery-{$instance}";

    ?>

    <script>

    //Gallery

    //Prety Photo     

 jQuery.noConflict();

 jQuery(document).ready(function(){

jQuery(".gallery a[rel^='prettyPhoto']").prettyPhoto({

   animation_speed:'normal',

    theme:'light_rounded',

    slideshow:8000, 

    autoplay_slideshow: true,

    show_title: true,

    allow_resize: true,

    });



});

    </script>



    <?php

    $gallery_style = $gallery_div = '';

    if (apply_filters('use_default_gallery_style', true))

        $gallery_style = "

        <style type='text/css'>

            #{$selector} {

                margin: auto;

            }

            #{$selector} .gallery-item {

                float: {$float};

                margin-top: 10px;

                text-align: center;

                width: {$itemwidth}%;

            }

            #{$selector} img {

            }

            #{$selector} .gallery-caption {

                margin-left: 0;



            }

        </style>

        <!-- see gallery_shortcode() in wp-includes/media.php -->";

    $size_class = sanitize_html_class($size);

    $gallery_div = "<div id='$selector' class='$selector gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>";

   // $gallery_ul = "<ul class='thumbnail col-{$columns}'>";

    $output = apply_filters('gallery_style', $gallery_style . "\n\t\t" . $gallery_div );

    $i = 0;



    foreach ($attachments as $gallery_image) {

        $attachment_img = wp_get_attachment_url($gallery_image->ID);

        $img_source = th_image_resize($attachment_img, 218, 168);

        $output .= "<figure class='gallery-item' ><div class='gallery-icon landscape'>";      

        $output .= '<a rel="prettyPhoto[gallery2]" title="'.$gallery_image->post_excerpt.'" alt="' . $gallery_image->post_excerpt . '" href="' .        $attachment_img . '">';

        $output .= '<span>';

        $output .= '</span>';

        $output .= '<img src="' . $img_source['url'] . '" alt="" class="attachment-thumbnail"/>';      

        $output .= '</a>';

        $output .= "<br style='clear: both;' />";

        $output .= '<h2><a alt="' . $gallery_image->post_excerpt . '" <a class="gall-content"  href="' . '?attachment_id=' . $gallery_image->ID . '">';

        $output .= $gallery_image->post_excerpt;

        $output .= '</a></h2>';

        $output .= "</div></figure>";

    }

    $output .= " </div>" ;

    return $output;

}



/**

 * custom post excerpt

 *

 */

function get_th_custom_excerpt(){

$excerpt = get_the_content();

$excerpt = preg_replace(" (\[.*?\])",'',$excerpt);

$excerpt = strip_shortcodes($excerpt);

$excerpt = strip_tags($excerpt);

$excerpt = substr($excerpt, 0, 100);

$excerpt = substr($excerpt, 0, strripos($excerpt, " "));

$excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt));

return $excerpt;

}

 ?>