From 3e43e548822a1d53b094176c78443301e124977a Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Thu, 25 Nov 2004 18:06:42 +0000
Subject: [PATCH] =?UTF-8?q?Boucle=20vide=20et=20recherche:=20appeler=20qua?=
 =?UTF-8?q?nd=20m=C3=AAme=20le=20serveur=20!=20(Jean-Luc=20B=C3=A9chennec)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc_majbase.php3 |  1 -
 inc-compilo.php3        | 42 ++++++++++++++++++++---------------------
 2 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/ecrire/inc_majbase.php3 b/ecrire/inc_majbase.php3
index c6e2c9a85f..1cc2328d9b 100644
--- a/ecrire/inc_majbase.php3
+++ b/ecrire/inc_majbase.php3
@@ -26,7 +26,6 @@ function maj_base() {
 	$result = spip_query("SELECT valeur FROM spip_meta WHERE nom='version_installee'");
 	if ($result) if ($row = spip_fetch_array($result)) $version_installee = (double) $row['valeur'];
 
-	echo "'$version_installee' '$spip_version'";
 	//
 	// Si pas de version mentionnee dans spip_meta, c'est qu'il s'agit
 	// d'une nouvelle installation
diff --git a/inc-compilo.php3 b/inc-compilo.php3
index 32b27de4d8..5caa9efaa9 100644
--- a/inc-compilo.php3
+++ b/inc-compilo.php3
@@ -233,6 +233,13 @@ function calculer_boucle($id_boucle, &$boucles) {
 	if ($boucle->mode_partie)
 		$corps .= "\n		}\n";
 
+	$texte = '';
+
+	// Gestion de la hierarchie (voir inc-boucles.php3)
+	if ($boucle->hierarchie)
+		$texte .= "\n	".$boucle->hierarchie;
+
+
 	// si le corps est une constante, ne pas appeler le serveur N fois!
 	if (ereg("^\(?'[^']*'\)?$",$corps)) {
 		// vide ?
@@ -246,20 +253,8 @@ function calculer_boucle($id_boucle, &$boucles) {
 			$corps = "\n		".'for($x=$Numrows["'.$id_boucle.'"];$x>0;$x--)
 			$t0 .= ' . $corps .';';
 		}
-		$texte = '';
 	} else {
 
-	// Gestion de la hierarchie (voir inc-boucles.php3)
-	if ($boucle->hierarchie)
-		$texte .= "\n	".$boucle->hierarchie;
-
-	// Recherche : recuperer les hash a partir de la chaine de recherche
-	if ($boucle->hash) {
-		$texte .=  '
-	// RECHERCHE
-	list($rech_select, $rech_where) = prepare_recherche($GLOBALS["recherche"], "'.$boucle->primary.'", "'.$boucle->id_table.'");';
-	}
-
 	$corps = '
 
 	// RESULTATS
@@ -278,20 +273,23 @@ function calculer_boucle($id_boucle, &$boucles) {
 	//
 	// Requete
 	//
-	$init = "\n\n	// REQUETE\n	";
 
 	// hack critere recherche : ignorer la requete en cas de hash vide
-	if ($boucle->hash)
-		$init .= "if (\$rech_select) ";
-
-	$init .= "\$result = ";
-
+	// Recherche : recuperer les hash a partir de la chaine de recherche
+	if ($boucle->hash) {
+		$init =  '
+	// RECHERCHE
+	list($rech_select, $rech_where) = prepare_recherche($GLOBALS["recherche"], "'.$boucle->primary.'", "'.$boucle->id_table.'");
+	if ($rech_select) ';
+	}
 
-	// En absence de champ c'est un decompte : 
-	// on prend la primary pour avoir qqch
-	// car le COUNT incompatible avec le cas general
+	else $init = '';
 
-	$init .= "spip_abstract_select(\n\t\tarray(\"". 
+	$init .= "\n\n	// REQUETE
+	\$result = spip_abstract_select(\n\t\tarray(\"". 
+		# En absence de champ c'est un decompte : 
+	  	# prendre la primary pour avoir qqch
+	  	# (COUNT incompatible avec le cas general
 		(($boucle->select) ? 
 			join("\",\n\t\t\"", array_unique($boucle->select)) :
 			$id_field) .
-- 
GitLab