refactor
This commit is contained in:
@@ -1,68 +1,36 @@
|
||||
<?php
|
||||
|
||||
|
||||
function initRouter(): bool
|
||||
function initRouter(): array
|
||||
{
|
||||
global $routerRequest;
|
||||
global $routerConfig;
|
||||
$routerRequest = array();
|
||||
|
||||
$routerRequest["requestAddress"] = array_slice(explode('.', $_SERVER['HTTP_HOST']), -3, 3); //get the last 3 elements
|
||||
|
||||
$needsRedirect = false;
|
||||
$request_uri = explode("/", $_SERVER["QUERY_STRING"]);
|
||||
|
||||
if(count($routerRequest["requestAddress"]) < 3){
|
||||
// Root domain accessed directly
|
||||
$routerRequest["subdomain"] = $routerConfig["default_site"];
|
||||
$routerRequest["domain"] = basename($routerRequest["requestAddress"][0]);
|
||||
$routerRequest["tld"] = basename($routerRequest["requestAddress"][1]);
|
||||
$routerRequest["isToApex"] = true;
|
||||
$request_uri = array_slice($request_uri, -3, 3);
|
||||
|
||||
$routerRequest["site_name"] = basename($request_uri[1]);
|
||||
$routerRequest["page_name"] = basename($request_uri[2]);
|
||||
|
||||
if (empty($routerRequest["site_name"])) {
|
||||
$routerRequest["site_name"] = $routerConfig["default_site"];
|
||||
}
|
||||
else {
|
||||
$routerRequest["subdomain"] = basename($routerRequest["requestAddress"][0]);
|
||||
$routerRequest["domain"] = basename($routerRequest["requestAddress"][1]);
|
||||
$routerRequest["tld"] = basename($routerRequest["requestAddress"][2]);
|
||||
|
||||
if($routerRequest["subdomain"] == $routerConfig["default_site"]){
|
||||
$routerRequest["subdomain"] = "";
|
||||
$needsRedirect = true;
|
||||
}
|
||||
}
|
||||
|
||||
$routerRequest["page_name"] = basename($_SERVER["QUERY_STRING"]);
|
||||
|
||||
if (empty($routerRequest["page_name"])) {
|
||||
// Page name is empty
|
||||
$needsRedirect = true;
|
||||
$routerRequest["page_name"] = $routerConfig["default_page"];
|
||||
}
|
||||
|
||||
if($_SERVER["REQUEST_METHOD"] == "POST"){
|
||||
$routerRequest["type"] = "api";
|
||||
}
|
||||
if(empty($routerRequest["type"])) {
|
||||
$routerRequest["type"] = "page";
|
||||
}
|
||||
|
||||
if ($needsRedirect) {
|
||||
if(!empty($routerRequest["subdomain"])){
|
||||
$sub_domain = $routerRequest["subdomain"] . ".";
|
||||
}
|
||||
else{
|
||||
$sub_domain = "";
|
||||
}
|
||||
$redirectAddress = $routerConfig["protocol"] .
|
||||
$sub_domain .
|
||||
$routerRequest["domain"] . "." .
|
||||
$routerRequest["tld"] . "/" .
|
||||
$routerRequest["page_name"];
|
||||
// Redirect with default page name
|
||||
header("Location: $redirectAddress");
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
if($_SERVER["REQUEST_METHOD"] == "POST"){
|
||||
$routerRequest["type"] = "api";
|
||||
}
|
||||
if(empty($routerRequest["type"])){
|
||||
$routerRequest["type"] = "page";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return $routerRequest;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user