CARIA.2.3
Update for the final presentation.
@@ -1,44 +1,44 @@
|
||||
<?php
|
||||
// Connexion à la base de données
|
||||
try
|
||||
{
|
||||
$bdd = new PDO('mysql:host=HOST:3307;dbname=DB', 'USER', 'MDP',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
die('Erreur : '.$e->getMessage());
|
||||
}
|
||||
# Constantes
|
||||
define('VISITEUR',1);
|
||||
define('INSCRIT',2);
|
||||
define('MODO',3);
|
||||
define('ADMIN',4);
|
||||
define('ERR_IS_CO','Vous ne pouvez pas accéder à cette page si vous n\'êtes pas connecté');
|
||||
session_start();
|
||||
# Connexion et initialisation des variables
|
||||
$lvl_session = isset($_SESSION['privilege_session']) ? (int)$_SESSION['privilege_session'] : 1;
|
||||
$id_session = isset($_SESSION['id_session']) ? (int)$_SESSION['id_session'] : 0;
|
||||
$pseudo_session = isset($_SESSION['pseudo_session']) ? $_SESSION['pseudo_session'] : '';
|
||||
|
||||
function verifierAcces($min_privilege_requis) {
|
||||
// Vérifier si l'utilisateur est connecté
|
||||
if (!isset($_SESSION['id_session'])) {
|
||||
// Afficher la page d'erreur en incluant le fichier de vue
|
||||
$message = "Vous devez être connecté pour accéder à cette page.";
|
||||
include 'erreur.php';
|
||||
exit(); // Arrêter l'exécution du script après affichage de l'erreur
|
||||
}
|
||||
|
||||
// Vérifier le privilège de l'utilisateur
|
||||
$privilege_utilisateur = isset($_SESSION['privilege_session']) ? (int)$_SESSION['privilege_session'] : VISITEUR;
|
||||
|
||||
// Vérifier si le privilège de l'utilisateur est suffisant pour accéder à la page
|
||||
if ($privilege_utilisateur < $min_privilege_requis) {
|
||||
// Afficher la page d'erreur en incluant le fichier de vue
|
||||
$message = "Vous n'avez pas les droits d'accès nécessaires pour accéder à cette page.";
|
||||
include 'erreur.php';
|
||||
exit(); // Arrêter l'exécution du script après affichage de l'erreur
|
||||
}
|
||||
}
|
||||
|
||||
<?php
|
||||
// Connexion à la base de données
|
||||
try
|
||||
{
|
||||
$bdd = new PDO('mysql:host=nasccb:3307;dbname=CARIA', 'christian', 'fYUYWc5rSyC!',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
die('Erreur : '.$e->getMessage());
|
||||
}
|
||||
# Constantes
|
||||
define('VISITEUR',1);
|
||||
define('INSCRIT',2);
|
||||
define('MODO',3);
|
||||
define('ADMIN',4);
|
||||
define('ERR_IS_CO','Vous ne pouvez pas accéder à cette page si vous n\'êtes pas connecté');
|
||||
session_start();
|
||||
# Connexion et initialisation des variables
|
||||
$lvl_session = isset($_SESSION['privilege_session']) ? (int)$_SESSION['privilege_session'] : 1;
|
||||
$id_session = isset($_SESSION['id_session']) ? (int)$_SESSION['id_session'] : 0;
|
||||
$pseudo_session = isset($_SESSION['pseudo_session']) ? $_SESSION['pseudo_session'] : '';
|
||||
|
||||
function verifierAcces($min_privilege_requis) {
|
||||
// Vérifier si l'utilisateur est connecté
|
||||
if (!isset($_SESSION['id_session'])) {
|
||||
// Afficher la page d'erreur en incluant le fichier de vue
|
||||
$message = "Vous devez être connecté pour accéder à cette page.";
|
||||
include 'erreur.php';
|
||||
exit(); // Arrêter l'exécution du script après affichage de l'erreur
|
||||
}
|
||||
|
||||
// Vérifier le privilège de l'utilisateur
|
||||
$privilege_utilisateur = isset($_SESSION['privilege_session']) ? (int)$_SESSION['privilege_session'] : VISITEUR;
|
||||
|
||||
// Vérifier si le privilège de l'utilisateur est suffisant pour accéder à la page
|
||||
if ($privilege_utilisateur < $min_privilege_requis) {
|
||||
// Afficher la page d'erreur en incluant le fichier de vue
|
||||
$message = "Vous n'avez pas les droits d'accès nécessaires pour accéder à cette page.";
|
||||
include 'erreur.php';
|
||||
exit(); // Arrêter l'exécution du script après affichage de l'erreur
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -18,6 +18,7 @@ switch($action){
|
||||
case "consulter":
|
||||
// Afficher les informations du membre
|
||||
$userData = get_MemberInfo($membreId);
|
||||
setlocale(LC_TIME, 'fr_FR.UTF-8', 'fra'); // Ajustez selon votre système
|
||||
if ($userData === false) {
|
||||
$message = "Impossible de récupérer les informations de l'utilisateur où il n'existe pas.";
|
||||
require_once './vue/erreur.html';
|
||||
@@ -32,6 +33,18 @@ switch($action){
|
||||
echo '<p>Cette action est impossible</p>';
|
||||
}
|
||||
|
||||
// Fonction pour obtenir le texte correspondant au privilège
|
||||
function getPrivilegeText($privilege) {
|
||||
$privilegeMap = [
|
||||
1 => 'Visiteur',
|
||||
2 => 'Utilisateur',
|
||||
3 => 'Modérateur',
|
||||
4 => 'Administrateur',
|
||||
];
|
||||
|
||||
return isset($privilegeMap[$privilege]) ? $privilegeMap[$privilege] : 'Privilège inconnu';
|
||||
}
|
||||
|
||||
function handleProfileModification() {
|
||||
if (empty($_POST['sent'])) {
|
||||
$userData = get_MemberInfoId();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
require_once 'config/connexion_sql.php';
|
||||
verifierAcces(VISITEUR);
|
||||
verifierAcces(ADMIN);
|
||||
require_once 'controleur/gestion.php';
|
||||
?>
|
||||
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
BIN
images/vehicules/CB333MV/img_vehicule.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 63 KiB |
BIN
images/vehicules/GH239RH/img_vehicule.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 72 KiB |
@@ -55,18 +55,14 @@ $(document).ready(function () {
|
||||
function eventClickFunction(event) {
|
||||
// Afficher une pop-up avec les détails de l'événement
|
||||
alert(
|
||||
event.title +
|
||||
" : \n" +
|
||||
event.vehicule +
|
||||
" pour le client " +
|
||||
event.utilisateur +
|
||||
"\n" +
|
||||
"\n" +
|
||||
"Période de réservation : " +
|
||||
"\n" +
|
||||
event.start.format("dddd DD MMMM YYYY HH:mm") +
|
||||
" --> " +
|
||||
event.end.format("dddd DD MMMM YYYY HH:mm")
|
||||
event.title + " - " + event.vehicule + " pour le client " + event.utilisateur + "\n" +
|
||||
"\n" + "Date et lieu de début : " +
|
||||
"\n" + event.start.format("dddd DD MMMM YYYY HH:mm") +
|
||||
"\n" + event.adresse +"\n" +
|
||||
"\n" + "Date et lieu de fin : " +
|
||||
"\n" + event.end.format("dddd DD MMMM YYYY HH:mm") +
|
||||
"\n" + event.adresse
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -48,3 +48,5 @@
|
||||
{"id":"1","latitude":"48.6757215","longitude":"2.3862465","datetime":"17-05-2024 22.25"}
|
||||
{"id":"1","latitude":"48.6757256","longitude":"2.3862458","datetime":"17-05-2024 22.30"}
|
||||
{"id":"1","latitude":"48.6779999","longitude":"2.3875904","datetime":"18-05-2024 00.49"}
|
||||
{"id":"1","latitude":"48.8184344","longitude":"2.2759596","datetime":"19-06-2024 10.20"}
|
||||
{"id":"1","latitude":"48.6757095","longitude":"2.3862128","datetime":"20-06-2024 09.50"}
|
||||
|
||||
@@ -2,14 +2,16 @@
|
||||
require '../../config/connexion_sql.php';
|
||||
global $bdd;
|
||||
$json = array();
|
||||
$sqlQuery = "SELECT res.*, car.marque, car.modele, usr.pseudo FROM Reservations res INNER JOIN Clients usr ON res.id_user = usr.id INNER JOIN Vehicules car ON res.id_vehicule = car.id ORDER BY res.id";
|
||||
$sqlQuery = "SELECT res.*, car.marque, car.modele, usr.pseudo, usr.adresse FROM Reservations res INNER JOIN Clients usr ON res.id_user = usr.id INNER JOIN Vehicules car ON res.id_vehicule = car.id ORDER BY res.id";
|
||||
$stmt = $bdd->query($sqlQuery);
|
||||
$eventArray = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
foreach ($eventArray as &$event) {
|
||||
$event['vehicule'] = $event['marque'] . ' ' . $event['modele']; // Supposons que le nom du véhicule est stocké dans 'marque'
|
||||
$event['vehicule'] = $event['marque'] . ' ' . $event['modele'];
|
||||
}
|
||||
foreach ($eventArray as &$event) {
|
||||
$event['utilisateur'] = $event['pseudo']; // Supposons que le nom du véhicule est stocké dans 'marque'
|
||||
$event['utilisateur'] = $event['pseudo'];
|
||||
$event['adresse'] = $event['adresse'];
|
||||
|
||||
}
|
||||
echo json_encode($eventArray);
|
||||
$bdd = null;
|
||||
|
||||
@@ -3,16 +3,17 @@ require '../../config/connexion_sql.php';
|
||||
global $bdd;
|
||||
$id = $_SESSION['id_session'];
|
||||
$json = array();
|
||||
$sqlQuery = "SELECT res.*, car.marque, car.modele, usr.pseudo FROM Reservations res INNER JOIN Clients usr ON res.id_user = usr.id INNER JOIN Vehicules car ON res.id_vehicule = car.id WHERE res.id_user = :id ORDER BY res.id";
|
||||
$sqlQuery = "SELECT res.*, car.marque, car.modele, usr.pseudo, usr.adresse FROM Reservations res INNER JOIN Clients usr ON res.id_user = usr.id INNER JOIN Vehicules car ON res.id_vehicule = car.id WHERE res.id_user = :id ORDER BY res.id";
|
||||
$stmt = $bdd->prepare($sqlQuery);
|
||||
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
$eventArray = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
foreach ($eventArray as &$event) {
|
||||
$event['vehicule'] = $event['marque'] . ' ' . $event['modele']; // Supposons que le nom du véhicule est stocké dans 'marque'
|
||||
$event['vehicule'] = $event['marque'] . ' ' . $event['modele'];
|
||||
}
|
||||
foreach ($eventArray as &$event) {
|
||||
$event['utilisateur'] = $event['pseudo']; // Supposons que le nom du véhicule est stocké dans 'marque'
|
||||
$event['utilisateur'] = $event['pseudo'];
|
||||
$event['adresse'] = $event['adresse'];
|
||||
}
|
||||
echo json_encode($eventArray);
|
||||
$bdd = null;
|
||||
|
||||
@@ -30,7 +30,7 @@ class Connexion {
|
||||
$id=(isset($_SESSION['id_session']))?(int) $_SESSION['id_session']:0;
|
||||
|
||||
//On prend les infos du membre
|
||||
$req = $bdd->prepare('SELECT pseudo, mdp, email, avatar, adresse, prenom, nom, phone, dateenregistre FROM Clients WHERE id=:id');
|
||||
$req = $bdd->prepare('SELECT pseudo, mdp, email, avatar, adresse, prenom, nom, phone, dateenregistre, privilege FROM Clients WHERE id=:id');
|
||||
$req->bindValue(':id',$id,PDO::PARAM_INT);
|
||||
$req->execute();
|
||||
$userData = $req->fetch();
|
||||
@@ -67,7 +67,7 @@ function get_MemberInfoId(){
|
||||
$id=(isset($_SESSION['id_session']))?(int) $_SESSION['id_session']:0;
|
||||
|
||||
//On prend les infos du membre
|
||||
$req = $bdd->prepare('SELECT pseudo, mdp, email, avatar, adresse, prenom, nom, phone, dateenregistre FROM Clients WHERE id=:id');
|
||||
$req = $bdd->prepare('SELECT pseudo, mdp, email, avatar, adresse, prenom, nom, phone, dateenregistre, privilege FROM Clients WHERE id=:id');
|
||||
$req->bindValue(':id',$id,PDO::PARAM_INT);
|
||||
$req->execute();
|
||||
$userData = $req->fetch();
|
||||
@@ -198,8 +198,8 @@ function edit_avatar($image, $pseudo) {
|
||||
$defaultDirImagePath = "./images/avatars/img_user.jpg";
|
||||
$dirImagePath = "./images/avatars/" . $pseudo . "/img_user.jpg";
|
||||
$imagePath = "/images/avatars/" . $pseudo . "/img_user.jpg";
|
||||
$newWidth = 300;
|
||||
$newHeight = 300;
|
||||
$newWidth = 100;
|
||||
$newHeight = 100;
|
||||
list($width, $height) = getimagesize($image['tmp_name']);
|
||||
$imageResized = imagecreatetruecolor($newWidth, $newHeight);
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
require_once 'config/connexion_sql.php';
|
||||
verifierAcces(INSCRIT);
|
||||
require_once 'controleur/profil.php';
|
||||
?>
|
||||
@@ -1,5 +1,20 @@
|
||||
<?php include 'header.html'; ?>
|
||||
<section id="content" class="page-content text-center py-3">
|
||||
<div class="row justify-content-center py-3">
|
||||
<div class="col-lg-9">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3>A propos de Caria</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>Votre plateforme de référence pour la réservation de véhicules entièrement autonomes.<br>
|
||||
En quelques clics, réservez un véhicule autonome adapté à vos besoins.<br>
|
||||
Profitez d'une expérience de mobilité moderne et sans stress grâce à nos technologies avancées de conduite autonome.<br>
|
||||
Connectez-vous dès maintenant pour explorer toutes les fonctionnalités et services exclusifs réservés à nos utilisateurs.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center py-3">
|
||||
<div class="col-lg-5">
|
||||
<div class="card">
|
||||
@@ -31,7 +46,7 @@
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3>Véhicule actuellement en circulation</h3>
|
||||
<h3>Véhicules actuellement en circulation</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="map"></div>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Informations personnelles</legend>
|
||||
<legend>Informations personnelles <?php echo stripslashes(getPrivilegeText($userData['privilege'])); ?></legend>
|
||||
<div class="mb-3 row">
|
||||
<label for="pseudo" class="col-sm-4 col-form-label">Pseudo</label>
|
||||
<div class="col-sm-8">
|
||||
|
||||
@@ -28,9 +28,11 @@
|
||||
<li class="nav-item px-5">
|
||||
<a class="nav-link" href="./index.php">Accueil</a>
|
||||
</li>
|
||||
<li class="nav-item px-5">
|
||||
<a class="nav-link" href="gestion.php">Gestion</a>
|
||||
</li>
|
||||
<?php if($_SESSION['privilege_session'] == 4) { ?>
|
||||
<li class="nav-item px-5">
|
||||
<a class="nav-link" href="gestion.php">Gestion</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li class="nav-item px-5">
|
||||
<a class="nav-link" href="./profil.php?action=modifier">Modifier mes informations</a>
|
||||
</li>
|
||||
|
||||
@@ -1,10 +1,26 @@
|
||||
<?php include 'header.html'; ?>
|
||||
<section id="content" class="page-content text-center py-3">
|
||||
<div class="row justify-content-center py-3">
|
||||
<div class="col lg-9">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3>A propos de Caria</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>Votre plateforme innovante pour la réservation de véhicules entièrement autonomes.<br>
|
||||
Vous avez accès à une interface personnalisée qui vous permet de réserver facilement un véhicule autonome en quelques clics.<br>
|
||||
Profitez d'une expérience de mobilité avancée, où sécurité, confort et efficacité sont au cœur de notre service.<br>
|
||||
Explorez les fonctionnalités exclusives, suivez vos réservations en temps réel, et bénéficiez d'un support client dédié.<br>
|
||||
Merci de nous faire confiance pour vos besoins en mobilité autonome.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row py-3">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3>Véhicule actuellement en circulation</h3>
|
||||
<h3>Véhicules actuellement en circulation</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="map"></div>
|
||||
@@ -16,7 +32,7 @@
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3>Réservation instantané d'un véhicule</h3>
|
||||
<h3>Réservation instantanée d'un véhicule</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form id="eventMyForm">
|
||||
|
||||