<?php
/**
 * Additional features to allow styling of the templates
 *
 */

 /*-----------------------------------------------------------------------------------*/
 /* Extends the default WordPress body classes
 /*-----------------------------------------------------------------------------------*/
 function pirate_rogue_body_class( $classes ) {
     	$classes[] = 'uku-standard';
	 
        if ('colorful' != get_theme_mod( 'pirate_rogue_socialmedia_style' ) ) {
            $classes[] = 'socialmedia-'.get_theme_mod( 'pirate_rogue_socialmedia_style' );
	}
        if ('darkcolor' != get_theme_mod( 'pirate_rogue_search_overlay_backgroundcolor' ) ) {
            $classes[] = 'searchbar-'.get_theme_mod( 'pirate_rogue_search_overlay_backgroundcolor' );
	}
        
	 
	 // If no sidebar for pages defined, make the page without sidebar ;)
	$pirate_rogue_page_sidebar  = get_post_meta(  get_the_ID(), 'pirate_rogue_page_sidebar', true );
	 if ( is_page() &&  !is_active_sidebar( 'sidebar-2' ) && (empty($pirate_rogue_page_sidebar)) ) {
		 $classes[] = 'no-sidebar';
	 }
	 if (('' != get_theme_mod( 'pirate_rogue_front_hideauthor' ) ) || ('' != get_theme_mod( 'pirate_rogue_all_hideauthor' ) )) {
             $classes[] = 'no-author';
         }
	 
	 if ( '' != get_the_post_thumbnail ()) {
		 $classes[] = 'has-thumb';
	 }
	 if ( has_header_image() ) {
		 $classes[] = 'headerimg-on';
	 }
	 if ( '' != get_theme_mod( 'pirate_rogue_hidecomments' ) ) {
		 $classes[] = 'toggledcomments';
	 }
	 if ( '' != get_theme_mod( 'uku_customlogo' ) ) {
		 $classes[] = 'custom-logo-on';
	 }
	 if ( '' != get_theme_mod( 'pirate_rogue_hidetagline' ) ) {
		 $classes[] = 'hide-tagline';
	 }
	 if ('sidebar-left' == get_theme_mod( 'pirate_rogue_sidebar' ) ) {
		 $classes[] = 'sidebar-left';
	 }
	 if ( is_page_template( 'page-templates/no-sidebar.php' ) ) {
		 $classes[] = 'no-sidebar';
	 }
	 if ('sidebar-no' == get_theme_mod( 'pirate_rogue_sidebar' ) ) {
		 $classes[] = 'no-sidebar';
	 }
	 if (is_single() && 'sidebar-no-single' == get_theme_mod( 'pirate_rogue_sidebar_hide' ) ) {
		 $classes[] = 'no-sidebar';
	 }
	 if (is_front_page() && 'sidebar-no-front' == get_theme_mod( 'pirate_rogue_sidebar_hide' ) ) {
		 $classes[] = 'no-sidebar';
	 }
	 if ('sidebar-no' == get_theme_mod( 'pirate_rogue_sidebar_hide' ) ) {
		 $classes[] = 'no-sidebar';
	 }
	 if ('' != get_theme_mod( 'pirate_rogue_featuredtag' )  || '' != get_theme_mod( 'pirate_rogue_featuredcat' ) ) {
		 $classes[] = 'slider-on';
	 }
	 if ('slider-boxed' == get_theme_mod( 'pirate_rogue_sliderstyle' ) ) {
		 $classes[] = 'slider-boxed';
	 }
         if (('' != get_theme_mod( 'pirate_rogue_slider_autoplay' )) && (true== get_theme_mod( 'pirate_rogue_slider_autoplay' )) ) {
		 $classes[] = 'slider-autoplay';
	 } else {
              $classes[] = 'slider-noplay';
         }
         
         
          
	 if ('slider-fullscreen' == get_theme_mod( 'pirate_rogue_sliderstyle' ) ) {
		 $classes[] = 'slider-fullscreen';
	 }
	 if ('slider-fade' == get_theme_mod( 'pirate_rogue_slideranimation' ) ) {
		 $classes[] = 'slider-fade';
	 }
	 if ('header-boxed' == get_theme_mod( 'pirate_rogue_headerstyle' ) ) {
		 $classes[] = 'header-boxed';
	 }
	 if ('header-fullscreen' == get_theme_mod( 'pirate_rogue_headerstyle' ) ) {
		 $classes[] = 'header-fullscreen';
	 }
	 if ('dark' == get_theme_mod( 'pirate_rogue_fixedheader' ) ) {
		 $classes[] = 'hide-header-sticky';
	 }

	 if ( ! is_active_sidebar( 'sidebar-offcanvas' ) ) {
		 $classes[] = 'offcanvas-widgets-off';
	 }
	 if (is_single()) {
	    if ( comments_open() && '' != get_theme_mod ( 'pirate_rogue_hidecomments' ) && '0' == get_comments_number() ) {
		    $classes[] = 'comments-show';
	    }
	 }

	 // Option to add body classes via custom fields
        if (  get_post_meta( get_the_ID(), 'pirate_rogue_canonical', true ) ) {
            $classes[] = 'is-mirror';
        }
	 if ( get_post_meta( get_the_ID(), 'sidebar-left', true ) ) {
		 $classes[] = 'sidebar-left';
	 }
	 if ( get_post_meta( get_the_ID(), 'no-sidebar', true ) ) {
		 $classes[] = 'no-sidebar';
	 }
	 if ( get_post_meta( get_the_ID(), 'header-fullscreen', true ) ) {
		 $classes[] = 'header-fullscreen';
	 }
	 if ( get_post_meta( get_the_ID(), 'header-boxed', true ) ) {
		 $classes[] = 'header-boxed';
	 }
	 if ( get_post_meta( get_the_ID(), 'slider-boxed', true ) ) {
		 $classes[] = 'slider-boxed';
	 }
	 if ( get_post_meta( get_the_ID(), 'slider-fullscreen', true ) ) {
		 $classes[] = 'slider-fullscreen';
	 }
	 if ( get_post_meta( get_the_ID(), 'slider-on', true ) ) {
		 $classes[] = 'slider-on';
	 }
         
         
         
         
	 if ( get_post_meta( get_the_ID(), 'headerimg-on', true ) ) {
		 $classes[] = 'headerimg-on';
	 }
	 if ( get_post_meta( get_the_ID(), 'blog', true ) ) {
		 $classes[] = 'blog';
	 }
	 if ( get_post_meta( get_the_ID(), 'headerfont-light', true ) ) {
		 $classes[] = 'headerfont-light';
	 }
	 if ( get_post_meta( get_the_ID(), 'imagefont-dark', true ) ) {
		 $classes[] = 'imagefont-dark';
	 }
	 if ( get_post_meta( get_the_ID(), 'disable-share', true ) ) {
		 $classes[] = 'disable-share';
	 }
	 if ( get_post_meta( get_the_ID(), 'post_class', true) == 'no-thumb' ) {
		 $classes[] = 'no-thumb';
	 }
         
         if (is_404()) {
              $classes[] = 'no-sidebar';
              // No diebadr for 404 pages due to danger of loops cause of 404-files in sidebar :)
         } 
        $logo =  pirate_rogue_get_custom_logo();
        if (( !empty($logo) ) && ( has_custom_logo() )) {
                if (!get_theme_mod('pirate_rogue_show_labelonlogo') && !get_theme_mod('pirate_rogue_show_titleonlogo')) {
                    $classes[] = 'no-header-text';                    
                } elseif (get_theme_mod('pirate_rogue_show_labelonlogo') && !get_theme_mod('pirate_rogue_show_titleonlogo')) {
                    $classes[] = 'no-header-title';
                } elseif (get_theme_mod('pirate_rogue_show_titleonlogo') && !get_theme_mod('pirate_rogue_show_labelonlogo')) {   
                    $classes[] = 'no-header-subtitle';
                }

        }
             

        if ('' != get_theme_mod( 'uku_front_section_twocolumn_excerpt') ) { 
            $classes[] = 'front_section_twocolumn_excerpt';
        }
        if ('' != get_theme_mod( 'uku_front_section_threecolumn_excerpt' ) ) { 
            $classes[] = 'front_section_threecolumn_excerpt';
        } 
        if ('' != get_theme_mod( 'uku_front_section_fourcolumn_excerpt' ) ) { 
            $classes[] = 'front_section_fourcolumn_excerpt';
        } 
        if ('' != get_theme_mod( 'pirate_rogue_front_section_sixcolumn_excerpt' ) ) {
            $classes[] = 'front_section_sixcolumn_excerpt';
        } 
        if ('' != get_theme_mod( 'uku_front_hidedate' ) ) {
           $classes[] = 'front_hidedate';
        }
         if ('' != get_theme_mod( 'uku_front_hidecomments' ) ) { 
            $classes[] = 'front_hidecomments';
        } 
        if ('' != get_theme_mod( 'uku_front_hidecats' ) ) {
            $classes[] = 'front_hidecats';
        } 

        if ('' != get_theme_mod( 'pirate_rogue_devider_hideimage' ) ) {
            $classes[] = 'devider_hideimage';
        } 
        
        // Head
        if ('' != get_theme_mod( 'pirate_rogue_head_background_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_head_background_color' );
            $classname = 'head-bgcol-'.$val;
            $classes[] = $classname;
        } 
         if ('' != get_theme_mod( 'pirate_rogue_head_text_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_head_text_color' );
            $classname = 'head-textcol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_head_linkhover_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_head_linkhover_color' );
            $classname = 'head-linkborder-'.$val;
            $classes[] = $classname;
        } 
         if ('' != get_theme_mod( 'pirate_rogue_actionbutton_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_actionbutton_color' );
            $classname = 'actionbutton-'.$val;
            $classes[] = $classname;
        } 
        
        
        
        
        // Main
        if ('' != get_theme_mod( 'pirate_rogue_main_background_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_background_color' );
            $classname = 'main-bgcol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_main_text_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_text_color' );
            $classname = 'main-textcol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_main_link_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_link_color' );
            $classname = 'main-linkcol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_main_linkhover_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_linkhover_color' );
            $classname = 'main-linkhovercol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_main_headline_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_headline_color' );
            $classname = 'main-headlinecol-'.$val;
            $classes[] = $classname;
        } 
        
        if ('' != get_theme_mod( 'pirate_rogue_main_titleunderline_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_titleunderline_color' );
            $classname = 'main-titleunderline-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_main_listitem_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_listitem_color' );
            $classname = 'main-listitem-'.$val;
            $classes[] = $classname;
        } 
         if ('' != get_theme_mod( 'pirate_rogue_main_quoteborder_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_quoteborder_color' );
            $classname = 'main-quoteborder-'.$val;
            $classes[] = $classname;
        } 
        
        
        
        // Footer
         if ('' != get_theme_mod( 'pirate_rogue_footer_background_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_footer_background_color' );
            $classname = 'footer-bgcol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_footer_text_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_footer_text_color' );
            $classname = 'footer-textcol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_footer_link_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_footer_link_color' );
            $classname = 'footer-linkcol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_footer_linkhover_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_footer_linkhover_color' );
            $classname = 'footer-linkhovercol-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_footer_headline_color' ) ) {
            $val = get_theme_mod( 'pirate_rogue_footer_headline_color' );
            $classname = 'footer-headlinecol-'.$val;
            $classes[] = $classname;
        } 
        
        if ('' != get_theme_mod( 'pirate_rogue_main_meta_bgcol' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_meta_bgcol' );
            $classname = 'main-meta-bgcol-'.$val;
            $classes[] = $classname;
        } 
         if ('' != get_theme_mod( 'pirate_rogue_main_meta_bgcol_hover' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_meta_bgcol_hover' );
            $classname = 'main-meta-bgcol-hover-'.$val;
            $classes[] = $classname;
        } 
         if ('' != get_theme_mod( 'pirate_rogue_main_meta_textcol' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_meta_textcol' );
            $classname = 'main-meta-textcol-'.$val;
            $classes[] = $classname;
        }
        
        if ('' != get_theme_mod( 'pirate_rogue_main_meta_textcol_hover' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_meta_textcol_hover' );
            $classname = 'main-meta-textcol-hover-'.$val;
            $classes[] = $classname;
        } 
        if ('' != get_theme_mod( 'pirate_rogue_main_table_textcol' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_table_textcol' );
            $classname = 'main-table-textcol-'.$val;
            $classes[] = $classname;
        }
        if ('' != get_theme_mod( 'pirate_rogue_main_table_bgcol' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_table_bgcol' );
            $classname = 'main-table-bgcol-'.$val;
            $classes[] = $classname;
        }
        if ('' != get_theme_mod( 'pirate_rogue_main_table_bgcol_header' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_table_bgcol_header' );
            $classname = 'main-table-bgcol-head-'.$val;
            $classes[] = $classname;
        }
        if ('' != get_theme_mod( 'pirate_rogue_main_table_bgcol_oddrows' ) ) {
            $val = get_theme_mod( 'pirate_rogue_main_table_bgcol_oddrows' );
            $classname = 'main-table-bgcol-odd-'.$val;
            $classes[] = $classname;
        }
        
        if ('' != get_theme_mod( 'pirate_rogue_shadow_images' ) ) { 
            $classes[] = 'shadow-images';
        } 
        if (get_theme_mod( 'pirate_rogue_h1noupper' ) ) { 
            $classes[] = 'h1noupper';
        } 
        
        
	 // Additional body classes for WooCommerce
	 if ( is_active_sidebar( 'sidebar-shop' )) {
		 $classes[] = 'sidebar-shop';
	 }

	 return $classes;
 }
 add_filter( 'body_class', 'pirate_rogue_body_class' );
  /*-----------------------------------------------------------------------------------*/
 /* make links relative
 /*-----------------------------------------------------------------------------------*/
 function pirate_rogue_make_link_relative($url) {
    $current_site_url = get_site_url();   
	if (!empty($GLOBALS['_wp_switched_stack'])) {
        $switched_stack = $GLOBALS['_wp_switched_stack'];
        $blog_id = end($switched_stack);
        if ($GLOBALS['blog_id'] != $blog_id) {
            $current_site_url = get_site_url($blog_id);
        }
    }
    $current_host = parse_url($current_site_url, PHP_URL_HOST);
    $host = parse_url($url, PHP_URL_HOST);
    if($current_host == $host) {
        $url = wp_make_link_relative($url);
    }
    return $url; 
}
 /*-----------------------------------------------------------------------------------*/
 /* Add a special walker for the main menu, allowing us, to add some stuff :)
 /*-----------------------------------------------------------------------------------*/
 class Pirate_Rogue_Menu_Walker extends Walker_Nav_Menu {
    public function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
        if ( '-' === $item->title ) {
            $item_output = '<li class="menu_separator"><hr>';
        } else {
            $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
            
            $class_names = $attributes = '';
            
            $classes = empty( $item->classes ) ? array() : (array) $item->classes;
            $ariapopup = '';
            $rellink = '';
            if (!empty($item->url)) {
                $rellink = pirate_rogue_make_link_relative($item->url);
                if (substr($rellink,0,4) == 'http') {
                // absoluter Link auf externe Seite
                $classes[] = 'external';
                } elseif ($rellink == '/') {
                // Link auf Startseite
                $classes[] = 'homelink';
                }                 
            }
            
            if (in_array('has_children', $classes)) {
                $ariapopup = ' aria-haspopup="true"';
            }
            $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
            $class_names = ' class="'. esc_attr( $class_names ) . '"';
            
            $output .= $indent . '<li' . $class_names .$ariapopup.'>';
            
            $attributes  = ! empty( $item->attr_title ) ? ' title="'  . esc_attr( $item->attr_title ) .'"' : '';
            $attributes .= ! empty( $item->target )     ? ' target="' . esc_attr( $item->target     ) .'"' : '';
            $attributes .= ! empty( $item->xfn )        ? ' rel="'    . esc_attr( $item->xfn        ) .'"' : '';
            $attributes .= ! empty( $item->url )        ? ' href="'   . esc_attr( $item->url        ) .'"' : '';
            $description  = ! empty( $item->description ) ? '<span>'.esc_attr( $item->description ).'</span>' : '';

            if($depth != 0) {
                $description = "";
            }
            $item_output = '';
            if (!empty($attributes)) {
                if (!empty($args->before))
                    $item_output .= $args->before;
                $item_output .= '<a'. $attributes .'>';
                
                if (!empty($args->link_before)) 
                    $item_output .= $args->link_before;
                
                $item_output .= apply_filters( 'the_title', $item->title, $item->ID );
                $item_output .= $description;
                
                if (!empty($args->link_after)) 
                    $item_output .= $args->link_after;
                
                $item_output .= '</a>';
                
                if (!empty($args->after))
                    $item_output .= $args->after;
            }
        }
        $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
    }
    public function display_element($el, &$children, $max_depth, $depth = 0, $args = array(), &$output){
    $id = $this->db_fields['id'];
    if(isset($children[$el->$id]))
        $el->classes[] = 'has_children';
    
    parent::display_element($el, $children, $max_depth, $depth, $args, $output);
    }
}
 /*-----------------------------------------------------------------------------------*/
 /* Add a special walker for the main menu, allowing us, to add some stuff :)
 /*-----------------------------------------------------------------------------------*/
 class Pirate_Rogue_OverlayMenu_Walker extends Walker_Nav_Menu {
    public function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
        if ( '-' === $item->title ) {
            $item_output = '<li class="menu_separator">';
        } else {
            $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
            
            $class_names = $attributes = '';
            
            $classes = empty( $item->classes ) ? array() : (array) $item->classes;
            $ariapopup = '';
            if (in_array('has_children', $classes)) {
                $ariapopup = ' aria-haspopup="true"';
            }
            $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
            $class_names = ' class="'. esc_attr( $class_names ) . '"';
            
            $output .= $indent . '<li' . $class_names .$ariapopup.'>';
            
            $attributes  = ! empty( $item->attr_title ) ? ' title="'  . esc_attr( $item->attr_title ) .'"' : '';
            $attributes .= ! empty( $item->target )     ? ' target="' . esc_attr( $item->target     ) .'"' : '';
            $attributes .= ! empty( $item->xfn )        ? ' rel="'    . esc_attr( $item->xfn        ) .'"' : '';
            $attributes .= ! empty( $item->url )        ? ' href="'   . esc_attr( $item->url        ) .'"' : '';
            $description  = ! empty( $item->description ) ? '<span>'.esc_attr( $item->description ).'</span>' : '';

            if($depth != 0) {
                $description = "";
            }
            $item_output = '';
            if (!empty($attributes)) {
                if (!empty($args->before))
                    $item_output .= $args->before;
                $item_output .= '<a'. $attributes .'>';
                
                if (!empty($args->link_before)) 
                    $item_output .= $args->link_before;
                
                $item_output .= apply_filters( 'the_title', $item->title, $item->ID );
                $item_output .= $description;
                
                if (!empty($args->link_after)) 
                    $item_output .= $args->link_after;
                
                $item_output .= '</a>';
                
                if (!empty($args->after))
                    $item_output .= $args->after;
            }
        }
        $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
    }
    public function display_element($el, &$children, $max_depth, $depth = 0, $args = array(), &$output){
    $id = $this->db_fields['id'];
    if(isset($children[$el->$id]))
        $el->classes[] = 'has_children';
    
    parent::display_element($el, $children, $max_depth, $depth, $args, $output);
    }
}
/*-----------------------------------------------------------------------------------*/
/* Get Image Meta Data
/*-----------------------------------------------------------------------------------*/
function pirate_rogue_get_image_attributs($id=0) {
        $precopyright = ''; 
        if ($id==0) return;
        
        $meta = get_post_meta( $id );
        if (!isset($meta)) {
         return;
        }
	
        $result = array();	
        $image = wp_get_attachment_image_src($id, 'full');
	list($src, $width, $height) = $image;
        $hwstring = image_hwstring($width, $height);
	$result['src'] = $src;
	$result['hwstring'] = $hwstring;
	$result['width'] = $width;
	$result['height'] = $height;
	

	if (isset($meta['_wp_attachment_image_alt'][0])) {
	    $result['alt'] = trim(strip_tags($meta['_wp_attachment_image_alt'][0]));
	} else {
	    $result['alt'] = "";
	}   

        if (isset($meta['_wp_attachment_metadata']) && is_array($meta['_wp_attachment_metadata'])) {        
	    $data = unserialize($meta['_wp_attachment_metadata'][0]);
	    if (isset($data['image_meta']) && is_array($data['image_meta'])) {
		if (isset($data['image_meta']['copyright'])) {
		       $result['copyright'] = trim(strip_tags($data['image_meta']['copyright']));
		}
		if (isset($data['image_meta']['author'])) {
		       $result['author'] = trim(strip_tags($data['image_meta']['author']));
		} elseif (isset($data['image_meta']['credit'])) {
		       $result['credit'] = trim(strip_tags($data['image_meta']['credit']));
		}
		if (isset($data['image_meta']['title'])) {
		     $result['title'] = $data['image_meta']['title'];
		}
		if (isset($data['image_meta']['caption'])) {
		     $result['caption'] = $data['image_meta']['caption'];
		}
	    }
	    $result['orig_width'] = $data['width'];
	    $result['orig_height'] = $data['height'];
	    $result['orig_file'] = $data['file'];
	    
        }
	
        $attachment = get_post($id);
        if (isset($attachment) ) {
	    if (isset($attachment->post_excerpt)) {
		$result['excerpt'] = trim(strip_tags( $attachment->post_excerpt ));
	    }
	    if (isset($attachment->post_content)) {
		$result['description'] = trim(strip_tags( $attachment->post_content ));
	    }        
	    if (isset($attachment->post_title) && (empty( $result['title']))) {
		 $result['title'] = trim(strip_tags( $attachment->post_title )); 
	    }   
        }      
	$result['credits'] = '';
	

	
	    if (!empty($result['copyright'])) {
		$result['credits'] = $precopyright.' '.$result['copyright'];		
	    } elseif (!empty($result['author'])) {
		$result['credits'] = $precopyright.' '.$result['author'];
	    } elseif (!empty($result['credit'])) {
		$result['credits'] = $precopyright.' '.$result['credit'];		
            } else {
		if (!empty($result['caption'])) {
		    $result['credits'] = $result['caption'];
		} elseif (!empty($result['excerpt'])) {
		    $result['credits'] = $result['excerpt'];
		} 
	    }   
	
        return $result;
                
}

/*-----------------------------------------------------------------------------------*/
/* Returns an array as table
/*-----------------------------------------------------------------------------------*/
function pirate_rogue_array2table($array, $table = true) {
    $out = '';
    $tableHeader = '';
    foreach ($array as $key => $value) {
	 $out .= '<tr>';
	 $out .= "<th>$key</th>";
        if (is_array($value)) {   
            if (!isset($tableHeader)) {
                $tableHeader =
                    '<th>' .
                    implode('</th><th>', array_keys($value)) .
                    '</th>';
            }
            array_keys($value);
	    $out .= "<td>";
            $out .= pirate_rogue_array2table($value, true);     
	    $out .= "</td>";
        } else {
            $out .= "<td>$value</td>";
        }
	$out .= '</tr>';
    }

    if ($table) {
        return '<table>' . $tableHeader . $out . '</table>';
    } else {
        return $out;
    }
}

/*-----------------------------------------------------------------------------------*/
/*  Create String for Publisher Info, used by Schema.org Microformat Data
/*-----------------------------------------------------------------------------------*/
function pirate_rogue_create_schema_publisher($withrahmen = true) {
    $out = $src = $width = $height = '';
    if ($withrahmen) {
        $out .= '<div itemprop="publisher" itemscope itemtype="https://schema.org/Organization">';  
    }
    $header_image = get_header_image();
    if ($header_image) {
        $src = esc_url( $header_image );
        $width = get_custom_header()->width;
        $height = get_custom_header()->height;
    } else {
        $custom_logo_id = get_theme_mod( 'custom_logo' );
        if ( $custom_logo_id ) {
            $image = wp_get_attachment_image_src($custom_logo_id, 'full'); 
            if ( $image ) {
                list($src, $width, $height) = $image;
            }
        }
    }
    if ($src) {
        $out .= '<div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">';
        $out .= '<link itemprop="contentUrl url" href="'.$src.'">';
        $out .= '<meta itemprop="width" content="'.$width.'">';
        $out .= '<meta itemprop="height" content="'.$height.'">';
        $out .= '</div>';
    }
    $out .= '<meta itemprop="name" content="'.get_bloginfo( 'name' ).'">';
    $out .= '<link itemprop="url" href="'.home_url( '/' ).'">';
    if ($withrahmen) {
        $out .= '</div>';
    }
    return $out;
}
/*-----------------------------------------------------------------------------------*/
/*  Create String for Thumbnail info, used by Schema.org Microformat Data
/*-----------------------------------------------------------------------------------*/
function pirate_rogue_create_schema_thumbnail($id = 0) {
    $output = "";
    if (!$id) {
        $id = get_the_ID();
    }
    $post_thumbnail_id = get_post_thumbnail_id( $id ); 
    if (!$post_thumbnail_id) {
        $thumbfallbackid = get_theme_mod( 'pirate_rogue_fallback_blogroll_thumbnail' );
        if ($thumbfallbackid) {
           $post_thumbnail_id = $thumbfallbackid;
        }
    }
    
    if ($post_thumbnail_id) {
        $thumbimage = wp_get_attachment_image_src( $post_thumbnail_id);
        $image =      wp_get_attachment_image_src( $post_thumbnail_id, 'full');
        $imageurl = $image[0]; 	
        $imgwidth = $image[1];
        $imgheight = $image[2];
        $output .= '<div itemprop="image" itemscope itemtype="https://schema.org/ImageObject">';
        $output .= '<link itemprop="thumbnailUrl" href="'.esc_url($thumbimage[0]).'">';
        $output .= '<link itemprop="contentUrl url" href="'.esc_url($imageurl).'">';
        $output .= '<meta itemprop="width" content="'.$imgwidth.'">';
        $output .= '<meta itemprop="height" content="'.$imgheight.'">';
        $output .= '</div>';
    }
    return $output;
}

/*-----------------------------------------------------------------------------------*/
/*  Create String for info about post date and author, used by Schema.org Microformat Data
/*-----------------------------------------------------------------------------------*/
function pirate_rogue_create_schema_postmeta($id = 0) {
    $output = "";
    if (!$id) {
        $id = get_the_ID();
    }
    $output .= '<meta itemprop="datePublished" content="'.esc_attr( get_post_time('c', false, $id) ).'">';
    $output .= '<meta itemprop="dateModified" content="'.esc_attr( get_the_modified_time('c', false, $id) ).'">';
    
    $author = get_theme_mod( 'pirate_rogue_author' );
    if (!$author) {
        $author_id = get_post_field('post_author', $id);
        $author = get_the_author_meta( 'display_name' , $author_id ); 
    }
    $output .= '<div itemprop="author" itemscope itemtype="http://schema.org/Person">';
    $output .= '<meta itemprop="name" content="'.$author.'">';
    $output .= '</div>';
    
    return $output;
}

/*-----------------------------------------------------------------------------------*/
/* Change output for gallery
/*-----------------------------------------------------------------------------------*/
add_filter('post_gallery', 'pirate_rogue_post_gallery', 10, 2);
function pirate_rogue_post_gallery($output, $attr) {
    global $post;
    global $options;
    
    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' => '',
	'type' => NULL,
	'lightbox' => FALSE,
	'captions' => 1,
	'columns'   => 6,
	'link'	=> 'file'

    ), $attr));

    $id = intval($id);
    if ('RAND' == $order) $orderby = 'none';

    if (!empty($include)) {
        $include = preg_replace('/[^0-9,]+/', '', $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];
        }
    }

    if (empty($attachments)) return '';

	
    $output = '';
    if (!isset($attr['captions'])) {
	$attr['captions'] =1;
    }
     if (!isset($attr['columns'])) {
	$attr['columns'] = 7;
    }
    if (!isset($attr['type'])) {
	$attr['type'] = 'default';
    }
    if (!isset($attr['link'])) {
	$attr['link'] = 'file';
    }
   
    
    wp_enqueue_script( 'pirate-rogue-slick' );
    $rand = rand();	    
    $output .= "<div id=\"slider-$rand\" class=\"gallery\">\n";
    $output .= "<div class=\"slider gallery-slider\">\n";
    foreach ($attachments as $id => $attachment) {
	$img = wp_get_attachment_image_src($id, 'pirate-rogue-gallery');
        $meta = pirate_rogue_get_image_attributs($id);
        //$meta = get_post($id);
        $img_full = wp_get_attachment_image_src($id, 'full');
	$output .= "\t".'<div><img src="'.esc_url($img[0]).'" width="'.$img[1].'" height="'.$img[2].'" alt="">';

        $imgvar = "";
        if (isset($meta['title'])) {
            $imgvar =   $meta['title'];
        }
        if ((empty($imgvar)) && (isset($meta['excerpt']))) {
            $imgvar = $meta['excerpt'];
        }
        if ((empty($imgvar)) && (isset($meta['caption']))) {
            $imgvar = $meta['caption'];
        }
        if ((empty($imgvar)) && (isset($meta['copyright']))) {
            $imgvar = $meta['copyright'];
        }
       
        
        $output .= '<div class="gallery-image-caption">';
        if (!empty($imgvar)) {
            $lightboxattr = '';
            $output .= $imgvar; 
            if ((isset($meta['copyright'])) && ($imgvar !== $meta['copyright'])) {
                $output .= "<br>".$meta['copyright'];
            }
        }
        if ($attr['link'] != 'none') {
             $lightboxtitle = sanitize_text_field($imgvar);
            if (strlen(trim($lightboxtitle))>1) {
                $lightboxattr = ' title="'.$lightboxtitle.'"';
            }
            if (!empty($imgvar)) { $output .= '<br>'; }
            $output .= '<span class="linkorigin">(<a href="'.esc_url($img_full[0]).'" '.$lightboxattr.' class="lightbox" rel="lightbox-'.$rand.'">'.__('Full Size','pirate-rogue').'</a>)</span>';
        }
        
        $output .='</div>';
        $output .= '</div>'."\n";
    }
    $output .= "</div>\n";
    $output .= "<script type=\"text/javascript\"> jQuery(document).ready(function($) {";
    $output .= "$('.gallery-slider').slick({
        centerMode: true,
        centerPadding: '60px',
        dots: true,
        infinite: true,
        speed: 500,
        fade: true,
        arrows: true,
        adaptiveHeight: true,
        swipe: true,
        draggable: true,
        accessibility: true,
    });";
    $output .= "});</script>";
    $output .= "</div>\n";
    
    
    return $output;
}

/*-----------------------------------------------------------------------------------*/
/* EOF
/*-----------------------------------------------------------------------------------*/