Commit cb303464 authored by Guilhem's avatar Guilhem
Browse files

Merge branch 'main' into creation_recette_editeur

parents 358bc7e6 3d91611b
Loading
Loading
Loading
Loading
+51.4 KiB
Loading image diff...
+5 −1
Original line number Diff line number Diff line
@@ -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);
@@ -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
+29 −4
Original line number Diff line number Diff line
@@ -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':
@@ -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;


@@ -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();
+14 −2
Original line number Diff line number Diff line
@@ -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
+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