diff --git a/.idea/alica.iml b/.idea/alica.iml old mode 100644 new mode 100755 diff --git a/.idea/deployment.xml b/.idea/deployment.xml old mode 100644 new mode 100755 diff --git a/.idea/discord.xml b/.idea/discord.xml old mode 100644 new mode 100755 diff --git a/.idea/php.xml b/.idea/php.xml old mode 100644 new mode 100755 diff --git a/php/.DS_Store b/php/.DS_Store old mode 100644 new mode 100755 diff --git a/php/cache/a2/a28a53cf6f313f83f1634484922e1e19.php b/php/cache/a2/a28a53cf6f313f83f1634484922e1e19.php old mode 100644 new mode 100755 diff --git a/php/controleur/AdminControleur.php b/php/controleur/AdminControleur.php index 6d97769..fa74bfe 100755 --- a/php/controleur/AdminControleur.php +++ b/php/controleur/AdminControleur.php @@ -2,7 +2,61 @@ namespace controleur; -class AdminControleur +use config\Validation; + +class AdminControleur extends ModerateurControleur { + public function __construct() + { + global $twig; + if (!isset($_REQUEST["action"])) { + $action = NULL; + } else { + $action = Validation::nettoyerString($_REQUEST["action"]); + } + switch ($action) { + case "supprimerCompte": + $this->supprimerCompte(); + break; + case "consulterSignalement": + $this->consulterSignalement(); + break; + case "creerEvenement": + $this->creerEvenement(); + break; + case "supprimerEvenement": + $this->supprimerEvenement(); + break; + case "supprimerOffre": + $this->supprimerOffre(); + break; + default: + parent::__construct(); + } + } + + protected function supprimerCompte() + { + //TODO + } + + protected function consulterSignalement() + { + //TODO + } + + protected function creerEvenement() + { + //TODO + } + + protected function supprimerEvenement() + { + //TODO + } -} \ No newline at end of file + protected function supprimerOffre() + { + //TODO + } +} diff --git a/php/controleur/FrontControleur.php b/php/controleur/FrontControleur.php index 78cc736..7e1d2bb 100755 --- a/php/controleur/FrontControleur.php +++ b/php/controleur/FrontControleur.php @@ -1,57 +1,56 @@ reinit(); - break; - - default: - $dVueEreur[] = "Erreur d'appel php"; - echo $twig->render('accueil.html', ['dVueEreur' => $dVueEreur]); - break; + $dVueErreur = []; + $actions = array( + "Admin" => [ + "supprimerCompte", "consulterSignalement", "creerEvenement", "supprimerEvenement","supprimerOffre" + ], + "Modérateur" => [ + //TODO + ], + "Membre" => [ + "deconnexion","proposerOffre","consulterProfil","modifierProfil","signaler" + ], + "Utilisateur" => [ + "connection", "inscription", "accueil","consulterProfilLimite" + ] + ); + + $action = Validation::nettoyerString($_GET["action"] ?? ""); + if(in_array($action,$actions['Admin'])) { + if (false) { //TODO: tester si connecté en tant qu'admin via la session + $dVueErreur[] = 'Veuillez vous connecter'; + echo $twig->render('erreur.html', ['dVueEreur' => $dVueErreur]); + } else{ + new AdminControleur(); } - } catch (\PDOException $e) { - //si erreur BD, pas le cas ici - $dVueEreur[] = 'Erreur inattendue!!! '; - } catch (\Exception $e2) { - $dVueEreur[] = 'Erreur inattendue!!! '; - echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]); } - - //fin - exit(0); - }//fin constructeur - - public function reinit() - { - global $twig; // nécessaire pour utiliser variables globales - echo 'toto'; - $dVue = [ - 'nom' => '', - 'age' => 0, - ]; - var_dump($dVue); - - echo $twig->render('accueil.html', [ - 'dVue' => $dVue - ]); + else if(in_array($action,$actions['Modérateur'])) { + if (false) { //TODO: tester si connecté en tant que modérateur via la session + $dVueErreur[] = 'Veuillez vous connecter'; + echo $twig->render('erreur.html', ['dVueEreur' => $dVueErreur]); + } else{ + new ModerateurControleur(); + } + } + else if(in_array($action,$actions['Membre'])) { + if (isset($_SESSION["login"]) && !empty($_SESSION["login"]) == null) { + $dVueErreur[] = 'Veuillez vous connecter'; + echo $twig->render('erreur.html', ['dVueEreur' => $dVueErreur]); + } else{ + new MembreControleur(); + } + }else{ + new UtilisateurControleur(); + } } - } diff --git a/php/controleur/MembreControleur.php b/php/controleur/MembreControleur.php index f5f75bd..ef21ed6 100755 --- a/php/controleur/MembreControleur.php +++ b/php/controleur/MembreControleur.php @@ -2,7 +2,61 @@ namespace controleur; -class MembreControleur +use config\Validation; + +class MembreControleur extends UtilisateurControleur { + public function __construct() + { + global $twig; + if (!isset($_REQUEST["action"])) { + $action = NULL; + } else { + $action = Validation::nettoyerString($_REQUEST["action"]); + } + switch ($action) { + case "deconnexion": + $this->deconnexion(); + break; + case "proposerOffre": + $this->proposerOffre(); + break; + case "consulterProfil": + $this->consulterProfil(); + break; + case "modifierProfil": + $this->modifierProfil(); + break; + case "signaler": + $this->signaler(); + break; + default: + parent::__construct(); + } + } + + protected function deconnexion() + { + //TODO + } + + protected function proposerOffre() + { + //TODO + } + + protected function consulterProfil() + { + //TODO + } + + protected function modifierProfil() + { + //TODO + } + protected function signaler() + { + //TODO + } } \ No newline at end of file diff --git a/php/controleur/ModerateurControleur.php b/php/controleur/ModerateurControleur.php new file mode 100755 index 0000000..c9916b5 --- /dev/null +++ b/php/controleur/ModerateurControleur.php @@ -0,0 +1,22 @@ +reinit(); - break; - case 'connection': - $this->connection(); - break; - default: - $dVueEreur[] = "Erreur d'appel php"; - echo $twig->render('accueil.html', ['dVueEreur' => $dVueEreur]); - break; - } - } catch (\PDOException $e) { - //si erreur BD, pas le cas ici - $dVueEreur[] = 'TODO '; - } catch (\Exception $e2) { - $dVueEreur[] = 'TODO '; - echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]); + 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",['dVueEreur' => $dVueErreur]); - //fin - exit(0); - }//fin constructeur + } + } - /** - * @throws SyntaxError - * @throws RuntimeError - * @throws LoaderError - */ - private function connection() + protected function connection() { global $twig; echo $twig->render('connection.html', []); } - public function reinit() + protected function inscription() { global $twig; - $dVue = [ - 'session' => '' - ]; - var_dump($dVue); + echo $twig->render('inscription.html', []); + } + + protected function accueil() + { + global $twig; + echo $twig->render('accueil.html', []); + } - echo $twig->render('accueil.html', [ - 'dVue' => $dVue - ]); + protected function consulterProfilLimite() + { + //TODO } } \ No newline at end of file diff --git a/php/css/.DS_Store b/php/css/.DS_Store old mode 100644 new mode 100755 diff --git a/php/css/login.css b/php/css/connection.css similarity index 100% rename from php/css/login.css rename to php/css/connection.css diff --git a/php/css/erreur.css b/php/css/erreur.css new file mode 100644 index 0000000..a644c49 --- /dev/null +++ b/php/css/erreur.css @@ -0,0 +1,14 @@ +@import url(https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Share+Tech+Mono&display=swap); +*{ + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Poppins', sans-serif; +} +body{ + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + background: #2f363e; +} \ No newline at end of file diff --git a/php/css/register.css b/php/css/inscription.css similarity index 100% rename from php/css/register.css rename to php/css/inscription.css diff --git a/php/dal/gateway/EvenementGateway.php b/php/dal/gateway/EvenementGateway.php new file mode 100755 index 0000000..6379bcf --- /dev/null +++ b/php/dal/gateway/EvenementGateway.php @@ -0,0 +1,18 @@ +con = $con; + } + + public function insert(){ + $query='INSERT INTO Evenement VALUES ()'; + $this->con->executeQuery($query, array()); + } +} \ No newline at end of file diff --git a/php/dal/gateway/OffreGateway.php b/php/dal/gateway/OffreGateway.php new file mode 100755 index 0000000..8444ebe --- /dev/null +++ b/php/dal/gateway/OffreGateway.php @@ -0,0 +1,18 @@ +con = $con; + } + + public function insert(){ + $query='INSERT INTO Offre VALUES ()'; + $this->con->executeQuery($query, array()); + } +} \ No newline at end of file diff --git a/php/index.php b/php/index.php index 7ee88f7..c327eba 100755 --- a/php/index.php +++ b/php/index.php @@ -13,4 +13,4 @@ $twig = new \Twig\Environment($loader, [ 'debug' => true ]); -$cont = new \controleur\UtilisateurControleur(); +$cont = new \controleur\FrontControleur(); diff --git a/php/metier/Evenement.php b/php/metier/Evenement.php new file mode 100755 index 0000000..e51035b --- /dev/null +++ b/php/metier/Evenement.php @@ -0,0 +1,6 @@ +Vous êtes sur la page d'accueil
Vous pouvez vous connecter ou vous inscrire
Vous pouvez aussi consulter les articles
-Vous pouvez aussi consulter les articles
+Vous pouvez aussi consulter les annonces
Connection :
+ diff --git a/php/vues/erreur.html b/php/vues/erreur.html index e0cbf8f..95ba143 100755 --- a/php/vues/erreur.html +++ b/php/vues/erreur.html @@ -3,15 +3,18 @@ -{{value}}
{% endfor %} {% endif %} + diff --git a/php/vues/inscription.html b/php/vues/inscription.html new file mode 100755 index 0000000..defbd13 --- /dev/null +++ b/php/vues/inscription.html @@ -0,0 +1,50 @@ + + + + +