Piwigo Bugtracker

Viewing Issue Advanced Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000331 [Piwigo] display minor always 2006.04.13 14:09 2006.05.06 14:37
Reporter rub View Status public  
Assigned To nikrou
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 1.6.0RC2 Product Version 1.6 branch
  Target Version Product Build
Summary 0000331: Redirection avec un header dejà affiché
Description Lors d'un redirection, avec un header déjà flushé, le header apparait 2 fois. (Notamment dans toute la partie administration).
Il faudrait ne pas afficher les 2 headers.

Une solution serait d'utiliser la function ob_start dans le common.inc.php (donc pour chaque page) et de faire un on_clean dans la function redirect et pouquoi pas un ob_flush dans le page_tail.

J'attends vos avis de faire la modification.
Steps To Reproduce
Additional Information
Tags No tags attached.
browser any
Database engine and version
PHP version
Web server Apache 1.3.x
Attached Files

- Relationships

-  Notes
(0000743)
rvelices (developer)
2006.04.13 15:00

Je ne suis pas d'accord avec ob_start pour chaque page.
QUand tu parles de header, tu parles bien de header http ? Ou du header html h1,h2,h3 ?
(0000744)
rvelices (developer)
2006.04.13 15:43

En fait j'ai reflechi, en admin.php si tu deplaces la ligne:
include(PHPWG_ROOT_PATH.'include/page_header.php');
apres
include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php');

ca devrait resoudre ton probleme.
(0000745)
rub (developer)
2006.04.13 17:04

Je parle des headers HTML (ceux générés par page_header.php).

Pour le déplacement, dans admin.php, il n'y aurait pas de pb à faire le page_header après le code HTLM de la page, on ne risque pas d'avoir tout dans le désordre? A tester...
(0000754)
chrisaga (developer)
2006.04.14 21:28

Mode opératoire pour reproduire SVP ?
(0000755)
rub (developer)
2006.04.14 22:34

Actuellement sur BSF ou branc_1.6.
Il suffit de faire des notifications par mail qui dépasse le timeout (donc plus de 50 users) ou bien il suffit de mettre $conf['nbm_max_treatment_timeout_percent'] = 0.1 ou 0.0...

Mais, je fais retirer cette rediction..

Sinon, plus simplement, tu fais dans admin/user tu fais une modification en masse et il y a une redirection (rapide mais elle est la)...

(J'ai d'ailleurs trouvé un bug sur la fonction adviser que je viens donc de corriger).
(0000902)
mathiasm (manager)
2006.05.01 00:59

Ex: Après avoir validé le mode adviser pour un utilisateur, il y aune redirection (rapide) et l'en-tête avec le titre de la galerie est affiché en double. Le "normal", plus un dans le div.content.

Constaté en 1.6RC1
(0000904)
nikrou (developer)
2006.05.03 08:44

Je confirme. Le bug est lié au fait que l'on appelle deux fois page_header.tpl
(0000906)
rub (developer)
2006.05.03 13:24

Assigned To => nikrou

Quelles sont les modifs que tu vas faire alors?
(0000907)
nikrou (developer)
2006.05.03 14:05
edited on: 2006.05.03 14:05

J'avais fait une toute petite modificaition de include/page_header.php mais ça ne fonctionne pas tout à fait correctement.

(0000912)
nikrou (developer)
2006.05.03 19:11

Résolu dans la branche 1.6 [Subversion] r1297
Reporté dans le tronc [Subversion] r1298
(0000913)
rub (developer)
2006.05.04 08:20

Plutot que de re-créer un object template, il ne serait possible de rajouter une méthode dans l'objet template pour faire le clear de données.
Ceci permettrai de pourvoir réutiliser cette nouvelle fonction ailleurs que pour la redirection.

template.clean, non???
(0000915)
nikrou (developer)
2006.05.05 20:29

Ma correction est un pansement sur une jambe de bois! La redirection ne devrait pas se faire de cette façon mais en utilisant la fonction header().

Donc je ne vois pas de raison valable de faire une nouvelle méthode pour la classe Template.
(0000916)
rub (developer)
2006.05.05 20:40

header() est une façon de faire. Actuellement, une autre façon est utilisé.
D'ailleurs, le redirect devrai plus se nommer refresh car c'est dans ce cas que c'est le plus utilisé.

Pourquoi une fonction, car ce qui fait et un peu brutal et je trouve que ca devrait être implementé dans l'objet et non à coté puisque ca gére le contenu de l'object template.
(0000917)
nikrou (developer)
2006.05.05 21:45

> header() est une façon de faire. Actuellement, une autre façon est utilisé.
D'ailleurs, le redirect devrai plus se nommer refresh car c'est dans ce cas que c'est le plus utilisé.

Actuellement on n'utilise pas header() pour la simple raison que l'on charge (include/require) de nombreux fichiers (notament de configuration) qui risque de contenir des lignes vides ou des espaces et provoquer l'envoi de données au navigateur et l'impossibilité d'utiliser header()

> Pourquoi une fonction, car ce qui fait et un peu brutal et je trouve que ca devrait être implementé dans l'objet et non à coté puisque ca gére le contenu de l'object template.

Comme je l'ai dit précédemment c'est une rustine avant de faire mieux.
(0000918)
rub (developer)
2006.05.06 12:54

> Comme je l'ai dit précédemment c'est une rustine avant de faire mieux.
Rien n'était bloquant et ca existe même en 1.5.x... dans ce cas autant ne rien faire pour le moment et attendre la version 1.7.0 pour refaire des changements plus en profondant...

- Issue History
Date Modified Username Field Change
2006.04.13 14:09 rub New Issue
2006.04.13 14:09 rub browser => any
2006.04.13 14:09 rub Web server => Apache 1.3.x
2006.04.13 15:00 rvelices Note Added: 0000743
2006.04.13 15:43 rvelices Note Added: 0000744
2006.04.13 17:04 rub Note Added: 0000745
2006.04.14 21:28 chrisaga Note Added: 0000754
2006.04.14 21:28 chrisaga Status new => feedback
2006.04.14 22:34 rub Note Added: 0000755
2006.05.01 00:59 mathiasm Note Added: 0000902
2006.05.03 08:44 nikrou Note Added: 0000904
2006.05.03 08:44 nikrou Status feedback => assigned
2006.05.03 08:44 nikrou Assigned To => nikrou
2006.05.03 13:24 rub Note Added: 0000906
2006.05.03 14:05 nikrou Note Added: 0000907
2006.05.03 14:05 nikrou Note Edited: 0000907
2006.05.03 19:11 nikrou Status assigned => resolved
2006.05.03 19:11 nikrou Fixed in Version => 1.6.0RC2
2006.05.03 19:11 nikrou Resolution open => fixed
2006.05.03 19:11 nikrou Note Added: 0000912
2006.05.04 08:20 rub Status resolved => feedback
2006.05.04 08:20 rub Resolution fixed => reopened
2006.05.04 08:20 rub Note Added: 0000913
2006.05.05 20:29 nikrou Note Added: 0000915
2006.05.05 20:40 rub Note Added: 0000916
2006.05.05 21:45 nikrou Note Added: 0000917
2006.05.06 12:54 rub Note Added: 0000918
2006.05.06 14:37 nikrou Status feedback => closed
2006.05.06 14:37 nikrou Resolution reopened => fixed


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Contact
Powered by Mantis Bugtracker