Add return flight booking cinematic and personal informations editing.
[Project_webapp.git] / includes / formsearch.php
index e40ab128e046423e4e81ff62d902e78a601fcd78..66c57c94b8412c8c0bbe6d654acaff78b6a5ad8b 100644 (file)
@@ -4,6 +4,7 @@ $form_departure_date = filter_input(INPUT_POST, "departure_date", FILTER_SANITIZ
 $form_arrival_city = filter_input(INPUT_POST, "arrival_city", FILTER_SANITIZE_STRING);
 $form_arrival_date = filter_input(INPUT_POST, "arrival_date", FILTER_SANITIZE_STRING);
 $form_date_now = filter_input(INPUT_POST, "date_now", FILTER_SANITIZE_STRING);
+$action = filter_input(INPUT_POST, "action", FILTER_SANITIZE_STRING);
 
 $oDepartureDate = new DateTime($form_departure_date);
 $oArrivalDate = new DateTime($form_arrival_date);
@@ -25,7 +26,7 @@ if ($oDepartureDate < $oDateNow) {
     $input_failure = true;
 }
 
-if ($oArrivalDate <= $oDepartureDate) {
+if (!($action === "return_flight") && $oArrivalDate <= $oDepartureDate) {
     echo "Arrival date is before departure date. <br>";
     $input_failure = true;
 }
@@ -39,10 +40,11 @@ if (empty($form_arrival_date)) {
 
 ?>
 
-<h1> Rechercher un vol </h1>
+<h1> Rechercher un vol <?php if ($action === "return_flight") { echo "retour"; } ?></h1>
 
 <form action="index.php" id="search" method="post">
  <input type="hidden" name="form" value="search" />
+ <?php if ($action === "return_flight") echo "<input type=\"hidden\" name=\"action\" value=\"return_flight\" />" ?>
  <input type="hidden" name="date_now" value="<?php echo $form_date_now; ?>" />
  <label> De&#769;part : Ville -> </label>
  <select size="1" name="departure_city" required>
@@ -97,7 +99,7 @@ if (empty($form_arrival_date)) {
 <?php
 if (!$input_failure) {
     global $connection;
-    $sql_pquery = "select VOLS.NumVol as NumVol, VilleD, DateD, VilleA, DateA, Classe, round(CoutVol*CoeffPrix, 2) as Prix from VOLS, DEFCLASSES
+    $sql_pquery = "select VOLS.NumVol as NumVol, VilleD, DateD, VilleA, DateA, Classe, round(CoutVol*CoeffPrix, 2) as Prix, NumAv from VOLS, DEFCLASSES
                    where DEFCLASSES.NumVol = VOLS.NumVol and
                    DateD >= ? and VilleD = ? and DateA <= ? and VilleA = ?
                    order by DateD, NumVol, Prix";
@@ -107,6 +109,7 @@ if (!$input_failure) {
     $connection->get_pquery_result();
     $rows = $connection->get_result_array();
     $connection->close_prepared_query();
+    //FIXME: Use NumAv to see if a flight is fully booked.
     //var_dump($rows);
     if (empty($rows)) {
         echo "Aucun vol ne correspond aux crite&#768;res de recherche. <br>";
@@ -139,14 +142,16 @@ if (!$input_failure) {
                           <input type=\"hidden\" name=\"place_price\" value=\"" . $row['Prix'] . "\" />
                           <label> Place(s) : </label>
                           <input type=\"number\" name=\"nb_place\" min=\"1\" max=\"9\" value=\"1\" required/>
-                          <label> Vol retour : </label>
-                          <input type=\"checkbox\" name=\"return_flight\" checked required/>
-                          <input type=\"submit\" value=\"Re&#769;server\">
-                        </form>
-                      </td>\n";
+                          <label> Vol retour : </label>\n";
+                          if (!($action === "return_flight")) {
+                              echo "        <input type=\"checkbox\" name=\"return_flight\" checked/>\n";
+                          }
+            echo "        <input type=\"submit\" value=\"Re&#769;server\">\n";
+            echo "      </form>
+                     </td>\n";
             echo "  </tr>\n";
         }
-        echo "</table>";
+        echo "</table>\n";
     }
 }