forked from Adleraci/adlerka.top
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
function getProtocol(){
 | 
						|
    if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && !empty($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
 | 
						|
        return "https://";
 | 
						|
    } else {
 | 
						|
        return "http://";
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
function getPage($routerConfig){
 | 
						|
    $default_page = "domov";
 | 
						|
 | 
						|
    $default_site = "home";
 | 
						|
 | 
						|
    $template_dir = "templates/";
 | 
						|
 | 
						|
    $static_page_dir = "pages/";
 | 
						|
 | 
						|
    $dynamic_page_dir = "dynamic/";
 | 
						|
 | 
						|
    $subdomain = basename(explode('.', $_SERVER['HTTP_HOST'])[0]);
 | 
						|
    $domain = basename(explode('.', $_SERVER['HTTP_HOST'])[1]);
 | 
						|
    $tld = basename(explode('.', $_SERVER['HTTP_HOST'])[2]);
 | 
						|
    $page_name = basename($_SERVER["QUERY_STRING"]);
 | 
						|
    $protocol = getProtocol();
 | 
						|
 | 
						|
    if (empty($tld)){
 | 
						|
        header("Location: $protocol$default_site.$subdomain.$domain/$default_page");
 | 
						|
        return;
 | 
						|
    }
 | 
						|
 | 
						|
    if (empty($page_name)){
 | 
						|
        header("Location: $protocol$subdomain.$domain.$tld/$default_page");
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    $page_dir = "pages/";
 | 
						|
 | 
						|
    $dynamic_page_file = $page_dir . $subdomain . "/" . $page_name . ".php";
 | 
						|
    $page_file = $page_dir . $subdomain . "/" . $page_name . ".html";
 | 
						|
 | 
						|
    $dynamic_page_file_global = $page_dir . "global/" . $page_name . ".php";
 | 
						|
    $page_file_global = $page_dir . "global/" . $page_name . ".html";
 | 
						|
 | 
						|
    $skeleton = file_get_contents($template_dir . "skeleton.html");
 | 
						|
    $nav = file_get_contents($template_dir . "nav.html");
 | 
						|
 | 
						|
    if (file_exists($dynamic_page_file_global)){
 | 
						|
        $page = include_once $dynamic_page_file_global;
 | 
						|
    }
 | 
						|
    elseif (file_exists($page_file_global)){
 | 
						|
        $page = file_get_contents($page_file_global);
 | 
						|
    }
 | 
						|
    elseif (file_exists($dynamic_page_file)){
 | 
						|
        $page = include_once $dynamic_page_file;
 | 
						|
    }
 | 
						|
    elseif (file_exists($page_file)){
 | 
						|
        $page = file_get_contents($page_file);
 | 
						|
    }
 | 
						|
    else{
 | 
						|
        $page = file_get_contents($template_dir . "404.html");
 | 
						|
    }
 | 
						|
    $navpages = generateNavigation($static_page_dir, $protocol, $subdomain, $domain, $tld, $default_page, $page_name);
 | 
						|
 | 
						|
    $nav = str_replace("__NAV_PAGES__", $navpages, $nav);
 | 
						|
 | 
						|
    $out = $skeleton;
 | 
						|
    $out = str_replace("__TEMPLATE__NAV__", $nav, $out);
 | 
						|
    $out = str_replace("__TEMPLATE__PAGE__", $page, $out);
 | 
						|
    $out = str_replace("__TEMPLATE_PAGE_NAME__", $page_name, $out);
 | 
						|
    return $out;
 | 
						|
}
 | 
						|
 | 
						|
?>
 |