aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/views.php33
-rw-r--r--languages/en.php1
-rw-r--r--mod/blog/views/default/blog/sidebar.php10
-rw-r--r--views/default/page/elements/comments.php2
-rw-r--r--views/default/page/elements/comments_block.php33
5 files changed, 42 insertions, 37 deletions
diff --git a/engine/lib/views.php b/engine/lib/views.php
index e74a286da..98edf1502 100644
--- a/engine/lib/views.php
+++ b/engine/lib/views.php
@@ -1106,39 +1106,6 @@ function elgg_view_comments($entity, $add_comment = true, array $vars = array())
}
/**
- * View the latest comments on a user's content
- *
- * @todo - get_annotations is due to be rewritten so update code and possibly parameters
- *
- * @param <type> $owner_guid
- * @param <type> $type
- * @param <type> $subtype
- * @param <type> $number
- *
- * @return string
- * @since 1.8.0
- */
-function elgg_view_latest_comments($owner_guid, $type = 'object', $subtype = '', $number = 4) {
- $title = elgg_echo('generic_comments:latest');
- $options = array(
- 'annotation_name' => 'generic_comment',
- 'owner_guid' => $owner_guid,
- 'reverse_order_by' => true,
- 'limit' => $number
-
- );
- $comments = elgg_get_annotations($options);
-
- $body = elgg_view('page/components/list', array(
- 'items' => $comments,
- 'pagination' => false,
- 'list_class' => 'elgg-latest-comments',
- ));
-
- return elgg_view_module('aside', $title, $body);
-}
-
-/**
* Wrapper function for the image block display pattern.
*
* Fixed width media on the side (image, icon, flash, etc.).
diff --git a/languages/en.php b/languages/en.php
index 351c228af..bd0247b8a 100644
--- a/languages/en.php
+++ b/languages/en.php
@@ -1062,6 +1062,7 @@ If you requested this click on the link below, otherwise ignore this email.
'generic_comment:notfound' => "Sorry, we could not find the specified item.",
'generic_comment:notdeleted' => "Sorry, we could not delete this comment.",
'generic_comment:failure' => "An unexpected error occurred when adding your comment. Please try again.",
+ 'generic_comment:none' => 'No comments',
'generic_comment:email:subject' => 'You have a new comment!',
'generic_comment:email:body' => "You have a new comment on your item \"%s\" from %s. It reads:
diff --git a/mod/blog/views/default/blog/sidebar.php b/mod/blog/views/default/blog/sidebar.php
index 63ed85c0b..4eb5cf443 100644
--- a/mod/blog/views/default/blog/sidebar.php
+++ b/mod/blog/views/default/blog/sidebar.php
@@ -7,10 +7,14 @@
// fetch & display latest comments
if ($vars['page'] == 'all') {
- echo elgg_view_latest_comments(0, 'object', 'blog');
+ echo elgg_view('page/elements/comments_block', array(
+ 'subtypes' => 'blog',
+ ));
} elseif ($vars['page'] == 'owner') {
- // @todo - what we want is the latest comments on this user's blog posts - elgg does not support this
- echo elgg_view_latest_comments(elgg_get_page_owner_guid(), 'object', 'blog');
+ echo elgg_view('page/elements/comments_block', array(
+ 'subtypes' => 'blog',
+ 'owner_guid' => elgg_get_page_owner_guid(),
+ ));
}
echo elgg_view('blog/sidebar/archives', $vars);
diff --git a/views/default/page/elements/comments.php b/views/default/page/elements/comments.php
index 1b0082ee4..ebc7d3df5 100644
--- a/views/default/page/elements/comments.php
+++ b/views/default/page/elements/comments.php
@@ -31,7 +31,7 @@ $options = array(
);
$html = elgg_list_annotations($options);
if ($html) {
- echo '<h3>Comments</h3>';
+ echo '<h3>' . elgg_echo('comments') . '</h3>';
echo $html;
}
diff --git a/views/default/page/elements/comments_block.php b/views/default/page/elements/comments_block.php
new file mode 100644
index 000000000..89e43b266
--- /dev/null
+++ b/views/default/page/elements/comments_block.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Display the latest related comments
+ *
+ * Generally used in a sidebar
+ *
+ * @uses $vars['subtypes'] Object subtype string or array of subtypes
+ * @uses $vars['owner_guid'] The owner of the content being commented on
+ * @uses $vars['limit'] The number of comments to display
+ */
+
+$options = array(
+ 'annotation_name' => 'generic_comment',
+ 'owner_guid' => elgg_extract('owner_guid', $vars, ELGG_ENTITIES_ANY_VALUE),
+ 'reverse_order_by' => true,
+ 'limit' => elgg_extract('limit', $vars, 4),
+ 'type' => 'object',
+ 'subtypes' => elgg_extract('subtypes', $vars, ELGG_ENTITIES_ANY_VALUE),
+);
+
+$title = elgg_echo('generic_comments:latest');
+$comments = elgg_get_annotations($options);
+if ($comments) {
+ $body = elgg_view('page/components/list', array(
+ 'items' => $comments,
+ 'pagination' => false,
+ 'list_class' => 'elgg-latest-comments',
+ ));
+} else {
+ $body = '<p>' . elgg_echo('generic_comment:none') . '</p>';
+}
+
+echo elgg_view_module('aside', $title, $body);