diff options
Diffstat (limited to 'mod/bookmarks/views/default/object/bookmarks.php')
| -rw-r--r-- | mod/bookmarks/views/default/object/bookmarks.php | 175 |
1 files changed, 109 insertions, 66 deletions
diff --git a/mod/bookmarks/views/default/object/bookmarks.php b/mod/bookmarks/views/default/object/bookmarks.php index fbb00e545..83bae2b13 100644 --- a/mod/bookmarks/views/default/object/bookmarks.php +++ b/mod/bookmarks/views/default/object/bookmarks.php @@ -1,84 +1,127 @@ <?php /** * Elgg bookmark view - * + * * @package ElggBookmarks - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Curverider <info@elgg.com> - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.org/ */ -$owner = $vars['entity']->getOwnerEntity(); -$friendlytime = friendly_time($vars['entity']->time_created); -$parsed_url = parse_url($vars['entity']->address); -$faviconurl = $parsed_url['scheme'] . "://" . $parsed_url['host'] . "/favicon.ico"; - -//sort out the access level for display -$object_acl = get_readable_access_level($vars['entity']->access_id); -//files with these access level don't need an icon -$general_access = array('Public', 'Logged in users', 'Friends'); -//set the right class for access level display - need it to set on groups and shared access only -$is_group = get_entity($vars['entity']->container_guid); -if($is_group instanceof ElggGroup){ - //get the membership type open/closed - $membership = $is_group->membership; - //we decided to show that the item is in a group, rather than its actual access level - $object_acl = "Group: " . $is_group->name; - if($membership == 2) - $access_level = "class='access_level group_open'"; - else - $access_level = "class='access_level group_closed'"; -}elseif($object_acl == 'Private'){ - $access_level = "class='access_level private'"; -}else{ - if(!in_array($object_acl, $general_access)) - $access_level = "class='access_level shared_collection'"; - else - $access_level = "class='access_level entity_access'"; +$full = elgg_extract('full_view', $vars, FALSE); +$bookmark = elgg_extract('entity', $vars, FALSE); + +if (!$bookmark) { + return; } -if($vars['entity']->description != '') - $view_notes = "<a class='link' onclick=\"elgg_slide_toggle(this,'.entity_listing','.note');\">note</a>"; -else - $view_notes = ''; -if (@file_exists($faviconurl)) { - $icon = "<img src=\"{$faviconurl}\" />"; +$owner = $bookmark->getOwnerEntity(); +$owner_icon = elgg_view_entity_icon($owner, 'tiny'); +$container = $bookmark->getContainerEntity(); +$categories = elgg_view('output/categories', $vars); + +$link = elgg_view('output/url', array('href' => $bookmark->address)); +$description = elgg_view('output/longtext', array('value' => $bookmark->description, 'class' => 'pbl')); + +$owner_link = elgg_view('output/url', array( + 'href' => "bookmarks/owner/$owner->username", + 'text' => $owner->name, + 'is_trusted' => true, +)); +$author_text = elgg_echo('byline', array($owner_link)); + +$date = elgg_view_friendly_time($bookmark->time_created); + +$comments_count = $bookmark->countComments(); +//only display if there are commments +if ($comments_count != 0) { + $text = elgg_echo("comments") . " ($comments_count)"; + $comments_link = elgg_view('output/url', array( + 'href' => $bookmark->getURL() . '#comments', + 'text' => $text, + 'is_trusted' => true, + )); } else { - $icon = elgg_view("profile/icon", array('entity' => $owner,'size' => 'tiny',)); + $comments_link = ''; } +$metadata = elgg_view_menu('entity', array( + 'entity' => $vars['entity'], + 'handler' => 'bookmarks', + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', +)); + +$subtitle = "$author_text $date $comments_link $categories"; -//delete -if($vars['entity']->canEdit()){ -$delete .= "<span class='delete_button'>" . elgg_view('output/confirmlink',array( - 'href' => $vars['url'] . "action/bookmarks/delete?bookmark_guid=" . $vars['entity']->guid, - 'text' => elgg_echo("delete"), - 'confirm' => elgg_echo("bookmarks:delete:confirm"), - )) . "</span>"; +// do not show the metadata and controls in widget view +if (elgg_in_context('widgets')) { + $metadata = ''; } - $info = "<div class='entity_metadata'><span {$access_level}>{$object_acl}</span>"; +if ($full && !elgg_in_context('gallery')) { -//include edit and delete options -if($vars['entity']->canEdit()){ - $info .= "<span class='entity_edit'><a href=\"{$vars['url']}pg/bookmarks/{$owner->username}/edit/{$vars['entity']->getGUID()}\">" . elgg_echo('edit') . "</a></span>"; - // include a view for plugins to extend - $info .= elgg_view("bookmarks/options",array('entity' => $vars['entity'])); - $info .= $delete; -} - $info .= "</div>"; + $params = array( + 'entity' => $bookmark, + 'title' => false, + 'metadata' => $metadata, + 'subtitle' => $subtitle, + ); + $params = $params + $vars; + $summary = elgg_view('object/elements/summary', $params); -$info .= "<p class='entity_title'><a href=\"{$vars['entity']->address}\" target=\"_blank\">{$vars['entity']->title}</a></p>"; -$info .= "<p class='entity_subtext'>Bookmarked by <a href=\"{$vars['url']}pg/bookmarks/{$owner->username}\">{$owner->name}</a> {$friendlytime} {$view_notes}</p>"; + $bookmark_icon = elgg_view_icon('push-pin-alt'); + $body = <<<HTML +<div class="bookmark elgg-content mts"> + $bookmark_icon<span class="elgg-heading-basic mbs">$link</span> + $description +</div> +HTML; -$tags = elgg_view('output/tags', array('tags' => $vars['entity']->tags)); -if (!empty($tags)) { - $info .= '<p class="tags">' . $tags . '</p>'; -} -if($view_notes != ''){ - $info .= "<div class='note hidden'>". $vars['entity']->description . "</div>"; -} + echo elgg_view('object/elements/full', array( + 'entity' => $bookmark, + 'icon' => $owner_icon, + 'summary' => $summary, + 'body' => $body, + )); + +} elseif (elgg_in_context('gallery')) { + echo <<<HTML +<div class="bookmarks-gallery-item"> + <h3>$bookmark->title</h3> + <p class='subtitle'>$owner_link $date</p> +</div> +HTML; +} else { + // brief view + $url = $bookmark->address; + $display_text = $url; + $excerpt = elgg_get_excerpt($bookmark->description); + if ($excerpt) { + $excerpt = " - $excerpt"; + } + + if (strlen($url) > 25) { + $bits = parse_url($url); + if (isset($bits['host'])) { + $display_text = $bits['host']; + } else { + $display_text = elgg_get_excerpt($url, 100); + } + } + + $link = elgg_view('output/url', array( + 'href' => $bookmark->address, + 'text' => $display_text, + )); + + $content = elgg_view_icon('push-pin-alt') . "$link{$excerpt}"; + + $params = array( + 'entity' => $bookmark, + 'metadata' => $metadata, + 'subtitle' => $subtitle, + 'content' => $content, + ); + $params = $params + $vars; + $body = elgg_view('object/elements/summary', $params); -//display -echo elgg_view_listing($icon, $info);
\ No newline at end of file + echo elgg_view_image_block($owner_icon, $body); +} |
