diff options
Diffstat (limited to 'mod/blog/start.php')
| -rw-r--r-- | mod/blog/start.php | 31 | 
1 files changed, 31 insertions, 0 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) {  | 
