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

petits nettoyages, corrige le bug des URLs de redirection qui ne marchaient...

petits nettoyages, corrige le bug des URLs de redirection qui ne marchaient que pour les admins connectés (vu sur spip-contrib)
parent a8e55fb6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -207,21 +207,21 @@ function determiner_cache(&$use_cache, $contexte,$fond) { ...@@ -207,21 +207,21 @@ function determiner_cache(&$use_cache, $contexte,$fond) {
// Passage par reference juste par souci d'economie // Passage par reference juste par souci d'economie
function creer_cache(&$page, $chemin_cache, $duree) 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)
include_ecrire('inc_invalideur'); include_ecrire('inc_invalideur');
maj_invalideurs($chemin_cache, $page['invalideurs'], $duree); maj_invalideurs($chemin_cache, $page['invalideurs'], $duree);
// Enregistrer le fichier cache // Enregistrer le fichier cache qui contient
// 1) la carte d'identite de la page (ses "globals", genre id_article=7)
$r = ecrire_fichier($chemin_cache, // 2) son contenu
"<!-- " $r = ecrire_fichier($chemin_cache,
. str_replace("\n", " ", serialize($page['signal'])) "<!-- "
. " -->\n" . str_replace("\n", " ", serialize($page['signal']))
. $page['texte']); . " -->\n"
. $page['texte']);
// Nouveau cache : creer un invalideur 't' fixant la date // Nouveau cache : creer un invalideur 't' fixant la date
// d'expiration et la taille du fichier // d'expiration et la taille du fichier
......
...@@ -70,29 +70,34 @@ function calcule_header_et_page ($fond) { ...@@ -70,29 +70,34 @@ function calcule_header_et_page ($fond) {
function obtenir_page_ancienne ($chemin_cache, $fond, $inclusion=false) { function obtenir_page_ancienne ($chemin_cache, $fond, $inclusion=false) {
// //
// Lire le fichier cache // Lire le fichier cache
// //
lire_fichier ($chemin_cache, $page['texte']); lire_fichier ($chemin_cache, $page['texte']);
$lastmodified = max($lastmodified, @filemtime($chemin_cache)); $lastmodified = max($lastmodified, @filemtime($chemin_cache));
# spip_log ("cache $chemin_cache $lastmodified"); # spip_log ("cache $chemin_cache $lastmodified");
// //
// Lire sa carte d'identite & fixer le contexte global // Lire sa carte d'identite & fixer le contexte global
// //
if (preg_match("/^<!-- ([^\n]*) -->\n(.*)/ms", $page['texte'], $match) if (preg_match("/^<!-- ([^\n]*) -->\n/ms", $page['texte'], $match)) {
AND is_array($meta_donnees = unserialize($match[1]))) { $meta_donnees = unserialize($match[1]);
foreach ($meta_donnees as $var=>$val) if (is_array($meta_donnees)) {
foreach ($meta_donnees as $var=>$val) {
$page[$var] = $val; $page[$var] = $val;
}
}
$page['texte'] = $match[2]; $page['texte'] = substr($page['texte'], strlen($match[0]));
// Remplir les globals pour les boutons d'admin // Remplir les globals pour les boutons d'admin
if (!$inclusion AND is_array($page['contexte'])) if (!$inclusion AND is_array($page['contexte'])) {
foreach ($page['contexte'] as $var=>$val) { foreach ($page['contexte'] as $var=>$val) {
$GLOBALS[$var] = $val; $GLOBALS[$var] = $val;
} }
} }
}
return $page; return $page;
} }
...@@ -151,14 +156,15 @@ function afficher_page_globale ($fond) { ...@@ -151,14 +156,15 @@ function afficher_page_globale ($fond) {
} }
else { else {
// Obtenir la page // Obtenir la page
if (!$use_cache) if (!$use_cache)
$page = obtenir_page_ancienne ($chemin_cache, $fond, false); $page = obtenir_page_ancienne ($chemin_cache, $fond, false);
else { else {
include_local('inc-calcul'); include_local('inc-calcul');
$page = calculer_page_globale ($chemin_cache, $fond); $page = calculer_page_globale ($chemin_cache, $fond);
if ($chemin_cache) creer_cache($page, $chemin_cache, $use_cache); if ($chemin_cache)
} creer_cache($page, $chemin_cache, $use_cache);
}
} }
if ($chemin_cache) $page['cache'] = $chemin_cache; if ($chemin_cache) $page['cache'] = $chemin_cache;
......
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