From 3ad899c39c03811e4f9be32d59eff75536814f42 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Tue, 11 Oct 2005 14:26:21 +0000
Subject: [PATCH] personnaliser le traitement automatique de champ selon la
 boucle

---
 inc-balises.php3     | 10 +++++++-
 inc-compilo-api.php3 | 60 ++++++++++++++++++++++----------------------
 2 files changed, 39 insertions(+), 31 deletions(-)

diff --git a/inc-balises.php3 b/inc-balises.php3
index 3fcfe52bb0..7899f6705a 100644
--- a/inc-balises.php3
+++ b/inc-balises.php3
@@ -31,7 +31,15 @@ define("_INC_BALISES", "1");
 function champs_traitements ($p) {
 	global $table_des_traitements;
 
-	$ps = $table_des_traitements[$p->nom_champ];
+	if (!is_array($table_des_traitements[$p->nom_champ]))
+	  // old style
+	  $ps = $table_des_traitements[$p->nom_champ];
+	else {
+		$ps = $table_des_traitements[$p->nom_champ][$p->type_requete];
+		if (!$ps)
+			$ps = $table_des_traitements[$p->nom_champ][0];
+	}
+
 	if (!$ps) return $p->code;
 	if ($p->descr['documents']) {
 		$ps = str_replace('traiter_raccourcis(', 
diff --git a/inc-compilo-api.php3 b/inc-compilo-api.php3
index 8ce3bdf691..915ba21fbe 100644
--- a/inc-compilo-api.php3
+++ b/inc-compilo-api.php3
@@ -254,35 +254,35 @@ $exceptions_des_jointures['titre_mot'] = 'titre';
 $exceptions_des_jointures['type_mot'] = 'type';
 
 global  $table_des_traitements;
-$table_des_traitements['BIO'] = 'traiter_raccourcis(%s)';
-$table_des_traitements['CHAPO'] = 'traiter_raccourcis(nettoyer_chapo(%s))';
-$table_des_traitements['DATE'] = 'vider_date(%s)';
-$table_des_traitements['DATE_MODIF'] = 'vider_date(%s)';
-$table_des_traitements['DATE_NOUVEAUTES'] = 'vider_date(%s)';
-$table_des_traitements['DATE_REDAC'] = 'vider_date(%s)';
-$table_des_traitements['DESCRIPTIF'] = 'traiter_raccourcis(%s)';
-$table_des_traitements['LIEN_TITRE'] = 'typo(%s)';
-$table_des_traitements['LIEN_URL'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['MESSAGE'] = 'traiter_raccourcis(%s)';
-$table_des_traitements['NOM_SITE_SPIP'] = 'typo(%s)';
-$table_des_traitements['NOM_SITE'] = 'typo(%s)';
-$table_des_traitements['NOM'] = 'typo(%s)';
-$table_des_traitements['PARAMETRES_FORUM'] = 'htmlspecialchars(lang_parametres_forum(%s))';
-$table_des_traitements['PS'] = 'traiter_raccourcis(%s)';
-$table_des_traitements['SOUSTITRE'] = 'typo(%s)';
-$table_des_traitements['SURTITRE'] = 'typo(%s)';
-$table_des_traitements['TEXTE'] = 'traiter_raccourcis(%s)';
-$table_des_traitements['TITRE'] = 'typo(%s)';
-$table_des_traitements['TYPE'] = 'typo(%s)';
-$table_des_traitements['URL_ARTICLE'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['URL_BREVE'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['URL_DOCUMENT'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['URL_FORUM'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['URL_MOT'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['URL_RUBRIQUE'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['URL_SITE_SPIP'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['URL_SITE'] = 'htmlspecialchars(calculer_url(%s))';
-$table_des_traitements['URL_SYNDIC'] = 'htmlspecialchars(vider_url(%s))';
-$table_des_traitements['ENV'] = 'entites_html(%s)';
+$table_des_traitements['BIO'][]= 'traiter_raccourcis(%s)';
+$table_des_traitements['CHAPO'][]= 'traiter_raccourcis(nettoyer_chapo(%s))';
+$table_des_traitements['DATE'][]= 'vider_date(%s)';
+$table_des_traitements['DATE_MODIF'][]= 'vider_date(%s)';
+$table_des_traitements['DATE_NOUVEAUTES'][]= 'vider_date(%s)';
+$table_des_traitements['DATE_REDAC'][]= 'vider_date(%s)';
+$table_des_traitements['DESCRIPTIF'][]= 'traiter_raccourcis(%s)';
+$table_des_traitements['LIEN_TITRE'][]= 'typo(%s)';
+$table_des_traitements['LIEN_URL'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['MESSAGE'][]= 'traiter_raccourcis(%s)';
+$table_des_traitements['NOM_SITE_SPIP'][]= 'typo(%s)';
+$table_des_traitements['NOM_SITE'][]= 'typo(%s)';
+$table_des_traitements['NOM'][]= 'typo(%s)';
+$table_des_traitements['PARAMETRES_FORUM'][]= 'htmlspecialchars(lang_parametres_forum(%s))';
+$table_des_traitements['PS'][]= 'traiter_raccourcis(%s)';
+$table_des_traitements['SOUSTITRE'][]= 'typo(%s)';
+$table_des_traitements['SURTITRE'][]= 'typo(%s)';
+$table_des_traitements['TEXTE'][]= 'traiter_raccourcis(%s)';
+$table_des_traitements['TITRE'][]= 'typo(%s)';
+$table_des_traitements['TYPE'][]= 'typo(%s)';
+$table_des_traitements['URL_ARTICLE'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['URL_BREVE'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['URL_DOCUMENT'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['URL_FORUM'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['URL_MOT'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['URL_RUBRIQUE'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['URL_SITE_SPIP'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['URL_SITE'][]= 'htmlspecialchars(calculer_url(%s))';
+$table_des_traitements['URL_SYNDIC'][]= 'htmlspecialchars(vider_url(%s))';
+$table_des_traitements['ENV'][]= 'entites_html(%s)';
 
 ?>
-- 
GitLab