xref: /template/kiwiki/main.php (revision 7744d923190e75be6ccd8eaa86a5565f4d5d9c12)
16d5babb2Snicolasprigent<?php
26d5babb2Snicolasprigent/**
36d5babb2Snicolasprigent * Kiwiki Template
46d5babb2Snicolasprigent *
56d5babb2Snicolasprigent * @link     http://dokuwiki.org/template:kiwiki
66d5babb2Snicolasprigent * @author   Anika Henke <anika@selfthinker.org>
76d5babb2Snicolasprigent * @author   Nicolas Prigent
86d5babb2Snicolasprigent * @license  GPL 2 (http://www.gnu.org/licenses/gpl.html)
96d5babb2Snicolasprigent */
106d5babb2Snicolasprigent
116d5babb2Snicolasprigentif (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */
126d5babb2Snicolasprigent@require_once(dirname(__FILE__).'/tpl_functions.php'); /* include hook for template functions */
136d5babb2Snicolasprigent
14*7744d923SNicolas Prigent/*Get all template configurations*/
156d5babb2Snicolasprigent$showTools = !tpl_getConf('hideTools') || ( tpl_getConf('hideTools') && !empty($_SERVER['REMOTE_USER']) );
166d5babb2Snicolasprigent$showSidebar = page_findnearest($conf['sidebar']) && ($ACT=='show');
1752d9eff9SNicolas Prigent$sidebar = $conf['sidebar'];
186d5babb2Snicolasprigent$sidebarElement = tpl_getConf('sidebarIsNav') ? 'nav' : 'aside';
1952d9eff9SNicolas Prigent$sidebarMaxHeight = tpl_getConf('SidebarMaxHeight');
2052d9eff9SNicolas Prigent$sidebar_right = tpl_getConf('SidebarRight');
2152d9eff9SNicolas Prigent$toc = tpl_toc(true);
224bd06ff0Snicolasprigent$tocMaxHeight = tpl_getConf('TocMaxHeight');
2352d9eff9SNicolas Prigent$toc_right = tpl_getConf('TocRight');
242dd80b37SNicolas Prigent$contentMaxWidth = tpl_getConf('ContentMaxWidth');
25eb297f19SNicolas Prigent$themeMode = tpl_getConf('DefaultTheme');
26eb297f19SNicolas Prigent$forceTheme = tpl_getConf('ForceTheme');
2752d9eff9SNicolas Prigent$contentWidth = '100%';
2852d9eff9SNicolas Prigent$asideWidth = '20%';
2952d9eff9SNicolas Prigentif(($toc!='' || ($ACT == 'show' && page_exists($sidebar))) && $sidebar_right == $toc_right){
3052d9eff9SNicolas Prigent    $contentWidth = '80%';
3152d9eff9SNicolas Prigent}
3252d9eff9SNicolas Prigentif($sidebar_right != $toc_right ){
3352d9eff9SNicolas Prigent    $contentWidth = '68%';
3452d9eff9SNicolas Prigent    $asideWidth = '16%';
3552d9eff9SNicolas Prigent}
369b6cc7e9SNicolas Prigent
37daa1e0a0Snicolasprigentif (!empty($_COOKIE['theme'])){
38eb297f19SNicolas Prigent    if(!$forceTheme){
394af42f87SNicolas Prigent        $themeMode = in_array($_COOKIE['theme'], ['darkmode', 'lightmode', 'system-color']) ? $_COOKIE['theme'] : $themeMode;
40eb297f19SNicolas Prigent    }else{
41eb297f19SNicolas Prigent        setcookie("theme",$themeMode);
42eb297f19SNicolas Prigent    }
43eb297f19SNicolas Prigent}
444af42f87SNicolas Prigentif (!isset($_COOKIE['theme']) || empty($_COOKIE['theme'] || !in_array($_COOKIE['theme'], ['darkmode', 'lightmode', 'system-color']))){
45eb297f19SNicolas Prigent    setcookie("theme",$themeMode);
46daa1e0a0Snicolasprigent}
47de1938b7SNicolas Prigent
489b6cc7e9SNicolas Prigent$logoSize = array();
499b6cc7e9SNicolas Prigent
509b6cc7e9SNicolas Prigent$logodark = tpl_getMediaFile(array(':wiki:logo-dark.png', ':logo-dark.png', 'images/logo-dark.png'), true, $logoSize, false);
519b6cc7e9SNicolas Prigent$logolight = tpl_getMediaFile(array(':wiki:logo-light.png', ':logo-light.png', 'images/logo-light.png'), true, $logoSize, false);
529b6cc7e9SNicolas Prigent$logo = tpl_getMediaFile(array(':wiki:logo.png', ':logo.png', 'images/logo.png'), true, $logoSize);
539b6cc7e9SNicolas Prigent
54*7744d923SNicolas Prigent/*Main html template*/
559b6cc7e9SNicolas Prigent
566d5babb2Snicolasprigent?><!DOCTYPE html>
576d5babb2Snicolasprigent<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $conf['lang'] ?>"
586d5babb2Snicolasprigent  lang="<?php echo $conf['lang'] ?>" dir="<?php echo $lang['direction'] ?>" class="no-js">
596d5babb2Snicolasprigent<head>
606d5babb2Snicolasprigent    <meta charset="UTF-8" />
616d5babb2Snicolasprigent    <title><?php tpl_pagetitle() ?> [<?php echo strip_tags($conf['title']) ?>]</title>
626d5babb2Snicolasprigent    <script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script>
636d5babb2Snicolasprigent    <?php tpl_metaheaders() ?>
646d5babb2Snicolasprigent    <meta name="viewport" content="width=device-width,initial-scale=1" />
656d5babb2Snicolasprigent    <?php echo tpl_favicon(array('favicon', 'mobile')) ?>
666d5babb2Snicolasprigent    <?php tpl_includeFile('meta.html')?>
67*7744d923SNicolas Prigent    <?php include('css/inline-css.php');?>
686d5babb2Snicolasprigent</head>
696d5babb2Snicolasprigent
706d5babb2Snicolasprigent
71daa1e0a0Snicolasprigent<body id="kiwiki" class="<?php echo $themeMode; ?>">
726d5babb2Snicolasprigent    <?php    /* the "dokuwiki__top" id is needed somewhere at the top, because that's where the "back to top" button/link links to */ ?>
736d5babb2Snicolasprigent    <?php /* tpl_classes() provides useful CSS classes; if you choose not to use it, the 'dokuwiki' class at least
746d5babb2Snicolasprigent             should always be in one of the surrounding elements (e.g. plugins and templates depend on it) */ ?>
756d5babb2Snicolasprigent    <?php $admin_page = (($ACT == "admin") && (isset($_REQUEST['page']))) ? explode("#",$_REQUEST['page'])[0]: "" ;?>
766d5babb2Snicolasprigent    <div id="dokuwiki__site">
776d5babb2Snicolasprigent        <div id="dokuwiki__top" class="site <?php echo tpl_classes() ." " . $admin_page; ?>">
786d5babb2Snicolasprigent        <!-- ********** HEADER ********** -->
796d5babb2Snicolasprigent        <?php include('partial/header.php');?>
806d5babb2Snicolasprigent
81900e7773Snicolasprigent        <?php include('partial/before_content.php'); ?>
826d5babb2Snicolasprigent
836d5babb2Snicolasprigent        <?php include('partial/content.php');?>
846d5babb2Snicolasprigent
856d5babb2Snicolasprigent        </div>
866d5babb2Snicolasprigent        <!-- ********** FOOTER ********** -->
876d5babb2Snicolasprigent    <?php include('partial/footer.php'); ?>
886d5babb2Snicolasprigent    <!-- GO TOP -->
893c347493Snicolasprigent    <div id="go">
906d5babb2Snicolasprigent    <?php
916d5babb2Snicolasprigent
923c347493Snicolasprigent    $items = (new \dokuwiki\Menu\KiwikiGo())->getItems();
933c347493Snicolasprigent    foreach ($items as $item){
943c347493Snicolasprigent        if ($item -> getType() == 'bottom' && !tpl_getConf('GoBottomBtn')){
953c347493Snicolasprigent            continue;
963c347493Snicolasprigent        }else{
973c347493Snicolasprigent            echo '<a href="'.$item->getLink().'" title="'.$item->getTitle().'">'
983c347493Snicolasprigent            .'<span class="icon">'.inlineSVG($item->getSvg()).'</span>'
993c347493Snicolasprigent            . '<span class="a11y">'.$item->getLabel().'</span>'
1006d5babb2Snicolasprigent            . '</a>';
1013c347493Snicolasprigent        }
1023c347493Snicolasprigent    }
1036d5babb2Snicolasprigent    ?>
1046d5babb2Snicolasprigent    </div>
1056d5babb2Snicolasprigent    </div><!-- /site -->
1063c347493Snicolasprigent    <div id="dokuwiki__bottom"></div>
1076d5babb2Snicolasprigent    <div class="no"><?php tpl_indexerWebBug() /* provide DokuWiki housekeeping, required in all templates */ ?></div>
1086d5babb2Snicolasprigent</body>
1096d5babb2Snicolasprigent</html>
110