+ * 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)) {
+ $isForm = false;
+ $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]