[SPIP] +spip v3.0.17
[lhc/web/clavette_www.git] / www / plugins-dist / revisions / afficher_diff / jointure.php
diff --git a/www/plugins-dist/revisions/afficher_diff/jointure.php b/www/plugins-dist/revisions/afficher_diff/jointure.php
new file mode 100644 (file)
index 0000000..ea20048
--- /dev/null
@@ -0,0 +1,60 @@
+<?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;
+}