require_once 'Classes/DB.class.php'; require_once 'Classes/User.class.php'; require_once 'Classes/Team.class.php'; require_once 'Classes/TeamComment.class.php'; session_start(); // ROUTE POST REQUESTS ================================================== if (!empty($_POST) && isset($_POST['postHandler'])) { require_once 'Classes/protected/PostReceiver.class.php'; $database = DB::getInstance(); $postHandler = $database->real_escape_string(stripslashes($_POST['postHandler'])); PostReceiver::$postHandler(); } // ROUTE GET REQUESTS ================================================== // Unless we didn't get any get request if (!empty($_GET)) { $url_parts = getUrlParts($_GET); $class = array_shift($url_parts); $method = array_shift($url_parts); require_once "Classes/views/" . $class . ".class.php"; $data = $class::$method($url_parts); } else { $data = array('loadview' => 'landingpage'); } if (isset($_SESSION['currentUser'])) { $data['currentUser'] = $_SESSION['currentUser']; } // RENDER THE TEMPLATE ================================================== if (!isset($data['redirect'])) { // Unless we got a redirect request // start twig require_once 'Include/twig/lib/Twig/Autoloader.php';
<?php session_start(); require_once "classes/DB.class.php"; # $url_params blir en array med alla "värden" som står efter ? avgränsade med / # ex. /Posts/single/11 kommer ge en array med 3 värden som är Posts, single och 11 $URLparts = getUrlParts($_GET); $class = array_shift($url_parts); # tar ut första värdet och lägger den i $class, i vårt exempel ovan "Posts" $method = array_shift($url_parts); # tar ut andra värdet och lägger den i $method, i vårt exempel ovan "single" # Hämta in klassfilen för den klass vi ska anropa require_once "classes/" . $class . ".class.php"; # Anropa metoden vill vill köra på klassen vi har fått från vår URL # samt skicka med övriga parametrar in till den metoden, i vårt exempel ovan finns "11" kvar # Svaret från anropet av metoden, dvs det den kör return på, lagrar vi i $data $data = $class::$method($URLparts); if (isset($data['redirect'])) { # om $data innehåller något på nyckeln 'redirect' # header() sätter en HTTP-header. I det här faller 'Location: ' # som säger åt webbläsaren att ladda en annan sida istället # Sidan vi ber den ladda är innehållet vi fick i $data['redirect'] # vilket alltså bestämdes av den klass och metod vi anropade header("Location: " . $data['redirect']); } else { # om $data INTE innehåller något på nyckeln 'redirect' # startTwig() ligger längre ner i den här filen och kör de rader kod vi behöver för att starta Twig $twig = startTwig(); if ($class == 'Admin') { # om klassen vi laddat var Admin $template = "Admin/index.html";