]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
Interface design: merging of bookmarks with same URLs
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Wed, 23 Jan 2008 16:58:00 +0000 (16:58 +0000)
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Wed, 23 Jan 2008 16:58:00 +0000 (16:58 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@24 b3834d28-1941-0410-a4f8-b48e95affb8f

admin.php
bookmarks.php
services/bookmarkservice.php
tests/bookmarksTest.php [new file with mode: 0644]

index 81dde3c382e686ab2cc8b8f32e7bbeeb886445bf..f33daf376280af29130010ce55cb9970237fc7ce 100644 (file)
--- a/admin.php
+++ b/admin.php
@@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 // Uncomment the following lines to execute the admin script. Don't forget to re-comment them after using.
 
-/* 
+/*
 require_once('header.inc.php');
 $tagstatservice   = & ServiceFactory :: getServiceInstance('TagStatService');
 $templateservice  = & ServiceFactory :: getServiceInstance('TemplateService');
index 8b1644ef55b6b7b680e3823f4f34dafb348362ed..4c0a2a9c1ec76e1fb886e007e324fe2689f1c9d2 100644 (file)
@@ -207,7 +207,7 @@ if ($templatename == 'editbookmark.tpl') {
     $tplVars['page'] = $page;
     $tplVars['start'] = $start;
     $tplVars['bookmarkCount'] = $start + 1;
-    
+
     $bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, $userid, $cat, $terms, getSortOrder());
     $tplVars['total'] = $bookmarks['total'];
     $tplVars['bookmarks'] =& $bookmarks['bookmarks'];
index fdb49a039ba4dae8e364fbe6ef8087a8d7152906..31811237ed5ba484942336cbd79071b66de11e1a 100644 (file)
@@ -277,24 +277,28 @@ class BookmarkService {
             $query_3 .= ' AND ('. $query_3_1 .') AND B.bStatus IN (0, 1)';
         }
 
+       if($hash == null) {
+           $query_5.= ' GROUP BY B.bHash';
+       }
+
         switch($sortOrder) {
             case 'date_asc':
-                $query_5 = ' ORDER BY B.bDatetime ASC ';
+                $query_5.= ' ORDER BY B.bDatetime ASC ';
                 break;
             case 'title_desc':
-                $query_5 = ' ORDER BY B.bTitle DESC ';
+                $query_5.= ' ORDER BY B.bTitle DESC ';
                 break;
             case 'title_asc':
-                $query_5 = ' ORDER BY B.bTitle ASC ';
+                $query_5.= ' ORDER BY B.bTitle ASC ';
                 break;
             case 'url_desc':
-                $query_5 = ' ORDER BY B.bAddress DESC ';
+                $query_5.= ' ORDER BY B.bAddress DESC ';
                 break;
             case 'url_asc':
-                $query_5 = ' ORDER BY B.bAddress ASC ';
+                $query_5.= ' ORDER BY B.bAddress ASC ';
                 break;
             default:
-                $query_5 = ' ORDER BY B.bDatetime DESC ';
+                $query_5.= ' ORDER BY B.bDatetime DESC ';
         }
 
         // Handle the parts of the query that depend on any tags that are present.
diff --git a/tests/bookmarksTest.php b/tests/bookmarksTest.php
new file mode 100644 (file)
index 0000000..dea250d
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+require_once 'PHPUnit/Framework.php';
+
+/*
+To launch this test, type the following line into a shell
+at the root of the scuttlePlus directory :
+     phpunit BookmarksTest tests/bookmarksTest.php
+*/
+
+class BookmarksTest extends PHPUnit_Framework_TestCase
+{
+    protected $us;
+    protected $bs;
+    protected $ts;
+    protected $tts;
+    protected function setUp()
+    {
+        global $dbhost, $dbuser, $dbpass, $dbname, $dbport, $dbpersist, $dbtype, $tableprefix;
+       require_once('./header.inc.php');
+
+       $this->us =& ServiceFactory::getServiceInstance('UserService');
+       $this->bs =& ServiceFactory::getServiceInstance('BookmarkService');
+       $this->bs->deleteAll();
+       $this->ts =& ServiceFactory::getServiceInstance('TagService');
+       $this->ts->deleteAll();
+       $this->tts =& ServiceFactory::getServiceInstance('Tag2TagService');
+       $this->tts->deleteAll(); 
+       $this->tsts =& ServiceFactory::getServiceInstance('TagStatService');
+       $this->tsts->deleteAll();
+    }
+    public function testUnificationOfBookmarks()
+    {
+       $bs = $this->bs;
+
+       $bs->addBookmark("http://site1.com", "title", "description", "status", array('tag1'), null, false, false, 1);
+       $bs->addBookmark("http://site1.com", "title2", "description2", "status", array('tag2'), null, false, false, 2);
+
+       $bookmarks =& $bs->getBookmarks(0, 1, NULL, NULL, NULL, getSortOrder(), NULL, 0, $dtend);
+    }
+}
+?>