From 639f1cd94e13d1d44d266803d69a0819a6fcc7c7 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Thu, 15 Dec 2005 21:03:45 +0000
Subject: [PATCH] surcharge en plus, XSS en moins

---
 .gitattributes            |   1 +
 ecrire/inc_mots.php3      |  16 --
 ecrire/inc_mots_edit.php3 | 347 ++++++++++++++++++++++++++++++++++++++
 ecrire/mots_edit.php3     | 291 +-------------------------------
 4 files changed, 350 insertions(+), 305 deletions(-)
 create mode 100644 ecrire/inc_mots_edit.php3

diff --git a/.gitattributes b/.gitattributes
index 6c02bd9ba9..8610d34aa8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -294,6 +294,7 @@ ecrire/inc_message.php -text
 ecrire/inc_messagerie.php -text
 ecrire/inc_mini_nav.php -text
 ecrire/inc_minipres.php -text
+ecrire/inc_mots_edit.php3 -text
 ecrire/inc_mots_tous.php3 -text
 ecrire/inc_mots_type.php -text
 ecrire/inc_naviguer.php -text
diff --git a/ecrire/inc_mots.php3 b/ecrire/inc_mots.php3
index c95b01bb32..490ebc4185 100644
--- a/ecrire/inc_mots.php3
+++ b/ecrire/inc_mots.php3
@@ -96,22 +96,6 @@ function mots_ressemblants($mot, $table_mots, $table_ids='') {
 }
 
 
-function un_seul_mot_dans_groupe($id_groupe)
-{
-	list($u) = spip_fetch_array(spip_query("SELECT unseul FROM spip_groupes_mots WHERE id_groupe = $id_groupe"));
-	return ($u == 'oui');
-}
-
-function supprime_mot_de_groupe($id_groupe, $table)
-{
-	if (un_seul_mot_dans_groupe($id_groupe)) {
-		$mots = spip_query("SELECT id_mot FROM spip_mots WHERE id_groupe = $id_groupe");
-		while ($r = spip_fetch_array($mots))
-			spip_query("DELETE FROM spip_mots_$table WHERE id_mot=" .
-				   $r['id_mot']);
-	}
-}
-
 /*
  * Affiche la liste des mots-cles associes a l'objet
  * specifie, plus le formulaire d'ajout de mot-cle
diff --git a/ecrire/inc_mots_edit.php3 b/ecrire/inc_mots_edit.php3
new file mode 100644
index 0000000000..a4642e3011
--- /dev/null
+++ b/ecrire/inc_mots_edit.php3
@@ -0,0 +1,347 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2005                                                *
+ *  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.   *
+\***************************************************************************/
+
+
+include_ecrire("inc_presentation.php3");
+include_ecrire ("inc_logos.php3");
+include_ecrire ("inc_abstract_sql.php3");
+
+function mots_edit_dist()
+{
+global
+  $ajouter_id_article,
+  $champs_extra,
+  $connect_statut,
+  $connect_toutes_rubriques,
+  $descriptif,
+  $id_groupe,
+  $id_mot,
+  $id_table,
+  $new,
+  $onfocus,
+  $options,
+  $query,
+  $query_groupes,
+  $redirect,
+  $redirect_ok,
+  $result,
+  $row,
+  $row_groupes,
+  $supp_mot,
+  $table,
+  $texte,
+  $titre,
+  $titre_groupe,
+  $titre_mot,
+  $type;
+
+ $id_groupe = intval($id_groupe);
+ $id_mot = intval($id_mot);
+//
+// modifications mot
+//
+if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques) {
+	if ($supp_mot) {
+		$query = "DELETE FROM spip_mots WHERE id_mot=$supp_mot";
+		$result = spip_query($query);
+		$query = "DELETE FROM spip_mots_articles WHERE id_mot=$supp_mot";
+		$result = spip_query($query);
+	}
+
+	if (strval($titre_mot)!='') {
+		if ($new == 'oui' && $id_groupe) {
+			$id_mot = spip_abstract_insert("spip_mots", '(id_groupe)', "($id_groupe)");
+
+			$ajouter_id_article = intval($ajouter_id_article);
+			// heureusement que c'est pour les admin complet,
+			// sinon bonjour le XSS
+			if ($ajouter_id_article) {
+				supprime_mot_de_groupe($id_groupe, $table);
+				spip_abstract_insert("spip_mots_$table", "(id_mot, $id_table)", "($id_mot, $ajouter_id_article)");
+			}
+		}
+
+		$titre_mot = addslashes($titre_mot);
+		$texte = addslashes($texte);
+		$descriptif = addslashes($descriptif);
+		$type = addslashes(corriger_caracteres($type));
+		$result = spip_query("SELECT titre FROM spip_groupes_mots WHERE id_groupe='$id_groupe'");
+		if ($row = spip_fetch_array($result))
+			$type = addslashes(corriger_caracteres($row['titre']));
+
+		// recoller les champs du extra
+		if ($champs_extra) {
+			include_ecrire("inc_extra.php3");
+			$add_extra = ", extra = '".addslashes(extra_recup_saisie("mots"))."'";
+		} else
+			$add_extra = '';
+
+		$query = "UPDATE spip_mots SET titre='$titre_mot', texte='$texte', descriptif='$descriptif', type='$type', id_groupe=$id_groupe $add_extra WHERE id_mot=$id_mot";
+		$result = spip_query($query);
+
+		if ($GLOBALS['meta']['activer_moteur'] == 'oui') {
+			include_ecrire ("inc_index.php3");
+			marquer_indexer('mot', $id_mot);
+		}
+	}
+	else if ($new == 'oui') {
+		if (!$titre_mot = $titre) {
+			$titre_mot = filtrer_entites(_T('texte_nouveau_mot'));
+			$onfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\"";
+		}
+	}
+}
+
+//
+// redirection ou affichage
+//
+if ($redirect_ok == 'oui' && $redirect) {
+	redirige_par_entete(rawurldecode($redirect));
+}
+
+//
+// Recupere les donnees
+//
+$query = "SELECT * FROM spip_mots WHERE id_mot='$id_mot'";
+$result = spip_query($query);
+
+if ($row = spip_fetch_array($result)) {
+	$id_mot = $row['id_mot'];
+	$titre_mot = $row['titre'];
+	$descriptif = $row['descriptif'];
+	$texte = $row['texte'];
+	$type = $row['type'];
+	$extra = $row['extra'];
+	$id_groupe = $row['id_groupe'];
+}
+
+debut_page("&laquo; $titre_mot &raquo;", "documents", "mots");
+debut_gauche();
+
+
+//////////////////////////////////////////////////////
+// Boite "voir en ligne"
+//
+
+if ($id_mot) {
+	debut_boite_info();
+	echo "<CENTER>";
+	echo "<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=1><B>"._T('titre_gauche_mots_edit')."</B></FONT>";
+	echo "<BR><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=6><B>$id_mot</B></FONT>";
+	echo "</CENTER>";
+
+	voir_en_ligne ('mot', $id_mot);
+
+	fin_boite_info();
+}
+
+echo "<p><center>";
+if ($new == 'oui') {
+	$adresse_retour = "mots_edit.php3?redirect=$redirect&redirect_ok=oui&supp_mot=$id_mot";
+}else {
+	$adresse_retour = "mots_edit.php3?redirect=$redirect&redirect_ok=oui";
+}
+echo "</center>";
+
+//////////////////////////////////////////////////////
+// Logos du mot-clef
+//
+
+if ($id_mot > 0 AND $connect_statut == '0minirezo'  AND $connect_toutes_rubriques)
+	afficher_boite_logo('mot', 'id_mot', $id_mot,
+	_T('logo_mot_cle').aide("breveslogo"), _T('logo_survol'));
+
+
+//
+// Afficher les boutons de creation d'article et de breve
+//
+debut_raccourcis();
+
+if ($connect_statut == '0minirezo'  AND $connect_toutes_rubriques) {
+		icone_horizontale(_T('icone_modif_groupe_mots'), "mots_type.php3?id_groupe=$id_groupe", "groupe-mot-24.gif", "edit.gif");
+		icone_horizontale(_T('icone_creation_mots_cles'), "mots_edit.php3?new=oui&redirect=mots_tous.php3&id_groupe=$id_groupe", "mot-cle-24.gif", "creer.gif");
+ }
+icone_horizontale(_T('icone_voir_tous_mots_cles'), "mots_tous.php3", "mot-cle-24.gif", "rien.gif");
+
+fin_raccourcis();
+
+
+debut_droite();
+
+debut_cadre_relief("mot-cle-24.gif");
+
+
+echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>";
+echo "<tr width='100%'>";
+echo "<td width='100%' valign='top'>";
+gros_titre($titre_mot);
+
+
+if ($descriptif) {
+	echo "<p><div align='left' border: 1px dashed #aaaaaa;'>";
+	echo "<font size=2 face='Verdana,Arial,Sans,sans-serif'>";
+	echo "<b>"._T('info_descriptif')."</b> ";
+	echo propre($descriptif);
+	echo "&nbsp; ";
+	echo "</font>";
+	echo "</div>";
+}
+echo "</td>";
+echo "</tr></table>\n";
+
+
+if (strlen($texte)>0){
+	echo "<FONT FACE='Verdana,Arial,Sans,sans-serif'>";
+	echo "<P>".propre($texte);
+	echo "</FONT>";
+}
+
+
+
+if ($id_mot) {
+	echo "<P>";
+
+	if ($connect_statut == "0minirezo")
+		$aff_articles = "'prepa','prop','publie','refuse'";
+	else
+		$aff_articles = "'prop','publie'";
+
+	afficher_rubriques(_T('info_rubriques_liees_mot'),
+	"SELECT rubrique.* FROM spip_rubriques AS rubrique, spip_mots_rubriques AS lien WHERE lien.id_mot='$id_mot'
+	AND lien.id_rubrique=rubrique.id_rubrique ORDER BY rubrique.titre");
+
+	afficher_articles(_T('info_articles_lies_mot'),
+	", spip_mots_articles AS lien WHERE lien.id_mot='$id_mot'
+	AND lien.id_article=articles.id_article AND articles.statut IN ($aff_articles) ORDER BY articles.date DESC", true);
+
+	afficher_breves(_T('info_breves_liees_mot'),
+	"SELECT breves.* FROM spip_breves AS breves, spip_mots_breves AS lien WHERE lien.id_mot='$id_mot'
+	AND lien.id_breve=breves.id_breve ORDER BY breves.date_heure DESC");
+
+	include_ecrire ("inc_sites_tous.php");
+	afficher_sites(_T('info_sites_lies_mot'),
+	"SELECT syndic.* FROM spip_syndic AS syndic, spip_mots_syndic AS lien WHERE lien.id_mot='$id_mot'
+	AND lien.id_syndic=syndic.id_syndic ORDER BY syndic.nom_site DESC");
+}
+
+fin_cadre_relief();
+
+
+
+if ($connect_statut =="0minirezo"  AND $connect_toutes_rubriques){
+	echo "<P>";
+	debut_cadre_formulaire();
+
+	echo "<FORM ACTION='mots_edit.php3' METHOD='post'>";
+	echo "<div class='serif'>";
+	
+	if ($id_mot)
+		echo "<INPUT TYPE='Hidden' NAME='id_mot' VALUE='$id_mot'>\n";
+	else if ($new=='oui')
+		echo "<INPUT TYPE='Hidden' NAME='new' VALUE='oui' />\n";
+	echo "<INPUT TYPE='Hidden' NAME='redirect' VALUE=\"$redirect\" />\n";
+	echo "<INPUT TYPE='Hidden' NAME='redirect_ok' VALUE='oui' />\n";
+	echo "<INPUT TYPE='Hidden' NAME='table' VALUE='$table' />\n";
+	echo "<INPUT TYPE='Hidden' NAME='id_table' VALUE='$id_table' />\n";
+	echo "<INPUT TYPE='Hidden' NAME='ajouter_id_article' VALUE=\"$ajouter_id_article\" />\n";
+
+	$titre_mot = entites_html($titre_mot);
+	$descriptif = entites_html($descriptif);
+	$texte = entites_html($texte);
+
+	echo "<B>"._T('info_titre_mot_cle')."</B> "._T('info_obligatoire_02');
+	echo aide ("mots");
+
+	echo "<BR><INPUT TYPE='text' NAME='titre_mot' CLASS='formo' VALUE=\"$titre_mot\" SIZE='40' $onfocus />";
+
+	// dans le groupe...
+	$query_groupes = "SELECT id_groupe, titre FROM spip_groupes_mots ORDER BY titre";
+	$result = spip_query($query_groupes);
+	if (spip_num_rows($result)>1) {
+		debut_cadre_relief("groupe-mot-24.gif");
+		echo  _T('info_dans_groupe')."</label>\n";
+		echo aide ("motsgroupes");
+		echo  " &nbsp; <SELECT NAME='id_groupe' class='fondl'>\n";
+		while ($row_groupes = spip_fetch_array($result)){
+			$groupe = $row_groupes['id_groupe'];
+			$titre_groupe = texte_backend(supprimer_tags(typo($row_groupes['titre'])));
+			echo  "<OPTION".mySel($groupe, $id_groupe).">$titre_groupe</OPTION>\n";
+		}			
+		echo  "</SELECT>";
+		fin_cadre_relief();
+	} else {
+		$row_groupes = spip_fetch_array($result);
+		if (!$row_groupes) {
+			// il faut creer un groupe de mots (cas d'un mot cree depuis articles.php3)
+		  $row_groupes['id_groupe'] = spip_abstract_insert("spip_groupes_mots",
+			"(titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum)",
+			"('" . 
+			addslashes(_T('info_mot_sans_groupe')) .
+			"', 'non',  'non', 'oui', 'oui', 'non', 'oui', 'oui', 'non', 'non'" .
+			")");
+		}
+		echo "<input type='hidden' name='id_groupe' value='".$row_groupes['id_groupe']."'>";
+	}
+
+	if ($options == 'avancees' OR $descriptif) {
+		echo "<B>"._T('texte_descriptif_rapide')."</B><BR>";
+		echo "<TEXTAREA NAME='descriptif' CLASS='forml' ROWS='4' COLS='40' wrap=soft>";
+		echo $descriptif;
+		echo "</TEXTAREA><P>\n";
+	}
+	else
+		echo "<INPUT TYPE='hidden' NAME='descriptif' VALUE=\"$descriptif\">";
+
+	if ($options == 'avancees' OR $texte) {
+		echo "<B>"._T('info_texte_explicatif')."</B><BR>";
+		echo "<TEXTAREA NAME='texte' ROWS='8' CLASS='forml' COLS='40' wrap=soft>";
+		echo $texte;
+		echo "</TEXTAREA><P>\n";
+	}
+	else
+		echo "<INPUT TYPE='hidden' NAME='texte' VALUE=\"$texte\">";
+
+	if ($champs_extra) {
+		include_ecrire("inc_extra.php3");
+		extra_saisie($extra, 'mots', $id_groupe);
+	}
+
+	echo "<DIV align='right'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_enregistrer')."' CLASS='fondo'></div>";
+	
+	echo "</div>";
+	echo "</FORM>";
+
+	fin_cadre_formulaire();
+}
+
+
+fin_page();
+}
+
+
+function un_seul_mot_dans_groupe($id_groupe)
+{
+	list($u) = spip_fetch_array(spip_query("SELECT unseul FROM spip_groupes_mots WHERE id_groupe = $id_groupe"));
+	return ($u == 'oui');
+}
+
+function supprime_mot_de_groupe($id_groupe, $table)
+{
+	if (un_seul_mot_dans_groupe($id_groupe)) {
+		$mots = spip_query("SELECT id_mot FROM spip_mots WHERE id_groupe = $id_groupe");
+		while ($r = spip_fetch_array($mots))
+			spip_query("DELETE FROM spip_mots_$table WHERE id_mot=" .
+				   $r['id_mot']);
+	}
+}
+
+?>
diff --git a/ecrire/mots_edit.php3 b/ecrire/mots_edit.php3
index c2e4f21d0a..2fe0d69a9d 100644
--- a/ecrire/mots_edit.php3
+++ b/ecrire/mots_edit.php3
@@ -10,294 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
-
 include ("inc.php3");
-include_ecrire("inc_presentation.php3");
-include_ecrire("inc_texte.php3");
-include_ecrire("inc_urls.php3");
-include_ecrire("inc_rubriques.php3");
-include_ecrire ("inc_mots.php3");
-include_ecrire ("inc_logos.php3");
-include_ecrire ("inc_abstract_sql.php3");
-
-
-//
-// modifications mot
-//
-if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques) {
-	if ($supp_mot) {
-		$query = "DELETE FROM spip_mots WHERE id_mot=$supp_mot";
-		$result = spip_query($query);
-		$query = "DELETE FROM spip_mots_articles WHERE id_mot=$supp_mot";
-		$result = spip_query($query);
-	}
-
-	if (strval($titre_mot)!='') {
-		if ($new == 'oui' && $id_groupe) {
-			$id_mot = spip_abstract_insert("spip_mots", '(id_groupe)', "($id_groupe)");
-
-			$ajouter_id_article = intval($ajouter_id_article);
-			if ($ajouter_id_article) {
-				supprime_mot_de_groupe($id_groupe, $table);
-				spip_abstract_insert("spip_mots_$table", "(id_mot, $id_table)", "($id_mot, $ajouter_id_article)");
-			}
-		}
-
-		$titre_mot = addslashes($titre_mot);
-		$texte = addslashes($texte);
-		$descriptif = addslashes($descriptif);
-		$type = addslashes(corriger_caracteres($type));
-		$result = spip_query("SELECT titre FROM spip_groupes_mots WHERE id_groupe='$id_groupe'");
-		if ($row = spip_fetch_array($result))
-			$type = addslashes(corriger_caracteres($row['titre']));
-
-		// recoller les champs du extra
-		if ($champs_extra) {
-			include_ecrire("inc_extra.php3");
-			$add_extra = ", extra = '".addslashes(extra_recup_saisie("mots"))."'";
-		} else
-			$add_extra = '';
-
-		$query = "UPDATE spip_mots SET titre='$titre_mot', texte='$texte', descriptif='$descriptif', type='$type', id_groupe=$id_groupe $add_extra WHERE id_mot=$id_mot";
-		$result = spip_query($query);
-
-		if ($GLOBALS['meta']['activer_moteur'] == 'oui') {
-			include_ecrire ("inc_index.php3");
-			marquer_indexer('mot', $id_mot);
-		}
-	}
-	else if ($new == 'oui') {
-		if (!$titre_mot = $titre) {
-			$titre_mot = filtrer_entites(_T('texte_nouveau_mot'));
-			$onfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\"";
-		}
-	}
-}
-
-//
-// redirection ou affichage
-//
-if ($redirect_ok == 'oui' && $redirect) {
-	redirige_par_entete(rawurldecode($redirect));
-}
-
-//
-// Recupere les donnees
-//
-$query = "SELECT * FROM spip_mots WHERE id_mot='$id_mot'";
-$result = spip_query($query);
-
-if ($row = spip_fetch_array($result)) {
-	$id_mot = $row['id_mot'];
-	$titre_mot = $row['titre'];
-	$descriptif = $row['descriptif'];
-	$texte = $row['texte'];
-	$type = $row['type'];
-	$extra = $row['extra'];
-	$id_groupe = $row['id_groupe'];
-}
-
-debut_page("&laquo; $titre_mot &raquo;", "documents", "mots");
-debut_gauche();
-
-
-//////////////////////////////////////////////////////
-// Boite "voir en ligne"
-//
-
-if ($id_mot) {
-	debut_boite_info();
-	echo "<CENTER>";
-	echo "<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=1><B>"._T('titre_gauche_mots_edit')."</B></FONT>";
-	echo "<BR><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=6><B>$id_mot</B></FONT>";
-	echo "</CENTER>";
-
-	voir_en_ligne ('mot', $id_mot);
-
-	fin_boite_info();
-}
-
-echo "<p><center>";
-if ($new == 'oui') {
-	$adresse_retour = "mots_edit.php3?redirect=$redirect&redirect_ok=oui&supp_mot=$id_mot";
-}else {
-	$adresse_retour = "mots_edit.php3?redirect=$redirect&redirect_ok=oui";
-}
-echo "</center>";
-
-//////////////////////////////////////////////////////
-// Logos du mot-clef
-//
-
-if ($id_mot > 0 AND $connect_statut == '0minirezo'  AND $connect_toutes_rubriques)
-	afficher_boite_logo('mot', 'id_mot', $id_mot,
-	_T('logo_mot_cle').aide("breveslogo"), _T('logo_survol'));
-
-
-//
-// Afficher les boutons de creation d'article et de breve
-//
-debut_raccourcis();
-
-if ($connect_statut == '0minirezo'  AND $connect_toutes_rubriques) {
-		icone_horizontale(_T('icone_modif_groupe_mots'), "mots_type.php3?id_groupe=$id_groupe", "groupe-mot-24.gif", "edit.gif");
-		icone_horizontale(_T('icone_creation_mots_cles'), "mots_edit.php3?new=oui&redirect=mots_tous.php3&id_groupe=$id_groupe", "mot-cle-24.gif", "creer.gif");
- }
-icone_horizontale(_T('icone_voir_tous_mots_cles'), "mots_tous.php3", "mot-cle-24.gif", "rien.gif");
-
-fin_raccourcis();
-
-
-debut_droite();
-
-debut_cadre_relief("mot-cle-24.gif");
-
-
-echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>";
-echo "<tr width='100%'>";
-echo "<td width='100%' valign='top'>";
-gros_titre($titre_mot);
-
-
-if ($descriptif) {
-	echo "<p><div align='left' border: 1px dashed #aaaaaa;'>";
-	echo "<font size=2 face='Verdana,Arial,Sans,sans-serif'>";
-	echo "<b>"._T('info_descriptif')."</b> ";
-	echo propre($descriptif);
-	echo "&nbsp; ";
-	echo "</font>";
-	echo "</div>";
-}
-echo "</td>";
-echo "</tr></table>\n";
-
-
-if (strlen($texte)>0){
-	echo "<FONT FACE='Verdana,Arial,Sans,sans-serif'>";
-	echo "<P>".propre($texte);
-	echo "</FONT>";
-}
-
-
-
-if ($id_mot) {
-	echo "<P>";
-
-	if ($connect_statut == "0minirezo")
-		$aff_articles = "'prepa','prop','publie','refuse'";
-	else
-		$aff_articles = "'prop','publie'";
-
-	afficher_rubriques(_T('info_rubriques_liees_mot'),
-	"SELECT rubrique.* FROM spip_rubriques AS rubrique, spip_mots_rubriques AS lien WHERE lien.id_mot='$id_mot'
-	AND lien.id_rubrique=rubrique.id_rubrique ORDER BY rubrique.titre");
-
-	afficher_articles(_T('info_articles_lies_mot'),
-	", spip_mots_articles AS lien WHERE lien.id_mot='$id_mot'
-	AND lien.id_article=articles.id_article AND articles.statut IN ($aff_articles) ORDER BY articles.date DESC", true);
-
-	afficher_breves(_T('info_breves_liees_mot'),
-	"SELECT breves.* FROM spip_breves AS breves, spip_mots_breves AS lien WHERE lien.id_mot='$id_mot'
-	AND lien.id_breve=breves.id_breve ORDER BY breves.date_heure DESC");
-
-	include_ecrire ("inc_sites_tous.php");
-	afficher_sites(_T('info_sites_lies_mot'),
-	"SELECT syndic.* FROM spip_syndic AS syndic, spip_mots_syndic AS lien WHERE lien.id_mot='$id_mot'
-	AND lien.id_syndic=syndic.id_syndic ORDER BY syndic.nom_site DESC");
-}
-
-fin_cadre_relief();
-
-
-
-if ($connect_statut =="0minirezo"  AND $connect_toutes_rubriques){
-	echo "<P>";
-	debut_cadre_formulaire();
-
-	echo "<FORM ACTION='mots_edit.php3' METHOD='post'>";
-	echo "<div class='serif'>";
-	
-	if ($id_mot)
-		echo "<INPUT TYPE='Hidden' NAME='id_mot' VALUE='$id_mot'>\n";
-	else if ($new=='oui')
-		echo "<INPUT TYPE='Hidden' NAME='new' VALUE='oui' />\n";
-	echo "<INPUT TYPE='Hidden' NAME='redirect' VALUE=\"$redirect\" />\n";
-	echo "<INPUT TYPE='Hidden' NAME='redirect_ok' VALUE='oui' />\n";
-	echo "<INPUT TYPE='Hidden' NAME='table' VALUE='$table' />\n";
-	echo "<INPUT TYPE='Hidden' NAME='id_table' VALUE='$id_table' />\n";
-	echo "<INPUT TYPE='Hidden' NAME='ajouter_id_article' VALUE=\"$ajouter_id_article\" />\n";
-
-	$titre_mot = entites_html($titre_mot);
-	$descriptif = entites_html($descriptif);
-	$texte = entites_html($texte);
-
-	echo "<B>"._T('info_titre_mot_cle')."</B> "._T('info_obligatoire_02');
-	echo aide ("mots");
-
-	echo "<BR><INPUT TYPE='text' NAME='titre_mot' CLASS='formo' VALUE=\"$titre_mot\" SIZE='40' $onfocus />";
-
-	// dans le groupe...
-	$query_groupes = "SELECT id_groupe, titre FROM spip_groupes_mots ORDER BY titre";
-	$result = spip_query($query_groupes);
-	if (spip_num_rows($result)>1) {
-		debut_cadre_relief("groupe-mot-24.gif");
-		echo  _T('info_dans_groupe')."</label>\n";
-		echo aide ("motsgroupes");
-		echo  " &nbsp; <SELECT NAME='id_groupe' class='fondl'>\n";
-		while ($row_groupes = spip_fetch_array($result)){
-			$groupe = $row_groupes['id_groupe'];
-			$titre_groupe = texte_backend(supprimer_tags(typo($row_groupes['titre'])));
-			echo  "<OPTION".mySel($groupe, $id_groupe).">$titre_groupe</OPTION>\n";
-		}			
-		echo  "</SELECT>";
-		fin_cadre_relief();
-	} else {
-		$row_groupes = spip_fetch_array($result);
-		if (!$row_groupes) {
-			// il faut creer un groupe de mots (cas d'un mot cree depuis articles.php3)
-		  $row_groupes['id_groupe'] = spip_abstract_insert("spip_groupes_mots",
-			"(titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum)",
-			"('" . 
-			addslashes(_T('info_mot_sans_groupe')) .
-			"', 'non',  'non', 'oui', 'oui', 'non', 'oui', 'oui', 'non', 'non'" .
-			")");
-		}
-		echo "<input type='hidden' name='id_groupe' value='".$row_groupes['id_groupe']."'>";
-	}
-
-	if ($options == 'avancees' OR $descriptif) {
-		echo "<B>"._T('texte_descriptif_rapide')."</B><BR>";
-		echo "<TEXTAREA NAME='descriptif' CLASS='forml' ROWS='4' COLS='40' wrap=soft>";
-		echo $descriptif;
-		echo "</TEXTAREA><P>\n";
-	}
-	else
-		echo "<INPUT TYPE='hidden' NAME='descriptif' VALUE=\"$descriptif\">";
-
-	if ($options == 'avancees' OR $texte) {
-		echo "<B>"._T('info_texte_explicatif')."</B><BR>";
-		echo "<TEXTAREA NAME='texte' ROWS='8' CLASS='forml' COLS='40' wrap=soft>";
-		echo $texte;
-		echo "</TEXTAREA><P>\n";
-	}
-	else
-		echo "<INPUT TYPE='hidden' NAME='texte' VALUE=\"$texte\">";
-
-	if ($champs_extra) {
-		include_ecrire("inc_extra.php3");
-		extra_saisie($extra, 'mots', $id_groupe);
-	}
-
-	echo "<DIV align='right'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_enregistrer')."' CLASS='fondo'></div>";
-	
-	echo "</div>";
-	echo "</FORM>";
-
-	fin_cadre_formulaire();
-}
-
-
-fin_page();
-
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f();
 ?>
-- 
GitLab