Formatage d'un texte en provenance d'un winget dans un virtuel

Bonjour à tous,
Je cherche à formater un texte en provenance d’un plugin dans un virtuel.
C’est le planning de l’agenda du plugin iCalendar que je souhaite récupérer et mettre en forme en suppriment du texte.
Agenda 1

Dans le plugin, le texte s’affiche correctement :

18:00;19:00 Test agenda vendredi
et
09:30;10:30 Test agenda samedi

Mais dans mon virtuel, j’ai des données supplémentaires que je souhaite supprimer:

Voila ce qui s’affiche:
Agenda 2

18:00;19:00;A;Test agenda vendredi;cpi64cplcgr62b9pcco3ab9k6ss6cbb2cli36b9h6gp30c1i6thj0dj26c@google.com;doInter;1709911915;

09:30;10:30;;Test agenda samedi;c8qjip3160p64b9p74p64b9k70sjcbb2c4q3abb36co30cr669ijco9i70@google.com;;1709911952;

Donc un texte sous la forme :

hh:mm;hh:mm;x;Evènement;x@google.com;x;x

Et je voudrais récupérer juste :

hh:mm;hh:mm et Evènement

Si vous avez des solutions :wink:
Merci à tous

Bonsoir,

et quelle serait le but ? car la méthode peut être différente suivant le but.

Bonsoir,
Le but est d’afficher l’évènement et le créneau horaire dans un virtuel contenant d’autres infos, style info du jour.

Dans ce cas, il faudra passer par un bloc code scénario. ou passer par un widget code perso

Un bloc code dans un scénario par ex :

$value = cmd::byString('#[Test][AndroidNotification][notif]#')->execCmd();
$lignes = explode(';', $value);

Tu obtiens un tableau où tu n’as plus qu’à prendre ce qui t’intéresse.

Ok, donc je créer un winget code perso;

J’y insert le bout de code :

$value = cmd::byString(‹ #[Mon_info_calendrier]# ›)->execCmd();
$lignes = explode(‹ ; ›, $value);

Et ça me génère un tableau?
Mais ou est affiché ce tableau?

non, la c’est du code pour du scénario et pas widget perso !!!

et celui-ci est incomplet.

Test ceci :

en 1 tu renseigne la commande du plugin.

en 2 un bloc code contenant ceci :

$tags = $scenario->getTags();
if (!empty($tags['#planning#'])){
  $tags['#planning#'] = trim($tags['#planning#'], ';');
  $pieces = explode(";", $tags['#planning#']);
  $i=0;
  $text = '';
  foreach ($pieces as &$value) {
    if ($i == 7) {
      $i = 0;
      $text .= '<br>';
    }
    if ($i == 0) $text .= $value . ' - ';
    if ($i == 1) $text .= $value;
    if ($i == 3) $text .= ' ' . $value;
    $scenario->setLog($i . ' ' . $value);
    $i++;
  }
}
$tags['#planning#'] = $text;
$scenario->setLog($text);
$scenario->setTags($tags);

en 3 renseigne la commande info de ton virtuel, attention celle-ci doit être en Info/Autre


Résultat :

image

Super,
Merci les gars, ça fonctionne nickel :wink:

Merci Merci Merci

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.