From ac7bea5bd46b7695cc3b5bdabfa4c642317a15dc Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sun, 13 Nov 2005 10:55:15 +0000
Subject: [PATCH] partage du code de surcharge

---
 ecrire/aide_index.php3                  | 12 ++-------
 ecrire/ajax_page.php                    | 35 +++----------------------
 ecrire/articles_page.php3               | 20 ++------------
 ecrire/auteurs_edit.php3                | 21 +++------------
 ecrire/breves.php3                      | 21 ++-------------
 ecrire/brouteur_frame.php3              | 20 ++------------
 ecrire/calendrier.php3                  | 20 ++------------
 ecrire/calendrier_jour.php3             |  5 ++--
 ecrire/calendrier_semaine.php3          |  6 +++--
 ecrire/controle_forum.php3              | 12 ++-------
 ecrire/export.php3                      | 20 ++------------
 ecrire/forum.php3                       |  4 ++-
 ecrire/forum_admin.php3                 | 20 ++------------
 ecrire/inc_ajax_page.php                | 26 ++++++++++++++++++
 ecrire/inc_articles_page.php            | 12 ++++-----
 ecrire/inc_brouteur_frame.php           |  2 +-
 ecrire/inc_presentation.php3            |  2 +-
 ecrire/inc_statistiques_repartition.php |  5 ++++
 ecrire/inc_version.php3                 | 32 ++++++++++++++++++++++
 ecrire/js_menu_rubriques.php            | 20 ++------------
 ecrire/messagerie.php3                  | 18 ++-----------
 ecrire/naviguer.php3                    | 19 ++------------
 ecrire/statistiques_repartition.php     | 25 ++----------------
 ecrire/synchro.php3                     | 19 ++------------
 24 files changed, 113 insertions(+), 283 deletions(-)

diff --git a/ecrire/aide_index.php3 b/ecrire/aide_index.php3
index 02cc7ed5b5..2cf6729a7d 100644
--- a/ecrire/aide_index.php3
+++ b/ecrire/aide_index.php3
@@ -12,14 +12,6 @@
 
 define('_ECRIRE_AIDE', 1);
 include ("inc_version.php3");
-
-$nom = "aide_index";
-$f = find_in_path('inc_' . $nom . '.php');
-if ($f) 
-  include($f);
- else include_ecrire('inc_' . $nom . '.php');
-  
-if (function_exists($nom))
-  $nom($img, $frame, $aide, $var_lang, $lang);
-
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f($img, $frame, $aide, $var_lang, $lang);
 ?>
diff --git a/ecrire/ajax_page.php b/ecrire/ajax_page.php
index 863403a99a..820c73b1f9 100644
--- a/ecrire/ajax_page.php
+++ b/ecrire/ajax_page.php
@@ -1,4 +1,5 @@
 <?php
+
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
@@ -10,36 +11,6 @@
 \***************************************************************************/
 
 include ("inc.php3");
-
-$var_nom = 'ajax_page';
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else
-  include_ecrire($var_f = 'inc_' . $var_nom . '.php');
-
-# gerer un charset minimaliste en convertissant tout en unicode &#xxx;
-
-
-$var_nom = 'ajax_page_' . $fonction;
-if (!function_exists($var_nom))
-	spip_log("fonction $var_nom indisponible dans $var_f");
- else {
-	if ($flag_ob) {
-		ob_start();
-		$charset = lire_meta("charset");
-	}
-	@header('Content-type: text/html; charset=$charset');
-	echo "<"."?xml version='1.0' encoding='$charset'?".">\n";
-	$var_nom(intval($id), intval($exclus), intval($col), $id_ajax_fonc, $type, $rac);
-
-	if ($flag_ob) {
-	# fin gestion charset
-		$a = ob_get_contents();
-		ob_end_clean();
-		include_ecrire('inc_charsets.php3');
-		echo charset2unicode($a, 'AUTO', true);
-	}
-}
+$var_f = include_fonction(basename($SCRIPT_NAME, '.php'));
+$var_f($fonction, intval($id), intval($exclus), intval($col), $id_ajax_fonc, $type, $rac);
 ?>
diff --git a/ecrire/articles_page.php3 b/ecrire/articles_page.php3
index f4b06e19ea..2fe0d69a9d 100644
--- a/ecrire/articles_page.php3
+++ b/ecrire/articles_page.php3
@@ -10,23 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "articles_page";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else
-  include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-  $var_nom($connect_id_auteur);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f($connect_id_auteur);
-else
-   spip_log("fonction $var_nom indisponible");
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f();
 ?>
diff --git a/ecrire/auteurs_edit.php3 b/ecrire/auteurs_edit.php3
index de6661a5ba..65b7c72218 100644
--- a/ecrire/auteurs_edit.php3
+++ b/ecrire/auteurs_edit.php3
@@ -10,23 +10,8 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "auteurs_edit";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
 
-if ($var_f) 
-  include($var_f);
- else
-   include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-  $var_nom($id_auteur);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f($id_auteur);
-else
-   spip_log("fonction $var_nom indisponible");
+include ("inc.php3");
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f(intval($id_auteur));
 ?>
-
diff --git a/ecrire/breves.php3 b/ecrire/breves.php3
index cc5b8c682c..2fe0d69a9d 100644
--- a/ecrire/breves.php3
+++ b/ecrire/breves.php3
@@ -10,24 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "breves";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
- else
-   include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-  $var_nom();
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f();
-else
-   spip_log("fonction $var_nom indisponible");
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f();
 ?>
-
diff --git a/ecrire/brouteur_frame.php3 b/ecrire/brouteur_frame.php3
index 88e6a96c20..bfbeb747d0 100644
--- a/ecrire/brouteur_frame.php3
+++ b/ecrire/brouteur_frame.php3
@@ -10,23 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "brouteur_frame";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else
-  include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-  $var_nom($id_rubrique, $frame, $effacer_suivant, $special);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f($id_rubrique, $frame, $effacer_suivant, $special);
-else
-   spip_log("fonction $var_nom indisponible");
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f(intval($id_rubrique), $frame, $effacer_suivant, $special);
 ?>
diff --git a/ecrire/calendrier.php3 b/ecrire/calendrier.php3
index 7c390218b2..9ad7a50ad8 100644
--- a/ecrire/calendrier.php3
+++ b/ecrire/calendrier.php3
@@ -10,23 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "calendrier";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else
-  include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-  $var_nom($type, $css);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f($type, $css);
-else
-   spip_log("fonction $var_nom indisponible");
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f($type, $css);
 ?>
diff --git a/ecrire/calendrier_jour.php3 b/ecrire/calendrier_jour.php3
index 6d12502ae5..f8cccbdb9e 100644
--- a/ecrire/calendrier_jour.php3
+++ b/ecrire/calendrier_jour.php3
@@ -11,6 +11,7 @@
 \***************************************************************************/
 
 if (!isset($_GET['type'])) $type = 'jour';
-include ("calendrier.php3");
-exit;
+include ("inc.php3");
+$var_f = include_fonction('calendrier');
+$var_f($type, $css);
 ?>
diff --git a/ecrire/calendrier_semaine.php3 b/ecrire/calendrier_semaine.php3
index 43daa7e7ca..c7fcb5c168 100644
--- a/ecrire/calendrier_semaine.php3
+++ b/ecrire/calendrier_semaine.php3
@@ -10,7 +10,9 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
+// script obsolete; present pour compatibilite
 if (!isset($_GET['type'])) $type = 'semaine';
-include ("calendrier.php3");
-exit;
+include ("inc.php3");
+$var_f = include_fonction('calendrier');
+$var_f($type, $css);
 ?>
diff --git a/ecrire/controle_forum.php3 b/ecrire/controle_forum.php3
index 1c5d8df639..5f384dbd29 100644
--- a/ecrire/controle_forum.php3
+++ b/ecrire/controle_forum.php3
@@ -10,15 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("inc.php3");
-
-$nom = "controle_forum";
-$f = find_in_path('inc_' . $nom . '.php');
-if ($f) 
-  include($f);
-else  include_ecrire('inc_' . $nom . '.php');
-if (function_exists($nom))
-  $nom($page, $debut, $debut_id_forum, $id_rubrique);
-
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f($page, $debut, $debut_id_forum, $id_rubrique);
 ?>
diff --git a/ecrire/export.php3 b/ecrire/export.php3
index c659617e33..2209dce791 100644
--- a/ecrire/export.php3
+++ b/ecrire/export.php3
@@ -11,22 +11,6 @@
 \***************************************************************************/
 
 include ("inc_version.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "export";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
- // ATTENTION PHP3 ici
-else
-  include_ecrire('inc_' . $var_nom . '.php3');
-
-if (function_exists($var_nom))
-  $var_nom($id_rubrique, $maj);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f($id_rubrique, $maj);
-else
-   spip_log("fonction $var_nom indisponible");
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f(intval($id_rubrique), $maj);
 ?>
diff --git a/ecrire/forum.php3 b/ecrire/forum.php3
index d1196468fe..4d208c0abf 100644
--- a/ecrire/forum.php3
+++ b/ecrire/forum.php3
@@ -11,5 +11,7 @@
 \***************************************************************************/
 
   // obsolete, mais assurer le service pour les vieux liens
-include ("forum_admin.php3");
+include ("inc.php3");
+$var_f = include_fonction(basename('forum_admin'));
+$var_f($debut, $admin);
 ?>
diff --git a/ecrire/forum_admin.php3 b/ecrire/forum_admin.php3
index 2a58ef5c2f..e1950e824c 100644
--- a/ecrire/forum_admin.php3
+++ b/ecrire/forum_admin.php3
@@ -10,23 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "forum_admin";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else 
-  include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-  $var_nom($debut, $admin);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f($debut, $admin);
-else
-   spip_log("fonction $var_nom indisponible");
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f($debut, $admin);
 ?>
diff --git a/ecrire/inc_ajax_page.php b/ecrire/inc_ajax_page.php
index 9dc160a2cf..45ca1d2756 100644
--- a/ecrire/inc_ajax_page.php
+++ b/ecrire/inc_ajax_page.php
@@ -10,6 +10,32 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
+# gerer un charset minimaliste en convertissant tout en unicode &#xxx;
+
+function ajax_page_dist($fonction, $id, $exclus, $col, $id_ajax_fonc, $type, $rac)
+{
+	global $flag_ob;
+	$var_nom = 'ajax_page_' . $fonction;
+	if (!function_exists($var_nom))
+		spip_log("fonction $var_nom indisponible");
+	else {
+		if ($flag_ob) {
+			ob_start();
+			$charset = lire_meta("charset");
+		}
+		@header('Content-type: text/html; charset=$charset');
+		echo "<"."?xml version='1.0' encoding='$charset'?".">\n";
+		$var_nom($id, $exclus, $col, $id_ajax_fonc, $type, $rac);
+
+		if ($flag_ob) {
+			$a = ob_get_contents();
+			ob_end_clean();
+			include_ecrire('inc_charsets.php3');
+			echo charset2unicode($a, 'AUTO', true);
+		}
+	}
+}
+
 # Une fonction stockee en base de donnees ?
 
 function ajax_page_sql($id, $exclus, $col, $id_ajax_fonc, $type, $rac)
diff --git a/ecrire/inc_articles_page.php b/ecrire/inc_articles_page.php
index bb75aa45b9..5a232a82f2 100644
--- a/ecrire/inc_articles_page.php
+++ b/ecrire/inc_articles_page.php
@@ -17,9 +17,9 @@ include_ecrire("inc_texte.php3");
 include_ecrire("inc_urls.php3");
 include_ecrire("inc_rubriques.php3");
 
-function articles_page_dist($id_auteur)
+function articles_page_dist()
 {
-	global $connect_statut;
+  global $connect_statut, $connect_id_auteur;
 
 	debut_page(_T('titre_page_articles_page'), "documents", "articles");
 
@@ -51,7 +51,7 @@ debut_droite();
 echo "<P align=left>";
 afficher_articles(_T('info_en_cours_validation'),
 	", spip_auteurs_articles AS lien ".
-	"WHERE articles.id_article=lien.id_article AND lien.id_auteur=$id_auteur AND articles.statut='prepa' ORDER BY articles.date DESC");
+	"WHERE articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa' ORDER BY articles.date DESC");
 echo "</p>";
 
 
@@ -63,7 +63,7 @@ echo "</p>";
 echo "<p>";
 afficher_articles(_T('info_attente_validation'),
 	", spip_auteurs_articles AS lien ".
-	"WHERE articles.id_article=lien.id_article AND lien.id_auteur=$id_auteur AND articles.statut='prop' ORDER BY articles.date");
+	"WHERE articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prop' ORDER BY articles.date");
 echo "</p>";
 
 //
@@ -73,7 +73,7 @@ echo "</p>";
 echo "<p>";
 afficher_articles(_T('info_publies'),
 	", spip_auteurs_articles AS lien ".
-	"WHERE articles.id_article=lien.id_article AND lien.id_auteur=\"$id_auteur\" AND articles.statut='publie' ORDER BY articles.date DESC", true);
+	"WHERE articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='publie' ORDER BY articles.date DESC", true);
 echo "</p>";
 
 //
@@ -83,7 +83,7 @@ echo "</p>";
 echo "<p>";
 afficher_articles(_T('info_refuses'),
 	", spip_auteurs_articles AS lien ".
-	"WHERE articles.id_article=lien.id_article AND lien.id_auteur=\"$id_auteur\" AND articles.statut='refuse' ORDER BY articles.date DESC");
+	"WHERE articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='refuse' ORDER BY articles.date DESC");
 echo "</p>";
 
 fin_page();
diff --git a/ecrire/inc_brouteur_frame.php b/ecrire/inc_brouteur_frame.php
index 77a8185c52..91e82209cb 100644
--- a/ecrire/inc_brouteur_frame.php
+++ b/ecrire/inc_brouteur_frame.php
@@ -82,7 +82,7 @@ function brouteur_frame_dist($id_rubrique, $frame, $effacer_suivant, $special)
 
 	}
 	else {
-	  if (isset($id_rubrique) && ($id_rubrique !== ''))
+	  if ($id_rubrique)
  {
 
 		$query = "SELECT * FROM spip_rubriques WHERE id_rubrique='$id_rubrique' ORDER BY 0+titre, titre";
diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index 8677b56f4d..dff34eedfe 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -1209,7 +1209,7 @@ function afficher_breves($titre_table, $requete, $affrub=false) {
 			$vals[] = puce_statut_breve($id_breve, $statut, 'breve', ($droit && acces_rubrique($id_rubrique)), $id_rubrique);
 
 			$s = "<div>";
-			$s .= "<a href='breves_voir.php3?id_breve=$id_breve'$dir_lang style=\"display:block;\">";
+			$s .= "<a href='breves_voir.php3?id_breve=$id_breve' style=\"display:block;\">";
 
 			if ($spip_display != 1 AND $spip_display != 4 AND lire_meta('image_process') != "non") {
 				include_ecrire("inc_logos.php3");
diff --git a/ecrire/inc_statistiques_repartition.php b/ecrire/inc_statistiques_repartition.php
index 00e0ef5fa4..28ca374086 100644
--- a/ecrire/inc_statistiques_repartition.php
+++ b/ecrire/inc_statistiques_repartition.php
@@ -12,6 +12,11 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+include_ecrire("inc_presentation.php3");
+include_ecrire("inc_texte.php3");
+include_ecrire("inc_urls.php3");
+include_ecrire("inc_rubriques.php3");
+
 function enfants($id_parent, $critere){
 	global $nombre_vis;
 
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index fd3a04f262..62f344f19f 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -54,6 +54,38 @@ function include_ecrire($file) {
 	else spip_log($file . " illisble");
 }
 
+function include_fonction($nom) {
+# Hack pour etre compatible avec les mes_options qui appellent cette fonction
+	define_once('_DIR_INCLUDE', _DIR_RESTREINT);
+	$inc = ('inc_' . $nom . '.php');
+	$f = find_in_path($inc);
+	if ($f && (!$GLOBALS['included_files'][$f]++) && is_readable($f))
+		include($f);
+	else {
+		$f = _DIR_INCLUDE . $inc;
+		if ((!$GLOBALS['included_files'][$f]++) && is_readable($f))
+			include($f);
+		else {
+		  // provisoire avant renommage php/php3
+			$f = _DIR_INCLUDE . ('inc_' . $nom . '.php3');
+			if ((!$GLOBALS['included_files'][$f]++) && is_readable($f))
+				include($f);
+			else {
+			  spip_log($inc . " inconnu");
+			// esperons qu'elle est dans les fichiers deja lus
+			  return $nom;
+			}
+		}
+	}
+	if (function_exists($nom))
+		return $nom;
+	elseif (function_exists($nom .= "_dist"))
+		return $nom;
+	else {
+		spip_log("fonction $var_nom indisponible");
+		exit;
+	}
+}
 
 // *********** traiter les variables ************
 
diff --git a/ecrire/js_menu_rubriques.php b/ecrire/js_menu_rubriques.php
index 1dc14a29f2..1c2e73147b 100644
--- a/ecrire/js_menu_rubriques.php
+++ b/ecrire/js_menu_rubriques.php
@@ -10,23 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "js_menu_rubriques";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else 
-  include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-	$var_nom();
-elseif (function_exists($var_f = $var_nom . "_dist"))
-	$var_f();
-else spip_log("fonction $var_nom indisponible");
-
+$var_f = include_fonction(basename($SCRIPT_NAME, '.php'));
+$var_f();
 ?>
diff --git a/ecrire/messagerie.php3 b/ecrire/messagerie.php3
index 4cde5f9c2a..84ce57a60b 100644
--- a/ecrire/messagerie.php3
+++ b/ecrire/messagerie.php3
@@ -10,21 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("inc.php3");
-
-$var_nom = "messagerie";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-        include($var_f);
-else
-  include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-        $var_res = $var_nom($id_message, $detruire_message, $supp_dest);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-        $var_res = $var_f($id_message, $detruire_message, $supp_dest);
-else {spip_log("fonction $var_nom indisponible dans $var_f");}
-
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f(intval($id_message), intval($detruire_message), $supp_dest);
 ?>
diff --git a/ecrire/naviguer.php3 b/ecrire/naviguer.php3
index 1a331c1ce7..b08c938ff3 100644
--- a/ecrire/naviguer.php3
+++ b/ecrire/naviguer.php3
@@ -11,21 +11,6 @@
 \***************************************************************************/
 
 include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "naviguer";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else
-  include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-  $var_nom($action);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f($action);
-else
-   spip_log("fonction $var_nom indisponible");
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f($action);
 ?>
diff --git a/ecrire/statistiques_repartition.php b/ecrire/statistiques_repartition.php
index a9a44df21e..dadc17ce48 100644
--- a/ecrire/statistiques_repartition.php
+++ b/ecrire/statistiques_repartition.php
@@ -1,6 +1,5 @@
 <?php
 
-
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
@@ -11,27 +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");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "statistiques_repartition";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else include_ecrire('inc_' . $var_nom . '.php');  
-
-if (function_exists($var_nom))
-  $var_nom($critere);
-elseif (function_exists($var_f = $var_nom . "_dist"))
-  $var_f($critere);
-else
-   spip_log("fonction $var_nom indisponible");
+$var_f = include_fonction(basename($SCRIPT_NAME, '.php'));
+$var_f($critere);
 ?>
-
diff --git a/ecrire/synchro.php3 b/ecrire/synchro.php3
index b763972d35..2fe0d69a9d 100644
--- a/ecrire/synchro.php3
+++ b/ecrire/synchro.php3
@@ -11,21 +11,6 @@
 \***************************************************************************/
 
 include ("inc.php3");
-
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
-$var_nom = "synchro";
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-  include($var_f);
-else
-  include_ecrire('inc_' . $var_nom . '.php');
-
-if (function_exists($var_nom))
-	$var_nom();
-elseif (function_exists($var_f = $var_nom . "_dist"))
-	$var_f();
-else spip_log("fonction $var_nom indisponible");
-
+$var_f = include_fonction(basename($SCRIPT_NAME, _EXTENSION_PHP));
+$var_f();
 ?>
-- 
GitLab