From 760dd70519ade43df447196bc29063fe118908b4 Mon Sep 17 00:00:00 2001 From: mensonge Date: Tue, 17 Feb 2009 09:36:20 +0000 Subject: [PATCH] Bug fix: correct popup behaviour. git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@284 b3834d28-1941-0410-a4f8-b48e95affb8f --- bookmarks.php | 32 ++++++++++++++++++++++---------- edit.php | 5 +++-- services/bookmarkservice.php | 4 +++- 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* + '; } @@ -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'] = ''; + } 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"); - +