diff options
author | friendica <info@friendica.com> | 2014-02-25 20:58:20 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-02-25 20:58:20 -0800 |
commit | 364fc9f1638e67dad2c289b4d365753a5d06ac05 (patch) | |
tree | e12d07cd3e090488f1d8660b47633aa442b09a68 | |
parent | 1857036a994a5470aaece799d3bf07fbc863a91f (diff) | |
download | volse-hubzilla-364fc9f1638e67dad2c289b4d365753a5d06ac05.tar.gz volse-hubzilla-364fc9f1638e67dad2c289b4d365753a5d06ac05.tar.bz2 volse-hubzilla-364fc9f1638e67dad2c289b4d365753a5d06ac05.zip |
comanche: provide an option to add a menu class for different theming choices on some menus (e.g. horizontal, tabbed, etc.)
-rw-r--r-- | include/comanche.php | 15 | ||||
-rw-r--r-- | include/menu.php | 3 | ||||
-rw-r--r-- | mod/bookmarks.php | 4 | ||||
-rw-r--r-- | view/tpl/usermenu.tpl | 2 |
4 files changed, 17 insertions, 7 deletions
diff --git a/include/comanche.php b/include/comanche.php index 7d7e0e70c..f02190ee5 100644 --- a/include/comanche.php +++ b/include/comanche.php @@ -79,10 +79,10 @@ function comanche_parser(&$a,$s) { } -function comanche_menu($name) { +function comanche_menu($name,$class = '') { $a = get_app(); $m = menu_fetch($name,$a->profile['profile_uid'],get_observer_hash()); - return menu_render($m); + return menu_render($m,$class); } function comanche_replace_region($match) { @@ -152,13 +152,22 @@ function comanche_widget($name,$text) { function comanche_region(&$a,$s) { - $cnt = preg_match_all("/\[menu\](.*?)\[\/menu\]/ism", $s, $matches, PREG_SET_ORDER); if($cnt) { foreach($matches as $mtch) { $s = str_replace($mtch[0],comanche_menu(trim($mtch[1])),$s); } } + + // menu class e.g. [menu=horizontal]my_menu[/menu] or [menu=tabbed]my_menu[/menu] + // allows different menu renderings to be applied + + $cnt = preg_match_all("/\[menu=(.*?)\](.*?)\[\/menu\]/ism", $s, $matches, PREG_SET_ORDER); + if($cnt) { + foreach($matches as $mtch) { + $s = str_replace($mtch[0],comanche_menu(trim($mtch[2]),$match[1]),$s); + } + } $cnt = preg_match_all("/\[block\](.*?)\[\/block\]/ism", $s, $matches, PREG_SET_ORDER); if($cnt) { foreach($matches as $mtch) { diff --git a/include/menu.php b/include/menu.php index 2f1719d0b..4b0a11f10 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, $edit = false) { +function menu_render($menu, $class='', $edit = false) { if(! $menu) return ''; @@ -38,6 +38,7 @@ function menu_render($menu, $edit = false) { return replace_macros(get_markup_template('usermenu.tpl'),array( '$menu' => $menu['menu'], + '$class' => $class, '$edit' => (($edit) ? t("Edit") : ''), '$items' => $menu['items'] )); diff --git a/mod/bookmarks.php b/mod/bookmarks.php index c5be68b8e..141ae2e0b 100644 --- a/mod/bookmarks.php +++ b/mod/bookmarks.php @@ -57,7 +57,7 @@ function bookmarks_content(&$a) { if($x) { foreach($x as $xx) { $y = menu_fetch($xx['menu_name'],local_user(),get_observer_hash()); - $o .= menu_render($y,true); + $o .= menu_render($y,'',true); } } @@ -69,7 +69,7 @@ function bookmarks_content(&$a) { if($x) { foreach($x as $xx) { $y = menu_fetch($xx['menu_name'],local_user(),get_observer_hash()); - $o .= menu_render($y,true); + $o .= menu_render($y,'',true); } } diff --git a/view/tpl/usermenu.tpl b/view/tpl/usermenu.tpl index 80e160fdf..a5c6faa99 100644 --- a/view/tpl/usermenu.tpl +++ b/view/tpl/usermenu.tpl @@ -1,4 +1,4 @@ -<div class="pmenu"> +<div class="pmenu{{if $class}} {{$class}}{{/if}}"> {{if $menu.menu_desc}} <h3 class="pmenu-title">{{$menu.menu_desc}}</h3> {{/if}} |