<?php
$theme_namespace = 'homegrade-theme__texte-fonctionnel';
function getThematiqueFamilySlug($thematique_slug)
{
	if (!$thematique_slug) {
		return null;
	}
	switch ($thematique_slug) {
		case "energie":
		case "urbanisme":
		case "stedenbouw":
			return "energies-urbanisme";

		case "acoustique":
		case "akoestiek":
		case "petites-coproprietes":
		case "kleine-mede-eigendommen":
			return "acoustique-coproprietes";

		case "isolation":
		case "isolatie":
		case "au-quotidien":
			return "isolation-quotidien";

		case "energies":
		case "urbanisme":
		case "stedenbouw":
			return "energies-urbanisme";

		case "patrimoine":
		case "erfgoed":
		case "aides-financieres":
		case "financiele-steun":
			return "patrimoine-renovation";

		case "location":
		case "verhuur":
		case "circulaire-renovatie":
		case "renovation-circulaire":
			return "location-renovation-circulaire";
	}
}

function getParentThematique($thematique)
{
	if (!$thematique) {
		return null;
	}

	if ($thematique->parent == 0) {
		return $thematique;
	} else {
		return get_term($thematique->parent, 'thematiques');
	}
}

// DOES THE SAME THING AS ABOVE BUT RENAMED
function getMainThematique($thematique)
{
	if (!$thematique) {
		return null;
	}

	if ($thematique->parent == 0) {
		return $thematique;
	} else {
		return get_term($thematique->parent, 'thematiques');
	}
}
// DOES THE SAME THING AS ABOVE BUT RENAMED
function getPostMainThematique($post)
{
	return getMainThematique(get_the_terms($post, "thematiques")[0]);
}

// TO GET ARCHIVE RELATED PAGES BY TEMPLATE
function get_page_by_template($template = '')
{
	$args = array(
		'meta_key' => '_wp_page_template',
		'meta_value' => $template
	);
	return get_pages($args);
}

function show_post_type_label_name($post_type)
{

	switch ($post_type) {
		case 'questions':
			return __("Question", "homegrade-theme__texte-backoffice");

		case 'conseils':
			return __("Conseil", "homegrade-theme__texte-backoffice");

		case 'page':
			return __("Page", "homegrade-theme__texte-backoffice");

		case 'post':
			return __("News", "homegrade-theme__texte-backoffice");

		case 'jobs':
			return __("Offre d'emploi", "homegrade-theme__texte-backoffice");

		default:
			return null;
	}
}





/* ---------
SORT BY THEMATIQUE PRIORITY
-----------------*/

// Fonction de comparaison pour trier par 'thematique_priority' utilisé par la fonction supérieur
function compareThematiquePriority($postA, $postB)
{
	$priorityA = $postA->thematique_priority ?? 0;
	$priorityB = $postB->thematique_priority ?? 0;

	if ($priorityA == $priorityB) {
		if ($postA->post_date > $postB->post_date) {
			return -1;
		} else {
			return 1;
		}
	}
	if ($priorityA < $priorityB) {
		return 1;
	}
	if ($priorityA > $priorityB) {
		return -1;
	}
}


function sort_posts_per_thematiques_priority($postsQuery)
{

	foreach ($postsQuery->posts as $key => $post) {
		$thematique = getPostMainThematique($post);
		$post->thematique_priority = get_field('thematique_order', $thematique) ?? 0;
	}



	// Tri du tableau en utilisant la fonction de comparaison
	usort($postsQuery->posts, 'compareThematiquePriority');
	return $postsQuery;
}
