parent
68bdbc2afe
commit
ca79f102cf
@ -1,12 +1,11 @@
|
|||||||
{
|
{
|
||||||
"require": {
|
"require": {
|
||||||
"twig/twig": "^3.0"
|
"twig/twig": "^3.0",
|
||||||
|
"ext-pdo": "*"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"controleur\\": "controleur/",
|
"App\\": "src/"
|
||||||
"config\\": "config/",
|
|
||||||
"modeles\\": "modeles/"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace controleur;
|
|
||||||
|
|
||||||
use config\Validation;
|
|
||||||
|
|
||||||
class UtilisateurControleur
|
|
||||||
{
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
global $twig;
|
|
||||||
if (!isset($_REQUEST["action"])) {
|
|
||||||
$action = NULL;
|
|
||||||
} else {
|
|
||||||
$action = Validation::nettoyerString($_REQUEST["action"]);
|
|
||||||
}
|
|
||||||
switch ($action) {
|
|
||||||
case NULL:
|
|
||||||
case "accueil":
|
|
||||||
$this->accueil();
|
|
||||||
break;
|
|
||||||
case "connection":
|
|
||||||
$this->connection();
|
|
||||||
break;
|
|
||||||
case "inscription":
|
|
||||||
$this->inscription();
|
|
||||||
break;
|
|
||||||
case "consulterProfilLimite":
|
|
||||||
$this->consulterProfilLimite();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$dVueErreur[] ="Action inconnue ou non autorisée";
|
|
||||||
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function connection()
|
|
||||||
{
|
|
||||||
global $twig;
|
|
||||||
echo $twig->render('connexion.html', []);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function inscription()
|
|
||||||
{
|
|
||||||
global $twig;
|
|
||||||
echo $twig->render('inscription.html', []);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function accueil()
|
|
||||||
{
|
|
||||||
global $twig;
|
|
||||||
echo $twig->render('accueil.html', []);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function consulterProfilLimite()
|
|
||||||
{
|
|
||||||
//TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace modeles;
|
|
||||||
|
|
||||||
class UtilisateurModele
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @description Charger le flux d'activiter
|
|
||||||
* @return array flux
|
|
||||||
*/
|
|
||||||
public function LoadFeed() : array
|
|
||||||
{
|
|
||||||
// TO DO
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description se connecter
|
|
||||||
* @param string email
|
|
||||||
* @param string hash
|
|
||||||
* @return \Alumni
|
|
||||||
*/
|
|
||||||
public function Login(string $email,string $hash) : \Alumni
|
|
||||||
{
|
|
||||||
// TO DO
|
|
||||||
return new \Alumni(null,null,null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description s'inscrire
|
|
||||||
* @param string email
|
|
||||||
* @param string hash
|
|
||||||
* @param string $pseudo
|
|
||||||
* @return \Alumni chargé
|
|
||||||
*/
|
|
||||||
public function signIn(string $email,string $pseudo,string $hash) : \Alumni
|
|
||||||
{
|
|
||||||
// TO DO
|
|
||||||
return new Compte(null,null,null);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace config;
|
namespace App\config;
|
||||||
|
|
||||||
class Validation
|
class Validation
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\config;
|
||||||
//gen
|
//gen
|
||||||
$rep = __DIR__ . '/../';
|
$rep = __DIR__ . '/php/';
|
||||||
|
|
||||||
// liste des modules à inclure
|
// liste des modules à inclure
|
||||||
$dConfig['includes']= array('controleur/Validation.php');
|
$dConfig['includes']= array('controleur/Validation.php');
|
@ -0,0 +1,87 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\controleur;
|
||||||
|
|
||||||
|
class UtilisateurControleur
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
global $twig;
|
||||||
|
if (!isset($_REQUEST["action"])) {
|
||||||
|
$action = NULL;
|
||||||
|
} else {
|
||||||
|
$action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
|
||||||
|
}
|
||||||
|
switch ($action) {
|
||||||
|
case NULL:
|
||||||
|
case "accueil":
|
||||||
|
$this->accueil();
|
||||||
|
break;
|
||||||
|
case "connection":
|
||||||
|
$this->connection();
|
||||||
|
break;
|
||||||
|
case "inscription":
|
||||||
|
$this->inscription();
|
||||||
|
break;
|
||||||
|
case "consulterProfilLimite":
|
||||||
|
$this->consulterProfilLimite();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$dVueErreur[] ="Action inconnue ou non autorisée";
|
||||||
|
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function connection()
|
||||||
|
{
|
||||||
|
global $twig;
|
||||||
|
echo $twig->render('connexion.html', []);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function inscription()
|
||||||
|
{
|
||||||
|
global $twig;
|
||||||
|
$dVueErreur = []; // Tableau pour stocker les erreurs, le cas échéant
|
||||||
|
|
||||||
|
if (isset($_POST['email'], $_POST['username'], $_POST['password'])) {
|
||||||
|
$email = \App\config\Validation::nettoyerString($_POST['email']);
|
||||||
|
$motDePasse = \App\config\Validation::nettoyerString($_POST['password']);
|
||||||
|
|
||||||
|
|
||||||
|
// Validez les données d'inscription, par exemple, vérifiez si l'email est unique
|
||||||
|
// Vous pouvez également effectuer d'autres validations nécessaires
|
||||||
|
|
||||||
|
$userModel = new \App\models\UtilisateurModele();
|
||||||
|
$nouvelUtilisateur = $userModel->inscription($email, $motDePasse);
|
||||||
|
|
||||||
|
// Si l'inscription a réussi, redirigez l'utilisateur vers une page de confirmation
|
||||||
|
// Vous pouvez également gérer les erreurs ici en cas d'échec de l'inscription
|
||||||
|
|
||||||
|
if ($nouvelUtilisateur instanceof \App\metier\Alumni) {
|
||||||
|
// L'inscription a réussi, redirigez l'utilisateur vers une page de confirmation
|
||||||
|
// par exemple :
|
||||||
|
header('Location: index.php?action=inscription_success');
|
||||||
|
exit();
|
||||||
|
} else {
|
||||||
|
// L'inscription a échoué, ajoutez un message d'erreur
|
||||||
|
$dVueErreur[] = "L'inscription a échoué, veuillez réessayer.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Affichez le formulaire d'inscription ou les erreurs le cas échéant
|
||||||
|
echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function accueil()
|
||||||
|
{
|
||||||
|
global $twig;
|
||||||
|
echo $twig->render('accueil.html', []);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function consulterProfilLimite()
|
||||||
|
{
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\dal;
|
||||||
class Connection extends PDO {
|
use PDO;
|
||||||
|
class Connection extends \PDO {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Statement
|
* @var Statement
|
@ -1,20 +1,20 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\dal\gateway;
|
||||||
|
use PDO;
|
||||||
class AlumniGateway
|
class AlumniGateway
|
||||||
{
|
{
|
||||||
private Connection $con;
|
private \App\dal\Connection $con;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $con
|
* @param $con
|
||||||
*/
|
*/
|
||||||
public function __construct(Connection $con){
|
public function __construct(\App\dal\Connection $con){
|
||||||
$this->con = $con;
|
$this->con = $con;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function insert(string $email, int $id, string $motDePasse, Role $role){
|
public function insert(string $email, string $motDePasse, string $role){
|
||||||
$query='INSERT INTO Alumni VALUES (:i, :e, :m, :r)';
|
$query='INSERT INTO Alumni VALUES (:e, :m, :r)';
|
||||||
$this->con->executeQuery($query, array(
|
return $this->con->executeQuery($query, array(
|
||||||
':i' => array($id, PDO::PARAM_INT),
|
|
||||||
':e' => array($email, PDO::PARAM_STR),
|
':e' => array($email, PDO::PARAM_STR),
|
||||||
':m' => array($motDePasse, PDO::PARAM_STR),
|
':m' => array($motDePasse, PDO::PARAM_STR),
|
||||||
':r' => array($role, PDO::PARAM_STR)
|
':r' => array($role, PDO::PARAM_STR)
|
@ -1,13 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\dal\gateway;
|
||||||
class EvenementGateway
|
class EvenementGateway
|
||||||
{
|
{
|
||||||
private Connection $con;
|
private \App\dal\Connection $con;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $con
|
* @param $con
|
||||||
*/
|
*/
|
||||||
public function __construct(Connection $con){
|
public function __construct(\App\dal\Connection $con){
|
||||||
$this->con = $con;
|
$this->con = $con;
|
||||||
}
|
}
|
||||||
|
|
@ -1,13 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\dal\gateway;
|
||||||
class OffreGateway
|
class OffreGateway
|
||||||
{
|
{
|
||||||
private Connection $con;
|
private \App\dal\Connection $con;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $con
|
* @param $con
|
||||||
*/
|
*/
|
||||||
public function __construct(Connection $con){
|
public function __construct(\App\dal\Connection $con){
|
||||||
$this->con = $con;
|
$this->con = $con;
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\metier;
|
||||||
class Article
|
class Article
|
||||||
{
|
{
|
||||||
/**
|
/**
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\metier;
|
||||||
class Evenement
|
class Evenement
|
||||||
{
|
{
|
||||||
/**
|
/**
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\metier;
|
||||||
class Experience
|
class Experience
|
||||||
{
|
{
|
||||||
/**
|
/**
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\metier;
|
||||||
class Formation
|
class Formation
|
||||||
{
|
{
|
||||||
/**
|
/**
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\metier;
|
||||||
enum TypeContrat
|
enum TypeContrat
|
||||||
{
|
{
|
||||||
case CDI;
|
case CDI;
|
@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\metier;
|
||||||
class Profil
|
class Profil
|
||||||
{
|
{
|
||||||
/**
|
/**
|
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\metier;
|
||||||
|
enum Role
|
||||||
|
{
|
||||||
|
case Admin;
|
||||||
|
case Moderateur;
|
||||||
|
case Utilisateur;
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace modeles;
|
namespace App\models;
|
||||||
|
|
||||||
class MembreModele extends UtilisateurModele
|
class MembreModele extends UtilisateurModele
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace modeles;
|
namespace App\models;
|
||||||
|
|
||||||
class ModerateurControleur
|
class ModerateurControleur
|
||||||
{
|
{
|
@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\models;
|
||||||
|
class UtilisateurModele
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @description Charger le flux d'activiter
|
||||||
|
* @return array flux
|
||||||
|
*/
|
||||||
|
public function LoadFeed() : array
|
||||||
|
{
|
||||||
|
// TO DO
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description se connecter
|
||||||
|
* @param string email
|
||||||
|
* @param string hash
|
||||||
|
* @return \App\metier\Alumni
|
||||||
|
*/
|
||||||
|
public function Login(string $email,string $hash) : \App\metier\Alumni
|
||||||
|
{
|
||||||
|
// TO DO
|
||||||
|
return new \App\metier\Alumni(null,null,null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description s'inscrire
|
||||||
|
* @param string email
|
||||||
|
* @param string hash
|
||||||
|
* @param string $pseudo
|
||||||
|
* @return \Alumni chargé
|
||||||
|
*/
|
||||||
|
public function inscription(string $email, string $hashpassword): \App\metier\Alumni
|
||||||
|
{
|
||||||
|
$dsn = "mysql:host=localhost;dbname=dbAlumni";
|
||||||
|
$username = "root";
|
||||||
|
$password = "";
|
||||||
|
|
||||||
|
$role = "Utilisateur";
|
||||||
|
$con = new \App\dal\Connection($dsn, $username, $password);
|
||||||
|
$gate = new \App\dal\gateway\AlumniGateway($con);
|
||||||
|
// Insérez le nouvel utilisateur dans la base de données en utilisant AlumniGateway
|
||||||
|
if ($gate->insert($email, $hashpassword, $role)) {
|
||||||
|
// L'insertion a réussi, retournez le nouvel utilisateur
|
||||||
|
$nouvelUtilisateur = new \App\metier\Alumni($email, $hashpassword, $role);
|
||||||
|
return $nouvelUtilisateur;
|
||||||
|
} else {
|
||||||
|
// L'insertion a échoué, renvoyez un utilisateur vide pour indiquer l'échec
|
||||||
|
return new \App\metier\Alumni(null, null, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue