]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
Bug fix: correct bug if updating a bookmark with the url of another existing bookmark.
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Sat, 28 Feb 2009 15:37:18 +0000 (15:37 +0000)
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Sat, 28 Feb 2009 15:37:18 +0000 (15:37 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@303 b3834d28-1941-0410-a4f8-b48e95affb8f

services/bookmarkservice.php

index 55562e2cbdbe11ae6c18bd942c2216c5f3b35279..1719b8030c557ba2e07fe45375e31bd84231c831 100644 (file)
@@ -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));