Valider 4520ee5a rédigé par esj's avatar esj
Parcourir les fichiers

La fonction f_admin utilisée dans le pipeline affichage_final pour insérer les...

La fonction f_admin utilisée dans le pipeline affichage_final pour insérer les boutons d'admin et leur CSS ne controlait pas que le texte produit était bien du HTML, contrairement aux autres fonctions associées à ce pipeline. Cet oubli reposait sur la confiance en un test en amont qui n'est plus fiable depuis que r20455 a permis à la prévisualisation d'être autre chose que du HTML, en particulier du PDF qui du coup se retrouvait avec une balise Link à son début.

A noter beaucoup d'incohérences de la part des navigateurs lors d'un Content-Type annoncé comme du PDF:
 * Safari ignore à raison mais en silence la balise Link en début de texte;
 * Si on l'encode en base64, Safari se plaint alors qu'il ne commance pas par "%PDF-";
 * Firefox dit que le texte est du PDF incorrect et n'affiche rien dans les deux cas;
 * Si on ne met pas de Content-Length, Firebug signale une "Uncaught exception" sans plus de précision.
parent 7cce8b57
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -435,6 +435,7 @@ function f_insert_head($texte) {
// Inserer au besoin les boutons admins
// http://doc.spip.org/@f_admin
function f_admin ($texte) {
	if (!$GLOBALS['html']) return $texte;
	if ($GLOBALS['affiche_boutons_admin']) {
		include_spip('public/admin');
		$texte = affiche_boutons_admin($texte);