2 // PukiWiki - Yet another WikiWikiWeb clone.
4 // Copyright 2003-2018 PukiWiki Development Team
5 // License: GPL v2 or (at your option) any later version
10 define('MENU_ENABLE_SUBMENU', FALSE);
13 define('MENU_SUBMENUBAR', 'MenuBar');
15 function plugin_menu_convert()
17 global $vars, $menubar;
20 $num = func_num_args();
22 // Try to change default 'MenuBar' page name (only)
23 if ($num > 1) return '#menu(): Zero or One argument needed';
24 if ($menu !== NULL) return '#menu(): Already set: ' . htmlsc($menu);
25 $args = func_get_args();
26 if (! is_page($args[0])) {
27 return '#menu(): No such page: ' . htmlsc($args[0]);
29 $menu = $args[0]; // Set
34 // Output menubar page data
35 $page = ($menu === NULL) ? $menubar : $menu;
37 if (MENU_ENABLE_SUBMENU) {
38 $path = explode('/', strip_bracket($vars['page']));
39 while(! empty($path)) {
40 $_page = join('/', $path) . '/' . MENU_SUBMENUBAR;
41 if (is_page($_page)) {
49 if (! is_page($page)) {
51 } else if ($vars['page'] === $page) {
52 return '<!-- #menu(): You already view ' . htmlsc($page) . ' -->';
53 } else if (!is_page_readable($page)) {
54 return '#menu(): ' . htmlsc($page) . ' is not readable';
57 $menutext = preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\](.*)$/m', '$1$2', get_source($page));
58 return convert_html($menutext);