diff --git a/src/FuzeWorks/Event/RouteWebRequestEvent.php b/src/FuzeWorks/Event/RouteWebRequestEvent.php new file mode 100644 index 0000000..58ac9f1 --- /dev/null +++ b/src/FuzeWorks/Event/RouteWebRequestEvent.php @@ -0,0 +1,53 @@ +uriString = $uriString; + } + +} \ No newline at end of file diff --git a/src/FuzeWorks/Input.php b/src/FuzeWorks/Input.php index 0e3ad12..6519e48 100644 --- a/src/FuzeWorks/Input.php +++ b/src/FuzeWorks/Input.php @@ -75,6 +75,9 @@ class Input if (!WebComponent::$willHandleRequest) return; + // Start session + session_start(); + // Sanitize all global arrays $this->sanitizeGlobals(); diff --git a/src/FuzeWorks/WebComponent.php b/src/FuzeWorks/WebComponent.php index 13714e8..2a7e762 100644 --- a/src/FuzeWorks/WebComponent.php +++ b/src/FuzeWorks/WebComponent.php @@ -151,6 +151,7 @@ class WebComponent implements iComponent Logger::logInfo("Parsing output..."); $output = Factory::getInstance()->output; $output->display(); + return $event; }, 'coreShutdownEvent', Priority::NORMAL); // Create an error 500 page when a haltEvent is fired @@ -179,6 +180,11 @@ class WebComponent implements iComponent if ($output->getCache($uriString)) return true; + // Send webRequestEvent, if no cache is found + $event = Events::fireEvent('routeWebRequestEvent', $uriString); + if ($event->isCancelled()) + return true; + // First test for Cross Site Request Forgery try { $security->csrf_verify(); @@ -321,6 +327,7 @@ class WebComponent implements iComponent $event->assign('csrfHash', $security->get_csrf_hash()); $event->assign('csrfTokenName', $security->get_csrf_token_name()); $event->assign('siteURL', $config->getConfig('web')->get('base_url')); + $event->assign('serverName', $config->getConfig('web')->get('serverName')); Logger::logInfo("Assigned variables to TemplateEngine from WebComponent"); }