Fix the authenfication check.
[Project_webapp.git] / index.php
index 9d22f3e15361790b8c2fe89561b28cc88ebd0cf2..9dc9e0bff683e93bc416467c952f29a9e88095af 100644 (file)
--- a/index.php
+++ b/index.php
@@ -1,18 +1,14 @@
 <?php
-require('header.php');
+require('includes/header.php');
 
 include('lib/db.php');
-include('lib/utils.php');
 
-/**
- * [session_start start a unique session for the current browser client]
- */
-session_start();
+$connection = new CustomDB($configs['host'], $configs['username'], $configs['password'], $configs['database']);
 
 $page = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_URL);
-$isPage = true;
+$is_page = true;
 if (!isset($page)) {
-    $isPage = false;
+    $is_page = false;
     $page = "";
 }
 
@@ -20,37 +16,37 @@ if (!isset($page)) {
  * form MUST have an hidden field named 'form' to enable proper routing
  */
 $form = filter_input(INPUT_POST, 'form', FILTER_SANITIZE_URL);
-$isForm = true;
+$is_form = true;
 if (!isset($form)) {
-    $isForm = false;
+    $is_form = false;
     $form = "";
 }
 
 function get_action_type() {
-    global $isPage, $isForm;
+    global $is_page, $is_form;
 
-    if ($isPage && !$isForm && is_get_request()) {
+    if ($is_page && !$is_form && is_get_request()) {
         return "page";
-    } elseif ($isForm && !$isPage && is_post_request()) {
+    } elseif ($is_form && !$is_page && is_post_request()) {
         return "form";
-    } elseif (!$isPage && !$isForm && is_get_request()){
+    } elseif (!$is_page && !$is_form && is_get_request()){
         return "empty";
     } else {
         return "unknown";
     }
 }
 
-function get_url_action() {
+function get_url_action($action_type) {
     global $page, $form;
 
-    if (get_action_type() === "page") {
+    if ($action_type === "page") {
         return $page;
-    } elseif (get_action_type() === "form") {
+    } elseif ($action_type === "form") {
         return $form;
-    } elseif (get_action_type() === "empty") {
+    } elseif ($action_type === "empty") {
         return "";
-    } elseif (get_action_type() === "unknown") {
-        die('Cannot get a valid action from URL parameters');
+    } elseif ($action_type === "unknown") {
+        die('Cannot get a valid action from URL parameters or form fields.');
     }
 }
 
@@ -74,36 +70,40 @@ function validate_url_action($action_name)
     return $configs['actions'][0];
 }
 
-function display_action($action_name)
+function display_action($action_name, $action_type)
 {
-    global $configs, $isPage, $isForm;
+    global $configs;
+    $includes_rpath = 'includes';
 
     $found_action = false;
     foreach ($configs['actions'] as $action) {
         if (strcmp($action_name, $action) === 0) {
             // HTTP GET case
-            if (get_action_type() === "page" || get_action_type() === "empty") {
-                include($action . ".php");
+            if ($action_type === "page" || $action_type === "empty") {
+                include($includes_rpath . "/" . $action . ".php");
             // HTTP POST case
-            } elseif (get_action_type() === "form") {
-                include("form" . $action . ".php");
+            } elseif ($action_type === "form") {
+                include($includes_rpath . "/form" . $action . ".php");
             } else {
-                echo "Unknown error in action displaying";
+                echo "Unknown error in action displaying. <br>";
             }
             $found_action = true;
             break;
         }
     }
     if (!$found_action) {
-        echo "Action to display do not exist";
+        echo "Action to display do not exist. <br>";
     }
 }
 
-$url_action = get_url_action();
+$action_type = get_action_type();
+$url_action = get_url_action($action_type);
 $action = validate_url_action($url_action);
-display_action($action);
+display_action($action, $action_type);
+
+$connection->close();
 
-session_destroy();
+session_write_close();
 
-require('footer.html');
+require('includes/footer.html');
 ?>