diff --git a/ecrire/admin_repair.php3 b/ecrire/admin_repair.php3
index edf2dcf5bcdc736e9ca4bf5a46f511010f6bd08b..a64be9bf5eed9f73cc68ba39ec45214aec19be7d 100644
--- a/ecrire/admin_repair.php3
+++ b/ecrire/admin_repair.php3
@@ -23,7 +23,7 @@ function verifier_base() {
 	if (! $res1= spip_query("SHOW TABLES"))
 		return false;
 
-	while ($tab = spip_fetch_row($res1)) {
+	while ($tab = spip_fetch_array($res1)) {
 		echo "<p><b>".$tab[0]."</b> ";
 
 		if (!($result_repair = spip_query("REPAIR TABLE ".$tab[0])))
@@ -32,15 +32,15 @@ function verifier_base() {
 		if (!($result = spip_query("SELECT COUNT(*) FROM ".$tab[0])))
 			return false;
 
-		list($count) = spip_fetch_row($result);
+		list($count) = spip_fetch_array($result);
 		if ($count>1)
 			echo "("._T('texte_compte_elements', array('count' => $count)).")\n";
-		if ($count==1)
+		else if ($count==1)
 			echo "("._T('texte_compte_element', array('count' => $count)).")\n";
 		else
 			echo "("._T('texte_vide').")\n";
 
-		$row = spip_fetch_row($result_repair);
+		$row = spip_fetch_array($result_repair);
 		$ok = ($row[3] == 'OK');
 
 		if (!$ok)
@@ -57,7 +57,7 @@ function verifier_base() {
 if (! $res1= spip_query("SELECT version()"))
 	$message = _T('avis_erreur_connexion_mysql');
 else {
-	$tab = spip_fetch_row($res1);
+	$tab = spip_fetch_array($res1);
 	$version_mysql = $tab[0];
 	if ($version_mysql < '3.23.14')
 		$message = _T('avis_version_mysql', array('version_mysql' => $version_mysql));
diff --git a/ecrire/articles.php3 b/ecrire/articles.php3
index 443a957c0e4d7310e8469f5539ca4910b5cdc179..2370bc7af624493f26a53cc75b133cea6c3a7059 100644
--- a/ecrire/articles.php3
+++ b/ecrire/articles.php3
@@ -277,8 +277,8 @@ function get_forums_publics($id_article=0) {
 	if ($id_article) {
 		$query = "SELECT accepter_forum FROM spip_articles WHERE id_article=$id_article";
 		$res = spip_query($query);
-		if ($obj = spip_fetch_object($res))
-			$forums_publics = $obj->accepter_forum;
+		if ($obj = spip_fetch_array($res))
+			$forums_publics = $obj['accepter_forum'];
 	} else { // dans ce contexte, inutile
 		$forums_publics = substr(lire_meta("forums_publics"),0,3);
 	}
@@ -1079,7 +1079,7 @@ if (spip_num_rows($result)) {
 			"WHERE lien.id_auteur=$id_auteur AND articles.id_article=lien.id_article ".
 			"AND articles.statut IN $aff_articles GROUP BY lien.id_auteur";
 		$result2 = spip_query($query2);
-		if ($result2) list($nombre_articles) = spip_fetch_row($result2);
+		if ($result2) list($nombre_articles) = spip_fetch_array($result2);
 		else $nombre_articles = 0;
 
 		$url_auteur = "auteurs_edit.php3?id_auteur=$id_auteur";
diff --git a/ecrire/inc.php3 b/ecrire/inc.php3
index 59d3d47d3f15a87e200090dda922a21fa726da9e..155404ebcb68cfd0f9d8498aa0aa216026bb6c97 100644
--- a/ecrire/inc.php3
+++ b/ecrire/inc.php3
@@ -167,23 +167,23 @@ if (!$adresse_site) {
 
 function tester_rubrique_vide($id_rubrique) {
 	$query = "SELECT id_rubrique FROM spip_rubriques WHERE id_parent='$id_rubrique' LIMIT 0,1";
-	list($n) = spip_fetch_row(spip_query($query));
+	list($n) = spip_fetch_array(spip_query($query));
 	if ($n > 0) return false;
 
 	$query = "SELECT id_article FROM spip_articles WHERE id_rubrique='$id_rubrique' AND (statut='publie' OR statut='prepa' OR statut='prop') LIMIT 0,1";
-	list($n) = spip_fetch_row(spip_query($query));
+	list($n) = spip_fetch_array(spip_query($query));
 	if ($n > 0) return false;
 
 	$query = "SELECT id_breve FROM spip_breves WHERE id_rubrique='$id_rubrique' AND (statut='publie' OR statut='prop') LIMIT 0,1";
-	list($n) = spip_fetch_row(spip_query($query));
+	list($n) = spip_fetch_array(spip_query($query));
 	if ($n > 0) return false;
 
 	$query = "SELECT id_syndic FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND (statut='publie' OR statut='prop') LIMIT 0,1";
-	list($n) = spip_fetch_row(spip_query($query));
+	list($n) = spip_fetch_array(spip_query($query));
 	if ($n > 0) return false;
 
 	$query = "SELECT id_document FROM spip_documents_rubriques WHERE id_rubrique='$id_rubrique' LIMIT 0,1";
-	list($n) = spip_fetch_row(spip_query($query));
+	list($n) = spip_fetch_array(spip_query($query));
 	if ($n > 0) return false;
 
 	return true;
diff --git a/ecrire/inc_agenda.php3 b/ecrire/inc_agenda.php3
index 27ef5183ea36e06d38aaf3b7f5352594305361e8..b7606114cc230b32bfa2274b4adec67585167afd 100644
--- a/ecrire/inc_agenda.php3
+++ b/ecrire/inc_agenda.php3
@@ -386,23 +386,23 @@ function liste_rv($query, $type) {
 		debut_cadre_enfonce("", false, "", $titre);
 
 		echo "<table width='100%' border='0' cellpadding='0' cellspacing='2'>";
-		while ($row = spip_fetch_object($result)) {
+		while ($row = spip_fetch_array($result)) {
 		
-			if (ereg("^=([^[:space:]]+)$",$row->texte,$match))
+			if (ereg("^=([^[:space:]]+)$",$row['texte'],$match))
 				$url = $match[1];
 			else
-				$url = "message.php3?id_message=".$row->id_message;
-				$type=$row->type;
-				$rv = $row->rv;
-				$date = $row->date_heure;
-				$date_fin = $row -> date_fin;
+				$url = "message.php3?id_message=".$row['id_message'];
+				$type=$row['type'];
+				$rv = $row['rv'];
+				$date = $row['date_heure'];
+				$date_fin = $row['date_fin'];
 
 				if ($type=="normal") $bouton = "message";
 				elseif ($type=="pb") $bouton = "pense-bete";
 				elseif ($type=="affich") $bouton = "annonce";
 				else $bouton = "message";
 						
-			$titre = typo($row->titre);
+			$titre = typo($row['titre']);
 			
 			if ($rv == "oui") {
 				echo "<tr><td colspan='2'>";
diff --git a/ecrire/inc_calendrier.php b/ecrire/inc_calendrier.php
index 25e32338284e7a46b9e343e2831a0ca17726a244..e27539fc3ca7f91089c4273d8ebac7636ff2504d 100644
--- a/ecrire/inc_calendrier.php
+++ b/ecrire/inc_calendrier.php
@@ -1222,49 +1222,50 @@ function http_calendrier_ical($id) {
 }
 
 function http_calendrier_rv($messages, $type) {
-  global $spip_lang_rtl, $spip_lang_left, $spip_lang_right;
-	
+	global $spip_lang_rtl, $spip_lang_left, $spip_lang_right;
+
 	$total = '';
 	if (!$messages) return $total;
 	foreach ($messages as $row) {
-	  if (ereg("^=([^[:space:]]+)$",$row->texte,$match))
-	    $url = $match[1];
-	  else
-	    $url = "message.php3?id_message=".$row->id_message;
-
-	  $rv = ($row->rv == 'oui');
-	  $date = $row->date_heure;
-	  $date_fin = $row -> date_fin;
-	  
-	  if ($row->type=="pb") $bouton = "pense-bete";
-	  elseif ($row->type=="annonces") $bouton = "annonce";
-	  else $bouton = "message";
-	  
-	  if ($rv) {
-	    $date_jour = affdate_jourcourt($date);
-	    $total .= "<tr><td colspan='2'>" .
-	      (($date_jour == $date_rv) ? '' : "<div class='arial11'><b>$date_jour</b></div>") .
-	      "</td></tr>";
-	  }
-	  
-	  $total .= "<tr><td width='24' valign='middle'>" .
-	    http_calendrier_href($url,
-				 ($rv ? "<img src='img_pack/rv.gif' style='background: url(img_pack/$bouton.gif) no-repeat;' border='0' alt='' />" : "<img src='img_pack/$bouton.gif' border='0' alt='' />"),
-				 '', '') .
-	    "</td>" .
-	    "<td valign='middle'>" .
-	    ((!$rv) ? '' :
-	     ((affdate($date) == affdate($date_fin)) ?
-	      ("<div class='arial0' style='float: $spip_lang_left; line-height: 12px; color: #666666; margin-$spip_lang_right: 3px; padding-$spip_lang_right: 4px; background: url(img_pack/fond-agenda.gif) $spip_lang_right center no-repeat;'>".heures($date).":".minutes($date)."<br />".heures($date_fin).":".minutes($date_fin)."</div>") :
-	      ( "<div class='arial0' style='float: $spip_lang_left; line-height: 12px; color: #666666; margin-$spip_lang_right: 3px; padding-$spip_lang_right: 4px; background: url(img_pack/fond-agenda.gif) $spip_lang_right center no-repeat; text-align: center;'>".heures($date).":".minutes($date)."<br />...</div>" ))) .
-	    "<div><b>" .
-	    http_calendrier_href($url, typo($row->titre), '', 
+		if (ereg("^=([^[:space:]]+)$",$row['texte'],$match))
+			$url = $match[1];
+		else
+			$url = "message.php3?id_message=".$row['id_message'];
+
+		$rv = ($row['rv'] == 'oui');
+		$date = $row['date_heure'];
+		$date_fin = $row['date_fin'];
+
+		if ($row['type']=="pb") $bouton = "pense-bete";
+		else if ($row['type']=="annonces") $bouton = "annonce";
+		else $bouton = "message";
+
+		if ($rv) {
+			$date_jour = affdate_jourcourt($date);
+			$total .= "<tr><td colspan='2'>" .
+				(($date_jour == $date_rv) ? '' :
+				"<div class='arial11'><b>$date_jour</b></div>") .
+				"</td></tr>";
+		}
+
+		$total .= "<tr><td width='24' valign='middle'>" .
+		http_calendrier_href($url,
+			 ($rv ? "<img src='img_pack/rv.gif' style='background: url(img_pack/$bouton.gif) no-repeat;' border='0' alt='' />" : "<img src='img_pack/$bouton.gif' border='0' alt='' />"),
+			 '', '') .
+		"</td>" .
+		"<td valign='middle'>" .
+		((!$rv) ? '' :
+		((affdate($date) == affdate($date_fin)) ?
+		("<div class='arial0' style='float: $spip_lang_left; line-height: 12px; color: #666666; margin-$spip_lang_right: 3px; padding-$spip_lang_right: 4px; background: url(img_pack/fond-agenda.gif) $spip_lang_right center no-repeat;'>".heures($date).":".minutes($date)."<br />".heures($date_fin).":".minutes($date_fin)."</div>") :
+		( "<div class='arial0' style='float: $spip_lang_left; line-height: 12px; color: #666666; margin-$spip_lang_right: 3px; padding-$spip_lang_right: 4px; background: url(img_pack/fond-agenda.gif) $spip_lang_right center no-repeat; text-align: center;'>".heures($date).":".minutes($date)."<br />...</div>" ))) .
+		"<div><b>" .
+		http_calendrier_href($url, typo($row['titre']), '', 
 'font-family: Verdana, Arial, Sans, sans-serif; font-size: 10px;') .
-	    "</b></div>" .
-	    "</td>" .
-	    "</tr>\n";
+		"</b></div>" .
+		"</td>" .
+		"</tr>\n";
 
-	  $date_rv = $date_jour;
+		$date_rv = $date_jour;
 	}
 
 	if ($type == 'annonces') {
@@ -1294,66 +1295,63 @@ function http_calendrier_rv($messages, $type) {
 	  fin_cadre_enfonce(true);
 }
 
-# fabrique une balise A, avec un href conforme au validateur W3C
-# et une classe uniquement destinee a retirer l'URL lors d'une impression
-# attention au cas ou la href est du Javascript avec des "'"
-
-function http_calendrier_href($href, $clic, $title='', $style='', $class='')
-{
-  return '<a href="' .
-    str_replace('&', '&amp;', $href) .
-    '"' . # class="forum-repondre-message"' .
-    (!$style ? '' : (" style=\"" . $style . "\"")) .
-    (!$title ? '' : (" title=\"" . $title . "\"")) .
-    (!$class ? '' : (" class=\"" . $class . "\"")) .
-    '>' .
-    $clic .
-    '</a>';
+// Fabrique une balise A, avec un href conforme au validateur W3C
+// et une classe uniquement destinee a retirer l'URL lors d'une impression
+// attention au cas ou la href est du Javascript avec des "'"
+
+function http_calendrier_href($href, $clic, $title='', $style='', $class='') {
+	return '<a href="' .
+		str_replace('&', '&amp;', $href) .
+		'"' . # class="forum-repondre-message"' .
+		(!$style ? '' : (" style=\"" . $style . "\"")) .
+		(!$title ? '' : (" title=\"" . $title . "\"")) .
+		(!$class ? '' : (" class=\"" . $class . "\"")) .
+		'>' .
+		$clic .
+		'</a>';
 }
 
 
-function sql_calendrier_interval_jour($annee,$mois,$jour)
-{
-  $avant = "'$annee-$mois-$jour'";
-  $apres = "'$annee-$mois-$jour 23:59:59'";
+function sql_calendrier_interval_jour($annee,$mois,$jour) {
+	$avant = "'$annee-$mois-$jour'";
+	$apres = "'$annee-$mois-$jour 23:59:59'";
 
-  return array(sql_calendrier_interval_articles($avant, $apres),
-	       sql_calendrier_interval_breves($avant, $apres),
-	       sql_calendrier_interval_rv($avant, $apres));
+	return array(sql_calendrier_interval_articles($avant, $apres),
+		sql_calendrier_interval_breves($avant, $apres),
+		sql_calendrier_interval_rv($avant, $apres));
 }
 
-function sql_calendrier_interval_semaine($annee,$mois,$jour)
-{
-  $w_day = date("w", mktime(0,0,0,$mois, $jour, $annee));
-  if ($w_day == 0) $w_day = 7; // Gaffe: le dimanche est zero
-  $debut = $jour-$w_day;
-  $avant = "'" . date("Y-m-d", mktime(1,1,1,$mois,$debut,$annee)) . "'";
-  $apres = "'" . date("Y-m-d", mktime(1,1,1,$mois,$debut+7,$annee)) . " 23:59:59'";
-
-  return array(sql_calendrier_interval_articles($avant, $apres),
-	       sql_calendrier_interval_breves($avant, $apres),
-	       sql_calendrier_interval_rv($avant, $apres));
+function sql_calendrier_interval_semaine($annee,$mois,$jour) {
+	$w_day = date("w", mktime(0,0,0,$mois, $jour, $annee));
+	if ($w_day == 0) $w_day = 7; // Gaffe: le dimanche est zero
+	$debut = $jour-$w_day;
+	$avant = "'" . date("Y-m-d", mktime(1,1,1,$mois,$debut,$annee)) . "'";
+	$apres = "'" . date("Y-m-d", mktime(1,1,1,$mois,$debut+7,$annee)) .
+	" 23:59:59'";
+
+	return array(sql_calendrier_interval_articles($avant, $apres),
+		sql_calendrier_interval_breves($avant, $apres),
+		sql_calendrier_interval_rv($avant, $apres));
 }
 
-function sql_calendrier_interval_mois($annee,$mois,$jour)
-{
-  $periode = $annee . '-' . sprintf("%02d", $mois) . '-01';
-  $avant = "'$periode'";
- // $apres = "DATE_ADD('$periode', INTERVAL 1 MONTH)";
-  $apres = "'" . date("Y-m-d", mktime(1,1,1,$mois+1,$debut,$annee)) . " 23:59:59'";
-  return array(sql_calendrier_interval_articles($avant, $apres),
-	       sql_calendrier_interval_breves($avant, $apres),
-	       sql_calendrier_interval_rv($avant, $apres));
+function sql_calendrier_interval_mois($annee,$mois,$jour) {
+	$periode = $annee . '-' . sprintf("%02d", $mois) . '-01';
+	$avant = "'$periode'";
+	// $apres = "DATE_ADD('$periode', INTERVAL 1 MONTH)";
+	$apres = "'" . date("Y-m-d", mktime(1,1,1,$mois+1,$debut,$annee)) .
+	" 23:59:59'";
+	return array(sql_calendrier_interval_articles($avant, $apres),
+		sql_calendrier_interval_breves($avant, $apres),
+		sql_calendrier_interval_rv($avant, $apres));
 }
 
-# 3 fonctions retournant les evenements d'une période
-# le tableau retourné est indexe par les balises du format ics
+# 3 fonctions retournant les evenements d'une periode
+# le tableau retourne est indexe par les balises du format ics
 # afin qu'il soit facile de produire de tels documents.
 
-function sql_calendrier_interval_articles($avant, $apres)
-{
-  $evenements= array();
-  $result=spip_query("
+function sql_calendrier_interval_articles($avant, $apres) {
+	$evenements= array();
+	$result=spip_query("
 SELECT	id_article, titre, date
 FROM	spip_articles
 WHERE	statut='publie'
@@ -1361,21 +1359,20 @@ WHERE	statut='publie'
  AND	date < $apres
 ORDER BY date
 ");
-  while($row=spip_fetch_array($result)){
-	      $amj = sql_calendrier_jour_ical($row['date']);
-	      $evenements[$amj][]=
+	while($row=spip_fetch_array($result)){
+		$amj = sql_calendrier_jour_ical($row['date']);
+		$evenements[$amj][]=
 		array(
-		      'URL' => "articles.php3?id_article=" . $row['id_article'],
-		      'CATEGORIES' => 'a',
-		      'DESCRIPTION' => $row['titre']);
+			'URL' => "articles.php3?id_article=" . $row['id_article'],
+			'CATEGORIES' => 'a',
+			'DESCRIPTION' => $row['titre']);
 	}
-  return $evenements;
+	return $evenements;
 }
 
-function sql_calendrier_interval_breves($avant, $apres)
-{
-  $evenements= array();
-  $result=spip_query("
+function sql_calendrier_interval_breves($avant, $apres) {
+	$evenements= array();
+	$result=spip_query("
 SELECT	id_breve, titre, date_heure
 FROM	spip_breves
 WHERE	statut='publie'
@@ -1383,22 +1380,21 @@ WHERE	statut='publie'
  AND	date_heure < $apres
 ORDER BY date_heure
 ");
-  while($row=spip_fetch_array($result)){
-	      $amj = sql_calendrier_jour_ical($row['date_heure']);
-	      $evenements[$amj][]=
+	while($row=spip_fetch_array($result)){
+		$amj = sql_calendrier_jour_ical($row['date_heure']);
+		$evenements[$amj][]=
 		array(
-		      'URL' => "breves_voir.php3?id_breve=" . $row['id_breve'],
-		      'CATEGORIES' => 'b',
-		      'DESCRIPTION' => $row['titre']);
+			'URL' => "breves_voir.php3?id_breve=" . $row['id_breve'],
+			'CATEGORIES' => 'b',
+			'DESCRIPTION' => $row['titre']);
 	}
-  return $evenements;
+	return $evenements;
 }
 
-function sql_calendrier_interval_rv($avant, $apres)
-{
-  global $connect_id_auteur;
-  $evenements= array();
-  $result=spip_query("
+function sql_calendrier_interval_rv($avant, $apres) {
+	global $connect_id_auteur;
+	$evenements= array();
+	$result=spip_query("
 SELECT	messages.id_message, messages.titre, messages.texte,
 	messages.date_heure, messages.date_fin, messages.type
 FROM	spip_messages AS messages, 
@@ -1411,7 +1407,7 @@ WHERE	((lien.id_auteur='$connect_id_auteur'
 GROUP BY messages.id_message
 ORDER BY messages.date_heure
 ");
-  while($row=spip_fetch_array($result)){
+	while($row=spip_fetch_array($result)){
 		$date_heure=$row["date_heure"];
 		$date_fin=$row["date_fin"];
 		$type=$row["type"];
@@ -1441,14 +1437,13 @@ WHERE	(lien.id_message='$id_message'
 		  }
 		}
 
- 		$jour_avant = substr($avant, 9,2);
- 		$mois_avant = substr($avant, 6,2);
- 		$annee_avant = substr($avant, 1,4);
- 		$jour_apres = substr($apres, 9,2);
-  		$mois_apres = substr($apres, 6,2);
- 		$annee_apres = substr($apres, 1,4);
- 	 		
- 		$ical_apres = sql_calendrier_jour_ical("$annee_apres-$mois_apres-".sprintf("%02d",$jour_apres));
+		$jour_avant = substr($avant, 9,2);
+		$mois_avant = substr($avant, 6,2);
+		$annee_avant = substr($avant, 1,4);
+		$jour_apres = substr($apres, 9,2);
+		$mois_apres = substr($apres, 6,2);
+		$annee_apres = substr($apres, 1,4);
+		$ical_apres = sql_calendrier_jour_ical("$annee_apres-$mois_apres-".sprintf("%02d",$jour_apres));
 
 		// Calcul pour les semaines a cheval sur deux mois 
  		$j = 0;
@@ -1465,7 +1460,7 @@ WHERE	(lien.id_message='$id_message'
 				'CATEGORIES' => $cat,
 				'ATTENDEE' => (count($auteurs) == 0) ? '' : join($auteurs,", "));
 			$j ++; 
-	   		$ladate = date("Y-m-d",mktime (1,1,1,$mois_avant, ($j + $jour_avant), $annee_avant));
+			$ladate = date("Y-m-d",mktime (1,1,1,$mois_avant, ($j + $jour_avant), $annee_avant));
 			
 			$amj = sql_calendrier_jour_ical($ladate);
 
@@ -1477,14 +1472,13 @@ WHERE	(lien.id_message='$id_message'
 
 
 function sql_calendrier_taches_annonces () {
-  $r = array();
-  $result = spip_query("
+	$r = array();
+	$result = spip_query("
 SELECT * FROM spip_messages 
 WHERE type = 'affich' AND rv != 'oui' AND statut = 'publie' ORDER BY date_heure DESC");
-  if (spip_num_rows($result) > 0){
-    while ($x = spip_fetch_object($result)) $r[] = $x;
-  }
-  return $r;
+	if (spip_num_rows($result) > 0)
+		while ($x = spip_fetch_array($result)) $r[] = $x;
+	return $r;
 }
 
 function sql_calendrier_taches_pb () {
@@ -1495,7 +1489,7 @@ SELECT * FROM spip_messages AS messages
 WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND rv!='oui'");
 	if (spip_num_rows($result) > 0){
 	  $r = array();
-	  while ($x = spip_fetch_object($result)) $r[] = $x;
+	  while ($x = spip_fetch_array($result)) $r[] = $x;
 	}
 	return $r;
 }
@@ -1518,7 +1512,7 @@ GROUP BY messages.id_message
 ORDER BY messages.date_heure");
 	if (spip_num_rows($result) > 0){
 	  $r = array();
-	  while ($x = spip_fetch_object($result)) $r[] = $x;
+	  while ($x = spip_fetch_array($result)) $r[] = $x;
 	}
 	return  $r;
 }
@@ -1623,9 +1617,4 @@ function calendrier_div_style($evenement)
 }
 
 
-
-
-
-
-
 ?>
diff --git a/ecrire/inc_db_mysql.php3 b/ecrire/inc_db_mysql.php3
index 9aaaeacf864a797ebb24ed04ef3eadb543cdd066..89e61ba23f2b8e1ef6b43450bf9096284dc07421 100644
--- a/ecrire/inc_db_mysql.php3
+++ b/ecrire/inc_db_mysql.php3
@@ -100,6 +100,7 @@ function spip_fetch_array($r) {
 		return mysql_fetch_array($r);
 }
 
+/* Appels obsoletes
 function spip_fetch_object($r) {
 	if ($r)
 		return mysql_fetch_object($r);
@@ -109,6 +110,7 @@ function spip_fetch_row($r) {
 	if ($r)
 		return mysql_fetch_row($r);
 }
+*/
 
 function spip_sql_error() {
 	return mysql_error();
diff --git a/ecrire/inc_documents.php3 b/ecrire/inc_documents.php3
index 4f26f0327f335fde9945d18c3ed6ad2b64da220e..587cd5a843d42d6f69b0f247190705a7cf5466be 100644
--- a/ecrire/inc_documents.php3
+++ b/ecrire/inc_documents.php3
@@ -219,8 +219,8 @@ function integre_image($id_document, $align, $type_aff = 'IMG') {
 
 		// on construira le lien en fonction du type de doc
 		$result_type = spip_query("SELECT * FROM spip_types_documents WHERE id_type = $id_type");
-		if ($type = @spip_fetch_object($result_type)) {
-			$extension = $type->extension;
+		if ($type = @spip_fetch_array($result_type)) {
+			$extension = $type['extension'];
 		}
 
 		// recuperer la vignette pour affichage inline
@@ -1263,8 +1263,8 @@ function afficher_documents_colonne($id_article, $type="article", $flag_modif =
 
 		$res = spip_query("SELECT DISTINCT id_vignette FROM spip_documents ".
 			"WHERE id_document in (".join(',', $documents_lies).")");
-		while ($v = spip_fetch_object($res))
-			$vignettes[] = $v->id_vignette;
+		while ($v = spip_fetch_array($res))
+			$vignettes[] = $v['id_vignette'];
 
 		$docs_exclus = ereg_replace('^,','',join(',', $vignettes).','.join(',', $documents_lies));
 
diff --git a/ecrire/inc_export.php3 b/ecrire/inc_export.php3
index 2477e9839c3cc773eb6059ae1e38606e047147b0..13277b6a7a7c3323cc9a418792b9e44e6dfc92df 100644
--- a/ecrire/inc_export.php3
+++ b/ecrire/inc_export.php3
@@ -90,7 +90,7 @@ function export_objets($query, $type, $file = 0, $gz = false, $etape_en_cours=""
 		$nfields = mysql_num_fields($result);
 		// Recuperer les noms des champs
 		for ($i = 0; $i < $nfields; ++$i) $fields[$i] = mysql_field_name($result, $i);
-		while ($row = spip_fetch_row($result)) {
+		while ($row = spip_fetch_array($result)) {
 			$string .= build_begin_tag($type) . "\n";
 			// Exporter les champs de la table
 			for ($i = 0; $i < $nfields; ++$i) {
diff --git a/ecrire/inc_majbase.php3 b/ecrire/inc_majbase.php3
index 5412a6b305ed05ca3b8d0ab838c55159a1f80b59..577aa8d9cd1cb1dbf29772b6b3c56bc0142e7382 100644
--- a/ecrire/inc_majbase.php3
+++ b/ecrire/inc_majbase.php3
@@ -407,9 +407,9 @@ function maj_base() {
 	if ($version_installee < 1.418) {
 		$query = "SELECT * FROM spip_auteurs WHERE statut = '0minirezo' AND email != '' ORDER BY id_auteur LIMIT 0,1";
 		$result = spip_query($query);
-		if ($webmaster = spip_fetch_object($result)) {
+		if ($webmaster = spip_fetch_array($result)) {
 			include_ecrire("inc_meta.php3");
-			ecrire_meta('email_webmaster', $webmaster->email);
+			ecrire_meta('email_webmaster', $webmaster['email']);
 			ecrire_metas();
 		}
 		maj_version (1.418);
diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index 51f10d7a35f3321358010cb6fa1269e022f42b25..6cb8b0e709f7b5d60f03f73649fad8369832eeba 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -345,7 +345,7 @@ function afficher_tranches_requete(&$query, $colspan) {
 	$query = trim($query);
 	$query_count = eregi_replace('^(SELECT)[[:space:]].*[[:space:]](FROM)[[:space:]]', '\\1 COUNT(*) \\2 ', $query);
 
-	list($num_rows) = spip_fetch_row(spip_query($query_count));
+	list($num_rows) = spip_fetch_array(spip_query($query_count));
 	if (!$num_rows) return;
 
 	$nb_aff = 10;
diff --git a/ecrire/inc_sites.php3 b/ecrire/inc_sites.php3
index c1246dce85319608a3a61534c2a76cf0c8e6598f..eea3e92d08912b6d59b6226789ef7f11a8a64380 100644
--- a/ecrire/inc_sites.php3
+++ b/ecrire/inc_sites.php3
@@ -374,7 +374,7 @@ function afficher_sites($titre_table, $requete) {
 			$s = "";
 			if ($syndication == "oui" OR $syndication == "off") {
 				$result_art = spip_query("SELECT COUNT(*) FROM spip_syndic_articles WHERE id_syndic='$id_syndic'");
-				list($total_art) = spip_fetch_row($result_art);
+				list($total_art) = spip_fetch_array($result_art);
 				$s .= " $total_art "._T('info_syndication_articles');
 			} else {
 				$s .= "&nbsp;";
diff --git a/ecrire/mots_tous.php3 b/ecrire/mots_tous.php3
index d613e5a6d2bc77bfb1286e8a011b8c48f831472d..7ba43bc2b7c709b330e3ea0e348ec4068a3299c9 100644
--- a/ecrire/mots_tous.php3
+++ b/ecrire/mots_tous.php3
@@ -13,23 +13,23 @@ if ($conf_mot>0) {
 		if ($connect_statut=="0minirezo") $aff_articles="prepa,prop,publie,refuse";
 		else $aff_articles="prop,publie";
 
-		$nb_articles = spip_fetch_row(spip_query(
+		$nb_articles = spip_fetch_array(spip_query(
 			"SELECT COUNT(*) FROM spip_mots_articles AS lien, spip_articles AS article
 			WHERE lien.id_mot=$conf_mot AND article.id_article=lien.id_article
 			AND FIND_IN_SET(article.statut,'$aff_articles')>0 AND article.statut!='refuse'"
 			));
 		$nb_articles = $nb_articles[0];
-		$nb_rubriques = spip_fetch_row(spip_query(
+		$nb_rubriques = spip_fetch_array(spip_query(
 			"SELECT COUNT(*) FROM spip_mots_rubriques AS lien, spip_rubriques AS rubrique
 			WHERE lien.id_mot=$conf_mot AND rubrique.id_rubrique=lien.id_rubrique"
 			));
 		$nb_rubriques = $nb_rubriques[0];
-		$nb_breves = spip_fetch_row(spip_query(
+		$nb_breves = spip_fetch_array(spip_query(
 			"SELECT COUNT(*) FROM spip_mots_breves AS lien, spip_breves AS breve
 			WHERE lien.id_mot=$conf_mot AND breve.id_breve=lien.id_breve
 			AND FIND_IN_SET(breve.statut,'$aff_articles')>0 AND breve.statut!='refuse'"));
 		$nb_breves = $nb_breves[0];
-		$nb_sites = spip_fetch_row(spip_query(
+		$nb_sites = spip_fetch_array(spip_query(
 			"SELECT COUNT(*) FROM spip_mots_syndic AS lien, spip_syndic AS syndic
 			WHERE lien.id_mot=$conf_mot AND syndic.id_syndic=lien.id_syndic
 			AND FIND_IN_SET(syndic.statut,'$aff_articles')>0 AND syndic.statut!='refuse'"));
diff --git a/inc-calcul_mysql3.php b/inc-calcul_mysql3.php
index cedb725da6a8dcdb93fdbc3a2530ed41536ead3d..f1668a18802c057336661313da8965cd3b310d5f 100644
--- a/inc-calcul_mysql3.php
+++ b/inc-calcul_mysql3.php
@@ -57,12 +57,12 @@ function boutons_de_forum_table($idr, $idf, $ida, $idb, $ids, $titre, $table, $f
 {
   if (($table == 'forums') || !$table)
     {
-      $forum = spip_fetch_object(spip_query("
+      $forum = spip_fetch_array(spip_query("
 SELECT	accepter_forum
 FROM	spip_articles
 WHERE	id_article='" . ($ida ? $ida : substr(lire_meta("forums_publics"),0,3)) . "'
 ")); 
-      $forum = ($forum ? $forum->accepter_forum : substr(lire_meta("forums_publics"),0,3));
+      $forum = ($forum ? $forum['accepter_forum'] : substr(lire_meta("forums_publics"),0,3));
     }
   if ($forum=="non") return '';
   // si FORMULAIRE_FORUM a e'te' employe' hors d'une boucle,
@@ -98,8 +98,8 @@ WHERE	id_article='" . ($ida ? $ida : substr(lire_meta("forums_publics"),0,3)) .
 	{
 	  $r = "SELECT '".addslashes(_T('forum_titre_erreur'))."' AS titre";
 	}
-      $r = spip_fetch_object(spip_query($r));
-      $titre = $r->titre;
+      $r = spip_fetch_array(spip_query($r));
+      $titre = $r['titre'];
     }
   return array($titre, $table, $forum);
 }
diff --git a/inc-messforum.php3 b/inc-messforum.php3
index 329eed2681e03a2275a27cfff213c4abaa1e4385..e36fca7d40130843b20a7c3abd7f12598e50e5b0 100644
--- a/inc-messforum.php3
+++ b/inc-messforum.php3
@@ -31,8 +31,8 @@ if (!$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_object($s))
-		$forums_publics = $obj->accepter_forum;
+	$obj = spip_fetch_array($s))
+		$forums_publics = $obj['accepter_forum'];
 	else
 		$forums_publics = lire_meta("forums_publics");
 } else {