Loading index.php +16 −1 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ require_once 'src/controllers/accueil.php'; require_once 'src/controllers/pageRecette.php'; require_once 'src/controllers/pageConnexion.php'; require_once 'src/controllers/connexion.php'; require_once 'src/controllers/recettesAdmin.php'; require_once 'src/controllers/validationRecette.php'; try{ session_start(); Loading Loading @@ -51,10 +53,23 @@ try{ case 'detail-recette': $idRecette = getVariable_GET('idRecette'); $controleur = new PageRecetteControleur($idRecette); break; case 'recettesAdmin': $controleur = new RecettesAdminControleur(); break; case 'examenRecette': $idRecette = getVariable_GET('idRecette'); $controleur = new PageRecetteControleur($idRecette, true); break; case 'validerRecette': $idRecette = getVariable_GET('idRecette'); $controleur = new ValidationRecetteControleur($idRecette); break; default: throw new Exception("la page demandée n'a pas été trouvée"); } Loading sql/insertions.sql +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,13 @@ VALUES '$2y$10$KdMnkhAn385H2QYaQy.DvOa8zTpq0X.RigK3uLKY9k60bwHPUJhGC', 'test@test.fr', 'Test', 'Jean', '2023-11-05 12:18:13', 'E', 'A'); INSERT INTO CUI_UTILISATEUR (UTIL_PSEUDO, UTIL_MDP, UTIL_EMAIL, UTIL_NOM, UTIL_PRENOM, UTIL_DATE_INSCRIPTION, UTIL_TYPE, UTIL_STATUT) VALUES ('admin', '$2y$10$0yFsSedzqaLmYWom8Dwo1.6UGXZGe5s1Jvw3/0T/BVOl.SmPgd6HK', 'admin@admin.fr', 'Admin', 'Gilbert', NOW(), 'A', 'A' ); -- -------TAG------------- -- INSERT INTO CUI_TAG(TAG_INTITULE, TAG_DESCRIPTION) Loading src/controllers/pageRecette.php +15 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ declare(strict_types=1); require_once 'src/controllers/controleur.php'; require_once 'src/controllers/connexion.php'; require_once 'src/model/recette.php'; require_once 'src/model/recetteManager.php'; Loading @@ -11,15 +12,27 @@ require_once 'templates/pageRecette.php'; class PageRecetteControleur extends Controleur { private Recette $recette; private bool $admin; public function __construct(string $idRecette, bool $admin = false){ $this->admin = $admin; public function __construct(string $idRecette){ $this->recette = (new RecetteManager)->getRecette($idRecette); if(! $this->recette){ throw new Exception("cette recette n'existe pas"); } if(! $admin){ return; } $utilisateur = ConnexionController::estConnecte(); if(! $utilisateur || ! $utilisateur->estAdministrateur()){ throw new Exception('accès refusé'); } } public function executer() { afficherPageRecette($this->recette); afficherPageRecette($this->recette, $this->admin); } } No newline at end of file src/controllers/recettesAdmin.php 0 → 100644 +21 −0 Original line number Diff line number Diff line <?php require_once 'src/model/recetteManager.php'; require_once 'src/controllers/controleur.php'; require_once 'src/controllers/connexion.php'; require_once 'src/model/utilisateur.php'; require_once 'templates/nosRecettes.php'; class RecettesAdminControleur extends Controleur{ public function executer() { $utilisateur = ConnexionController::estConnecte(); if(! $utilisateur || ! $utilisateur->estAdministrateur()){ throw new Exception('accès refusé'); } $recettes = (new RecetteManager)->getRecettesNonValidees(); afficherListeRecettes($recettes, true); } } No newline at end of file src/controllers/validationRecette.php 0 → 100644 +36 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); require_once 'src/controllers/controleur.php'; require_once 'src/controllers/connexion.php'; require_once 'src/model/recetteManager.php'; class ValidationRecetteControleur extends Controleur{ private Recette $recette; public function __construct(string $idRecette){ $utilisateur = ConnexionController::estConnecte(); if(! $utilisateur || ! $utilisateur->estAdministrateur()){ throw new Exception('accès refusé'); } $this->recette = (new RecetteManager)->getRecette($idRecette); } public function executer(){ $recetteManager = new RecetteManager; $recetteModifiee = $recetteManager->getRecetteModifiee($this->recette->getId()); if($recetteModifiee){ $recetteManager->validerModification($recetteModifiee); } else { $recetteManager->validerRecette($this->recette); } header('Location: .?action=recettesAdmin'); exit; } } No newline at end of file Loading
index.php +16 −1 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ require_once 'src/controllers/accueil.php'; require_once 'src/controllers/pageRecette.php'; require_once 'src/controllers/pageConnexion.php'; require_once 'src/controllers/connexion.php'; require_once 'src/controllers/recettesAdmin.php'; require_once 'src/controllers/validationRecette.php'; try{ session_start(); Loading Loading @@ -51,10 +53,23 @@ try{ case 'detail-recette': $idRecette = getVariable_GET('idRecette'); $controleur = new PageRecetteControleur($idRecette); break; case 'recettesAdmin': $controleur = new RecettesAdminControleur(); break; case 'examenRecette': $idRecette = getVariable_GET('idRecette'); $controleur = new PageRecetteControleur($idRecette, true); break; case 'validerRecette': $idRecette = getVariable_GET('idRecette'); $controleur = new ValidationRecetteControleur($idRecette); break; default: throw new Exception("la page demandée n'a pas été trouvée"); } Loading
sql/insertions.sql +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,13 @@ VALUES '$2y$10$KdMnkhAn385H2QYaQy.DvOa8zTpq0X.RigK3uLKY9k60bwHPUJhGC', 'test@test.fr', 'Test', 'Jean', '2023-11-05 12:18:13', 'E', 'A'); INSERT INTO CUI_UTILISATEUR (UTIL_PSEUDO, UTIL_MDP, UTIL_EMAIL, UTIL_NOM, UTIL_PRENOM, UTIL_DATE_INSCRIPTION, UTIL_TYPE, UTIL_STATUT) VALUES ('admin', '$2y$10$0yFsSedzqaLmYWom8Dwo1.6UGXZGe5s1Jvw3/0T/BVOl.SmPgd6HK', 'admin@admin.fr', 'Admin', 'Gilbert', NOW(), 'A', 'A' ); -- -------TAG------------- -- INSERT INTO CUI_TAG(TAG_INTITULE, TAG_DESCRIPTION) Loading
src/controllers/pageRecette.php +15 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ declare(strict_types=1); require_once 'src/controllers/controleur.php'; require_once 'src/controllers/connexion.php'; require_once 'src/model/recette.php'; require_once 'src/model/recetteManager.php'; Loading @@ -11,15 +12,27 @@ require_once 'templates/pageRecette.php'; class PageRecetteControleur extends Controleur { private Recette $recette; private bool $admin; public function __construct(string $idRecette, bool $admin = false){ $this->admin = $admin; public function __construct(string $idRecette){ $this->recette = (new RecetteManager)->getRecette($idRecette); if(! $this->recette){ throw new Exception("cette recette n'existe pas"); } if(! $admin){ return; } $utilisateur = ConnexionController::estConnecte(); if(! $utilisateur || ! $utilisateur->estAdministrateur()){ throw new Exception('accès refusé'); } } public function executer() { afficherPageRecette($this->recette); afficherPageRecette($this->recette, $this->admin); } } No newline at end of file
src/controllers/recettesAdmin.php 0 → 100644 +21 −0 Original line number Diff line number Diff line <?php require_once 'src/model/recetteManager.php'; require_once 'src/controllers/controleur.php'; require_once 'src/controllers/connexion.php'; require_once 'src/model/utilisateur.php'; require_once 'templates/nosRecettes.php'; class RecettesAdminControleur extends Controleur{ public function executer() { $utilisateur = ConnexionController::estConnecte(); if(! $utilisateur || ! $utilisateur->estAdministrateur()){ throw new Exception('accès refusé'); } $recettes = (new RecetteManager)->getRecettesNonValidees(); afficherListeRecettes($recettes, true); } } No newline at end of file
src/controllers/validationRecette.php 0 → 100644 +36 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); require_once 'src/controllers/controleur.php'; require_once 'src/controllers/connexion.php'; require_once 'src/model/recetteManager.php'; class ValidationRecetteControleur extends Controleur{ private Recette $recette; public function __construct(string $idRecette){ $utilisateur = ConnexionController::estConnecte(); if(! $utilisateur || ! $utilisateur->estAdministrateur()){ throw new Exception('accès refusé'); } $this->recette = (new RecetteManager)->getRecette($idRecette); } public function executer(){ $recetteManager = new RecetteManager; $recetteModifiee = $recetteManager->getRecetteModifiee($this->recette->getId()); if($recetteModifiee){ $recetteManager->validerModification($recetteModifiee); } else { $recetteManager->validerRecette($this->recette); } header('Location: .?action=recettesAdmin'); exit; } } No newline at end of file