aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mod/bookmarks/actions/add.php6
-rw-r--r--mod/bookmarks/languages/en.php6
-rw-r--r--mod/bookmarks/views/default/object/bookmarks.php14
3 files changed, 21 insertions, 5 deletions
diff --git a/mod/bookmarks/actions/add.php b/mod/bookmarks/actions/add.php
index 6aa3bf889..eee849ff6 100644
--- a/mod/bookmarks/actions/add.php
+++ b/mod/bookmarks/actions/add.php
@@ -18,6 +18,12 @@ $notes = get_input('notes');
$access = get_input('access');
$tags = get_input('tags');
$tagarray = string_to_tag_array($tags);
+
+if (!$title || !$address) {
+ register_error(elgg_echo('bookmarks:save:failed'));
+ forward(REFERER);
+}
+
//create a new bookmark object
$entity = new ElggObject;
$entity->subtype = "bookmarks";
diff --git a/mod/bookmarks/languages/en.php b/mod/bookmarks/languages/en.php
index 6f64e7e16..e0c4a9e08 100644
--- a/mod/bookmarks/languages/en.php
+++ b/mod/bookmarks/languages/en.php
@@ -69,6 +69,8 @@ $english = array(
'bookmarks:bookmarklet:description:conclusion' =>
"You can then bookmark any webpage you visit by clicking the button in your browsers toolbar.",
+ 'bookmarks:no_title' => 'No title',
+
/**
* Status messages
*/
@@ -80,8 +82,8 @@ $english = array(
* Error messages
*/
- 'bookmarks:save:failed' => "Your bookmarked item could not be saved. Please try again.",
- 'bookmarks:delete:failed' => "Your bookmarked item could not be deleted. Please try again.",
+ 'bookmarks:save:failed' => "Your bookmarked item could not be saved. Make sure you've entered a title and address and then try again.",
+ 'bookmarks:delete:failed' => "Your bookmarked item could not be deleted.",
);
diff --git a/mod/bookmarks/views/default/object/bookmarks.php b/mod/bookmarks/views/default/object/bookmarks.php
index 67ba1bd91..4dcb53605 100644
--- a/mod/bookmarks/views/default/object/bookmarks.php
+++ b/mod/bookmarks/views/default/object/bookmarks.php
@@ -11,7 +11,15 @@
$owner = $vars['entity']->getOwnerEntity();
$friendlytime = elgg_view_friendly_time($vars['entity']->time_created);
-$parsed_url = parse_url($vars['entity']->address);
+$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');
+}
+
+$parsed_url = parse_url($address);
$faviconurl = $parsed_url['scheme'] . "://" . $parsed_url['host'] . "/favicon.ico";
//sort out the access level for display
@@ -51,7 +59,7 @@ if (@file_exists($faviconurl)) {
//delete
if($vars['entity']->canEdit()){
-$delete .= "<span class='delete_button'>" . elgg_view('output/confirmlink',array(
+ $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"),
@@ -72,7 +80,7 @@ if($vars['entity']->canEdit()){
$info .= "</div>";
-$info .= "<p class='entity_title'><a href=\"{$vars['entity']->address}\" target=\"_blank\">{$vars['entity']->title}</a></p>";
+$info .= "<p class='entity_title'><a href=\"{$address}\" target=\"_blank\">{$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>";
$tags = elgg_view('output/tags', array('tags' => $vars['entity']->tags));