diff options
author | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2010-01-16 11:16:43 +0000 |
---|---|---|
committer | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2010-01-16 11:16:43 +0000 |
commit | 180e5a0fc617d9d5a7c516842d598adee0f2e049 (patch) | |
tree | eeaf22e3a293af968d815e0bb47df4e7f134b559 /src/SemanticScuttle/Service/CommonDescription.php | |
parent | 50f41d57f7a3fd557245be03e0bc54b37bd32da9 (diff) | |
download | semanticscuttle-180e5a0fc617d9d5a7c516842d598adee0f2e049.tar.gz semanticscuttle-180e5a0fc617d9d5a7c516842d598adee0f2e049.tar.bz2 |
Fix bug #2887063: Common tag combination description feels broken
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@598 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'src/SemanticScuttle/Service/CommonDescription.php')
-rw-r--r-- | src/SemanticScuttle/Service/CommonDescription.php | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/SemanticScuttle/Service/CommonDescription.php b/src/SemanticScuttle/Service/CommonDescription.php index 8acd254..39c5826 100644 --- a/src/SemanticScuttle/Service/CommonDescription.php +++ b/src/SemanticScuttle/Service/CommonDescription.php @@ -49,6 +49,8 @@ class SemanticScuttle_Service_CommonDescription extends SemanticScuttle_DbServic } function addTagDescription($tag, $desc, $uId, $time) { + $tag = self::getSortedTag($tag); + // Check if no modification $lastDesc = $this->getLastTagDescription($tag); if($lastDesc['cdDescription'] == $desc) { @@ -70,6 +72,8 @@ class SemanticScuttle_Service_CommonDescription extends SemanticScuttle_DbServic } function getLastTagDescription($tag) { + $tag = self::getSortedTag($tag); + $query = "SELECT *"; $query.= " FROM `". $this->getTableName() ."`"; $query.= " WHERE tag='".$tag."'"; @@ -200,5 +204,26 @@ class SemanticScuttle_Service_CommonDescription extends SemanticScuttle_DbServic $this->db->sql_query($query); } + + + /** + * Sorts a tag combination. + * + * Multiple tags are separated by "+" signs. Semantically, + * tag combinations like "blue+flower" and "flower+blue" are identical. + * This method sorts the single tags so i.e. the common bookmark description + * of "blue+flower" is also shown for "flower+blue". + * + * @param string $tag Single tag or tag combination ("+") + * + * @return string Sorted tag combination + */ + protected static function getSortedTag($tag) + { + $tags = explode('+', $tag); + sort($tags); + return implode('+', $tags); + } + } ?> |