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 2011-02-24 16:03:17

eltharin
Member
Registered: 2009-12-01
Posts: 19

image dans notification

Bonjour,

Pour ceux que ça interesse d'intégrer des image aux notifications (sans piece jointe et sans le joli message 'telecharger les images') voici la manip :

Dans le fichier /inc/notificationmail.class.php  dans la fonction sendnotification remplacer comme suit (dans 0.78 l.209-216) :

      if (empty($options['content_html'])) {
         $mmail->isHTML(false);
         $mmail->Body = $options['content_text'];
      } else {
         $mmail->isHTML(true);
         $mmail->Body    = $options['content_html'];
         $mmail->AltBody = $options['content_text'];
      }

par :

      if (empty($options['content_html'])) {
         $mmail->isHTML(false);
         $mmail->Body = $options['content_text'];
      } else {
         $mmail->isHTML(true);
         $mmail->MsgHTML($options['content_html']);
         $mmail->AltBody = $options['content_text'];
      }

et dans le fichier /inc/display.function.php dans la fonction initEditorSystem la ligne 3095 :

theme_advanced_buttons2 : 'forecolor,backcolor,separator,hr,separator,link,unlink,
anchor,separator,tablecontrols,undo,redo,cleanup,code,separator',

par

theme_advanced_buttons2 : 'forecolor,backcolor,separator,hr,separator,link,unlink,
anchor,separator,tablecontrols,undo,redo,cleanup,code,separator,image',

vous trouverez ensuite dans l'éditeur de modele de notification un petit bouton image en bas a droite et vous n'avez qu'a saisir l'url de l'image (en absolu je pense que c'est mieux) et le tour est joué.

Bonne chance.

Last edited by eltharin (2011-02-24 16:14:34)

Offline

#2 2011-02-28 10:17:14

popo17
Member
Registered: 2011-02-28
Posts: 79

Re: image dans notification

Bonjour,

Je souhaiterais modifier le template des notifications par email pour y insérer une image (le logo de l'entreprise par exemple).

Quelqu'un a t'il un retour par rapport à la procédure de eltharin?

Merci d'avance


Serveur : Windows 2012 R2, Xampp 5.6, Apache 2.4
GLPI 1 : v0.90.3 / GLPI 2 : v0.85.5 / Fusion Inventory 0.90+1.2
Utilisation de GLPI depuis 2011

Offline

#3 2011-03-30 02:43:31

knives
Member
Registered: 2011-03-16
Posts: 5

Re: image dans notification

Je viens de faire la manipulation, je n'ai pas encore vérifié si le message que les utilisateurs reçoivent lors de la réception disparait bien mais sinon ça marche nickel et ça évite de le faire en html directement.
C'est parfait.

Offline

#4 2011-08-02 16:44:22

Thibow
Member
Registered: 2011-08-02
Posts: 9

Re: image dans notification

Bonjour a tous,

Bon je m'incruste sur le forum pour savoir si quelqu'un d'entre vous avait fait la manipulation sur la derniere version (GLPI 0.80.2) ?

En effet, mon objectif est de verbaliser un peu plus les notifications et les mettre au couleurs de la société.

Une fois ces manipulations effectués, mon code HTML semble bien interprété dans TinyMCE... j'enregistre mes modifications et effectue un test afin de recevoir ma notif et la... mon code html n'est pas interprété, qui plus est, TinyMCE semble avoir supprimer tout les espaces de mon code... (constat effectué après avoir regarder la source du mail reçu).

Help me pleaaassse :'(( ^^

Offline

#5 2011-08-03 10:27:41

Thibow
Member
Registered: 2011-08-02
Posts: 9

Re: image dans notification

Bonjour,

J'ai trouvé, donc je viens donner mon astuce pour la dernière version 0.80.2.

J'ai donc modifié la page notificationmail.class.php - Ligne 226

else {
         $mmail->isHTML(true);
         $mmail->MsgHTML($options['content_html']);
         $mmail->AltBody = $options['content_text'];
      }

Dans la page display.function.php - Lignes 3670, mon tinyMCE.init

function initEditorSystem($name) {
   global $CFG_GLPI;

   echo "<script language='javascript' type='text/javascript'>";
   echo "tinyMCE.init({
      language : '".$CFG_GLPI["languages"][$_SESSION['glpilanguage']][3]."',
      mode : 'exact',
      elements: '$name',
      plugins : 'table,directionality,searchreplace',
      theme : 'advanced',
      entity_encoding : 'numeric', ";
      // directionality + search replace plugin
   echo "theme_advanced_buttons1_add : 'ltr,rtl,search,replace',";
   echo "theme_advanced_toolbar_location : 'top',
      theme_advanced_toolbar_align : 'left',
      theme_advanced_buttons1 : 'bold,italic,underline,strikethrough,fontsizeselect,formatselect,separator,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,outdent,indent',
      theme_advanced_buttons2 : 'forecolor,backcolor,separator,hr,separator,link,unlink,anchor,separator,tablecontrols,undo,redo,cleanup,code,separator,image',
    valid_elements : '*[*]',
      theme_advanced_buttons3 : ''});";
   echo "</script>";
}

En debuggant, j'ai découvert :

self::process($template_datas['content_html'], $data_html)

Cette fonction permet de remplacer les TAG's (entre ##tag##) et dynamise la notification.
Un peu plus bas dans la fonction a la ligne 336 voici ce que j'ai trouvé :

$string = str_replace($tag_out, '', $string);

Que j'ai remplacé par

$string = str_replace($tag_out, ' ', $string);

(la différence est l'espace entre les quotes ... au lieu de laissé la variable vide, je lui est mis un espace.)

Voilou ;-)

Offline

#6 2011-10-19 05:18:46

gportheault
Member
From: Papeete
Registered: 2008-12-08
Posts: 48

Re: image dans notification

Super! Merci beaucoup de ce retour, ça marche nickel.


GLPI 0.80.5 / 1800 postes / 16 entités
OCS Ver. 2.01 / CentOS 5.2
Apache/2.2.11 (Unix) PHP/5.2.8 mod_perl/2.0.4 Perl/v5.10.0 MySQL: 5.1.30

Offline

#7 2011-10-31 10:07:39

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

Re: image dans notification

Problème résolu. Je ferme ce post


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

Board footer

Powered by FluxBB