From dfd2ff3335e5d8bf5a29f34aedacae48c30f3aef Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Thu, 5 Jun 2003 13:36:56 +0000
Subject: [PATCH] supplement => extra

---
 ecrire/articles.php3                          | 28 ++++++-------
 ecrire/articles_edit.php3                     | 16 ++++----
 ecrire/auteur_infos.php3                      | 22 +++++-----
 ecrire/auteurs_edit.php3                      | 12 +++---
 ecrire/breves_edit.php3                       |  8 ++--
 ecrire/breves_voir.php3                       | 24 +++++------
 ecrire/inc_base.php3                          | 38 +++++++++++------
 .../{inc_supplement.php3 => inc_extra.php3}   | 41 ++++++++++---------
 ecrire/inc_filtres.php3                       |  6 +--
 ecrire/inc_version.php3                       |  2 +-
 ecrire/mots_edit.php3                         | 24 +++++------
 ecrire/naviguer.php3                          | 24 +++++------
 ecrire/rubriques_edit.php3                    | 12 +++---
 inc-calcul-squel.php3                         | 27 ++++++++----
 14 files changed, 155 insertions(+), 129 deletions(-)
 rename ecrire/{inc_supplement.php3 => inc_extra.php3} (73%)

diff --git a/ecrire/articles.php3 b/ecrire/articles.php3
index 212d15a1e5..dddcba2ae3 100644
--- a/ecrire/articles.php3
+++ b/ecrire/articles.php3
@@ -179,15 +179,15 @@ if ($titre && !$ajout_forum && $flag_editable) {
 	$texte = addslashes(corriger_caracteres($texte));
 	$ps = addslashes(corriger_caracteres($ps));
 
-	// recoller les champs du supplement
-	if (function_exists('champs_supplement')) {
-		$champs_suppl=champs_supplement("article", $id_article, $id_rubrique);
-		include_ecrire("inc_supplement.php3");
-		$supplement=supplement_recup_saisie($champs_suppl);
-		$ser_supplement = addslashes(serialize($supplement));
+	// recoller les champs du extra
+	if (function_exists('champs_extra')) {
+		$champs_suppl=champs_extra("article", $id_article, $id_rubrique);
+		include_ecrire("inc_extra.php3");
+		$extra=extra_recup_saisie($champs_suppl);
+		$ser_extra = addslashes(serialize($extra));
 	} else {
-		$supplement=array();
-		$ser_supplement = "";
+		$extra=array();
+		$ser_extra = "";
 	}
 
 
@@ -198,7 +198,7 @@ if ($titre && !$ajout_forum && $flag_editable) {
 		$change_rubrique = "";
 	}
 
-	$query = "UPDATE spip_articles SET surtitre=\"$surtitre\", titre=\"$titre\", soustitre=\"$soustitre\", $change_rubrique descriptif=\"$descriptif\", chapo=\"$chapo\", texte=\"$texte\", ps=\"$ps\", supplement=\"$ser_supplement\" WHERE id_article=$id_article";
+	$query = "UPDATE spip_articles SET surtitre=\"$surtitre\", titre=\"$titre\", soustitre=\"$soustitre\", $change_rubrique descriptif=\"$descriptif\", chapo=\"$chapo\", texte=\"$texte\", ps=\"$ps\", extra=\"$ser_extra\" WHERE id_article=$id_article";
 	$result = spip_query($query);
 	calculer_rubriques();
 	if ($statut_article == 'publie') $reindexer = true;
@@ -255,7 +255,7 @@ if ($row = spip_fetch_array($result)) {
 	$date_redac = $row["date_redac"];
 	$visites = $row["visites"];
 	$referers = $row["referers"];
-	$supplement = unserialize($row["supplement"]);
+	$extra = unserialize($row["extra"]);
 }
 
 // pour l'affichage du virtuel
@@ -1239,10 +1239,10 @@ else {
 		echo fin_cadre_relief();
 	}
 
-	if ($supplement && function_exists(champs_supplement)) {
-		$champs_suppl=champs_supplement("article", $id_article, $id_rubrique);
-		include_ecrire("inc_supplement.php3");
-		supplement_affichage($supplement, $champs_suppl);
+	if ($extra && function_exists(champs_extra)) {
+		$champs_suppl=champs_extra("article", $id_article, $id_rubrique);
+		include_ecrire("inc_extra.php3");
+		extra_affichage($extra, $champs_suppl);
 	}
 }
 
diff --git a/ecrire/articles_edit.php3 b/ecrire/articles_edit.php3
index c6bf053b07..de4e2c0615 100644
--- a/ecrire/articles_edit.php3
+++ b/ecrire/articles_edit.php3
@@ -47,7 +47,7 @@ if ($id_article) {
 		        $annee_redac = $regs[1];
 		        if ($annee_redac > 4000) $annee_redac -= 9000;
 		}
-		$supplement=unserialize($row["supplement"]);
+		$extra=unserialize($row["extra"]);
 
 		$query = "SELECT * FROM spip_auteurs_articles WHERE id_article=$id_article AND id_auteur=$connect_id_auteur";
 		$result_auteur = spip_query($query);
@@ -394,13 +394,13 @@ echo "<P><HR><P>";
 
 	if (strlen($texte)>29*1024) // texte > 32 ko -> decouper en morceaux
 	{
-		$textes_supplement = "<br><font color='red'>"._T('info_texte_long')."</font>\n";
+		$textes_extra = "<br><font color='red'>"._T('info_texte_long')."</font>\n";
 		while (strlen($texte)>29*1024)
 		{
 			$nombre_textes ++;
 			list($texte1,$texte) = coupe_trop_long($texte);
 
-			$textes_supplement .= "<BR><TEXTAREA NAME='texte$nombre_textes'".
+			$textes_extra .= "<BR><TEXTAREA NAME='texte$nombre_textes'".
 				" CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>" .
 				$texte1 . "</TEXTAREA><P>\n";
 		}
@@ -410,7 +410,7 @@ echo "<P><HR><P>";
 	echo "<br>"._T('texte_enrichir_mise_a_jour');
 	echo aide("raccourcis");
 
-	echo $textes_supplement;
+	echo $textes_extra;
 
 	echo "<BR><TEXTAREA NAME='texte' CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>";
 	echo $texte;
@@ -426,10 +426,10 @@ echo "<P><HR><P>";
 		echo "<INPUT TYPE='hidden' NAME='ps' VALUE=\"$ps\">";
 	}
 
-	if (function_exists(champs_supplement)) {
-		$champs_suppl=champs_supplement("article", $id_article, $id_rubrique);
-		include_ecrire("inc_supplement.php3");
-		supplement_saisie($supplement, $champs_suppl);
+	if (function_exists(champs_extra)) {
+		$champs_suppl=champs_extra("article", $id_article, $id_rubrique);
+		include_ecrire("inc_extra.php3");
+		extra_saisie($extra, $champs_suppl);
 	}
 
 	if ($date)
diff --git a/ecrire/auteur_infos.php3 b/ecrire/auteur_infos.php3
index 894f14527e..f46e0b38f5 100644
--- a/ecrire/auteur_infos.php3
+++ b/ecrire/auteur_infos.php3
@@ -153,13 +153,13 @@ if ($statut) { // si on poste un nom, c'est qu'on modifie une fiche auteur
 	} else
 		$query_pass = '';
 
-	// recoller les champs du supplement
-	if (function_exists('champs_supplement')) {
-		$champs_suppl=champs_supplement("auteur", $id_auteur, $statut);
-		include_ecrire("inc_supplement.php3");
-		$auteur['supplement'] = serialize(supplement_recup_saisie($champs_suppl));
+	// recoller les champs du extra
+	if (function_exists('champs_extra')) {
+		$champs_suppl=champs_extra("auteur", $id_auteur, $statut);
+		include_ecrire("inc_extra.php3");
+		$auteur['extra'] = serialize(extra_recup_saisie($champs_suppl));
 	} else
-		$auteur['supplement'] = '';
+		$auteur['extra'] = '';
 
 	// l'entrer dans la base
 	if (!$echec) {
@@ -181,7 +181,7 @@ if ($statut) { // si on poste un nom, c'est qu'on modifie une fiche auteur
 			url_site='".addslashes($auteur['url_site'])."',
 			pgp='".addslashes($auteur['pgp'])."',
 			statut='".addslashes($auteur['statut'])."',
-			supplement='".addslashes($auteur['supplement'])."'
+			extra='".addslashes($auteur['extra'])."'
 			WHERE id_auteur=".$auteur['id_auteur'];
 		spip_query($query) OR die($query);
 	}
@@ -280,10 +280,10 @@ echo "<TEXTAREA NAME='bio' CLASS='forml' ROWS='4' COLS='40' wrap=soft>";
 echo entites_html($auteur['bio']);
 echo "</TEXTAREA>\n";
 
-if (function_exists(champs_supplement)) {
-	$champs_suppl=champs_supplement("auteur", $id_auteur, $statut);
-	include_ecrire("inc_supplement.php3");
-	supplement_saisie(unserialize($auteur['supplement']), $champs_suppl);
+if (function_exists(champs_extra)) {
+	$champs_suppl=champs_extra("auteur", $id_auteur, $statut);
+	include_ecrire("inc_extra.php3");
+	extra_saisie(unserialize($auteur['extra']), $champs_suppl);
 }
 
 fin_cadre_relief();
diff --git a/ecrire/auteurs_edit.php3 b/ecrire/auteurs_edit.php3
index 68e4f7f82b..7814598605 100644
--- a/ecrire/auteurs_edit.php3
+++ b/ecrire/auteurs_edit.php3
@@ -57,7 +57,7 @@ if ($row = spip_fetch_array($result)) {
 	$pgp=$row["pgp"];
 	$messagerie=$row["messagerie"];
 	$imessage=$row["imessage"];
-	$supplement = unserialize($row["supplement"]);
+	$extra = unserialize($row["extra"]);
 
 
 if ($connect_id_auteur == $id_auteur) debut_page($nom, "redacteurs", "perso");
@@ -119,16 +119,16 @@ else if ($statut == "5poubelle") $logo = "redacteurs-poubelle-24.gif";
 else $logo = "redacteurs-24.gif";
 
 
-	if (strlen($email) > 2 OR strlen($bio) > 0 OR strlen($nom_site_auteur) > 0 OR !empty($supplement)) {
+	if (strlen($email) > 2 OR strlen($bio) > 0 OR strlen($nom_site_auteur) > 0 OR !empty($extra)) {
 		debut_cadre_relief("$logo");
 		echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif'>";
 		if (strlen($email) > 2) echo _T('email_2')." <B><A HREF='mailto:$email'>$email</A></B><BR> ";
 		if (strlen($nom_site_auteur) > 2) echo _T('info_site_2')." <B><A HREF='$url_site'>$nom_site_auteur</A></B>";
 		echo "<P>".propre($bio)."</P>";
-		if ($supplement && function_exists(champs_supplement)) {
-			$champs_suppl=champs_supplement("auteur", $id_auteur, $statut);
-			include_ecrire("inc_supplement.php3");
-			supplement_affichage($supplement, $champs_suppl);
+		if ($extra && function_exists(champs_extra)) {
+			$champs_suppl=champs_extra("auteur", $id_auteur, $statut);
+			include_ecrire("inc_extra.php3");
+			extra_affichage($extra, $champs_suppl);
 		}
 		echo "</FONT>";
 		fin_cadre_relief();
diff --git a/ecrire/breves_edit.php3 b/ecrire/breves_edit.php3
index 0521b3ed1a..0c72bb8772 100644
--- a/ecrire/breves_edit.php3
+++ b/ecrire/breves_edit.php3
@@ -163,10 +163,10 @@ if ($connect_statut=="0minirezo" OR $statut=="prop" OR $new == "oui") {
 	echo _T('info_url')."<BR>";
 	echo "<INPUT TYPE='text' CLASS='forml' NAME='lien_url' VALUE=\"$lien_url\" SIZE='40'><P>";
 
-	if (function_exists(champs_supplement)) {
-		$champs_suppl=champs_supplement("breve", $id_breve, $id_secteur);
-		include_ecrire("inc_supplement.php3");
-		supplement_saisie(unserialize($row['supplement']), $champs_suppl);
+	if (function_exists(champs_extra)) {
+		$champs_suppl=champs_extra("breve", $id_breve, $id_secteur);
+		include_ecrire("inc_extra.php3");
+		extra_saisie(unserialize($row['extra']), $champs_suppl);
 	}
 
 	if ($connect_statut=="0minirezo" AND acces_rubrique($id_rubrique)) {
diff --git a/ecrire/breves_voir.php3 b/ecrire/breves_voir.php3
index 1016cd95bb..a9b821274d 100644
--- a/ecrire/breves_voir.php3
+++ b/ecrire/breves_voir.php3
@@ -71,15 +71,15 @@ if ($titre AND $modifier_breve) {
 	$texte = addslashes($texte);
 	$lien_titre = addslashes($lien_titre);
 
-	// recoller les champs du supplement
-	if (function_exists('champs_supplement')) {
-		$champs_suppl=champs_supplement("breve", $id_breve, $id_secteur);
-		include_ecrire("inc_supplement.php3");
-		$supplement = serialize(supplement_recup_saisie($champs_suppl));
+	// recoller les champs du extra
+	if (function_exists('champs_extra')) {
+		$champs_suppl=champs_extra("breve", $id_breve, $id_secteur);
+		include_ecrire("inc_extra.php3");
+		$extra = serialize(extra_recup_saisie($champs_suppl));
 	} else
-		$supplement = '';
+		$extra = '';
 
-	$query = "UPDATE spip_breves SET titre=\"$titre\", texte=\"$texte\", lien_titre=\"$lien_titre\", lien_url=\"$lien_url\", statut=\"$statut\", id_rubrique=\"$id_rubrique\", supplement=\"".addslashes($supplement)."\" WHERE id_breve=$id_breve";
+	$query = "UPDATE spip_breves SET titre=\"$titre\", texte=\"$texte\", lien_titre=\"$lien_titre\", lien_url=\"$lien_url\", statut=\"$statut\", id_rubrique=\"$id_rubrique\", extra=\"".addslashes($extra)."\" WHERE id_breve=$id_breve";
 	$result = spip_query($query);
 	if (lire_meta('activer_moteur') == 'oui') {
 		include_ecrire ("inc_index.php3");
@@ -107,7 +107,7 @@ while ($row = spip_fetch_array($result)) {
 	$titre_breve=$row['titre'];
 	$titre=$row['titre'];
 	$texte=$row['texte'];
-	$supplement=$row['supplement'];
+	$extra=$row['extra'];
 	$lien_titre=$row['lien_titre'];
 	$lien_url=$row['lien_url'];
 	$statut=$row['statut'];
@@ -269,10 +269,10 @@ if ($les_notes) {
 	echo "<hr width='70%' height=1 align='left'><font size=2>$les_notes</font>\n";
 }
 
-if ($supplement && function_exists(champs_supplement)) {
-	$champs_suppl=champs_supplement("breve", $id_breve, $id_secteur);
-	include_ecrire("inc_supplement.php3");
-	supplement_affichage(unserialize($supplement), $champs_suppl);
+if ($extra && function_exists(champs_extra)) {
+	$champs_suppl=champs_extra("breve", $id_breve, $id_secteur);
+	include_ecrire("inc_extra.php3");
+	extra_affichage(unserialize($extra), $champs_suppl);
 }
 
 if ($connect_statut=="0minirezo" AND acces_rubrique($id_rubrique) AND ($statut=="prop" OR $statut=="prepa")){
diff --git a/ecrire/inc_base.php3 b/ecrire/inc_base.php3
index 91ce714c31..d93f2048bc 100644
--- a/ecrire/inc_base.php3
+++ b/ecrire/inc_base.php3
@@ -39,7 +39,7 @@ function creer_base() {
 		accepter_forum CHAR(3) NOT NULL,
 		auteur_modif bigint(21) DEFAULT '0' NOT NULL,
 		date_modif datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
-		supplement longblob NULL,
+		extra longblob NULL,
 		PRIMARY KEY (id_article),
 		KEY id_rubrique (id_rubrique),
 		KEY id_secteur (id_secteur),
@@ -68,7 +68,7 @@ function creer_base() {
 		cookie_oubli tinytext NOT NULL,
 		source VARCHAR(10) DEFAULT 'spip' NOT NULL,
 		lang VARCHAR(10) DEFAULT '' NOT NULL,
-		supplement longblob NULL,
+		extra longblob NULL,
 		PRIMARY KEY (id_auteur),
 		KEY login (login),
 		KEY statut (statut),
@@ -85,7 +85,7 @@ function creer_base() {
 		statut varchar(6) NOT NULL,
 		id_rubrique bigint(21) DEFAULT '0' NOT NULL,
 		maj TIMESTAMP,
-		supplement longblob NULL,
+		extra longblob NULL,
 		PRIMARY KEY (id_breve),
 		KEY id_rubrique (id_rubrique))";
 	$result = spip_query($query);
@@ -111,7 +111,7 @@ function creer_base() {
 		descriptif text NOT NULL,
 		texte longblob NOT NULL,
 		id_groupe bigint(21) NOT NULL,
-		supplement longblob NULL,
+		extra longblob NULL,
 		maj TIMESTAMP,
 		PRIMARY KEY (id_mot),
 		KEY type(type))";
@@ -145,7 +145,7 @@ function creer_base() {
 		id_import BIGINT DEFAULT '0',
 		statut VARCHAR(10) NOT NULL,
 		date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
-		supplement longblob NULL,
+		extra longblob NULL,
 		PRIMARY KEY (id_rubrique),
 		KEY id_parent (id_parent))";
 	$result = spip_query($query);
@@ -1264,13 +1264,27 @@ function maj_base() {
 		maj_version (1.604);
 	}
 
-	if ($version_installee < 1.701) {
-		spip_query("ALTER TABLE spip_articles ADD supplement longblob NULL");
-		spip_query("ALTER TABLE spip_auteurs ADD supplement longblob NULL");
-		spip_query("ALTER TABLE spip_breves ADD supplement longblob NULL");
-		spip_query("ALTER TABLE spip_rubriques ADD supplement longblob NULL");
-		spip_query("ALTER TABLE spip_mots ADD supplement longblob NULL");
-		maj_version (1.701);
+	if ($version_installee < 1.702) {
+		spip_query("ALTER TABLE spip_articles ADD extra longblob NULL");
+		spip_query("ALTER TABLE spip_auteurs ADD extra longblob NULL");
+		spip_query("ALTER TABLE spip_breves ADD extra longblob NULL");
+		spip_query("ALTER TABLE spip_rubriques ADD extra longblob NULL");
+		spip_query("ALTER TABLE spip_mots ADD extra longblob NULL");
+
+		// recuperer les eventuels 'supplement' installes en 1.701
+		if ($version_installee == 1.701) {
+			spip_query ("UPDATE spip_articles SET extra = supplement");
+			spip_query ("ALTER TABLE spip_articles DROP supplement");
+			spip_query ("UPDATE spip_auteurs SET extra = supplement");
+			spip_query ("ALTER TABLE spip_auteurs DROP supplement");
+			spip_query ("UPDATE spip_breves SET extra = supplement");
+			spip_query ("ALTER TABLE spip_breves DROP supplement");
+			spip_query ("UPDATE spip_rubriques SET extra = supplement");
+			spip_query ("ALTER TABLE spip_rubriques DROP supplement");
+			spip_query ("UPDATE spip_mots SET extra = supplement");
+			spip_query ("ALTER TABLE spip_mots DROP supplement");
+		}
+		maj_version (1.702);
 	}
 
 }
diff --git a/ecrire/inc_supplement.php3 b/ecrire/inc_extra.php3
similarity index 73%
rename from ecrire/inc_supplement.php3
rename to ecrire/inc_extra.php3
index 2313dd21ed..266560c4fd 100644
--- a/ecrire/inc_supplement.php3
+++ b/ecrire/inc_extra.php3
@@ -2,10 +2,11 @@
 
 
 ////////////////////////////////////////////////////////////////////////////////////
-// Pour utiliser les champs "supplementaires", il faut installer dans le fichier
+// Pour utiliser les champs "extra", il faut installer dans le fichier
 // ecrire/mes_options.php3 une fonction definissant les champs en question,
-// pour chaque type d'objet (article, rubrique, breve, auteur ou mot) que l'on
-// veut ainsi etendre
+// pour chaque type d'objet (article, rubrique, breve, auteur ou mot) que
+// l'on veut ainsi etendre ; utiliser dans l'espace public avec
+// [(#EXTRA{nom_du_champ})]
 
 /*	Arguments :
  *		$type = "article", "rubrique", "auteur" ...
@@ -20,7 +21,7 @@
  */
 
 /*
-function champs_supplement($type, $id_objet, $ensemble) {
+function champs_extra($type, $id_objet, $ensemble) {
 	if ($type == "auteur") {
 		return Array (
 			"sexe" => "ligne|brut",
@@ -30,13 +31,13 @@ function champs_supplement($type, $id_objet, $ensemble) {
 	}
 
 	if ($type == "article" && $ensemble == 7) {
-		return array(
+		return Array (
 			"isbn" => "ligne|typo"
 		);
 	}
 
-	// par defaut, aucun champ supplementaire.
-	return array();
+	// par defaut, aucun champ extraaire.
+	return Array ();
 }
 */
 
@@ -44,11 +45,11 @@ function champs_supplement($type, $id_objet, $ensemble) {
 
 //
 // Ce fichier ne sera execute qu'une fois
-if (defined("_ECRIRE_INC_SUPPLEMENT")) return;
-define("_ECRIRE_INC_SUPPLEMENT", "1");
+if (defined("_ECRIRE_INC_EXTRA")) return;
+define("_ECRIRE_INC_EXTRA", "1");
 
 // a partir de la liste des champs, generer la liste des input
-function supplement_saisie($supplement, $champs) {
+function extra_saisie($extra, $champs) {
 	if (! sizeof($champs)) return;
 
 	debut_cadre_enfonce();
@@ -56,19 +57,19 @@ function supplement_saisie($supplement, $champs) {
 		list($type, $filtre, $prettyname)=explode("|", $desc);
 
 		if (!$prettyname)
-			$prettyname = $champ;
+			$prettyname = ucfirst($champ);
 		echo "<div><b>$prettyname&nbsp;:</b><br />";
 
 		switch($type) {
 			case "bloc":
 			case "block":
-				echo "<TEXTAREA NAME='suppl_$champ' CLASS='forml' style='font-size:9px;' ROWS='5' COLS='40'>".entites_html($supplement[$champ])."</TEXTAREA>\n";
+				echo "<TEXTAREA NAME='suppl_$champ' CLASS='forml' style='font-size:9px;' ROWS='5' COLS='40'>".entites_html($extra[$champ])."</TEXTAREA>\n";
 				break;
 			case "ligne":
 			case "line":
 			default:
 				echo "<INPUT TYPE='text' NAME='suppl_$champ' CLASS='forml' style='font-size:9px;'\n";
-				echo " VALUE=\"".entites_html($supplement[$champ])."\" SIZE='40'>\n";
+				echo " VALUE=\"".entites_html($extra[$champ])."\" SIZE='40'>\n";
 				break;
 		}
 
@@ -77,20 +78,20 @@ function supplement_saisie($supplement, $champs) {
 	fin_cadre_enfonce();
 }
 
-// recupere les valeurs postees pour reconstituer le supplement
-function supplement_recup_saisie($champs) {
-	$supplement=array();
+// recupere les valeurs postees pour reconstituer le extra
+function extra_recup_saisie($champs) {
+	$extra=array();
 	while(list($champ,)=each($champs)) {
-		$supplement[$champ]=$GLOBALS["suppl_$champ"];
+		$extra[$champ]=$GLOBALS["suppl_$champ"];
 	}
-	return $supplement;
+	return $extra;
 }
 
 // a partir de la liste des champs, generer l'affichage
-function supplement_affichage($supplement, $champs) {
+function extra_affichage($extra, $champs) {
 	while (list($champ,$desc) = each($champs)) {
 		list($type, $filtre, $prettyname) = explode("|", $desc);
-		$contenu = $supplement[$champ];
+		$contenu = $extra[$champ];
 		switch($filtre) {
 			case "typo":
 				$contenu = typo($contenu);
diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3
index fea6ce98de..4179a1c148 100644
--- a/ecrire/inc_filtres.php3
+++ b/ecrire/inc_filtres.php3
@@ -428,10 +428,10 @@ function centrer($letexte) {
 }
 
 //
-// Recuperation de donnees dans le champ supplement
-// Ce filtre n'a de sens qu'avec la balise #SUPPLEMENT
+// Recuperation de donnees dans le champ extra
+// Ce filtre n'a de sens qu'avec la balise #EXTRA
 //
-function champ($letexte,$champ) {
+function extra ($letexte,$champ) {
 	$champs = unserialize($letexte);
 	return interdire_scripts($champs[$champ]);
 }
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index d0088fd29b..6397a43790 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -144,7 +144,7 @@ if ($flag_ecrire) {
 // (utilise pour les modifs de la base de donnees)
 
 // version de la base
-$spip_version = 1.701;
+$spip_version = 1.702;
 
 // version de spip
 $spip_version_affichee = "1.6+ CVS";
diff --git a/ecrire/mots_edit.php3 b/ecrire/mots_edit.php3
index 398ef3ee58..0f42cc65de 100644
--- a/ecrire/mots_edit.php3
+++ b/ecrire/mots_edit.php3
@@ -43,16 +43,16 @@ if ($connect_statut == '0minirezo') {
 		if ($row = spip_fetch_array($result))
 			$type = addslashes(corriger_caracteres($row['titre']));
 
-		// recoller les champs du supplement
-		if (function_exists('champs_supplement')) {
-			$champs_suppl=champs_supplement("mot", $id_mot, $type);
-			include_ecrire("inc_supplement.php3");
-			$supplement = serialize(supplement_recup_saisie($champs_suppl));
+		// recoller les champs du extra
+		if (function_exists('champs_extra')) {
+			$champs_suppl=champs_extra("mot", $id_mot, $type);
+			include_ecrire("inc_extra.php3");
+			$extra = serialize(extra_recup_saisie($champs_suppl));
 		} else
-			$supplement = '';
+			$extra = '';
 
 
-		$query = "UPDATE spip_mots SET titre=\"$titre_mot\", texte=\"$texte\", descriptif=\"$descriptif\", type=\"$type\", id_groupe=$id_groupe, supplement=\"".addslashes($supplement)."\" WHERE id_mot=$id_mot";
+		$query = "UPDATE spip_mots SET titre=\"$titre_mot\", texte=\"$texte\", descriptif=\"$descriptif\", type=\"$type\", id_groupe=$id_groupe, extra=\"".addslashes($extra)."\" WHERE id_mot=$id_mot";
 		$result = spip_query($query);
 
 		if (lire_meta('activer_moteur') == 'oui') {
@@ -85,7 +85,7 @@ if ($row = spip_fetch_array($result)) {
 	$descriptif = $row['descriptif'];
 	$texte = $row['texte'];
 	$type = $row['type'];
-	$supplement = $row['supplement'];
+	$extra = $row['extra'];
 	$id_groupe = $row['id_groupe'];
 }
 
@@ -269,10 +269,10 @@ if ($connect_statut =="0minirezo"){
 	else
 		echo "<INPUT TYPE='hidden' NAME='texte' VALUE=\"$texte\">";
 
-	if (function_exists(champs_supplement)) {
-		$champs_suppl=champs_supplement("mot", $id_mot, $type);
-		include_ecrire("inc_supplement.php3");
-		supplement_saisie(unserialize($supplement), $champs_suppl);
+	if (function_exists(champs_extra)) {
+		$champs_suppl=champs_extra("mot", $id_mot, $type);
+		include_ecrire("inc_extra.php3");
+		extra_saisie(unserialize($extra), $champs_suppl);
 	}
 
 	echo "<DIV align='right'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_valider')."' CLASS='fondo'>";
diff --git a/ecrire/naviguer.php3 b/ecrire/naviguer.php3
index c3f2decb2f..6eeacc5471 100644
--- a/ecrire/naviguer.php3
+++ b/ecrire/naviguer.php3
@@ -152,16 +152,16 @@ if ($titre) {
 	$descriptif = addslashes($descriptif);
 	$texte = addslashes($texte);
 
-	// recoller les champs du supplement
-	if (function_exists('champs_supplement')) {
-		$champs_suppl=champs_supplement("rubrique", $coll, $id_parent);
-		include_ecrire("inc_supplement.php3");
-		$supplement = serialize(supplement_recup_saisie($champs_suppl));
+	// recoller les champs du extra
+	if (function_exists('champs_extra')) {
+		$champs_suppl=champs_extra("rubrique", $coll, $id_parent);
+		include_ecrire("inc_extra.php3");
+		$extra = serialize(extra_recup_saisie($champs_suppl));
 	} else
-		$supplement='';
+		$extra='';
 
 	if ($flag_editable) {
-		$query = "UPDATE spip_rubriques SET $change_parent titre=\"$titre\", descriptif=\"$descriptif\", texte=\"$texte\", supplement=\"".addslashes($supplement)."\" WHERE id_rubrique=$coll";
+		$query = "UPDATE spip_rubriques SET $change_parent titre=\"$titre\", descriptif=\"$descriptif\", texte=\"$texte\", extra=\"".addslashes($extra)."\" WHERE id_rubrique=$coll";
 		$result = spip_query($query);
 	}
 
@@ -188,7 +188,7 @@ while($row=spip_fetch_array($result)){
 	$descriptif=$row['descriptif'];
 	$texte=$row['texte'];
 	$statut = $row['statut'];
-	$supplement = unserialize($row["supplement"]);
+	$extra = unserialize($row["extra"]);
 }
 
 if ($titre)
@@ -353,10 +353,10 @@ if (strlen($descriptif) > 1) {
 
 echo "</table>\n";
 
-if ($supplement && function_exists(champs_supplement)) {
-	$champs_suppl=champs_supplement("rubrique", $id_rubrique, $id_parent);
-	include_ecrire("inc_supplement.php3");
-	supplement_affichage($supplement, $champs_suppl);
+if ($extra && function_exists(champs_extra)) {
+	$champs_suppl=champs_extra("rubrique", $id_rubrique, $id_parent);
+	include_ecrire("inc_extra.php3");
+	extra_affichage($extra, $champs_suppl);
 }
 
 
diff --git a/ecrire/rubriques_edit.php3 b/ecrire/rubriques_edit.php3
index 6005566a23..2e8711fd9e 100644
--- a/ecrire/rubriques_edit.php3
+++ b/ecrire/rubriques_edit.php3
@@ -63,7 +63,7 @@ if ($new == "oui") {
 		$titre = filtrer_entites(_T('titre_nouvelle_rubrique'));
 		$descriptif = "";
 		$texte = "";
-		$supplement=array();
+		$extra=array();
 	}
 	else {
 		echo _T('avis_acces_interdit');
@@ -79,7 +79,7 @@ else {
 		$titre = $row['titre'];
 		$descriptif = $row['descriptif'];
 		$texte = $row['texte'];
-		$supplement = unserialize($row["supplement"]);
+		$extra = unserialize($row["extra"]);
 	}
 }
 
@@ -195,10 +195,10 @@ echo "<BR><TEXTAREA NAME='texte' ROWS='25' CLASS='forml' COLS='40' wrap=soft>";
 echo $texte;
 echo "</TEXTAREA>\n";
 
-if (function_exists(champs_supplement)) {
-	$champs_suppl=champs_supplement("rubrique", $id_rubrique, $id_parent);
-	include_ecrire("inc_supplement.php3");
-	supplement_saisie($supplement, $champs_suppl);
+if (function_exists(champs_extra)) {
+	$champs_suppl=champs_extra("rubrique", $id_rubrique, $id_parent);
+	include_ecrire("inc_extra.php3");
+	extra_saisie($extra, $champs_suppl);
 }
 
 echo "<P align='right'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_valider')."' CLASS='fondo'>";
diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3
index e988e2beb0..c91ef8f7d2 100644
--- a/inc-calcul-squel.php3
+++ b/inc-calcul-squel.php3
@@ -241,8 +241,8 @@ function parser_boucle($texte, $id_parent) {
 					if (ereg('\#(PS)', $milieu)) {
 						$s .= ",$table.ps";
 					}
-					if (ereg('\#(SUPPLEMENT)', $milieu)) {
-						$s .= ",$table.supplement";
+					if (ereg('\#(EXTRA)', $milieu)) {
+						$s .= ",$table.extra";
 					}
 
 					$req_select[] = $s;
@@ -706,7 +706,7 @@ function parser_champs_etendus($texte) {
 				}
 
 				if ($fonctions) {
-					$fonctions = explode('|', substr($fonctions, 1));
+					$fonctions = explode('|', ereg_replace("^\|", "", $fonctions));
 					reset($fonctions);
 					while (list(, $f) = each($fonctions)) $champ->fonctions[] = $f;
 				}
@@ -846,7 +846,7 @@ function parser($texte) {
 		'LARGEUR', 'HAUTEUR', 'TAILLE', 'EXTENSION',
 		'DEBUT_SURLIGNE', 'FIN_SURLIGNE', 'TYPE_DOCUMENT', 'EXTENSION_DOCUMENT',
 		'FORMULAIRE_ADMIN', 'LOGIN_PRIVE', 'LOGIN_PUBLIC', 'URL_LOGOUT', 'PUCE',
-		'SUPPLEMENT'
+		'EXTRA'
 	);
 	reset($c);
 	while (list(, $val) = each($c)) {
@@ -1435,14 +1435,25 @@ function calculer_champ($id_champ, $id_boucle, $nom_var)
 		$code = 'ceil(lire_meta(\'popularite_max\'))';
 		break;
 
-	case 'SUPPLEMENT':
+	case 'EXTRA':
 		// cas particulier : on ne peut pas appliquer interdire_scripts directement
 		// sur la balise, sinon on casse le unserialize(). Donc on ne l'applique qu'en
-		// absence de filtres (et aussi dans le filtre |champ{"xxx"})
+		// absence de filtres (et aussi dans le filtre extra{"xxx"})
 		if (!$fonctions) {
 			$fonctions[] = 'interdire_scripts';
-		}
-		$code = 'trim($pile_boucles[$id_instance]->row[\'supplement\'])';
+		} /* else {
+			// gerer la notation [(#EXTRA{toto})]
+			$filtres = Array();
+			reset ($fonctions);
+			while (list(,$filtre) = each($fonctions)) {
+				if (ereg("^{(.*)\}$", trim($filtre), $regs))
+					$filtres[] = 'extra{"'.$regs[1].'"}';
+				else
+					$filtres[] = $filtre;
+			}
+			$fonctions = $filtres;
+		} */
+		$code = 'trim($pile_boucles[$id_instance]->row[\'extra\'])';
 		break;
 
 	//
-- 
GitLab