diff --git a/index.php b/index.php index 31b5257..d59f964 100644 --- a/index.php +++ b/index.php @@ -1,8 +1,10 @@ Critical error: " . $e->getMessage() . "
This isn't your fault. Please contact the developers."; exit; @@ -15,32 +17,53 @@ try { echo "Critical error: " . $e->getMessage() . "
"; } +require_once 'strings/en.php'; // This ensures strings will fallback to English if one is missing. + +require_once 'common/strings.php'; +require_once 'common/account_utils.php'; +require_once 'common/database.php'; + // Starts the session -// TODO: write this to use the database to work across more than one server +// TODO: write this to use the database to work across more than one server (e.g. don't use PHP sessions) session_start(); +$user = null; + +if ($_SESSION['auth']) { + $user = get_user_by_id($_SESSION['id']); +} $uri_string = $_SERVER['REQUEST_URI']; // `/foo/bar?bar=foo&foo=bar` $uri_explode = explode('?', $uri_string); -$path = $uri_explode[0]; // `/foo/bar` -$path_array = explode('/', $path); +$path_raw = $uri_explode[0]; // `/foo/bar` +$path = explode('/', $path_raw); // Remove trailing slashes -if (str_ends_with($path, '/') && $path != '/') { +if (str_ends_with($path_raw, '/') && $path_raw != '/') { http_response_code(308); - header('Location: '.substr($path,0, -1)); + header('Location: '.substr($path_raw,0, -1)); exit; } $routes = [ '' => function () { require 'views/home.php'; }, - 'api' => function () { require 'api.php'; /* Handoff further routing to API script. */ } + 'api' => function () { require 'api.php'; /* Handoff further routing to API script. */ }, + 'profile' => function () { + global $path, $user, $profile_owner; // don't forget this lol + + if (isset($path[2])) { + $profile_owner = $path[2]; + $profile_owner = get_user_by_id($profile_owner); + } else { + $profile_owner = $user; + } + + require 'views/profile.php'; + }, ]; -//print_r($path_array); - -if (array_key_exists($path_array[1], $routes)) { - $res = $routes[$path_array[1]](); +if (array_key_exists($path[1], $routes)) { + $res = $routes[$path[1]](); if ($res == 404) { require "views/404.php"; }