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 ;)

Attachment: 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
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to