/** 
  * @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;
 }
Example #2
0
 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';
 }
Example #3
0
 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';
 }
Example #4
0
 public function __construct()
 {
     CurrentUser::$user = isset($_SESSION['id']) ? UsersManager::getById($_SESSION['id']) : null;
 }
Example #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';
<?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;
// }
Example #8
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';
Example #9
0
<?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';
Example #12
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

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);
Example #15
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';
Example #16
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>
Example #17
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';
Example #18
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';
Example #19
0
<?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';