From 3d454965057961a77e313f40e9cb75a66b2b3b6f Mon Sep 17 00:00:00 2001 From: Lucas <lucas.briffon@ensiie.fr> Date: Thu, 19 Dec 2019 09:03:22 +0100 Subject: [PATCH] update requests et cours --- htdocs/cours/cours.php | 29 ++++++++-- htdocs/match_script.php | 70 ----------------------- htdocs/matchs/matchs.php | 27 ++++++--- htdocs/requests/requests.php | 104 +++++++++++++++++++++++++++++++---- 4 files changed, 136 insertions(+), 94 deletions(-) diff --git a/htdocs/cours/cours.php b/htdocs/cours/cours.php index 807ea2d..03031b2 100644 --- a/htdocs/cours/cours.php +++ b/htdocs/cours/cours.php @@ -15,11 +15,30 @@ include("/opt/lampp/htdocs/pima/head_html.php"); <h2>Mes cours</h2> </header> - <p> - <?php - $r = $_SESSION['currentRequest']; - print_cours($users,$r,$bdd); ?> - </p> + <?php + $teachers = $userRepository->fetchTeacher(); + $students = $userRepository->fetchStudent(); + foreach($teachers as $teacher) { + if ($_SESSION['currentMail'] == $teacher->getMail()) { + $requests = $teacher->getRequest(); + } + } + foreach($requests as $request) { + $isAccepted = $request->accepted; + if ($isAccepted == 1) { + $studentID = $request->student; + foreach ($students as $s) { + if ($s->getID() == $studentID) { + $firstnameEleve = $s->getFirstname(); + $nameEleve = $s->getName(); + } + } + $subject = $request->subject; + $dispo = $request->dispo; + echo "<p>Vous avez un cours de <b>$subject</b> le <b>$dispo</b> pour <b>$firstnameEleve $nameEleve</b>.</p>"; + } + } + ?> </article> </div> </div> diff --git a/htdocs/match_script.php b/htdocs/match_script.php index 5dce3f4..8f829bc 100644 --- a/htdocs/match_script.php +++ b/htdocs/match_script.php @@ -39,76 +39,6 @@ function match_script($student, $userRepository){ #} } -function print_requests($users,$requests,$bdd){ - - $noRequest = true; - - foreach($requests as $r){ - - if (isset($_POST['accept'])){ - echo "Demande acceptée"; - set_accepted($_POST['idTeacher'],$_POST['idStudent'],$bdd); - } - - else{ - - $subject = $r->subject; - $studentId = $r->student; - $teacherId = $r->teacher; - $dispo = $r->dispo; - $accepted = $r->accepted; - - - foreach ($users as $u){ - if ($u->getId() == $studentId){ - $studentName = $u->getName(); - $studentFirstname = $u->getFirstname(); - } - } - - if (!$accepted){ - echo "<p>Vous avez une demande de $studentFirstname $studentName pour un cours de $subject le $dispo</p>"; - $noRequest = false; - - echo "<form action='/pima/requests/requests.php' method='post'> - <div class='form-group form-row'> - <div class='offset-sm'> - <input type='hidden' value=$studentId name='idTeacher'> - <input type='hidden' value=$teacherId name='idStudent'> - <input type='submit' value='Accepter' name='accept'> - </div> - </div> - </form>"; - } - } - } - - - - if ($noRequest){ - echo "<p>Vous n'avez aucune demande</p>"; - /*if (!isset($_POST['accept'])) { - ?> - - <p>Vous avez une demande de Lucas Briffon pour un cours de Français le Jeudi.</p> - - <form action='/pima/requests/requests.php' method='post'> - <div class='form-group form-row'> - <div class='offset-sm'> - <input type='hidden' value=$studentId name='idTeacher'> - <input type='hidden' value=$teacherId name='idStudent'> - <input type='submit' value='Accepter' name='accept'> - </div> - </div> - </form> - - <?php - }*/ - } - - -} - function print_cours($users,$requests,$bdd){ $noCours = true; diff --git a/htdocs/matchs/matchs.php b/htdocs/matchs/matchs.php index 936050c..fff3c6b 100644 --- a/htdocs/matchs/matchs.php +++ b/htdocs/matchs/matchs.php @@ -34,11 +34,11 @@ include("/opt/lampp/htdocs/pima/head_html.php"); if ($_SESSION['currentMail'] == $student->getMail()) { $matchs = match_script($student, $userRepository); if (isset($_POST['nbMatchs'])) { - for ($i=0; $i < $_POST['nbMatchs']; $i++) { + for ($i=1; $i <= $_POST['nbMatchs']; $i++) { if (isset($_POST["match$i"])) { - $teacher = $matchs[$i]["teacher"]; - $subject = $matchs[$i]["subject"]; - $dispo = $matchs[$i]["dispo"]; + $teacher = $matchs[$i-1]["teacher"]; + $subject = $matchs[$i-1]["subject"]; + $dispo = $matchs[$i-1]["dispo"]; $sql = "INSERT INTO requests(student, teacher, dispo, subject, accepted) values (?, ?, ?, ?, ?)"; $bdd->prepare($sql)->execute([$student->getID(), $teacher->getID(), $dispo, $subject, 0]); } @@ -51,10 +51,11 @@ include("/opt/lampp/htdocs/pima/head_html.php"); <header><h2>Mes matchs</h2></header> <p> - <form action="/pima/student/matchs.php" method="post"> + <form action="/pima/matchs/matchs.php" method="post"> <?php foreach($matchs as $match) { + $idMatch++; $isRequest = false; /*foreach ($requests as $request) { if (($student->getID() == $request["student"]) && @@ -69,7 +70,6 @@ include("/opt/lampp/htdocs/pima/head_html.php"); $nameProf = $match["teacher"]->getName(); $subject = $match["subject"]; $dispo = $match["dispo"]; - $idMatch++; ?> <div class="form-group form-row"> @@ -87,9 +87,18 @@ include("/opt/lampp/htdocs/pima/head_html.php"); <input type="hidden" name="nbMatchs" value="<?php echo "$idMatch"; ?>"> - <div class="form-group form-row"> - <input type="submit" value="Demander"> - </div> + <?php + if ($idMatch != 0) { + ?> + <div class="form-group form-row"> + <input type="submit" value="Demander"> + </div> + <?php + } + else { + echo "Vous n'avez aucun match."; + } + ?> </form> </p> </article> diff --git a/htdocs/requests/requests.php b/htdocs/requests/requests.php index 46a2a93..b178d57 100644 --- a/htdocs/requests/requests.php +++ b/htdocs/requests/requests.php @@ -10,17 +10,101 @@ include("/opt/lampp/htdocs/pima/head_html.php"); <section class="wrapper style1"> <div class="container"> <div id="content"> - <article> - <header> - <h2>Mes demandes</h2> - </header> - - <p> + <?php + if (!$_SESSION['connected']) { + ?> + <article> + <header><h2>Accès interdit</h2></header> + <p>Vous devez être authentifié⋅e pour avoir accès à cette page.</p> + </article> + <?php + } + else { + if ($_SESSION['currentType'] != 'Teacher') { + ?> + <article> + <header><h2>Accès interdit</h2></header> + <p>Vous devez être authentifié⋅e en tant qu'élève pour avoir accès à cette page.</p> + </article> <?php - $r = $_SESSION['currentRequest']; - print_requests($users,$r,$bdd); ?> - </p> - </article> + } + else { + $teachers = $userRepository->fetchTeacher(); + $students = $userRepository->fetchStudent(); + foreach($teachers as $teacher) { + if ($_SESSION['currentMail'] == $teacher->getMail()) { + $requests = $teacher->getRequest(); + if (isset($_POST['nbRequests'])) { + for ($i=1; $i <= $_POST['nbRequests']; $i++) { + if (isset($_POST["request$i"])) { + $studentID = $requests[$i-1]->student; + $subject = $requests[$i-1]->subject; + $dispo = $requests[$i-1]->dispo; + $sql = "UPDATE requests SET accepted=1 WHERE student=? AND teacher=? AND dispo=? AND subject=?"; + $bdd->prepare($sql)->execute([$studentID, $teacher->getID(), $dispo, $subject]); + } + } + } + $idRequest = 0; + ?> + <article> + <header><h2>Mes demandes</h2></header> + + <p> + <form action="/pima/requests/requests.php" method="post"> + <?php + + foreach($requests as $request) { + $idRequest++; + $isAccepted = $request->accepted; + if ($isAccepted == 0) { + $studentID = $request->student; + foreach ($students as $s) { + if ($s->getID() == $studentID) { + $firstnameEleve = $s->getFirstname(); + $nameEleve = $s->getName(); + } + } + $subject = $request->subject; + $dispo = $request->dispo; + + ?> + <div class="form-group form-row"> + <div class="form-check"> + <input class="form-check-input" type="checkbox" id="checkbox<?php echo "$idRequest" ?>" value="request<?php echo "$idRequest" ?>" name="request<?php echo "$idRequest" ?>"> + <label class="form-check-label" for="checkbox<?php echo "$idRequest" ?>" style="font-weight: 300;"> + <?php echo "Cours de <b>$subject</b> le <b>$dispo</b> pour <b>$firstnameEleve $nameEleve</b>" ?> + </label> + </div> + </div> + <?php + } + } + ?> + + <input type="hidden" name="nbRequests" value="<?php echo "$idRequest"; ?>"> + + <?php + if ($idRequest != 0) { + ?> + <div class="form-group form-row"> + <input type="submit" value="Accepter"> + </div> + <?php + } + else { + echo "Vous n'avez aucune demande."; + } + ?> + </form> + </p> + </article> + <?php + } + } + } + } + ?> </div> </div> </section> -- GitLab