diff options
Diffstat (limited to 'views/default/river')
| -rw-r--r-- | views/default/river/annotation/generic_comment/create.php | 11 | ||||
| -rw-r--r-- | views/default/river/dashboard.php | 23 | ||||
| -rw-r--r-- | views/default/river/elements/body.php | 67 | ||||
| -rw-r--r-- | views/default/river/elements/image.php | 16 | ||||
| -rw-r--r-- | views/default/river/elements/layout.php | 14 | ||||
| -rw-r--r-- | views/default/river/elements/responses.php | 63 | ||||
| -rw-r--r-- | views/default/river/elements/summary.php | 54 | ||||
| -rw-r--r-- | views/default/river/item.php | 30 | ||||
| -rw-r--r-- | views/default/river/item/list.php | 54 | ||||
| -rw-r--r-- | views/default/river/item/noaccess.php | 11 | ||||
| -rw-r--r-- | views/default/river/item/wrapper.php | 64 | ||||
| -rw-r--r-- | views/default/river/relationship/friend/create.php | 44 | ||||
| -rw-r--r-- | views/default/river/user/default/profileiconupdate.php | 24 | ||||
| -rw-r--r-- | views/default/river/user/default/profileupdate.php | 20 | ||||
| -rw-r--r-- | views/default/river/wrapper.php | 48 |
15 files changed, 308 insertions, 235 deletions
diff --git a/views/default/river/annotation/generic_comment/create.php b/views/default/river/annotation/generic_comment/create.php new file mode 100644 index 000000000..7d586450d --- /dev/null +++ b/views/default/river/annotation/generic_comment/create.php @@ -0,0 +1,11 @@ +<?php +/** + * Post comment river view + */ +$object = $vars['item']->getObjectEntity(); +$comment = $vars['item']->getAnnotation(); + +echo elgg_view('river/elements/layout', array( + 'item' => $vars['item'], + 'message' => elgg_get_excerpt($comment->value), +)); diff --git a/views/default/river/dashboard.php b/views/default/river/dashboard.php deleted file mode 100644 index b049348f1..000000000 --- a/views/default/river/dashboard.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php -/** - * Elgg river for dashboard. - * - * @package Elgg - * @author Curverider Ltd - * @link http://elgg.com/ - */ - -/// Extract the river -$river = $vars['river']; -?> -<div id="river"> -<?php -if (($river) && (count($river)>0)) { - foreach ($river as $r) { - echo $r; - } -} else { - echo elgg_echo('river:widget:noactivity'); -} -?> -</div>
\ No newline at end of file diff --git a/views/default/river/elements/body.php b/views/default/river/elements/body.php new file mode 100644 index 000000000..2cd7f2289 --- /dev/null +++ b/views/default/river/elements/body.php @@ -0,0 +1,67 @@ +<?php +/** + * Body of river item + * + * @uses $vars['item'] ElggRiverItem + * @uses $vars['summary'] Alternate summary (the short text summary of action) + * @uses $vars['message'] Optional message (usually excerpt of text) + * @uses $vars['attachments'] Optional attachments (displaying icons or other non-text data) + * @uses $vars['responses'] Alternate respones (comments, replies, etc.) + */ + +$item = $vars['item']; + +$menu = elgg_view_menu('river', array( + 'item' => $item, + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', +)); + +// river item header +$timestamp = elgg_view_friendly_time($item->getPostedTime()); + +$summary = elgg_extract('summary', $vars, elgg_view('river/elements/summary', array('item' => $vars['item']))); +if ($summary === false) { + $subject = $item->getSubjectEntity(); + $summary = elgg_view('output/url', array( + 'href' => $subject->getURL(), + 'text' => $subject->name, + 'class' => 'elgg-river-subject', + 'is_trusted' => true, + )); +} + +$message = elgg_extract('message', $vars, false); +if ($message !== false) { + $message = "<div class=\"elgg-river-message\">$message</div>"; +} + +$attachments = elgg_extract('attachments', $vars, false); +if ($attachments !== false) { + $attachments = "<div class=\"elgg-river-attachments clearfix\">$attachments</div>"; +} + +$responses = elgg_view('river/elements/responses', $vars); +if ($responses) { + $responses = "<div class=\"elgg-river-responses\">$responses</div>"; +} + +$group_string = ''; +$object = $item->getObjectEntity(); +$container = $object->getContainerEntity(); +if ($container instanceof ElggGroup && $container->guid != elgg_get_page_owner_guid()) { + $group_link = elgg_view('output/url', array( + 'href' => $container->getURL(), + 'text' => $container->name, + 'is_trusted' => true, + )); + $group_string = elgg_echo('river:ingroup', array($group_link)); +} + +echo <<<RIVER +$menu +<div class="elgg-river-summary">$summary $group_string <span class="elgg-river-timestamp">$timestamp</span></div> +$message +$attachments +$responses +RIVER; diff --git a/views/default/river/elements/image.php b/views/default/river/elements/image.php new file mode 100644 index 000000000..6f6aeae65 --- /dev/null +++ b/views/default/river/elements/image.php @@ -0,0 +1,16 @@ +<?php +/** + * Elgg river image + * + * Displayed next to the body of each river item + * + * @uses $vars['item'] + */ + +$subject = $vars['item']->getSubjectEntity(); + +if (elgg_in_context('widgets')) { + echo elgg_view_entity_icon($subject, 'tiny'); +} else { + echo elgg_view_entity_icon($subject, 'small'); +} diff --git a/views/default/river/elements/layout.php b/views/default/river/elements/layout.php new file mode 100644 index 000000000..94622e272 --- /dev/null +++ b/views/default/river/elements/layout.php @@ -0,0 +1,14 @@ +<?php +/** + * Layout of a river item + * + * @uses $vars['item'] ElggRiverItem + */ + +$item = $vars['item']; + +echo elgg_view('page/components/image_block', array( + 'image' => elgg_view('river/elements/image', $vars), + 'body' => elgg_view('river/elements/body', $vars), + 'class' => 'elgg-river-item', +)); diff --git a/views/default/river/elements/responses.php b/views/default/river/elements/responses.php new file mode 100644 index 000000000..f6c32e142 --- /dev/null +++ b/views/default/river/elements/responses.php @@ -0,0 +1,63 @@ +<?php +/** + * River item footer + * + * @uses $vars['item'] ElggRiverItem + * @uses $vars['responses'] Alternate override for this item + */ + +// allow river views to override the response content +$responses = elgg_extract('responses', $vars, false); +if ($responses) { + echo $responses; + return true; +} + +$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)), + 'is_trusted' => true, + ); + $link = elgg_view('output/url', $params); + echo "<div class=\"elgg-river-more\">$link</div>"; + } +} + +// inline comment form +$form_vars = array('id' => "comments-add-{$object->getGUID()}", 'class' => 'hidden'); +$body_vars = array('entity' => $object, 'inline' => true); +echo elgg_view_form('comments/add', $form_vars, $body_vars); diff --git a/views/default/river/elements/summary.php b/views/default/river/elements/summary.php new file mode 100644 index 000000000..d7bde51dd --- /dev/null +++ b/views/default/river/elements/summary.php @@ -0,0 +1,54 @@ +<?php +/** + * Short summary of the action that occurred + * + * @vars['item'] ElggRiverItem + */ + +$item = $vars['item']; + +$subject = $item->getSubjectEntity(); +$object = $item->getObjectEntity(); +$target = $object->getContainerEntity(); + +$subject_link = elgg_view('output/url', array( + 'href' => $subject->getURL(), + 'text' => $subject->name, + 'class' => 'elgg-river-subject', + 'is_trusted' => true, +)); + +$object_text = $object->title ? $object->title : $object->name; +$object_link = elgg_view('output/url', array( + 'href' => $object->getURL(), + 'text' => elgg_get_excerpt($object_text, 100), + 'class' => 'elgg-river-object', + 'is_trusted' => true, +)); + +$action = $item->action_type; +$type = $item->type; +$subtype = $item->subtype ? $item->subtype : 'default'; + +$container = $object->getContainerEntity(); +if ($container instanceof ElggGroup) { + $params = array( + 'href' => $container->getURL(), + 'text' => $container->name, + 'is_trusted' => true, + ); + $group_link = elgg_view('output/url', $params); + $group_string = elgg_echo('river:ingroup', array($group_link)); +} + +// check summary translation keys. +// will use the $type:$subtype if that's defined, otherwise just uses $type:default +$key = "river:$action:$type:$subtype"; +$summary = elgg_echo($key, array($subject_link, $object_link)); + +if ($summary == $key) { + $key = "river:$action:$type:default"; + $summary = elgg_echo($key, array($subject_link, $object_link)); +} + +echo $summary;
\ No newline at end of file diff --git a/views/default/river/item.php b/views/default/river/item.php new file mode 100644 index 000000000..75767e08d --- /dev/null +++ b/views/default/river/item.php @@ -0,0 +1,30 @@ +<?php +/** + * Primary river item view + * + * Calls the individual view saved for that river item. Most of these + * individual river views then use the views in river/elements. + * + * @uses $vars['item'] ElggRiverItem + */ + +// @todo remove this in Elgg 1.9 +global $_elgg_special_river_catch; +if (!isset($_elgg_special_river_catch)) { + $_elgg_special_river_catch = false; +} +if ($_elgg_special_river_catch) { + // we changed the views a little in 1.8.1 so this catches the plugins that + // were updated in 1.8.0 and redirects to the layout view + echo elgg_view('river/elements/layout', $vars); + return true; +} +$_elgg_special_river_catch = true; + + +$item = $vars['item']; + +echo elgg_view($item->getView(), $vars); + + +$_elgg_special_river_catch = false; diff --git a/views/default/river/item/list.php b/views/default/river/item/list.php deleted file mode 100644 index 8fcc84bea..000000000 --- a/views/default/river/item/list.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ - * - */ -?> -<div class="river_item_list"> -<?php - if (isset($vars['items']) && is_array($vars['items'])) { - - $i = 0; - if (!empty($vars['items'])) { - foreach($vars['items'] as $item) { - echo elgg_view_river_item($item); - $i++; - if ($i >= $vars['limit']) { - break; - } - } - } - } - - if ($vars['pagination'] !== false) { - $baseurl = $_SERVER['REQUEST_URI']; - - $nav = ''; - - if (sizeof($vars['items']) > $vars['limit']) { - $newoffset = $vars['offset'] + $vars['limit']; - $nexturl = elgg_http_add_url_query_elements($baseurl, array('offset' => $newoffset)); - - $nav .= '<a class="back" href="'.$nexturl.'">« ' . elgg_echo('previous') . '</a> '; - } - - if ($vars['offset'] > 0) { - $newoffset = $vars['offset'] - $vars['limit']; - if ($newoffset < 0) { - $newoffset = 0; - } - $prevurl = elgg_http_add_url_query_elements($baseurl, array('offset' => $newoffset)); - - $nav .= '<a class="forward" href="'.$prevurl.'">' . elgg_echo('next') . ' »</a> '; - } - - if (!empty($nav)) { - echo '<div class="river_pagination"><p>'.$nav.'</p><div class="clearfloat"></div></div>'; - } - } -?> -</div>
\ No newline at end of file diff --git a/views/default/river/item/noaccess.php b/views/default/river/item/noaccess.php deleted file mode 100644 index a993423a0..000000000 --- a/views/default/river/item/noaccess.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php -/** - * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ - * - */ - -echo elgg_echo('river:noaccess');
\ No newline at end of file diff --git a/views/default/river/item/wrapper.php b/views/default/river/item/wrapper.php deleted file mode 100644 index 27de4affd..000000000 --- a/views/default/river/item/wrapper.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php -/** - * Elgg river item wrapper. - * Wraps all river items. - * - * @package Elgg - * @author Curverider - * @link http://elgg.com/ - */ - -//get the site admins choice avatars or action icons -$avatar_icon = get_plugin_setting("avatar_icon","riverdashboard"); -if(!$avatar_icon) { - $avatar_icon = "icon"; -} - -if($avatar_icon == "icon"){ - - ?> - <div class="river_item"> - <div class="river_<?php echo $vars['item']->type; ?>"> - <div class="river_<?php echo $vars['item']->subtype; ?>"> - <div class="river_<?php echo $vars['item']->action_type; ?>"> - <div class="river_<?php echo $vars['item']->type; ?>_<?php if($vars['item']->subtype) echo $vars['item']->subtype . "_"; ?><?php echo $vars['item']->action_type; ?>"> - <p> - <?php - echo $vars['body']; - ?> - <span class="river_item_time"> - (<?php - echo friendly_time($vars['item']->posted); - ?>) - </span> - </p> - </div> - </div> - </div> - </div> - </div> - - <?php -} else { - ?> - <div class="river_item"> - <span class="river_item_useravatar"> - <?php - echo elgg_view("profile/icon",array('entity' => get_entity($vars['item']->subject_guid), 'size' => 'tiny')); - ?> - </span> - <p class="river_item_body"> - <?php - echo $vars['body']; - ?> - <span class="river_item_time"> - (<?php - echo friendly_time($vars['item']->posted); - ?>) - </span> - </p> - <div class="clearfloat"></div> - </div> - <?php -} -?>
\ No newline at end of file diff --git a/views/default/river/relationship/friend/create.php b/views/default/river/relationship/friend/create.php index f42bf30c6..0408d79e1 100644 --- a/views/default/river/relationship/friend/create.php +++ b/views/default/river/relationship/friend/create.php @@ -1,40 +1,14 @@ <?php /** - * Elgg relationship create event. - * Display something in the river when a relationship is created. - * - * @package Elgg - * @author Curverider Ltd - * @link http://elgg.com/ + * Create friend river view */ +$subject = $vars['item']->getSubjectEntity(); +$object = $vars['item']->getObjectEntity(); -$statement = $vars['statement']; +$subject_icon = elgg_view_entity_icon($subject, 'tiny'); +$object_icon = elgg_view_entity_icon($object, 'tiny'); -$performed_by = $statement->getSubject(); -$event = $statement->getEvent(); -$object = $statement->getObject(); - -if (is_array($object)) { - switch ($object['relationship']) { - // Friending - case 'friend' : - case 'friends' : // 'friends' shouldn't be used, but just incase :) - - // Get second object - $userb = $object['object']; - - // Only users can be friends - if (($performed_by instanceof ElggUser) && ($userb instanceof ElggUser)) { - // User A - echo "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a> "; - - // Verb - echo elgg_echo('river:relationship:friend'); - - // user B - echo " <a href=\"{$userb->getURL()}\">{$userb->name}</a>"; - } - - break; - } -}
\ No newline at end of file +echo elgg_view('river/elements/layout', array( + 'item' => $vars['item'], + 'attachments' => $subject_icon . elgg_view_icon('arrow-right') . $object_icon, +)); diff --git a/views/default/river/user/default/profileiconupdate.php b/views/default/river/user/default/profileiconupdate.php new file mode 100644 index 000000000..271064a06 --- /dev/null +++ b/views/default/river/user/default/profileiconupdate.php @@ -0,0 +1,24 @@ +<?php +/** + * Update avatar river view + */ + +$subject = $vars['item']->getSubjectEntity(); + +$subject_link = elgg_view('output/url', array( + 'href' => $subject->getURL(), + 'text' => $subject->name, + 'class' => 'elgg-river-subject', + 'is_trusted' => true, +)); + +$string = elgg_echo('river:update:user:avatar', array($subject_link)); + +echo elgg_view('river/elements/layout', array( + 'item' => $vars['item'], + 'summary' => $string, + 'attachments' => elgg_view_entity_icon($subject, 'tiny', array( + 'use_hover' => false, + 'use_link' => false, + )), +)); diff --git a/views/default/river/user/default/profileupdate.php b/views/default/river/user/default/profileupdate.php new file mode 100644 index 000000000..ce72970d6 --- /dev/null +++ b/views/default/river/user/default/profileupdate.php @@ -0,0 +1,20 @@ +<?php +/** + * Update profile river view + */ + +$subject = $vars['item']->getSubjectEntity(); + +$subject_link = elgg_view('output/url', array( + 'href' => $subject->getURL(), + 'text' => $subject->name, + 'class' => 'elgg-river-subject', + 'is_trusted' => true, +)); + +$string = elgg_echo('river:update:user:profile', array($subject_link)); + +echo elgg_view('river/elements/layout', array( + 'item' => $vars['item'], + 'summary' => $string, +)); diff --git a/views/default/river/wrapper.php b/views/default/river/wrapper.php deleted file mode 100644 index 0b5bfad62..000000000 --- a/views/default/river/wrapper.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Elgg river item wrapper. - * Wraps all river items. - * - * @package Elgg - * @author Curverider - * @link http://elgg.com/ - */ - -$statement = $vars['statement']; -$time = $vars['time']; -$event = $vars['event']; -$entry = $vars['entry']; - -if ($statement->getObject() instanceof ElggEntity) { - - $obj = $statement->getObject(); - $subtype = $obj->getSubtype(); - if (empty($subtype)) $subtype = $obj->type; - if (empty($subtype)) $subtype = "general"; -} else if (is_array($statement->getObject())) { - $obj = $statement->getObject(); - $subtype = "relationship_" . $obj['relationship']; -} -?> -<div class="river_item"> - - <div class="river_<?php echo $subtype; ?>"> - <div class="river_<?php echo $event; ?>"> - <p class="river_<?php echo $subtype; ?>_<?php echo $event; ?>"> - <?php - - echo $vars['entry']; - - ?> - <span class="river_item_time"> - (<?php - - echo friendly_time($time); - - ?>) - </span> - </p> - </div> - </div> - -</div> |
