<?php

/***************************************************************************\
 *  SPIP, Systeme de publication pour l'internet                           *
 *                                                                         *
 *  Copyright (c) 2001-2014                                                *
 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
 *                                                                         *
 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
\***************************************************************************/

if (!defined("_ECRIRE_INC_VERSION")) return;

include_spip('inc/diff');

/**
 * Afficher le diff d'un champ texte generique
 * @param string $champ
 * @param string $old
 * @param string $new
 * @param string $format
 *   apercu, diff ou complet
 * @return string
 */
function afficher_diff_jointure_dist($champ,$old,$new,$format='diff'){
	$join = substr($champ,9);
	$objet = objet_type($join);

	$old = explode(',',$old);
	$new = explode(',',$new);

	$liste = array();

	// les communs
	$intersection = array_intersect($new,$old);
	foreach($intersection as $id)
		if ($id=intval(trim($id)))
			$liste[$id] = "<a href='".generer_url_entite($id,$objet)."' title='"._T(objet_info($objet,'texte_objet'))." $id'>".generer_info_entite($id,$objet,'titre')."</a>";

	// les supprimes
	$old = array_diff($old,$intersection);
	foreach($old as $id)
		if ($id=intval(trim($id)))
			$liste[$id] = "<span class='diff-supprime'>"
			              . "<a href='".generer_url_entite($id,$objet)."' title='"._T(objet_info($objet,'texte_objet'))." $id'>".generer_info_entite($id,$objet,'titre')."</a>"
			              . "</span>";

	// les ajoutes
	$new = array_diff($new,$intersection);
	foreach($new as $id)
		if ($id=intval(trim($id)))
			$liste[$id] = "<span class='diff-ajoute'>"
			              . "<a href='".generer_url_entite($id,$objet)."' title='"._T(objet_info($objet,'texte_objet'))." $id'>".generer_info_entite($id,$objet,'titre')."</a>"
			              . "</span>";

	ksort($liste);
	$liste = implode(', ',$liste);
	return $liste;
}
