/** * @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; }
public function index($id = null) { $user = CurrentUser::$user; if ($id == null) { if (empty($user)) { new Alert('warning', 'exclamation-triangle', 'Il faut être connecté pour accéder pour accéder à ce lien'); Url::redir('/erreur/'); } else { Url::redir('/utilisateur/' . $user->getId() . '/'); } } $ownProfil = !empty($user) && $user->getId() == $id; $profilUser = $ownProfil ? $user : UsersManager::getById($id); require APP . 'view/_templates/header.php'; require APP . 'view/utilisateur/index.php'; require APP . 'view/_templates/footer.php'; }
function in() { if (!empty(CurrentUser::$user)) { Url::redir('/'); } if (isset($_POST['email']) && isset($_POST['password'])) { $user = UsersManager::getByEmail($_POST['email']); if (!empty($user) && $user->testPassword($_POST['password'])) { $_SESSION['id'] = $user->getId(); new Alert('success', "check-square", "Vous êtes maintenant connecté !"); Url::redir('/'); } else { new Alert('warning', "exclamation-triangle", "L'utilisateur ou le mot de passe ne correspond pas"); } } require APP . 'view/_templates/header.php'; require APP . 'view/log/in.php'; require APP . 'view/_templates/footer.php'; }
public function __construct() { CurrentUser::$user = isset($_SESSION['id']) ? UsersManager::getById($_SESSION['id']) : null; }
<?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';
<?php require 'usersManager.php'; session_start(); // Set the HTTP header to UTF-8 and Json data header('Content-type: application/json; charset=UTF-8'); $data = array(); // array to pass back data $usersManager = new UsersManager(getUsersFilePath()); // If no data are send, we return an error if (!isset($_POST['nickname']) || empty($_POST['nickname'])) { $data['success'] = false; $data['errors'] = "Nickname field is empty"; } else { $nickname = $_POST['nickname']; // add new user if (!$usersManager->usersExists($nickname)) { if (!isset($_POST['rememberMe']) || empty($_POST['rememberMe'])) { $rememberMe = 'false'; } else { $rememberMe = $_POST['rememberMe']; } if ($rememberMe == 'true') { $password = password_hash($nickname, PASSWORD_DEFAULT); $rememberMe = $password; $data['password'] = $password; } $_SESSION['nickname'] = $nickname; $usersManager->addUsers($nickname, $rememberMe); $data['success'] = true; } else {
if (is_string($retour)) { $errors[] = $retour; } else { $user = $retour; if ($user->verifPassword($_POST['password'])) { $_SESSION['id'] = $user->getId(); header('Location: index.php'); exit; } else { $errors[] = 'Incorrect Password'; } } } // ________ REGISTER ________ if (isset($_POST['log'], $_POST['pass'])) { $manager = new UsersManager($database); $retour = $manager->create($_POST['log'], $_POST['pass']); if (is_string($retour)) { $errors[] = $retour; } else { header('Location: index.php?page=login'); exit; } } // else if ($action == 'logout') // { // session_destroy(); // $_SESSION = array(); // header('Location: index.php'); // exit; // }
<?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 $usersManager = new UsersManager($database); $messages = $usersManager->getList(); // $selectQuery = "SELECT * FROM messages ORDER BY id DESC LIMIT 0, 100"; // $selectResult = mysqli_query($database, $selectQuery); // if ( $selectResult ) // { // while ( $message = mysqli_fetch_assoc($selectResult) ) // { // $userQuery = "SELECT * FROM users WHERE id = '".$message['id_user']."'"; // $userResult = mysqli_query($database, $userQuery); // $user = mysqli_fetch_assoc($userResult); // require('views/messages.phtml'); // } // } // else { // echo "Aucun message à afficher."; // }
<?php if (isset($_POST['message'])) { $messagesManager = new MessagesManager($database); $usersManager = new UsersManager($database); $user = $usersManager->getCurrent(); $message = $messagesManager->create($_POST['message'], $user); exit; }
<?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';
} 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 require 'usersManager.php'; session_start(); if (isset($_SESSION['nickname'])) { $usersManager = new UsersManager(getUsersFilePath()); $usersManager->updateTimespan($_SESSION['nickname']); echo json_encode($usersManager->getAllUsers()); }
<?php require 'usersManager.php'; require 'messagesManager.php'; session_start(); $requestMethod = $_SERVER['REQUEST_METHOD']; $data = array(); // array to pass back data switch ($requestMethod) { case 'GET': if (!isset($_SESSION['nickname'])) { $data['nickname'] = ""; } else { $data['nickname'] = $_SESSION['nickname']; } break; case 'DELETE': if (isset($_SESSION['nickname'])) { $usersManager = new UsersManager(getUsersFilePath()); $usersManager->removeUsers($_SESSION['nickname']); $messagesManager = new MessagesManager(getMessagesFilePath()); $messagesManager->removeMessages($_SESSION['nickname']); unset($_SESSION['nickname']); $data['success'] = true; } break; default: break; } echo json_encode($data);
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(''); $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>
<?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';
<?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';
<?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';