Code php pour le saint(e) du jour (même date)

Bonjour @ tous,

Suite à l’excellent code PHP de ngrataloup que j’utilise dans mon scénario, j’ai deux fetes qui tombent le même jour:

La Sainte Adeline fonctionne parfaitement mais on fête également la fête de Aline.

J’ai un virtuel qui me donne avec le plug in de JR Marmelade « Prénoms du Jour (namesoftheday) » la fete de plusieurs Prénons dans cette journée : Adeline, Aline, Line,

Ma question: Comment ajouter une recherche sur ce virtuel qui s’appelle #[Météo][Info][Prénoms]# pour récupérer « Aline » en PHP par rapport à ma liste d’anniversaire: $anniversaires = array .

Le lien du code de ngrataloup:

Merci par avance pour votre aide.

Salut

Un truc dans le genre :

$anniversaires = array(
	
	"Aline" => '29/10/2011',           // essai
	"Adeline" => '29/10/2011',         // essai
	
);

$todayCelebration = cmd::byString("#[Météo][Info][Prénoms]#")->execCmd();
$anniv_key = array_keys($anniversaires);

$todayCelebrationArr = explode(",", $todayCelebration);

foreach ($todayCelebrationArr as $saint) {
	if (in_array(trim($saint), $anniv_key)) {
		$scenario->setLog("c est la saint " . $saint . " aujourdhui !");
	}
}

Merci tomitomas pour ta rapide réponse, j’ai une erreur de syntax mais je ne trouve pas ou ?

[2023-10-20 18:34:18][SCENARIO] **-- Start :** Scenario lance manuellement. 
[2023-10-20 18:34:18][SCENARIO] - Exécution du sous-élément de type [action] : code 
[2023-10-20 18:34:18][SCENARIO] Exécution d'un bloc code 
[2023-10-20 18:34:18][SCENARIO] syntax error, unexpected ';' 
[2023-10-20 18:34:18][SCENARIO] Fin correcte du scénario

il manque en effet une parenthèse → corrigé !
(désolé je l’ai fait sur mon tel dans le tram :slight_smile: )

(pour partager les logs sur le forum, utilises le bouton texte préformaté </> !)

Je suis désolé, je débute, j’ai encore une autre erreur… merci encore pour ton aide.

-----------------------------------
[2023-10-20 18:34:18][SCENARIO] -- Start : Scenario lance manuellement.
[2023-10-20 18:34:18][SCENARIO] - Exécution du sous-élément de type [action] : code
[2023-10-20 18:34:18][SCENARIO] Exécution d'un bloc code 
[2023-10-20 18:34:18][SCENARIO] syntax error, unexpected ';'
[2023-10-20 18:34:18][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-10-20 18:41:33][SCENARIO] -- Start : Scenario lance manuellement.
[2023-10-20 18:41:33][SCENARIO] - Exécution du sous-élément de type [action] : code
[2023-10-20 18:41:33][SCENARIO] Exécution d'un bloc code 
[2023-10-20 18:41:33][SCENARIO] syntax error, unexpected end of file
[2023-10-20 18:41:33][SCENARIO] Fin correcte du scénario
------------------------------------

Sans voir le code que tu utilises, pas facile de dire ce qui ne va pas :slight_smile:

Voici mon virtuel, si cela peut aider

Capture d’écran du 2023-10-20 19-52-30

 // date d'anniversaire au format dd/mm/yyyy dans un array
    $anniversaires = array (
   
    "Aline" => '29/10/2011',           // essai
    "Adeline" => '29/10/2011',         // essai
      
     ) ;

$todayCelebration=cmd::byString("#[Météo][Info2][Prénoms]#")->execCmd() ;
$todayCelebrationArr = explode(",", $todayCelebration);

foreach ($todayCelebrationArr as $saint) {

if (array_search($saint, array_keys($anniversaire))) {
		$scenario->setLog("c est la saint " . $saint . " aujourdhui !");
	}
}
------------------------------------
[2023-10-20 20:03:59][SCENARIO] -- Start : Scenario lance manuellement.
[2023-10-20 20:03:59][SCENARIO] - Exécution du sous-élément de type [action] : code
[2023-10-20 20:03:59][SCENARIO] Exécution d'un bloc code 
[2023-10-20 20:03:59][SCENARIO] Fin correcte du scénario

J’ai du faire un mauvais copier coller, j’ai le bloc code sans erreur maintenant mais il m’affiche pas les deux fêtes…

Merci en encore pour ta patience…

$anniversaireS VS $anniversaire
→ un S a ajouter donc

Super! le bloc code fonctionne ! par contre, je souhaiterai avoir également Aline sa fête est le même jour ?

[2023-10-20 20:15:05][SCENARIO] -- Start : Scenario lance manuellement.
[2023-10-20 20:15:06][SCENARIO] - Exécution du sous-élément de type [action] : code
[2023-10-20 20:15:06][SCENARIO] Exécution d'un bloc code 
[2023-10-20 20:15:06][SCENARIO] c est la saint Adeline aujourdhui !
[2023-10-20 20:15:06][SCENARIO] Fin correcte du scénario

Merci encore.

C est modifié

Le bloc code fonctionne mais j’ai uniquement la fête de « Adeline » qui s’affiche la première de la liste ? mais pas la seconde fête de « Aline » du même jour après: Adeline, Aline,

J’ai pourtant bien deux fêtes ce même jour ?

Je souhaiterai avoir les deux prénoms dans mon bloc code.

    $anniversaires = array (
   
    "Aline" => '29/10/2011',           // essai
    "Adeline" => '29/10/2011',         // essai
      
     ) ;

Merci encore.

ok, on change un peu :wink:

En faite pourquoi cette demande, j’ai dans ma famille des prénoms qui ne sont pas les « Saints du jour » notamment les prénoms des jeunes enfants. Ce fichier saintlist.csv dans mon virtuel dispose de pratiquement tous les prénoms manquants.

Pas de soucis.
Tu as testé la modif ?

Le bloc code fonctionne pour uniquement le premier prénoms à chercher « Adeline ». mais pas pour le deuxième prénoms « Aline »

Voici le log:

[2023-10-20 23:54:39][SCENARIO] -- Start : Scenario lance manuellement.
[2023-10-20 23:54:39][SCENARIO] - Exécution du sous-élément de type [action] : code
[2023-10-20 23:54:39][SCENARIO] Exécution d'un bloc code 
[2023-10-20 23:54:39][SCENARIO] ┌────────────── FETE ──────────────────
[2023-10-20 23:54:39][SCENARIO] | tag(Saint) - [Autre] : Adeline
[2023-10-20 23:54:39][SCENARIO] └──────────────────────────────────────
[2023-10-20 23:54:39][SCENARIO] - Exécution du sous-élément de type [action] : action
[2023-10-20 23:54:39][SCENARIO] Changement de  [Météo][Info][Saint:] à Adeline
[2023-10-20 23:54:39][SCENARIO] Exécution d'un bloc élément : 2578
[2023-10-20 23:54:39][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Météo][Info][Saint:]# != ''
[2023-10-20 23:54:39][SCENARIO] Evaluation de la condition : ["Adeline" != ''] = Vrai
[2023-10-20 23:54:39][SCENARIO] - Exécution du sous-élément de type [action] : then
[2023-10-20 23:54:39][SCENARIO] Ajout du message suivant dans le centre de message : C'est la  fête de Adeline

Je t ai indiqué l avoir changé
As tu appliqué les modifs ?

Oups, je vais tester de nouveau … Mal réveillé ce matin…

Bravo cela fonctionne parfaitement !!! un grand merci tomitomas ! j’y serais pas arrivé tout seul !

[2023-10-21 08:32:26][SCENARIO] -- Start : Scenario lance manuellement.
[2023-10-21 08:32:26][SCENARIO] - Exécution du sous-élément de type [action] : code
[2023-10-21 08:32:26][SCENARIO] Exécution d'un bloc code 
[2023-10-21 08:32:26][SCENARIO] c est la saint Celine aujourdhui !
[2023-10-21 08:32:26][SCENARIO] c est la saint  Ursula aujourdhui !
[2023-10-21 08:32:26][SCENARIO] c est la saint  Ursule aujourdhui !
[2023-10-21 08:32:26][SCENARIO] Fin correcte du scénario

Je t en prie !

(La solution est donc sur mon 1er msg (amendé) et non pas sur une de tes log qui indiquent une erreur :wink: )

Tu veux aller encore un peu + loin, tu peux aussi regarder le plugin-birthday :wink:

1 « J'aime »