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

Effet indésirable de [6023] (Pyrat): les squelettes inclus imposaient leurs...

Effet indésirable de [6023] (Pyrat): les squelettes inclus imposaient leurs en-tetes (et surtout leur absence d'entetes, donc text/html par defaut)  au squelette incluant. Réparé, mais il y a matière à discussion en tant qu'acte volontaire.
parent ef85650c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -16,14 +16,14 @@ if (defined('_INC_PUBLIC')) { ...@@ -16,14 +16,14 @@ if (defined('_INC_PUBLIC')) {
// $fond passe par INCLURE(){fond=...} // $fond passe par INCLURE(){fond=...}
if (isset($contexte_inclus['fond'])) if (isset($contexte_inclus['fond']))
$fond = $contexte_inclus['fond']; $fond = $contexte_inclus['fond'];
$page = inclure_page($fond, $contexte_inclus); $subpage = inclure_page($fond, $contexte_inclus);
if ($page['process_ins'] == 'html') if ($subpage['process_ins'] == 'html')
echo $page['texte']; echo $subpage['texte'];
else else
eval('?' . '>' . $page['texte']); eval('?' . '>' . $page['texte']);
if ($page['lang_select'] === true) if ($subpage['lang_select'] === true)
lang_dselect(); lang_dselect();
} else { } else {
...@@ -102,7 +102,6 @@ if (defined('_INC_PUBLIC')) { ...@@ -102,7 +102,6 @@ if (defined('_INC_PUBLIC')) {
// 1. Cas d'une page contenant uniquement du HTML : // 1. Cas d'une page contenant uniquement du HTML :
if ($page['process_ins'] == 'html') { if ($page['process_ins'] == 'html') {
foreach($page['entetes'] as $k => $v) @header("$k: $v"); foreach($page['entetes'] as $k => $v) @header("$k: $v");
$texte = $page['texte'];
} }
// 2. Cas d'une page contenant du PHP : // 2. Cas d'une page contenant du PHP :
...@@ -115,7 +114,7 @@ if (defined('_INC_PUBLIC')) { ...@@ -115,7 +114,7 @@ if (defined('_INC_PUBLIC')) {
if (!$flag_ob) { if (!$flag_ob) {
foreach($page['entetes'] as $k => $v) @header("$k: $v"); foreach($page['entetes'] as $k => $v) @header("$k: $v");
eval('?' . '>' . $page['texte']); eval('?' . '>' . $page['texte']);
$texte = ''; $page['texte'] = '';
} }
// sinon, inclure_balise_dynamique nous enverra peut-etre // sinon, inclure_balise_dynamique nous enverra peut-etre
...@@ -123,8 +122,9 @@ if (defined('_INC_PUBLIC')) { ...@@ -123,8 +122,9 @@ if (defined('_INC_PUBLIC')) {
else { else {
ob_start(); ob_start();
$res = eval('?' . '>' . $page['texte']); $res = eval('?' . '>' . $page['texte']);
$texte = ob_get_contents(); $page['texte'] = ob_get_contents();
ob_end_clean(); ob_end_clean();
foreach($page['entetes'] as $k => $v) @header("$k: $v"); foreach($page['entetes'] as $k => $v) @header("$k: $v");
// en cas d'erreur lors du eval, // en cas d'erreur lors du eval,
// la memoriser dans le tableau des erreurs // la memoriser dans le tableau des erreurs
...@@ -140,37 +140,37 @@ if (defined('_INC_PUBLIC')) { ...@@ -140,37 +140,37 @@ if (defined('_INC_PUBLIC')) {
// Passer la main au debuggueur le cas echeant // Passer la main au debuggueur le cas echeant
if ($var_mode == 'debug') { if ($var_mode == 'debug') {
include_spip('inc/debug'); include_spip('inc/debug');
debug_dumpfile($var_mode_affiche== 'validation' ? $texte :"", debug_dumpfile($var_mode_affiche== 'validation' ? $page['texte'] :"",
$var_mode_objet,$var_mode_affiche); $var_mode_objet,$var_mode_affiche);
} }
if (count($tableau_des_erreurs) AND $affiche_boutons_admin) if (count($tableau_des_erreurs) AND $affiche_boutons_admin)
$texte = affiche_erreurs_page($tableau_des_erreurs) . $texte; $page['texte'] = affiche_erreurs_page($tableau_des_erreurs) . $page['texte'];
// Traiter var_recherche pour surligner les mots // Traiter var_recherche pour surligner les mots
if ($var_recherche) { if ($var_recherche) {
include_spip('inc/surligne'); include_spip('inc/surligne');
$texte = surligner_mots($texte, $var_recherche); $page['texte'] = surligner_mots($page['texte'], $var_recherche);
} }
// Valider/indenter a la demande. // Valider/indenter a la demande.
if (trim($texte) AND $xhtml AND $html AND !headers_sent()) { if (trim($page['texte']) AND $xhtml AND $html AND !headers_sent()) {
# Compatibilite ascendante # Compatibilite ascendante
if ($xhtml === true) $xhtml ='tidy'; if ($xhtml === true) $xhtml ='tidy';
else if ($xhtml == 'spip_sax') $xhtml = 'sax'; else if ($xhtml == 'spip_sax') $xhtml = 'sax';
if ($f = include_fonction($xhtml, 'inc')) if ($f = include_fonction($xhtml, 'inc'))
$texte = $f($texte); $page['texte'] = $f($page['texte']);
} }
// Inserer au besoin les boutons admins // Inserer au besoin les boutons admins
if ($affiche_boutons_admin) { if ($affiche_boutons_admin) {
include_spip('public/admin'); include_spip('public/admin');
$texte = affiche_boutons_admin($texte); $page['texte'] = affiche_boutons_admin($page['texte']);
} }
// Affichage final s'il en reste // Affichage final s'il en reste
echo $texte; echo $page['texte'];
// Gestion des statistiques du site public // Gestion des statistiques du site public
if ($GLOBALS['meta']["activer_statistiques"] != "non") { if ($GLOBALS['meta']["activer_statistiques"] != "non") {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter