Bonjour,
Un problème soulevé sur le forum de spip il y a longtemps http://forum.spip.org/fr_192043.html
form_hidden agglutine les différents champs au lieu de les remplacer
par le dernier, ce qui rend son utilisation pour des mots de passe par exemple complètement inopérante. J'ai donc modifié le filtre form_hidden dans ecrire/inc/filtre.php de la manière suivante:
// La fonction suivante ne sert plus aujourd'hui qu'aux squelettes des
// balises dynamiques, en attendant une nouvelle conception qui permettra
// d'eviter les redondances de calcul et d'ecriture qu'elle induit.
// Elle fournit la suite de Input-Hidden correspondant aux parametres de
// l'URL donnee en argument. Ce besoin de ne devrait pas apparaitre,
// utiliser plutot generer_form_ecrire.
// http://doc.spip.org/@form_hidden
function form_hidden($action) {
$hidden = '';
$tableau = array();
if (false !== ($p = strpos($action, '?')))
foreach(preg_split('/&(amp;)?/S',substr($action,$p+1)) as $c) {
$name_value = explode("=", $c, 2);
$tableau[trim($name_value[0])] = trim($name_value[1]);
}
foreach($tableau as $name => $value){
$hidden .= "\n<input name='" .
entites_html(rawurldecode("$name' value='$value'")) .
"' type='hidden' />";
}
return $hidden;
}
soit le diff suivant: