[spip-dev] spip métallos

Bonsoir à tous ceux qui ont été à la réunion des métallos ... Désolé, Daniel, et ... mais un rendez-vous de travail m'a empêché de vous rejoindre, il s'est terminé vers 21h ... Mais je serai là, sûrement jeudi prochain ...

J'espère que tout s'est bien passé ... Amicalement à tous ...

Bonjour

Je viens de trouver un bug dans la gestion du cache des forums, en version
1.7. Je n'ai pas vu de message qui en parle dans les listes de diffusion
(mais j'ai cherché vite), je ne sais pas si c'est corrigé en développement.

Dans les squelettes générés, le code d'insertion dans la table
spip_forum_cache récupère le nom du fichier cache de la variable globale
$fichier_cache.
Or pour une page incluse, cette valeur est fausse.
En effet dans la fonction "inclure_fichier" de "inc-public-global", il
manque la ligne :
global $fichier_cache;
ce qui fait que la valeur calculée n'est pas conservée, et dans
"calculer_page" et toute la suite on travaille avec le nom du fichier cache
de la page principale, pas de la page incluse. Du coup la ligne
correspondant au fichier cache de la page incluse n'est pas insérée dans la
table spip_forum_cache.

En rajoutant le "global $fichier_cache;" au début de la fonction
"inclure_fichier" ça corrige bien le problème. Je n'ai pas vu d'effet de
bord, vous pouvez me confirmer ça ?

Thierry Chatel
www.info-camargue.com

___[ Pub ]____________________________________________________________
Inscrivez-vous gratuitement sur Tandaime et gagnez un voyage à Venise
www.Tandaime.com/index.php?origine=4 Tandaime, et la vie vous sourit !

Merci de cette info,

je pense souffrir de ce bug, ainsi que tous les EVA, bloOg et autres sites qui mettent en route des usines à boucle avant d'afficher un squelette. Ca me console de le comprendre.

BoOz

Thierry Chatel a écrit :

je pense souffrir de ce bug, ainsi que tous les EVA, bloOg et autres
sites qui mettent en route des usines à boucle avant d'afficher un
squelette. Ca me console de le comprendre.

Tu peux vérifier le patch ?

-- Fil

Fil a écrit :

Tu peux vérifier le patch ?

Après des tests en situation d'inclusions multiples de squelettes il semble que le patch soit très performant : aucun effet de bord remarquable, les forums fontionnent à nouveau comme prévu, même avec un délais très long : Bravo donc et merci à Thierry pour cette trouvaille :

[...]
dans la fonction "inclure_fichier" de "inc-public-global", il
manque la ligne :
global $fichier_cache;
[...]

donc concrètement :

function inclure_fichier($fond, $delais, $contexte_inclus = "") {
  $fichier_requete = $fond;

devient

function inclure_fichier($fond, $delais, $contexte_inclus = "") {
  global $fichier_cache;
         $fichier_requete = $fond;

Je conseille à tout le monde d'appliquer le patch de Thierry, et plus particulièrement pour les personnes qui utilisent les squelettes EVA, bloOg ou Sitenkit.

@+
BoOz

Je viens de trouver un bug dans la gestion du cache des forums, en version
1.7. Je n'ai pas vu de message qui en parle dans les listes de diffusion
(mais j'ai cherché vite), je ne sais pas si c'est corrigé en développement.

C'est dans la CVS ; merci !

-- Fil

Mais c'était la moindre des choses.
Vu le temps que j'ai passé à chercher pourquoi ça ne se rafraîchissait pas,
ça aurait été dommage de ne pas en faire profiter tout le monde :wink:

A+
Thierry