diff options
Diffstat (limited to 'views/default/river/elements')
-rw-r--r-- | views/default/river/elements/body.php | 31 | ||||
-rw-r--r-- | views/default/river/elements/controls.php | 11 | ||||
-rw-r--r-- | views/default/river/elements/footer.php | 52 | ||||
-rw-r--r-- | views/default/river/elements/image.php | 12 |
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'); |