From d4e4268d11612408e4989a5c57f69fcb2febe8aa Mon Sep 17 00:00:00 2001 From: brettp Date: Thu, 3 Feb 2011 03:25:25 +0000 Subject: Refs #2680: First pass at porting the 1.7 bookmarks to 1.8. Functional, but code is still messy. git-svn-id: http://code.elgg.org/elgg/trunk@7998 36083f99-b078-4883-b0ff-0f9b5a30f544 --- .../views/default/bookmarks/bookmarklet.php | 2 +- mod/bookmarks/views/default/bookmarks/css.php | 46 ----- mod/bookmarks/views/default/bookmarks/form.php | 204 ++++++++++++--------- .../views/default/bookmarks/group_bookmarks.php | 35 ---- .../default/bookmarks/groupprofile_bookmarks.php | 34 ++++ .../views/default/bookmarks/owner_block.php | 10 + mod/bookmarks/views/default/bookmarks/sharing.php | 80 ++++++++ mod/bookmarks/views/default/bookmarks/stats.php | 7 - mod/bookmarks/views/default/object/bookmarks.php | 173 +++++++++-------- .../default/river/object/bookmarks/annotate.php | 10 + .../default/river/object/bookmarks/create.php | 39 +--- .../views/default/widgets/bookmarks/view.php | 86 +++++---- 12 files changed, 398 insertions(+), 328 deletions(-) delete mode 100644 mod/bookmarks/views/default/bookmarks/css.php delete mode 100755 mod/bookmarks/views/default/bookmarks/group_bookmarks.php create mode 100644 mod/bookmarks/views/default/bookmarks/groupprofile_bookmarks.php create mode 100644 mod/bookmarks/views/default/bookmarks/owner_block.php create mode 100644 mod/bookmarks/views/default/bookmarks/sharing.php delete mode 100755 mod/bookmarks/views/default/bookmarks/stats.php create mode 100644 mod/bookmarks/views/default/river/object/bookmarks/annotate.php (limited to 'mod/bookmarks/views/default') diff --git a/mod/bookmarks/views/default/bookmarks/bookmarklet.php b/mod/bookmarks/views/default/bookmarks/bookmarklet.php index 75d3686b9..bb2cf885e 100644 --- a/mod/bookmarks/views/default/bookmarks/bookmarklet.php +++ b/mod/bookmarks/views/default/bookmarks/bookmarklet.php @@ -1,7 +1,7 @@ - -.bookmark_note { - margin:0 0 0 5px; -} -.note { - margin-top:5px; -} - - -/* BOOKMARKS WIDGET -.collapsable_box_content .ContentWrapper.bookmarks { - margin-bottom:5px; - line-height:1.2em; -} -.collapsable_box_content .ContentWrapper.bookmarks .share_desc { - display:none; - line-height: 1.2em; -} -.collapsable_box_content .ContentWrapper.bookmarks .share_desc p { - margin:0 0 5px 0; -} -.collapsable_box_content .ContentWrapper.bookmarks .river_object_bookmarks_create p { - min-height:17px; - padding:0 0 0 17px; -} -.collapsable_box_content .ContentWrapper.bookmarks .shares_timestamp { - color:#666666; - margin:0; - padding:0 0 0 17px; -} -.collapsable_box_content .ContentWrapper.bookmarks .shares_title { - margin:0; - line-height: 1.1em; -} -.collapsable_box_content .ContentWrapper.bookmarks.more { - margin:0 10px; - padding:5px 10px; -} -*/ diff --git a/mod/bookmarks/views/default/bookmarks/form.php b/mod/bookmarks/views/default/bookmarks/form.php index 12cd76ba7..2131f7cd8 100644 --- a/mod/bookmarks/views/default/bookmarks/form.php +++ b/mod/bookmarks/views/default/bookmarks/form.php @@ -1,109 +1,133 @@ guid; $title = $vars['entity']->title; + $description = $vars['entity']->description; $address = $vars['entity']->address; - $access_id = $vars['entity']->access_id; $tags = $vars['entity']->tags; - $notes = $vars['entity']->description; - $owner = get_entity($vars['entity']->container_guid); - $url = "action/bookmarks/edit"; -}else{ - //set some variables - $guid = ''; + $access_id = $vars['entity']->access_id; + $shares = $vars['entity']->shares; + $owner = $vars['entity']->getOwnerEntity(); + $highlight = 'default'; + +} else { + $guid = 0; $title = get_input('title',""); $title = stripslashes($title); // strip slashes from URL encoded apostrophes + $description = ""; $address = get_input('address',""); - $notes = ''; + $highlight = 'all'; + if ($address == "previous") $address = $_SERVER['HTTP_REFERER']; $tags = array(); - if(elgg_get_page_owner_entity() instanceof ElggGroup){ - //if in a group, set the access level to default to the group - $access_id = elgg_get_page_owner_entity()->group_acl; - }else{ - $access_id = get_default_access(get_loggedin_user()); + + if (defined('ACCESS_DEFAULT')) { + $access_id = ACCESS_DEFAULT; + } else { + $access_id = 0; } - $owner = get_loggedin_user(); - $url = "action/bookmarks/add"; + $shares = array(); + $owner = page_owner_entity(); } + ?> -
- -

- -

-

- -

-

- -

-

- -

-

- -

-

- 'container_guid', 'value' => $vars['container_guid'])) : ""; ?> - - -

+
+ + +

+ +

+

+ +

+

+ +

+

+ +

+ $shares, 'owner' => $owner)); + if ($friends = elgg_get_entities_from_relationship(array('relationship' => 'friend', 'relationship_guid' => $owner->getGUID(), 'inverse_relationship' => FALSE, 'type' => 'user', 'limit' => 9999))) { +?> +

+
+ $friends, 'internalname' => 'shares', 'highlight' => $highlight)); +?> +

+ +

+ +

+

+ 'container_guid', 'value' => $vars['container_guid'])) : ""; ?> + + +

+ +
\ No newline at end of file diff --git a/mod/bookmarks/views/default/bookmarks/group_bookmarks.php b/mod/bookmarks/views/default/bookmarks/group_bookmarks.php deleted file mode 100755 index dd1b6aa9c..000000000 --- a/mod/bookmarks/views/default/bookmarks/group_bookmarks.php +++ /dev/null @@ -1,35 +0,0 @@ - 'object', 'subtype' => 'bookmarks', - 'container_guids' => elgg_get_page_owner_guid(), 'limit' => 6)); -?> -
-username; ?>"> -

-getOwnerEntity(); - - //get the time - $friendlytime = elgg_view_friendly_time($b->time_created); - - $info = "
" . elgg_view('profile/icon',array('entity' => $b->getOwnerEntity(), 'size' => 'tiny')) . "
"; - - //get the bookmark entries body - $info .= "

address}\">{$b->title}

"; - - //get the user details - $info .= "

{$friendlytime}

"; - $info .= "
"; - //display - echo "
" . $info . "
"; - } -} else { - $create_bookmark = elgg_get_site_url() . "pg/bookmarks/" . elgg_get_page_owner_entity()->username . "/add"; - echo "

" . elgg_echo("bookmarks:new") . "

"; -} -echo "
"; \ No newline at end of file diff --git a/mod/bookmarks/views/default/bookmarks/groupprofile_bookmarks.php b/mod/bookmarks/views/default/bookmarks/groupprofile_bookmarks.php new file mode 100644 index 000000000..ad8095d11 --- /dev/null +++ b/mod/bookmarks/views/default/bookmarks/groupprofile_bookmarks.php @@ -0,0 +1,34 @@ +bookmarks_enable != 'no') { +?> + +
+

+ 'object', + 'subtypes' => 'bookmarks', + 'container_guid' => $vars['entity']->guid, + 'limit' => 5, + 'full_view' => FALSE, + 'pagination' => FALSE)); + set_context($context); + + if ($content) { + echo $content; + + $more_url = "{$vars['url']}pg/bookmarks/owner/group:{$vars['entity']->guid}/"; + echo ""; + } else { + echo "
" . elgg_echo("bookmarks:nogroup") . "
"; + } +?> +
+username}?address='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)"; + +?> +
+ +
diff --git a/mod/bookmarks/views/default/bookmarks/sharing.php b/mod/bookmarks/views/default/bookmarks/sharing.php new file mode 100644 index 000000000..63738d94d --- /dev/null +++ b/mod/bookmarks/views/default/bookmarks/sharing.php @@ -0,0 +1,80 @@ + 'friend', 'relationship_guid' => $owner->getGUID(), 'inverse_relationship' => FALSE, 'type' => 'user', 'limit' => 9999))) { + +?> + + + +"; + + $label = elgg_view("profile/icon",array('entity' => $friend, 'size' => 'tiny')); + $options[$label] = $friend->getGUID(); + +?> + + + + + +"; + + } + + + } + if ($col != 3) { + echo ""; + } + + +?> + +
+ + + + + +
+ +
+
+ name; + + ?> +
+ + 'shares', + 'options' => $options, + 'value' => $vars['shares'], + + )); */ + + } + +?> \ No newline at end of file diff --git a/mod/bookmarks/views/default/bookmarks/stats.php b/mod/bookmarks/views/default/bookmarks/stats.php deleted file mode 100755 index 77c3d703f..000000000 --- a/mod/bookmarks/views/default/bookmarks/stats.php +++ /dev/null @@ -1,7 +0,0 @@ -".elgg_echo('bookmarks:stats').""; -echo "

". $vars['count'] . " " . elgg_echo('bookmarks:resources') .".

"; \ No newline at end of file diff --git a/mod/bookmarks/views/default/object/bookmarks.php b/mod/bookmarks/views/default/object/bookmarks.php index f90a2f355..ccb02457c 100644 --- a/mod/bookmarks/views/default/object/bookmarks.php +++ b/mod/bookmarks/views/default/object/bookmarks.php @@ -5,91 +5,108 @@ * @package ElggBookmarks */ -$owner = $vars['entity']->getOwnerEntity(); -$friendlytime = elgg_view_friendly_time($vars['entity']->time_created); -$address = $vars['entity']->address; - -// you used to be able to add without titles, which created unclickable bookmarks -// putting a fake title in so you can click on it. -if (!$title = $vars['entity']->title) { - $title = elgg_echo('bookmarks:no_title'); -} +$full = elgg_get_array_value('full', $vars, FALSE); +$bookmark = elgg_get_array_value('entity', $vars, FALSE); -$a_tag_visit = filter_tags("" . elgg_echo('bookmarks:visit') . ""); -$a_tag_title = filter_tags("$title"); - - -$parsed_url = parse_url($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'"; +if (!$bookmark) { + return; } -if($vars['entity']->description != '') - $view_notes = "note"; -else - $view_notes = ''; -if (@file_exists($faviconurl)) { - $icon = ""; +$owner = $bookmark->getOwnerEntity(); +$container = $bookmark->getContainerEntity(); +$categories = elgg_view('categories/view', $vars); + +$link = filter_tags(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' => "pg/file/owner/$owner->username", + 'text' => $owner->name, +)); +$author_text = elgg_echo('blog:author_by_line', array($owner_link)); + +$tags = elgg_view('output/tags', array('tags' => $bookmark->tags)); +$date = elgg_view_friendly_time($bookmark->time_created); + +$comments_count = elgg_count_comments($bookmark); +//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, + )); } else { - $icon = elgg_view("profile/icon", array('entity' => $owner,'size' => 'tiny',)); -} - - -//delete -if($vars['entity']->canEdit()){ - $delete .= "" . elgg_view('output/confirmlink',array( - 'href' => "action/bookmarks/delete?bookmark_guid=" . $vars['entity']->guid, - 'text' => elgg_echo("delete"), - 'confirm' => elgg_echo("bookmarks:delete:confirm"), - )) . ""; -} - -$info = "
{$object_acl}"; - -// include a view for plugins to extend -$info .= elgg_view("bookmarks/options",array('entity' => $vars['entity'])); -$info .= elgg_view_likes($vars['entity']); // include likes - -//include edit and delete options -if($vars['entity']->canEdit()){ - $info .= "username}/edit/{$vars['entity']->getGUID()}\">" . elgg_echo('edit') . ""; - $info .= $delete; + $comments_link = ''; } - $info .= "
"; +$metadata = elgg_view('layout/objects/list/metadata', array( + 'entity' => $bookmark, + 'handler' => 'bookmarks', +)); -$info .= "

$a_tag_title

"; -$info .= "

Bookmarked by username}\">{$owner->name} {$friendlytime} {$view_notes}

"; +$subtitle = "$author_text $date $categories $comments_link"; -$tags = elgg_view('output/tags', array('tags' => $vars['entity']->tags)); -if (!empty($tags)) { - $info .= '

' . $tags . '

'; -} -if($view_notes != ''){ - $info .= ""; +// do not show the metadata and controls in widget view +if (elgg_in_context('widgets')) { + $metadata = ''; } -//display -echo elgg_view_listing($icon, $info); +if ($full && !elgg_in_context('gallery')) { + $header = elgg_view_title($bookmark->title); + + $params = array( + 'entity' => $bookmark, + 'title' => false, + 'metadata' => $metadata, + 'subtitle' => $subtitle, + 'tags' => $tags, + ); + $bookmark_info = elgg_view('layout/objects/list/body', $params); + + echo << +

$link

+ $description + +HTML; + +} elseif (elgg_in_context('gallery')) { + echo ''; +} else { + // brief view + $url = $bookmark->address; + $display_text = $url; + $excerpt = elgg_get_excerpt($bookmark->description); + + 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 = filter_tags(elgg_view('output/url', array( + 'href' => $bookmark->address, + 'text' => $display_text + ))); + + $content = "$link - $excerpt"; + + $params = array( + 'entity' => $bookmark, + 'metadata' => $metadata, + 'subtitle' => $subtitle, + 'tags' => $tags, + 'content' => $content, + ); + + echo elgg_view('layout/objects/list/body', $params); +} \ No newline at end of file diff --git a/mod/bookmarks/views/default/river/object/bookmarks/annotate.php b/mod/bookmarks/views/default/river/object/bookmarks/annotate.php new file mode 100644 index 000000000..8db8a6581 --- /dev/null +++ b/mod/bookmarks/views/default/river/object/bookmarks/annotate.php @@ -0,0 +1,10 @@ +getSubject(); +$object = $statement->getObject(); + +$url = "getURL()}\">{$performed_by->name}"; +$string = sprintf(elgg_echo("bookmarks:river:annotate"),$url) . " "; +$string .= "getURL() . "\">" . elgg_echo("bookmarks:river:item") . ""; + +echo $string; \ No newline at end of file diff --git a/mod/bookmarks/views/default/river/object/bookmarks/create.php b/mod/bookmarks/views/default/river/object/bookmarks/create.php index bd07db089..82ea75af7 100644 --- a/mod/bookmarks/views/default/river/object/bookmarks/create.php +++ b/mod/bookmarks/views/default/river/object/bookmarks/create.php @@ -1,35 +1,10 @@ subject_guid); // $statement->getSubject(); +$object = get_entity($vars['item']->object_guid); +$url = $object->getURL(); -$object = $vars['item']->getObjectEntity(); -$excerpt = strip_tags($object->description); -$excerpt = elgg_get_excerpt($excerpt); +$url = "getURL()}\">{$performed_by->name}"; +$string = sprintf(elgg_echo("bookmarks:river:created"),$url) . " "; +$string .= "getURL() . "\">" . $object->title . ""; //elgg_echo("bookmarks:river:item") . ""; -$params = array( - 'href' => $object->address, - 'text' => $object->title, -); -$link = elgg_view('output/url', $params); - -$group_string = ''; -$container = $object->getContainerEntity(); -if ($container instanceof ElggGroup) { - $params = array( - 'href' => $container->getURL(), - 'text' => $container->name, - ); - $group_link = elgg_view('output/url', $params); - $group_string = elgg_echo('river:ingroup', array($group_link)); -} - -echo elgg_echo('bookmarks:river:create'); - -echo " $link $group_string"; - -if ($excerpt) { - echo '
'; - echo $excerpt; - echo '
'; -} +echo $string; diff --git a/mod/bookmarks/views/default/widgets/bookmarks/view.php b/mod/bookmarks/views/default/widgets/bookmarks/view.php index 6babbcd20..f9bbf5488 100644 --- a/mod/bookmarks/views/default/widgets/bookmarks/view.php +++ b/mod/bookmarks/views/default/widgets/bookmarks/view.php @@ -1,57 +1,65 @@ + + + num_display; -$options = array( - 'type' => 'object', - 'subtype' => 'bookmarks', - 'container_guid' => $vars['entity']->owner_guid, - 'limit' => $num, -); -$bookmarks = elgg_get_entities($options); - -$options['count'] = true; -$num_bookmarks = elgg_get_entities($options); - +//if no number has been set, default to 4 +if(!$num) + $num = 4; + +//grab the users bookmarked items +$shares = elgg_get_entities(array('types' => 'object', 'subtypes' => 'bookmarks', 'container_guid' => $vars['entity']->owner_guid, 'limit' => $num, 'offset' => 0)); -if ($bookmarks) { - - foreach ($bookmarks as $b) { +if($shares){ + foreach($shares as $s){ + //get the owner - $owner = $b->getOwnerEntity(); + $owner = $s->getOwnerEntity(); //get the time - $friendlytime = elgg_view_friendly_time($b->time_created); + $friendlytime = elgg_view_friendly_time($s->time_created); - //get the bookmark title - $info = "

address}\">{$b->title}

"; + //get the user icon + $icon = elgg_view( + "profile/icon", array( + 'entity' => $owner, + 'size' => 'tiny', + ) + ); + //get the bookmark title + $info = "

getURL()}\">{$s->title}

"; + //get the user details - $info .= "

{$friendlytime} "; + $info .= "

getURL()}\">{$owner->name} {$friendlytime}

"; //get the bookmark description - if ($b->description) { - $info .= "" . elgg_echo('bookmarks:more') . "

{$b->description}

"; - } else { - $info .= "

"; - } - - //display - echo "
"; - echo "
" . $info . "
"; - } + if($s->description) + $info .= "".elgg_echo('bookmarks:more')."

{$s->description}

"; + + //display + echo "
"; + echo "
" . $icon . "
"; + echo "
" . $info . "
"; + echo "
"; - if ($num_bookmarks > $num) { - $user_inbox = elgg_get_site_url() . "pg/bookmarks/" . elgg_get_page_owner_entity()->username; - echo "
" . elgg_echo('bookmarks:read') . "
"; } -} else { - echo "
" . elgg_echo("bookmarks:widget:description") . "
"; + + $user_inbox = $vars['url'] . "pg/bookmarks/owner/" . page_owner_entity()->username; + echo "
".elgg_echo('bookmarks:morebookmarks')."
"; + } + + +?> \ No newline at end of file -- cgit v1.2.3