From fcf0868f86f8f491eb678273254cf1864717a7a6 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Wed, 9 Nov 2005 14:40:40 +0000
Subject: [PATCH] permettre la surcharge et pas d'inclure superflus

---
 .gitattributes               |   1 +
 ecrire/inc_messagerie.php    | 169 +++++++++++++++++++++++++++++++++++
 ecrire/js_menu_rubriques.php |   4 +-
 ecrire/messagerie.php3       | 165 +++-------------------------------
 4 files changed, 183 insertions(+), 156 deletions(-)
 create mode 100644 ecrire/inc_messagerie.php

diff --git a/.gitattributes b/.gitattributes
index ce2f624263..9118352322 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -275,6 +275,7 @@ ecrire/inc_js_menu_rubriques.php -text
 ecrire/inc_lang_liste.php -text
 ecrire/inc_magicquotes.php -text
 ecrire/inc_message.php -text
+ecrire/inc_messagerie.php -text
 ecrire/inc_mini_nav.php -text
 ecrire/inc_minipres.php -text
 ecrire/inc_naviguer.php -text
diff --git a/ecrire/inc_messagerie.php b/ecrire/inc_messagerie.php
new file mode 100644
index 0000000000..4a94241262
--- /dev/null
+++ b/ecrire/inc_messagerie.php
@@ -0,0 +1,169 @@
+<?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_texte.php3");
+
+function messagerie_dist($id_message, $detruire_message, $supp_dest)
+{
+
+  global $connect_id_auteur, $connect_statut, $couleur_claire, $spip_lang_rtl;
+
+if ($supp_dest) {
+	spip_query("DELETE FROM spip_auteurs_messages WHERE id_message=$id_message AND id_auteur=$supp_dest");
+}
+
+if ($detruire_message) {
+	spip_query("DELETE FROM spip_messages WHERE id_message=$detruire_message");
+	spip_query("DELETE FROM spip_auteurs_messages WHERE id_message=$detruire_message");
+	spip_query("DELETE FROM spip_forum WHERE id_message=$detruire_message");
+}
+
+
+debut_page(_T('titre_page_messagerie'), "redacteurs", "messagerie");
+
+debut_gauche("messagerie");
+
+
+debut_boite_info();
+
+echo _T('info_gauche_messagerie');
+
+echo "<p>".http_img_pack("m_envoi$spip_lang_rtl.gif", 'V', "WIDTH='14' HEIGHT='7' BORDER='0'") .' ' . _T('info_symbole_vert');
+
+echo aide ("messut");
+
+echo "<p>".http_img_pack("m_envoi_bleu$spip_lang_rtl.gif", 'B', "WIDTH='14' HEIGHT='7' BORDER='0'") .' ' . _T('info_symbole_bleu');
+
+echo aide ("messpense");
+
+echo "<p>".http_img_pack("m_envoi_jaune$spip_lang_rtl.gif", 'J', "WIDTH='14' HEIGHT='7' BORDER='0'") .' ' . _T('info_symbole_jaune');
+
+
+
+fin_boite_info();
+
+
+creer_colonne_droite();
+
+debut_cadre_relief("messagerie-24.gif");
+		icone_horizontale(_T('lien_nouvea_pense_bete'),"message_edit.php3?new=oui&type=pb", "pense-bete.gif");
+		icone_horizontale(_T('lien_nouveau_message'),"message_edit.php3?new=oui&type=normal", "message.gif");
+		
+		if ($connect_statut == "0minirezo") {
+			icone_horizontale(_T('lien_nouvelle_annonce'),"message_edit.php3?new=oui&type=affich", "annonce.gif");
+		}
+fin_cadre_relief();
+
+
+# Affiche l'encadre "lien iCal"
+
+echo
+    debut_cadre_enfonce('',true) .
+    "<div class='verdana1'>"._T("calendrier_synchro") .
+    "<a href='synchro.php3' class='cellule-h'><table cellpadding='0' valign='middle'><tr>\n" .
+    "<td><a href='synchro.php3'><div class='cell-i'>"
+    . http_img_pack("rien.gif", ' ', http_style_background('synchro-24.gif', "; background-repeat: no-repeat; background-position: center center;"))
+    . "</div></a></td>\n"
+    . "<td class='cellule-h-lien'><a href='synchro.php3' class='cellule-h'>" 
+    . _T("icone_suivi_activite")
+    . "</a></td>\n</tr></table></a>\n" ."</div>" .
+    fin_cadre_enfonce(true);
+
+
+debut_droite("messagerie");
+
+
+$messages_vus = '';
+
+
+$query_message = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND (date_fin > DATE_SUB(NOW(), INTERVAL 1 DAY) OR rv != 'oui')";
+afficher_messages(_T('infos_vos_pense_bete'), $query_message, false, true);
+
+
+$query_message = "SELECT * FROM spip_messages AS messages, spip_auteurs_messages AS lien ".
+	"WHERE lien.id_auteur=$connect_id_auteur AND vu='non' ".
+	"AND statut='publie' AND lien.id_message=messages.id_message";
+afficher_messages(_T('info_nouveaux_message'), $query_message, true, true);
+
+
+$query_message = "SELECT * FROM spip_messages AS messages, spip_auteurs_messages AS lien ".
+	"WHERE lien.id_auteur=$connect_id_auteur AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message ".
+	"AND (date_fin > DATE_SUB(NOW(), INTERVAL 1 DAY) OR rv != 'oui')";
+afficher_messages(_T('info_discussion_cours'), $query_message, true, false);
+
+
+// Afficher le lien RSS
+include_ecrire('inc_rss.php3');
+$op = 'messagerie';
+$args = array(
+	'id_auteur' => $connect_id_auteur
+);
+echo "<div style='text-align: "
+	. $GLOBALS['spip_lang_right']
+	. ";'>"
+	. bouton_spip_rss($op, $args)
+	."</div>";
+
+
+
+
+$query_message = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='redac'";
+afficher_messages(_T('info_message_en_redaction'), $query_message, true, false, false);
+
+
+
+$query = "SELECT auteurs.id_auteur, auteurs.nom, COUNT(*) AS total FROM spip_auteurs AS auteurs,  spip_auteurs_messages AS lien2, spip_messages AS messages, spip_auteurs_messages AS lien ".
+	"WHERE (lien.id_auteur = $connect_id_auteur AND lien.id_message = messages.id_message AND messages.statut = 'publie' AND (messages.rv != 'oui' OR messages.date_fin > NOW() )) ".
+	"AND (lien2.id_auteur = lien2.id_auteur AND lien2.id_message = messages.id_message AND lien2.id_auteur != $connect_id_auteur AND auteurs.id_auteur = lien2.id_auteur) ".
+	"GROUP BY auteurs.id_auteur ORDER BY total DESC LIMIT 10";
+
+$result = spip_query($query);
+if (spip_num_rows($result) > 0) {
+
+	echo "<div style='height: 12px;'></div>";
+	echo "<div class='liste'>";
+
+	bandeau_titre_boite2(_T('info_principaux_correspondants'), "redacteurs-24.gif", "#333333", "white");
+
+	echo "<table width='100%' cellpadding='0' cellspacing='0'>";
+	echo "<tr><td valign='top' width='50%'>";
+	while($row = spip_fetch_array($result)) {
+		$count ++;
+		if ($i == 1) {
+			$bgcolor = "white";
+			$i = 0;
+		} else {
+			$bgcolor = $couleur_claire;
+			$i = 1;
+		}
+		$id_auteur = $row['id_auteur'];
+		$nom = typo($row["nom"]);
+		$total = $row["total"];
+		echo "<div class='tr_liste' onMouseOver=\"changeclass(this,'tr_liste_over');\" onMouseOut=\"changeclass(this,'tr_liste');\" style=' padding: 2px; padding-left: 10px; border-bottom: 1px solid #cccccc;'><div class='verdana1'><img src='" . _DIR_IMG_PACK . "redac-12.gif' border='0'> <a href='auteurs_edit.php3?id_auteur=$id_auteur'>$nom</a> ($total)</div></div>";
+		if ($count == ceil(spip_num_rows($result)/2)) echo "</td><td valign='top' width='50%' style='background-color: #eeeeee;'>";
+	}
+	echo "</td></tr></table>";
+	echo "</div>";
+}
+
+$query_message = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND rv!='oui'";
+afficher_messages(_T('info_pense_bete_ancien'), $query_message, false, false, false);
+
+
+$query_message = "SELECT * FROM spip_messages AS messages WHERE statut='publie' AND type='affich' AND (date_fin > DATE_SUB(NOW(), INTERVAL 1 DAY) OR rv != 'oui')";
+afficher_messages(_T('info_tous_redacteurs'), $query_message, false, false, false);
+
+fin_page();
+
+}
+?>
diff --git a/ecrire/js_menu_rubriques.php b/ecrire/js_menu_rubriques.php
index b3728e08ec..4cfb986a99 100644
--- a/ecrire/js_menu_rubriques.php
+++ b/ecrire/js_menu_rubriques.php
@@ -10,10 +10,8 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-  // L'arborescence des rubriques n'a rien de secret, 
-  // pas la peine d'authentifier
 
-include ("inc_version.php3");
+include ("inc.php3");
 
 // prendre $var_* comme variables pour eviter les conflits avec les http_vars
 
diff --git a/ecrire/messagerie.php3 b/ecrire/messagerie.php3
index 4ed334d60a..c4a279a5e4 100644
--- a/ecrire/messagerie.php3
+++ b/ecrire/messagerie.php3
@@ -11,162 +11,21 @@
 \***************************************************************************/
 
 
-
 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_acces.php3");
-
-if ($supp_dest) {
-	spip_query("DELETE FROM spip_auteurs_messages WHERE id_message=$id_message AND id_auteur=$supp_dest");
-}
-
-if ($detruire_message) {
-	spip_query("DELETE FROM spip_messages WHERE id_message=$detruire_message");
-	spip_query("DELETE FROM spip_auteurs_messages WHERE id_message=$detruire_message");
-	spip_query("DELETE FROM spip_forum WHERE id_message=$detruire_message");
-}
-
-
-debut_page(_T('titre_page_messagerie'), "redacteurs", "messagerie");
-
-//barre_onglets("calendrier", "messagerie");
-
-
-debut_gauche("messagerie");
-
-
-debut_boite_info();
-
-echo _T('info_gauche_messagerie');
-
-echo "<p>".http_img_pack("m_envoi$spip_lang_rtl.gif", 'V', "WIDTH='14' HEIGHT='7' BORDER='0'") .' ' . _T('info_symbole_vert');
-
-echo aide ("messut");
-
-echo "<p>".http_img_pack("m_envoi_bleu$spip_lang_rtl.gif", 'B', "WIDTH='14' HEIGHT='7' BORDER='0'") .' ' . _T('info_symbole_bleu');
-
-echo aide ("messpense");
-
-echo "<p>".http_img_pack("m_envoi_jaune$spip_lang_rtl.gif", 'J', "WIDTH='14' HEIGHT='7' BORDER='0'") .' ' . _T('info_symbole_jaune');
-
-
-
-fin_boite_info();
-
-
-creer_colonne_droite();
-
-debut_cadre_relief("messagerie-24.gif");
-		icone_horizontale(_T('lien_nouvea_pense_bete'),"message_edit.php3?new=oui&type=pb", "pense-bete.gif");
-		icone_horizontale(_T('lien_nouveau_message'),"message_edit.php3?new=oui&type=normal", "message.gif");
-		
-		if ($connect_statut == "0minirezo") {
-			icone_horizontale(_T('lien_nouvelle_annonce'),"message_edit.php3?new=oui&type=affich", "annonce.gif");
-		}
-fin_cadre_relief();
-
-
-# Affiche l'encadre "lien iCal"
-
-echo
-    debut_cadre_enfonce('',true) .
-    "<div class='verdana1'>"._T("calendrier_synchro") .
-    "<a href='synchro.php3' class='cellule-h'><table cellpadding='0' valign='middle'><tr>\n" .
-    "<td><a href='synchro.php3'><div class='cell-i'>"
-    . http_img_pack("rien.gif", ' ', http_style_background('synchro-24.gif', "; background-repeat: no-repeat; background-position: center center;"))
-    . "</div></a></td>\n"
-    . "<td class='cellule-h-lien'><a href='synchro.php3' class='cellule-h'>" 
-    . _T("icone_suivi_activite")
-    . "</a></td>\n</tr></table></a>\n" ."</div>" .
-    fin_cadre_enfonce(true);
-
-
-debut_droite("messagerie");
-
-
-$messages_vus = '';
-
-
-$query_message = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND (date_fin > DATE_SUB(NOW(), INTERVAL 1 DAY) OR rv != 'oui')";
-afficher_messages(_T('infos_vos_pense_bete'), $query_message, false, true);
-
-
-$query_message = "SELECT * FROM spip_messages AS messages, spip_auteurs_messages AS lien ".
-	"WHERE lien.id_auteur=$connect_id_auteur AND vu='non' ".
-	"AND statut='publie' AND lien.id_message=messages.id_message";
-afficher_messages(_T('info_nouveaux_message'), $query_message, true, true);
-
-
-$query_message = "SELECT * FROM spip_messages AS messages, spip_auteurs_messages AS lien ".
-	"WHERE lien.id_auteur=$connect_id_auteur AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message ".
-	"AND (date_fin > DATE_SUB(NOW(), INTERVAL 1 DAY) OR rv != 'oui')";
-afficher_messages(_T('info_discussion_cours'), $query_message, true, false);
-
-
-// Afficher le lien RSS
-include_ecrire('inc_rss.php3');
-$op = 'messagerie';
-$args = array(
-	'id_auteur' => $connect_id_auteur
-);
-echo "<div style='text-align: "
-	. $GLOBALS['spip_lang_right']
-	. ";'>"
-	. bouton_spip_rss($op, $args)
-	."</div>";
-
-
-
-
-$query_message = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='redac'";
-afficher_messages(_T('info_message_en_redaction'), $query_message, true, false, false);
-
-
-
-$query = "SELECT auteurs.id_auteur, auteurs.nom, COUNT(*) AS total FROM spip_auteurs AS auteurs,  spip_auteurs_messages AS lien2, spip_messages AS messages, spip_auteurs_messages AS lien ".
-	"WHERE (lien.id_auteur = $connect_id_auteur AND lien.id_message = messages.id_message AND messages.statut = 'publie' AND (messages.rv != 'oui' OR messages.date_fin > NOW() )) ".
-	"AND (lien2.id_auteur = lien2.id_auteur AND lien2.id_message = messages.id_message AND lien2.id_auteur != $connect_id_auteur AND auteurs.id_auteur = lien2.id_auteur) ".
-	"GROUP BY auteurs.id_auteur ORDER BY total DESC LIMIT 10";
-
-$result = spip_query($query);
-if (spip_num_rows($result) > 0) {
-
-	echo "<div style='height: 12px;'></div>";
-	echo "<div class='liste'>";
-
-	bandeau_titre_boite2(_T('info_principaux_correspondants'), "redacteurs-24.gif", "#333333", "white");
-
-	echo "<table width='100%' cellpadding='0' cellspacing='0'>";
-	echo "<tr><td valign='top' width='50%'>";
-	while($row = spip_fetch_array($result)) {
-		$count ++;
-		if ($i == 1) {
-			$bgcolor = "white";
-			$i = 0;
-		} else {
-			$bgcolor = $couleur_claire;
-			$i = 1;
-		}
-		$id_auteur = $row['id_auteur'];
-		$nom = typo($row["nom"]);
-		$total = $row["total"];
-		echo "<div class='tr_liste' onMouseOver=\"changeclass(this,'tr_liste_over');\" onMouseOut=\"changeclass(this,'tr_liste');\" style=' padding: 2px; padding-left: 10px; border-bottom: 1px solid #cccccc;'><div class='verdana1'><img src='" . _DIR_IMG_PACK . "redac-12.gif' border='0'> <a href='auteurs_edit.php3?id_auteur=$id_auteur'>$nom</a> ($total)</div></div>";
-		if ($count == ceil(spip_num_rows($result)/2)) echo "</td><td valign='top' width='50%' style='background-color: #eeeeee;'>";
-	}
-	echo "</td></tr></table>";
-	echo "</div>";
-}
-
-$query_message = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND rv!='oui'";
-afficher_messages(_T('info_pense_bete_ancien'), $query_message, false, false, false);
 
+$var_nom = "messagerie";
+$var_f = find_in_path('inc_' . $var_nom . '.php');
 
-$query_message = "SELECT * FROM spip_messages AS messages WHERE statut='publie' AND type='affich' AND (date_fin > DATE_SUB(NOW(), INTERVAL 1 DAY) OR rv != 'oui')";
-afficher_messages(_T('info_tous_redacteurs'), $query_message, false, false, false);
+if ($var_f) 
+        include($var_f);
+elseif (is_readable($var_f = (_DIR_INCLUDE . 'inc_' . $var_nom . '.php')))
+        include($var_f);
+else {spip_log("pas de fichier pour $var_nom");}
 
-fin_page();
+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");}
 
 ?>
-- 
GitLab