Loading assets/img/Foods_Pie_Pies_Quiche-1613921.jpg 0 → 100644 +51.4 KiB Loading image diff... assets/js/listeRecette.js +5 −1 Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ let boutonPlus = document.getElementById("boutonPlus"); let nombreRecettesTotal = divsRecettes.length; let nombresRecettesAffiches = 0; console.log("Total recettes : " + nombreRecettesTotal); afficherPlusRecettes(); boutonPlus.addEventListener("click", afficherPlusRecettes); Loading @@ -19,11 +21,13 @@ function afficherPlusRecettes(){ for(let i = nombresRecettesAffiches; i < nombresRecettesAffiches + 10; i++){ divsRecettes[i].setAttribute("style", "display: block"); if(nombresRecettesAffiches + i + 1 >= nombreRecettesTotal){ console.log("Recettes affichées : " + (i + 1)); if(i + 1 >= nombreRecettesTotal){ boutonPlus.setAttribute("style", "display: none"); return; } } nombresRecettesAffiches += 10; console.log("nombresRecettesAffiches = " + nombresRecettesAffiches); } No newline at end of file index.php +29 −4 Original line number Diff line number Diff line Loading @@ -10,22 +10,29 @@ require_once 'src/controllers/controleur.php'; require_once 'src/controllers/listeRecettes.php'; require_once 'src/controllers/creationRecetteUtilisateur.php'; require_once 'src/controllers/accueil.php'; require_once 'src/controllers/pageRecette.php'; require_once 'src/controllers/pageConnexion.php'; require_once 'src/controllers/connexion.php'; try{ session_start(); // Si 'action' n'est pas défini, on charge la page d'accueil if(! isset($_GET['action']) || empty($_GET['action'])){ pageAccueil(3); $accueil = new AccueilControleur(); $accueil->executer(); return; } $controleur = null; // On teste les différentes valeurs possible de 'action' // Si ça ne correspond à aucune page, on renvoie vers la page d'erreur // (pour l'instant on a pas d'autre page, donc on retourne forcément une erreur) switch($_GET['action']){ case 'listeRecettes': $controller = new ListeRecettesControleur; $controller->executer(); $controleur = new ListeRecettesControleur; break; case 'creation': Loading @@ -35,6 +42,22 @@ try{ case 'test': require 'test/tests.php'; exit(); case 'pageConnexion': $controleur = new PageConnexionControleur(); break; case 'erreurConnexion': $controleur = new PageConnexionControleur(true); break; case 'connexion': $controleur = new ConnexionController(); break; case 'detail-recette': $controleur = new PageRecetteControleur(); break; Loading @@ -42,6 +65,8 @@ try{ default: throw new Exception("la page demandée n'a pas été trouvée"); } $controleur->executer(); } catch(Exception $e){ $messageErreur = $e->getMessage(); Loading src/controllers/accueil.php +14 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,18 @@ // Ceci est un contrôleur, il se charge de récupérer les données depuis le modèle pour les fournir à la vue (en gros). // C'est également des contrôleurs qu'on utilise pour valider les formulaires. function pageAccueil($nb){ require_once 'src/controllers/controleur.php'; require_once 'src/model/recetteManager.php'; require_once 'src/model/editoManager.php'; require_once 'src/lib/Parsedown.php'; class AccueilControleur extends Controleur { public function executer(){ $recettesManager = new RecetteManager(); $recettes = $recettesManager->getDernieresRecettes(3); $edito = (new EditoManager)->getEdito(); $edito = (new Parsedown)->text($edito); require 'templates/accueil.php'; } } No newline at end of file src/controllers/connexion.php 0 → 100644 +48 −0 Original line number Diff line number Diff line <?php require_once 'src/controllers/controleur.php'; require_once 'src/model/utilisateur.php'; require_once 'src/model/utilisateurManager.php'; class ConnexionController extends Controleur { private static $utilisateur = null; private static $execute = false; public function executer() { if(! isset($_POST['identifiant']) || ! isset($_POST['motDePasse'])) { throw new Exception('Un des champs est manquant pour la connexion.'); } $utilisateur = (new UtilisateurManager)->connecter($_POST['identifiant'], $_POST['motDePasse']); if(is_null($utilisateur)) { header('Location: .?action=erreurConnexion'); exit(); } $_SESSION['idUtilisateur'] = $utilisateur->getId(); if(isset($_SESSION['dernierePage'])){ header('Location: '. $_SESSION['dernierePage']); exit(); } header('Location: .'); } public static function estConnecte() { if(self::$execute) { return self::$utilisateur; } self::$execute = true; if(! isset($_SESSION['idUtilisateur'])) { return false; } self::$utilisateur = (new UtilisateurManager)->getUtilisateur($_SESSION['idUtilisateur']); return self::$utilisateur; } } No newline at end of file Loading
assets/js/listeRecette.js +5 −1 Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ let boutonPlus = document.getElementById("boutonPlus"); let nombreRecettesTotal = divsRecettes.length; let nombresRecettesAffiches = 0; console.log("Total recettes : " + nombreRecettesTotal); afficherPlusRecettes(); boutonPlus.addEventListener("click", afficherPlusRecettes); Loading @@ -19,11 +21,13 @@ function afficherPlusRecettes(){ for(let i = nombresRecettesAffiches; i < nombresRecettesAffiches + 10; i++){ divsRecettes[i].setAttribute("style", "display: block"); if(nombresRecettesAffiches + i + 1 >= nombreRecettesTotal){ console.log("Recettes affichées : " + (i + 1)); if(i + 1 >= nombreRecettesTotal){ boutonPlus.setAttribute("style", "display: none"); return; } } nombresRecettesAffiches += 10; console.log("nombresRecettesAffiches = " + nombresRecettesAffiches); } No newline at end of file
index.php +29 −4 Original line number Diff line number Diff line Loading @@ -10,22 +10,29 @@ require_once 'src/controllers/controleur.php'; require_once 'src/controllers/listeRecettes.php'; require_once 'src/controllers/creationRecetteUtilisateur.php'; require_once 'src/controllers/accueil.php'; require_once 'src/controllers/pageRecette.php'; require_once 'src/controllers/pageConnexion.php'; require_once 'src/controllers/connexion.php'; try{ session_start(); // Si 'action' n'est pas défini, on charge la page d'accueil if(! isset($_GET['action']) || empty($_GET['action'])){ pageAccueil(3); $accueil = new AccueilControleur(); $accueil->executer(); return; } $controleur = null; // On teste les différentes valeurs possible de 'action' // Si ça ne correspond à aucune page, on renvoie vers la page d'erreur // (pour l'instant on a pas d'autre page, donc on retourne forcément une erreur) switch($_GET['action']){ case 'listeRecettes': $controller = new ListeRecettesControleur; $controller->executer(); $controleur = new ListeRecettesControleur; break; case 'creation': Loading @@ -35,6 +42,22 @@ try{ case 'test': require 'test/tests.php'; exit(); case 'pageConnexion': $controleur = new PageConnexionControleur(); break; case 'erreurConnexion': $controleur = new PageConnexionControleur(true); break; case 'connexion': $controleur = new ConnexionController(); break; case 'detail-recette': $controleur = new PageRecetteControleur(); break; Loading @@ -42,6 +65,8 @@ try{ default: throw new Exception("la page demandée n'a pas été trouvée"); } $controleur->executer(); } catch(Exception $e){ $messageErreur = $e->getMessage(); Loading
src/controllers/accueil.php +14 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,18 @@ // Ceci est un contrôleur, il se charge de récupérer les données depuis le modèle pour les fournir à la vue (en gros). // C'est également des contrôleurs qu'on utilise pour valider les formulaires. function pageAccueil($nb){ require_once 'src/controllers/controleur.php'; require_once 'src/model/recetteManager.php'; require_once 'src/model/editoManager.php'; require_once 'src/lib/Parsedown.php'; class AccueilControleur extends Controleur { public function executer(){ $recettesManager = new RecetteManager(); $recettes = $recettesManager->getDernieresRecettes(3); $edito = (new EditoManager)->getEdito(); $edito = (new Parsedown)->text($edito); require 'templates/accueil.php'; } } No newline at end of file
src/controllers/connexion.php 0 → 100644 +48 −0 Original line number Diff line number Diff line <?php require_once 'src/controllers/controleur.php'; require_once 'src/model/utilisateur.php'; require_once 'src/model/utilisateurManager.php'; class ConnexionController extends Controleur { private static $utilisateur = null; private static $execute = false; public function executer() { if(! isset($_POST['identifiant']) || ! isset($_POST['motDePasse'])) { throw new Exception('Un des champs est manquant pour la connexion.'); } $utilisateur = (new UtilisateurManager)->connecter($_POST['identifiant'], $_POST['motDePasse']); if(is_null($utilisateur)) { header('Location: .?action=erreurConnexion'); exit(); } $_SESSION['idUtilisateur'] = $utilisateur->getId(); if(isset($_SESSION['dernierePage'])){ header('Location: '. $_SESSION['dernierePage']); exit(); } header('Location: .'); } public static function estConnecte() { if(self::$execute) { return self::$utilisateur; } self::$execute = true; if(! isset($_SESSION['idUtilisateur'])) { return false; } self::$utilisateur = (new UtilisateurManager)->getUtilisateur($_SESSION['idUtilisateur']); return self::$utilisateur; } } No newline at end of file