forked from Adleraci/adlerka.top
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
 | 
						|
function initRouter(): bool
 | 
						|
{
 | 
						|
    global $routerRequest;
 | 
						|
    global $routerConfig;
 | 
						|
 | 
						|
    $routerRequest["requestAddress"] = array_slice(explode('.', $_SERVER['HTTP_HOST']), -3, 3); //get the last 3 elements
 | 
						|
 | 
						|
    $needsRedirect = false;
 | 
						|
 | 
						|
    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["subdomain"] = basename($routerRequest["requestAddress"][0]);
 | 
						|
    $routerRequest["domain"] = basename($routerRequest["requestAddress"][1]);
 | 
						|
    $routerRequest["tld"] = basename($routerRequest["requestAddress"][2]);
 | 
						|
 | 
						|
    $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 ($needsRedirect) {
 | 
						|
        $redirectAddress = $routerConfig["protocol"] .
 | 
						|
            $routerRequest["subdomain"] . "." .
 | 
						|
            $routerRequest["domain"] . "." .
 | 
						|
            $routerRequest["tld"] . "/" .
 | 
						|
            $routerRequest["page_name"];
 | 
						|
        // Redirect with default page name
 | 
						|
        header("Location: $redirectAddress");
 | 
						|
    }
 | 
						|
    else{
 | 
						|
        if($_SERVER["REQUEST_METHOD"] == "POST"){
 | 
						|
            $routerRequest["type"] =  "api";
 | 
						|
        }
 | 
						|
        if(empty($routerRequest["type"])){
 | 
						|
            $routerRequest["type"] = "page";
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    return !$needsRedirect;
 | 
						|
}
 | 
						|
 | 
						|
 |