diff options
-rw-r--r-- | inc/template.php | 19 | ||||
-rw-r--r-- | lib/tpl/dokuwiki/tpl_header.php | 19 |
2 files changed, 31 insertions, 7 deletions
diff --git a/inc/template.php b/inc/template.php index 60e178d1a..fb468d041 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1786,5 +1786,24 @@ function tpl_classes() { return join(' ', $classes); } +/** + * Create event for tools menues + * + * @author Anika Henke <anika@selfthinker.org> + */ +function tpl_toolsevent($toolsname, $items, $view='main') { + $data = array( + 'view' => $view, + 'items' => $items + ); + + $hook = 'TEMPLATE_'.strtoupper($toolsname).'_DISPLAY'; + $evt = new Doku_Event($hook, $data); + if($evt->advise_before()){ + foreach($evt->data['items'] as $k => $html) echo $html; + } + $evt->advise_after(); +} + //Setup VIM: ex: et ts=4 : diff --git a/lib/tpl/dokuwiki/tpl_header.php b/lib/tpl/dokuwiki/tpl_header.php index a2bfd4346..547dd1401 100644 --- a/lib/tpl/dokuwiki/tpl_header.php +++ b/lib/tpl/dokuwiki/tpl_header.php @@ -46,10 +46,13 @@ if (!defined('DOKU_INC')) die(); tpl_userinfo(); /* 'Logged in as ...' */ echo '</li>'; } - tpl_action('admin', 1, 'li'); - tpl_action('profile', 1, 'li'); - tpl_action('register', 1, 'li'); - tpl_action('login', 1, 'li'); + + tpl_toolsevent('usertools', array( + 'admin' => tpl_action('admin', 1, 'li', 1), + 'profile' => tpl_action('profile', 1, 'li', 1), + 'register' => tpl_action('register', 1, 'li', 1), + 'login' => tpl_action('login', 1, 'li', 1), + )); ?> </ul> </div> @@ -64,9 +67,11 @@ if (!defined('DOKU_INC')) die(); </div> <ul> <?php - tpl_action('recent', 1, 'li'); - tpl_action('media', 1, 'li'); - tpl_action('index', 1, 'li'); + tpl_toolsevent('sitetools', array( + 'recent' => tpl_action('recent', 1, 'li', 1), + 'media' => tpl_action('media', 1, 'li', 1), + 'index' => tpl_action('index', 1, 'li', 1), + )); ?> </ul> </div> |