xref: /dokuwiki/lib/tpl/dokuwiki/main.php (revision e12412a22fc56a88b5c40cfc0d15a718dbba425e)
1<?php
2/**
3 * DokuWiki Default Template 2012
4 *
5 * @link     http://dokuwiki.org/template
6 * @author   Anika Henke <anika@selfthinker.org>
7 * @author   Clarence Lee <clarencedglee@gmail.com>
8 * @license  GPL 2 (http://www.gnu.org/licenses/gpl.html)
9 */
10
11if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */
12header('X-UA-Compatible: IE=edge,chrome=1');
13
14$hasSidebar = page_findnearest($conf['sidebar']);
15$showSidebar = $hasSidebar && ($ACT=='show');
16?><!DOCTYPE html>
17<html lang="<?php echo $conf['lang'] ?>" dir="<?php echo $lang['direction'] ?>" class="no-js">
18<head>
19    <meta charset="utf-8" />
20    <title><?php tpl_pagetitle() ?> [<?php echo strip_tags($conf['title']) ?>]</title>
21    <script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script>
22    <?php tpl_metaheaders() ?>
23    <meta name="viewport" content="width=device-width,initial-scale=1" />
24    <?php echo tpl_favicon(array('favicon', 'mobile')) ?>
25    <?php tpl_includeFile('meta.html') ?>
26</head>
27
28<body>
29    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->
30    <div id="dokuwiki__site"><div id="dokuwiki__top" class="site <?php echo tpl_classes(); ?> <?php
31        echo ($showSidebar) ? 'showSidebar' : ''; ?> <?php echo ($hasSidebar) ? 'hasSidebar' : ''; ?>">
32
33        <?php include('tpl_header.php') ?>
34
35        <div class="wrapper group">
36
37            <?php if($showSidebar): ?>
38                <!-- ********** ASIDE ********** -->
39                <div id="dokuwiki__aside"><div class="pad include group">
40                    <h3 class="toggle"><?php echo $lang['sidebar'] ?></h3>
41                    <div class="content">
42                        <?php tpl_flush() ?>
43                        <?php tpl_includeFile('sidebarheader.html') ?>
44                        <?php tpl_include_page($conf['sidebar'], 1, 1) ?>
45                        <?php tpl_includeFile('sidebarfooter.html') ?>
46                    </div>
47                </div></div><!-- /aside -->
48            <?php endif; ?>
49
50            <!-- ********** CONTENT ********** -->
51            <div id="dokuwiki__content"><div class="pad group">
52
53                <div class="pageId"><span><?php echo hsc($ID) ?></span></div>
54
55                <div class="page group">
56                    <?php tpl_flush() ?>
57                    <?php tpl_includeFile('pageheader.html') ?>
58                    <!-- wikipage start -->
59                    <?php tpl_content() ?>
60                    <!-- wikipage stop -->
61                    <?php tpl_includeFile('pagefooter.html') ?>
62                </div>
63
64                <div class="docInfo"><?php tpl_pageinfo() ?></div>
65
66                <?php tpl_flush() ?>
67            </div></div><!-- /content -->
68
69            <hr class="a11y" />
70
71            <!-- PAGE ACTIONS -->
72            <div id="dokuwiki__pagetools">
73                <h3 class="a11y"><?php echo $lang['page_tools']; ?></h3>
74                <div class="tools">
75                    <ul>
76                        <?php
77                            $data = array(
78                                'edit'      => tpl_action('edit',      1, 'li', 1, '<span>', '</span>'),
79                                'revert'    => tpl_action('revert',    1, 'li', 1, '<span>', '</span>'),
80                                'revisions' => tpl_action('revisions', 1, 'li', 1, '<span>', '</span>'),
81                                'backlink'  => tpl_action('backlink',  1, 'li', 1, '<span>', '</span>'),
82                                'subscribe' => tpl_action('subscribe', 1, 'li', 1, '<span>', '</span>'),
83                                'top'       => tpl_action('top',       1, 'li', 1, '<span>', '</span>')
84                            );
85
86                            // the page tools can be ammended through a custom plugin hook
87                            // if you're deriving from this template and your design is close enough to
88                            // the dokuwiki template you might want to trigger a DOKUWIKI event instead
89                            // of using $conf['tpl'] here
90                            $hook = 'TEMPLATE_'.strtoupper($conf['tpl']).'_PAGETOOLS_DISPLAY';
91                            $evt = new Doku_Event($hook, $data);
92                            if($evt->advise_before()){
93                                foreach($evt->data as $k => $html) echo $html;
94                            }
95                            $evt->advise_after();
96                            unset($data);
97                            unset($evt);
98                        ?>
99                    </ul>
100                </div>
101            </div>
102        </div><!-- /wrapper -->
103
104        <?php include('tpl_footer.php') ?>
105    </div></div><!-- /site -->
106
107    <div class="no"><?php tpl_indexerWebBug() /* provide DokuWiki housekeeping, required in all templates */ ?></div>
108    <div id="screen__mode" class="no"></div><?php /* helper to detect CSS media query in script.js */ ?>
109    <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]-->
110</body>
111</html>
112