Files
luxtools-template/main.php
2026-03-25 14:57:10 +01:00

139 lines
4.1 KiB
PHP
Executable File

<?php
/**
* luxtools main template
*
* @link https://git.luxick.de/luxick/luxtools-template
* @author luxick <git@luxick.de>
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*/
if (!defined("DOKU_INC")) {
die();
} /* must be run from within DokuWiki */
// Replace default section edit buttons with a compact pencil icon
global $EVENT_HANDLER;
$EVENT_HANDLER->register_hook(
"HTML_SECEDIT_BUTTON",
"BEFORE",
null,
"_luxtools_secedit_button",
);
function _luxtools_secedit_button(\dokuwiki\Extension\Event $event, $param)
{
global $ID, $INFO;
$data = $event->data;
if (!isset($data["name"]) || $data["name"] === "") {
$event->preventDefault();
$event->result = "";
return;
}
$name = $data["name"];
$secid = $data["secid"];
unset($data["name"], $data["secid"]);
$params = array_merge(
[
"do" => "edit",
"rev" => $INFO["lastmod"],
"summary" => "[" . $name . "] ",
],
$data,
);
$html =
'<div class="secedit editbutton_' .
hsc($data["target"]) .
" editbutton_" .
(int) $secid .
'">';
$html .= html_btn("secedit", $ID, "", $params, "post", $name);
$html .= "</div>";
$event->preventDefault();
$event->result = $html;
}
$hasSidebar = page_findnearest($conf["sidebar"]);
$showSidebar = $hasSidebar && $ACT == "show";
?><!DOCTYPE html>
<html lang="<?php echo $conf["lang"]; ?>" dir="<?php echo $lang[
"direction"
]; ?>" class="no-js">
<head>
<meta charset="utf-8" />
<title><?php tpl_pagetitle(); ?></title>
<?php tpl_metaheaders(); ?>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<?php echo tpl_favicon(["favicon", "mobile"]); ?>
<?php tpl_includeFile("meta.html"); ?>
</head>
<body>
<div id="dokuwiki__site"><div id="dokuwiki__top" class="site <?php echo tpl_classes(); ?> <?php echo $showSidebar
? "showSidebar"
: ""; ?> <?php echo $hasSidebar ? "hasSidebar" : ""; ?>">
<?php include __DIR__ . "/tpl_header.php"; ?>
<div class="wrapper group">
<?php if ($showSidebar): ?>
<!-- ********** ASIDE ********** -->
<nav id="dokuwiki__aside" aria-label="<?php echo $lang[
"sidebar"
]; ?>"><div class="pad aside include group">
<h3 class="toggle"><?php echo $lang["sidebar"]; ?></h3>
<div class="content"><div class="group">
<?php tpl_flush(); ?>
<?php tpl_includeFile("sidebarheader.html"); ?>
<?php tpl_include_page($conf["sidebar"], true, true); ?>
<?php tpl_includeFile("sidebarfooter.html"); ?>
</div></div>
</div></nav><!-- /aside -->
<?php endif; ?>
<!-- ********** CONTENT ********** -->
<main id="dokuwiki__content"><div class="pad group">
<?php html_msgarea(); ?>
<div class="page group">
<?php tpl_flush(); ?>
<?php tpl_includeFile("pageheader.html"); ?>
<!-- wikipage start -->
<?php tpl_content(); ?>
<!-- wikipage stop -->
<?php tpl_includeFile("pagefooter.html"); ?>
</div>
<div class="docInfo"><?php tpl_pageinfo(); ?></div>
<?php tpl_flush(); ?>
<hr class="a11y" />
</div></main><!-- /content -->
</div><!-- /wrapper -->
<!-- PAGE ACTIONS (Status Bar) -->
<?php
$menuClass = \dokuwiki\Menu\PageMenu::class;
include __DIR__ . "/tpl_pagetools.php";
?>
<?php include __DIR__ . "/tpl_footer.php"; ?>
</div></div><!-- /site -->
<div class="no"><?php tpl_indexerWebBug();
/* provide DokuWiki housekeeping, required in all templates */
?></div>
<div id="screen__mode" class="no"></div><?php
/* helper to detect CSS media query in script.js */
?>
</body>
</html>