aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mod/bookmarks/graphics/bookmark.gifbin0 -> 576 bytes
-rw-r--r--mod/bookmarks/graphics/bookmarklet.gif (renamed from _graphics/elgg_bookmarklet.gif)bin790 -> 790 bytes
-rw-r--r--mod/bookmarks/start.php9
-rw-r--r--mod/bookmarks/views/default/bookmarks/bookmarklet.php2
-rw-r--r--mod/bookmarks/views/default/bookmarks/css.php3
-rw-r--r--mod/bookmarks/views/default/bookmarks/js.php11
-rw-r--r--mod/bookmarks/views/default/bookmarks/page_links.php16
7 files changed, 35 insertions, 6 deletions
diff --git a/mod/bookmarks/graphics/bookmark.gif b/mod/bookmarks/graphics/bookmark.gif
new file mode 100644
index 000000000..55c5e3e15
--- /dev/null
+++ b/mod/bookmarks/graphics/bookmark.gif
Binary files differ
diff --git a/_graphics/elgg_bookmarklet.gif b/mod/bookmarks/graphics/bookmarklet.gif
index 45b24709b..45b24709b 100644
--- a/_graphics/elgg_bookmarklet.gif
+++ b/mod/bookmarks/graphics/bookmarklet.gif
Binary files differ
diff --git a/mod/bookmarks/start.php b/mod/bookmarks/start.php
index 1fd9768a1..31c414741 100644
--- a/mod/bookmarks/start.php
+++ b/mod/bookmarks/start.php
@@ -28,13 +28,16 @@ function bookmarks_init() {
'title' => elgg_echo('bookmarks'),
'url' => 'pg/bookmarks/all'
));
+
elgg_register_plugin_hook_handler('register', 'menu:page', 'bookmarks_page_menu');
elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'bookmarks_owner_block_menu');
elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'bookmarks_user_hover_menu');
-
elgg_register_page_handler('bookmarks', 'bookmarks_page_handler');
+
elgg_extend_view('css/screen', 'bookmarks/css');
+ elgg_extend_view('js/elgg', 'bookmarks/js');
+ elgg_extend_view('page/links', 'bookmarks/page_links');
// Register granular notification for this type
if (is_callable('register_notification_object')) {
@@ -280,10 +283,6 @@ function bookmarks_user_hover_menu($hook, $type, $return, $params) {
*/
function bookmarks_page_menu($hook, $type, $return, $params) {
if (elgg_is_logged_in()) {
- $url = 'pg/bookmarks/add/' . elgg_get_logged_in_user_guid()
- . '?address=' . urlencode(current_page_url());
- $return[] = new ElggMenuItem('bookmark_this_page', elgg_echo('bookmarks:this'), $url);
-
// only show bookmarklet in bookmark pages
if (elgg_in_context('bookmarks')) {
$page_owner = elgg_get_page_owner_entity();
diff --git a/mod/bookmarks/views/default/bookmarks/bookmarklet.php b/mod/bookmarks/views/default/bookmarks/bookmarklet.php
index 119b9d107..42bd1e913 100644
--- a/mod/bookmarks/views/default/bookmarks/bookmarklet.php
+++ b/mod/bookmarks/views/default/bookmarks/bookmarklet.php
@@ -23,7 +23,7 @@ $url = elgg_get_site_url();
$bookmarklet = "<a href=\"javascript:location.href='{$url}pg/bookmarks/add/$guid?address='"
. "+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)\">"
- . "<img src=\"{$url}_graphics/elgg_bookmarklet.gif\" border=\"0\" title=\"$title\" /> </a>";
+ . "<img src=\"{$url}mod/bookmarks/graphics/bookmarklet.gif\" border=\"0\" title=\"$title\" /> </a>";
?>
<p><?php echo elgg_echo("bookmarks:bookmarklet:description"); ?></p>
diff --git a/mod/bookmarks/views/default/bookmarks/css.php b/mod/bookmarks/views/default/bookmarks/css.php
new file mode 100644
index 000000000..0d734c847
--- /dev/null
+++ b/mod/bookmarks/views/default/bookmarks/css.php
@@ -0,0 +1,3 @@
+.elgg-icon-bookmark {
+ background: transparent url(<?php echo elgg_get_site_url();?>mod/bookmarks/graphics/bookmark.gif);
+} \ No newline at end of file
diff --git a/mod/bookmarks/views/default/bookmarks/js.php b/mod/bookmarks/views/default/bookmarks/js.php
new file mode 100644
index 000000000..35dc82f70
--- /dev/null
+++ b/mod/bookmarks/views/default/bookmarks/js.php
@@ -0,0 +1,11 @@
+elgg.provide('elgg.bookmarks');
+
+elgg.bookmarks.init = function() {
+ // append the title to the url
+ var title = document.title;
+ var e = $('a.elgg-bookmark-page');
+ var link = e.attr('href') + '&title=' + encodeURIComponent(title);
+ e.attr('href', link);
+}
+
+elgg.register_event_handler('init', 'system', elgg.bookmarks.init); \ No newline at end of file
diff --git a/mod/bookmarks/views/default/bookmarks/page_links.php b/mod/bookmarks/views/default/bookmarks/page_links.php
new file mode 100644
index 000000000..79678a47b
--- /dev/null
+++ b/mod/bookmarks/views/default/bookmarks/page_links.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Shows a "Bookmark this" link and icon
+ */
+$url = 'pg/bookmarks/add/' . elgg_get_logged_in_user_guid()
+ . '?address=' . urlencode(current_page_url());
+ $return[] = new ElggMenuItem('bookmark_this_page', elgg_echo('bookmarks:this'), $url);
+
+echo elgg_view('output/url', array(
+ 'text' => '<span class="elgg-icon elgg-icon-bookmark"></span>',
+ 'href' => $url,
+ 'title' => $label,
+ 'rel' => 'nofollow',
+ 'encode_text' => false,
+ 'class' => 'right elgg-bookmark-page',
+));