[spip-dev] le bug sur l'ajax

Accrochez vos ceintures : il y avait un bug sur l'ajax qui permet de passer
d'une page de mots-clés à l'autre, dans mots_tous ; bug assez difficile à
épingler...

En fait ce qui se passait c'est que, lorsque la fonction ajax correspondante
était créée sur-le-champ au moment de la création de la page, la valeur de
$id_ajax_fonc était (par exemple) (int)810 ; mais lorsque cettge fonction
était en cache, la valeur de $id_ajax_fonc était (string)"810".

Ensuite dans le acs (int), le ereg_replace ('::id_ajax_fonc::',
$id_ajax_fonc, $tranches) envoyait non pas "810" mais autre chose... la
chaîne correspondant aux octets de l'int 810, quoi...

Bref pour corriger il suffisait de mettre des "" autour de $id_ajax_fonc,
histoire que ce soit une chaîne. Ici en fait str_replace suffit à notre
bonheur.

Moralité : ne plus jaamis utiliser ereg_replace !

-- Fil

Bien vu. Et tout s'explique ci-dessous (http://www.zend.com/manual/function.ereg-replace.php), encore fallait-il le savoir:

One thing to take note of is that if you use an integer value as the replacement parameter, you may not get the results you expect. This is because ereg_replace() will interpret the number as the ordinal value of a character, and apply that.

Déesse A.