forked from Adleraci/adlerka.top
ajax test
This commit is contained in:
38
lib/page.php
38
lib/page.php
@@ -1,5 +1,7 @@
|
||||
<?php
|
||||
require_once "lib/inliner.php";
|
||||
require_once "lib/dynamic_style.php";
|
||||
require_once "lib/script_data.php";
|
||||
function renderDynamicPage($page_file): array
|
||||
{
|
||||
return require $page_file;
|
||||
@@ -30,17 +32,21 @@ function parsePageTag($input): array
|
||||
return ['parameters' => [], 'output' => $input];
|
||||
}
|
||||
|
||||
function getPage($page_name = null): array|false|string
|
||||
function getPage($page_name = null, $site_name = null): string
|
||||
{
|
||||
global $routerConfig;
|
||||
global $routerRequest;
|
||||
|
||||
if(!$site_name) {
|
||||
$site_name = $routerRequest["subdomain"];
|
||||
}
|
||||
|
||||
if(!$page_name){
|
||||
$page_name = $routerRequest["page_name"];
|
||||
}
|
||||
|
||||
$dynamic_page_file = $routerConfig["page_dir"] . $routerRequest["subdomain"] . "/" . $page_name . ".php";
|
||||
$page_file = $routerConfig["page_dir"] . $routerRequest["subdomain"] . "/" . $page_name . ".html";
|
||||
$dynamic_page_file = $routerConfig["page_dir"] . $site_name . "/" . $page_name . ".php";
|
||||
$page_file = $routerConfig["page_dir"] . $site_name . "/" . $page_name . ".html";
|
||||
|
||||
$skeleton = file_get_contents($routerConfig["template_dir"] . "skeleton.html");
|
||||
$nav = file_get_contents($routerConfig["template_dir"] . "nav.html");
|
||||
@@ -113,13 +119,15 @@ function getPage($page_name = null): array|false|string
|
||||
$page_title = $page_name;
|
||||
}
|
||||
|
||||
$dynamic_style = "<style>";
|
||||
if(isLoggedIn() && !empty($_SESSION["favorite_color"]) && is_int($_SESSION["favorite_color"]) && $_SESSION["favorite_color"] <= 4294967295){
|
||||
$color = dechex($_SESSION["favorite_color"]);
|
||||
$dynamic_style .= "--root{ --favorite-color: #$color;";
|
||||
}
|
||||
$dynamic_style .= "</style>";
|
||||
|
||||
|
||||
$dynamic_style = doDynamicStyling();
|
||||
$dynamic_script = generateScriptData([
|
||||
"currentPage" => $page_name,
|
||||
"currentSite" => $site_name,
|
||||
"currentTitle" => $page_title,
|
||||
"defaultPage" => $routerConfig["default_page"],
|
||||
]);
|
||||
$navpages = generateNavigation();
|
||||
|
||||
$nav = str_replace("__NAV_PAGES__", $navpages, $nav);
|
||||
@@ -127,8 +135,20 @@ function getPage($page_name = null): array|false|string
|
||||
$out = $skeleton;
|
||||
$out = str_replace("__TEMPLATE__NAV__", $nav, $out);
|
||||
$out = str_replace("__TEMPLATE__PAGE__", $page, $out);
|
||||
$out = str_replace("__TEMPLATE__DYNASCRIPT__", $dynamic_script, $out);
|
||||
$out = str_replace("__TEMPLATE__DYNASTYLE__", $dynamic_style, $out);
|
||||
$out = inlineLocalStylesFromHref($out);
|
||||
$out = inlineScriptFromSrc($out);
|
||||
return str_replace("__TEMPLATE_PAGE_TITLE__", $page_title, $out);
|
||||
}
|
||||
|
||||
function getPageEndpoint($page_name, $site_name) :array
|
||||
{
|
||||
global $routerRequest, $routerConfig;
|
||||
$page_location = $routerConfig["protocol"] . $site_name . $routerRequest["domain"] . "." . $routerRequest["tld"] . "/" . $page_name;
|
||||
return [
|
||||
"Status" => "Success",
|
||||
"Page" => getPage($page_name, $site_name),
|
||||
"PageLocation" => $page_location,
|
||||
];
|
||||
}
|
Reference in New Issue
Block a user