<?php /** * @link http://resources.neolao.com/php/dokuwiki/templates * @author neolao <neo@neolao.com> */ // Must be run from within DokuWiki if (!defined('DOKU_INC')) die(); /** * Fork inc/template.php */ function custom_toc() { global $TOC; global $ACT; global $ID; global $REV; global $INFO; global $conf; global $lang; $toc = array(); if(is_array($TOC)){ // if a TOC was prepared in global scope, always use it $toc = $TOC; }elseif(($ACT == 'show' || substr($ACT,0,6) == 'export') && !$REV && $INFO['exists']){ // get TOC from metadata, render if neccessary $meta = p_get_metadata($ID, false, true); if(isset($meta['internal']['toc'])){ $tocok = $meta['internal']['toc']; }else{ $tocok = true; } $toc = $meta['description']['tableofcontents']; if(!$tocok || !is_array($toc) || !$conf['tocminheads'] || count($toc) < $conf['tocminheads']){ $toc = array(); } }elseif($ACT == 'admin'){ // try to load admin plugin TOC FIXME: duplicates code from tpl_admin $plugin = null; if (!empty($_REQUEST['page'])) { $pluginlist = plugin_list('admin'); if (in_array($_REQUEST['page'], $pluginlist)) { // attempt to load the plugin $plugin =& plugin_load('admin',$_REQUEST['page']); } } if ( ($plugin !== null) && (!$plugin->forAdminOnly() || $INFO['isadmin']) ){ $toc = $plugin->getTOC(); $TOC = $toc; // avoid later rebuild } } trigger_event('TPL_TOC_RENDER', $toc, NULL, false); if( !empty( $toc ) ){ echo DOKU_LF, '<section>', DOKU_LF; echo '<h1>', $lang['toc'], '</h1>'; $level = 0; foreach( $toc as $item ) { if( $item['level'] > $level ){ //open new list for($i=0; $i<($item['level'] - $level); $i++){ if ($i) echo "<li class=\"clear\">\n"; echo "\n<ul class=\"$class\">\n"; } }elseif( $item['level'] < $level ){ //close last item echo "</li>\n"; for ($i=0; $i<($level - $item['level']); $i++){ //close higher lists echo "</ul>\n</li>\n"; } }else{ //close last item echo "</li>\n"; } //remember current level $level = $item['level']; //print item echo '<li>'; if( isset( $item['hid'] ) ){ $link = '#'.$item['hid']; }else{ $link = $item['link']; } echo '<a href="'.$link.'" class="toc">'.hsc($item['title']).'</a>'; } //close remaining items and lists for ($i=0; $i < $level; $i++){ echo "</li></ul>\n"; } //print_r( $toc ); echo '</section>', DOKU_LF; } } /** * Fork inc/template.php */ function custom_youarehere( $sep = '»' ) { global $conf; global $ID; global $lang; // check if enabled if(!$conf['youarehere']) return false; $parts = explode(':', $ID); $count = count($parts); if($GLOBALS['ACT'] == 'search') { $parts = array($conf['start']); $count = 1; } // always print the startpage $title = useHeading('navigation') ? p_get_first_heading($conf['start']) : $conf['start']; if(!$title) $title = $conf['start']; tpl_link(wl($conf['start']),hsc($title),'title="'.$conf['start'].'"'); // print intermediate namespace links $part = ''; for($i=0; $i<$count - 1; $i++){ $part .= $parts[$i].':'; $page = $part; resolve_pageid('',$page,$exists); if ($page == $conf['start']) continue; // Skip startpage // output echo $sep; if($exists){ $title = useHeading('navigation') ? p_get_first_heading($page) : $parts[$i]; tpl_link(wl($page),hsc($title),'title="'.$page.'"'); }else{ tpl_link(wl($page),$parts[$i],'title="'.$page.'" class="wikilink2" rel="nofollow"'); } } // print current page, skipping start page, skipping for namespace index if(isset($page) && $page==$part.$parts[$i]) return; $page = $part.$parts[$i]; if($page == $conf['start']) return; echo $sep; if(page_exists($page)){ $title = useHeading('navigation') ? p_get_first_heading($page) : $parts[$i]; tpl_link(wl($page),hsc($title),'title="'.$page.'"'); }else{ tpl_link(wl($page),$parts[$i],'title="'.$page.'" class="wikilink2" rel="nofollow"'); } return true; } ?><!DOCTYPE html> <html lang="<?php echo $conf['lang']; ?>"> <head> <meta charset="utf-8" /> <meta name="verify-v1" content="qgh3TZHu+ZRSRFmOPCG031BS0KO9MW4XtDnBtjMUfSk=" /> <?php tpl_metaheaders(); ?> <title><?php tpl_pagetitle(); ?> - <?php echo strip_tags($conf['title']); ?></title> </head> <body> <header role="banner"> <h1><?php tpl_link(wl(),$conf['title'],'name="dokuwiki__top" id="dokuwiki__top" accesskey="h" title="[H]"'); ?></h1> </header> <nav role="primary navigation"> <ul> <li><a href="http://portfolio.neolao.com/">Portfolio</a></li> <li class="selected"><a href="http://resources.neolao.com/">Ressources</a></li> <li><a href="http://blog.neolao.com/">Blog</a></li> <li><a href="http://forum.neolao.com/">Forum</a></li> </ul> </nav> <nav role="secondary navigation"> <?php custom_youarehere(); ?> </nav> <aside> <section> <h1>Recherche</h1> <form action="/" accept-charset="utf-8" id="dw__search"> <input type="hidden" name="do" value="search" /> <input type="text" id="qsearch__in" accesskey="f" name="id" size="10"/> <input type="submit" value="OK" class="button" title="Rechercher" /> </form> </section> <?php custom_toc(); ?> <?php if( $INFO['ismanager'] ){ echo '<section><h1>ADMIN</h1>'; tpl_button('edit'); tpl_button('history'); tpl_button('revert'); tpl_button('admin'); tpl_button('profile'); tpl_button('login'); echo '</section>'; } ?> </aside> <section id="body" role="main"> <?php html_msgarea()?> <article> <?php flush()?> <?php tpl_content(false)?> <?php flush()?> </article> <hr class="clear"/> </section> <footer role="contentinfo"> <?php tpl_license(false); ?> <address>Contact : <a href="mailto:webmaster@neolao.com">webmaster@neolao.com</a></address> <p><?php /* provide DokuWiki housekeeping, required in all templates */ tpl_indexerWebBug()?></p> </footer> </body> </html>