diff options
author | Brett Profitt <brett.profitt@gmail.com> | 2011-08-24 17:06:39 -0700 |
---|---|---|
committer | Brett Profitt <brett.profitt@gmail.com> | 2011-08-24 17:06:39 -0700 |
commit | 946a4a008ab2bc3f3a530558ae47581f9d8fbbcb (patch) | |
tree | 069a3f49d498f2f81dfd6b36a61090d517fea57f | |
parent | b1cbcfa842abf670c2b5805eb45bc8314836bb2d (diff) | |
download | elgg-946a4a008ab2bc3f3a530558ae47581f9d8fbbcb.tar.gz elgg-946a4a008ab2bc3f3a530558ae47581f9d8fbbcb.tar.bz2 |
Refs #3750. Added annotation menu for generic comments (delete) and default annotations (empty).
-rw-r--r-- | engine/lib/navigation.php | 26 | ||||
-rw-r--r-- | views/default/annotation/default.php | 25 | ||||
-rw-r--r-- | views/default/annotation/generic_comment.php | 18 | ||||
-rw-r--r-- | views/default/css/elements/navigation.php | 12 |
4 files changed, 46 insertions, 35 deletions
diff --git a/engine/lib/navigation.php b/engine/lib/navigation.php index 1305ee3de..cefe40ecf 100644 --- a/engine/lib/navigation.php +++ b/engine/lib/navigation.php @@ -373,12 +373,38 @@ function elgg_entity_menu_setup($hook, $type, $return, $params) { } /** + * Adds a delete link to "generic_comment" annotations + */ +function elgg_annotation_menu_setup($hook, $type, $return, $params) { + $annotation = $params['annotation']; + + if ($annotation->name == 'generic_comment' && $annotation->canEdit()) { + $url = elgg_http_add_url_query_elements('action/comments/delete', array( + 'annotation_id' => $annotation->id, + )); + + $options = array( + 'name' => 'delete', + 'href' => $url, + 'text' => "<span class=\"elgg-icon elgg-icon-delete\"></span>", + 'confirm' => elgg_echo('deleteconfirm'), + 'text_encode' => false + ); + $return[] = ElggMenuItem::factory($options); + } + + return $return; +} + + +/** * Navigation initialization */ function elgg_nav_init() { elgg_register_plugin_hook_handler('prepare', 'menu:site', 'elgg_site_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:river', 'elgg_river_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:entity', 'elgg_entity_menu_setup'); + elgg_register_plugin_hook_handler('register', 'menu:annotation', 'elgg_annotation_menu_setup'); } elgg_register_event_handler('init', 'system', 'elgg_nav_init'); diff --git a/views/default/annotation/default.php b/views/default/annotation/default.php index a21fdee51..0e626ad9a 100644 --- a/views/default/annotation/default.php +++ b/views/default/annotation/default.php @@ -2,9 +2,9 @@ /** * Elgg default annotation view * + * @note To add or remove from the annotation menu, register handlers for the menu:annotation hook. + * * @uses $vars['annotation'] - * @uses $vars['delete_action'] A custom action for the delete button. - * The annotation ID is passed as 'annotation_id'. */ $annotation = $vars['annotation']; @@ -16,28 +16,19 @@ if (!$owner) { $icon = elgg_view_entity_icon($owner, 'tiny'); $owner_link = "<a href=\"{$owner->getURL()}\">$owner->name</a>"; -$delete_action = elgg_extract('delete_action', $vars, ''); +$menu = elgg_view_menu('annotation', array( + 'annotation' => $annotation, + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz right', +)); $text = elgg_view("output/longtext", array("value" => $annotation->value)); $friendlytime = elgg_view_friendly_time($annotation->time_created); -$delete_button = ''; -if ($delete_action && $annotation->canEdit()) { - $url = elgg_http_add_url_query_elements($delete_action, array( - 'annotation_id' => $annotation->id, - )); - $delete_button = elgg_view("output/confirmlink", array( - 'href' => $url, - 'text' => "<span class=\"elgg-icon elgg-icon-delete right\"></span>", - 'confirm' => elgg_echo('deleteconfirm'), - 'text_encode' => false, - )); -} - $body = <<<HTML <div class="mbn"> - $delete_button + $menu $owner_link <span class="elgg-subtext"> $friendlytime diff --git a/views/default/annotation/generic_comment.php b/views/default/annotation/generic_comment.php index 69520d102..a4fbf904e 100644 --- a/views/default/annotation/generic_comment.php +++ b/views/default/annotation/generic_comment.php @@ -29,23 +29,17 @@ $entity_title = $entity->title ? $entity->title : elgg_echo('untitled'); $entity_link = "<a href=\"{$entity->getURL()}\">$entity_title</a>"; if ($full_view) { - - $delete_button = ''; - if ($comment->canEdit()) { - $url = "action/comments/delete?annotation_id=$comment->id"; - $delete_button = elgg_view("output/confirmlink", array( - 'href' => $url, - 'text' => "<span class=\"elgg-icon elgg-icon-delete right\"></span>", - 'confirm' => elgg_echo('deleteconfirm'), - 'text_encode' => false, - )); - } + $menu = elgg_view_menu('annotation', array( + 'annotation' => $comment, + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz right', + )); $comment_text = elgg_view("output/longtext", array("value" => $comment->value)); $body = <<<HTML <div class="mbn"> - $delete_button + $menu $commenter_link <span class="elgg-subtext"> $friendlytime diff --git a/views/default/css/elements/navigation.php b/views/default/css/elements/navigation.php index 64b7c47b4..b5388715e 100644 --- a/views/default/css/elements/navigation.php +++ b/views/default/css/elements/navigation.php @@ -424,10 +424,10 @@ li:hover > .elgg-menu-site-more { } /* *************************************** - ENTITY + ENTITY AND ANNOTATION *************************************** */ <?php // height depends on line height/font size ?> -.elgg-menu-entity { +.elgg-menu-entity, elgg-menu-annotation { float: right; margin-left: 15px; font-size: 90%; @@ -435,17 +435,17 @@ li:hover > .elgg-menu-site-more { line-height: 16px; height: 16px; } -.elgg-menu-entity > li { +.elgg-menu-entity > li, .elgg-menu-annotation > li { margin-left: 15px; } -.elgg-menu-entity > li > a { +.elgg-menu-entity > li > a, .elgg-menu-annotation > li > a { color: #aaa; } <?php // need to override .elgg-menu-hz ?> -.elgg-menu-entity > li > a { +.elgg-menu-entity > li > a, .elgg-menu-annotation > li > a { display: block; } -.elgg-menu-entity > li > span { +.elgg-menu-entity > li > span, .elgg-menu-annotation > li > span { vertical-align: baseline; } |