<?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>
