*/
function tpl_pagetitle(): void {
global $ID;
echo htmlspecialchars(str_replace(':', ' » ', $ID));
}
/**
* Подключает верхнюю часть HTML-шаблона (Шапку)
*/
function tpl_header(): void {
if (file_exists(WIKI_TPL . 'header.php')) {
include WIKI_TPL . 'header.php';
}
}
/**
* Подключает нижнюю часть HTML-шаблона (Подвал)
*/
function tpl_footer(): void {
if (file_exists(WIKI_TPL . 'footer.php')) {
include WIKI_TPL . 'footer.php';
}
}
/**
* Системная функция ядра для подключения панели инструментов редактора
*/
function tpl_extensions_toolbar(): void {
if (file_exists(WIKI_ROOT . 'src/toolbar.php')) {
include WIKI_ROOT . 'src/toolbar.php';
}
}
/**
* Главный диспетчер вывода контента в шаблоне
*/
function tpl_content(): void {
global $ACT;
switch ($ACT) {
case 'login':
tpl_login_form();
break;
case 'edit':
tpl_edit_form();
break;
case 'media':
tpl_media_manager();
break;
case 'show':
default:
tpl_page_body();
break;
}
}
/**
* ВЫВОД СТРАНИЦЫ: Читает файл, рендерит через Parser и выводит живой HTML
*/
function tpl_page_body(): void {
global $ID, $wikiStorage;
echo "
" . htmlspecialchars($ID) . "
";
if ($wikiStorage->exists($ID)) {
$rawText = $wikiStorage->read($ID);
require_once WIKI_ROOT . 'src/Parser.php';
$parser = new Parser();
$htmlContent = $parser->render($rawText);
echo "
";
echo $htmlContent;
echo "
";
} else {
echo "
";
echo "Страницы с именем " . htmlspecialchars($ID) . " еще не существует.";
echo "
Войдите в систему, чтобы иметь возможность создать её.
";
}
}
}
/**
* ФОРМА РЕДАКТИРОВАНИЯ И ПРЕДПРОСМОТРА СНИЗУ
*/
function tpl_edit_form(): void {
global $ID, $wikiStorage;
if (!auth_is_logged()) {
echo "
Ошибка: Только зарегистрированные пользователи могут редактировать страницы.