Skip to content
Extraits de code Groupes Projets
Valider f4cca4fd rédigé par esj's avatar esj
Parcourir les fichiers

Faciliter l'envoi d'en-tetes http dans les squelettes, afin de remplacer les...

Faciliter l'envoi d'en-tetes http dans les squelettes, afin de remplacer les variables PHP $flag_preserver et $flag_dynamique par des entitees independantes du langage d'execution. Pour cela: 

- introduction d'une balise #HTTP{e1, ... en} utilisable en debut de squelette, et dont les arguments sont des chaines, entourees de guillemets ou d'apostrophes, conforme au protocole HTTP1/1 :
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.4

- cette balise est compilee en une sequence
<?php header(e1); .... ;header(en) ?>

- Spip repere une telle sequence initiale (c'est donc valable aussi pour un code php ecrit directement sous-reserve que la syntaxe soit exactement la meme) et en fait une meta-donnee pour chaque page produite par l'execution du squelette, afin de disposer facilement des en-tetes au moment de l'envoi;

- Spip repere dans ces meta-donnees la presence de la directive Content-Type. Si elle est absente, elle est automatiquement rajoutee avec comme habituellement la valeur:
	Content-Type: text/html; charset=#CHARSET
Spip n'enverra les boutons d'administration et de previsualisation et n'inserera leur CSS associee que si cette directive a pour valeur text/html ou que le mode debug est actif. 
Cette assertion simple reflete l'usage de la variable $flag_preserver qui n'a ainsi plus de raison d'etre.

- Spip repere aussi dans ces meta-donnees la presence d'une directive "Cache-control", auquel cas il n'enverra aucune autre directive concernant le cache du client. Ainsi, le positionnement a "vrai" de la variable $flag_dynamique, jamais documentee, est equivalent a
	#HTTP{'Pragma: no-cache', 'Cache-Control: no-cache; must-revalidate'}
parent c7bd9075
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Chargement en cours
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter