diff --git a/ecrire/inc.php3 b/ecrire/inc.php3
index f94c7efb82fb53ad3555fee82108f96d00c6cfe3..274f812a113098cd06d4899676af89783dcb8bcf 100644
--- a/ecrire/inc.php3
+++ b/ecrire/inc.php3
@@ -3,6 +3,7 @@
 include ("inc_version.php3");
 include_ecrire("inc_auth.php3");
 include_ecrire("inc_presentation.php3");
+include_ecrire("inc_calendrier.php");
 include_ecrire("inc_texte.php3");
 include_ecrire("inc_filtres.php3");
 include_ecrire("inc_urls.php3");
diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3
index 0279729d947847292275a1ed80d0df9c19c4a293..c397d9dffca08f4926f0dbf25cfad6b5b52f755a 100644
--- a/ecrire/inc_lang.php3
+++ b/ecrire/inc_lang.php3
@@ -47,7 +47,7 @@ function charger_langue($lang, $module = 'spip', $forcer = false) {
 	$fichier_lang = $module.'_'.$lang.'.php3';
 	$fichier_lang_exists = @is_readable(_DIR_LANG . $fichier_lang);
 
-	if (_DIR_RESTREINT AND $fichier_lang_exists) {
+	if (_DIR_RESTREINT AND _FILE_CONNECT AND $fichier_lang_exists) {
 	  $ficher_cache = _DIR_CACHE . 'lang_'.$module.'_'.$lang.'.php3';
 	  $fichier_cache_time = @is_readable($fichier_cache) ? @filemtime($ficher_cache) : false;
 
@@ -143,10 +143,11 @@ function traduire_chaine($code, $args) {
 		}
 	}
 
+	$text = '';
 	// parcourir tous les modules jusqu'a ce qu'on trouve
 	while (!$text AND (list(,$module) = each ($modules))) {
 		$var = "i18n_".$module."_".$spip_lang;
-		if (!$GLOBALS[$var]) charger_langue($spip_lang, $module);
+		if (empty($GLOBALS[$var])) charger_langue($spip_lang, $module);
 		if (_DIR_RESTREINT) {
 			if (!isset($GLOBALS[$var][$code]))
 				charger_langue($spip_lang, $module, $code);
@@ -533,12 +534,13 @@ function utiliser_langue_visiteur() {
 	if (!regler_langue_navigateur())
 		utiliser_langue_site();
 
-	if ($GLOBALS['auteur_session']['lang'])
+	if (!empty($GLOBALS['auteur_session']['lang']))
 		changer_langue($GLOBALS['auteur_session']['lang']);
 
-	if ($cookie_lang = $HTTP_COOKIE_VARS[(_DIR_RESTREINT  ? 'spip_lang' : 'spip_lang_ecrire')])
+	$cookie_lang = (_DIR_RESTREINT  ? 'spip_lang' : 'spip_lang_ecrire');
+	if (!empty($HTTP_COOKIE_VARS[$cookie_lang]))
 
-		changer_langue($cookie_lang);
+		changer_langue($HTTP_COOKIE_VARS[$cookie_lang]);
 }
 
 //
diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index b61267bb518650e6f2b391bc5ae6ad6a5aa60dd9..2023d29ba23bbcc17a8cb97ff4245b7e42a99935 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -7,7 +7,6 @@ define("_ECRIRE_INC_PRESENTATION", "1");
 
 include_ecrire ("inc_lang.php3");
 utiliser_langue_visiteur();
-include_ecrire ("inc_calendrier.php");
 
 //
 // Aide
@@ -20,7 +19,8 @@ function aide($aide='') {
 	return "&nbsp;&nbsp;<a class='aide' href=\"". _DIR_RESTREINT .
 	  "aide_index.php3?aide=$aide&amp;var_lang=$spip_lang\" target=\"spip_aide\" ".
 		"onclick=\"javascript:window.open(this.href, 'spip_aide', 'scrollbars=yes, ".
-		"resizable=yes, width=740, height=580'); return false;\"><img ".
+		"resizable=yes, width=740, height=580'); return false;\">
+<img ".
 		"src=\"". _DIR_IMG_PACK . "aide.gif\" alt=\""._T('info_image_aide')."\" ".
 		"title=\""._T('titre_image_aide')."\" width=\"12\" height=\"12\" border=\"0\" ".
 		"align=\"middle\"></a>";
@@ -58,7 +58,7 @@ function bouton_imessage($destinataire, $row = '') {
 	if ($destinataire) $title = _T('info_envoyer_message_prive');
 	else $title = _T('info_ecire_message_prive');
 
-	$texte_bouton = "<img src='img_pack/m_envoi$spip_lang_rtl.gif' width='14' height='7' border='0' alt='m&gt;' title='$title' />";
+	$texte_bouton = http_img_pack("m_envoi$spip_lang_rtl.gif", "width='14' height='7' border='0' alt='m&gt;' title='$title'");
 		
 	
 	$ret .= "<a href='". $url->getUrl() ."' title=\"$title\">";
@@ -98,11 +98,11 @@ function debut_cadre($style, $icone = "", $fonction = "", $titre = "") {
 		$style_gauche = " padding-$spip_lang_left: 38px;";
 		$ret .= "<div style='position: absolute; top: 0px; $spip_lang_left: 10px; z-index: 2;'>";
 		if ($fonction) {
-			$ret .= "<div style='$bgright"."background: url(img_pack/$icone) no-repeat; padding: 0px; margin: 0px;'>";
-			$ret .= "<img src='img_pack/$fonction' alt='' />";
+			$ret .= "<div " . http_style_background($icone, "no-repeat; padding: 0px; margin: 0px;'");
+			$ret .= http_img_pack($fonction, "alt=''");
 			$ret .= "</div>";
 		}
-		else $ret .= "<img src='img_pack/$icone' alt='' />";
+		else $ret .=  http_img_pack("$icone", "alt=''");
 		$ret .= "</div>";
 
 		$style_cadre = " style='position: relative; top: 15px; margin-bottom: 14px; z-index: 1;'";
@@ -331,11 +331,11 @@ function bandeau_titre_boite($titre, $afficher_auteurs, $boite_importante = true
 	echo "<B>$titre</B></FONT></TD>";
 	if ($afficher_auteurs){
 		echo "<TD WIDTH='100'>";
-		echo "<img src='img_pack/rien.gif' alt='' width='100' height='12' border='0'>";
+		echo http_img_pack("rien.gif", "alt='' width='100' height='12' border='0'");
 		echo "</TD>";
 	}
 	echo "<TD WIDTH='90'>";
-	echo "<img src='img_pack/rien.gif' alt='' width='90' height='12' border='0'>";
+	echo http_img_pack("rien.gif", "alt='' width='90' height='12' border='0'");
 	echo "</TD>";
 	echo "</TR>";
 }
@@ -349,7 +349,8 @@ function bandeau_titre_boite2($titre, $logo="", $fond="white", $texte="black", $
 
 	if (strlen($logo) > 0 AND $spip_display != 1 AND $spip_display != 4) {
 		$retour .= "<div style='position: relative;'>";
-		$retour .= "<div style='position: absolute; top: -12px; $spip_lang_left: 3px;'><img src='img_pack/$logo' alt='' /></div>";
+		$retour .= "<div style='position: absolute; top: -12px; $spip_lang_left: 3px;'>" .
+		  http_img_pack("$logo", "alt=''") . "</div>";
 		$retour .= "<div style='background-color: $fond; color: $texte; padding: 3px; padding-$spip_lang_left: 30px; border-bottom: 1px solid #444444;' class='verdana2'><b>$titre</b></div>";
 	
 		$retour .= "</div>";
@@ -398,9 +399,11 @@ function afficher_plus($lien) {
 	
 	if ($options == "avancees" AND $spip_display != 4) {
 		if ($browser_name == "MSIE") 
-			return "<a href='$lien'><img src='img_pack/plus.gif' alt='+' border='0'></a> ";
+			return "<a href='$lien'>" .
+			  http_img_pack("plus.gif", "alt='+' border='0'"). "</a> ";
 		else
-			return "<div style='float:$spip_lang_right; padding-top: 2px;'><a href='$lien'><img src='img_pack/plus.gif' border='0'></a></div>";
+			return "<div style='float:$spip_lang_right; padding-top: 2px;'><a href='$lien'>" .
+			  http_img_pack("plus.gif", "border='0'") ."</a></div>";
 	}
 }
 
@@ -578,16 +581,22 @@ function puce_statut_article($id_article, $statut) {
 		else $alt = "title";
 	
 		$inser_puce = "<div class='puce_article' id='statut$id_article'$dir_lang>"
-			. "<div class='puce_article_fixe' onmouseover=\"montrer('statutdecal$id_article');\"><img src='img_pack/$puce' id='imgstatut$id_article' border='0' style='margin: 1px;'></div>"
+			. "<div class='puce_article_fixe' onmouseover=\"montrer('statutdecal$id_article');\">" .
+		  http_img_pack("$puce", "id='imgstatut$id_article' border='0' style='margin: 1px;'") ."</div>"
 			. "<div class='puce_article_popup' id='statutdecal$id_article' onmouseout=\"cacher('statutdecal$id_article');\" style=' margin-left: -".((11*$clip)+1)."px;'>"
-			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 0, 'prepa');\"><img src='img_pack/puce-blanche.gif' $alt=\""._T('texte_statut_en_cours_redaction')."\"></a>"
-			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 1, 'prop');\"><img src='img_pack/puce-orange.gif' $alt=\""._T('texte_statut_propose_evaluation')."\"></a>"
-			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 2, 'publie');\"><img src='img_pack/puce-verte.gif' $alt=\""._T('texte_statut_publie')."\"></a>"
-			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 3, 'refuse');\"><img src='img_pack/puce-rouge.gif' $alt=\""._T('texte_statut_refuse')."\"></a>"
-			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 4, 'poubelle');\"><img src='img_pack/puce-poubelle.gif' $alt=\""._T('texte_statut_poubelle')."\"></a>"
+			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 0, 'prepa');\">" .
+		  http_img_pack("puce-blanche.gif", "$alt=\""._T('texte_statut_en_cours_redaction')."\""). "</a>"
+			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 1, 'prop');\">" .
+		  http_img_pack("puce-orange.gif", "$alt=\""._T('texte_statut_propose_evaluation')."\"") . "</a>"
+			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 2, 'publie');\">" .
+		  http_img_pack("puce-verte.gif", "$alt=\""._T('texte_statut_publie')."\"")."</a>"
+			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 3, 'refuse');\">" .
+		  http_img_pack("puce-rouge.gif", "$alt=\""._T('texte_statut_refuse')."\""). "</a>"
+			. "<a onmouseover=\"montrer('statutdecal$id_article');\" href=\"javascript:selec_statut_art($id_article, 4, 'poubelle');\">" .
+		  http_img_pack("puce-poubelle.gif", "$alt=\""._T('texte_statut_poubelle')."\""). "</a>"
 			. "</div></div>";
 	} else {
-		$inser_puce = "<img src='img_pack/$puce' id='imgstatut$id_article' border='0' style='margin: 1px;'>";
+		$inser_puce = http_img_pack("$puce", "id='imgstatut$id_article' border='0' style='margin: 1px;'");
 	}
 	return $inser_puce;
 }
@@ -622,14 +631,18 @@ function puce_statut_breve($id_breve, $statut) {
 		else $alt = "title";
 	
 		$inser_puce = "<div class='puce_breve' id='statutbreve$id_breve'$dir_lang>"
-			. "<div class='puce_breve_fixe' onmouseover=\"montrer('statutdecalbreve$id_breve');\"><img src='img_pack/$puce' id='imgstatutbreve$id_breve' border='0' style='margin: 1px;'></div>"
+			. "<div class='puce_breve_fixe' onmouseover=\"montrer('statutdecalbreve$id_breve');\">" .
+		  http_img_pack("$puce", "id='imgstatutbreve$id_breve' border='0' style='margin: 1px;'"). "</div>"
 			. "<div class='puce_breve_popup' id='statutdecalbreve$id_breve' onmouseout=\"cacher('statutdecalbreve$id_breve');\" style=' margin-left: -".((9*$clip)+1)."px;'>"
-			. "<a onmouseover=\"montrer('statutdecalbreve$id_breve');\" href=\"javascript:selec_statut_breve($id_breve, 0, 'prop');\"><img src='img_pack/puce-orange-breve.gif' $alt=\""._T('texte_statut_propose_evaluation')."\"></a>"
-			. "<a onmouseover=\"montrer('statutdecalbreve$id_breve');\" href=\"javascript:selec_statut_breve($id_breve, 1, 'publie');\"><img src='img_pack/puce-verte-breve.gif' $alt=\""._T('texte_statut_publie')."\"></a>"
-			. "<a onmouseover=\"montrer('statutdecalbreve$id_breve');\" href=\"javascript:selec_statut_breve($id_breve, 2, 'refuse');\"><img src='img_pack/puce-rouge-breve.gif' $alt=\""._T('texte_statut_refuse')."\"></a>"
+			. "<a onmouseover=\"montrer('statutdecalbreve$id_breve');\" href=\"javascript:selec_statut_breve($id_breve, 0, 'prop');\">" .
+		  http_img_pack("puce-orange-breve.gif", "$alt=\""._T('texte_statut_propose_evaluation')."\"") . "</a>"
+			. "<a onmouseover=\"montrer('statutdecalbreve$id_breve');\" href=\"javascript:selec_statut_breve($id_breve, 1, 'publie');\">" .
+		  http_img_pack("puce-verte-breve.gif", "$alt=\""._T('texte_statut_publie')."\""). "</a>"
+			. "<a onmouseover=\"montrer('statutdecalbreve$id_breve');\" href=\"javascript:selec_statut_breve($id_breve, 2, 'refuse');\">" .
+		  http_img_pack("puce-rouge-breve.gif", "$alt=\""._T('texte_statut_refuse')."\""). "</a>"
 			. "</div></div>";
 	} else {
-		$inser_puce = "<img src='img_pack/$puce' id='imgstatut$id_article' border='0' style='margin: 1px;'>";
+		$inser_puce = http_img_pack("$puce", "id='imgstatut$id_article' border='0' style='margin: 1px;'");
 	}
 	return $inser_puce;
 }
@@ -736,7 +749,7 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a
 			$s = "<div>";
 				
 			if (acces_restreint_rubrique($id_rubrique))
-				$s .= "<img src='img_pack/admin-12.gif' alt='' width='12' height='12' title='"._T('titre_image_admin_article')."'>&nbsp;";
+				$s .= http_img_pack("admin-12.gif", "alt='' width='12' height='12' title='"._T('titre_image_admin_article')."'") . ">&nbsp;";
 			$s .= "<a href=\"articles.php3?id_article=$id_article\"$descriptif$dir_lang style=\"display:block;\">";
 			
 			if ($spip_display != 1 AND $spip_display != 4 AND lire_meta('image_process') != "non") {
@@ -753,7 +766,8 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a
 					$fid = $logo[2];
 					$hash = calculer_action_auteur ("reduire $w $h");
 
-					$s.= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'><img src='../spip_image_reduite.php3?img="._DIR_IMG."$fichier&taille_x=$w&taille_y=$h&hash=$hash&hash_id_auteur=$connect_id_auteur' alt='' width='$w' height='$h' border='0'></div>";
+					$s.= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>
+<img src='../spip_image_reduite.php3?img="._DIR_IMG."$fichier&taille_x=$w&taille_y=$h&hash=$hash&hash_id_auteur=$connect_id_auteur' alt='' width='$w' height='$h' border='0'></div>";
 					
 				}
 			}
@@ -890,7 +904,8 @@ function afficher_breves($titre_table, $requete, $affrub=false) {
 					$fid = $logo[2];
 					$hash = calculer_action_auteur ("reduire $w $h");
 
-					$s.= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'><img src='../spip_image_reduite.php3?img="._DIR_IMG."$fichier&taille_x=$w&taille_y=$h&hash=$hash&hash_id_auteur=$connect_id_auteur' alt='' width='$w' height='$h' border='0'></div>";
+					$s.= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>
+<img src='../spip_image_reduite.php3?img="._DIR_IMG."$fichier&taille_x=$w&taille_y=$h&hash=$hash&hash_id_auteur=$connect_id_auteur' alt='' width='$w' height='$h' border='0'></div>";
 					
 				}
 			}
@@ -975,11 +990,11 @@ function afficher_rubriques($titre_table, $requete) {
 			$tous_id[] = $id_rubrique;
 			$titre = $row['titre'];
 			
-			if ($id_parent == 0) $puce = "img_pack/secteur-12.gif";
-			else $puce = "img_pack/rubrique-12.gif";
+			if ($id_parent == 0) $puce = "secteur-12.gif";
+			else $puce = "rubrique-12.gif";
 
 			$s = "<b><a href=\"naviguer.php3?coll=$id_rubrique\">";
-			$s .= "<img src=\"$puce\" alt=\"- \" border=\"0\"> ";
+			$s .= http_img_pack($puce, "alt=\"- \" border=\"0\"");
 			$s .= typo($titre);
 			$s .= "</A></b>";
 			$vals[] = $s;
@@ -1011,19 +1026,19 @@ function bonhomme_statut($row) {
 
 	switch($row['statut']) {
 		case "0minirezo":
-			$image = "<img src='img_pack/admin-12.gif' alt='' title='"._T('titre_image_administrateur')."' border='0'>";
+			$image = http_img_pack("admin-12.gif", "alt='' title='"._T('titre_image_administrateur')."' border='0'");
 			break;
 		case "1comite":
 			if ($connect_statut == '0minirezo' AND ($row['source'] == 'spip' AND !($row['pass'] AND $row['login'])))
-				$image = "<img src='img_pack/visit-12.gif' alt='' title='"._T('titre_image_redacteur')."' border='0'>";
+				$image = http_img_pack("visit-12.gif", "alt='' title='"._T('titre_image_redacteur')."' border='0'");
 			else
-				$image = "<img src='img_pack/redac-12.gif' alt='' title='"._T('titre_image_redacteur_02')."' border='0'>";
+				$image = http_img_pack("redac-12.gif", "alt='' title='"._T('titre_image_redacteur_02')."' border='0'");
 			break;
 		case "5poubelle":
-			$image = "<img src='img_pack/poubelle.gif' alt='' title='"._T('titre_image_auteur_supprime')."' border='0'>";
+			$image = http_img_pack("poubelle.gif", "alt='' title='"._T('titre_image_auteur_supprime')."' border='0'");
 			break;
 		case "6forum":
-			$image = "<img src='img_pack/visit-12.gif' alt='' title='"._T('titre_image_visiteur')."' border='0'>";
+			$image = http_img_pack("visit-12.gif", "alt='' title='"._T('titre_image_visiteur')."' border='0'");
 			break;
 		case "nouveau":
 		default:
@@ -1173,7 +1188,7 @@ function afficher_messages($titre_table, $query_message, $afficher_auteurs = tru
 				break;
 			}
 				
-			$s .= "<img src='img_pack/$puce' width='14' height='7' border='0' alt='' />";
+			$s .= http_img_pack("$puce", "width='14' height='7' border='0' alt=''");
 			$s .= "&nbsp;&nbsp;".typo($titre)."</A>";
 			$vals[] = $s;
 
@@ -1225,7 +1240,9 @@ function afficher_messages($titre_table, $query_message, $afficher_auteurs = tru
 				else 
 					$heure_fin = "...";
 
-				$s = "<div style='background: url(img_pack/rv-12.gif) $spip_lang_left center no-repeat; padding-$spip_lang_left: 15px;'><a href='calendrier_jour.php3?jour=$jour&mois=$mois&annee=$annee'><b style='color: black;'>$s</b><br />$heure-$heure_fin</a></div>";
+				$s = "<div " . 
+				  http_style_background('rv-12.gif', "$spip_lang_left center no-repeat; padding-$spip_lang_left: 15px;'") .
+				  "><a href='calendrier_jour.php3?jour=$jour&mois=$mois&annee=$annee'><b style='color: black;'>$s</b><br />$heure-$heure_fin</a></div>";
 			} else {
 				$s = "<font color='#999999'>$s</font>";
 			}
@@ -1314,11 +1331,12 @@ function afficher_forum($request, $adresse_retour, $controle_id_article = 0) {
 				if ($i[$count]!=$nb_forum[$count]){
 					$fond[$count]='img_pack/forum-vert.gif';
 				}
-				$fleche='img_pack/rien.gif';
+				$fleche='rien.gif';
 				if ($count==$compteur_forum){
-					$fleche="img_pack/forum-droite$spip_lang_rtl.gif";
+					$fleche="forum-droite$spip_lang_rtl.gif";
 				}
-				if ($spip_display != 4) echo "<td width=10 valign='top' background=$fond[$count]><img src='$fleche' alt='' width=10 height=13 border=0></td>\n";
+				if ($spip_display != 4) echo "<td width='10' valign='top' background=$fond[$count]>" .
+				  http_img_pack($fleche, "alt='' width='10' height='13' border='0'"). "</td>\n";
 			}
 
 			if ($spip_display != 4) echo "\n<td width=100% valign='top'>";
@@ -1855,7 +1873,8 @@ function onglet($texte, $lien, $onglet_ref, $onglet, $icone=""){
 		echo "<div style='position: relative;'>";
 		if ($spip_display != 1) {
 			if (strlen($icone) > 0) {
-				echo "<div style='z-index: 2; position: absolute; top: 0px; $spip_lang_left: 5px;'><img src='img_pack/$icone' /></div>";
+				echo "<div style='z-index: 2; position: absolute; top: 0px; $spip_lang_left: 5px;'>" .
+				  http_img_pack("$icone", "") . "</div>";
 				$style = " top: 7px; padding-$spip_lang_left: 32px; z-index: 1;";
 			} else {
 				$style = " top: 7px;";
@@ -1870,7 +1889,8 @@ function onglet($texte, $lien, $onglet_ref, $onglet, $icone=""){
 		echo "<div style='position: relative;'>";
 		if ($spip_display != 1) {
 			if (strlen($icone) > 0) {
-				echo "<div style='z-index: 2; position: absolute; top: 0px; $spip_lang_left: 5px;'><img src='img_pack/$icone' /></div>";
+				echo "<div style='z-index: 2; position: absolute; top: 0px; $spip_lang_left: 5px;'>" .
+				  http_img_pack("$icone", "") . "</div>";
 				$style = " top: 7px; padding-$spip_lang_left: 32px; z-index: 1;";
 			} else {
 				$style = " top: 7px;";
@@ -2023,7 +2043,8 @@ function icone_bandeau_principal($texte, $lien, $fond, $rubrique_icone = "vide",
 	$compteur_survol ++;
 
 	if ($spip_display != 1 AND $spip_display != 4) {
-		echo "<td class='cellule48' onMouseOver=\"changestyle('bandeau$rubrique_icone', 'visibility', 'visible');\" width='$largeur'>$a_href<img src='img_pack/$fond' width='48' height='48'$alt$title>";
+		echo "<td class='cellule48' onMouseOver=\"changestyle('bandeau$rubrique_icone', 'visibility', 'visible');\" width='$largeur'>$a_href" .
+		  http_img_pack("$fond", "width='48' height='48'$alt$title");
 		if ($spip_display != 3) {
 			echo "<span>$texte</span>";
 		}
@@ -2079,7 +2100,8 @@ function icone_bandeau_secondaire($texte, $lien, $fond, $rubrique_icone = "vide"
 
 	if ($spip_display != 1) {
 		echo "<td class='cellule36' style='width: ".$largeur."px;'>";
-		echo "$a_href<img src='img_pack/$fond'$alt$title>";
+		echo "$a_href" .
+		  http_img_pack("$fond","$alt$title");
 		if ($aide AND $spip_display != 3) echo aide($aide)." ";
 		if ($spip_display != 3) {
 			echo "<span>$texte</span>";
@@ -2126,10 +2148,12 @@ function icone($texte, $lien, $fond, $fonction="", $align="", $afficher='oui'){
 		$icone .= "<tr><td class='icone36$style' style='text-align:center;'><a href='$lien'>";
 	if ($spip_display != 1 AND $spip_display != 4){
 		if ($fonction != "rien.gif"){
-			$icone .= "<img src='img_pack/$fonction'$alt$title style='background: url(img_pack/$fond) no-repeat center center;' width='24' height='24' border='0'>";
+		  $icone .= http_img_pack($fonction, 
+					  http_style_background($fond, "no-repeat center center") . 
+					  " $alt$title width='24' height='24' border='0'");
 		}
 		else {
-			$icone .= "<img src='img_pack/$fond'$alt$title width='24' height='24' border='0'>";
+			$icone .= http_img_pack("$fond","$alt$title width='24' height='24' border='0'");
 		}
 	}
 	if ($spip_display != 3){
@@ -2157,8 +2181,10 @@ function icone_horizontale($texte, $lien, $fond = "", $fonction = "", $echo = tr
 		if ($danger) $retour .= "<div class='danger'>";
 		if ($spip_display != 1) {
 			$retour .= "<a href='$lien' class='cellule-h' $javascript><table cellpadding='0' valign='middle'><tr>\n";
-			$retour .= "<td><a href='$lien'><div class='cell-i'><img style='background: url(\"img_pack/$fond\") center center no-repeat;' src='img_pack/$fonction' alt=''></div></a></td>\n";
-			$retour .= "<td class='cellule-h-lien'><a href='$lien' class='cellule-h'>$texte</a></td>\n";
+			$retour .= "<td><a href='$lien'><div class='cell-i'>" .
+			  http_img_pack($fonction, http_style_background($fond,"center center no-repeat") . " alt=''") .
+			  "</div></a></td>\n" .
+			  "<td class='cellule-h-lien'><a href='$lien' class='cellule-h'>$texte</a></td>\n";
 			$retour .= "</tr></table></a>\n";
 		}
 		else {
@@ -2449,24 +2475,32 @@ else {
 	echo "<table align='center' cellpadding='0' background='' width='$largeur'><tr width='$largeur'>";
 
 	echo "<td valign='middle' class='bandeau_couleur' style='text-align: $spip_lang_left;'>";
-		echo "<a href='articles_tous.php3' class='icone26' onMouseOver=\"changestyle('bandeautoutsite','visibility','visible');\"><img src='img_pack/tout-site.png' width='26' height='20' border='0' alt='' /></a>";
+		echo "<a href='articles_tous.php3' class='icone26' onMouseOver=\"changestyle('bandeautoutsite','visibility','visible');\">" .
+		  http_img_pack("tout-site.png", "width='26' height='20' border='0' alt=''") . "</a>";
 
 		$id_rubrique = $GLOBALS['id_rubrique'];
-		if ($id_rubrique > 0) echo "<a href='brouteur.php3?id_rubrique=$id_rubrique' class='icone26' onMouseOver=\"changestyle('bandeaunavrapide','visibility','visible');\"><img src='img_pack/naviguer-site.png' alt='' width='26' height='20' border='0'></a>";
-		else echo "<a href='brouteur.php3' class='icone26' onMouseOver=\"changestyle('bandeaunavrapide','visibility','visible');\" ><img src='img_pack/naviguer-site.png' alt='' width='26' height='20' border='0'></a>";
-
-		echo "<a href='recherche.php3' class='icone26' onMouseOver=\"changestyle('bandeaurecherche','visibility','visible');\" ><img src='img_pack/loupe.png' alt='' width='26' height='20' border='0'></a>";
-
-		echo"<img src='img_pack/rien.gif' width='10' alt='' />";
-
-		echo "<a href='calendrier_semaine.php3' class='icone26' onMouseOver=\"changestyle('bandeauagenda','visibility','visible');\"><img src='img_pack/cal-rv.png' alt='' width='26' height='20' border='0'></a>";
-		echo "<a href='messagerie.php3' class='icone26' onMouseOver=\"changestyle('bandeaumessagerie','visibility','visible');\"><img src='img_pack/cal-messagerie.png' alt='' width='26' height='20' border='0'></a>";
-		echo "<a href='synchro.php3' class='icone26' onMouseOver=\"changestyle('bandeausynchro','visibility','visible');\"><img src='img_pack/cal-suivi.png' alt='' width='26' height='20' border='0'></a>";
+		if ($id_rubrique > 0) echo "<a href='brouteur.php3?id_rubrique=$id_rubrique' class='icone26' onMouseOver=\"changestyle('bandeaunavrapide','visibility','visible');\">" .
+		  http_img_pack("naviguer-site.png", "alt='' width='26' height='20' border='0'") ."</a>";
+		else echo "<a href='brouteur.php3' class='icone26' onMouseOver=\"changestyle('bandeaunavrapide','visibility','visible');\" >" .
+		  http_img_pack("naviguer-site.png", "alt='' width='26' height='20' border='0'") . "</a>";
+
+		echo "<a href='recherche.php3' class='icone26' onMouseOver=\"changestyle('bandeaurecherche','visibility','visible');\" >" .
+		  http_img_pack("loupe.png", "alt='' width='26' height='20' border='0'") ."</a>";
+
+		echo http_img_pack("rien.gif", "width='10' alt=''");
+
+		echo "<a href='calendrier_semaine.php3' class='icone26' onMouseOver=\"changestyle('bandeauagenda','visibility','visible');\">" .
+		  http_img_pack("cal-rv.png", "alt='' width='26' height='20' border='0'") ."</a>";
+		echo "<a href='messagerie.php3' class='icone26' onMouseOver=\"changestyle('bandeaumessagerie','visibility','visible');\">" .
+		  http_img_pack("cal-messagerie.png", "alt='' width='26' height='20' border='0'") ."</a>";
+		echo "<a href='synchro.php3' class='icone26' onMouseOver=\"changestyle('bandeausynchro','visibility','visible');\">" .
+		  http_img_pack("cal-suivi.png", "alt='' width='26' height='20' border='0'") . "</a>";
 		
 
 		if (!($connect_statut == "0minirezo" AND $connect_toutes_rubriques)) {
-			echo "<img src='img_pack/rien.gif' width='10' alt='' />";
-			echo "<a href='auteurs_edit.php3?id_auteur=$connect_id_auteur' class='icone26' onMouseOver=\"changestyle('bandeauinfoperso','visibility','visible');\"><img src='img_pack/fiche-perso.png' border='0' onMouseOver=\"changestyle('bandeauvide','visibility', 'visible');\">";
+			echo http_img_pack("rien.gif", "width='10' alt=''");
+			echo "<a href='auteurs_edit.php3?id_auteur=$connect_id_auteur' class='icone26' onMouseOver=\"changestyle('bandeauinfoperso','visibility','visible');\">" .
+			  http_img_pack("fiche-perso.png", "border='0' onMouseOver=\")changestyle('bandeauvide','visibility', 'visible';\"");
 			echo "</a>";
 		}
 		
@@ -2500,23 +2534,26 @@ else {
 				$simple = "<a href='".$lien->getUrl()."' class='lien_sous'>"._T('icone_interface_simple')."</a>/<b>"._T('icone_interface_complet')."</b>";
 				$icone = "interface-display.png";
 			}
-			echo "<a href='". $lien->getUrl() ."' class='icone26' onMouseOver=\"changestyle('bandeaudisplay','visibility', 'visible');\"><img src='img_pack/$icone' alt='' width='26' height='20' border='0'></a>";
+			echo "<a href='". $lien->getUrl() ."' class='icone26' onMouseOver=\"changestyle('bandeaudisplay','visibility', 'visible');\">" .
+			  http_img_pack("$icone", "alt='' width='26' height='20' border='0'")."</a>";
 
-			echo "<img src='img_pack/rien.gif' width='10' height='1' alt='' />";
-			echo "<img src='img_pack/choix-layout$spip_lang_rtl".($spip_lang=='he'?'_he':'').".png' alt='abc' class='format_png' valign='middle' width='59' height='15' usemap='#map_layout' border='0' />";
+			echo http_img_pack("rien.gif", "width='10' height='1' alt=''");
+			echo http_img_pack("choix-layout$spip_lang_rtl".($spip_lang=='he'?'_he':'').".png", "alt='abc' class='format_png' valign='middle' width='59' height='15' usemap='#map_layout' border='0'");
 
 
-			echo "<img src='img_pack/rien.gif' width='10' height='1' alt='' />";
+			echo http_img_pack("rien.gif", "width='10' height='1' alt=''");
 			// grand ecran
 			$lien = new Link;
 			if ($spip_ecran == "large") {
 				$lien->addVar('set_ecran', 'etroit');
-				echo "<a href='". $lien->getUrl() ."' class='icone26' onMouseOver=\"changestyle('bandeauecran','visibility', 'visible');\" title=\""._T('info_petit_ecran')."\"><img src='img_pack/set-ecran-etroit.png' alt=\""._T('info_petit_ecran')."\" width='26' height='20' border='0'></a>";
+				echo "<a href='". $lien->getUrl() ."' class='icone26' onMouseOver=\"changestyle('bandeauecran','visibility', 'visible');\" title=\""._T('info_petit_ecran')."\">" .
+				  http_img_pack("set-ecran-etroit.png", "alt=\")"._T('info_petit_ecran')."\" width='26' height='20' border='0'") . "</a>";
 				$ecran = "<div><a href='".$lien->getUrl()."' class='lien_sous'>"._T('info_petit_ecran')."</a>/<b>"._T('info_grand_ecran')."</b></div>";
 			}
 			else {
 				$lien->addVar('set_ecran', 'large');
-				echo "<a href='". $lien->getUrl() ."' class='icone26' onMouseOver=\"changestyle('bandeauecran','visibility', 'visible');\" title=\""._T('info_grand_ecran')."\"><img src='img_pack/set-ecran.png' alt=\""._T('info_grand_ecran')."\" width='26' height='20' border='0'></a>";
+				echo "<a href='". $lien->getUrl() ."' class='icone26' onMouseOver=\"changestyle('bandeauecran','visibility', 'visible');\" title=\""._T('info_grand_ecran')."\">" .
+				  http_img_pack("set-ecran.png", "alt=\""._T('info_grand_ecran')."\" width='26' height='20' border='0'") ."</a>";
 				$ecran = "<div><b>"._T('info_petit_ecran')."</b>/<a href='".$lien->getUrl()."' class='lien_sous'>"._T('info_grand_ecran')."</a></div>";
 			}
 //			echo "<img src='img_pack/rien.gif' width='10' height='1' alt='' />";
@@ -2531,7 +2568,8 @@ else {
 					$link->delVar('set_couleur');
 					$link->addVar('set_couleur', $key);
 					
-					echo "<a href=\"".$link->getUrl()."\"><img src='img_pack/rien.gif' width='8' height='8' border='0' style='margin: 1px; background-color: ".$couleurs_spip[$key]['couleur_claire'].";' onMouseOver=\"changestyle('bandeauinterface','visibility', 'visible');\" alt='' /></a>";
+					echo "<a href=\"".$link->getUrl()."\">" .
+					  http_img_pack("rien.gif", "width='8' height='8' border='0' style='margin: 1px; background-color: ".$couleurs_spip[$key]['couleur_claire'].";' onMouseOver=\"changestyle('bandeauinterface','visibility', 'visible');\" alt=''"). "</a>";
 			}
 			// echo "<img src='img_pack/rien.gif' width='10' height='1' />";
 		echo "</td>";
@@ -2547,7 +2585,8 @@ else {
 		echo "<td class='bandeau_couleur' style='text-align: $spip_lang_right; width: 28px;' valign='middle'>";
 
 			if ($auth_can_disconnect) {	
-				echo "<a href='../spip_cookie.php3?logout=$connect_login' class='icone26' onMouseOver=\"changestyle('bandeaudeconnecter','visibility', 'visible');\"><img src='img_pack/deconnecter-24.gif' border='0' alt='' /></a>";
+				echo "<a href='../spip_cookie.php3?logout=$connect_login' class='icone26' onMouseOver=\"changestyle('bandeaudeconnecter','visibility', 'visible');\">" .
+				  http_img_pack("deconnecter-24.gif", "border='0' alt=''") . "</a>";
 			}
 		echo "</td>";
 	
@@ -2952,11 +2991,6 @@ else {
 				}
 			}
 			if ($flag_cadre) echo "</div>";
-
-
-
-
-
 }
 
 
@@ -2967,7 +3001,7 @@ function gros_titre($titre, $ze_logo=''){
 	}
 	else {
 		echo "<div class='verdana2' style='font-size: 18px; color: $couleur_foncee; font-weight: bold;'>";
-		if (strlen($ze_logo) > 3) echo "<img src='img_pack/$ze_logo' alt='' border=0 align='middle'> &nbsp; ";
+		if (strlen($ze_logo) > 3) echo http_img_pack("$ze_logo", "alt='' border=0 align='middle'") . " &nbsp; ";
 		echo typo($titre);
 		echo "</div>\n";
 	}
@@ -3126,7 +3160,8 @@ function debut_droite($rubrique="") {
 						$nb_liberer ++;
 						$lien = new Link;
 						$lien->addVar('debloquer_article', $ze_article);
-						echo "<div class='arial1' style='text-align:right;'><a href='". $lien->getUrl() ."' title='"._T('lien_liberer')."'>"._T('lien_liberer')."&nbsp;<img src='img_pack/croix-rouge.gif' alt='X' width='7' height='7' border='0' align='middle'></a></div>";
+						echo "<div class='arial1' style='text-align:right;'><a href='". $lien->getUrl() ."' title='"._T('lien_liberer')."'>"._T('lien_liberer')."&nbsp;" .
+						  http_img_pack("croix-rouge.gif", "alt='X' width='7' height='7' border='0' align='middle'") . "</a></div>";
 					}
 				
 					echo "</div>";
@@ -3134,7 +3169,8 @@ function debut_droite($rubrique="") {
 				if ($nb_liberer >= 4) {
 					$lien = new Link;
 					$lien->addVar('debloquer_article', 'tous');
-					echo "<div class='arial2' style='text-align:right; padding:2px; border-top: 1px solid $couleur_foncee;'><a href='". $lien->getUrl() ."'>"._T('lien_liberer_tous')."&nbsp;<img src='img_pack/croix-rouge.gif' alt='' width='7' height='7' border='0' align='middle'></a></div>";
+					echo "<div class='arial2' style='text-align:right; padding:2px; border-top: 1px solid $couleur_foncee;'><a href='". $lien->getUrl() ."'>"._T('lien_liberer_tous')."&nbsp;" .
+					  http_img_pack("croix-rouge.gif", "alt='' width='7' height='7' border='0' align='middle'") ."</a></div>";
 				}
 				//echo "</font>";
 				fin_cadre_enfonce();
@@ -3178,10 +3214,10 @@ function fin_html() {
 
 	// rejouer le cookie de session si l'IP a change
 	if ($GLOBALS['spip_session'] && $GLOBALS['auteur_session']['ip_change']) {
-		echo "<img name='img_session' src='img_pack/rien.gif' width='0' height='0' alt='' />\n";
-		echo "<script type='text/javascript'><!-- \n";
-		echo "document.img_session.src='../spip_cookie.php3?change_session=oui';\n";
-		echo "// --></script>\n";
+		echo 
+		  http_img_pack('rien.gif', "name='img_session' width='0' height='0' alt='' /"),
+		  "\n<script type='text/javascript'><!-- \n",
+		  "document.img_session.src='../spip_cookie.php3?change_session=oui';\n", "// --></script>\n";
 	}
 
 	echo "</body></html>\n";
@@ -3249,7 +3285,9 @@ function afficher_hierarchie($id_rubrique, $parents="") {
 				$logo = "rubrique-12.gif";
 
 
-			$parents = "<div class='verdana3' style='padding-$spip_lang_left: 15px; background: url(img_pack/$logo) $spip_lang_left center no-repeat;'><a href='naviguer.php3?coll=$id_rubrique'>".typo($titre)."</a></div>\n<div style='margin-$spip_lang_left: 15px;'>".$parents."</div>";
+			$parents = "<div class='verdana3' ". 
+			  http_style_background($logo, "padding-$spip_lang_left: 15px; $spip_lang_left center no-repeat"). 
+			  "<a href='naviguer.php3?coll=$id_rubrique'>".typo($titre)."</a></div>\n<div style='margin-$spip_lang_left: 15px;'>".$parents."</div>";
 
 
 		}
@@ -3257,7 +3295,9 @@ function afficher_hierarchie($id_rubrique, $parents="") {
 	}
 	else {
 		$logo = "racine-site-12.gif";
-		$parents = "<div class='verdana3' style='padding-$spip_lang_left: 15px; background: url(img_pack/$logo) $spip_lang_left center no-repeat;'><a href='naviguer.php3?coll=$id_rubrique'><b>"._T('lien_racine_site')."</b></a>".aide ("rubhier")."</div>\n<div style='margin-$spip_lang_left: 15px;'>".$parents."</div>";
+		$parents = "<div class='verdana3' " .
+		  http_style_background($logo, "padding-$spip_lang_left: 15px; $spip_lang_left center no-repeat"). 
+		  "<a href='naviguer.php3?coll=$id_rubrique'><b>"._T('lien_racine_site')."</b></a>".aide ("rubhier")."</div>\n<div style='margin-$spip_lang_left: 15px;'>".$parents."</div>";
 	
 		echo $parents;
 		
@@ -3362,4 +3402,15 @@ function voir_en_ligne ($type, $id, $statut=false, $image='racine-24.gif') {
 		icone_horizontale($message, "../spip_redirect.php3?id_$type=$id&$en_ligne=oui", $image, "rien.gif");
 }
 
+function http_img_pack($img, $att)
+{
+  return "<img src='" . _DIR_IMG_PACK . $img . 
+    ($att ? ("' " . $att) : "'") . " />";
+}
+
+function http_style_background($img, $att)
+{
+  return "style='background: url(\"" . _DIR_IMG_PACK . $img . 
+    ($att ? ('") ' . $att) : '")') . ";'";
+}
 ?>
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index 554cc50ea0f28bffed306a4060bdaae8eadbeb59..a104212b895e91e0c17254ec09eeb23ba07de315 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -18,6 +18,39 @@ define_once('_FILE_CONNECT',
 		(_FILE_CONNECT_INS . _EXTENSION_PHP)
 	 : false));
 
+//
+// Gestion des inclusions et infos repertoires
+//
+
+$included_files = array();
+
+function include_local($file) {
+	if (!empty($GLOBALS['included_files'][$file])) return;
+	$GLOBALS['included_files'][$file] = 1;
+	include($file);
+}
+
+function include_ecrire($file) {
+	$file = _DIR_INCLUDE . $file;
+	if (!empty($GLOBALS['included_files'][$file])) return;
+	$GLOBALS['included_files'][$file] = 1;
+	include($file);
+}
+
+function include_lang($file) {
+	$file = _DIR_LANG . $file;
+	if (!empty($GLOBALS['included_files'][$file])) return;
+	$GLOBALS['included_files'][$file] = 1;
+	include($file);
+}
+
+function include_plug($file) {
+	$file = _DIR_RESTREINT . $file;
+	if (!empty($GLOBALS['included_files'][$file])) return;
+	if (file_exists($file)) include($file);
+	$GLOBALS['included_files'][$file] = 1;
+}
+
 # Refus si Spip n'est pas installe... sauf si justement on l'installe!
 
 if (!(_FILE_CONNECT OR defined('_ECRIRE_INSTALL') OR defined('_TEST_DIRS'))) {
@@ -33,7 +66,7 @@ if (!(_FILE_CONNECT OR defined('_ECRIRE_INSTALL') OR defined('_TEST_DIRS'))) {
 		$db_ok = 0;
 		include_ecrire ("inc_presentation.php3");
 		install_debut_html(_T('info_travaux_titre'));
-		echo "<P>"._T('info_travaux_texte')."</P>";
+		echo "<p>"._T('info_travaux_texte')."</p>";
 		install_fin_html();
 		exit;
 	}
@@ -547,39 +580,6 @@ if (!$PATH_TRANSLATED) {
 
 
 
-//
-// Gestion des inclusions et infos repertoires
-//
-
-$included_files = array();
-
-function include_local($file) {
-	if ($GLOBALS['included_files'][$file]) return;
-	$GLOBALS['included_files'][$file] = 1;
-	include($file);
-}
-
-function include_ecrire($file) {
-	$file = _DIR_INCLUDE . $file;
-	if ($GLOBALS['included_files'][$file]) return;
-	$GLOBALS['included_files'][$file] = 1;
-	include($file);
-}
-
-function include_lang($file) {
-	$file = _DIR_LANG . $file;
-	if ($GLOBALS['included_files'][$file]) return;
-	$GLOBALS['included_files'][$file] = 1;
-	include($file);
-}
-
-function include_plug($file) {
-	$file = _DIR_RESTREINT . $file;
-	if ($GLOBALS['included_files'][$file]) return;
-	if (file_exists($file)) include($file);
-	$GLOBALS['included_files'][$file] = 1;
-}
-
 function spip_query($query) {
 	if (_FILE_CONNECT) {
 		include_local(_FILE_CONNECT);
@@ -862,8 +862,9 @@ class Link {
 		foreach ($table as $value)
 			$query .= '&'.$name.'[]='.urlencode($value);
 
+		if ($query) $query = '?'. substr($query, 1);
 		if ($anchor) $anchor = '#'.$anchor;
-		return $url.'?'.substr($query, 1).$anchor;
+		return "$url$query$anchor";
 	}
 
 	//
@@ -960,7 +961,7 @@ function _T($text, $args = '') {
 	include_ecrire('inc_lang.php3');
 	$text = traduire_chaine($text, $args);
 
-	if ($GLOBALS['xhtml']) {
+	if (!empty($GLOBALS['xhtml'])) {
 		include_ecrire("inc_charsets.php3");
 		$text = html2unicode($text);
 	}
@@ -1201,7 +1202,7 @@ function redirige_par_entete($url)
 
 function debut_entete($title)
 {
-// '<html xmlns:m="http://www.w3.org/1998/Math/MathML">'."\n".'<head>'."\n";
+  /* '<html xmlns:m="http://www.w3.org/1998/Math/MathML">'."\n".'<head>'."\n";
 
 //if (eregi("msie", $browser_name)) {
 // '<object id="mathplayer" classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987">'."\n".'</object>'."\n";
@@ -1212,6 +1213,7 @@ function debut_entete($title)
 		$base = dirname($GLOBALS['HTTP_SERVERS_VARS']['SCRIPT_NAME']);
 	else
 	  $base .= '/' . (_DIR_RESTREINT ? '' : _DIR_RESTREINT_ABS);
+*/
 	if (!$charset = lire_meta('charset')) $charset = 'utf-8';
 	@Header("Content-Type: text/html; charset=$charset");
 	return "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\n" .
diff --git a/ecrire/index.php3 b/ecrire/index.php3
index 4397ed3fc365d4e632b3e7ca8b3ba462c9a648a7..781ad9915095faa1a828f5a15a7e26cf3eb21058 100644
--- a/ecrire/index.php3
+++ b/ecrire/index.php3
@@ -1,6 +1,7 @@
 <?php
 
 include ("inc.php3");
+include_ecrire ("inc_calendrier.php");
 
 if ($HTTP_REFERER && !strpos($HTTP_REFERER, _DIR_RESTEINT_ABS)) $bonjour = 'oui';
 
diff --git a/ecrire/install.php3 b/ecrire/install.php3
index 61f20668a24f48e9870bd6dae4f189b8f0decbeb..cc80c1ae8adc7d9dea9ce279c10331ae283ff623 100644
--- a/ecrire/install.php3
+++ b/ecrire/install.php3
@@ -72,7 +72,7 @@ if ($etape == 6) {
 	}
 
 	echo "<FORM ACTION='index.php3' METHOD='post'>";
-	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 	echo "</FORM>";
 
 	ecrire_metas();
@@ -113,7 +113,7 @@ else if ($etape == 5) {
 	echo _T('info_plus_cinq_car_2')."<BR />\n";
 	echo "<INPUT TYPE='password' NAME='pass' CLASS='formo' VALUE=\"$pass\" SIZE='40'></fieldset><P>\n";
 
-	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 	echo "</FORM>";
 	echo "<p>\n";
 
@@ -123,7 +123,7 @@ else if ($etape == 5) {
 		echo "<p>\n"._T('texte_annuaire_ldap_1');
 		echo "<FORM ACTION='install.php3' METHOD='post'>";
 		echo "<INPUT TYPE='hidden' NAME='etape' VALUE='ldap1'>";
-		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE=\""._T('bouton_acces_ldap')."\">";
+		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE=\""._T('bouton_acces_ldap')."\">";
 		echo "</FORM>";
 	}
 
@@ -191,7 +191,7 @@ else if ($etape == 4) {
 		echo "<FORM ACTION='install.php3' METHOD='post'>";
 		echo "<INPUT TYPE='hidden' NAME='etape' VALUE='5'>";
 
-		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 
 		echo "</FORM>";
 	}
@@ -263,7 +263,7 @@ else if ($etape == 3) {
 	echo "> <label for='nou'>"._T('info_creer_base')."</label> ";
 	echo "<INPUT TYPE='text' NAME='table_new' CLASS='fondo' VALUE=\"spip\" SIZE='20'></fieldset><P>";
 
-	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 
 
 	echo "</FORM>";
@@ -294,7 +294,7 @@ else if ($etape == 2) {
 		echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">";
 		echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>";
 
-		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 		echo "</FORM>";
 	}
 	else {
@@ -347,7 +347,7 @@ else if ($etape == 1) {
 	echo _T('entree_mot_passe_2')."<BR />\n";
 	echo "<INPUT TYPE='password' NAME='pass_db' CLASS='formo' VALUE=\"$pass_db\" SIZE='40'></fieldset><P>";
 
-	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 
 
 	echo "</FORM>";
@@ -379,7 +379,7 @@ else if (!$etape) {
 
 		echo "<p><FORM ACTION='install.php3' METHOD='get'>";
 		echo "<INPUT TYPE='hidden' NAME='etape' VALUE='dirs'>";
-		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 		echo "</FORM>";
 
 		install_fin_html();
@@ -405,7 +405,7 @@ else if ($etape == 'ldap5') {
 	echo "<FORM ACTION='install.php3' METHOD='post'>";
 	echo "<INPUT TYPE='hidden' NAME='etape' VALUE='5'>";
 
-	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 
 	echo "</FORM>";
 }
@@ -462,7 +462,7 @@ else if ($etape == 'ldap4') {
 		echo "<INPUT TYPE='Radio' NAME='statut_ldap' VALUE=\"0minirezo\" id='admin'>";
 		echo "<label for='admin'><b>"._T('info_administrateur_1')."</b></label> "._T('info_administrateur_2')."<br />\n";
 	
-		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 
 		echo "</FORM>";
 	}
@@ -525,7 +525,7 @@ else if ($etape == 'ldap3') {
 	echo "<label for='manuel'>"._T('entree_chemin_acces')."</label> ";
 	echo "<INPUT TYPE='text' NAME='base_ldap_text' CLASS='formo' VALUE=\"ou=users, dc=mon-domaine, dc=com\" SIZE='40'></fieldset><P>";
 
-	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+	echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 	echo "</FORM>";
 
 	install_fin_html();
@@ -552,7 +552,7 @@ else if ($etape == 'ldap2') {
 		echo "<INPUT TYPE='hidden' NAME='login_ldap' VALUE=\"$login_ldap\">";
 		echo "<INPUT TYPE='hidden' NAME='pass_ldap' VALUE=\"$pass_ldap\">";
 
-		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+		echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 		echo "</FORM>";
 	}
 	else {
@@ -603,7 +603,7 @@ else if ($etape == 'ldap1') {
 	echo "<label><B>"._T('entree_passe_ldap')."</B><BR />\n</label>";
 	echo "<INPUT TYPE='password' NAME='pass_ldap' CLASS='formo' VALUE=\"\" SIZE='40'></fieldset>";
 
-	echo "<p><DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
+	echo "<p><DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl'  VALUE='"._T('bouton_suivant')." >>'>";
 
 	echo "</FORM>";
 
diff --git a/ecrire/messagerie.php3 b/ecrire/messagerie.php3
index 3e05b0ef1591d015064dd29408c1e23b52181524..218d7b13c543c465bd060b4960fdecba4690e704 100644
--- a/ecrire/messagerie.php3
+++ b/ecrire/messagerie.php3
@@ -1,134 +1,448 @@
 <?php
 
 include ("inc.php3");
-include_ecrire ("inc_acces.php3");
+include_ecrire ("inc_mots.php3");
 include_ecrire ("inc_calendrier.php");
 
-if ($supp_dest) {
-	spip_query("DELETE FROM spip_auteurs_messages WHERE id_message=$id_message AND id_auteur=$supp_dest");
+function http_afficher_rendez_vous($date_heure, $date_fin)
+{
+  global $spip_lang_rtl;
+
+	if (jour($date_heure) == jour($date_fin) AND mois($date_heure) == mois($date_fin) AND annee($date_heure) == annee($date_fin)) {		
+	  echo "<p><center class='verdana2'>"._T('titre_rendez_vous')." ".majuscules(nom_jour($date_heure))." <b>".majuscules(affdate($date_heure))."</b><br><b>".heures($date_heure)." "._T('date_mot_heures')." ".minutes($date_heure)."</b>";
+	  echo " &nbsp; <img src='puce$spip_lang_rtl.gif' border='0'> &nbsp;  ".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."</center>";
+	} else {
+	  echo "<p><center class='verdana2'>"._T('titre_rendez_vous')."<br> ".majuscules(nom_jour($date_heure))." <b>".majuscules(affdate($date_heure))."</b>, <b>".heures($date_heure)." "._T('date_mot_heures')." ".minutes($date_heure)."</b>";
+	  echo "<center class='verdana2'><img src='puce$spip_lang_rtl.gif' border='0'> ".majuscules(nom_jour($date_fin))." ".majuscules(affdate($date_fin)).", <b>".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."</b>";
+	  //echo " &nbsp; <img src='puce$spip_lang_rtl.gif' border='0'> &nbsp;  ".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."</center>";
+	}
 }
 
-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");
+function sql_nouveau_participant($nouv_auteur, $id_message)
+{
+  spip_query("DELETE FROM spip_auteurs_messages WHERE id_auteur='$nouv_auteur' AND id_message='$id_message'");
+  spip_query("INSERT INTO spip_auteurs_messages (id_auteur,id_message,vu) VALUES ('$nouv_auteur','$id_message','non')");
 }
 
+function http_auteurs_ressemblants($cherche_auteur, $id_message)
+{
+  global $connect_id_auteur;
+  $query = spip_query("
+SELECT id_auteur, nom 
+FROM spip_auteurs 
+WHERE messagerie<>'non' AND id_auteur<>'$connect_id_auteur' AND pass<>'' AND login<>''");
+  $table_auteurs = array();
+  $table_ids = array();
+  while ($row = spip_fetch_array($query)) {
+    $table_auteurs[] = $row['nom'];
+    $table_ids[] = $row['id_auteur'];
+  }
+  $resultat =  mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);
+  if (!$resultat) {
+    return '<b>' . _T('info_recherche_auteur_zero', array('cherche_auteur' => $cherche_auteur))."</b><br />";
+  }
+  else if (count($resultat) == 1) {
+    list(, $nouv_auteur) = each($resultat);
+    sql_nouveau_participant($nouv_auteur, $id_message);
+    $row = spip_fetch_array(spip_query("SELECT nom FROM spip_auteurs WHERE id_auteur=$nouv_auteur"));
+    $nom_auteur = $row['nom'];
+    return "<b>"._T('info_ajout_participant')."</b><br />" .
+      "<ul><li><font face='Verdana,Arial,Sans,sans-serif' size='2'><b><font size='3'>$nom_auteur</font></b></font>\n</ul>";
+  }
+  else if (count($resultat) < 16) {
+    $res = '';
+    $query = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur IN (" .
+			 join(',', $resultat) .
+			 ") ORDER BY nom");
+    while ($row = spip_fetch_array($query)) {
+      $id_auteur = $row['id_auteur'];
+      $nom_auteur = $row['nom'];
+      $email_auteur = $row['email'];
+      $bio_auteur = $row['bio'];
+      $res .= "<LI><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2><b><FONT SIZE=3>$nom_auteur</FONT></b>" .
+	($email_auteur ? " ($email_auteur)" : '') .
+	" | <A HREF=\"message.php3?id_message=$id_message&ajout_auteur=oui&nouv_auteur=$id_auteur\">" .
+	_T('lien_ajout_destinataire').
+	"</A>" .
+	(!trim($bio_auteur) ? '' :
+	 ("<br /><FONT SIZE=1>".propre(couper($bio_auteur, 100))."</FONT>\n")) .
+	"</FONT></LI>\n";
+    }
+    return  "<b>"._T('info_recherche_auteur_ok', array('cherche_auteur' => $cherche_auteur))."</b><br /><UL>$res</UL>";
+  }
+  else {
+    return "<b>"._T('info_recherche_auteur_a_affiner', array('cherche_auteur' => $cherche_auteur))."</b><br />";
+  }
+}
 
-debut_page(_T('titre_page_messagerie'), "redacteurs", "messagerie");
-
-//barre_onglets("calendrier", "messagerie");
+function http_visualiser_participants($auteurs_tmp)
+{
+  return "\n<table border='0' cellspacing='0' cellpadding='3' width='100%' background=''><tr><td bgcolor='#EEEECC'>" .
+    bouton_block_invisible("auteurs,ajouter_auteur") .
+    "<span class='serif2'><b>" .
+    _T('info_nombre_partcipants') .
+    "</b></span>" .
+    ((count($auteurs_tmp) == 0) ? '' :
+     (" <font class='arial2'>".join($auteurs_tmp,", ")."</font>")) .
+    "</td></tr></table>";
+}
 
+function http_ajouter_participants($ze_auteurs, $id_message)
+{	
+    $query_ajout_auteurs = "SELECT * FROM spip_auteurs WHERE ";
+    if ($ze_auteurs) $query_ajout_auteurs .= "id_auteur NOT IN ($ze_auteurs) AND ";
+    $query_ajout_auteurs .= " messagerie<>'non' AND statut IN ('0minirezo', '1comite') ORDER BY statut, nom";
+    $result_ajout_auteurs = spip_query($query_ajout_auteurs);
+
+    if (spip_num_rows($result_ajout_auteurs) > 0) {
+
+      echo "<FORM ACTION='message.php3' METHOD='post'>";
+      echo "<DIV align=left><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2><b>"._T('bouton_ajouter_participant')." &nbsp; </b></FONT>\n";
+      echo "<input TYPE='Hidden' NAME='id_message' VALUE=\"$id_message\">";
+
+      if (spip_num_rows($result_ajout_auteurs) > 50 AND $GLOBAL['flag_mots_ressemblants']) {
+	echo "<input TYPE='text' NAME='cherche_auteur' CLASS='fondl' VALUE='' SIZE='20'>";
+	echo "<input TYPE='submit' NAME='Chercher' VALUE='"._T('bouton_chercher')."' CLASS='fondo'>";
+      }
+      else {
+	echo "<SELECT NAME='nouv_auteur' SIZE='1' STYLE='WIDTH=150' CLASS='fondl'>";
+	$group = false;
+	$group2 = false;
+	
+	while($row=spip_fetch_array($result_ajout_auteurs)) {
+	  $id_auteur = $row['id_auteur'];
+	  $nom = $row['nom'];
+	  $email = $row['email'];
+	  $statut_auteur = $row['statut'];
+	  
+	  $statut_auteur=ereg_replace("0minirezo", _T('info_statut_administrateur'), $statut_auteur);
+	  $statut_auteur=ereg_replace("1comite", _T('info_statut_redacteur'), $statut_auteur);
+	  $statut_auteur=ereg_replace("2redac", _T('info_statut_redacteur'), $statut_auteur);
+	  $statut_auteur=ereg_replace("5poubelle", _T('info_statut_efface'), $statut_auteur);
+	  
+	  $premiere = strtoupper(substr(trim($nom), 0, 1));
+
+	  if ($GLOBALS['connect_statut'] != '0minirezo') {
+	    if ($p = strpos($email, '@')) $email = substr($email, 0, $p).'@...';
+	  }
+
+	  if ($statut_auteur != $statut_old) {
+	    echo "\n<OPTION VALUE=\"x\">";
+	    echo "\n<OPTION VALUE=\"x\"> $statut_auteur".'s';
+	  }
+						
+	  if ($premiere != $premiere_old AND ($statut_auteur != _T('info_administrateur') OR !$premiere_old)) {
+	    echo "\n<OPTION VALUE=\"x\">";
+	  }
+	  
+	  $texte_option = supprimer_tags(couper("$nom ($email) ", 40));
+	  echo "\n<OPTION VALUE=\"$id_auteur\">&nbsp;&nbsp;&nbsp;&nbsp;$texte_option";
+	  $statut_old = $statut_auteur;
+	  $premiere_old = $premiere;
+	}
+	
+	echo "</SELECT>";
+	echo "<input TYPE='submit' NAME='Ajouter' VALUE='"._T('bouton_ajouter')."' CLASS='fondo'>";
+      }
+      echo "</div></FORM>";
+    }
+}
 
-debut_gauche("messagerie");
+function http_afficher_forum_perso($id_message, $titre)
+{
+	$forum_retour = urlencode("message.php3?id_message=$id_message");
 
+	echo "<br /><br />\n<div align='center'>";
+	icone(_T('icone_poster_message'), "forum_envoi.php3?statut=perso&adresse_retour=".$forum_retour."&id_message=$id_message&titre_message=".urlencode($titre), "forum-interne-24.gif", "creer.gif");
+	echo "</div>\n<p align='left'>";
 
-debut_boite_info();
+	$query_forum = "SELECT * FROM spip_forum WHERE statut='perso' AND id_message='$id_message' AND id_parent=0 ORDER BY date_heure DESC LIMIT 0,20";
+	afficher_forum(spip_query($query_forum), $forum_retour);
+	echo "\n</p>";
+}
 
-echo _T('info_gauche_messagerie');
 
-echo "<p>"."<IMG SRC='img_pack/m_envoi$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> "._T('info_symbole_vert');
 
-echo aide ("messut");
+if (!spip_num_rows(spip_query("
+SELECT id_auteur FROM spip_auteurs_messages WHERE id_auteur=$connect_id_auteur AND id_message=$id_message"))) {
 
-echo "<p>"."<IMG SRC='img_pack/m_envoi_bleu$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> "._T('info_symbole_bleu');
+	$row = spip_fetch_array(spip_query("SELECT type FROM spip_messages WHERE id_message=$id_message"));
+	if ($row['type'] != "affich"){
+		debut_page(_T('info_acces_refuse'));
+		debut_gauche();
+		debut_droite();
+		echo "<b>"._T('avis_non_acces_message')."</b><p>";
+		fin_page();
+		exit;
+	}
+}
 
-echo aide ("messpense");
+if ($ajout_forum AND strlen($texte) > 10 AND strlen($titre) > 2) {
+	spip_query("UPDATE spip_auteurs_messages SET vu='non' WHERE id_message='$id_message'");
+}
 
-echo "<p>"."<IMG SRC='img_pack/m_envoi_jaune$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> "._T('info_symbole_jaune');
+if ($modifier_message == "oui") {
+	$titre = addslashes($titre);
+	$texte = addslashes($texte);
+	spip_query("UPDATE spip_messages SET titre='$titre', texte='$texte' WHERE id_message='$id_message'");
+}
 
+if ($changer_rv) {
+	spip_query("UPDATE spip_messages SET rv='$rv' WHERE id_message='$id_message'");
+}
 
+if ($jour) {
+			// Convertir dates a calendrier correct (exemple: 31 fevrier devient debut mars, 24h12 devient 00h12 du lendemain)
+			$date = date("Y-m-d H:i:s", mktime($heures,$minutes,0,$mois, $jour, $annee));
+			
+			$jour = journum($date);
+			$mois = mois($date);
+			$annee = annee($date);
+			$heures = heures($date);
+			$minutes = minutes($date);
+			
+			// Verifier que la date de fin est bien posterieure au debut
+			$unix_debut = date("U", mktime($heures,$minutes,0,$mois, $jour, $annee));
+			$unix_fin = date("U", mktime($heures_fin,$minutes_fin,0,$mois_fin, $jour_fin, $annee_fin));
+			if ($unix_fin <= $unix_debut) {
+				$jour_fin = $jour;
+				$mois_fin = $mois;
+				$annee_fin = $annee;
+				$heures_fin = $heures + 1;
+				$minutes_fin = $minutes;
+			}		
+
+			$date_fin = date("Y-m-d H:i:s", mktime($heures_fin,$minutes_fin,0,$mois_fin, $jour_fin, $annee_fin));
+			
+			$jour_fin = journum($date_fin);
+			$mois_fin = mois($date_fin);
+			$annee_fin = annee($date_fin);
+			$heures_fin = heures($date_fin);
+			$minutes_fin = minutes($date_fin);
+			
+
+	spip_query("UPDATE spip_messages SET date_heure='$annee-$mois-$jour $heures:$minutes:00',  date_fin='$annee_fin-$mois_fin-$jour_fin $heures_fin:$minutes_fin:00' WHERE id_message='$id_message'");
+}
 
-fin_boite_info();
+if ($change_statut) {
+	spip_query("UPDATE spip_messages SET statut='$change_statut' WHERE id_message='$id_message'");
+	spip_query("UPDATE spip_messages SET date_heure=NOW() WHERE id_message='$id_message' AND rv<>'oui'");
+}
 
+if ($supp_dest) {
+	spip_query("DELETE FROM spip_auteurs_messages WHERE id_message='$id_message' AND id_auteur='$supp_dest'");
+}
 
-creer_colonne_droite();
+if ($row = spip_fetch_array(spip_query("SELECT * FROM spip_messages WHERE id_message=$id_message"))) {
+	$id_message = $row['id_message'];
+	$date_heure = $row["date_heure"];
+	$date_fin = $row["date_fin"];
+	$titre = typo($row["titre"]);
+	$texte = propre($row["texte"]);
+	$type = $row["type"];
+	$statut = $row["statut"];
+	$page = $row["page"];
+	$rv = $row["rv"];
+	$expediteur = $row['id_auteur'];
+
+	$lejour=journum($row['date_heure']);
+	$lemois = mois($row['date_heure']);		
+	$lannee = annee($row['date_heure']);		
+
+	
+	// Marquer le message vu pour le visiteur
+	if ($type != "affich")
+		spip_query("UPDATE spip_auteurs_messages SET vu='oui' WHERE id_message='$id_message' AND id_auteur='$connect_id_auteur'");
+
+	debut_page($titre, "redacteurs", "messagerie");
+
+	debut_gauche();
+	
+	if ($rv != 'non')
+	  echo http_calendrier_agenda ($lemois, $lannee, $lejour, $lemois, $lannee);
+	
+	echo "<br />";
+	
+	echo  http_calendrier_rv(sql_calendrier_taches_annonces(),"annonces");
+	echo  http_calendrier_rv(sql_calendrier_taches_pb(),"pb");
+	echo  http_calendrier_rv(sql_calendrier_taches_rv(), "rv");
+
+	if ($rv != "non") {
+	  creer_colonne_droite();	
+	  echo http_calendrier_jour($lejour,$lemois,$lannee, "col", $id_message);
+	}
+	debut_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");
+	if ($type == 'normal') {
+		$le_type = _T('info_message_2').aide ("messut");
+		$la_couleur = "#02531B";
+		$couleur_fond = "#CFFEDE";
+	}
+	else if ($type == 'pb') {
+		$le_type = _T('info_pense_bete').aide ("messpense");
+		$la_couleur = "#3874B0";
+		$couleur_fond = "#EDF3FE";
+	}
+	else if ($type == 'affich') {
+		$le_type = _T('info_annonce');
+		$la_couleur = "#ccaa00";
+		$couleur_fond = "#ffffee";
+	}
+	
+	// affichage des caracteristiques du message
+
+	echo "<div style='border: 1px solid $la_couleur; background-color: $couleur_fond; padding: 5px;'>"; // debut cadre de couleur
+	//debut_cadre_relief("messagerie-24.gif");
+	echo "\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>";
+	echo "<tr><td>"; # uniques
+
+	echo "<font face='Verdana,Arial,Sans,sans-serif' size='2' color='$la_couleur'><b>$le_type</b></font><br />";
+	echo "<font face='Verdana,Arial,Sans,sans-serif' size='5'><b>$titre</b></font>";
+	if ($statut == 'redac') {
+		echo "<br /><font face='Verdana,Arial,Sans,sans-serif' size='2' color='red'><b>"._T('info_redaction_en_cours')."</b></font>";
+	}
+	else if ($rv == 'non') {
+		echo "<br /><font face='Verdana,Arial,Sans,sans-serif' size='2' color='#666666'><b>".nom_jour($date_heure).' '.affdate_heure($date_heure)."</b></font>";
+	}
+	echo "<p>";
+
+
+	//////////////////////////////////////////////////////
+	// Message avec participants
+	//
+	
+	if ($type == 'normal') {
+	  echo debut_cadre_enfonce("redacteurs-24.gif", true);
+
+	  if ($cherche_auteur) {
+			echo "\n<p align='left'><div class='cadre-info'>" .
+			  http_auteurs_ressemblants($cherche_auteur , $id_message) .
+			  "\n</div></p>";
+	  }
+
+	  if ($nouv_auteur > 0) sql_nouveau_participant($nouv_auteur, $id_message);
+
+		//
+		// Liste des participants
+		//
+
+	  $query_auteurs = "SELECT auteurs.* FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur";
+	  $result_auteurs = spip_query($query_auteurs);
+
+	  $total_dest = spip_num_rows($result_auteurs);
+
+	  if ($total_dest > 0) {
+			$couleurs = array("#FFFFFF",$couleur_claire);
+			$auteurs_tmp = array();
+			$ze_auteurs = array();
+			$ifond = 0;
+			$res = '';
+			while($row = spip_fetch_array($result_auteurs)) {
+				$id_auteur = $row["id_auteur"];
+				$nom_auteur = typo($row["nom"]);
+				$statut_auteur = $row["statut"];
+				$ze_auteurs[] = $id_auteur;
+
+				$couleur = $couleurs[$ifond];
+				$ifond = 1 - $ifond;
+
+				$auteurs_tmp[] = "<a href='auteurs_edit.php3?id_auteur=" . $id_auteur ."'>". $nom_auteur . "</a>";
+
+				$res .= "<tr><td background='' bgcolor='$couleur'><font face='Verdana,Arial,Sans,sans-serif' size=2>&nbsp;".
+				  bonhomme_statut($row)."&nbsp;" .
+				  (($id_auteur != $expediteur) ? '' :
+				   "<font class='arial0'>".
+				   _T('info_auteur_message')
+				   ."</font> ") .
+				  $nom_auteur .
+				  "</font></td>" .
+				  "<td background='' bgcolor='$couleur' align='right'><font face='Verdana,Arial,Sans,sans-serif' size='1'>" .
+				  (($id_auteur == $connect_id_auteur) ?
+				   "&nbsp;" :
+				   ("[<a href='message.php3?id_message=$id_message&supp_dest=$id_auteur'>"._T('lien_retrait_particpant')."</a>]")) .
+				  "</font></td></tr>\n";
+			}
+			echo
+			  http_visualiser_participants($auteurs_tmp),
+			  debut_block_invisible("auteurs"),
+			  "\n<table border=0 cellspacing=0 cellpadding=3 width=100% background=''><tr><td bgcolor='#eeeecc' colspan=2>",
+			  $res,
+			  "</td></tr></table>",
+			  fin_block();
+	  }
+
+	  if ($statut == 'redac' OR $forcer_dest)
+		  http_ajouter_participants(join(',', $ze_auteurs),
+					    $id_message);
+	  else {
+		  echo
+		    debut_block_invisible("ajouter_auteur"),
+		    "<br /><div align='right'><font face='Verdana,Arial,Sans,sans-serif' size='2'><a href='message.php3?id_message=$id_message&forcer_dest=oui'>"._T('lien_ajouter_participant')."</a></font></div>",
+		    fin_block();
 		}
-fin_cadre_relief();
-
-
-
-echo	http_calendrier_ical($connect_id_auteur);
-
-
-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);
+	  fin_cadre_enfonce();
+	}
 
+	if ($rv != "non") http_afficher_rendez_vous($date_heure, $date_fin);
 
-$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);
 
+	//////////////////////////////////////////////////////
+	// Le message lui-meme
+	//
 
-$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);
+	echo "<div align='left'>",
+	  "\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>",
+	  "<tr><td>",
+	  "<div class='serif'><p>$texte</p></div>";
 
+	if ($expediteur == $connect_id_auteur AND $statut == 'redac') {
+	  if ($type == 'normal' AND $total_dest < 2){
+	    echo "<p align='right'><font face='Verdana,Arial,Sans,sans-serif' size='2' color='#666666'><b>"._T('avis_destinataire_obligatoire')."</b></font></p>";
+	  } else {
+	    echo "\n<p><center><table><tr><td>";
+	    icone (_T('icone_envoyer_message'), ("message.php3?id_message=$id_message&change_statut=publie"), "messagerie-24.gif", "creer.gif");
+	    echo "</td></tr></table></center></p>";
+	  }
+	}
+	echo "</td></tr></table></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);
+	echo "</td></tr></table>"; //fin_cadre_relief();
+	echo "</div>";			// fin du cadre de couleur
+	
+	// Les boutons
 
+	echo "\n<table width='100%'><tr><td>";
 
+	// bouton de suppression
 
-$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 0,10";
+	if ($expediteur == $connect_id_auteur AND ($statut == 'redac' OR $type == 'pb') OR ($type == 'affich' AND $connect_statut == '0minirezo')) {
+	  echo "\n<table align='left'><tr><td>";
+	  icone (_T('icone_supprimer_message'), ("messagerie.php3?detruire_message=$id_message"), "messagerie-24.gif", "supprimer.gif");
+	  echo "</td></tr></table>";
+	}
 
-$result = spip_query($query);
-if (spip_num_rows($result) > 0) {
+	// bouton retrait de la discussion
 
-	echo "<div style='height: 12px;'></div>";
-	echo "<div class='liste'>";
+	if ($statut == 'publie' AND $type == 'normal') {
+	  echo "\n<table align='left'><tr><td>";
+	  icone (_T('icone_arret_discussion'), "messagerie.php3?id_message=$id_message&supp_dest=$connect_id_auteur", "messagerie-24.gif", "supprimer.gif");
+	  echo "</td></tr></table>";
+	}
 
-	bandeau_titre_boite2(_T('info_principaux_correspondants'), "redacteurs-24.gif", "#333333", "white");
+	// bouton modifier ce message
 
-	//echo "<div style='padding: 3px; background-color: $couleur_foncee; color: white;'><b class='verdana2'>"._T('info_principaux_correspondants')."</b></div>";
-	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='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;'>";
+	if ($expediteur == $connect_id_auteur OR ($type == 'affich' AND $connect_statut == '0minirezo')) {
+	  echo "\n<table align='right'><tr><td>";
+	  icone (_T('icone_modifier_message'), ("message_edit.php3?id_message=$id_message"), "messagerie-24.gif", "edit.gif");
+	  echo "</td></tr></table>";
 	}
 	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);
-
+		
+	// reponses et bouton poster message
 
-$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);
+	http_afficher_forum_perso($id_message, $titre);
+ }
 
-fin_page();
+ fin_page();
 
 ?>
diff --git a/ical-dist.html b/ical-dist.html
index 020348a79b5d6b0fb8deae10d2f032fb4c789541..559ad07ef57006c50a2ee47d88c882803f04d384 100644
--- a/ical-dist.html
+++ b/ical-dist.html
@@ -26,4 +26,4 @@ URL:#URL_SITE_SPIP/#URL_BREVE
 STATUS:CONFIRMED
 END:VEVENT
 </BOUCLE_breves>
-END:VCALENDAR
\ No newline at end of file
+END:VCALENDAR
diff --git a/inc-balises.php3 b/inc-balises.php3
index 167c2a253e7ed12c0ea0fcbb90d691f517c757ae..15248a4c095f0ad14fa2158fc16f9dd4ddf3e337 100644
--- a/inc-balises.php3
+++ b/inc-balises.php3
@@ -663,14 +663,87 @@ function balise_EXTRA_dist ($p) {
 
 
 
-//
-// Traduction des champs "formulaire"
-//
+
+/*******************************************/
+/* DEFINITION DES BALISES LIEES AUX FORUMS */
+/*******************************************/
+
+// Noter l'invalideur de la page contenant ces parametres,
+// en cas de premier post sur le forum
+function code_invalideur_forums($p, $code) {
+	return '
+	// invalideur forums
+	(!($Cache[\'id_forum\'][calcul_index_forum(' . 
+				// Retournera 4 [$SP] mais force la demande du champ a MySQL
+				champ_sql('id_article', $p) . ',' .
+				champ_sql('id_breve', $p) .  ',' .
+				champ_sql('id_rubrique', $p) .',' .
+				champ_sql('id_syndic', $p) .  ")]=1)".
+				"?'':\n" . $code .")";
+}
+
+
+// Formulaire de reponse a un forum
+function balise_FORMULAIRE_FORUM_dist($p) {
+	$code = "code_de_forum_spip(" .
+	champ_sql('id_rubrique', $p) . ', ' .
+	champ_sql('id_forum', $p) . ', ' .
+	champ_sql('id_article', $p) . ', ' .
+	champ_sql('id_breve', $p) . ', ' .
+	champ_sql('id_syndic', $p) . ')';
+
+	$p->code = code_invalideur_forums($p, "(".$code.")");
+
+	$p->statut = 'php';
+	return $p;
+}
+
+
+// Parametres de reponse a un forum
+function balise_PARAMETRES_FORUM_dist($p) {
+	$_accepter_forum = champ_sql('accepter_forum', $p);
+	$p->code = '
+	// refus des forums ?
+	('.$_accepter_forum.'=="non" OR
+	(lire_meta("forums_publics") == "non" AND '.$_accepter_forum.'!="oui"))
+	? "" : // sinon:
+	';
+
+	switch ($p->type_requete) {
+		case 'articles':
+			$c = '"id_article=".' . champ_sql('id_article', $p);
+			break;
+		case 'breves':
+			$c = '"id_breve=".' . champ_sql('id_breve', $p);
+			break;
+		case 'rubriques':
+			$c = '"id_rubrique=".' . champ_sql('id_rubrique', $p);
+			break;
+		case 'syndication':
+			$c = '"id_syndic=".' . champ_sql('id_syndic', $p);
+			break;
+		case 'forums':
+		default:
+			$liste_champs = array ("id_article","id_breve","id_rubrique","id_syndic","id_forum");
+			foreach ($liste_champs as $champ) {
+				$x = champ_sql( $champ, $p);
+				$c .= (($c) ? ".\n" : "") . "((!$x) ? '' : ('&$champ='.$x))";
+			}
+			$c = "substr($c,1)";
+			break;
+	}
+
+	$c .= '.
+	"&retour=".rawurlencode($lien=$GLOBALS["HTTP_GET_VARS"]["retour"] ? $lien : nettoyer_uri())';
+
+	$p->code .= code_invalideur_forums($p, "(".$c.")");
+
+	$p->statut = 'html';
+	return $p;
+}
 
 //
-// Note : les balises de gestion de forums (FORMULAIRE_FORUM et
-// PARAMETRES_FORUM) sont definies dans le fichier inc-forum.php3
-// qui centralise toute la gestion des forums
+// Traduction des champs "formulaire" autre que FORUM
 //
 
 //
diff --git a/inc-forum.php3 b/inc-forum.php3
index 6a4efbe3e02960bfd1fc78e56048b37930d67584..5b62aa0a61c9bde24bf7e56db4f72146d9e30885 100644
--- a/inc-forum.php3
+++ b/inc-forum.php3
@@ -261,84 +261,6 @@ function afficher_petits_logos_mots($id_mot) {
 
 
 
-/*******************************************/
-/* DEFINITION DES BALISES LIEES AUX FORUMS */
-/*******************************************/
-
-// Noter l'invalideur de la page contenant ces parametres,
-// en cas de premier post sur le forum
-function code_invalideur_forums($p, $code) {
-	return '
-	// invalideur forums
-	(!($Cache[\'id_forum\'][calcul_index_forum(' . 
-				// Retournera 4 [$SP] mais force la demande du champ a MySQL
-				champ_sql('id_article', $p) . ',' .
-				champ_sql('id_breve', $p) .  ',' .
-				champ_sql('id_rubrique', $p) .',' .
-				champ_sql('id_syndic', $p) .  ")]=1)".
-				"?'':\n" . $code .")";
-}
-
-
-// Formulaire de reponse a un forum
-function balise_FORMULAIRE_FORUM_dist($p) {
-	$code = "code_de_forum_spip(" .
-	champ_sql('id_rubrique', $p) . ', ' .
-	champ_sql('id_forum', $p) . ', ' .
-	champ_sql('id_article', $p) . ', ' .
-	champ_sql('id_breve', $p) . ', ' .
-	champ_sql('id_syndic', $p) . ')';
-
-	$p->code = code_invalideur_forums($p, "(".$code.")");
-
-	$p->statut = 'php';
-	return $p;
-}
-
-
-// Parametres de reponse a un forum
-function balise_PARAMETRES_FORUM_dist($p) {
-	$_accepter_forum = champ_sql('accepter_forum', $p);
-	$p->code = '
-	// refus des forums ?
-	('.$_accepter_forum.'=="non" OR
-	(lire_meta("forums_publics") == "non" AND '.$_accepter_forum.'!="oui"))
-	? "" : // sinon:
-	';
-
-	switch ($p->type_requete) {
-		case 'articles':
-			$c = '"id_article=".' . champ_sql('id_article', $p);
-			break;
-		case 'breves':
-			$c = '"id_breve=".' . champ_sql('id_breve', $p);
-			break;
-		case 'rubriques':
-			$c = '"id_rubrique=".' . champ_sql('id_rubrique', $p);
-			break;
-		case 'syndication':
-			$c = '"id_syndic=".' . champ_sql('id_syndic', $p);
-			break;
-		case 'forums':
-		default:
-			$liste_champs = array ("id_article","id_breve","id_rubrique","id_syndic","id_forum");
-			foreach ($liste_champs as $champ) {
-				$x = champ_sql( $champ, $p);
-				$c .= (($c) ? ".\n" : "") . "((!$x) ? '' : ('&$champ='.$x))";
-			}
-			$c = "substr($c,1)";
-			break;
-	}
-
-	$c .= '.
-	"&retour=".rawurlencode($lien=$GLOBALS["HTTP_GET_VARS"]["retour"] ? $lien : nettoyer_uri())';
-
-	$p->code .= code_invalideur_forums($p, "(".$c.")");
-
-	$p->statut = 'html';
-	return $p;
-}
-
 
 /*******************************************************/
 /* FONCTIONS DE CALCUL DES DONNEES DU FORMULAIRE FORUM */
diff --git a/inc-messforum.php3 b/inc-messforum.php3
index 91d60aa6253fb54374202ef28d5c0f5a827077a2..1ee3ecf9b1213dd3e1ced01fad69eb96c45c630a 100644
--- a/inc-messforum.php3
+++ b/inc-messforum.php3
@@ -1,20 +1,52 @@
 <?php
 
-include_ecrire('inc_texte.php3');
-include_ecrire('inc_filtres.php3');
-include_ecrire('inc_mail.php3');
 include_ecrire('inc_forum.php3');
 include_local('inc-forum.php3');
 
-// Gestionnaire d'URLs
-if (@file_exists("inc-urls.php3"))
-	include_local("inc-urls.php3");
-else
-	include_local("inc-urls-".$GLOBALS['type_urls'].".php3");
-
 // Ce fichier inclus par inc-public a un comportement special
 // Voir commentaires dans celui-ci et dans inc-forum
 
+function prevenir_auteurs($auteur, $email_auteur, $id_article, $texte, $titre)
+{
+	include_ecrire('inc_texte.php3');
+	include_ecrire('inc_filtres.php3');
+	include_ecrire('inc_mail.php3');
+	// Gestionnaire d'URLs
+	if (@file_exists("inc-urls.php3"))
+	  include_local("inc-urls.php3");
+	else
+	  include_local("inc-urls-".$GLOBALS['type_urls'].".php3");
+	$url = ereg_replace('^/', '', generer_url_article($id_article));
+	$adresse_site = lire_meta("adresse_site");
+	$nom_site_spip = lire_meta("nom_site");
+	$url = "$adresse_site/$url";
+	$courr = _T('form_forum_message_auto')."\n\n";
+	$parauteur = '';
+	if (strlen($auteur) > 2) {
+		$parauteur = " "._T('forum_par_auteur',
+				    array('auteur' => $auteur));
+		if ($email_auteur)
+			$parauteur .= " <$email_auteur>";
+	}
+	$courr .= _T('forum_poste_par',
+		     array('parauteur' => $parauteur))."\n";
+	$courr .= _T('forum_ne_repondez_pas')."\n";
+	$courr .= "$url\n";
+	$courr .= "\n\n".$titre."\n\n".textebrut(propre($texte)).
+	  "\n\n$nom_site_forum\n$url_site\n";
+	$sujet = "[$nom_site_spip] ["._T('forum_forum')."] $titre";
+	$result = spip_query("SELECT auteurs.* FROM spip_auteurs AS auteurs,
+				spip_auteurs_articles AS lien
+				WHERE lien.id_article='$id_article'
+				AND auteurs.id_auteur=lien.id_auteur");
+
+	while ($row = spip_fetch_array($result)) {
+		$email_auteur = trim($row["email"]);
+		if (strlen($email_auteur) < 3) continue;
+		envoyer_mail($email_auteur, $sujet, $courr);
+	}
+}			
+
 $retour_forum = rawurldecode($retour);
 $forum_id_article = intval($id_article);
 $forum_id_rubrique = intval($id_rubrique);
@@ -32,10 +64,9 @@ if (!$id_auteur)
 	$id_auteur = intval($GLOBALS['auteur_session']['id_auteur']);
 
 if ($forum_id_article) {
-	if ($s = spip_query("SELECT accepter_forum FROM spip_articles
-	WHERE id_article=$forum_id_article") AND
-	$obj = spip_fetch_array($s))
-		$forums_publics = $obj['accepter_forum'];
+	$r = spip_fetch_array(spip_query("SELECT accepter_forum FROM spip_articles WHERE id_article=$forum_id_article"));
+	if ($r)
+		$forums_publics = $r['accepter_forum'];
 	else
 		$forums_publics = lire_meta("forums_publics");
 } else {
@@ -60,7 +91,7 @@ if ($forums_publics == "abo") {
 	// Ne pas autoriser de changement de nom si forum sur abonnement
 	$auteur = $auteur_session['nom'];
 	$email_auteur = $auteur_session['email'];
-} 
+ } 
 
 $slash_auteur = addslashes($auteur);
 $slash_email_auteur = addslashes($email_auteur);
@@ -122,6 +153,10 @@ if ($validation_finale) {
 		header("Status: 404");
 		exit;
 	} else {
+	  if (lire_meta("prevenir_auteurs") == "oui" AND ($afficher_texte != "non") AND ($id_article = $forum_id_article)) {
+			prevenir_auteurs($auteur, $email_auteur, $id_article, $texte, $titre);
+
+		}
 		// Poser un cookie pour ne pas retaper le nom / email
 		$cookie_user = array('nom' => $auteur, 'email' => $email_auteur);
 		spip_setcookie('spip_forum_user', serialize($cookie_user));
@@ -139,47 +174,6 @@ if ($validation_finale) {
 		}
 
 		$redirect = $retour_forum;
-
-
-		//
-		// Envoi d'un mail aux auteurs
-		//
-		$prevenir_auteurs = lire_meta("prevenir_auteurs");
-		if ($prevenir_auteurs == "oui" AND $afficher_texte != "non") {
-			if ($id_article = $forum_id_article) {
-				$url = ereg_replace('^/', '', generer_url_article($id_article));
-				$adresse_site = lire_meta("adresse_site");
-				$nom_site_spip = lire_meta("nom_site");
-				$url = "$adresse_site/$url";
-				$courr = _T('form_forum_message_auto')."\n\n";
-				$parauteur = '';
-				if (strlen($auteur) > 2) {
-					$parauteur = " "._T('forum_par_auteur',
-					array('auteur' => $auteur));
-					if ($email_auteur)
-						$parauteur .= " <$email_auteur>";
-				}
-				$courr .= _T('forum_poste_par',
-				array('parauteur' => $parauteur))."\n";
-				$courr .= _T('forum_ne_repondez_pas')."\n";
-				$courr .= "$url\n";
-				$courr .= "\n\n".$titre."\n\n".textebrut(propre($texte)).
-				"\n\n$nom_site_forum\n$url_site\n";
-				$sujet = "[$nom_site_spip] ["._T('forum_forum')."] $titre";
-				$query = "SELECT auteurs.* FROM spip_auteurs AS auteurs,
-				spip_auteurs_articles AS lien
-				WHERE lien.id_article='$id_article'
-				AND auteurs.id_auteur=lien.id_auteur";
-				$result = spip_query($query);
-
-				while ($row = spip_fetch_array($result)) {
-					$email_auteur = trim($row["email"]);
-					if (strlen($email_auteur) < 3) continue;
-					envoyer_mail($email_auteur, $sujet, $courr);
-				}
-			}
-		}
-
 	}
 }