aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/SemanticScuttle/Service/Bookmark2Tag.php11
-rw-r--r--tests/Bookmark2TagTest.php11
2 files changed, 18 insertions, 4 deletions
diff --git a/src/SemanticScuttle/Service/Bookmark2Tag.php b/src/SemanticScuttle/Service/Bookmark2Tag.php
index 914abc6..3e5c533 100644
--- a/src/SemanticScuttle/Service/Bookmark2Tag.php
+++ b/src/SemanticScuttle/Service/Bookmark2Tag.php
@@ -271,10 +271,11 @@ class SemanticScuttle_Service_Bookmark2Tag extends SemanticScuttle_DbService
* Retrieves all tags for a given bookmark except system tags.
*
* @param integer $bookmarkid ID of the bookmark
+ * @param boolean $systemTags Return "system:*" tags or not
*
* @return array Array of tags
*/
- public function getTagsForBookmark($bookmarkid)
+ public function getTagsForBookmark($bookmarkid, $systemTags = false)
{
if (!is_numeric($bookmarkid)) {
message_die(
@@ -285,9 +286,11 @@ class SemanticScuttle_Service_Bookmark2Tag extends SemanticScuttle_DbService
}
$query = 'SELECT tag FROM ' . $this->getTableName()
- . ' WHERE bId = ' . intval($bookmarkid)
- . ' AND LEFT(tag, 7) <> "system:"'
- . ' ORDER BY id ASC';
+ . ' WHERE bId = ' . intval($bookmarkid);
+ if (!$systemTags) {
+ $query .= ' AND LEFT(tag, 7) <> "system:"';
+ }
+ $query .= ' ORDER BY id ASC';
if (!($dbresult = $this->db->sql_query($query))) {
message_die(
diff --git a/tests/Bookmark2TagTest.php b/tests/Bookmark2TagTest.php
index 4d95d69..1367a0e 100644
--- a/tests/Bookmark2TagTest.php
+++ b/tests/Bookmark2TagTest.php
@@ -71,6 +71,17 @@ class Bookmark2TagTest extends TestBase
+ public function testAttachTagsWithoutTagsAddsSystemUnfiled()
+ {
+ $bid = $this->addBookmark(null, null, 0, array());
+ $this->assertEquals(
+ array('system:unfiled'),
+ $this->b2ts->getTagsForBookmark($bid, true)
+ );
+ }
+
+
+
/**
* Test getTagsForBookmark() when the bookmark has no tags
*