From d833e18b68ee5c9845dc5759e51b3301811d9274 Mon Sep 17 00:00:00 2001 From: mensonge Date: Sat, 28 Feb 2009 15:37:18 +0000 Subject: Bug fix: correct bug if updating a bookmark with the url of another existing bookmark. git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@303 b3834d28-1941-0410-a4f8-b48e95affb8f --- services/bookmarkservice.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/services/bookmarkservice.php b/services/bookmarkservice.php index 55562e2..1719b80 100644 --- a/services/bookmarkservice.php +++ b/services/bookmarkservice.php @@ -201,7 +201,7 @@ class BookmarkService { function updateBookmark($bId, $address, $title, $description, $privateNote, $status, $categories, $date = NULL, $fromApi = false) { if (!is_numeric($bId)) - return false; + return false; // Get the client's IP address and the date; note that the date is in GMT. if (getenv('HTTP_CLIENT_IP')) @@ -213,6 +213,15 @@ class BookmarkService { $ip = getenv('HTTP_X_FORWARDED_FOR'); $moddatetime = gmdate('Y-m-d H:i:s', time()); + + $address = $this->normalize($address); + + //check if a new address ($address) doesn't already exist for another bookmark from the same user + $bookmark = $this->getBookmark($bId); + if($bookmark['bAddress'] != $address && $this->bookmarkExists($address, $bookmark['uId'])) { + message_die(GENERAL_ERROR, 'Could not update bookmark (URL already existing = '.$address.')', '', __LINE__, __FILE__); + return false; + } // Set up the SQL update statement and execute it. $updates = array('bModified' => $moddatetime, 'bTitle' => $title, 'bAddress' => $address, 'bDescription' => $description, 'bPrivateNote' => $privateNote, 'bStatus' => $status, 'bHash' => md5($address)); -- cgit v1.2.3