From d7b7388f775612c5376654869262f5eafd340e8b Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Sun, 7 May 2006 09:06:39 +0000 Subject: [PATCH] =?UTF-8?q?#248=20:=20extension=20du=20crit=C3=A8re=20inve?= =?UTF-8?q?rse=20pour=20permettre=20la=20construction=20{par=20#ENV{tri}}{?= =?UTF-8?q?inverse=20#ENV{senstri}}=20si=20senstri=3D0,=20inverse=20n'est?= =?UTF-8?q?=20pas=20applique,=20si=20senstri=20vaut=201=20inverse=20est=20?= =?UTF-8?q?appliqu=C3=A9=20Au=20passage=20on=20perd=20la=20possibilit?= =?UTF-8?q?=C3=A9=20de=20construire=20{inverse=20id=5Farticle}=20qui=20eta?= =?UTF-8?q?it=20une=20contraction=20de=20{!par=20id=5Farticle},=20mais=20q?= =?UTF-8?q?ui=20n'etait=20pas=20document=C3=A9...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/public/criteres.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php index 92c1d03b19..111a3cb6e5 100644 --- a/ecrire/public/criteres.php +++ b/ecrire/public/criteres.php @@ -309,16 +309,22 @@ function critere_inverse_dist($idb, &$boucles, $crit) { $boucle = &$boucles[$idb]; // Classement par ordre inverse - - if ($crit->not || $crit->param) + if ($crit->not) critere_parinverse($idb, $boucles, $crit, " . ' DESC'"); else { + $order = "' DESC'"; + // Classement par ordre inverse fonction eventuelle de #ENV{...} + if ($crit->param[0]){ + $critere = calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent); + $order = "(($critere)?' DESC':'')"; + } + $n = count($boucle->order); if ($n) - $boucle->order[$n-1] .= " . ' DESC'"; + $boucle->order[$n-1] .= " . $order"; else - $boucle->default_order[] = ' DESC'; + $boucle->default_order[] = $order; } } -- GitLab