summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bookmarks.php32
-rw-r--r--edit.php5
-rw-r--r--services/bookmarkservice.php4
-rw-r--r--templates/editbookmark.tpl.php2
4 files changed, 29 insertions, 14 deletions
diff --git a/bookmarks.php b/bookmarks.php
index 6f2463e..81af8af 100644
--- a/bookmarks.php
+++ b/bookmarks.php
@@ -104,9 +104,9 @@ if ($user) {
}
if ($cat) {
$catTitle = ': '. str_replace('+', ' + ', $cat);
-
- $catTitleWithUrls = ': ';
- $titleTags = explode('+', filter($cat));
+
+ $catTitleWithUrls = ': ';
+ $titleTags = explode('+', filter($cat));
for($i = 0; $i<count($titleTags);$i++) {
$catTitleWithUrls.= $titleTags[$i].'<a href="'.createUrl('bookmarks', $user.'/'.aggregateTags($titleTags, '+', $titleTags[$i])).'" title="'.T_('Remove the tag from the selection').'">*</a> + ';
}
@@ -162,8 +162,8 @@ if ($userservice->isLoggedOn() && POST_SUBMITTED != '') {
if (GET_ACTION == "add") {
// If the bookmark exists already, edit the original
- if ($bookmarkservice->bookmarkExists(stripslashes(GET_ADDRESS), $currentUserID)) {
- $bookmark =& $bookmarkservice->getBookmarks(0, NULL, $currentUserID, NULL, NULL, NULL, NULL, NULL, NULL, md5(stripslashes(GET_ADDRESS)));
+ if ($bookmarkservice->bookmarkExists(stripslashes(GET_ADDRESS), $currentUserID)) {
+ $bookmark =& $bookmarkservice->getBookmarks(0, NULL, $currentUserID, NULL, NULL, NULL, NULL, NULL, NULL, md5($bookmarkservice->normalize(stripslashes(GET_ADDRESS))));
$popup = (GET_POPUP!='') ? '?popup=1' : '';
header('Location: '. createURL('edit', $bookmark['bookmarks'][0]['bId'] . $popup));
exit();
@@ -184,11 +184,23 @@ if ($templatename == 'editbookmark.tpl') {
'bStatus' => 0,
);
$tplVars['tags'] = POST_TAGS;
- } else {
- $tplVars['row'] = $bookmarkservice->getBookmark(GET_COPYOF, true);
- if(!$currentUser->isAdmin()) {
- $tplVars['row']['bPrivateNote'] = ''; //only admin can copy private note
- }
+ } else {
+ if(GET_COPYOF != '') { //copy from bookmarks page
+ $tplVars['row'] = $bookmarkservice->getBookmark(GET_COPYOF, true);
+ if(!$currentUser->isAdmin()) {
+ $tplVars['row']['bPrivateNote'] = ''; //only admin can copy private note
+ }
+ }else { //copy from pop-up bookmarklet
+ $tplVars['row'] = array(
+ 'bTitle' => stripslashes(GET_TITLE),
+ 'bAddress' => stripslashes(GET_ADDRESS),
+ 'bDescription' => stripslashes(GET_DESCRIPTION),
+ 'bPrivateNote' => stripslashes(GET_PRIVATENOTE),
+ 'tags' => (GET_TAGS ? explode(',', stripslashes(GET_TAGS)) : array()),
+ 'bStatus' => 0
+ );
+ }
+
}
$title = T_('Add a Bookmark');
$tplVars['referrer'] = $_SERVER['HTTP_REFERER'];
diff --git a/edit.php b/edit.php
index 9011ac3..01f2e59 100644
--- a/edit.php
+++ b/edit.php
@@ -87,12 +87,13 @@ if (!($row = $bookmarkservice->getBookmark(intval($bookmark), true))) {
if (POST_DELETE != '') {
// Delete bookmark
if ($bookmarkservice->deleteBookmark($bookmark)) {
- if (POST_REFERRER != '') {
+ if (POST_POPUP != '') {
+ $tplVars['msg'] = '<script type="text/javascript">window.close();</script>';
+ } elseif (POST_REFERRER != '') {
header('Location: '. POST_REFERRER);
} else {
header('Location: '. createURL('bookmarks', $currentUser->getUsername()));
}
- exit();
} else {
$tplVars['error'] = T_('Failed to delete bookmark');
$templateservice->loadTemplate('error.500.tpl', $tplVars);
diff --git a/services/bookmarkservice.php b/services/bookmarkservice.php
index dcce54b..22044f2 100644
--- a/services/bookmarkservice.php
+++ b/services/bookmarkservice.php
@@ -436,8 +436,10 @@ class BookmarkService {
message_die(GENERAL_ERROR, 'Could not delete bookmarks', '', __LINE__, __FILE__, $query, $this->db);
return false;
}
+
+
- $query = 'DELETE FROM '. $GLOBALS['tableprefix'] .'tags WHERE bId = '. intval($bookmarkid);
+ $query = 'DELETE FROM '. $GLOBALS['tableprefix'] .'bookmarks2tags WHERE bId = '. intval($bookmarkid);
$this->db->sql_transaction('begin');
if (!($dbresult = & $this->db->sql_query($query))) {
$this->db->sql_transaction('rollback');
diff --git a/templates/editbookmark.tpl.php b/templates/editbookmark.tpl.php
index bbf3484..8031aad 100644
--- a/templates/editbookmark.tpl.php
+++ b/templates/editbookmark.tpl.php
@@ -95,7 +95,7 @@ $this->includeTemplate("dojo.inc");
<td></td>
<td>
<input type="submit" name="submitted" value="<?php echo $btnsubmit; ?>" />
- <input type="button" name="cancel" value="<?php echo T_('Cancel') ?>" onclick="javascript: history.go(-1)" />
+ <input type="button" name="cancel" value="<?php echo T_('Cancel') ?>" onclick="<?php echo $popup?'window.close();':'javascript: history.go(-1)'; ?>" />
<?php
if (isset($showdelete) && $showdelete) {
?>