Salut, J'ai rapidement bricolé un petit correctif pour cette extension afin de pouvoir envoyer au navigateur une image qui n'est pas stocké sous GLPI_ROOT mais sous GLPI_PLUGIN_DOC_DIR (qui n'est pas forcément un sous répertoire, en particulier lors d'une installation conforme aux standards sous Linux) :
GLPI_ROOT => /usr/share/glpi
GLPI_PLUGIN_DOC_DIR => /var/lib/glpi/files/_plugins
Rem : de toute manière ça ne devait pas marcher non plus à cause du
.htaccess présent dans le dossier files.
En P.J. :
- plugin_activity.stats_users.php.patch : le correctif
- plugin_activity.image.php : la page qui permet de retrouner l'image.
Rem : le nom de l'image est généré aléatoirement pour éviter les
conflits lorsque plusieurs utilisateurs utilisent la fonction.
l'image est supprimée après affichage (option).
A penser :
Je pense que plusieurs extensions vont se retrouver dans la même
situation. Ce serait dommage de devoir faire x fois une page pour
envoyer l'image résultat.
J'ai vu la fonction sendFile (common.function.php) mais qui est prévu
pour travailler sous GLPI_DOC_DIR.
Ne serait-il pas utile de prévoir une fonction sendPluginImage
qui pourrait ainsi être utilisée par toutes les extensions ?
@ Moyo : je veux bien m'en occuper.
Remarque : j'ai utilisé le même logEvent que dans la fonction sendFile,
mais j'ai une erreur PHP lors de l'affichage du journal :
PHP ERROR : Undefined index: security in
/usr/share/glpi/inc/log.function.php at line 603
A+
P.S. c'est cool les vacances ;)
plugin_activity.image.php
Description: application/php
--- plugin_activity.stats_users.php.orig 2007-07-21 18:50:30.000000000 +0200
+++ plugin_activity.stats_users.php 2007-07-21 18:54:18.000000000 +0200
@@ -174,7 +174,7 @@
echo "</table><br>";
//begin graph
if (!empty($TabStats)){
- $Path = GLPI_PLUGIN_DOC_DIR."/activity";
+ $Path = GLPI_PLUGIN_DOC_DIR."/activity/";
$Folder=dir($Path);
while ($Fichier=$Folder->read()) {
@@ -182,7 +182,7 @@
}
$Folder->close();
- $fileCamembert=$Path."/graph.png";
+ $fileCamembert = sprintf("%08x.png", rand());
if ($_POST["date1"]==$_POST["date2"]){
$title= $LANGACTIVITY["stats"][7]." ".html_clean(getUserName($owner))." ".$LANGACTIVITY["stats"][8]." ".convdate($_POST["date1"]);
@@ -191,9 +191,9 @@
$title= $LANGACTIVITY["stats"][7]." ".html_clean(getUserName($owner))." ".$LANGACTIVITY["stats"][8]." ".convdate($_POST["date1"])." ".$LANGACTIVITY["stats"][9]." ".convdate($_POST["date2"]);
}
- plugin_activity_Draw_Secteurs($TabStats,0,200,120,30,0,1,700,200,0,$title,$fileCamembert);
+ plugin_activity_Draw_Secteurs($TabStats,0,200,120,30,0,1,700,200,0,$title,$Path . $fileCamembert);
- echo "<img src=\"".$fileCamembert."\">";
+ echo "<img src='plugin_activity.image.php?name=" . $fileCamembert ."&clean=1' />";
//end graph
}
echo "</div>";
_______________________________________________ Glpi-dev mailing list [email protected] https://mail.gna.org/listinfo/glpi-dev
