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