Lorsque l'utilisateur se connecte pour la première fois, la fenêtre du tutoriel s'affiche.
- L'utilisateur à alors plusieurs choix. entre autre, il peut cliquer sur la croix pour fermer la fenêtre. Un valeur est enregistrée dans le champ tutoriel de la table {"date_dernier_affichage":"2025-04-29"}
- L'utilisateur peut cliquer sur le bouton pour ne plus afficher le tutoriel dans le champ tutoriel la valeur est {"date_dernier_affichage":"2025-04-29","masquer":1}
Code: Select all
// gestion du tutoriel
$dateTuto = $user->get_valeur_tutoriel('date_dernier_affichage');
$masquerTuto = $user->get_valeur_tutoriel('masquer');
$dateTutoCompare = new Datetime();
$dateTutoCompare->modify('-14 days');
if($dateTuto == '' || ($dateTuto != '' && $dateTuto < $dateTutoCompare->format('Y-m-d') && $masquerTuto == '')){
// on verifie aussi que le user ne soit pas en lecture seule, aucun interet de lui proposer le tuto
if(!$user->checkDroit('tasks_readonly')){
$user->set_valeur_tutoriel('date_dernier_affichage', date('Y-m-d'));
$smarty->assign('afficher_tuto', '1');
}
}
Ne pourriez-vous pas, si l'utilisateur clique uniquement sur la croix pour fermer la fenêtre, modifier le code en supprimant ce délai de 14 jours et en modifiant l'opérateur de comparaison par <= $dateTuto <= $dateTutoCompare->format('Y-m-d') ?
Ainsi, cela force l’utilisateur à cliquer sur le bouton s'il ne veut plus voir le tutoriel.
Code: Select all
// gestion du tutoriel
$dateTuto = $user->get_valeur_tutoriel('date_dernier_affichage');
$masquerTuto = $user->get_valeur_tutoriel('masquer');
$dateTutoCompare = new Datetime();
// $dateTutoCompare->modify('-14 days');
if($dateTuto == '' || ($dateTuto != '' && $dateTuto <= $dateTutoCompare->format('Y-m-d') && $masquerTuto == '')){
// on verifie aussi que le user ne soit pas en lecture seule, aucun interet de lui proposer le tuto
if(!$user->checkDroit('tasks_readonly')){
$user->set_valeur_tutoriel('date_dernier_affichage', date('Y-m-d'));
$smarty->assign('afficher_tuto', '1');
}
}
Cordialement