aboutsummaryrefslogtreecommitdiff
path: root/views/default/river/elements
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/river/elements')
-rw-r--r--views/default/river/elements/body.php31
-rw-r--r--views/default/river/elements/controls.php11
-rw-r--r--views/default/river/elements/footer.php52
-rw-r--r--views/default/river/elements/image.php12
4 files changed, 106 insertions, 0 deletions
diff --git a/views/default/river/elements/body.php b/views/default/river/elements/body.php
new file mode 100644
index 000000000..7d36222ac
--- /dev/null
+++ b/views/default/river/elements/body.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Body of river item
+ *
+ * @uses $vars['item']
+ */
+
+$item = $vars['item'];
+$subject = $item->getSubjectEntity();
+
+// river item header
+$params = array(
+ 'href' => $subject->getURL(),
+ 'text' => $subject->name,
+);
+$subject_link = elgg_view('output/url', $params);
+$timestamp = elgg_get_friendly_time($item->getPostedTime());
+$header = "$subject_link <span class=\"elgg-river-timestamp\">$timestamp</span>";
+
+// body
+$body = elgg_view($item->getView(), array('item' => $item));
+
+// footer
+$footer = elgg_view('river/item/footer', $vars);
+
+echo elgg_view('page/components/module', array(
+ 'header' => $header,
+ 'body' => $body,
+ 'footer' => $footer,
+ 'show_inner' => false,
+)); \ No newline at end of file
diff --git a/views/default/river/elements/controls.php b/views/default/river/elements/controls.php
new file mode 100644
index 000000000..188d01b5a
--- /dev/null
+++ b/views/default/river/elements/controls.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Controls on an river item
+ *
+ * @uses $vars['item']
+ */
+
+echo elgg_view_menu('river', array(
+ 'item' => $vars['item'],
+ 'sort_by' => 'priority',
+));
diff --git a/views/default/river/elements/footer.php b/views/default/river/elements/footer.php
new file mode 100644
index 000000000..7cf9dd925
--- /dev/null
+++ b/views/default/river/elements/footer.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * River item footer
+ */
+
+$item = $vars['item'];
+$object = $item->getObjectEntity();
+
+// annotations do not have comments
+if ($item->annotation_id != 0 || !$object) {
+ return true;
+}
+
+$comment_count = $object->countComments();
+
+$options = array(
+ 'guid' => $object->getGUID(),
+ 'annotation_name' => 'generic_comment',
+ 'limit' => 3,
+ 'order_by' => 'n_table.time_created desc'
+);
+$comments = elgg_get_annotations($options);
+
+if ($comments) {
+ // why is this reversing it? because we're asking for the 3 latest
+ // comments by sorting desc and limiting by 3, but we want to display
+ // these comments with the latest at the bottom.
+ $comments = array_reverse($comments);
+
+?>
+ <span class="elgg-river-comments-tab"><?php echo elgg_echo('comments'); ?></span>
+
+<?php
+
+ echo elgg_view_annotation_list($comments, array('list_class' => 'elgg-river-comments'));
+
+ if ($comment_count > count($comments)) {
+ $num_more_comments = $comment_count - count($comments);
+ $url = $object->getURL();
+ $params = array(
+ 'href' => $url,
+ 'text' => elgg_echo('river:comments:more', array($num_more_comments)),
+ );
+ $link = elgg_view('output/url', $params);
+ echo "<div class=\"elgg-river-more\">$link</div>";
+ }
+}
+
+// inline comment form
+echo elgg_view_form('comments/add', array(
+ 'id' => "comments-add-{$object->getGUID()}",
+), array('entity' => $object, 'inline' => true));
diff --git a/views/default/river/elements/image.php b/views/default/river/elements/image.php
new file mode 100644
index 000000000..9caa44b36
--- /dev/null
+++ b/views/default/river/elements/image.php
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Elgg river image
+ *
+ * Displayed next to the body of each river item
+ *
+ * @uses $vars['item']
+ */
+
+$subject = $vars['item']->getSubjectEntity();
+
+echo elgg_view_entity_icon($subject, 'small');