C’est d’actualité !
Je souhaites faire différentes actions avant, pendant, au retour des vacances.
Je me suis penché sur le code PHP suivant :
$DebutVacances$DebutVacances = $scenario->getData('DebutVacances');
$FinVacances = $scenario->getData('FinVacances');
$maintenant=strtotime("now");
$diff= strtotime($FinVacances)-strtotime($DebutVacances);
$diff2=$maintenant-strtotime($DebutVacances);
if ($maintenant<strtotime($DebutVacances)) {
// "actions avant depart";
}
else {
if ($diff2<$diff) {
// "action pendant vacances";
}
else {
// "action vacances finies";
}
}
Ca marche très bien avec un testeur de PHP mais pas dans un bloc code jeedom ???
Les fonctions strtotime renvoient une erreur
N’étant pas un pro du PHP, pouvez vous m’aider?
merci
Plugin mode avec mode travail/vacances/absence puis ton scénario journalier qui fait les actions en fonction du mode. Et actions dans le plugin mode au changement de mode.
Tu peux ensuite récupérer les vacances scolaires en php ou avec un autre plugin et changer automatiquement de mode.
Hello,
J’suis pas un pro du php, mais ta variable $DebutVacances est doublée en début de ton code ($DebutVacances$DebutVacances).
Donc la fonction strtotime ne peut trouver ta variable
Mais comme le dit @kiboost, le plugin mode est LARGEMENT plus adapté
Merci pour vos réponses.
doublage de la variable> c’est une erreur lors du copier/coller dans le forum
mode vacances > mon code est utilisé lors de l’activation du mode vacances. Je demande la date de retour et je realise une simulation de presence jusque là sauf certaines actions prises la veille du retour. Donc il me faut savoir si la date courante est dans l’intervalle entre début et fin de vacances.
Si vous avez une autre soluce que le test de DateDiff je suis preneur.
Sauf erreur, ce plugin ne gere pas la date de retour ce qui m’importe ici. Le reste est déjà opérationnel de mon coté.
Je bute vraiment sur la façon de tester si la date courante est entre ces 2 bornes. Plus tard j’aimerai lier l’agenda pour que cela soit automatisé
Salut, après plusieurs essais j’ai réussi à calculer cette difference. En fait le pb venait qu’un « ’ » restait au début de la variable récupérée par le code PHP. En scindant les morceaux avec la fonction explode puis str_replace sur les ', ",… j’ai récupéré les valeurs des jours, mois et année
Pb clos donc