diff options
Diffstat (limited to 'mod/groups/views')
6 files changed, 104 insertions, 14 deletions
diff --git a/mod/groups/views/default/annotation/group_topic_post.php b/mod/groups/views/default/annotation/group_topic_post.php new file mode 100644 index 000000000..d2303aba8 --- /dev/null +++ b/mod/groups/views/default/annotation/group_topic_post.php @@ -0,0 +1,8 @@ +<?php +/** + * Discussion reply + */ + +$vars['delete_action'] = 'action/discussion/reply/delete'; + +echo elgg_view('annotation/default', $vars); diff --git a/mod/groups/views/default/discussion/replies.php b/mod/groups/views/default/discussion/replies.php new file mode 100644 index 000000000..2bfb6f0cd --- /dev/null +++ b/mod/groups/views/default/discussion/replies.php @@ -0,0 +1,28 @@ +<?php +/** + * List replies with optional add form + * + * @uses $vars['entity'] ElggEntity + * @uses $vars['show_add_form'] Display add form or not + */ + +$show_add_form = elgg_extract('show_add_form', $vars, true); + +echo '<div id="group-replies" class="mtl">'; + +$options = array( + 'guid' => $vars['entity']->getGUID(), + 'annotation_name' => 'group_topic_post', +); +$html = elgg_list_annotations($options); +if ($html) { + echo '<h3>' . elgg_echo('group:replies') . '</h3>'; + echo $html; +} + +if ($show_add_form) { + $form_vars = array('class' => 'mtm'); + echo elgg_view_form('discussion/reply/save', $form_vars, $vars); +} + +echo '</div>'; diff --git a/mod/groups/views/default/forms/discussion/reply/save.php b/mod/groups/views/default/forms/discussion/reply/save.php new file mode 100644 index 000000000..6281e941c --- /dev/null +++ b/mod/groups/views/default/forms/discussion/reply/save.php @@ -0,0 +1,22 @@ +<?php +/** + * Discussion topic reply form bofy + * + * @uses $vars['entity'] + */ + + +if (isset($vars['entity']) && elgg_is_logged_in()) { +?> + <div> + <label><?php echo elgg_echo("reply"); ?></label> + <?php echo elgg_view('input/longtext', array('name' => 'group_topic_post')); ?> + </div> +<?php + echo elgg_view('input/submit', array('value' => elgg_echo('reply'))); + + echo elgg_view('input/hidden', array( + 'name' => 'entity_guid', + 'value' => $vars['entity']->getGUID() + )); +} diff --git a/mod/groups/views/default/groups/css.php b/mod/groups/views/default/groups/css.php index 5276e2bfa..545f9c9b3 100644 --- a/mod/groups/views/default/groups/css.php +++ b/mod/groups/views/default/groups/css.php @@ -22,7 +22,7 @@ font-size: 85%; } -.groups-latest-comment { +.groups-latest-reply { float: right; } diff --git a/mod/groups/views/default/object/groupforumtopic.php b/mod/groups/views/default/object/groupforumtopic.php index 8a1daece8..b5efa0e6c 100644 --- a/mod/groups/views/default/object/groupforumtopic.php +++ b/mod/groups/views/default/object/groupforumtopic.php @@ -26,18 +26,22 @@ $poster_text = elgg_echo('groups:started', array($poster->name)); $tags = elgg_view('output/tags', array('tags' => $topic->tags)); $date = elgg_view_friendly_time($topic->time_created); -$comments_link = ''; -$comments_text = ''; -$num_comments = $topic->countComments(); -if ($num_comments != 0) { - $last_comment = $topic->getAnnotations("generic_comment", 1, 0, "desc"); - $commenter = $last_comment[0]->getOwnerEntity(); - $comment_time = elgg_view_friendly_time($last_comment[0]->time_created); - $comments_text = elgg_echo('groups:updated', array($commenter->name, $comment_time)); +$replies_link = ''; +$replies_text = ''; +$num_replies = elgg_get_annotations(array( + 'annotation_name' => 'group_topic_post', + 'guid' => $topic->getGUID(), + 'count' => true, +)); +if ($num_replies != 0) { + $last_reply = $topic->getAnnotations('group_topic_post', 1, 0, 'desc'); + $poster = $last_reply[0]->getOwnerEntity(); + $reply_time = elgg_view_friendly_time($last_reply[0]->time_created); + $reply_text = elgg_echo('groups:updated', array($poster->name, $reply_time)); - $comments_link = elgg_view('output/url', array( - 'href' => $topic->getURL() . '#topic-comments', - 'text' => elgg_echo("comments") . " ($num_comments)", + $replies_link = elgg_view('output/url', array( + 'href' => $topic->getURL() . '#group-replies', + 'text' => elgg_echo('group:replies') . " ($num_replies)", )); } @@ -52,7 +56,7 @@ if (elgg_in_context('widgets')) { } if ($full) { - $subtitle = "$poster_text $date $comments_link"; + $subtitle = "$poster_text $date $replies_link"; $params = array( 'entity' => $topic, @@ -75,7 +79,7 @@ HTML; } else { // brief view - $subtitle = "$poster_text $date $comments_link <span class=\"groups-latest-comment\">$comments_text</span>"; + $subtitle = "$poster_text $date $replies_link <span class=\"groups-latest-reply\">$reply_text</span>"; $params = array( 'entity' => $topic, diff --git a/mod/groups/views/default/river/annotation/group_topic_post/reply.php b/mod/groups/views/default/river/annotation/group_topic_post/reply.php new file mode 100644 index 000000000..f0b7d03b8 --- /dev/null +++ b/mod/groups/views/default/river/annotation/group_topic_post/reply.php @@ -0,0 +1,28 @@ +<?php +/** + * Reply river view + */ +$object = $vars['item']->getObjectEntity(); +$reply = $vars['item']->getAnnotation(); + +$url = $object->getURL(); +$title = $object->title; +$params = array( + 'href' => $object->getURL(), + 'text' => $title, +); +$object_link = elgg_view('output/url', $params); + +$type = $object->getType(); +$subtype = $object->getSubtype(); + +echo elgg_echo('groups:river:reply') . ' '; +echo $object_link; + +if ($reply) { + $excerpt = elgg_get_excerpt($reply->value); + echo '<div class="elgg-river-content">'; + echo $excerpt; + echo '</div>'; +} + |