Message en couleur

Bonjour,

Dans un scénario, est-il possible d’ajouter de la couleur à un message (en plus du symbole :warning: que j’utilise actuellement) afin qu’il soit mis en évidence dans le Centre de Messages (avertissement, alerte,…) ?

Salut,

Avec une recherche @Phpvarious, de mémoire, a déjà résolu ce genre de problème.

Bonsoir,

non c’est pas possible il me semble, car le message est protégé par la fonction secureXSS() qui a pour effet de supprimer toutes les balises HTML et PHP.

2 « J'aime »

Bonsoir,
il existe cette option
image
qui permet de formater le code, car c’est un peu incompréhensible (<)devant body.

Et la demande de @Davyctou concerne le centre de Message Jeedom et non un message sur une commande (discord, jeemate …).

Hello,

Il y a toujours un moyen de s’arranger pour arriver à ses fins :wink:

Quelques exemples de messages améliorés :

image

Bloc-code scénario correspondant :


$before = array('<', '>');
$after = array('&l' . 't;', '&g' . 't;');

// Generation de message avec CSS
$msg = '<span style="color:tomato;">Un beau</span><span style="color:cyan;"> message </span><span style="color:yellow;">en couleur</span>';

$msg = str_replace($before, $after, $msg);
message::add('Génération de message avec CSS', $msg);


// Generation de lien dans un message
$msg = '&'.'#x1F449' . '<span style="color:green;">Lien</span> vers <a href="https://github.com/noodom" target="_blank">Github noodom</a>' . '&'.'#x1F609';

$msg = str_replace($before, $after, $msg);
message::add('Génération de lien', $msg);

// Generation de tableau dans un message
$msg="<table>"
  .  "	<tr>"
  . "		<th>Id</th>"
  . "		<th>Nom</th>"
  . "		<th>Etat</th>"
  . "	</tr>"
  . "	<tr>"
  . "		<td>1</td>"
  . "		<td>Jeemate</td>"
  . "		<td style='color:green;'>updated</td>"
  . "	</tr>"
  . "	<tr>"
  . "		<td>2</td>"
  . "		<td>Homebridge</td>"
  . "		<td>update needed !</td>"
  . "	</tr>"
  . "</table>";

$msg = str_replace($before, $after, $msg);
message::add('Génération de tableau', $msg);
2 « J'aime »

Petite optimisation en passant par une fonction :


function sendImprovedMessage($message) {
  $before = array('<', '>');
  $after = array('&l' . 't;', '&g' . 't;');

  $improvedMsg = str_replace($before, $after, $message);
  message::add('Génération de message avec CSS', $improvedMsg);
}


// Generation de message avec CSS
$msg = '<span style="color:tomato;">Un beau</span><span style="color:cyan;"> message </span><span style="color:yellow;">en couleur</span>';
sendImprovedMessage($msg);

// Generation de lien dans un message
$msg = '&'.'#x1F449' . '<span style="color:green;">Lien</span> vers <a href="https://github.com/noodom" target="_blank">Github noodom</a>' . '&'.'#x1F609';
sendImprovedMessage($msg);

// Generation de tableau dans un message
$msg="<table>"
  .  "	<tr>"
  . "		<th>Id</th>"
  . "		<th>Nom</th>"
  . "		<th>Etat</th>"
  . "	</tr>"
  . "	<tr>"
  . "		<td>1</td>"
  . "		<td>Jeemate</td>"
  . "		<td style='color:green;'>updated</td>"
  . "	</tr>"
  . "	<tr>"
  . "		<td>2</td>"
  . "		<td>Homebridge</td>"
  . "		<td>update needed !</td>"
  . "	</tr>"
  . "</table>";
sendImprovedMessage($msg);
2 « J'aime »

Hello,

Bien vu, je n’avait même pas pensé a l’encodage du html :+1:t2:
seul bémol, sa passe pas dans la div de la notif :

image

Bonne journée.