[spip-dev] échappement erroné dans un critère de boucle

bonjour,

relevé sur forum.spip : http://forum.spip.org/fr_231841.html

une balise, en donnée d'une boucle englobante, passée
comme valeur de critère dans une boucle incluse est compilée :

sql_quote(interdire_scripts(typo($Pile[$SP]['titre'], "TYPO", $connect)))

produisant le sql :
AND (table.champ = 'l’bidule')

au lieu de :

sql_quote(interdire_scripts($Pile[$SP]['titre']))

produisant le sql :
AND (table.champ = 'l\'bidule')

(ticket : http://core.spip.org/issues/1998)

bonjour,

relevé sur forum.spip : http://forum.spip.org/fr_231841.html

une balise, en donnée d'une boucle englobante, passée
comme valeur de critère dans une boucle incluse est compilée :

sql_quote(interdire_scripts(typo($Pile[$SP]['titre'], "TYPO", $connect)))

ça me parait normal : #TITRE ne vas pas renvoyer une chose ou une autre selon l'endroit ou on l'utilise

produisant le sql :
AND (table.champ = 'l’bidule')

Par contre, cela n'est pas normal : sql_quote échappe normalement les ' et ce type de chaine ne devrait jamais en sortir
(en lisant le ticket, je vois que c'est bien le guillemet spécial qui ressort de typo et non le simple quote.
Cela veut dire qu'il est interprété par SQL comme un simple quote fermant la chaine ?)

au lieu de :

sql_quote(interdire_scripts($Pile[$SP]['titre']))

Non, ça ne me paraitrait pas logique que le comportement de #TITRE change contextuellement

Cédric

Je ne reproduis pas :
http://core.spip.org/issues/1998