From 82a277c6daa29746bec60620dc5a59ddd5b7b13c Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Wed, 17 Jan 2007 11:05:35 +0000 Subject: [PATCH] jeux de mots, jeux de compilo lorsqu'un critere dynamique est present ( {par #ENV{tri}} ), prevoir qu'on peut vouloir faire tri=hasard, la syntaxe {par hasard} pouvant faire croire que c'est techniquement la meme chose que {par id_article} ... --- ecrire/public/criteres.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php index 22ac0eb687..ce3fa74a6d 100644 --- a/ecrire/public/criteres.php +++ b/ecrire/public/criteres.php @@ -300,7 +300,15 @@ function critere_parinverse($idb, &$boucles, $crit, $sens) { $fct = ""; // en cas de fonction SQL // tris specifies dynamiquement if ($tri[0]->type != 'texte') { + // calculer le order dynamique qui verifie les champs $order = calculer_critere_arg_dynamique($idb, $boucles, $tri, $sens); + // et ajouter un champ hasard dans le select pour supporter 'hasard' comme tri dynamique + if (spip_abstract_select(array("RAND()"))) + $par = "RAND()"; + else + $par = "MOD(".$boucle->id_table.'.'.$boucle->primary + ." * UNIX_TIMESTAMP(),32767) & UNIX_TIMESTAMP()"; + $boucle->select[]= $par . " AS hasard"; } else { $par = array_shift($tri); $par = $par->texte; -- GitLab