From 9b366fee80fa59bbdb54413d77263149fb160f6d Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sun, 23 Sep 2007 07:51:17 +0000
Subject: [PATCH] =?UTF-8?q?#209:=20spip=5Fnum=5Frows=20passe=20en=20vieill?=
 =?UTF-8?q?es=5Fdefs,=20sql=5Fcount=20ayant=20la=20sup=C3=A9riorit=C3=A9?=
 =?UTF-8?q?=20d'indiquer=20le=20serveur=20SQL=20par=20d=C3=A9faut.=20D?=
 =?UTF-8?q?=C3=A9pot=20obtenu=20par:?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

{{{
for i in $(grep  -l spip_num_rows [aegim]*/*.php)
do
sed s/spip_num_rows/sql_count/g $i > x
mv x $i
done
}}}
---
 ecrire/action/editer_auteurs.php     |  2 +-
 ecrire/base/abstract_sql.php         |  6 ------
 ecrire/exec/articles_versions.php    |  2 +-
 ecrire/exec/auteurs.php              |  2 +-
 ecrire/exec/brouteur_frame.php       | 12 ++++++------
 ecrire/exec/iconifier.php            |  2 +-
 ecrire/exec/menu_navigation.php      |  6 +++---
 ecrire/exec/menu_rubriques.php       |  2 +-
 ecrire/exec/message.php              |  6 +++---
 ecrire/exec/messagerie.php           |  4 ++--
 ecrire/exec/mots_edit.php            |  2 +-
 ecrire/exec/statistiques_visites.php |  8 ++++----
 ecrire/exec/synchro.php              |  2 +-
 ecrire/genie/syndic.php              |  2 +-
 ecrire/inc/acces.php                 |  2 +-
 ecrire/inc/auth_ldap.php             |  2 +-
 ecrire/inc/autoriser.php             |  6 +++---
 ecrire/inc/commencer_page.php        |  4 ++--
 ecrire/inc/editer_auteurs.php        |  8 ++++----
 ecrire/inc/editer_mot.php            |  2 +-
 ecrire/inc/forum.php                 |  4 ++--
 ecrire/inc/instituer_auteur.php      |  2 +-
 ecrire/inc/presentation.php          |  4 ++--
 ecrire/inc/statistiques.php          |  2 +-
 ecrire/inc/suivi_versions.php        |  4 ++--
 ecrire/inc/vieilles_defs.php         |  9 ++++++++-
 ecrire/maj/v014.php                  |  2 +-
 27 files changed, 55 insertions(+), 54 deletions(-)

diff --git a/ecrire/action/editer_auteurs.php b/ecrire/action/editer_auteurs.php
index daf058d664..eb22dec7c9 100644
--- a/ecrire/action/editer_auteurs.php
+++ b/ecrire/action/editer_auteurs.php
@@ -89,7 +89,7 @@ function ajouter_auteur_et_rediriger($type, $id, $id_auteur, $redirect)
 	$jointure = table_jointure('auteur', $type);
 	if (preg_match(',^[a-z]*$,',$type)){
 		$res = spip_query("SELECT id_$type FROM spip_{$jointure} WHERE id_auteur=" . _q($id_auteur) . " AND id_{$type}=" . $id);
-		if (!spip_num_rows($res))
+		if (!sql_count($res))
 			sql_insert("spip_{$jointure}", "(id_auteur,id_{$type})", "($id_auteur,$id)");
 
 		// Notifications, gestion des revisions, reindexation...
diff --git a/ecrire/base/abstract_sql.php b/ecrire/base/abstract_sql.php
index 7ab1f72bd3..194883c3d1 100644
--- a/ecrire/base/abstract_sql.php
+++ b/ecrire/base/abstract_sql.php
@@ -256,12 +256,6 @@ function sql_listdbs($serveur='') {
 	return $f($serveur);
 }
 
-// http://doc.spip.org/@spip_num_rows
-function spip_num_rows($r) {
-	return sql_count($r);
-}
-
-
 // http://doc.spip.org/@sql_version
 function sql_version($serveur='') {
 	$row = sql_fetch(spip_query("SELECT version() AS n", $serveur), $serveur);
diff --git a/ecrire/exec/articles_versions.php b/ecrire/exec/articles_versions.php
index 1b4493269f..25fe38d45f 100644
--- a/ecrire/exec/articles_versions.php
+++ b/ecrire/exec/articles_versions.php
@@ -156,7 +156,7 @@ function exec_articles_versions_dist()
 
 	$result = spip_query("SELECT id_version, titre_version, date, id_auteur	FROM spip_versions WHERE id_article=$id_article ORDER BY id_version DESC");
 
-	$zap = spip_num_rows($result);
+	$zap = sql_count($result);
 
 	if (!$zap) return; 
 
diff --git a/ecrire/exec/auteurs.php b/ecrire/exec/auteurs.php
index 6b45dc4473..14715cd114 100644
--- a/ecrire/exec/auteurs.php
+++ b/ecrire/exec/auteurs.php
@@ -27,7 +27,7 @@ function exec_auteurs_dist()
 	$recherche = _request('recherche');
 
 	$result = requete_auteurs($tri, $statut, $recherche);
-	$nombre_auteurs = spip_num_rows($result);
+	$nombre_auteurs = sql_count($result);
 
 	$debut = intval(_request('debut'));
 	if ($debut > $nombre_auteurs-1)
diff --git a/ecrire/exec/brouteur_frame.php b/ecrire/exec/brouteur_frame.php
index a5ce881de5..2bcb9aeb8f 100644
--- a/ecrire/exec/brouteur_frame.php
+++ b/ecrire/exec/brouteur_frame.php
@@ -69,7 +69,7 @@ jQuery(function(){
 
 	if ($special == "redac") {
 		$result=spip_query("SELECT articles.id_article, articles.id_rubrique, articles.titre, articles.statut FROM spip_articles AS articles LEFT JOIN spip_auteurs_articles AS lien USING (id_article) WHERE articles.statut = 'prepa' AND lien.id_auteur = $connect_id_auteur GROUP BY id_article ORDER BY articles.date DESC");
-		if (spip_num_rows($result)>0) {
+		if (sql_count($result)>0) {
 			echo "\n<div style='padding-top: 6px; padding-bottom: 3px;'><b class='verdana2'>"._T("info_cours_edition")."</b></div>";
 			echo "\n<div class='plan-articles'>";
 			while($row=sql_fetch($result)){
@@ -86,7 +86,7 @@ jQuery(function(){
 	}
 	else if ($special == "valider") {
 		$result=spip_query("SELECT id_article, id_rubrique, titre, statut FROM spip_articles WHERE statut = 'prop' ORDER BY date DESC");
-		if (spip_num_rows($result)>0) {
+		if (sql_count($result)>0) {
 			echo "\n<div style='padding-top: 6px; padding-bottom: 3px;'><b class='verdana2'>"._T("info_articles_proposes")."</b></div>";
 			echo "\n<div class='plan-articles'>";
 			while($row=sql_fetch($result)){
@@ -101,7 +101,7 @@ jQuery(function(){
 		}
 	
 		$result=spip_query("SELECT * FROM spip_breves WHERE statut = 'prop' ORDER BY date_heure DESC LIMIT  20");
-		if (spip_num_rows($result)>0) {
+		if (sql_count($result)>0) {
 			echo "\n<div style='padding-top: 6px;'><b class='verdana2'>"._T("info_breves_valider")."</b></div>";
 			echo "\n<div class='plan-articles'>";
 			while($row=sql_fetch($result)){
@@ -174,7 +174,7 @@ jQuery(function(){
 			else 
 				$result = spip_query("SELECT articles.id_article, articles.id_rubrique, articles.titre, articles.statut FROM spip_articles AS articles, spip_auteurs_articles AS lien WHERE articles.id_rubrique=$id_rubrique AND (articles.statut = 'publie' OR articles.statut = 'prop' OR (articles.statut = 'prepa' AND articles.id_article = lien.id_article AND lien.id_auteur = $connect_id_auteur)) GROUP BY id_article ORDER BY articles.date DESC");
 
-			if (spip_num_rows($result)>0) {
+			if (sql_count($result)>0) {
 				echo "\n<div style='padding-top: 6px; padding-bottom: 3px;'><b class='verdana2'>"._T('info_articles')."</b></div>";
 				echo "\n<div class='plan-articles'>";
 				while($row=sql_fetch($result)){
@@ -189,7 +189,7 @@ jQuery(function(){
 			}
 	
 			$result=spip_query("SELECT * FROM spip_breves WHERE id_rubrique=$id_rubrique ORDER BY date_heure DESC LIMIT  20");
-			if (spip_num_rows($result)>0) {
+			if (sql_count($result)>0) {
 				echo "\n<div style='padding-top: 6px;'><b class='verdana2'>"._T('info_breves_02')."</b></div>";
 				echo "\n<div class='plan-articles'>";
 				while($row=sql_fetch($result)){
@@ -206,7 +206,7 @@ jQuery(function(){
 			}
 	
 			$result=spip_query("SELECT * FROM spip_syndic WHERE id_rubrique=$id_rubrique AND statut!='refuse' ORDER BY nom_site");
-			if (spip_num_rows($result)>0) {
+			if (sql_count($result)>0) {
 				echo "\n<div style='padding-top: 6px;'><b class='verdana2'>"._T('icone_sites_references')."</b></div>";
 				while($row=sql_fetch($result)){
 					$id_syndic=$row['id_syndic'];
diff --git a/ecrire/exec/iconifier.php b/ecrire/exec/iconifier.php
index 35cce78b5d..27bb727050 100644
--- a/ecrire/exec/iconifier.php
+++ b/ecrire/exec/iconifier.php
@@ -42,7 +42,7 @@ function exec_iconifier_dist()
 		$row = sql_fetch(spip_query("SELECT id_rubrique, statut FROM spip_$table WHERE $type=$id"));
 		$droit = autoriser('publierdans','rubrique',$row['id_rubrique']);
 		if (!$droit AND  ($row['statut'] == 'prepa' OR $row['statut'] == 'prop' OR $row['statut'] == 'poubelle'))
-			$droit = spip_num_rows(determiner_auteurs_objet('article',$id, "id_auteur=$connect_id_auteur"));
+			$droit = sql_count(determiner_auteurs_objet('article',$id, "id_auteur=$connect_id_auteur"));
 	}
 
 	if (!$droit) {
diff --git a/ecrire/exec/menu_navigation.php b/ecrire/exec/menu_navigation.php
index 4a49d18c03..15941d6625 100644
--- a/ecrire/exec/menu_navigation.php
+++ b/ecrire/exec/menu_navigation.php
@@ -24,7 +24,7 @@ function exec_menu_navigation_dist() {
 
 	$vos_articles = spip_query("SELECT articles.id_article, articles.id_rubrique, articles.titre, articles.statut FROM spip_articles AS articles, spip_auteurs_articles AS lien WHERE articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa' ORDER BY articles.date DESC LIMIT 5");
 
-	if (spip_num_rows($vos_articles) > 0) {
+	if (sql_count($vos_articles) > 0) {
 			$t = _T('info_en_cours_validation');
 			$gadget .= debut_cadre('bandeau-rubriques',"article-24.gif",'',afficher_plus(generer_url_ecrire("articles_page")).$t)
 			. "\n<div class='plan-articles'>\n";
@@ -39,7 +39,7 @@ function exec_menu_navigation_dist() {
 	}
 	
 	$vos_articles = spip_query("SELECT id_article, id_rubrique, titre, statut FROM spip_articles WHERE statut='prop' ORDER BY date DESC LIMIT 5");
-	if (spip_num_rows($vos_articles) > 0) {
+	if (sql_count($vos_articles) > 0) {
 			$gadget .= debut_cadre('bandeau-rubriques',"article-24.gif",'',afficher_plus(generer_url_ecrire())._T('info_articles_proposes'));
 			$gadget .= "<div class='plan-articles'>";
 			while($row = sql_fetch($vos_articles)) {
@@ -53,7 +53,7 @@ function exec_menu_navigation_dist() {
 	}
 
 	$vos_articles = spip_query("SELECT * FROM spip_breves WHERE statut='prop' ORDER BY date_heure DESC LIMIT 5");
-	if (spip_num_rows($vos_articles) > 0) {
+	if (sql_count($vos_articles) > 0) {
 			$gadget .= debut_cadre('bandeau-rubriques',"breve-24.gif",'',afficher_plus(generer_url_ecrire("breves"))._T('info_breves_valider'));
 			$gadget .= "<div class='plan-articles'>";
 			while($row = sql_fetch($vos_articles)) {
diff --git a/ecrire/exec/menu_rubriques.php b/ecrire/exec/menu_rubriques.php
index bf0ef21838..98fbd696c1 100644
--- a/ecrire/exec/menu_rubriques.php
+++ b/ecrire/exec/menu_rubriques.php
@@ -165,7 +165,7 @@ function gen_liste_rubriques() {
 
 	// il ne faut pas filtrer le autoriser voir ici car on met le resultat en cache, commun a tout le monde
 	$GLOBALS['db_art_cache'] = array();
-	if (spip_num_rows($res) > 0) { 
+	if (sql_count($res) > 0) { 
 		while ($row = sql_fetch($res)) {
 			$id = $row['id_rubrique'];
 			$parent = $row['id_parent'];
diff --git a/ecrire/exec/message.php b/ecrire/exec/message.php
index b90968ea71..ef08e26bdb 100644
--- a/ecrire/exec/message.php
+++ b/ecrire/exec/message.php
@@ -113,13 +113,13 @@ function http_ajouter_participants($ze_auteurs, $id_message)
 {	
 	$result = auteurs_autorises((!$ze_auteurs ? '' : "id_auteur NOT IN ($ze_auteurs) AND  ") . "messagerie<>'non'",  "statut, nom");
 
-	if (!spip_num_rows($result) > 0) return '';
+	if (!sql_count($result) > 0) return '';
 
 	$res = "<span class='verdana1 spip_small'><b><label for='id_message'>" .
 	  _T('bouton_ajouter_participant') ."</label> &nbsp; </b></span>\n" .
 	  "<input type='hidden' name='id_message' id='id_message' value=\"$id_message\" />";
 
-	if (spip_num_rows($result) > 50) {
+	if (sql_count($result) > 50) {
 		$res .=  "\n<input type='text' name='cherche_auteur' id='cherche_auteur' class='fondl' value='' size='20' />";
 		$res .=  "\n<input type='submit' value='"._T('bouton_chercher')."' class='fondo' />";
 	} else {
@@ -165,7 +165,7 @@ function http_message_avec_participants($id_message, $statut, $forcer_dest, $che
 
 	$result_auteurs = spip_query("SELECT auteurs.id_auteur,auteurs.nom,auteurs.bio,auteurs.email,auteurs.nom_site,auteurs.url_site,auteurs.login,auteurs.pass,auteurs.low_sec,auteurs.statut,auteurs.maj,auteurs.pgp,auteurs.htpass,auteurs.en_ligne,auteurs.imessage,auteurs.messagerie,auteurs.alea_actuel,auteurs.alea_futur,auteurs.prefs,auteurs.cookie_oubli,auteurs.source,auteurs.lang, auteurs.extra FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur");
 
-	$total_dest = spip_num_rows($result_auteurs);
+	$total_dest = sql_count($result_auteurs);
 
 	if ($total_dest > 0) {
 		$auteurs_tmp = array();
diff --git a/ecrire/exec/messagerie.php b/ecrire/exec/messagerie.php
index 4fe93ae07a..cd251a6ff1 100644
--- a/ecrire/exec/messagerie.php
+++ b/ecrire/exec/messagerie.php
@@ -101,7 +101,7 @@ echo "<div style='text-align: "
 
  $result = sql_select('auteurs.id_auteur, auteurs.nom, COUNT(*) AS total', 'spip_auteurs AS auteurs,  spip_auteurs_messages AS lien2, spip_messages AS messages, spip_auteurs_messages AS lien', "(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)", "auteurs.id_auteur", 'total DESC', 10);
 
-if (spip_num_rows($result) > 0) {
+if (sql_count($result) > 0) {
 
 	echo "<div style='height: 12px;'></div>";
 	$bouton = bouton_block_depliable(_T('info_principaux_correspondants'),true,'principaux');
@@ -118,7 +118,7 @@ if (spip_num_rows($result) > 0) {
 		echo "<div class='tr_liste'\nonmouseover=\"changeclass(this,'tr_liste_over');\"\nonmouseout=\"changeclass(this,'tr_liste');\"\nstyle='padding: 2px; padding-left: 10px; border-bottom: 1px solid #cccccc;'><div class='verdana1'><img src='" . _DIR_IMG_PACK . "redac-12.gif'\nstyle='border: 0px' alt=' ' /> <a href='" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur"), "'>",
 		  $nom,
 		  "</a> ($total)</div></div>";
-		if ($count == ceil(spip_num_rows($result)/2)) echo "</td><td valign='top' style='width: 50%'>";
+		if ($count == ceil(sql_count($result)/2)) echo "</td><td valign='top' style='width: 50%'>";
 	}
 	echo "</td></tr></table>";
 	echo fin_block();
diff --git a/ecrire/exec/mots_edit.php b/ecrire/exec/mots_edit.php
index 44a21237ea..7c53aecd6b 100644
--- a/ecrire/exec/mots_edit.php
+++ b/ecrire/exec/mots_edit.php
@@ -227,7 +227,7 @@ function determine_groupe_mots($table, $id_groupe) {
 
 	$q = spip_query("SELECT id_groupe, titre FROM spip_groupes_mots ". ($table ? "WHERE $table='oui'" : '') . " ORDER BY titre");
 
-	if (spip_num_rows($q)>1) {
+	if (sql_count($q)>1) {
 
 		$res = " &nbsp; <select name='id_groupe' id='id_groupe' class='fondl'>\n";
 		while ($row = sql_fetch($q)){
diff --git a/ecrire/exec/statistiques_visites.php b/ecrire/exec/statistiques_visites.php
index ff27ad677d..1b3bdc4945 100644
--- a/ecrire/exec/statistiques_visites.php
+++ b/ecrire/exec/statistiques_visites.php
@@ -166,7 +166,7 @@ else {
 	// Par popularite
 	$result = spip_query("SELECT id_article, titre, popularite, visites FROM spip_articles WHERE statut='publie' AND popularite > 0 ORDER BY popularite DESC");
 
-	$nombre_articles = spip_num_rows($result);
+	$nombre_articles = sql_count($result);
 	if ($nombre_articles > 0) {
 		echo "<br />\n";
 		echo "<div class='iconeoff' style='padding: 5px;'>\n";
@@ -198,7 +198,7 @@ else {
 		// Par popularite
 		$result_suite = spip_query("SELECT id_article, titre, popularite, visites FROM spip_articles WHERE statut='publie' AND id_article IN ($articles_recents) AND id_article NOT IN ($articles_vus) ORDER BY popularite DESC");
 
-		if (spip_num_rows($result_suite) > 0) {
+		if (sql_count($result_suite) > 0) {
 		  echo "</ol><div style='text-align: center'>[...]</div>",$open;
 			while ($row = sql_fetch($result_suite)) {
 				$titre = typo($row['titre']);
@@ -228,7 +228,7 @@ else {
 	$result = spip_query("SELECT id_article, titre, popularite, visites FROM spip_articles WHERE statut='publie' AND popularite > 0 ORDER BY visites DESC LIMIT 30");
 
 		
-	if (spip_num_rows($result) > 0
+	if (sql_count($result) > 0
 	OR $id_article > 0)
 		echo creer_colonne_droite('', true);
 
@@ -236,7 +236,7 @@ else {
 		echo bloc_des_raccourcis(icone_horizontale(_T('icone_retour_article'), generer_url_ecrire("articles","id_article=$id_article"), "article-24.gif","rien.gif", false));
 	}
 
-	if (spip_num_rows($result) > 0) {
+	if (sql_count($result) > 0) {
 		echo "<br /><div class='iconeoff' style='padding: 5px;'>";
 		echo "<div style='font-size:small;overflow:hidden;' class='verdana1'>";
 		echo typo(_T('info_affichier_visites_articles_plus_visites'));
diff --git a/ecrire/exec/synchro.php b/ecrire/exec/synchro.php
index 98838ccb25..dfc6fa1a11 100644
--- a/ecrire/exec/synchro.php
+++ b/ecrire/exec/synchro.php
@@ -105,7 +105,7 @@ function exec_synchro_dist()
 	$result = sql_select("id_rubrique, titre", "spip_rubriques", 'id_parent=0','', '0+titre,titre');
 
 	$h = http_img_pack( 'feed.png', 'RSS', '');
-	if (spip_num_rows($result) > 0) {
+	if (sql_count($result) > 0) {
 		echo "\n<ul>";
 
 		while($row=sql_fetch($result)){
diff --git a/ecrire/genie/syndic.php b/ecrire/genie/syndic.php
index 55cdbc2a6c..09c21b5220 100644
--- a/ecrire/genie/syndic.php
+++ b/ecrire/genie/syndic.php
@@ -142,7 +142,7 @@ function inserer_article_syndique ($data, $now_id_syndic, $statut, $url_site, $u
 
 	// S'il y a plusieurs liens qui repondent, il faut choisir le plus proche
 	// (ie meme titre et pas deja fait), le mettre a jour et ignorer les autres
-	if (spip_num_rows($s) > 1) {
+	if (sql_count($s) > 1) {
 		while ($a = sql_fetch($s))
 			if ($a['titre'] == $data['titre']
 			AND !in_array($a['id_syndic_article'], $faits)) {
diff --git a/ecrire/inc/acces.php b/ecrire/inc/acces.php
index 65f6566245..d0488aa9cb 100644
--- a/ecrire/inc/acces.php
+++ b/ecrire/inc/acces.php
@@ -154,7 +154,7 @@ function ecrire_acces() {
 	$p1 = ''; // login:htpass pour tous
 	$p2 = ''; // login:htpass pour les admins
 	$s = spip_query("SELECT login, htpass, statut FROM spip_auteurs WHERE statut IN  ('1comite','0minirezo','nouveau')");
-	$n = spip_num_rows($s);
+	$n = sql_count($s);
 	while ($t = sql_fetch($s)) {
 		$p1 .= $t['login'].':'.$t['htpass']."\n";
 		if ($t['statut'] == '0minirezo')
diff --git a/ecrire/inc/auth_ldap.php b/ecrire/inc/auth_ldap.php
index ca5ce471f3..956299f804 100644
--- a/ecrire/inc/auth_ldap.php
+++ b/ecrire/inc/auth_ldap.php
@@ -31,7 +31,7 @@ function inc_auth_ldap_dist ($login, $pass) {
 
 	// sinon importer les infos depuis LDAP, 
 	// avec le statut par defaut a l'install
-	if (!spip_num_rows($result))
+	if (!sql_count($result))
 		$result = auth_ldap_inserer($dn, $GLOBALS['meta']["ldap_statut_import"]);
 	return $result ? sql_fetch($result) : array(); 
 }
diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index ee23a700ca..88ba852f6f 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -286,7 +286,7 @@ function autoriser_article_modifier_dist($faire, $type, $id, $qui, $opt) {
 		OR (
 			in_array($qui['statut'], array('0minirezo', '1comite'))
 			AND in_array($r['statut'], array('prop','prepa', 'poubelle'))
-			AND spip_num_rows(auteurs_article($id, "id_auteur=".$qui['id_auteur']))
+			AND sql_count(auteurs_article($id, "id_auteur=".$qui['id_auteur']))
 		);
 }
 
@@ -348,7 +348,7 @@ function autoriser_voir_dist($faire, $type, $id, $qui, $opt) {
 	include_spip('inc/auth'); // pour auteurs_article si espace public
 	return
 		in_array($r['statut'], array('prop', 'publie'))
-		OR spip_num_rows(auteurs_article($id, "id_auteur=".$qui['id_auteur']));
+		OR sql_count(auteurs_article($id, "id_auteur=".$qui['id_auteur']));
 }
 
 // Voir les revisions ?
@@ -556,7 +556,7 @@ function liste_rubriques_auteur($id_auteur, $raz=false) {
 
 	// Recurrence sur les sous-rubriques
 	$rubriques = array();
-	while ($q AND spip_num_rows($q)) {
+	while ($q AND sql_count($q)) {
 		$r = array();
 		while ($row = sql_fetch($q)) {
 			$id_rubrique = $row['id_rubrique'];
diff --git a/ecrire/inc/commencer_page.php b/ecrire/inc/commencer_page.php
index a7dec4368c..6b53f53732 100644
--- a/ecrire/inc/commencer_page.php
+++ b/ecrire/inc/commencer_page.php
@@ -189,7 +189,7 @@ function init_body($rubrique='accueil', $sous_rubrique='accueil', $id_rubrique='
 function avertissement_messagerie($id_auteur) {
 
 	$result_messages = spip_query("SELECT lien.id_message FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE lien.id_auteur="._q($id_auteur)." AND vu='non' AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message");
-	$total_messages = @spip_num_rows($result_messages);
+	$total_messages = @sql_count($result_messages);
 	if ($total_messages == 1) {
 		$row = @sql_fetch($result_messages);
 		$ze_message=$row['id_message'];
@@ -239,7 +239,7 @@ function auteurs_recemment_connectes($id_auteur)
 	$res = '';
 	$result = sql_select("*", "spip_auteurs",  "id_auteur!=" .intval($id_auteur) . " AND en_ligne>DATE_SUB(NOW(),INTERVAL 15 MINUTE)");
 
-	if (spip_num_rows($result)) {
+	if (sql_count($result)) {
 		$formater_auteur = charger_fonction('formater_auteur', 'inc');
 		$res = "<b>"._T('info_en_ligne'). "&nbsp;</b>";
 		while ($row = sql_fetch($result)) {
diff --git a/ecrire/inc/editer_auteurs.php b/ecrire/inc/editer_auteurs.php
index bef2ba63a3..c110b4fa84 100644
--- a/ecrire/inc/editer_auteurs.php
+++ b/ecrire/inc/editer_auteurs.php
@@ -135,7 +135,7 @@ function determiner_non_auteurs($type, $id, $cond_les_auteurs, $order)
 {
 	$cond = '';
 	$res = determiner_auteurs_objet($type, $id, $cond_les_auteurs);
-	if (spip_num_rows($res)<200){ // probleme de performance au dela, on ne filtre plus
+	if (sql_count($res)<200){ // probleme de performance au dela, on ne filtre plus
 		while ($row = sql_fetch($res))
 			$cond .= ",".$row['id_auteur'];
 	}
@@ -198,7 +198,7 @@ function afficher_auteurs_objet($type, $id, $flag_editable, $cond_les_auteurs, $
 	if (!preg_match(',^[a-z]*$,',$type)) return $les_auteurs; 
 
 	$result = determiner_auteurs_objet($type,$id,$cond_les_auteurs);
-	$cpt = spip_num_rows($result);
+	$cpt = sql_count($result);
 
 	$tmp_var = "editer_auteurs-$id";
 	$nb_aff = floor(1.5 * _TRANCHES);
@@ -218,7 +218,7 @@ function afficher_auteurs_objet($type, $id, $flag_editable, $cond_les_auteurs, $
 	if (!$formater_auteur = charger_fonction("formater_auteur_$type", 'inc',true))
 		$formater_auteur = charger_fonction('formater_auteur', 'inc');
 
-	if (!spip_num_rows($result)) return '';
+	if (!sql_count($result)) return '';
 
 	$table = array();
 
@@ -252,7 +252,7 @@ function ajouter_auteurs_objet($type, $id, $cond_les_auteurs,$script_edit, $arg_
 		$determiner_non_auteurs = 'determiner_non_auteurs';
 
 	$query = $determiner_non_auteurs($type, $id, $cond_les_auteurs, "statut, nom");
-	if (!$num = spip_num_rows($query)) return '';
+	if (!$num = sql_count($query)) return '';
 	$js = "findObj_forcer('valider_ajouter_auteur').style.visibility='visible';";
 
 	$text = "<span class='verdana1'><label for='nouv_auteur'><b>"
diff --git a/ecrire/inc/editer_mot.php b/ecrire/inc/editer_mot.php
index 1e10f1baf6..4e7168bf7a 100644
--- a/ecrire/inc/editer_mot.php
+++ b/ecrire/inc/editer_mot.php
@@ -165,7 +165,7 @@ function afficher_mots_cles($flag_editable, $objet, $id_objet, $table, $table_id
 	$groupes_vus = array();
 	$flag_tous = 0;
 	$result = spip_query("SELECT mots.id_mot, mots.titre, mots.descriptif, mots.id_groupe FROM spip_mots AS mots, spip_mots_$table AS lien WHERE lien.$table_id=$id_objet AND mots.id_mot=lien.id_mot ORDER BY mots.type, mots.titre");
-	if (spip_num_rows($result) > 0) {
+	if (sql_count($result) > 0) {
 	
 		$tableau= array();
 		$cle = http_img_pack('petite-cle.gif', "", "width='23' height='12'");
diff --git a/ecrire/inc/forum.php b/ecrire/inc/forum.php
index 037e05b4a2..bb8a9a9e0a 100644
--- a/ecrire/inc/forum.php
+++ b/ecrire/inc/forum.php
@@ -20,7 +20,7 @@ function affiche_navigation_forum($script, $args, $debut, $i, $pack, $ancre, $qu
 
 	$e = (_SPIP_AJAX === 1 );
 
-	$n = spip_num_rows($query);
+	$n = sql_count($query);
 
 	for (;$n;$n--){
 
@@ -308,7 +308,7 @@ function generer_url_forum_parent($id_forum) {
 function conserver_original($id_forum) {
 	$s = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent="._q($id_forum)." AND statut='original'");
 
-	if (spip_num_rows($s))
+	if (sql_count($s))
 		return ''; // pas d'erreur
 
 	// recopier le forum
diff --git a/ecrire/inc/instituer_auteur.php b/ecrire/inc/instituer_auteur.php
index 13854922d5..f9d674923f 100644
--- a/ecrire/inc/instituer_auteur.php
+++ b/ecrire/inc/instituer_auteur.php
@@ -133,7 +133,7 @@ function choix_rubriques_admin_restreint($auteur) {
 
 	$result = spip_query("SELECT rubriques.id_rubrique, " . sql_multi ("titre", $spip_lang) . " FROM spip_auteurs_rubriques AS lien, spip_rubriques AS rubriques WHERE lien.id_auteur=$id_auteur AND lien.id_rubrique=rubriques.id_rubrique ORDER BY multi");
 
-	$restreint = (spip_num_rows($result) > 0);
+	$restreint = (sql_count($result) > 0);
 
 	if (!$restreint) {
 		$phrase = _T('info_admin_gere_toutes_rubriques')."\n";
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index 0ae6dae4fd..1272b60ae9 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -579,7 +579,7 @@ function afficher_forum($request, $retour, $arg, $controle_id_article = false) {
 	static $thread = array();
 
 	$compteur_forum++;
-	$nb_forum[$compteur_forum] = spip_num_rows($request);
+	$nb_forum[$compteur_forum] = sql_count($request);
 	$thread[$compteur_forum] = 1;
 	
 	$res = '';
@@ -1531,7 +1531,7 @@ function sous_enfant_rub($collection2){
 
 	$result3 =  sql_select("*", "spip_rubriques", "id_parent=$collection2",'', '0+titre,titre');
 
-	if (!spip_num_rows($result3)) return '';
+	if (!sql_count($result3)) return '';
 	$retour = debut_block_depliable(false,"enfants$collection2")."\n<ul style='margin: 0px; padding: 0px; padding-top: 3px;'>\n";
 	while($row=sql_fetch($result3)){
 		$id_rubrique2=$row['id_rubrique'];
diff --git a/ecrire/inc/statistiques.php b/ecrire/inc/statistiques.php
index 1bd5eb85c5..5c14e2b0af 100644
--- a/ecrire/inc/statistiques.php
+++ b/ecrire/inc/statistiques.php
@@ -235,7 +235,7 @@ function aff_referers ($result, $limit, $plus) {
 		if ($aff) $aff = "<ul class='referers'>$aff</ul>";
 
 		// Le lien pour en afficher "plus"
-		if ($plus AND (spip_num_rows($result) == $limit)) {
+		if ($plus AND (sql_count($result) == $limit)) {
 			$aff .= "<div style='text-align:right;'><b><a href='$plus'>+++</a></b></div>";
 		}
 	}
diff --git a/ecrire/inc/suivi_versions.php b/ecrire/inc/suivi_versions.php
index 486530581a..e81699eaf4 100644
--- a/ecrire/inc/suivi_versions.php
+++ b/ecrire/inc/suivi_versions.php
@@ -57,7 +57,7 @@ function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = fa
 
 	$result = sql_select($req_sel, 'spip_versions AS versions, spip_articles AS articles', $req_where, '', 'versions.date DESC', "$debut, $nb_aff");
 
-	if (spip_num_rows($result) > 0) {
+	if (sql_count($result) > 0) {
 
 		$revisions = '';
 
@@ -69,7 +69,7 @@ function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = fa
 				. $titre_table;
 
 	
-			$total = spip_num_rows(sql_select($req_sel, 'spip_versions AS versions, spip_articles AS articles', $req_where, '','', "0, 149"));
+			$total = sql_count(sql_select($req_sel, 'spip_versions AS versions, spip_articles AS articles', $req_where, '','', "0, 149"));
 			$id_liste = 't'.substr(md5("$req_where 149"),0,8);
 			$bouton = bouton_block_depliable($titre_table,true,$id_liste);
 			$revisions .= debut_cadre('liste',"historique-24.gif",'',$bouton)
diff --git a/ecrire/inc/vieilles_defs.php b/ecrire/inc/vieilles_defs.php
index 4b5d836f12..bdfe131f5a 100644
--- a/ecrire/inc/vieilles_defs.php
+++ b/ecrire/inc/vieilles_defs.php
@@ -295,7 +295,7 @@ spip_log('auth_rubrique() '.$GLOBALS['REQUEST_URI'].' - '.$_SERVER['SCRIPT_NAME'
 	if ($statut != '0minirezo') return $statut;
 
 	$result = spip_query("SELECT id_rubrique FROM spip_auteurs_rubriques WHERE id_auteur=$id_auteur AND id_rubrique!='0'");
-	if (!spip_num_rows($result)) {
+	if (!sql_count($result)) {
 		return 0;
 	}
 	$rubriques = array();
@@ -405,6 +405,13 @@ spip_log('creer_objet_multi() '.$GLOBALS['REQUEST_URI'].' - '.$_SERVER['SCRIPT_N
 	return $envoyer_mail($email,$sujet,$texte,$from,$headers);
 }
 
+
+// http://doc.spip.org/@spip_num_rows
+function spip_num_rows($r) {
+	spip_log('spip_num_rows() '.$GLOBALS['REQUEST_URI'].' - '.$_SERVER['SCRIPT_NAME'], 'vieilles_defs');
+	return sql_count($r);
+}
+
 //constantes spip pour mysql_fetch_array()
 define('SPIP_BOTH', MYSQL_BOTH);
 define('SPIP_ASSOC', MYSQL_ASSOC);
diff --git a/ecrire/maj/v014.php b/ecrire/maj/v014.php
index 7b1abf2373..0b42c98d5b 100644
--- a/ecrire/maj/v014.php
+++ b/ecrire/maj/v014.php
@@ -221,7 +221,7 @@ function maj_v014_dist($version_installee, $version_cible)
 		while ($row = sql_fetch($result)) {
 			$type = addslashes($row['type']);
 			$res = spip_query("SELECT * FROM spip_groupes_mots WHERE titre='$type'");
-			if (spip_num_rows($res) == 0) {
+			if (sql_count($res) == 0) {
 				$s = spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum) VALUES ('$type', 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')");
 			  if ($id_groupe = mysql_insert_id($s))
 					spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'");
-- 
GitLab