From a5e4ff80d8cbca78ca385a42b8b51d43e294e86f Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Wed, 3 May 2006 00:32:05 +0000
Subject: [PATCH] =?UTF-8?q?le=20calcul=20de=20la=20hi=C3=A9rarchie=20d'une?=
 =?UTF-8?q?=20rubrique=20=C3=A9tait=20compl=C3=A8tement=20loup=C3=A9,=20ca?=
 =?UTF-8?q?r=20la=20rubrique=20"appelante"=20n'est=20pas=20forc=C3=A9ment?=
 =?UTF-8?q?=20membre=20de=20sa=20propre=20hi=C3=A9rarchie=20(cf.=20doc=20h?=
 =?UTF-8?q?ttp://www.spip.net/fr=5Farticle913.html=20;=20la=20doc=20est=20?=
 =?UTF-8?q?bonne,=20on=20a=20v=C3=A9rifi=C3=A9)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/public/composer.php | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php
index c25341f0b6..a9722202c2 100644
--- a/ecrire/public/composer.php
+++ b/ecrire/public/composer.php
@@ -267,14 +267,18 @@ function calculer_hierarchie($id_rubrique, $exclure_feuille = false) {
 	if (!$id_rubrique = intval($id_rubrique))
 		return '0';
 
-	$hierarchie = ",$id_rubrique";
+	$hierarchie = array();
 
-	do {
-		$id_rubrique = sql_parent($id_rubrique);
-		$hierarchie = "," . $id_rubrique . $hierarchie;
-	} while ($id_rubrique);
+	if (!$exclure_feuille)
+		$hierarchie[] = $id_rubrique;
 
-	return substr($hierarchie,1);
+	while ($id_rubrique = sql_parent($id_rubrique))
+		array_unshift($hierarchie, $id_rubrique);
+
+	if (count($hierarchie))
+		return join(',', $hierarchie);
+	else
+		return '0';
 }
 
 
-- 
GitLab