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 2019-09-19 13:55:45

falco2001
Member
Registered: 2016-02-11
Posts: 251

[GLPI 9.3.3[ Formcreator 2.7.0] retour chariot

Bonjour,
demande faite dans la liste plug-in mais je pense que ce n'est pas lié au plug-in.
juste savoir dans quelle partie du code je peux modifier les mails créés lors de la création du ticket et du suivi car pour la solution il y a bien des retour chariot ? De l'aide merci

Offline

#2 2019-09-20 14:16:32

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [GLPI 9.3.3[ Formcreator 2.7.0] retour chariot

Bonjour,
j'ai essayé dans ticket.form.php

if (isset($_POST["add"])) {
   $track->check(-1, CREATE, $_POST);

  $_POST = str_replace( "\\r\\n", "<p>", $_POST);

mais j'obtiens avec :

a
b
c

et ceci dans le mail : anbncn

Donc ne fonctionne pas alors qu'en mode debug je vois bien la varaiable $_POST passée de a\r\nb\r\nc\r\n à a<br>b<br>c>br> ..

dans ticketfollowup.form

if (isset($_POST["add"])) {
   $fup->check(-1, CREATE, $_POST);

   $_POST= str_replace( "\\r\\n", "<br>", $_POST);

  fonctionne

Merci

Offline

#3 2019-09-23 18:55:26

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [GLPI 9.3.3[ Formcreator 2.7.0] retour chariot

EN fait,
Contexte : maintenant tous les usagers reçoivent les mails de création, suivis et solution au format html avec css adapté mais GLPI ne les génère pas ..
si un développeur peut me répondre :
Comment faire en sorte que les messages de création de tickets et de suivi soient au format html ou à minima qu'il y ait des <BR>
Dans le code du ticket on  ne peut pas mettre ou faire un replace \\r\\n en <br> puisque les codes html sont supprimés pour des raisons de sécurité , on peut passé outre mais pas bien !
Une autre idée, si un code existe pour créer ces mails de sortie au format html ? Je précise que la solution du ticket  est déjà au format html.
Je galère bien sûr .. et Les usagers ont de plus de mal à lire le mail de création et les suivis sans saut de ligne ..!

Offline

#4 2019-09-24 15:17:14

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: [GLPI 9.3.3[ Formcreator 2.7.0] retour chariot

Je ne comprends pas pourquoi vous changez le structure des données insérées en base.
Pour avoir la sortie correcte, il faut juste définir la description du ticket au farmot HTML.

Donc c'est bien un problème du plugin qui ne doit pas prendre en compte ce point


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#5 2019-09-25 09:59:05

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [GLPI 9.3.3[ Formcreator 2.7.0] retour chariot

Bonjour,
le ticket est formaté en html puisqu'il intégre des css et balise dans la config glpi , mais comme dit précédemment  la structure du mail envoyé n'est pas la même pour création suivi et solution.

Je suis en train de modifier : ticket.form.php : ligne 62 , ticketfollowup.form.php : ligne 41 et surtour ticket.class.php : ligne 1747 ..

Avec ceci sans utiliser le plug-in formcreator j'obtiens maintenant des mail au format html  (création et suivi) avec des br et pas \r\n mais c'est assez lourd pour la maintenance.

Avec le plug-in formcreator c'est ok aussi en modifiant encore ticket.class.php

Offline

#6 2019-10-03 17:07:01

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [GLPI 9.3.3[ Formcreator 2.7.0] retour chariot

Bonjour,
en fait j'ai des effets de bord sur les tickets avec des \\n et plus encore.
Je reviens à l'état d'origine.
Est-ce qu'un développeur peut me répondre sur ces points :
- Je cherche où se trouve l'envoi de mail pour eviter d'avoir des pbs sur l'affichage du ticket que j'avais avec ma précédente modif  : j'ai modifié ceci
But : avoir des br dans les mails mais pas dans l'affichage du ticket ..

foreach ($pendings as $mode => $data) {
            $eventclass = Notification_NotificationTemplate::getModeClass($mode, 'event');
           $data["0"]["body_text"] = preg_replace('/\n\n/', "<br/>", $data["0"]["body_text"]); //YD
          $data["0"]["body_text"] = preg_replace('/\n/', "<br/>", $data["0"]["body_text"]); //YD
            $data["0"]["body_text"] = preg_replace('/\\\\n/', "<br/>", $data["0"]["body_text"]); //YD
        //$data["0"]["body_html"] = preg_replace('/\n\n/', "\n\n", $data["0"]["body_text"]); //YD

mais l'envoi du mail via le phpmailer.php n'envoie pas  celui que j'ai modifie ..! or dans le debug je vois bien dans  if (!$mmail->Send())
le $mmail contient bien le $data que j'ai modifié ..!

Le mail envoyé ne contient pas des br ..

Help help  je n'y comprends plus rien.

J'essaye de ne pas toucher à la classe ticket mais juste à queuednotification.class et notificatioeventmailing.class mais rien ne marche

Offline

#7 2019-10-11 09:12:52

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [GLPI 9.3.3[ Formcreator 2.7.0] retour chariot

Pour les suivis
  * ticketfollowup.form.php : ligne 41

if (isset($_POST["add"])) {
   $fup->check(-1, CREATE, $_POST);
   //YD
   $_POST= str_replace( "\\r\\n", "<br>", $_POST);
   //YD
      $fup->add($_POST);

Pour les retours chariot dans mails de création
  notificationtargetcommonitilobject.class ligne 770
après  $objettype = strtolower($item->getType()); et avant  $data["##$objettype.url##"]

      //$data["content"] = preg_replace('/\\r\\n\\r\\n/', "<br>",  $item->getField('content')); //YD
      $data["content"] = preg_replace('/\n\n/', "<br/>", $item->getField('content')); //YD
      $data["content"] = preg_replace('/\n/', "<br/>", $data["content"]); //YD
      $data["content"] = preg_replace('/\\\\n/', "<br/>", $data["content"]); //YD

      $data["##$objettype.title##"]        = $item->getField('name');
      $data["##$objettype.content##"]      = $item->getField('content'); 
      $data["##$objettype.description##"]      = $data["content"]; //YD
      //$data["##$objettype.description##"]  = $item->getField('content');// YD AVant
      $data["##$objettype.id##"]           = sprintf("%07d", $item->getField("id"));

Offline

Board footer

Powered by FluxBB