/** * @brief Envoie un message à un membre * @param int $idUser ID du membre qui doit recevoir le message * @param String $msg Message à envoyer * @return Error Retourne une information */ public function sendMessage($idUser, $msg) { $privateAlert = new Alert(); $privateAlert->setIdMember($idUser); $privateAlert->setMessage($msg); $privateAlert->setTitle('Message de l\'administrateur'); AlertsManager::instance()->add($privateAlert); return new Error("Votre message a bien été envoyé"); }
/** * @brief Génération d'une alerte prédéfinie * @param int $idMember ID du membre concerné * @param Schedule $Schedule Représente un rendez-vous * @param int $idAlert Numéro de l'alerte voulue * @return Void * * Liste des possibilités pour @b $idAlert : * - 0 : alerte PATIENT pour ANNULATION du rendez-vous (à la demande du patient) * - 1 : alerte PATIENT pour ANNULATION et FACTURATION du rendez-vous (annulation à moins de 24h du rdv) * - 2 : alerte MEDECIN pour ANNULATION du rendez-vous * - 3 : alerte MEDECIN pour ANNULATION et FACTURATION du rendez-vous * - 4 : alerte PATIENT pour ANNULATION du rendez-vous (à le demande du médecin) * - 5 : alerte PATIENT pour CONFIRMATION du rendez-vous (par le médecin) * - 6 : alerte PATIENT pour CONFIRMATION de son rendez-vous, sans attente de confirmation du médecin * - 7 : alerte PATIENT pour PRISE EN COMPTE de son rendez-vous, avec attente de confirmation de la part du médecin * - 8 : alerte MEDECIN pour NOUVEAU Rendez-vous sans confirmation * - 9 : alerte MEDECIN pour NOUVEAU Rendez-vous avec confirmation * - 10 : alerte PATIENT demande à être PRATICIEN */ public function generateAutomaticMessage($idMember, $Schedule, $idAlert) { $alert = new Alert(); switch ($idAlert) { case 0: $title = "Annulation de votre rendez-vous"; $alertMessage = 'Votre rendez-vous du ' . date("j-m à H:i", $Schedule->getDateStart()) . ' a bien été annulé.'; break; case 1: $title = "Annulation de votre rendez-vous à moins de 24h"; $alertMessage = 'Votre rendez-vous du ' . date("j-m à H:i", $Schedule->getDateStart()) . ' a été annulé dans les 24 heures qui le précèdent. Conformément aux conditions générales d\'utilisation, le rendez-vous peut vous être facturé au tarif réglementaire. Veuillez contacter votre praticien'; break; case 2: $title = "Annulation de rendez-vous par le patient"; $alertMessage = 'Le rendez-vous du ' . date("j-m à H:i", $Schedule->getDateStart()) . ' de M./Mme ' . $_SESSION['user']->getProfile('nom') . ' ' . $_SESSION['user']->getProfile('prénom') . ' a été annulé.'; break; case 3: $title = "Annulation de rendez-vous par le patient à moins de 24h"; $alertMessage = 'Le rendez-vous du ' . date("j-m à H:i", $Schedule->getDateStart()) . ' de M./Mme ' . $_SESSION['user']->getProfile('nom') . ' ' . $_SESSION['user']->getProfile('prénom') . ' a été annulé. Conformément aux conditions générales d\'utilisation, le rendez-vous pourra lui être facturé au tarif réglementaire.'; break; case 4: $title = "Annulation de votre rendez-vous par le médecin"; $alertMessage = 'Votre médecin, M./Mme ' . $_SESSION['user']->getProfile('nom') . ' ' . $_SESSION['user']->getProfile('prénom') . ' ne peut malheureusement pas confirmer votre rendez-vous du ' . date("j-m à H:i", $Schedule->getDateStart()) . ', en raison d\'un imprévu. Nous vous invitons à reconsulter son emploi du temps si vous souhaitez prendre un autre rendez-vous. Toutes nos excuses pour la gène occasionnée.'; break; case 5: $title = "Confirmation de votre rendez-vous par le médecin"; $alertMessage = 'Votre médecin, M./Mme ' . $_SESSION['user']->getProfile('nom') . ' ' . $_SESSION['user']->getProfile('prénom') . ' a bien confirmé votre rendez-vous du ' . date("j-m à H:i", $Schedule->getDateStart()); break; case 6: $title = "Confirmation de votre rendez-vous"; $alertMessage = 'Votre rendez-vous du ' . date("j-m à H:i", $Schedule->getDateStart()) . ' à bien été confirmé. Retrouvez les détails de vos rendez-vous sur votre page personnelle.'; break; case 7: $title = "Attente de confirmation de votre rendez-vous"; $alertMessage = 'Votre rendez-vous du ' . date("j-m à H:i", $Schedule->getDateStart()) . ' à bien été pris en compte. Vous serez informé(e) prochainement de la confirmation de votre rendez-vous par le médecin. Retrouvez les détails de vos rendez-vous sur votre page personnelle.'; break; case 8: $title = "Nouveau rendez-vous"; $alertMessage = 'Un nouveau rendez-vous a été pris par M./Mme ' . $_SESSION['user']->getProfile('nom') . ' ' . $_SESSION['user']->getProfile('prénom') . ' pour le ' . date("j-m à H:i", $Schedule->getDateStart()) . ' prochain.'; break; case 9: $title = "Nouveau rendez-vous en attente de votre confirmation"; $alertMessage = 'Un nouveau rendez-vous a été pris pas M./Mme ' . $_SESSION['user']->getProfile('nom') . ' ' . $_SESSION['user']->getProfile('prénom') . ' pour le ' . date("j-m à H:i", $Schedule->getDateStart()) . ' prochain. N\'oubliez pas de confirmer le rendez-vous sur votre page dédiée.'; break; } if (isset($alertMessage)) { $alert->setMessage($alertMessage); $alert->setTitle($title); $alert->setIdMember($idMember); $this->add($alert); } }