<?php
/**
 * The Classic template to display the content
 *
 * Used for index/archive/search.
 *
 * @package EXPO
 * @since EXPO 1.0
 */

$expo_template_args = get_query_var( 'expo_template_args' );

if ( is_array( $expo_template_args ) ) {
	$expo_columns    = empty( $expo_template_args['columns'] ) ? 2 : max( 1, $expo_template_args['columns'] );
	$expo_blog_style = array( $expo_template_args['type'], $expo_columns );
    $expo_columns_class = expo_get_column_class( 1, $expo_columns, ! empty( $expo_template_args['columns_tablet']) ? $expo_template_args['columns_tablet'] : '', ! empty($expo_template_args['columns_mobile']) ? $expo_template_args['columns_mobile'] : '' );
} else {
	$expo_template_args = array();
	$expo_blog_style = explode( '_', expo_get_theme_option( 'blog_style' ) );
	$expo_columns    = empty( $expo_blog_style[1] ) ? 2 : max( 1, $expo_blog_style[1] );
    $expo_columns_class = expo_get_column_class( 1, $expo_columns );
}
$expo_expanded   = ! expo_sidebar_present() && expo_get_theme_option( 'expand_content' ) == 'expand';

$expo_post_format = get_post_format();
$expo_post_format = empty( $expo_post_format ) ? 'standard' : str_replace( 'post-format-', '', $expo_post_format );

?><div class="<?php
	if ( ! empty( $expo_template_args['slider'] ) ) {
		echo ' slider-slide swiper-slide';
	} else {
		echo ( expo_is_blog_style_use_masonry( $expo_blog_style[0] ) ? 'masonry_item masonry_item-1_' . esc_attr( $expo_columns ) : esc_attr( $expo_columns_class ) );
	}
?>"><article id="post-<?php the_ID(); ?>" data-post-id="<?php the_ID(); ?>"
	<?php
	post_class(
		'post_item post_item_container post_format_' . esc_attr( $expo_post_format )
				. ' post_layout_classic post_layout_classic_' . esc_attr( $expo_columns )
				. ' post_layout_' . esc_attr( $expo_blog_style[0] )
				. ' post_layout_' . esc_attr( $expo_blog_style[0] ) . '_' . esc_attr( $expo_columns )
	);
	expo_add_blog_animation( $expo_template_args );
	?>
>
	<?php

	// Sticky label
	if ( is_sticky() && ! is_paged() ) {
		?>
		<span class="post_label label_sticky"></span>
		<?php
	}

	// Featured image
	$expo_hover      = ! empty( $expo_template_args['hover'] ) && ! expo_is_inherit( $expo_template_args['hover'] )
							? $expo_template_args['hover']
							: expo_get_theme_option( 'image_hover' );

	$expo_components = ! empty( $expo_template_args['meta_parts'] )
							? ( is_array( $expo_template_args['meta_parts'] )
								? $expo_template_args['meta_parts']
								: explode( ',', $expo_template_args['meta_parts'] )
								)
							: expo_array_get_keys_by_value( expo_get_theme_option( 'meta_parts' ) );

	expo_show_post_featured( apply_filters( 'expo_filter_args_featured',
		array(
			'thumb_size' => ! empty( $expo_template_args['thumb_size'] )
				? $expo_template_args['thumb_size']
				: expo_get_thumb_size(
					'classic' == $expo_blog_style[0]
						? ( strpos( expo_get_theme_option( 'body_style' ), 'full' ) !== false
								? ( $expo_columns > 2 ? 'big' : 'huge' )
								: ( $expo_columns > 2
									? ( $expo_expanded ? 'square' : 'square' )
									: ($expo_columns > 1 ? 'square' : ( $expo_expanded ? 'huge' : 'big' ))
									)
							)
						: ( strpos( expo_get_theme_option( 'body_style' ), 'full' ) !== false
								? ( $expo_columns > 2 ? 'masonry-big' : 'full' )
								: ($expo_columns === 1 ? ( $expo_expanded ? 'huge' : 'big' ) : ( $expo_columns <= 2 && $expo_expanded ? 'masonry-big' : 'masonry' ))
							)
			),
			'hover'      => $expo_hover,
			'meta_parts' => $expo_components,
			'no_links'   => ! empty( $expo_template_args['no_links'] ),
        ),
        'content-classic',
        $expo_template_args
    ) );

	// Title and post meta
	$expo_show_title = get_the_title() != '';
	$expo_show_meta  = count( $expo_components ) > 0 && ! in_array( $expo_hover, array( 'border', 'pull', 'slide', 'fade', 'info' ) );

	if ( $expo_show_title ) {
		?>
		<div class="post_header entry-header">
			<?php

			// Post meta
			if ( apply_filters( 'expo_filter_show_blog_meta', $expo_show_meta, $expo_components, 'classic' ) ) {
				if ( count( $expo_components ) > 0 ) {
					do_action( 'expo_action_before_post_meta' );
					expo_show_post_meta(
						apply_filters(
							'expo_filter_post_meta_args', array(
							'components' => join( ',', $expo_components ),
							'seo'        => false,
							'echo'       => true,
						), $expo_blog_style[0], $expo_columns
						)
					);
					do_action( 'expo_action_after_post_meta' );
				}
			}

			// Post title
			if ( apply_filters( 'expo_filter_show_blog_title', true, 'classic' ) ) {
				do_action( 'expo_action_before_post_title' );
				if ( empty( $expo_template_args['no_links'] ) ) {
					the_title( sprintf( '<h4 class="post_title entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h4>' );
				} else {
					the_title( '<h4 class="post_title entry-title">', '</h4>' );
				}
				do_action( 'expo_action_after_post_title' );
			}

			if( !in_array( $expo_post_format, array( 'quote', 'aside', 'link', 'status' ) ) ) {
				// More button
				if ( apply_filters( 'expo_filter_show_blog_readmore', ! $expo_show_title || ! empty( $expo_template_args['more_button'] ), 'classic' ) ) {
					if ( empty( $expo_template_args['no_links'] ) ) {
						do_action( 'expo_action_before_post_readmore' );
						expo_show_post_more_link( $expo_template_args, '<div class="more-wrap">', '</div>' );
						do_action( 'expo_action_after_post_readmore' );
					}
				}
			}
			?>
		</div><!-- .entry-header -->
		<?php
	}

	// Post content
	if( in_array( $expo_post_format, array( 'quote', 'aside', 'link', 'status' ) ) ) {
		ob_start();
		if (apply_filters('expo_filter_show_blog_excerpt', empty($expo_template_args['hide_excerpt']) && expo_get_theme_option('excerpt_length') > 0, 'classic')) {
			expo_show_post_content($expo_template_args, '<div class="post_content_inner">', '</div>');
		}
		// More button
		if(! empty( $expo_template_args['more_button'] )) {
			if ( empty( $expo_template_args['no_links'] ) ) {
				do_action( 'expo_action_before_post_readmore' );
				expo_show_post_more_link( $expo_template_args, '<div class="more-wrap">', '</div>' );
				do_action( 'expo_action_after_post_readmore' );
			}
		}
		$expo_content = ob_get_contents();
		ob_end_clean();
		expo_show_layout($expo_content, '<div class="post_content entry-content">', '</div><!-- .entry-content -->');
	}
	?>

</article></div><?php
// Need opening PHP-tag above, because <div> is a inline-block element (used as column)!
