Avoid the booking of full fligths.
[Project_webapp.git] / lib / utils.php
index e6e0365a410f6c45f460e2c455a1026623f6d678..f8867162fb601c03aef41246a8c47015e729191a 100644 (file)
@@ -1,9 +1,135 @@
 <?php
-function isPostRequest() {
+
+/**
+ * [is_post_request description]
+ * @return boolean [description]
+ */
+function is_post_request()
+{
     if (filter_input(INPUT_SERVER, 'REQUEST_METHOD') === 'POST') {
         return true;
     } else {
         return false;
     }
 }
+
+/**
+ * [is_get_request description]
+ * @return boolean [description]
+ */
+function is_get_request()
+{
+    if (filter_input(INPUT_SERVER, 'REQUEST_METHOD') === 'GET') {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+/**
+ * [chk_account description]
+ * @param  [type] $email [description]
+ * @return [type]        [description]
+ */
+function chk_account($email)
+{
+    global $connection;
+    $sql_pquery = "select count(NumCl) from CLIENTS where EmailCl = ?";
+    $connection->prepare_query($sql_pquery);
+    $connection->prepared_query_bind_param("s", array($email));
+    $connection->run_prepared_query();
+    $connection->get_pquery_result();
+    $row = $connection->get_result_array();
+    $connection->close_prepared_query();
+    if (!empty($row[0][0])) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+/**
+ * [chk_password description]
+ * @param  [type] $email    [description]
+ * @param  [type] $password [description]
+ * @return [type]           [description]
+ */
+function chk_password($email, $password)
+{
+    global $connection;
+    $sql_pquery = "select PasswordCl from CLIENTS where EmailCl = ?";
+    $connection->prepare_query($sql_pquery);
+    $connection->prepared_query_bind_param("s", array($email));
+    $connection->run_prepared_query();
+    $connection->get_pquery_result();
+    $row = $connection->get_result_array();
+    $connection->close_prepared_query();
+    if (password_verify($password, $row[0][0])) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+/**
+ * [get_client_id description]
+ * @param  [type] $email [description]
+ * @return [type]        [description]
+ */
+function get_client_id($email)
+{
+    global $connection;
+    $sql_pquery = "select NumCl from CLIENTS where EmailCl = ?";
+    $connection->prepare_query($sql_pquery);
+    $connection->prepared_query_bind_param("s", array($email));
+    $connection->run_prepared_query();
+    $connection->get_pquery_result();
+    $row = $connection->get_result_array();
+    $connection->close_prepared_query();
+    return $row[0][0];
+}
+
+/**
+ * [nb_booked description]
+ * @param  [type] $client_id [description]
+ * @param  [type] $flight_id [description]
+ * @return [type]            [description]
+ */
+function nb_booked($client_id, $flight_id, $class_name)
+{
+    global $connection;
+    $sql_pquery = "select sum(NbPlaces) from RESERVATIONS where NumCl = ? and NumVol = ? and Classe = ?";
+    $connection->prepare_query($sql_pquery);
+    $connection->prepared_query_bind_param("iss", array($client_id, $flight_id, $class_name));
+    $connection->run_prepared_query();
+    $connection->get_pquery_result();
+    $row = $connection->get_result_array();
+    $connection->close_prepared_query();
+    return $row[0][0];
+}
+
+/**
+ * [chk_logged_in description]
+ * @return [type] [description]
+ */
+function chk_logged_in()
+{
+    if (isset($_SESSION['email']) && isset($_SESSION['IP_address'])) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+/**
+ * [redirect description]
+ * @param  [type] $url   [description]
+ * @param  [type] $delay [description]
+ * @return [type]        [description]
+ */
+function redirect($url, $delay)
+{
+    header("refresh:$delay; url=$url");
+}
+
 ?>