/** 
  * @brief	Retourne l'instance de la classe et permet d'instancier un UsersManager si c'est le premier appel.
  * @return	UsersManager		Retourne l'instance de la classe
  */
 public static function instance()
 {
     if (self::$instance == null) {
         self::$instance = new UsersManager();
     }
     return self::$instance;
 }
Beispiel #2
0
<?php

defined("_nova_district_token_") or die('');
//suppression d'un RDV par le membre
if (isset($_GET['rdv']) and is_numeric($_GET['rdv']) and isset($_GET['doctor']) and is_numeric($_GET['doctor'])) {
    $result = SchedulesManager::instance()->cancelSchedule($_SESSION['user']->getIdMember(), intval($_GET['rdv']));
    if (Tools::getClass($result) == "Schedule") {
        AlertsManager::instance()->generateAutomaticMessage(intval($_GET['doctor']), $result, 4);
        AlertsManager::instance()->generateAutomaticMessage($_SESSION['user']->getIdMember(), $result, 0);
    } else {
        $errors['cancel'] = $result;
    }
}
//On inclut le modèle
$futursRdv = SchedulesManager::instance()->getFutureSchedule($_SESSION['user']->getIdMember());
$favorites = UsersManager::instance()->getFavoritesDoc($_SESSION['user']->getIdMember());
//On inclut la vue
include dirname(__FILE__) . '/../views/home.php';
Beispiel #3
0
<?php

defined("_nova_district_token_") or die('');
$inscriptionField = "<div class='custom-button-orange custom-button'><a href='index.php?p=inscription'>s'inscrire</a></div>";
if (UsersManager::instance()->isConnected()) {
    $inscriptionField = $_SESSION['user']->getEmail();
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />	
	<title>Booking</title>
	<meta name='description' content="" />
	<meta name='keywords' content='' />
	
	<link href='css/common.css' rel='stylesheet' type='text/css' media='screen' />
	<link href='css/design.css' rel='stylesheet' type='text/css' media='screen' />
	
	<link rel='icon' type='image/png' href='img/favicon.png'/>
	
    <script type='text/javascript' src='js/jquery-1.11.js'></script>
    <script type='text/javascript' src='app/js/common.js'></script>
</head>
<body>
	<header>
		<div id='header-top'>
			<div id='header-logo'>
				<a href='index.php'><img src='img/logo.png' alt='logo' /></a>
			</div>
			<ul>
Beispiel #4
0
<?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';
Beispiel #5
0
<?php

defined("_nova_district_token_") or die('');
//contrôle du formulaire d'inscription modifié
if (isset($_POST['name']) and isset($_POST['firstname']) and isset($_POST['sexe']) and isset($_POST['zip']) and isset($_POST['city']) and isset($_POST['address']) and isset($_POST['phone']) and isset($_POST['birthday'])) {
    if (Tools::checkName($_POST['name']) and Tools::checkSexe($_POST['sexe']) and Tools::checkName($_POST['firstname']) and Tools::checkZip($_POST['zip']) and Tools::checkCity($_POST['city']) and Tools::checkAddress($_POST['address']) and Tools::checkPhone($_POST['phone']) and Tools::checkBirthday($_POST['birthday'])) {
        $tab['sexe'] = Tools::secure(strtolower($_POST['sexe']));
        $tab['nom'] = Tools::secure(strtolower($_POST['name']));
        $tab['prénom'] = Tools::secure(strtolower($_POST['firstname']));
        $tab['code postal'] = Tools::secure($_POST['zip']);
        $tab['ville'] = strtolower($_POST['city']);
        $tab["complément d'adresse"] = Tools::secure(strtolower($_POST['address']));
        $tab['téléphone'] = $_POST['phone'];
        $tab['date de naissance'] = $_POST['birthday'];
        //modification de la session en cours
        $profileTemp = $_SESSION['user']->getProfile();
        $_SESSION['user']->addToProfile($tab);
        $result = UsersManager::instance()->saveProfile($_SESSION['user']);
        if ($result == true) {
            //ok
            Tools::redirect("profile");
        } else {
            $_SESSION['user']->setProfile($profileTemp);
            $errors['profil'] = new Error("Une erreur est survenue, merci de recommencer. Si celle-ci persiste, contactez un administrateur !");
        }
    } else {
        $errors['profil'] = new Error("Attention aux types des champs, certains ne sont pas valides");
    }
}
//On inclut la vue
include dirname(__FILE__) . '/../views/profile.php';
Beispiel #6
0
<?php

defined("_nova_district_token_") or die('');
//gestion déconnexion
if (isset($_GET['a']) and $_GET['a'] == "deco") {
    UsersManager::instance()->disconnect();
}
//gestion connexion
if (!isset($_SESSION['user']) and isset($_POST['connection'])) {
    if (isset($_POST['email']) and $_POST['email'] != "" and isset($_POST['pass']) and $_POST['pass'] != "") {
        $result = UsersManager::instance()->connect($_POST['email'], Tools::hash($_POST['pass']));
        if (Tools::getParentClass($result) == "User") {
            $_SESSION['user'] = $result;
            // la session est ouverte
        } else {
            if (Tools::getClass($result) == "Error") {
                $errors["connection"] = $result;
            } else {
                $errors["connection"] = new Error("Echec : Email ou mot de passe invalide");
            }
        }
    }
}
//On inclut la vue
include dirname(__FILE__) . '/../views/header.php';
Beispiel #7
0
        if ($calage != 0) {
            $errors['rdv'] = new Error("Vous ne pouvez pas prendre un rendez-vous en dehors des heures fixées par le calendrier.");
        } else {
            $result = SchedulesManager::instance()->add($sc);
            if (Tools::getClass($result) == "Error") {
                $errors["rdv"] = $result;
            } else {
                $errors['rdv'] = new Error("Le rendez-vous a bien été pris auprès de votre médecin", "info");
            }
        }
    } else {
        $errors['rdv'] = new Error("Les informations entrées ne sont pas valides");
    }
}
//AJOUT DU MEDECIN AUX FAVORIS !
if (isset($_POST['add-to-favorite'])) {
    $errors['add-to-favorite'] = UsersManager::instance()->addDoctorToFavorites($_SESSION['user']->getIdMember(), $doctor->getIdMember());
}
if (isset($_POST['remove-to-favorite'])) {
    $errors['add-to-favorite'] = UsersManager::instance()->removeDoctorFromFavorites($_SESSION['user']->getIdMember(), $doctor->getIdMember());
}
$favoriteButtonAction = "add";
$titleButtonAction = "Ajout aux favoris";
if (UsersManager::instance()->checkFavoritesDoc($_SESSION['user']->getIdMember(), $doctor->getIdMember())) {
    $favoriteButtonAction = "remove";
    $titleButtonAction = "Retirer des favoris";
}
//RECUPERATION DU CALENDRIER
$calendrier = Calendar::instance()->getDoctorCalendar($dateStart, $doctor);
//On inclut la vue
include dirname(__FILE__) . '/../views/booking.php';
<?php

defined("_nova_district_token_") or die('');
if (isset($_POST['search-username']) and $_POST['search-username'] != "") {
    $member_result = AdminManager::instance()->searchUser($_POST['search-username']);
    if (Tools::getClass($member_result) == "Error") {
        $errors["admin-members"] = $member_result;
    }
}
if (isset($_GET['del_id']) and is_numeric($_GET['del_id'])) {
    $delete = UsersManager::instance()->delete(intval($_GET['del_id']));
    $errors['delete_member'] = $delete;
}
if (isset($_POST['message_to_user']) and isset($_GET['msg_id']) and is_numeric($_GET['msg_id'])) {
    $message = AdminManager::instance()->sendMessage(intval($_GET['msg_id']), $_POST['message_to_user']);
    $errors["msg-admin-members"] = $message;
}
//inclusion de la vue correspondante
include dirname(__FILE__) . '/../../views/modules/admin-members.php';
Beispiel #9
0
    }
    if (Tools::checkSexe($_POST['sexe']) and Tools::checkName($_POST['name']) and Tools::checkName($_POST['firstname']) and Tools::checkZip($_POST['zip']) and Tools::checkCity($_POST['city']) and Tools::checkAddress($_POST['address']) and Tools::checkPhone($_POST['phone']) and Tools::checkBirthday($_POST['birthday'])) {
        $tab['nom'] = strtolower($_POST['name']);
        $tab['sexe'] = strtolower($_POST['sexe']);
        $tab['prénom'] = strtolower($_POST['firstname']);
        $tab['code postal'] = $_POST['zip'];
        $tab['ville'] = strtolower($_POST['city']);
        $tab["complément d'adresse"] = strtolower($_POST['address']);
        $tab['téléphone'] = $_POST['phone'];
        $tab['date de naissance'] = $_POST['birthday'];
        //création du profil
        $_SESSION['user']->addToProfile($tab);
        $result = UsersManager::instance()->saveProfile($_SESSION['user']);
        if ($result == true) {
            //ok
            if (isset($_POST['pratician']) and intval($_POST['pratician']) != 0) {
                //si praticien
                UsersManager::instance()->askToBecomePratician($_SESSION['user']->getIdMember(), intval($_POST['pratician']));
            }
            Tools::redirect("home");
        } else {
            $_SESSION['user']->setProfile(array());
            //vide le profil utilisateur pour être sur qu'on reste sur la page welcome
            $errors['profil'] = new Error("Une erreur est survenue, merci de recommencer. Si celle-ci persiste, contactez un administrateur !");
        }
    } else {
        $errors['profil'] = new Error("Attention aux types des champs, certains ne sont pas valides");
    }
}
$medicinesList = DoctorsManager::instance()->getMedicines();
include dirname(__FILE__) . '/../views/welcome.php';
<?php

defined("_nova_district_token_") or die('');
// formulaire d'inscription
if (isset($_POST['inscription']) and isset($_POST['email']) and isset($_POST['pass'])) {
    if (Tools::checkEmail($_POST['email']) and Tools::checkPassword($_POST['pass']) and $_POST['pass'] == $_POST['pass2']) {
        $mb = new Member();
        $mb->setEmail(Tools::secure($_POST['email']));
        $mb->setPassword(Tools::secure(Tools::hash($_POST['pass'])));
        $result = UsersManager::instance()->add($mb);
        if (Tools::getParentClass($result) == "User") {
            $_SESSION['user'] = $result;
            die('<meta http-equiv="refresh" content="0;URL=app/index.php?p=welcome">');
        } else {
            if (Tools::getClass($result) == "Error") {
                $errors["inscription"] = $result;
            } else {
                $errors['inscription'] = new Error();
            }
        }
    } else {
        $errors['inscription'] = new Error("Votre email est invalide ou vos mots de passes ne sont pas identiques !");
    }
}
//On inclut la vue
include dirname(__FILE__) . '/../views/inscription.php';