From cd8ecb86499c7b1fdaff44653cf3771c60ee2454 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 7 May 2015 23:02:14 +0200 Subject: provide wrap variable for comanche menus --- include/comanche.php | 15 +++++++++++++-- include/menu.php | 7 +++++-- 2 files changed, 18 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/comanche.php b/include/comanche.php index 630c4f655..f385f3c5a 100644 --- a/include/comanche.php +++ b/include/comanche.php @@ -101,11 +101,22 @@ function comanche_parser(&$a, $s, $pass = 0) { } -function comanche_menu($name, $class = '') { +function comanche_menu($s, $class = '') { + $channel_id = comanche_get_channel_id(); + $name = $s; + + $cnt = preg_match_all("/\[var=(.*?)\](.*?)\[\/var\]/ism", $s, $matches, PREG_SET_ORDER); + if($cnt) { + foreach($matches as $mtch) { + $var[$mtch[1]] = $mtch[2]; + $name = str_replace($mtch[0], '', $name); + } + } + if($channel_id) { $m = menu_fetch($name,$channel_id, get_observer_hash()); - return menu_render($m, $class); + return menu_render($m, $class, $edit = false, $var); } } diff --git a/include/menu.php b/include/menu.php index b4f4555a5..a2e91f7ed 100644 --- a/include/menu.php +++ b/include/menu.php @@ -24,7 +24,7 @@ function menu_fetch($name,$uid,$observer_xchan) { return null; } -function menu_render($menu, $class='', $edit = false) { +function menu_render($menu, $class='', $edit = false, $var = '') { if(! $menu) return ''; @@ -37,12 +37,15 @@ function menu_render($menu, $class='', $edit = false) { $menu['items'][$x]['mitem_desc'] = bbcode($menu['items'][$x]['mitem_desc']); } + $wrap = (($var['wrap'] === 'none') ? false : true); + return replace_macros(get_markup_template('usermenu.tpl'),array( '$menu' => $menu['menu'], '$class' => $class, '$edit' => (($edit) ? t("Edit") : ''), '$id' => $menu['menu']['menu_id'], - '$items' => $menu['items'] + '$items' => $menu['items'], + '$wrap' => $wrap )); } -- cgit v1.2.3