diff --git a/.gitattributes b/.gitattributes
index ebabe7d94364721f6d73bad86b1aa7666c8ba571..3d9e8535c47b40176594cafa76f17dd4cd43778a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -61,6 +61,7 @@ ecrire/img_pack/bonhomme-bleu.gif -text
 ecrire/img_pack/bonhomme-noir.gif -text
 ecrire/img_pack/bonhomme-rouge.gif -text
 ecrire/img_pack/breve-24.gif -text
+ecrire/img_pack/cadenas-24.gif -text
 ecrire/img_pack/cadre-b.gif -text
 ecrire/img_pack/cadre-bd.gif -text
 ecrire/img_pack/cadre-bg.gif -text
diff --git a/ecrire/articles_forum.php3 b/ecrire/articles_forum.php3
index be82f14b789fd56634f2ff82bdc2b75c78c92325..a0be6c0099c8220dcaedeec11a8b13634d1bbbcd 100644
--- a/ecrire/articles_forum.php3
+++ b/ecrire/articles_forum.php3
@@ -69,7 +69,7 @@ echo "<p>";
 $mots_cles_forums = lire_meta("mots_cles_forums");
 
 if ($connect_statut == "0minirezo") {
-	$query_forum = "SELECT * FROM spip_forum WHERE id_article='$id_article' AND id_parent=0 AND statut!='redac' ORDER BY date_heure DESC";
+	$query_forum = "SELECT * FROM spip_forum WHERE id_article='$id_article' AND id_parent=0 AND statut!= 'prive' AND statut!='privrac' AND statut!='privadm' AND statut!='privoff' AND statut!='redac' ORDER BY date_heure DESC";
 	$result_forum = spip_query($query_forum);
 	afficher_forum($result_forum, $forum_retour, 'oui');
 }
diff --git a/ecrire/controle_forum.php3 b/ecrire/controle_forum.php3
index 668234f2e925ce769f571d58db017b53f7b77fc1..7fb90d1369c647077e48ed7c78ab6d8ef0cbe7df 100644
--- a/ecrire/controle_forum.php3
+++ b/ecrire/controle_forum.php3
@@ -4,6 +4,13 @@ include ("inc.php3");
 
 
 debut_page("Suivi des forums", "messagerie", "forum-controle");
+
+echo "<br><br><br>";
+gros_titre("Suivi des forums (tous les messages)");
+barre_onglets("suivi_forum", "tous");
+
+
+
 debut_gauche();
 
 
@@ -194,7 +201,7 @@ function controle_forum($request,$adresse_retour) {
 		
 		if ($compteur_forum==1)
 			echo "<BR><BR>";
-		if ($forum_stat=="off") {
+		if ($forum_stat=="off" OR $forum_stat == "privoff") {
 			echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FF0000'>";
 		}else if($forum_stat=="prop"){
 			echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FFFF00'>";
@@ -220,8 +227,15 @@ function controle_forum($request,$adresse_retour) {
 		echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'><B>".typo($forum_titre)."</B></FONT></TD></TR>";
 		echo "<TR><TD>";
 		echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>";
-		if ($forum_stat=="publie") echo "<FONT FACE='arial,helvetica' COLOR='red'>[sur le site public]</FONT> ";
-		echo "<FONT FACE='arial,helvetica'>$forum_date_heure</FONT>";
+		if ($forum_stat=="publie" OR $forum_stat == "off") {
+			echo "<img src='img_pack/racine-site-24.gif' border=0 align='left'>";
+			echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[sur le site public]</FONT> ";
+		}
+		else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm" OR $forum_stat == "privoff"){
+			echo "<img src='img_pack/cadenas-24.gif' border=0 align='left'>";
+			echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[dans l'espace priv&eacute;]</FONT> ";
+		}
+		echo "<FONT FACE='arial,helvetica'>".nom_jour($forum_date_heure)." ".affdate($forum_date_heure)." ˆ ".heures($forum_date_heure)." heures ".minutes($forum_date_heure)."</FONT>";
 		if (strlen($forum_auteur) > 2) {
 			if (strlen($forum_email_auteur) > 3) {
 				$forum_auteur="<A HREF=\"mailto:$forum_email_auteur?SUBJECT=".rawurlencode($forum_titre)."\">$forum_auteur</A>";
@@ -229,8 +243,9 @@ function controle_forum($request,$adresse_retour) {
 			echo "<FONT FACE='arial,helvetica'> / <B>$forum_auteur</B></FONT>";
 		}
 
-		if ($forum_stat <> "off") {
-			icone ("Supprimer ce message", "controle_forum.php3?supp_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right");
+		if ($forum_stat <> "off" AND $forum_stat <> "prioff") {
+			if ($forum_stat == "publie") icone ("Supprimer ce message", "controle_forum.php3?supp_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right");
+			else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm") icone ("Supprimer ce message", "controle_forum.php3?supp_forum_priv=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right");
 		}
 		else {
 			echo "<BR><FONT COLOR='red'><B>MESSAGE SUPPRIM&Eacute; $forum_ip</B></FONT>";
@@ -272,7 +287,7 @@ function controle_forum($request,$adresse_retour) {
 		
 		echo "</TD></TR></TABLE>\n";
 
-		if ($forum_stat == 'off' OR $forum_stat=='prop') {
+		if ($forum_stat == 'off' OR $forum_stat == 'privoff' OR $forum_stat=='prop') {
 			echo "</TD></TR></TABLE>";
 		}
 	}
@@ -283,7 +298,7 @@ echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>";
  
 if ($connect_statut == "0minirezo") {
 
-	gros_titre("Suivi des forums");
+//	gros_titre("Suivi des forums");
 
 	if (!$debut) $debut = 0;
 
@@ -295,11 +310,11 @@ if ($connect_statut == "0minirezo") {
 	if ($total > 10) {
 		echo "<p>";
 		for ($i = 0; $i < $total; $i = $i + 10){
-			$y = $i + 9;
+			if ($i > 0) echo " | ";
 			if ($i == $debut)
-				echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> ";
+				echo "<FONT SIZE=3><B>$i</B></FONT>";
 			else
-				echo "[<A HREF='controle_forum.php3?debut=$i'>$i-$y</A>] ";
+				echo "<A HREF='controle_forum.php3?debut=$i'>$i</A>";
 		}
 	}
 
diff --git a/ecrire/controle_forum_prive.php3 b/ecrire/controle_forum_prive.php3
new file mode 100644
index 0000000000000000000000000000000000000000..9858a20c214ca15343a2dcb2fe2a7aba51eaf447
--- /dev/null
+++ b/ecrire/controle_forum_prive.php3
@@ -0,0 +1,337 @@
+<?php
+
+include ("inc.php3");
+
+
+debut_page("Suivi des forums", "messagerie", "forum-controle");
+
+echo "<br><br><br>";
+gros_titre("Suivi des forums de l'espace priv&eacute;");
+barre_onglets("suivi_forum", "prive");
+debut_gauche();
+
+
+debut_boite_info();
+
+echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2>";
+echo propre("La page de {suivi des forums} est un outil de gestion de votre site (et non un espace de discussion ou de r&eacute;daction). Elle affiche toutes les contributions des forums du site, aussi bien celles du site public que de l'espace priv&eacute; et vous permet de g&eacute;rer ces contributions.");
+
+echo aide ("suiviforum");
+echo "</FONT>";
+
+fin_boite_info();
+
+//
+// Afficher les boutons de creation d'article et de breve
+//
+if ($connect_statut == '0minirezo') {
+	debut_cadre_enfonce();
+	echo "<font face='Verdana,Arial,Helvetica,sans-serif' size=1>";
+	echo "<b>RACCOURCIS :</b><p>";
+	
+	
+	icone_horizontale("Forum interne", "forum.php3", "forum-interne-24.gif", "rien.gif");
+	icone_horizontale("Forum des administrateurs", "forum_admin.php3", "forum-admin-24.gif", "rien.gif");
+		
+	/*
+	$query_petition = "SELECT COUNT(*) FROM spip_forum WHERE date_heure > DATE_SUB(NOW(),INTERVAL 30 DAY)";
+	$result_petition = spip_query($query_petition);
+	if ($row = mysql_fetch_array($result_petition)) {
+		$nombre_petition = $row[0];
+	}
+	if ($nombre_petition > 0) {
+		echo "<p>";
+		icone_horizontale("$nombre_petition messages de forums", "controle_forum.php3", "suivi-forum-24.gif", "rien.gif");
+	}
+	*/
+
+
+	$query_petition = "SELECT COUNT(*) AS cnt FROM spip_signatures WHERE (statut='publie' OR statut='poubelle')";
+	$result_petition = spip_query($query_petition);
+	if ($row = mysql_fetch_array($result_petition)){
+		$nombre_petition = $row['cnt'];
+	}
+	if ($nombre_petition > 0) {
+		echo "<p>";
+		icone_horizontale("$nombre_petition signatures de p&eacute;titions", "controle_petition.php3", "suivi-forum-24.gif", "rien.gif");
+	}
+	
+	
+	
+	echo "</font>";
+	fin_cadre_enfonce();
+}
+
+
+
+
+debut_droite();
+	$mots_cles_forums = lire_meta("mots_cles_forums");
+
+
+
+function forum_parent($id_forum) {
+
+	$query_forum = "SELECT * FROM spip_forum WHERE id_forum=\"$id_forum\" AND statut != 'redac'";
+ 	$result_forum = spip_query($query_forum);
+
+ 	while($row=mysql_fetch_array($result_forum)){
+		$id_forum=$row['id_forum'];
+		$forum_id_parent=$row['id_parent'];
+		$forum_id_rubrique=$row['id_rubrique'];
+		$forum_id_article=$row['id_article'];
+		$forum_id_breve=$row['id_breve'];
+		$forum_id_syndic=$row['id_syndic'];
+		$forum_date_heure=$row['date_heure'];
+		$forum_titre=$row['titre'];
+		$forum_texte=$row['texte'];
+		$forum_auteur=$row['auteur'];
+		$forum_email_auteur=$row['email_auteur'];
+		$forum_nom_site=$row['nom_site'];
+		$forum_url_site=$row['url_site'];
+		$forum_stat=$row['statut'];
+		$forum_ip=$row['ip'];
+
+		if ($forum_id_article > 0) {
+	
+			$query = "SELECT id_article, titre, statut FROM spip_articles WHERE id_article='$forum_id_article'";
+		 	$result = spip_query($query);
+
+			while($row=mysql_fetch_array($result)) {
+				$id_article = $row['id_article'];
+				$titre = $row['titre'];
+				$statut = $row['statut'];
+			}
+
+			if ($forum_stat == "prive") {
+				return $retour."<B>R&eacute;ponse &agrave; l'article <A HREF='articles.php3?id_article=$id_article'>$titre</A></B>";
+			}
+			else {
+				$retour .= "<a href='articles_forum.php3?id_article=$id_article'><font color='red'>G&eacute;rer le forum public de cet article</font></a><br>";
+				return $retour."<B>R&eacute;ponse &agrave; l'article <A HREF='".generer_url_article($id_article)."'>$titre</A></B>";
+			}
+		}
+		else if ($forum_id_rubrique > 0) {
+			$query2 = "SELECT * FROM spip_rubriques WHERE id_rubrique=\"$forum_id_rubrique\"";
+			$result2 = spip_query($query2);
+
+			while($row = mysql_fetch_array($result2)){
+				$id_rubrique = $row['id_rubrique'];
+				$titre = $row['titre'];
+			}
+			return "<B>R&eacute;ponse &agrave; la rubrique <A HREF='".generer_url_rubrique($id_rubrique)."'>$titre</A></B>";
+		}
+		else if ($forum_id_syndic > 0) {
+			$query2 = "SELECT * FROM spip_syndic WHERE id_syndic=\"$forum_id_syndic\"";
+			$result2 = spip_query($query2);
+
+			while($row = mysql_fetch_array($result2)){
+				$id_syndic = $row['id_syndic'];
+				$titre = $row['nom_site'];
+				$statut = $row['statut'];
+			}
+			return "<B>R&eacute;ponse au site r&eacute;f&eacute;renc&eacute; : <A HREF='sites.php3?id_syndic=$id_syndic'>$titre</A></B>";
+		}
+		else if ($forum_id_breve > 0) {
+			$query2 = "SELECT * FROM spip_breves WHERE id_breve=\"$forum_id_breve\"";
+		 	$result2 = spip_query($query2);
+
+		 	while($row = mysql_fetch_array($result2)){
+				$id_breve = $row['id_breve'];
+				$date_heure = $row['date_heure'];
+				$titre = $row['titre'];
+			}
+			if ($forum_stat == "prive") {
+				return "<B>R&eacute;ponse &agrave; la br&egrave;ve <A HREF='breves_voir.php3?id_breve=$id_breve'>$titre</A></B>";
+			}
+			else {
+				return "<B>R&eacute;ponse &agrave; la br&egrave;ve <A HREF='".generer_url_breve($id_breve)."'>$titre</A></B>";
+			}
+		}
+		else if ($forum_stat == "privadm") {
+			$retour = forum_parent($forum_id_parent);
+			
+			if (strlen($retour)>0) return $retour;
+			else return "<B>Message du <A HREF='forum_admin.php3'>forum des administrateurs</A></B>";
+		}
+		else {
+			$retour = forum_parent($forum_id_parent);
+			
+			if (strlen($retour)>0) return $retour;
+			else return "<B>Message du <A HREF='forum.php3'>forum interne</A></B>";
+		}
+	}
+
+}
+
+
+
+function controle_forum($request,$adresse_retour) {
+	global $compteur_forum;
+	static $nb_forum;
+	global $debut;
+	static $i;
+	global $couleur_foncee;
+	global $mots_cles_forums;
+
+	
+	$compteur_forum++; 
+
+	$nb_forum[$compteur_forum] = mysql_num_rows($request);
+	$i[$compteur_forum] = 1;
+ 	while($row=mysql_fetch_array($request)){
+		$id_forum = $row['id_forum'];
+		$forum_id_parent = $row['id_parent'];
+		$forum_id_rubrique = $row['id_rubrique'];
+		$forum_id_article = $row['id_article'];
+		$forum_id_breve = $row['id_breve'];
+		$forum_date_heure = $row['date_heure'];
+		$forum_titre = $row['titre'];
+		$forum_texte = $row['texte'];
+		$forum_auteur = $row['auteur'];
+		$forum_email_auteur = $row['email_auteur'];
+		$forum_nom_site = $row['nom_site'];
+		$forum_url_site = $row['url_site'];
+		$forum_stat = $row['statut'];
+		$forum_ip = $row['ip'];
+		$forum_id_auteur = $row["id_auteur"];
+		
+		if ($compteur_forum==1)
+			echo "<BR><BR>";
+		if ($forum_stat=="off" OR $forum_stat == "privoff") {
+			echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FF0000'>";
+		}else if($forum_stat=="prop"){
+			echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FFFF00'>";
+		}
+		echo "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>";
+		
+		for ($count = 2; $count <= $compteur_forum AND $count < 11; $count++) {
+
+			$fond[$count] = 'img_pack/rien.gif';
+			if ($i[$count] != $nb_forum[$count]) {
+				$fond[$count] = 'img_pack/forum-vert.gif';
+			}		
+		
+			$fleche='img_pack/rien.gif';
+			if ($count == $compteur_forum) {
+				$fleche='img_pack/forum-droite.gif';
+			}		
+			echo "<TD WIDTH=10 VALIGN='top' BACKGROUND=$fond[$count]><IMG SRC=$fleche ALT='' WIDTH=10 HEIGHT=13 BORDER=0></TD>\n";
+		}
+		
+		echo "<TD WIDTH=100% BGCOLOR='#EEEEEE' VALIGN='top'>";
+
+		echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'><B>".typo($forum_titre)."</B></FONT></TD></TR>";
+		echo "<TR><TD>";
+		echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>";
+		if ($forum_stat=="publie" OR $forum_stat == "off") {
+			echo "<img src='img_pack/racine-site-24.gif' border=0 align='left'>";
+			echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[sur le site public]</FONT> ";
+		}
+		else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm" OR $forum_stat == "privoff"){
+			echo "<img src='img_pack/cadenas-24.gif' border=0 align='left'>";
+			echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[dans l'espace priv&eacute;]</FONT> ";
+		}
+		echo "<FONT FACE='arial,helvetica'>".nom_jour($forum_date_heure)." ".affdate($forum_date_heure)." ˆ ".heures($forum_date_heure)." heures ".minutes($forum_date_heure)."</FONT>";
+		if (strlen($forum_auteur) > 2) {
+			if (strlen($forum_email_auteur) > 3) {
+				$forum_auteur="<A HREF=\"mailto:$forum_email_auteur?SUBJECT=".rawurlencode($forum_titre)."\">$forum_auteur</A>";
+			}
+			echo "<FONT FACE='arial,helvetica'> / <B>$forum_auteur</B></FONT>";
+		}
+
+		if ($forum_stat <> "off" AND $forum_stat <> "prioff") {
+			if ($forum_stat == "publie") icone ("Supprimer ce message", "controle_forum_prive.php3?supp_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right");
+			else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm") icone ("Supprimer ce message", "controle_forum_prive.php3?supp_forum_priv=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right");
+		}
+		else {
+			echo "<BR><FONT COLOR='red'><B>MESSAGE SUPPRIM&Eacute; $forum_ip</B></FONT>";
+			if($forum_id_auteur>0){
+				echo " - <A HREF='auteurs_edit.php3?id_auteur=$forum_id_auteur'>Voir cet auteur</A>";
+			
+			}
+
+		}
+
+		if ($forum_stat=="prop"){
+			icone("Valider ce message", "controle_forum_prive.php3?valid_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "creer.gif", "right");
+		}
+
+		echo "<BR>".forum_parent($id_forum);
+
+		echo "<P align='justify'>".propre($forum_texte);
+		
+		if (strlen($forum_url_site) > 10 AND strlen($forum_nom_site) > 3) {
+			echo "<P align='left'><FONT FACE='Verdana,Arial,Helvetica,sans-serif'><B><A HREF='$forum_url_site'>$forum_nom_site</A></B></FONT>";
+		}
+
+		if ($mots_cles_forums == "oui"){
+			
+			$query_mots = "SELECT * FROM spip_mots AS mots, spip_mots_forum AS lien WHERE lien.id_forum = '$id_forum' AND lien.id_mot = mots.id_mot";
+			$result_mots = spip_query($query_mots);
+			
+			while ($row_mots = mysql_fetch_array($result_mots)) {
+				$id_mot = $row_mots['id_mot'];
+				$titre_mot = propre($row_mots['titre']);
+				$type_mot = propre($row_mots['type']);
+				echo "<li> <b>$type_mot :</b> $titre_mot";
+			}
+			
+		}
+
+		echo "</FONT>";
+		echo "</TD></TR></TABLE>";
+		
+		echo "</TD></TR></TABLE>\n";
+
+		if ($forum_stat == 'off' OR $forum_stat == 'privoff' OR $forum_stat=='prop') {
+			echo "</TD></TR></TABLE>";
+		}
+	}
+}
+
+  
+echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>";
+ 
+if ($connect_statut == "0minirezo") {
+
+	//gros_titre("Suivi des forums");
+
+	if (!$debut) $debut = 0;
+
+	$query_forum = "SELECT COUNT(*) AS cnt FROM spip_forum WHERE statut!='off' AND statut!='publie' AND statut!='perso' AND statut != 'redac' AND date_heure>DATE_SUB(NOW(),INTERVAL 30 DAY)";
+ 	$result_forum = spip_query($query_forum);
+ 	$total = 0;
+ 	if ($row = mysql_fetch_array($result_forum)) $total = $row['cnt'];
+
+	if ($total > 10) {
+		echo "<p>";
+		for ($i = 0; $i < $total; $i = $i + 10){
+			if ($i > 0) echo " | ";
+			if ($i == $debut)
+				echo "<FONT SIZE=3><B>$i</B></FONT>";
+			else
+				echo "<A HREF='controle_forum_prive.php3?debut=$i'>$i</A>";
+		}
+	}
+
+	$query_forum = "SELECT * FROM spip_forum WHERE statut!='off' AND statut!='publie' AND statut!='perso' AND statut != 'redac' ORDER BY date_heure DESC LIMIT $debut,10";
+ 	$result_forum = spip_query($query_forum);
+	controle_forum($result_forum, "forum.php3");
+
+//	afficher_forum($result_forum, $forum_retour,'oui','non');
+
+}
+else {
+	echo "<B>Vous n'avez pas acc&egrave;s &agrave; cette page.</B>";
+}	
+		
+
+echo "</FONT>";
+
+
+fin_page();
+
+
+?>
+
diff --git a/ecrire/controle_forum_public.php3 b/ecrire/controle_forum_public.php3
new file mode 100644
index 0000000000000000000000000000000000000000..1e2647bcf4b3292bae140c743550a7907f3278c7
--- /dev/null
+++ b/ecrire/controle_forum_public.php3
@@ -0,0 +1,337 @@
+<?php
+
+include ("inc.php3");
+
+
+debut_page("Suivi des forums", "messagerie", "forum-controle");
+
+echo "<br><br><br>";
+gros_titre("Suivi des forums du site public");
+barre_onglets("suivi_forum", "public");
+debut_gauche();
+
+
+debut_boite_info();
+
+echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2>";
+echo propre("La page de {suivi des forums} est un outil de gestion de votre site (et non un espace de discussion ou de r&eacute;daction). Elle affiche toutes les contributions des forums du site, aussi bien celles du site public que de l'espace priv&eacute; et vous permet de g&eacute;rer ces contributions.");
+
+echo aide ("suiviforum");
+echo "</FONT>";
+
+fin_boite_info();
+
+//
+// Afficher les boutons de creation d'article et de breve
+//
+if ($connect_statut == '0minirezo') {
+	debut_cadre_enfonce();
+	echo "<font face='Verdana,Arial,Helvetica,sans-serif' size=1>";
+	echo "<b>RACCOURCIS :</b><p>";
+	
+	
+	icone_horizontale("Forum interne", "forum.php3", "forum-interne-24.gif", "rien.gif");
+	icone_horizontale("Forum des administrateurs", "forum_admin.php3", "forum-admin-24.gif", "rien.gif");
+		
+	/*
+	$query_petition = "SELECT COUNT(*) FROM spip_forum WHERE date_heure > DATE_SUB(NOW(),INTERVAL 30 DAY)";
+	$result_petition = spip_query($query_petition);
+	if ($row = mysql_fetch_array($result_petition)) {
+		$nombre_petition = $row[0];
+	}
+	if ($nombre_petition > 0) {
+		echo "<p>";
+		icone_horizontale("$nombre_petition messages de forums", "controle_forum.php3", "suivi-forum-24.gif", "rien.gif");
+	}
+	*/
+
+
+	$query_petition = "SELECT COUNT(*) AS cnt FROM spip_signatures WHERE (statut='publie' OR statut='poubelle')";
+	$result_petition = spip_query($query_petition);
+	if ($row = mysql_fetch_array($result_petition)){
+		$nombre_petition = $row['cnt'];
+	}
+	if ($nombre_petition > 0) {
+		echo "<p>";
+		icone_horizontale("$nombre_petition signatures de p&eacute;titions", "controle_petition.php3", "suivi-forum-24.gif", "rien.gif");
+	}
+	
+	
+	
+	echo "</font>";
+	fin_cadre_enfonce();
+}
+
+
+
+
+debut_droite();
+	$mots_cles_forums = lire_meta("mots_cles_forums");
+
+
+
+function forum_parent($id_forum) {
+
+	$query_forum = "SELECT * FROM spip_forum WHERE id_forum=\"$id_forum\" AND statut != 'redac'";
+ 	$result_forum = spip_query($query_forum);
+
+ 	while($row=mysql_fetch_array($result_forum)){
+		$id_forum=$row['id_forum'];
+		$forum_id_parent=$row['id_parent'];
+		$forum_id_rubrique=$row['id_rubrique'];
+		$forum_id_article=$row['id_article'];
+		$forum_id_breve=$row['id_breve'];
+		$forum_id_syndic=$row['id_syndic'];
+		$forum_date_heure=$row['date_heure'];
+		$forum_titre=$row['titre'];
+		$forum_texte=$row['texte'];
+		$forum_auteur=$row['auteur'];
+		$forum_email_auteur=$row['email_auteur'];
+		$forum_nom_site=$row['nom_site'];
+		$forum_url_site=$row['url_site'];
+		$forum_stat=$row['statut'];
+		$forum_ip=$row['ip'];
+
+		if ($forum_id_article > 0) {
+	
+			$query = "SELECT id_article, titre, statut FROM spip_articles WHERE id_article='$forum_id_article'";
+		 	$result = spip_query($query);
+
+			while($row=mysql_fetch_array($result)) {
+				$id_article = $row['id_article'];
+				$titre = $row['titre'];
+				$statut = $row['statut'];
+			}
+
+			if ($forum_stat == "prive") {
+				return $retour."<B>R&eacute;ponse &agrave; l'article <A HREF='articles.php3?id_article=$id_article'>$titre</A></B>";
+			}
+			else {
+				$retour .= "<a href='articles_forum.php3?id_article=$id_article'><font color='red'>G&eacute;rer le forum public de cet article</font></a><br>";
+				return $retour."<B>R&eacute;ponse &agrave; l'article <A HREF='".generer_url_article($id_article)."'>$titre</A></B>";
+			}
+		}
+		else if ($forum_id_rubrique > 0) {
+			$query2 = "SELECT * FROM spip_rubriques WHERE id_rubrique=\"$forum_id_rubrique\"";
+			$result2 = spip_query($query2);
+
+			while($row = mysql_fetch_array($result2)){
+				$id_rubrique = $row['id_rubrique'];
+				$titre = $row['titre'];
+			}
+			return "<B>R&eacute;ponse &agrave; la rubrique <A HREF='".generer_url_rubrique($id_rubrique)."'>$titre</A></B>";
+		}
+		else if ($forum_id_syndic > 0) {
+			$query2 = "SELECT * FROM spip_syndic WHERE id_syndic=\"$forum_id_syndic\"";
+			$result2 = spip_query($query2);
+
+			while($row = mysql_fetch_array($result2)){
+				$id_syndic = $row['id_syndic'];
+				$titre = $row['nom_site'];
+				$statut = $row['statut'];
+			}
+			return "<B>R&eacute;ponse au site r&eacute;f&eacute;renc&eacute; : <A HREF='sites.php3?id_syndic=$id_syndic'>$titre</A></B>";
+		}
+		else if ($forum_id_breve > 0) {
+			$query2 = "SELECT * FROM spip_breves WHERE id_breve=\"$forum_id_breve\"";
+		 	$result2 = spip_query($query2);
+
+		 	while($row = mysql_fetch_array($result2)){
+				$id_breve = $row['id_breve'];
+				$date_heure = $row['date_heure'];
+				$titre = $row['titre'];
+			}
+			if ($forum_stat == "prive") {
+				return "<B>R&eacute;ponse &agrave; la br&egrave;ve <A HREF='breves_voir.php3?id_breve=$id_breve'>$titre</A></B>";
+			}
+			else {
+				return "<B>R&eacute;ponse &agrave; la br&egrave;ve <A HREF='".generer_url_breve($id_breve)."'>$titre</A></B>";
+			}
+		}
+		else if ($forum_stat == "privadm") {
+			$retour = forum_parent($forum_id_parent);
+			
+			if (strlen($retour)>0) return $retour;
+			else return "<B>Message du <A HREF='forum_admin.php3'>forum des administrateurs</A></B>";
+		}
+		else {
+			$retour = forum_parent($forum_id_parent);
+			
+			if (strlen($retour)>0) return $retour;
+			else return "<B>Message du <A HREF='forum.php3'>forum interne</A></B>";
+		}
+	}
+
+}
+
+
+
+function controle_forum($request,$adresse_retour) {
+	global $compteur_forum;
+	static $nb_forum;
+	global $debut;
+	static $i;
+	global $couleur_foncee;
+	global $mots_cles_forums;
+
+	
+	$compteur_forum++; 
+
+	$nb_forum[$compteur_forum] = mysql_num_rows($request);
+	$i[$compteur_forum] = 1;
+ 	while($row=mysql_fetch_array($request)){
+		$id_forum = $row['id_forum'];
+		$forum_id_parent = $row['id_parent'];
+		$forum_id_rubrique = $row['id_rubrique'];
+		$forum_id_article = $row['id_article'];
+		$forum_id_breve = $row['id_breve'];
+		$forum_date_heure = $row['date_heure'];
+		$forum_titre = $row['titre'];
+		$forum_texte = $row['texte'];
+		$forum_auteur = $row['auteur'];
+		$forum_email_auteur = $row['email_auteur'];
+		$forum_nom_site = $row['nom_site'];
+		$forum_url_site = $row['url_site'];
+		$forum_stat = $row['statut'];
+		$forum_ip = $row['ip'];
+		$forum_id_auteur = $row["id_auteur"];
+		
+		if ($compteur_forum==1)
+			echo "<BR><BR>";
+		if ($forum_stat=="off" OR $forum_stat == "privoff") {
+			echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FF0000'>";
+		}else if($forum_stat=="prop"){
+			echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FFFF00'>";
+		}
+		echo "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>";
+		
+		for ($count = 2; $count <= $compteur_forum AND $count < 11; $count++) {
+
+			$fond[$count] = 'img_pack/rien.gif';
+			if ($i[$count] != $nb_forum[$count]) {
+				$fond[$count] = 'img_pack/forum-vert.gif';
+			}		
+		
+			$fleche='img_pack/rien.gif';
+			if ($count == $compteur_forum) {
+				$fleche='img_pack/forum-droite.gif';
+			}		
+			echo "<TD WIDTH=10 VALIGN='top' BACKGROUND=$fond[$count]><IMG SRC=$fleche ALT='' WIDTH=10 HEIGHT=13 BORDER=0></TD>\n";
+		}
+		
+		echo "<TD WIDTH=100% BGCOLOR='#EEEEEE' VALIGN='top'>";
+
+		echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'><B>".typo($forum_titre)."</B></FONT></TD></TR>";
+		echo "<TR><TD>";
+		echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>";
+		if ($forum_stat=="publie" OR $forum_stat == "off") {
+			echo "<img src='img_pack/racine-site-24.gif' border=0 align='left'>";
+			echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[sur le site public]</FONT> ";
+		}
+		else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm" OR $forum_stat == "privoff"){
+			echo "<img src='img_pack/cadenas-24.gif' border=0 align='left'>";
+			echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[dans l'espace priv&eacute;]</FONT> ";
+		}
+		echo "<FONT FACE='arial,helvetica'>".nom_jour($forum_date_heure)." ".affdate($forum_date_heure)." ˆ ".heures($forum_date_heure)." heures ".minutes($forum_date_heure)."</FONT>";
+		if (strlen($forum_auteur) > 2) {
+			if (strlen($forum_email_auteur) > 3) {
+				$forum_auteur="<A HREF=\"mailto:$forum_email_auteur?SUBJECT=".rawurlencode($forum_titre)."\">$forum_auteur</A>";
+			}
+			echo "<FONT FACE='arial,helvetica'> / <B>$forum_auteur</B></FONT>";
+		}
+
+		if ($forum_stat <> "off" AND $forum_stat <> "prioff") {
+			if ($forum_stat == "publie") icone ("Supprimer ce message", "controle_forum_public.php3?supp_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right");
+			else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm") icone ("Supprimer ce message", "controle_forum_public.php3?supp_forum_priv=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right");
+		}
+		else {
+			echo "<BR><FONT COLOR='red'><B>MESSAGE SUPPRIM&Eacute; $forum_ip</B></FONT>";
+			if($forum_id_auteur>0){
+				echo " - <A HREF='auteurs_edit.php3?id_auteur=$forum_id_auteur'>Voir cet auteur</A>";
+			
+			}
+
+		}
+
+		if ($forum_stat=="prop"){
+			icone("Valider ce message", "controle_forum_public.php3?valid_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "creer.gif", "right");
+		}
+
+		echo "<BR>".forum_parent($id_forum);
+
+		echo "<P align='justify'>".propre($forum_texte);
+		
+		if (strlen($forum_url_site) > 10 AND strlen($forum_nom_site) > 3) {
+			echo "<P align='left'><FONT FACE='Verdana,Arial,Helvetica,sans-serif'><B><A HREF='$forum_url_site'>$forum_nom_site</A></B></FONT>";
+		}
+
+		if ($mots_cles_forums == "oui"){
+			
+			$query_mots = "SELECT * FROM spip_mots AS mots, spip_mots_forum AS lien WHERE lien.id_forum = '$id_forum' AND lien.id_mot = mots.id_mot";
+			$result_mots = spip_query($query_mots);
+			
+			while ($row_mots = mysql_fetch_array($result_mots)) {
+				$id_mot = $row_mots['id_mot'];
+				$titre_mot = propre($row_mots['titre']);
+				$type_mot = propre($row_mots['type']);
+				echo "<li> <b>$type_mot :</b> $titre_mot";
+			}
+			
+		}
+
+		echo "</FONT>";
+		echo "</TD></TR></TABLE>";
+		
+		echo "</TD></TR></TABLE>\n";
+
+		if ($forum_stat == 'off' OR $forum_stat == 'privoff' OR $forum_stat=='prop') {
+			echo "</TD></TR></TABLE>";
+		}
+	}
+}
+
+  
+echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>";
+ 
+if ($connect_statut == "0minirezo") {
+
+	//gros_titre("Suivi des forums");
+
+	if (!$debut) $debut = 0;
+
+	$query_forum = "SELECT COUNT(*) AS cnt FROM spip_forum WHERE statut!= 'prive' AND statut!='privrac' AND statut!='privadm' AND statut!='privoff' AND statut!='perso' AND statut != 'redac' AND date_heure>DATE_SUB(NOW(),INTERVAL 30 DAY)";
+ 	$result_forum = spip_query($query_forum);
+ 	$total = 0;
+ 	if ($row = mysql_fetch_array($result_forum)) $total = $row['cnt'];
+
+	if ($total > 10) {
+		echo "<p>";
+		for ($i = 0; $i < $total; $i = $i + 10){
+			if ($i > 0) echo " | ";
+			if ($i == $debut)
+				echo "<FONT SIZE=3><B>$i</B></FONT>";
+			else
+				echo "<A HREF='controle_forum_public.php3?debut=$i'>$i</A>";
+		}
+	}
+
+	$query_forum = "SELECT * FROM spip_forum WHERE statut!= 'prive' AND statut!='privrac' AND statut!='privadm' AND statut!='privoff' AND statut!='perso' AND statut != 'redac' ORDER BY date_heure DESC LIMIT $debut,10";
+ 	$result_forum = spip_query($query_forum);
+	controle_forum($result_forum, "forum.php3");
+
+//	afficher_forum($result_forum, $forum_retour,'oui','non');
+
+}
+else {
+	echo "<B>Vous n'avez pas acc&egrave;s &agrave; cette page.</B>";
+}	
+		
+
+echo "</FONT>";
+
+
+fin_page();
+
+
+?>
+
diff --git a/ecrire/controle_petition.php3 b/ecrire/controle_petition.php3
index 063585f2f33c12e2066885a889371fc0e655cbf1..25f76b317e5c1636974c34de033823874880c3b4 100644
--- a/ecrire/controle_petition.php3
+++ b/ecrire/controle_petition.php3
@@ -158,11 +158,11 @@ if ($connect_statut == "0minirezo") {
 	if ($total > 10) {
 		echo "<p>";
 		for ($i = 0; $i < $total; $i = $i + 10){
-			$y = $i + 9;
+			if ($i > 0) echo " | ";
 			if ($i == $debut)
-				echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> ";
+				echo "<FONT SIZE=3><B>$i</B></FONT>";
 			else
-				echo "[<A HREF='controle_petition.php3?debut=$i'>$i-$y</A>] ";
+				echo "<A HREF='controle_petition.php3?debut=$i'>$i</A>";
 		}
 	}
 
diff --git a/ecrire/forum.php3 b/ecrire/forum.php3
index b693d9baa92151dddcf8ea680ab153036a9c6489..cc75d523c00a65b0b4da10c70b492be3b625bcf0 100644
--- a/ecrire/forum.php3
+++ b/ecrire/forum.php3
@@ -69,11 +69,11 @@ echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>";
 		echo "<p>";
 		//echo "<CENTER>";
 		for ($i = 0; $i < $total; $i = $i + 10){
-			$y = $i + 9;
+			if ($i > 0) echo " | ";
 			if ($i == $debut)
-				echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> ";
+				echo "<FONT SIZE=3><B>$i</B></FONT>";
 			else
-				echo "[<A HREF='forum.php3?debut=$i'>$i-$y</A>] ";
+				echo "<A HREF='forum.php3?debut=$i'>$i</A>";
 		}
 		//echo "</CENTER>";
 	}
diff --git a/ecrire/forum_admin.php3 b/ecrire/forum_admin.php3
index ae32af7aba1c227a45ce0dd9ff2df1f2d9b13d30..7e94969954fd705a19757f5decf3349f51661a99 100644
--- a/ecrire/forum_admin.php3
+++ b/ecrire/forum_admin.php3
@@ -70,11 +70,11 @@ if ($connect_statut == "0minirezo"){
 		echo "<p>";
 		//echo "<CENTER>";
 		for ($i = 0; $i < $total; $i = $i + 10){
-			$y = $i + 9;
+			if ($i > 0) echo " | ";
 			if ($i == $debut)
-				echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> ";
+				echo "<FONT SIZE=3><B>$i</B></FONT>";
 			else
-				echo "[<A HREF='forum_admin.php3?debut=$i'>$i-$y</A>] ";
+				echo "<A HREF='forum_admin.php3?debut=$i'>$i</A>";
 		}
 		//echo "</CENTER>";
 	}
diff --git a/ecrire/img_pack/cadenas-24.gif b/ecrire/img_pack/cadenas-24.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1bbcb6376a4292712c660fa14d4aa9b8dd47005f
Binary files /dev/null and b/ecrire/img_pack/cadenas-24.gif differ
diff --git a/ecrire/inc.php3 b/ecrire/inc.php3
index 9b9e6db70a1e9f2669bc0c991f8feeaec0356d19..d935c59040e2cdc458e50d9278b4ac7838d82430 100644
--- a/ecrire/inc.php3
+++ b/ecrire/inc.php3
@@ -277,6 +277,7 @@ function changer_statut_forum($id_forum, $statut) {
 }
 
 if ($supp_forum) changer_statut_forum($supp_forum, 'off');
+if ($supp_forum_priv) changer_statut_forum($supp_forum_priv, 'privoff');
 if ($valid_forum) changer_statut_forum($valid_forum, 'publie');
 
 
diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index ece6d93b39705b518285937047d3a177a669c3c3..a19c202ab1e3691ee1f343d43946f02a3a2502c4 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -946,6 +946,12 @@ function barre_onglets($rubrique, $onglet){
 		onglet("Fonctionnalit&eacute;s de SPIP", "config-fonctions.php3", "fonctions", $onglet, "statistiques-24.gif");
 	}
 	
+	if ($rubrique == "suivi_forum"){
+		onglet("Tous les messages", "controle_forum.php3", "tous", $onglet);
+		onglet("Messages du site public", "controle_forum_public.php3", "public", $onglet, "racine-site-24.gif");
+		onglet("Messages du site priv&eacute;", "controle_forum_prive.php3", "prive", $onglet, "cadenas-24.gif");
+	}
+	
 	
 	
 	fin_onglet();