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
This commit is contained in:
cweiske 2010-01-16 11:16:43 +00:00
parent 50f41d57f7
commit 180e5a0fc6
2 changed files with 27 additions and 0 deletions

View file

@ -9,6 +9,8 @@ ChangeLog for SemantiScuttle
- Fix HTTP content type header for RSS - Fix HTTP content type header for RSS
- Add config option to allow sorting by bookmark creation date - Add config option to allow sorting by bookmark creation date
instead of modification date instead of modification date
- Fix bug #2887063: Common tag combination description feels broken
0.95.1 - 2009-11-16 0.95.1 - 2009-11-16
------------------- -------------------

View file

@ -49,6 +49,8 @@ class SemanticScuttle_Service_CommonDescription extends SemanticScuttle_DbServic
} }
function addTagDescription($tag, $desc, $uId, $time) { function addTagDescription($tag, $desc, $uId, $time) {
$tag = self::getSortedTag($tag);
// Check if no modification // Check if no modification
$lastDesc = $this->getLastTagDescription($tag); $lastDesc = $this->getLastTagDescription($tag);
if($lastDesc['cdDescription'] == $desc) { if($lastDesc['cdDescription'] == $desc) {
@ -70,6 +72,8 @@ class SemanticScuttle_Service_CommonDescription extends SemanticScuttle_DbServic
} }
function getLastTagDescription($tag) { function getLastTagDescription($tag) {
$tag = self::getSortedTag($tag);
$query = "SELECT *"; $query = "SELECT *";
$query.= " FROM `". $this->getTableName() ."`"; $query.= " FROM `". $this->getTableName() ."`";
$query.= " WHERE tag='".$tag."'"; $query.= " WHERE tag='".$tag."'";
@ -200,5 +204,26 @@ class SemanticScuttle_Service_CommonDescription extends SemanticScuttle_DbServic
$this->db->sql_query($query); $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);
}
} }
?> ?>