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

isuite debug X-Spip-Cache et modifs pour fonctionnement avec des répertoires inhabituels

parent 5c7eafb2
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -40,7 +40,7 @@ function load_charset ($charset = 'AUTO', $langue_site = 'AUTO') { ...@@ -40,7 +40,7 @@ function load_charset ($charset = 'AUTO', $langue_site = 'AUTO') {
else if ($charset == 'windows-1251') $charset = 'cp1251'; else if ($charset == 'windows-1251') $charset = 'cp1251';
else if ($charset == 'windows-1256') $charset = 'cp1256'; else if ($charset == 'windows-1256') $charset = 'cp1256';
if (@file_exists($f = _DIR_RESTREINT.'charsets/'.$charset.'.php')) { if ($f = find_in_path('charsets/'.$charset.'.php')) {
include($f); include($f);
return $charset; return $charset;
} else { } else {
......
...@@ -120,24 +120,24 @@ function verif_butineur() { ...@@ -120,24 +120,24 @@ function verif_butineur() {
eregi("Opera ([^\ ]*)", $browser_description, $match); eregi("Opera ([^\ ]*)", $browser_description, $match);
$browser_name = "Opera"; $browser_name = "Opera";
$browser_version = $match[1]; $browser_version = $match[1];
$browser_layer = (($browser_version < 7) ? '' : http_script('', _DIR_INCLUDE . 'layer.js','')); $browser_layer = (($browser_version < 7) ? '' : http_script('', _DIR_RESTREINT . 'layer.js',''));
$browser_barre = ($browser_version >= 8.5); $browser_barre = ($browser_version >= 8.5);
} }
else if (eregi("msie", $browser_description)) { else if (eregi("msie", $browser_description)) {
eregi("MSIE ([^;]*)", $browser_description, $match); eregi("MSIE ([^;]*)", $browser_description, $match);
$browser_name = "MSIE"; $browser_name = "MSIE";
$browser_version = $match[1]; $browser_version = $match[1];
$browser_layer = (($browser_version < 5) ? '' : http_script('', _DIR_INCLUDE . 'layer.js','')); $browser_layer = (($browser_version < 5) ? '' : http_script('', _DIR_RESTREINT . 'layer.js',''));
$browser_barre = ($browser_version >= 5.5); $browser_barre = ($browser_version >= 5.5);
} }
else if (eregi("KHTML", $browser_description) && else if (eregi("KHTML", $browser_description) &&
eregi("Safari/([^;]*)", $browser_description, $match)) { eregi("Safari/([^;]*)", $browser_description, $match)) {
$browser_name = "Safari"; $browser_name = "Safari";
$browser_version = $match[1]; $browser_version = $match[1];
$browser_layer = http_script('', _DIR_INCLUDE . 'layer.js',''); $browser_layer = http_script('', _DIR_RESTREINT . 'layer.js','');
} }
else if (eregi("mozilla", $browser_name) AND $browser_version >= 5) { else if (eregi("mozilla", $browser_name) AND $browser_version >= 5) {
$browser_layer = http_script('', _DIR_INCLUDE . 'layer.js',''); $browser_layer = http_script('', _DIR_RESTREINT . 'layer.js','');
// Numero de version pour Mozilla "authentique" // Numero de version pour Mozilla "authentique"
if (ereg("rv:([0-9]+\.[0-9]+)", $browser_description, $match)) if (ereg("rv:([0-9]+\.[0-9]+)", $browser_description, $match))
$browser_rev = doubleval($match[1]); $browser_rev = doubleval($match[1]);
......
...@@ -63,7 +63,7 @@ function generer_nom_fichier_cache($contexte, $fond) { ...@@ -63,7 +63,7 @@ function generer_nom_fichier_cache($contexte, $fond) {
// Securite : est sur que c'est un cache // Securite : est sur que c'est un cache
function retire_cache($cache) { function retire_cache($cache) {
if (preg_match('|^' . _DIR_CACHE . if (preg_match('|^' . preg_quote(_DIR_CACHE) .
"([0-9a-f]/)?([0-9]+/)?[^.][\-_\%0-9a-z]+\.[0-9a-f]+(\.gz)?$|i", "([0-9a-f]/)?([0-9]+/)?[^.][\-_\%0-9a-z]+\.[0-9a-f]+(\.gz)?$|i",
$cache)) { $cache)) {
// supprimer le fichier (de facon propre) // supprimer le fichier (de facon propre)
...@@ -140,8 +140,11 @@ function cache_valide_autodetermine($chemin_cache, $page, $date) { ...@@ -140,8 +140,11 @@ function cache_valide_autodetermine($chemin_cache, $page, $date) {
if (!$page) return 1; if (!$page) return 1;
var_dump($page['entetes']);
echo " - $chemin_cache - ";
if (strlen($duree = $page['entetes']['X-Spip-Cache'])) if (strlen($duree = $page['entetes']['X-Spip-Cache']))
return ($date + $duree > time()) ? 0 : $t; return ($date + intval($duree) > time()) ? 0 : $t;
// squelette ancienne maniere, on se rabat sur le vieux modele // squelette ancienne maniere, on se rabat sur le vieux modele
return cache_valide($chemin_cache, $contenu, $date); return cache_valide($chemin_cache, $contenu, $date);
...@@ -218,12 +221,10 @@ function creer_cache(&$page, $chemin_cache, $duree) { ...@@ -218,12 +221,10 @@ function creer_cache(&$page, $chemin_cache, $duree) {
// Entrer dans la base les invalideurs calcules par le compilateur // Entrer dans la base les invalideurs calcules par le compilateur
// (et supprimer les anciens) // (et supprimer les anciens)
// arbitrage entre ancien et nouveau modele de delai: // arbitrage entre ancien et nouveau modele de delai:
// primaute a la duree de vie de la page donnee a l'interieur de la page // primaute a la duree de vie de la page donnee a l'interieur de la page
if (preg_match('/max-age\s*=\s*(\d+)/', if (strlen($t = $page['entetes']['X-Spip-Cache']))
$page['entetes']['Cache-Control'], $duree = intval($t);
$r))
$duree = $r[1];
include_ecrire('inc_invalideur'); include_ecrire('inc_invalideur');
maj_invalideurs($chemin_cache, $page['invalideurs'], $duree); maj_invalideurs($chemin_cache, $page['invalideurs'], $duree);
......
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