forked from Adleraci/adlerka.top
		
	error handling
This commit is contained in:
		
							
								
								
									
										63
									
								
								index.php
									
									
									
									
									
								
							
							
						
						
									
										63
									
								
								index.php
									
									
									
									
									
								
							@@ -1,41 +1,24 @@
 | 
			
		||||
<?php /** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
/** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
/** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
/** @noinspection PhpIncludeInspection */
 | 
			
		||||
require_once "secrets/config.php";
 | 
			
		||||
require_once "lib/config.php";
 | 
			
		||||
require_once "lib/navigation.php";
 | 
			
		||||
require_once "lib/router.php";
 | 
			
		||||
require_once "lib/page.php";
 | 
			
		||||
require_once "lib/endpoint.php";
 | 
			
		||||
require_once "lib/account.php";
 | 
			
		||||
 | 
			
		||||
$routerConfig = array();
 | 
			
		||||
$routerRequest = array();
 | 
			
		||||
 | 
			
		||||
loadRouterConfig();
 | 
			
		||||
$canRender = initRouter();
 | 
			
		||||
if($canRender) {
 | 
			
		||||
    /** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
    session_set_cookie_params(0, '/', "." . $routerRequest["domain"] . "." . $routerRequest["tld"], true, true);
 | 
			
		||||
    session_start();
 | 
			
		||||
 | 
			
		||||
    if(!isLoggedIn()){
 | 
			
		||||
        setDefaultSessionData();
 | 
			
		||||
<?php
 | 
			
		||||
try {
 | 
			
		||||
    require_once 'lib/config.php';
 | 
			
		||||
    global $routerConfig;
 | 
			
		||||
    try {
 | 
			
		||||
        require_once 'lib/main.php';
 | 
			
		||||
    } catch (Exception $eMain) {
 | 
			
		||||
        $page = file_get_contents($routerConfig["template_dir"] . "500.html");
 | 
			
		||||
        $error_msg = "Error Message";
 | 
			
		||||
        try {
 | 
			
		||||
            require_once 'lib/account.php';
 | 
			
		||||
            if (isAdmin()) {
 | 
			
		||||
                $error_msg = $eMain;
 | 
			
		||||
            }
 | 
			
		||||
        } catch (Exception) {
 | 
			
		||||
        } finally {
 | 
			
		||||
            $page = str_replace("__TEMPLATE_ERROR__", $error_msg, $page);
 | 
			
		||||
            echo $page;
 | 
			
		||||
            http_response_code(500);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if($routerRequest["type"] == "api") {
 | 
			
		||||
        echo getEndpoint($routerRequest["page_name"]);
 | 
			
		||||
 | 
			
		||||
    }elseif ($routerRequest["type"] == "page") {
 | 
			
		||||
        /** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
        echo getPage($routerRequest["page_name"]);
 | 
			
		||||
    }
 | 
			
		||||
    else{
 | 
			
		||||
        echo "Unknown request";
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
else{
 | 
			
		||||
    exit();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} catch (Exception $e){
 | 
			
		||||
    echo $e;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										37
									
								
								lib/main.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								lib/main.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
<?php /** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
/** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
/** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
/** @noinspection PhpIncludeInspection */
 | 
			
		||||
require_once "secrets/config.php";
 | 
			
		||||
require_once 'lib/config.php';
 | 
			
		||||
require_once "lib/navigation.php";
 | 
			
		||||
require_once "lib/router.php";
 | 
			
		||||
require_once "lib/page.php";
 | 
			
		||||
require_once "lib/endpoint.php";
 | 
			
		||||
require_once "lib/account.php";
 | 
			
		||||
 | 
			
		||||
$routerConfig = array();
 | 
			
		||||
$routerRequest = array();
 | 
			
		||||
 | 
			
		||||
loadRouterConfig();
 | 
			
		||||
$canRender = initRouter();
 | 
			
		||||
if($canRender) {
 | 
			
		||||
    /** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
    session_set_cookie_params(0, '/', "." . $routerRequest["domain"] . "." . $routerRequest["tld"], true, true);
 | 
			
		||||
    session_start();
 | 
			
		||||
 | 
			
		||||
    if(!isLoggedIn()){
 | 
			
		||||
        setDefaultSessionData();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if($routerRequest["type"] == "api") {
 | 
			
		||||
        echo getEndpoint($routerRequest["page_name"]);
 | 
			
		||||
 | 
			
		||||
    }elseif ($routerRequest["type"] == "page") {
 | 
			
		||||
        /** @noinspection PhpArrayIsAlwaysEmptyInspection */
 | 
			
		||||
        echo getPage($routerRequest["page_name"]);
 | 
			
		||||
    }
 | 
			
		||||
    else{
 | 
			
		||||
        echo "Unknown request";
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -2,13 +2,19 @@
 | 
			
		||||
 | 
			
		||||
function getDynamicPermission($file): int {
 | 
			
		||||
    global $routerConfig;
 | 
			
		||||
    $page_tmp = include_once($file);
 | 
			
		||||
    $permission_level = $page_tmp["parameters"]["minimal_permission_level"];
 | 
			
		||||
    try {
 | 
			
		||||
        $page_tmp = include_once($file);
 | 
			
		||||
        $permission_level = $page_tmp["parameters"]["minimal_permission_level"];
 | 
			
		||||
 | 
			
		||||
    if(!is_numeric($permission_level) || $permission_level <= 0){
 | 
			
		||||
        $permission_level = $routerConfig["default_page_permission_level"];
 | 
			
		||||
        if (!is_numeric($permission_level) || $permission_level <= 0) {
 | 
			
		||||
            $permission_level = $routerConfig["default_page_permission_level"];
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    catch (Exception){
 | 
			
		||||
        $permission_level = $routerConfig["default_page_permission_level"];
 | 
			
		||||
    } finally {
 | 
			
		||||
        return $permission_level;
 | 
			
		||||
    }
 | 
			
		||||
    return $permission_level;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function generateNavigation(): string
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,9 @@ function getPage($page_name = null): array|false|string
 | 
			
		||||
            $page_tmp = file_get_contents($routerConfig["template_dir"] . "403.html");
 | 
			
		||||
            $pageMetadata = parsePageTag($page_tmp);
 | 
			
		||||
            $page = $pageMetadata["output"];
 | 
			
		||||
            if(!$page){
 | 
			
		||||
                $page = "";
 | 
			
		||||
            }
 | 
			
		||||
            http_response_code(403);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -2,5 +2,6 @@
 | 
			
		||||
    <h2>Niekto to pobabral</h2>
 | 
			
		||||
    <h1 class="error-code">500</h1>
 | 
			
		||||
    <h3><i class="ri-error-warning-line"></i> Nejaký neschopný vývojár nevedel robiť túto stránku. <i class="ri-error-warning-line"></i></h3>
 | 
			
		||||
    <h4>__TEMPLATE_ERROR__</h4>
 | 
			
		||||
    <a href="/index" class="back"><i class="ri-arrow-left-line"></i> SPÄŤ DOMOV</a>
 | 
			
		||||
</div>
 | 
			
		||||
		Reference in New Issue
	
	Block a user