diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-01-23 16:58:00 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-01-23 16:58:00 +0000 |
commit | c385dc63425ade7a15ac9abc8f2d931e8141e412 (patch) | |
tree | e003a2462533e7c9e4c70156dd494ca3ccc66d9a | |
parent | 47f8a6dd9ebb1d7e7595215186db18522f4ea0de (diff) | |
download | semanticscuttle-c385dc63425ade7a15ac9abc8f2d931e8141e412.tar.gz semanticscuttle-c385dc63425ade7a15ac9abc8f2d931e8141e412.tar.bz2 |
Interface design: merging of bookmarks with same URLs
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@24 b3834d28-1941-0410-a4f8-b48e95affb8f
-rw-r--r-- | admin.php | 2 | ||||
-rw-r--r-- | bookmarks.php | 2 | ||||
-rw-r--r-- | services/bookmarkservice.php | 16 | ||||
-rw-r--r-- | tests/bookmarksTest.php | 43 |
4 files changed, 55 insertions, 8 deletions
@@ -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'); diff --git a/bookmarks.php b/bookmarks.php index 8b1644e..4c0a2a9 100644 --- a/bookmarks.php +++ b/bookmarks.php @@ -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']; diff --git a/services/bookmarkservice.php b/services/bookmarkservice.php index fdb49a0..3181123 100644 --- a/services/bookmarkservice.php +++ b/services/bookmarkservice.php @@ -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 index 0000000..dea250d --- /dev/null +++ b/tests/bookmarksTest.php @@ -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); + } +} +?> |