<?php require_once dirname(__FILE__) . '/IckeNavigation.php'; function icke_getFile($name) { return file_exists(DOKU_TPLINC . 'local/' . $name) ? 'local/' . $name : $name; } function icke_tplPopupPage($id){ $page = p_wiki_xhtml($id,'',false); if($page) { icke_tplPopup($page); } } function icke_tplPopup($page) { ?> <div class="sec_level"> <span class="a"></span> <span class="b"></span> <div class="popup_content"> <?php echo $page; ?> </div> <span class="c"></span> <span class="d"></span> </div> <?php } function icke_tplProjectSteps(){ global $ID; global $conf; $steps = ''; $ns = $ID; do { $ns = getNS($ns); $try = $ns . ':schritt'; if(page_exists($try)) { $steps = $try; break; } $try .= ':' . $conf['start']; if(page_exists($try)) { $steps = $try; break; } } while ($ns); if (!$steps) return; echo '<li class="sideclip">'; echo p_wiki_xhtml($steps,'',false); echo '</li>'; } /** * Return the toolbox popup */ function icke_toolbox(){ $tools = ''; $tools .= '<h1 class="empty"></h1>'; $tools .= '<div class="level2">'; $tools .= '<ul>'; $tools .= (new \dokuwiki\Menu\SiteMenu())->getListItems('dw-menu-item '); $tools .= (new \dokuwiki\Menu\UserMenu())->getListItems('dw-menu-item '); $tools .= '</ul></div>'; return $tools; } function icke_toolbox_renderer($action, $text, $pluginName, $pluginType) { if (plugin_load($pluginType, $pluginName) === null) { return ''; } global $ID; $url = wl($ID, array('do' => $action)); $link = '<li><div class="li">'; $link .= "<a href=\"$url\" class=\"action admin\" rel=\"nofollow\" title=\"$text\">$text</a>"; $link .= '</div></li>'; return $link; } /** * Print a single navigation item and associated quick popup */ function icke_navi($link,$name='',$class='',$popup='',$active=false,$sep=false){ // active/separator decorations $liclass = ''; if($active) $liclass .= ' active'; if($sep) $liclass .= ' separator'; if($name == 'Settings') $liclass .= ' nomobile'; $liclass = trim($liclass); if($liclass) $liclass = ' class="'.$liclass.'"'; if(!$name && $link) $name = p_get_first_heading($link); if(!$class && $link) $class = 'qnav_'.str_replace(':','_',getNS($link)); if($link) $link = ' href="'.wl($link).'"'; // output the item $liHTML = '<li'.$liclass.'>'; $liHTML .= '<a class="qnav_item '.$class.'" '.$link.'>'.hsc($name).'</a>'; if($popup){ $liHTML .= '<div class="sec_level">'; $liHTML .= '<div class="popup_content">'; $liHTML .= $popup; $liHTML .= '</div>'; $liHTML .= '</div>'; } $liHTML .= '</li>'; echo $liHTML; } /** * Populate the navigation side bar from the configured navigation links */ function icke_tplSidebar() { $navigation = icke_getNavigation(); $navigation->drawSidebar(); } function icke_translatedID($id, $mustExist = true) { $translation =& plugin_load('action', 'translation'); if ($translation === null) { return $id; } if ($translation->locale === null) { return $id; } $translatedId = $translation->locale . ":$id"; if (page_exists($translatedId) || !$mustExist ) { return $translatedId; } return $id; } /** * Include icons CSS for the navigation and fancy search * * Looks in the media namespace (ns:icon_on.png, ns:icon_off.png) first, * then in the template, then uses a fail image. */ function icke_tplCSS() { $navigation = icke_getNavigation(); $navigation->buildPageCss(); } function icke_processFancySearchItem($id) { if(!$id) return false; $link = $id; resolve_pageid('',$link,$exists); if (auth_quickaclcheck($link) < AUTH_READ) return false; $ns = getNS($link); if(!$ns) $ns = $link; // try to use translated namespaces for translation plug-in $class = array_shift(explode(':',$ns)); $imgClass = $class; if (page_exists($link)) { $class = icke_translatedID($class, false); $class = str_replace(':', '_', $class); } return array('ns' => $ns, 'class' => $class, 'imgClass' => $imgClass); } function icke_tplSearch() { $fancysearch = plugin_load('action', 'fancysearch'); if (is_null($fancysearch)) { tpl_searchform(true, false); return; } $navigation = icke_getNavigation(); $navi = array(); $navi[''] = 'icke'; foreach($navigation->navigation as $item){ if (!($item instanceof IckeNavigationItem)) continue; if(strstr($item->id,'%USER%') !== false) continue; //$processed = icke_processFancySearchItem($id); //if (!$processed) continue; $ns = rtrim($item->getNamespace(), ':'); $class = $item->class; $navi[$ns] = $class; } $fancysearch->tpl_searchform($navi); }