86 lines
1.7 KiB
PHP
86 lines
1.7 KiB
PHP
<?PHP
|
|
/**
|
|
* The main display file for standalone pages.
|
|
*
|
|
* @author Joshua Ramon Enslin <joshua@jrenslin.de>
|
|
*/
|
|
|
|
// Include functions and settings.
|
|
|
|
require_once __DIR__ . "/inc/functions.php";
|
|
|
|
// Check validity of request.
|
|
|
|
if (isset($_GET['id']) and !file_exists(__DIR__ . "/data/static/" . $_GET['id'] . ".json")) {
|
|
echo printErrorPage("File does not exist.");
|
|
return;
|
|
}
|
|
|
|
// Ensure working environment for frontend.
|
|
|
|
ensureEnvironment();
|
|
$pages = loadPublicPages(); // Load overview of pages.
|
|
|
|
/*
|
|
* Load data.
|
|
*/
|
|
|
|
/*
|
|
* @var array $tPage The variable contains the main data on the displayed page.
|
|
*/
|
|
$tPage = [];
|
|
|
|
if (isset($_GET['id'])) $id = $_GET['id'];
|
|
else if (file_exists(__DIR__ . "/data/static/" . $settings['startPage'] . ".json")) {
|
|
$id = $settings['startPage'];
|
|
}
|
|
else {
|
|
echo printErrorPage("This file does not exist.");
|
|
return;
|
|
}
|
|
|
|
$tPage = json_decode(file_get_contents(__DIR__ . "/data/static/" . $id . ".json"), true);
|
|
|
|
if (!$tPage['public']) {
|
|
if (!(isset($_GET['preview']) and checkPreviewAccess())) {
|
|
echo printErrorPage("This page is not public."); return;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Output
|
|
*/
|
|
|
|
echo printPublicHead($settings, $id, $settings['pageTitle'], $settings['logo']);
|
|
echo printPublicHeader($settings['pageTitle']);
|
|
echo printStaticPagePart("banner", "header"); // Print aside (if need be)
|
|
|
|
echo generatePublicNav($pages);
|
|
|
|
echo '
|
|
<div id="mainWrapper">
|
|
';
|
|
|
|
// Print main content
|
|
echo '
|
|
<main>';
|
|
|
|
echo '<h1>' . $tPage['title'] . '</h1>';
|
|
echo checkForEmbeds($tPage['content'], $settings);
|
|
|
|
echo '
|
|
</main>
|
|
';
|
|
|
|
echo printStaticPagePart("aside", "aside"); // Print aside (if need be)
|
|
|
|
echo '
|
|
</div>';
|
|
|
|
echo printStaticPagePart("footer", "footer"); // Print footer (if need be)
|
|
|
|
echo printPublicEnd();
|
|
|
|
?>
|
|
|