diff options
Diffstat (limited to 'include/menu.php')
-rw-r--r-- | include/menu.php | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/include/menu.php b/include/menu.php index c10a669b3..d69c5d0d3 100644 --- a/include/menu.php +++ b/include/menu.php @@ -23,7 +23,6 @@ function menu_fetch($name,$uid,$observer_xchan) { return null; } - function menu_render($menu) { if(! $menu) return ''; @@ -58,6 +57,8 @@ function menu_create($arr) { $menu_name = trim(escape_tags($arr['menu_name'])); $menu_desc = trim(escape_tags($arr['menu_desc'])); + $menu_flags = intval($arr['menu_flags']); + if(! $menu_desc) $menu_desc = $menu_name; @@ -65,21 +66,26 @@ function menu_create($arr) { if(! $menu_name) return false; + if(! $menu_flags) + $menu_flags = 0; + $menu_channel_id = intval($arr['menu_channel_id']); $r = q("select * from menu where menu_name = '%s' and menu_channel_id = %d limit 1", dbesc($menu_name), - intval($menu_channel_id) + intval($menu_channel_id), + intval($menu_flags) ); if($r) return false; - $r = q("insert into menu ( menu_name, menu_desc, menu_channel_id ) - values( '%s', '%s', %d )", + $r = q("insert into menu ( menu_name, menu_desc, menu_flags, menu_channel_id ) + values( '%s', '%s', %d, %d )", dbesc($menu_name), dbesc($menu_desc), + intval($menu_flags), intval($menu_channel_id) ); if(! $r) @@ -95,8 +101,11 @@ function menu_create($arr) { } -function menu_list($channel_id) { - $r = q("select * from menu where menu_channel_id = %d order by menu_name", +function menu_list($channel_id, $flags = 0) { + + $sel_options = (($flags) ? " and ( menu_flags & " . intval($flags) . " ) " : ''); + + $r = q("select * from menu where menu_channel_id = %d $sel_options order by menu_name", intval($channel_id) ); return $r; @@ -110,6 +119,7 @@ function menu_edit($arr) { $menu_name = trim(escape_tags($arr['menu_name'])); $menu_desc = trim(escape_tags($arr['menu_desc'])); + $menu_flags = intval($arr['menu_flags']); if(! $menu_desc) $menu_desc = $menu_name; @@ -117,6 +127,9 @@ function menu_edit($arr) { if(! $menu_name) return false; + if(! $menu_flags) + $menu_flags = 0; + $menu_channel_id = intval($arr['menu_channel_id']); @@ -139,21 +152,11 @@ function menu_edit($arr) { return false; } - - $r = q("select * from menu where menu_name = '%s' and menu_channel_id = %d and menu_desc = '%s' limit 1", - dbesc($menu_name), - intval($menu_channel_id), - dbesc($menu_desc) - ); - - if($r) - return false; - - - return q("update menu set menu_name = '%s', menu_desc = '%s' + return q("update menu set menu_name = '%s', menu_desc = '%s', menu_flags = %d, where menu_id = %d and menu_channel_id = %d limit 1", dbesc($menu_name), dbesc($menu_desc), + intval($menu_flags), intval($menu_id), intval($menu_channel_id) ); |