You are not logged in.
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
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
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
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
> 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
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é ...
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
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
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
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
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 )
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
A j'avais pas vu ce topic, mais je connais ce glpien chevronné
Donc cela marche pas encore et faudra voir une version ultérieur ... (gloups la mise a jour ...)
Pour l'instant il ne faut pas mettre de fichier avec accent donc ?
Offline
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
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
1/ c'est pas Rémi, mais Remi (j'y tiens)
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
Merci Remi
D'ailleurs, je ne sais pas ou t'as vu d'accent ?? 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
Bon, bug confirmé avec le serveur 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
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
@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
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_&é(-è_çà)=$^ù!;,.§_£¨+°²€~#{[`^@]}¤âêîôûäëïöüâêîôûäëïöü.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
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
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
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
> 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
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
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