Compilation de du critère `{branche ?}` erronnée
Signalé par RealET sur la liste SPIP.devel :
Je suis tombé sur le problème avec le plugin agenda qui a une boucle dans agenda-ical.html : <BOUCLE_evenement2_branche(EVENEMENTS) {branche?}{id_article?}{id_mot?}{statut=publie}{par date_fin} {age_fin<=0} {0,50} {doublons}>
Lorsque 'id_rubrique' n'est pas dans l'environnement, la boucle crée tout de même une jointure pour obtenir id_rubrique nécessaire au calcul de la branche.
Le code généré est : (sql_quote(
$Pile[0]['id_rubrique']) ? sql_in('L1.id_rubrique', calcul_branche_in(sql_quote($Pile[0]['id_rubrique']))) : '1=1')
Mais sql_quote(0)
donne '0'
considérant que c'est du texte, sans précision du type de champ.
Du coup, ça entre toujours dans la condition.
Il faut du coup passer à l'appel de kwote() le type attendu de champ (int), qui ensuite va créer le code sql_quote. Cependant, kwote ne transmet pas dans tous les cas à sql_quote le type. Je suppose que c'est un oubli dans f437e6a4