/** * @brief Retourne l'instance de la classe et permet d'instancier un DoctorsManager si c'est le premier appel. * @return DoctorsManager Retourne l'instance de la classe DoctorsManager */ public static function instance() { if (self::$instance == null) { self::$instance = new DoctorsManager(); } return self::$instance; }
<?php defined("_nova_district_token_") or die(''); //RECUPERATION DE LA RECHERCHE if (isset($_POST['search-doctorname']) and $_POST['search-doctorname'] != "") { $doctor_result = DoctorsManager::instance()->searchByName($_POST['search-doctorname']); if (count($doctor_result) == 0) { $error = new Error('Aucun médecin trouvé à ce nom'); $errors['admin_doctors'] = $error; } } //ENVOI D'UN MSG if (isset($_POST['message_to_user']) and isset($_GET['msg_id'])) { $message = AdminManager::instance()->sendMessage($_GET['msg_id'], $_POST['message_to_user']); $errors["msg-admin-members"] = $message; } //CHANGEMENT DE STATUT if (isset($_GET['id']) and isset($_GET['idmed']) and isset($_POST['status'])) { $statusChange = AdminManager::instance()->changeStatus($_GET['id'], $_POST['status'], $_GET['idmed']); if (Tools::getClass($statusChange) == "Error") { $errors["status_change"] = $statusChange; } } //RECUPERATION DES DEMANDES EN COURS $future_doctor_result = AdminManager::instance()->searchAllFutureDoctors(); if (Tools::getClass($future_doctor_result) == "Error") { $errors["admin_future_doctors"] = $future_doctor_result; } //inclusion de la vue correspondante include dirname(__FILE__) . '/../../views/modules/admin-practicians.php';
<?php defined("_nova_district_token_") or die(''); $medCat = DoctorsManager::instance()->getMedicines(); $categories = ""; foreach ($medCat as $cat) { if (isset($_POST['rechsp']) and $_POST['rechsp'] == $cat['id_medicine']) { $categories .= '<option value="' . $cat['id_medicine'] . '" selected="selected" >' . $cat['medicine_name'] . '</option>'; } else { $categories .= '<option value="' . $cat['id_medicine'] . '">' . $cat['medicine_name'] . '</option>'; } } $departmentSelected = ""; if (isset($_POST['department']) and $_POST['department'] == "on") { $departmentSelected = "checked"; } $nameSearch = ""; if (isset($_POST['searchname']) and $_POST['searchname'] != "") { $nameSearch = Tools::secure($_POST['searchname']); } ?> <script type='text/javascript'> $(document).ready(function() { $("#recherche-name").submit(App.Form.check); $("#recherche-speciality").submit(App.Form.check); }); </script> <div class="content-block" id='recherche'> <h2 class='h2-block-grey'>Trouver un médecin pour prendre un rendez-vous</h2> <div id="recherche-doc">
<?php defined("_nova_district_token_") or die(''); $docProfile = '<span class="profile-empty"' . $_SESSION['user']->getProfile('médecin généraliste') . '</span>'; if ($_SESSION['user']->getIdGeneralist()) { $doctor = DoctorsManager::instance()->getDoctor($_SESSION['user']->getIdGeneralist()); if (Tools::getClass($doctor) == "Doctor") { $docProfile = '<a href="index.php?p=booking&doctor=' . $_SESSION['user']->getIdGeneralist() . '">' . ucfirst($doctor->getProfile('nom')) . ' ' . ucfirst($doctor->getProfile('prénom')) . '</a>'; } } ?> <div id='small-profile'> <div class='center'> <div id='small-profile-left'> <img src='img/<?php echo $_SESSION['user']->getProfile('sexe'); ?> _icon.jpg' alt=''/> <div class="custom-button-orange custom-button"> <a href="index.php?p=profile">Mon profil</a> </div> </div> <div id='small-profile-right'> <h2><?php echo ucfirst($_SESSION['user']->getProfile('nom')) . " " . ucfirst($_SESSION['user']->getProfile('prénom')); ?> </h2> <dl> <dt>Nom</dt><dd><?php echo ucfirst($_SESSION['user']->getProfile('nom')); ?>
<?php defined("_nova_district_token_") or die(''); //token 2 $_SESSION['token2'] = $_SESSION['token']; $registersMembers = UsersManager::instance()->countMembers(); $registersDoctors = DoctorsManager::instance()->countDoctors(); //On inclut la vue include dirname(__FILE__) . '/../views/footer.php';
<?php defined("_nova_district_token_") or die(''); //VERIFICATION DE L'URL & RECUPERATION DU DOCTEUR $calendrier = ""; if (isset($_GET['doctor']) and is_numeric($_GET['doctor'])) { $doctor = DoctorsManager::instance()->getDoctor(intval($_GET['doctor'])); if (Tools::getClass($doctor) == "Doctor") { if (isset($_GET['start'])) { if (preg_match("#[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}#", $_GET['start'])) { // forme dd-mm-yyyy : index.php?p=booking&start=18-05-2014 $tmp = explode("-", $_GET['start']); $dateStart = new DateTime(); $dateStart->setDate(intval($tmp[0]), intval($tmp[1]), intval($tmp[2])); } } if (!isset($_GET['start']) or !isset($dateStart)) { $dateStart = new DateTime(date("Y-m-d H:i:s")); } } else { Tools::redirect("home"); } } else { Tools::redirect("home"); } //PRISE D'UN RENDEZ-VOUS if (isset($_POST['date-rdv']) and isset($_POST['time-rdv']) and isset($_POST['tk']) and $_POST['tk'] == $_SESSION['token2'] and $_SESSION['user']->getIdMember() != $_GET['doctor']) { if (Tools::checkDate($_POST['date-rdv']) and Tools::checkTime($_POST['time-rdv']) and isset($_POST['valid-rdv'])) { $sc = new Schedule(); $sc->setIdDoctor($doctor->getIdMember()); $sc->setIdMember($_SESSION['user']->getIdMember());
defined("_nova_district_token_") or die(''); if (isset($_POST['form-horaires'])) { if (isset($_POST['hdebut']) and isset($_POST['hfin']) and isset($_POST['dureerdv'])) { if (Tools::checkTime($_POST['hdebut']) and Tools::checkTime($_POST['hfin']) and is_numeric($_POST['dureerdv'])) { $_SESSION['user']->setRdvDuration($_POST['dureerdv']); $_SESSION['user']->setStartHour($_POST['hdebut']); $_SESSION['user']->setEndHour($_POST['hfin']); if (isset($_POST['confirmrdv'])) { $_SESSION['user']->setRdvConfirm(1); } else { $_SESSION['user']->setRdvConfirm(0); } // METTRE A JOUR les informations dans la BDD : on récupère un objet de type ERROR $errors['gestion-edit'] = DoctorsManager::instance()->updateProfile($_SESSION['user']); } else { $errors['gestion-horaires'] = new Error("Veuillez indiquer une heure ou durée de RDV correcte (en minutes, ex: 20)"); } } } else { if (isset($_POST['form-infopro'])) { if (isset($_POST['infopro'])) { // $_SESSION['user']->setInfoPro(Tools::secure($_POST['infopro']); $_SESSION['user']->setInfoPro($_POST['infopro']); // METTRE A JOUR les informations dans la BDD : on récupère un objet de type ERROR $errors['gestion-infopro'] = DoctorsManager::instance()->updateProfile($_SESSION['user']); } } } //vue include dirname(__FILE__) . '/../../views/modules/gestion-config.php';
require_once "../../../models/SchedulesManager.class.php"; require_once "../../../models/DoctorsManager.class.php"; require_once "../../../models/Schedule.class.php"; setlocale(LC_TIME, 'fr_FR'); date_default_timezone_set('Europe/Paris'); //vars $doc = intval($_GET['doctor']); $dateStart = intval($_GET['dateStart']); //TS du départ de l'heure cliquée $hourStart = intval($_GET['hourStart']); //heure en STRING de l'heure cliquée (info uniquement) $dayStartHour = intval($_GET['dayStartHour']); // heure de démarrage de la journée ! $dayEndHour = intval($_GET['dayEndHour']); // heure de fin de la journée ! $doctor = DoctorsManager::instance()->getDoctor($doc); if (get_class($doctor) != "Doctor") { die($doc . " Une erreur est survenue : " . $doctor->getMessage()); } $duration = $doctor->getRdvDuration(); //en minutes (int) $nbrBlocks = ceil(60 / $duration) + 2; $blocked = SchedulesManager::instance()->getBlockSchedule($doctor, $dateStart, $dateStart + $nbrBlocks * $duration * 60); $rdv = SchedulesManager::instance()->getSchedule($doctor, $dateStart, $dateStart + $nbrBlocks * $duration * 60); $rdv = array_merge($rdv, $blocked); //récupération du DERNIER RDV ou BLOCKED précédent l'heure de départ (ou à cheval) pour se baser dessus pour le découpage des créneaux $found = false; foreach ($rdv as $sched) { if ($sched->getDateStart() == $dateStart) { //le start est pile au début $found = true;
<?php defined("_nova_district_token_") or die(''); if (isset($_POST['searchname']) and Tools::checkName($_POST['searchname'])) { $docsearch = DoctorsManager::instance()->searchByName($_POST['searchname']); } else { if (isset($_POST['rechsp'])) { $departement = null; if (isset($_POST['department']) and !isset($_POST['closest']) and $_SESSION['user']->getProfile("code postal") != "Non renseigné") { $departement = substr($_SESSION['user']->getProfile("code postal"), 0, 2); } $docsearch = DoctorsManager::instance()->searchBySpeciality($_POST['rechsp'], $departement); } else { $docsearch = "<div><p>Aucun résultat...</p></div>"; } } //On inclut la vue include dirname(__FILE__) . '/../views/search.php';