diff --git a/inc-public-global.php3 b/inc-public-global.php3 index de105e9e7287eb16673419485c6dbda72beaebb6..23ce602c16b5475ea8114292511a0841d4ec0f66 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -88,36 +88,38 @@ function calcule_header_et_page ($fond, $delais) { // Envoyer les entetes appropries // a condition d'etre sur de pouvoir le faire // - if (!$flag_preserver - AND $flag_ob AND !headers_sent()) { - - // Si la page est vide, gerer l'erreur 404 - if (trim($page['texte']) === '' - AND $var_mode != 'debug') { - header("HTTP/1.0 404"); - $contexte_inclus = array( - 'erreur_aucun' => message_erreur_404() - ); - $sauve_page = $page; # memoriser la page vide - include(find_in_path('404.php3')); - $page = $sauve_page; # pour la retablir ensuite - } - // Interdire au client de cacher un login, un admin ou un recalcul - else if ($flag_dynamique OR $var_mode - OR $GLOBALS['_COOKIE']['spip_admin']) { - header("Cache-Control: no-cache,must-revalidate"); - header("Pragma: no-cache"); - } - // Pour les autres donner l'heure de modif - else if ($lastmodified) { - header("Last-Modified: ".http_gmoddate($lastmodified)." GMT"); - } - } + if (!headers_sent() AND !$flag_preserver) { - // Content-type: par defaut html+charset (poss surcharge par la suite) - if (!headers_sent() AND !$flag_preserver) + // Content-type: par defaut html+charset (poss surcharge par la suite) header("Content-Type: text/html; charset=".lire_meta('charset')); + if ($flag_ob) { + // Si la page est vide, gerer l'erreur 404 + if (trim($page['texte']) === '' + AND $var_mode != 'debug') { + http_status(404); + $contexte_inclus = array( + 'erreur_aucun' => message_erreur_404() + ); + $page = array('texte' => '<'.'?php + $contexte_inclus = array(); + include(\''.addslashes(find_in_path('404.php3')).'\'); + ?'.'>', + 'process_ins' => 'php'); + } + // Interdire au client de cacher un login, un admin ou un recalcul + else if ($flag_dynamique OR $var_mode + OR $GLOBALS['_COOKIE']['spip_admin']) { + header("Cache-Control: no-cache,must-revalidate"); + header("Pragma: no-cache"); + } + // Pour les autres donner l'heure de modif + else if ($lastmodified) { + header("Last-Modified: ".http_gmoddate($lastmodified)." GMT"); + } + } + } + return $page; }