X-Git-Url: https://git.piment-noir.org/?p=Project_webapp.git;a=blobdiff_plain;f=index.php;h=9d22f3e15361790b8c2fe89561b28cc88ebd0cf2;hp=125f62049964198da07139d78e5286c4990abb5b;hb=65fc0194b3ae059f212c577db4f4a8fec43069d6;hpb=6405835a808d5ac4986ff463a7be0b146058440d diff --git a/index.php b/index.php index 125f620..9d22f3e 100644 --- a/index.php +++ b/index.php @@ -2,12 +2,7 @@ require('header.php'); include('lib/db.php'); -/** - * Let's use an array as the list of tunables. - * Put in a variable the inclusion of this file: - * $config_var = include('config.php'); - */ -$configs = include('config.php'); +include('lib/utils.php'); /** * [session_start start a unique session for the current browser client] @@ -21,6 +16,9 @@ if (!isset($page)) { $page = ""; } +/** + * form MUST have an hidden field named 'form' to enable proper routing + */ $form = filter_input(INPUT_POST, 'form', FILTER_SANITIZE_URL); $isForm = true; if (!isset($form)) { @@ -28,6 +26,34 @@ if (!isset($form)) { $form = ""; } +function get_action_type() { + global $isPage, $isForm; + + if ($isPage && !$isForm && is_get_request()) { + return "page"; + } elseif ($isForm && !$isPage && is_post_request()) { + return "form"; + } elseif (!$isPage && !$isForm && is_get_request()){ + return "empty"; + } else { + return "unknown"; + } +} + +function get_url_action() { + global $page, $form; + + if (get_action_type() === "page") { + return $page; + } elseif (get_action_type() === "form") { + return $form; + } elseif (get_action_type() === "empty") { + return ""; + } elseif (get_action_type() === "unknown") { + die('Cannot get a valid action from URL parameters'); + } +} + /** * [validate_url_action validate if the current page is a valid site actions] * @param [string] $page [the viewed page name] @@ -48,20 +74,6 @@ function validate_url_action($action_name) return $configs['actions'][0]; } -function get_action_type() { - global $page, $form, $isPage, $isForm; - - if ($isPage && !$isForm) { - return "page"; - } elseif ($isForm && !$isPage) { - return "form"; - } elseif (!$isPage && !$isForm){ - return "empty"; - } else { - return "unknown"; - } -} - function display_action($action_name) { global $configs, $isPage, $isForm; @@ -69,12 +81,14 @@ function display_action($action_name) $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"); + // HTTP POST case } elseif (get_action_type() === "form") { include("form" . $action . ".php"); } else { - echo "Impossible error"; + echo "Unknown error in action displaying"; } $found_action = true; break; @@ -85,20 +99,6 @@ function display_action($action_name) } } -function get_url_action() { - global $page, $form, $isPage, $isForm; - - if (get_action_type() === "page") { - return $page; - } elseif (get_action_type() === "form") { - return $form; - } elseif (get_action_type() === "empty") { - return ""; - } elseif (get_action_type() === "unknown") { - die('Cannot get a valid action from URL parameters'); - } -} - $url_action = get_url_action(); $action = validate_url_action($url_action); display_action($action);