diff options
Diffstat (limited to 'mod/blog')
-rw-r--r-- | mod/blog/start.php | 31 | ||||
-rw-r--r-- | mod/blog/views/default/object/blog.php | 13 |
2 files changed, 35 insertions, 9 deletions
diff --git a/mod/blog/start.php b/mod/blog/start.php index 437970de4..344da21d4 100644 --- a/mod/blog/start.php +++ b/mod/blog/start.php @@ -63,6 +63,9 @@ function blog_init() { elgg_register_action('blog/auto_save_revision', "$action_path/auto_save_revision.php"); elgg_register_action('blog/delete', "$action_path/delete.php"); + // entity menu + elgg_register_plugin_hook_handler('register', 'menu:entity', 'blog_entity_menu_setup'); + // ecml elgg_register_plugin_hook_handler('get_views', 'ecml', 'blog_ecml_views_hook'); } @@ -181,6 +184,34 @@ function blog_owner_block_menu($hook, $type, $return, $params) { } /** + * Add particular blog links/info to entity menu + */ +function blog_entity_menu_setup($hook, $type, $return, $params) { + if (elgg_in_context('widgets')) { + return $return; + } + + $entity = $params['entity']; + $handler = elgg_extract('handler', $params, false); + if ($handler != 'blog') { + return $return; + } + + if ($entity->canEdit() && $entity->status != 'published') { + $status_text = elgg_echo("blog:status:{$entity->status}"); + $options = array( + 'name' => 'published_status', + 'text' => $status_text, + 'href' => false, + 'priority' => 150, + ); + $return[] = ElggMenuItem::factory($options); + } + + return $return; +} + +/** * Register blogs with ECML. */ function blog_ecml_views_hook($hook, $entity_type, $return_value, $params) { diff --git a/mod/blog/views/default/object/blog.php b/mod/blog/views/default/object/blog.php index a24d8758e..8c339236c 100644 --- a/mod/blog/views/default/object/blog.php +++ b/mod/blog/views/default/object/blog.php @@ -43,16 +43,11 @@ if ($blog->comments_on != 'Off') { $comments_link = ''; } -$extra_links = false; -if ($blog->canEdit() && $blog->status != 'published') { - $status_text = elgg_echo("blog:status:{$blog->status}"); - $extra_links = array($status_text); -} - -$metadata = elgg_view('navigation/menu/metadata', array( - 'entity' => $blog, +$metadata = elgg_view_menu('entity', array( + 'entity' => $vars['entity'], 'handler' => 'blog', - 'links' => $extra_links, + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', )); $subtitle = "<p>$author_text $date $comments_link</p>"; |