<?php
/**
 * Generate page breadcrumbs.
 *
 * @package p2020
 */

namespace Automattic\P2\Themes\P2020;

function format_breadcrumbs( $post_id ) {
	$post      = get_post( $post_id );
	$title     = $post->post_title ? $post->post_title : "#{$post_id} (no title)";
	$permalink = get_permalink( $post_id );

	return <<<ITEM
	<li class="p2020-page-breadcrumbs__list-item">
		<a href="{$permalink}">{$title}</a>
	</li>
ITEM;
}

function get_page_breadcrumbs( $post_id ) {
	require_once get_template_directory() . '/inc/pages-index/class-pages-index.php';

	$ancestor_ids      = array_reverse( get_post_ancestors( $post_id ) );
	$breadcrumbs       = array_map( __NAMESPACE__ . '\format_breadcrumbs', $ancestor_ids );
	$breadcrumbs_html  = implode( $breadcrumbs );
	$pages_index_url   = esc_url( Pages_Index\Pages_Index::get_pages_index_url() );
	$pages_index_label = esc_html( __( 'Pages', 'p2020' ) );

	return <<<BREADCRUMBS
	<div class="p2020-page-breadcrumbs">
		<ul class="p2020-page-breadcrumbs__list">
			<li class="p2020-page-breadcrumbs__list-item">
				<a href="{$pages_index_url}" class="p2020-page-breadcrumbs__home-link">{$pages_index_label}</a>
			</li>
			{$breadcrumbs_html}
		</ul>
	</div>
BREADCRUMBS;
}