You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2009-08-21 12:06:32

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Problème avec les documents rattachés à un ticket (accents)

Bonjour,

Je suis sur la 0.72 en prod sur serveur windows serveur 2003 et j'ai exactement le même problème que http://www.glpi-project.org/forum/viewt … p?id=15934

Il n'est pas possible d'ouvrir de documents téléchargés ayant des caractères spéciaux.

les accents posent problème. De même que les caractères non "standards" tel que les caractères polonais, tcheques, Croates, etc ... (ś ł ń, ...), apostrophes, point virgule, etc ...
y a t'il une solution ?
Je ne peux pas demander à tous les utilisateurs de faire attention à tout ça ....

Cela renomme le fichier sur le serveur, et sur GLPI (base de données) cela tronque le fichier avant le premier caractere qui pose problème. conclusion, il est impossible d'ouvrir le fichier.
Je n'aime pas faire pression mais ce problème est assez urgent pour nous ...

Je veux bien coder le correctif mais avez-vous des pistes ?

Merci d'avance.


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#2 2009-08-21 12:11:07

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Faut tester en 0.72.1. Normalement c'est corrigé... à vérifier.


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#3 2009-08-21 12:13:54

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Pour info :
exemple pour un fichier : problème.doc

adresse de téléchargement du fichier ?
http://xxxxx/glpi/front/document.send.php?file=MSG%2Fprobl

contenu du dossier
problème.doc

enregistrement glpi_docs pour ce fichier
<glpi>
  <!-- Table glpi_docs -->
    <glpi_docs>
        <ID>36</ID>
        <FK_entities>52</FK_entities>
        <recursive>0</recursive>
        <name>Document Ticket 297</name>
        <filename>MSG/probl</filename>
        <rubrique>1</rubrique>
        <mime>application/octet-stream</mime>
        <date_mod>2009-08-20 17:44:56</date_mod>
        <deleted>0</deleted>
        <FK_users>1429</FK_users>
        <FK_tracking>297</FK_tracking>
    </glpi_docs>
</glpi>


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#4 2009-08-21 12:18:38

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Peux-tu faire le test ?
J'ai pas mal customisé la 0.72 pour des besoin internes (je sais, c'est pas bien mais quand t'as pas le choix, t'as pas le choix .... y'a plein de petites modifs qui sont sur le forum que j'ai du intégrer à GLPI comme le template mail, le rafraichissement auto, l'adaptation du systeme de notification, etc ....)
Je ne peux donc changer la version de prod comme ça ... on changera lors d'une version majeur de GLPI qui apportera tout un lot de nouvelles fonctionnalités.

Si ça marche en 0.72.1, quel est le fichier à modifier ? quelle fonction ? Je rajouterai la modif à la main.

Merci !


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#5 2009-08-21 12:22:45

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

> je sais, c'est pas bien
Ben voila...

Faut rechercher https://forge.indepnet.net/projects/activity/glpi

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#6 2009-08-21 12:32:34

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

J'ai regardé ce qui concerne la 0.72.1


Bug #1346: Improved Plugin management
Bug #1347: Can't disconnect a computer from a "device" form.
Bug #1350: Fix reopen problem using mailgates
Bug #1351: Correct glpilanguage management when empty (for imported ldap users for example)
Bug #1353: Correct entities selector with transfer (no entities displayed)
Bug #1356: Get volumes from OCS for OSX computers
Bug #1358: Correct profile management for faq entry
Bug #1359: Right check on recursive contract (add/delete item)
Feature #947: Entités et éléments liés
Feature #1265: getFromLDAP optimization for groups retrieval
Feature #1302: Permit to have mailgate as criteria for business rules
Feature #1318: Message when change user login problem (user already exists)
Feature #1342: Manage is_visible for plugin objects
Feature #1344: Email from unknown user : allow followup
Feature #1348: Lock language in DEMO mode
Feature #1357: Add search on flags for phones and printers

ben rien qui correspond à mon problème ...
je vais regarder pour les autres versions mais j'ai bien peur que ce bug n'est pas référencé ... sad


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#7 2009-08-21 15:47:59

belanger_yves
Member
From: Québec
Registered: 2009-05-07
Posts: 22

Re: Problème avec les documents rattachés à un ticket (accents)

J'ai testé en 0.72 avec un document avec accent et cela pose problème.

Détails:

Nom du document : Étiquettes pour CD.doc

URL: http://nomserveur/glpi/front/document_send.php?file=DOC%2F&tracking=104

Au niveau du serveur dans le répertoire DOC: ã‰tiquettes_pour_cd.doc

Au niveau de la table glpi_doc:

<ID>17
<FK_Entities>0
<recursive>0
<name>Document Ticket 104
<filename>DOC/
<rubrique>0
<mime>application/msword
<date_mod>2009-08-21 09:12:35
<comments>NULL
<deleted>0
<link>NULL
<notes>NULL
<FK_users>12
<FK_tracking>104

De plus, dans le ticket, je vois l'icône MS Word indiquant qu'il s'agit d'un document Word, mais le nom du document n'est pas affiché. Quand on clique sur l'icône, une autre  fenêtre IE s'affiche et un message demandant d'ouvrir ou enregistrer le document. Si on ouvre, un document WORD apparaît avec le texte suivant: "Error opening file ../files/DOC/"

Je vais essayer de recréer une demande identique en 072.1


Configuration
Windows Server 2003, GLPI 0.72, Apache 2.2.11, MySQL 5.0.51, PHP 5.2.8,
OCS 1.02

Offline

#8 2009-08-21 16:04:58

belanger_yves
Member
From: Québec
Registered: 2009-05-07
Posts: 22

Re: Problème avec les documents rattachés à un ticket (accents)

J'ai testé une nouvelle demande, cette fois-ci en 072.1 et il y a toujours un problème.

Détails:

Nom du document : Étiquettes à CD pour les sections.doc

URL: http://nomserveur/glpi/front/document_send.php?file=DOC%2F&tracking=105

Au niveau du serveur dans le répertoire DOC: ã‰tiquettes_ã _cd_pour_les_sections.doc

Au niveau de la table glpi_doc:

<ID>18
<FK_Entities>0
<recursive>0
<name>Document Ticket 105
<filename>DOC/
<rubrique>0
<mime>application/msword
<date_mod>2009-08-21 09:55:0
<comments>NULL
<deleted>0
<link>NULL
<notes>NULL
<FK_users>12
<FK_tracking>105

Toujours la même chose, le nom du document n'apparaît pas à côté de l'icône. Quand on clique sur l'icône, c'est maintenant le message suivant: "Fichier inconnuVous n'avez pas le droit d'accéder à ce fichier" qui s'affiche.


Configuration
Windows Server 2003, GLPI 0.72, Apache 2.2.11, MySQL 5.0.51, PHP 5.2.8,
OCS 1.02

Offline

#9 2009-08-21 16:16:03

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Merci pour l'essai. J'avais pas le temps de réinstaller un serveur de test en 0.72.1
Donc c'est bien ce que je pensais, pas de correction actuellement.
Je suis en train de regarder en 0.80 et je me demande si ceci ne solutionne pas (entre autre ...) notre problème :
https://forge.indepnet.net/issues/show/1291
Au vu du nombre de modification, je pense que ça corrige tout un tas de choses et je me demande si notre problème est pris en compte la dedans ou non ?
Enfin, modifier tous ces fichiers à la mimine, ça m'enchante guère ...


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#10 2009-08-21 16:58:53

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Je viens de restester le code actuel (0.72.1++)

aucun problème mais avec un serveur qui gère nativement l'UTF-8 au niveau du système de fichiers (pas un truc de gameboy quoi wink )

On pourrait supprimer les caractères non-ascii (un coup de mb_convert_encoding) mais dans certains cas ou va immanquablement se retrouver avec des noms du genre ________.pdf

Donc la soluton est plutôt du côté de https://forge.indepnet.net/issues/show/1339

Et d'utiliser le MD5 comme nom de fichier.

A suivre...


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#11 2009-08-21 16:59:24

alexis
Member
Registered: 2009-07-07
Posts: 107

Re: Problème avec les documents rattachés à un ticket (accents)

A j'avais pas vu ce topic, mais je connais ce glpien chevronné smile

Donc cela marche pas encore et faudra voir une version ultérieur ... (gloups hmm la mise a jour ...)

Pour l'instant il ne faut pas mettre de fichier avec accent donc ?

Offline

#12 2009-08-21 17:10:02

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Alexis => pas d'accent, pas de "ç", pas de caractères polonais/grecs/russes/etc ... pas de ";" ni d'apostrophe ...
Enfin, que du [a..Z] et [0..9]
En gérant une 40aine de pays et des Français qui utilisent (hélas) bien les accents, je suis pas sorti de l'auberge moi ...
Enfin, j'ai pas à me plaindre, on gère pas encore de chinois ....

S'il faut attendre la 0.90, t'aura le temps de te préparer à faire la mise à jour ..! lol ..
Et dis toi que d'autres (comme moi) auront plus de travail que toi ......
(si la crise ne me vire pas avant ......)


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#13 2009-08-21 17:11:33

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Remi => peux tu me dire ou je dois faire les modifs pour changer le nom du fichier lorsqu'on l'upload sur le serveur ?
Si je le renomme corectement, ça devrai, avec de la chance, marcher ......

Last edited by sbonn (2009-08-21 17:37:50)


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#14 2009-08-21 17:35:58

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

1/ c'est pas Rémi, mais Remi (j'y tiens) tongue

2/ je viens de refaire le test

Client sous Windows 2000 + IE6 (oui, j'ai ça qui traine dans une VM) => serveur sous Linux => pas de problème.

Donc ça ne concerne, à priori, que les serveurs Windows.

3/ c'est la fonction cleanFilenameDocument (inc/document.function.php)

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#15 2009-08-21 17:41:24

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Merci Remi
D'ailleurs, je ne sais pas ou t'as vu d'accent ?? tongue héhé ..
Oui, t'as raison, n'utilisons que des caractères sans accents, faut s'y habituer pour ne pas avoir de pb avec GLPI ..! lol !

Merci pr l'info, j'irai regarder la semaine prochaine !


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#16 2009-08-22 06:53:24

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Bon, bug confirmé avec le serveur sous  Windows

https://forge.indepnet.net/issues/show/1515


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#17 2009-08-24 14:18:05

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Merci ..


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#18 2009-08-26 07:59:54

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

@sbonn

Finalement je me demande si c'est pas tout simplement le mode strict deMySQL (souvent par défaut sous Windows) qui bloque.

Test 1 : essayer en le désactivant

Test 2 : remplacer dans cleanFilenameDocument
Replacer :

return strtolower($name);

Par :

return mb_convert_case($name,MB_CASE_LOWER,"UTF-8");

Merci d'avance.


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#19 2009-08-26 11:40:14

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

test 1 : pas réussi à trouver comment le désactiver : dans mon my.ini, il n'y est pas; dans le my.cnf, il n'y est pas non plus ...

test 2 : j'ai testé avec le fichier : problème &é(-è_çà)=$^ù!;,.§%µ£¨+°²€~#{[`^@]}¤âêîôûäëïöüÂÊÎÔÛÄËÏÖÜ.txt

URL: http://xxxxx/glpi/front/document.send.php?file=TXT%2Fproblème_%26é(-è_çà)%3D%24^ù!%3B%2C.§_£¨%2B°²€~%23{[`^%40]}¤âêîôûäëïöüâêîôûäëïöü.txt&tracking=25

Au niveau du serveur dans le répertoire DOC: problème_&é(-è_çà )=$^ù!;,.§_£¨+°²€~#{[`^@]}¤âêîôûäëïöüâêîôûäëïöü.txt

Au niveau de la table glpi_doc:
<glpi>
  <!-- Table glpi_docs -->
    <glpi_docs>
        <ID>12</ID>
        <FK_entities>0</FK_entities>
        <recursive>0</recursive>
        <name>Document Ticket 25</name>
        <filename>TXT/problème_&amp;é(-è_çà)=$^ù!;,.§_£¨+°²€~#{[`^@]}¤âêîôûäëïöüâêîôûäëïöü.txt</filename>
        <rubrique>1</rubrique>
        <mime>text/plain</mime>
        <date_mod>2009-08-26 11:24:23</date_mod>
        <deleted>0</deleted>
        <FK_users>2</FK_users>
        <FK_tracking>25</FK_tracking>
    </glpi_docs>
</glpi>

Si j'essaie d'ouvrir, miracle, ça fonctionne ..!
Par contre, le nom du fichier dans le répertoire est à chier.

Sinon, dernier bug que je ne comprend pas pourquoi il arrive parce que le cas est sensé être traité :
Si le fichier comporte le caractère ' (quote), ça coupe le nom du fichier (bien que ce dernier soit téléchargeable)
par exemple, le fichier Bonjour j'ai un probleme.txt sera enregistré en base de données comme sur le serveur (et pareil sur le lien URL) comme : ai un probleme.txt
en gros ça coupe tout ce qu'il y a avant la quote.
Si t'as une solution, chuis preneur ... (on a plein d'utilisateurs qui nous envoient leur probleme dans le nom du fichier ..... super ....)

En tout cas MERCI pour ta réactivité ..!

Est-ce que ce morceau de code pourra êter intégré aux futures versions de GLPI ?

A+

Last edited by sbonn (2009-08-26 11:41:17)


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#20 2009-08-26 11:43:31

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Oui, un correctif sera intégré en 0.72.2

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#21 2009-08-26 11:52:11

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Bon, pour l'apostrophe, j'arrive pas à reproduire...
Encore un truc spécifique à Windows. Je testerais ce soir sur une VM

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#22 2009-08-26 11:57:07

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

Ben le pire c'est qu'il y a :

function cleanFilenameDocument($name){
    // See http://en.wikipedia.org/wiki/Filename
    $bad_chars = array("'", "\\", ' ', '/', ':', '*', '?', '"', '<', '>', '|');
    $name = str_replace($bad_chars, '_', $name);

Donc l'apostrophe devrait être changée en "_"

Last edited by sbonn (2009-08-26 11:57:23)


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#23 2009-08-26 11:57:45

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

> Donc l'apostrophe devrait être changée en "_"
Oui. C'est ce qui se passe sous Linux.

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#24 2009-08-26 12:02:15

sbonn
Member
From: Nancy / Haironville
Registered: 2009-06-24
Posts: 153
Website

Re: Problème avec les documents rattachés à un ticket (accents)

pas sous windows .........................................


GLPI, y'a moins bien mais c'est plus cher
GLPI en prod : 0.72 (~2000 utilisateurs / ~30 techniciens / 150 entités)
GLPI en test : 0.72
OCSNG + wamp (Apache2.2.8 PHP5.2.5)

Offline

#25 2009-08-26 16:48:53

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème avec les documents rattachés à un ticket (accents)

As tester :
https://forge.indepnet.net/repositories … /glpi/8776

En résumé :

function cleanFilenameDocument($name){
   if (function_exists('mb_convert_encoding')) {
      $name = mb_convert_encoding($name, 'HTML-ENTITIES','UTF-8');
   }
    // See http://en.wikipedia.org/wiki/Filename
    $bad_chars = array("'", "\\", ' ', '/', ':', '*', '?', '"', '<', '>', '|');
    $name = str_replace($bad_chars, '_', $name);
    $name = preg_replace("/%(\w{2})/", '_', $name);
    $name = preg_replace("/\\x00-\\x1f/u", '_', $name);

    // lowercase because MySQL is case insensitive (getFromDBbyFilename)
   if (function_exists('mb_convert_case')) {
      $name = mb_convert_case($name, MB_CASE_LOWER,'UTF-8');
   } else {
      $name = strtolower($name);
   }
    return $name;
}

Pas contre pour l'apostrophe, j'ai pas réussi à reproduire (sous Windows)...

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

Board footer

Powered by FluxBB