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 2017-04-21 11:35:46

alogez
Member
From: Réunion
Registered: 2017-04-20
Posts: 4

Notification incluant une image contenue dans le ticket

Bonjour,

J'utilise la version 9_1_2.

Grâce aux différents travaux (dont cette série d'articleshttps://sysengineers.wordpress.com/2015 … 0/#respond, je suis parvenu à insérer directement des copies d'image dans le corps du ticket et dans la résolution (éléments de la base de connaissance).

Utilisant également le travail sur les modèles présenté sur le forum, je souhaitais modifier les modèles de bases pour intégrer ces images incluses au ticket.

Je n'y parviens pas encore.

En mode debug du modèle, sur un ticket quelconque contenant une image, le modèle instancie correctement le ticket : l'affichage des différents éléments dont les images encapsulées en base est correct: les images s'y affichent correctement.

Lorsque la notification parvient dans la boîte de réception de destination, le HTML doit être mal généré : le message ne comporte pas les images du ticket.

Les éléments suivants apparaissent dans le message :
<img src="data:image/png;base64,iVBOR[....]

En affichant l'original sur la messagerie Google :
<img=0Asrc=3D"data:image/png;base64,iVBOR[...]

En base, dans la table des tickets, l'élément apparaît de la sorte :
[ ... ] &lt;src="data:image/png;base64,iVBOR[...]


Auriez-vous des idées?
Vous remerciant,
Aymeric.

Offline

#2 2017-04-24 07:56:13

alogez
Member
From: Réunion
Registered: 2017-04-20
Posts: 4

Re: Notification incluant une image contenue dans le ticket

Bonjour à vous,

En complément, après analyse, la problématique est la suivante :
Dans le champ "BODY_HTML" de la table queuedmails, le contenu de ma balise contenant les copies d'image (base64) n'est pas correctement traduite :
&lt;img src=&quot;
à la place de <img src="

Ce contenu provient de la balise ##ticket.description##.

En solution rapide et extrême, je verrai (pour avancer) la création d'un trigger sur la table pour nettoyer ce reliquat de code.
Le code html produit serait donc propre et le mail contiendrait alors les copies d'image dans le corps du message.


Y aurait-il d'autres pistes?
Merci.

Aymeric.

Offline

#3 2017-04-26 06:54:12

alogez
Member
From: Réunion
Registered: 2017-04-20
Posts: 4

Re: Notification incluant une image contenue dans le ticket

Bonjour à vous,

Le trigger n'a pas permis l'affichage des copies d'image dans les notifications.

Le problème a été solutionné en modifiant la ligne suivante dans le fichier queuedmail.class.php.
Dans la portion de code liée à du code html (dans la fonction sendMailById, autour des lignes 380):

$mmail->MsgHTML(str_replace('&lt;','<',str_replace('&gt;','>', str_replace('&quot;', chr(34), $this->fields['body_html'])))) ;
//Ligne modifiée  :  $mmail->Body   .=$this->fields['body_html'];

La notification comporte à présent les copies d'image, présentes dans le ticket (phase Déclaration et solution).

Ce fichier php envoie les données présentes en base dans la table glpi_queuedmails, et plus particulièrement dans le champ body_html.

Aymeric.

Offline

Board footer

Powered by FluxBB