<?php
/**
 * Custom template tags for this theme
 *
 * Eventually, some of the functionality here could be replaced by core features.
 *
 * @package construc
 */
if ( ! function_exists( 'construc_posted_on' ) ) :
	/**
	 * Prints HTML with meta information for the current post-date/time.
	 */
	function construc_posted_on() {
		$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( DATE_W3C ) ),
			esc_html( get_the_date() ),
			esc_attr( get_the_modified_date( DATE_W3C ) ),
			esc_html( get_the_modified_date() )
		);

		$timeIcon = '%1$s';

		$posted_on = sprintf(
			$timeIcon,
			'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
		);

		echo '<span class="posted-on">' . $posted_on . '</span>'; // WPCS: XSS OK.
	}
endif;
if ( ! function_exists( 'construc_time' ) ) {
	function construc_time() {
		$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( DATE_W3C ) ),
			esc_html( get_the_date() ),
			esc_attr( get_the_modified_date( DATE_W3C ) ),
			esc_html( get_the_modified_date() )
		);
		echo '<i class="blog-time">' . $time_string . '</i>';
	}
}
if ( ! function_exists( 'construc_posted_by' ) ) :
	/**
	 * Prints HTML with meta information for the current author.
	 */
	function construc_posted_by($author_image = true) {
		$posted_by_format = '<a href="%1$s">%2$s %3$s</a>';
		$post_author_id = get_post_field( 'post_author', get_queried_object_id() );
		$get_author_image = '<span class="fa fa-user"></span>';
		if (false === $author_image) {
			$get_author_image = __('Posted by', 'construc');
		}
		$postedBy = sprintf(
			$posted_by_format,
			esc_url( get_author_posts_url( get_the_author_meta( $post_author_id ))),
			$get_author_image,
			'<i>'.esc_html( get_the_author_meta('display_name', $post_author_id)).'</i>'
		);
		echo '<span class="posted_by">'.$postedBy.'</span>';
	}
endif;
if ( ! function_exists( 'construc_comment_popuplink' ) ) {
	function construc_comment_popuplink() {
		if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
			// $commentIcon = ;
			
			echo '<span class="comments-link"><i class="fa fa-comments-o" aria-hidden="true"></i>';

			$css_class = 'zero-comments';
			$number    = (int) get_comments_number( get_the_ID() );

			if ( 1 === $number )
			    $css_class = 'one-comment';
			elseif ( 1 < $number )
			    $css_class = 'multiple-comments';

			comments_popup_link( 
			    __( 'Post a Comment', 'construc' ), 
			    __( '1 Comment', 'construc' ), 
			    __( '% Comments', 'construc' ),
			    $css_class,
			    __( 'Comments are Closed', 'construc' )
			);
			
			echo '</span>';
		}
	}
}

function construc_categories(){
	if ( 'post' === get_post_type() ) {
		/* translators: used between list items, there is a space after the comma */
		$categories_list = get_the_category_list( esc_html__( ', ', 'construc' ) );
		if ( $categories_list ) {
			/* translators: 1: list of categories. */
			
			printf( '<span class="cat-links">' . '%1$s' . '</span>', $categories_list ); // WPCS: XSS OK.
		}
	}
	return;
}


if ( ! function_exists( 'construc_post_tag' ) ) {
	function construc_post_tag() {
		if ( 'post' === get_post_type() ) {
			/* translators: used between list items, there is a space after the comma */
			$tags_list = get_the_tag_list( '', esc_html_x( ', ', 'list item separator', 'construc' ) );
			if ( $tags_list ) {
				/* translators: 1: list of tags. */
				printf( '<span class="tags-links">' . esc_html__( ' %1$s', 'construc' ) . '</span>', $tags_list ); // WPCS: XSS OK.
			}
		}
		return;
	}
}
if ( ! function_exists( 'construc_post_thumbnail' ) ) :
	/**
	 * Displays an optional post thumbnail.
	 *
	 * Wraps the post thumbnail in an anchor element on index views, or a div
	 * element when on single views.
	 */
	function construc_post_thumbnail() {
		$post_thumnail = wp_get_attachment_image_url( get_post_thumbnail_id( get_the_ID() ), 'construc-thumbnail' );
		if ( has_post_thumbnail() ) :
			?>
			<a href="<?php the_permalink();?>">
				<?php the_post_thumbnail( 'construc-thumbnail' ); ?>
			</a>
			<?php
		elseif ( $post_thumnail ) :
			echo '<a href="'.the_permalink().'"><img src="' . esc_url( $post_thumnail ) . '" alt=""></a>';
		endif;
	}
endif;

if ( ! function_exists( 'construc_wp_body_open' ) ) :
	/**
	 * Fire the construc_wp_body_open action.
	 *
	 * Added for backwards compatibility to support pre 5.2.0 WordPress versions.
	 *
	 * @since Twenty Nineteen 1.4
	 */
	function construc_wp_body_open() {
		/**
		 * Triggered after the opening <body> tag.
		 *
		 * @since Twenty Nineteen 1.4
		 */
		do_action( 'construc_wp_body_open' );
	}
endif;