WikiStart » History » Version 1

tsmr, 08/14/2009 01:10 PM

1 1 tsmr
====== Présentation du plugin suppliertag======
2 1 tsmr
3 1 tsmr
Cette extension fonctionne à partir de la **version 0.70** de GLPI
4 1 tsmr
5 1 tsmr
Ce plugin vous permet d'importer en masse les données de garantie du fabricant de vos matériels.
6 1 tsmr
7 1 tsmr
8 1 tsmr
====== Installation ======
9 1 tsmr
10 1 tsmr
Après la décompression de l'archive dans la dossier plugin de glpi connectez vous sur GLPI en tant qu'administrateur :
11 1 tsmr
12 1 tsmr
Menu : Configuration / Plugins / Suppliertag / Installation
13 1 tsmr
14 1 tsmr
Cette opération permet de créer les tables utilisées par l'extension.
15 1 tsmr
16 1 tsmr
====== Prérequis ======
17 1 tsmr
18 1 tsmr
//( Ceci est la reproduction du fichier prerequis.txt qui se trouve dans le répertoire du plugin suppliertag )//
19 1 tsmr
20 1 tsmr
** Dell **
21 1 tsmr
22 1 tsmr
  * Le matériel doit avoir le champ numéro de serie rempli avec le TAG Dell
23 1 tsmr
  * Le matériel doit avoir les informations financières d'activées
24 1 tsmr
  * Le matériel doit avoir le bon fabricant (Dell - voir config)
25 1 tsmr
26 1 tsmr
27 1 tsmr
**HP**
28 1 tsmr
29 1 tsmr
  * Le matériel doit avoir le champ numéro de serie rempli avec le TAG HP
30 1 tsmr
  * Le matériel doit avoir le champ Numéro de modèle du matériel rempli avec le TAG HP (onglet plugins - Import fabricant)
31 1 tsmr
  * Le matériel doit avoir les informations financières d'activées
32 1 tsmr
  * Le matériel doit avoir le bon fabricant (HP - voir config)
33 1 tsmr
34 1 tsmr
**Fujitsu-Siemens**
35 1 tsmr
36 1 tsmr
  * Le matériel doit avoir le champ numéro de serie rempli avec le TAG fujitsu-siemens
37 1 tsmr
  * Le matériel doit avoir les informations financières d'activées
38 1 tsmr
  * Le matériel doit avoir le bon fabricant (fujitsu-siemens - voir config)
39 1 tsmr
40 1 tsmr
41 1 tsmr
**Toshiba**
42 1 tsmr
43 1 tsmr
  * Le matériel doit avoir le champ numéro de serie rempli avec le TAG Toshiba
44 1 tsmr
  * Le matériel doit avoir le champ Numéro de modèle du matériel rempli avec le TAG Toshiba (onglet plugins - Import fabricant)
45 1 tsmr
  * Le matériel doit avoir les informations financières d'activées
46 1 tsmr
  * Le matériel doit avoir le bon fabricant (Toshiba - voir config)
47 1 tsmr
48 1 tsmr
49 1 tsmr
====== Gestion des droits ======
50 1 tsmr
51 1 tsmr
0.72 :
52 1 tsmr
53 1 tsmr
Menu : Administration / Profils / Onglet Import fabricant
54 1 tsmr
55 1 tsmr
0.71 :
56 1 tsmr
57 1 tsmr
Menu : Configuration / Plugins / Suppliertag / Gestion des droits par profil
58 1 tsmr
59 1 tsmr
Cette étape vous permet de définir les profils utilisateurs qui pourront utiliser l'extension.
60 1 tsmr
61 1 tsmr
====== Rapports ======
62 1 tsmr
63 1 tsmr
64 1 tsmr
====== Particularités ======
65 1 tsmr
66 1 tsmr
67 1 tsmr
====== Astuces ======
68 1 tsmr
69 1 tsmr
70 1 tsmr
71 1 tsmr
72 1 tsmr
73 1 tsmr
====== Calcul automatique de la durée de garantie (Dell) - GLPI 0.70.X======
74 1 tsmr
75 1 tsmr
**Pour GLPI 0.72, ce code à été intégré au plugin.
76 1 tsmr
77 1 tsmr
Pour activer cette récupération automatique, paramétrez la durée de garantie par défaut à zéro dans la configuration du plugin (pour le fournisseur "Dell" et "HP")**
78 1 tsmr
79 1 tsmr
Cette modification de code vous permettra d'obtenir automatiquement la durée de garantie pour vos machines Dell.
80 1 tsmr
(seront donc prises en comptes les éventuelles extensions de garantie qui peuvent être applicables).
81 1 tsmr
82 1 tsmr
La logique est de déterminer la durée de garantie en calculant le nombre de mois entre la date de livraison et la plus haute date trouvée dans la page.
83 1 tsmr
84 1 tsmr
Pour activer cette récupération automatique, paramétrez la durée de garantie par défaut à zéro dans la configuration du plugin (pour le fournisseur "Dell").
85 1 tsmr
86 1 tsmr
Fichier : (glpi_home)/plugins/suppliertag/inc/plugin_suppliertag.functions_display.php
87 1 tsmr
88 1 tsmr
Code à insérer immédiatement après la ligne suivante :
89 1 tsmr
n° 909
90 1 tsmr
($maDate = $annee."-".$mois."-".$jour;)
91 1 tsmr
92 1 tsmr
<code>
93 1 tsmr
//
94 1 tsmr
// C. Pierron, TCS
95 1 tsmr
// Recherche automatique de la date de fin de garantie
96 1 tsmr
// (si la duree de garantie a ete parametree a zero dans
97 1 tsmr
//  l'interface utilisateur)
98 1 tsmr
if ( $warranty == 0 )
99 1 tsmr
{
100 1 tsmr
  $masque='([0-9]{2}/[0-9]{2}/[0-9]{4})';
101 1 tsmr
  
102 1 tsmr
  preg_match_all ($masque, $contents, $liste_resultat);
103 1 tsmr
  $maDateFin = $maDate;
104 1 tsmr
  
105 1 tsmr
  foreach ($liste_resultat[0] as $occurence)
106 1 tsmr
  {
107 1 tsmr
    $maCandidate = str_replace ('/', '-', $occurence);
108 1 tsmr
    list ($jour, $mois, $annee) = explode ('-', $maCandidate);
109 1 tsmr
    $maCandidate = $annee."-".$mois."-".$jour;
110 1 tsmr
    
111 1 tsmr
    if ( $maCandidate > $maDateFin )
112 1 tsmr
      $maDateFin = $maCandidate;
113 1 tsmr
  }
114 1 tsmr
  
115 1 tsmr
  $maDateFin = date ("Y-m-d", strtotime ($maDateFin) + 86400);
116 1 tsmr
  
117 1 tsmr
  list ($adebut, $mdebut, $jdebut) = explode ('-', $maDate);
118 1 tsmr
  list ($afin, $mfin, $jfin) = explode ('-', $maDateFin);
119 1 tsmr
  
120 1 tsmr
  $maGarantie = ($afin * 12 + $mfin) - ($adebut * 12 + $mdebut);
121 1 tsmr
  $warranty = $maGarantie;
122 1 tsmr
}
123 1 tsmr
</code>
124 1 tsmr
125 1 tsmr
====== Problèmes ======
126 1 tsmr
127 1 tsmr
===== Problème d'importation Dell - GLPI 0.71.x =====
128 1 tsmr
129 1 tsmr
Si lors de l'import vous obtenez dans la fenêtre résultat :
130 1 tsmr
131 1 tsmr
Date d'achat : 0000-00-00->--valign="to
132 1 tsmr
133 1 tsmr
il faut aller remplacer dans : plugins/suppliertag/inc/plugin_suppliertag.functions_display.php  à la ligne 906
134 1 tsmr
135 1 tsmr
<code>
136 1 tsmr
$maDate = substr($finduhtml,44,10);
137 1 tsmr
par
138 1 tsmr
$maDate = substr($finduhtml,57,10);
139 1 tsmr
</code>
140 1 tsmr
141 1 tsmr
142 1 tsmr
===== Problème d'importation via Proxy =====
143 1 tsmr
144 1 tsmr
Pour ceux qui rencontrent des problèmes d'importation en passant par un proxy :
145 1 tsmr
(PHP ERROR: Undefined variable: msgerr in /srv/www/htdocs/glpi_dev/plugins/suppliertag/inc/plugin_suppliertag.functions_display.php at line 1060)
146 1 tsmr
147 1 tsmr
Remplacer la ligne 872 :
148 1 tsmr
<code>
149 1 tsmr
fputs($proxy_fp, "GET $urlrnHTTP/1.0rnHost: ".$CFG_GLPI["proxy_name"]."rn");
150 1 tsmr
</code>
151 1 tsmr
152 1 tsmr
Par :
153 1 tsmr
<code>
154 1 tsmr
fputs($proxy_fp, "GET $url HTTP/1.0rnHost: ".$CFG_GLPI["proxy_name"]."rn");
155 1 tsmr
</code>
156 1 tsmr
157 1 tsmr
Le retour de ligne entre GET $url et HTTP est remplacé par un espace.
158 1 tsmr
159 1 tsmr
===== Problème lors de l'importation =====
160 1 tsmr
161 1 tsmr
L'importation depuis le site du constructeur ne se fait pas.
162 1 tsmr
163 1 tsmr
En mode debug de GLPI voici l'erreur qu'il renvoit:
164 1 tsmr
165 1 tsmr
PHP ERROR: fopen() [function.fopen]: php_network_getaddresses: getaddrinfo failed: H?inconnu. in C:webxampphtdocsglpipluginssuppliertagincplugin_suppliertag.functions_display.php at line 859
166 1 tsmr
PHP ERROR: fopen(http://www11.itrc.hp.com/service/ewarra … amp;submit) [function.fopen]: failed to open stream: No such file or directory in C:webxampphtdocsglpipluginssuppliertagincplugin_suppliertag.functions_display.php at line 859
167 1 tsmr
168 1 tsmr
Cette erreur concerne la fonction fopen:
169 1 tsmr
170 1 tsmr
Il n'arrive pas à ouvrir depuis le serveur l'url du constructeur
171 1 tsmr
172 1 tsmr
**
173 1 tsmr
line 859 $fp = fopen($url,'rb')**
174 1 tsmr
175 1 tsmr
__1ère solution envisageable__
176 1 tsmr
Il faut vérifier que vous avez accès à Internet depuis le serveur sur lequel GLPI est hébergé.
177 1 tsmr
Je précise bien depuis le serveur et non pas depuis votre PC (qui se connecte au serveur via votre navigateur) car c'est le serveur qui récupère pour vous les informations sur le site du constructeur.
178 1 tsmr
Lorsque depuis votre PC vous avez bien accès au site du constructeur en cliquant sur le lien "informations fabriquant" vous utilisez la connection internet de votre PC et non pas celle du serveur GLPI.
179 1 tsmr
180 1 tsmr
181 1 tsmr
__2ème solution envisageable__
182 1 tsmr
183 1 tsmr
Il faut aller dans le fichier de configuration PHP.ini et vérifier que ce paramètre est activé
184 1 tsmr
185 1 tsmr
allow_url_fopen = On
186 1 tsmr
Si ce n'est pas le cas modifiez et enregistrez le fichier PHP.ini
187 1 tsmr
188 1 tsmr
189 1 tsmr
En espérant que cela aidera certains...