diff options
-rw-r--r-- | bookmarks.php | 32 | ||||
-rw-r--r-- | edit.php | 5 | ||||
-rw-r--r-- | services/bookmarkservice.php | 4 | ||||
-rw-r--r-- | templates/editbookmark.tpl.php | 2 |
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']; @@ -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) { ?> |