summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-02-19 13:51:18 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-02-19 13:51:18 +0000
commit6f312b54db9179f93a09195aad2baf8964bf7c56 (patch)
tree0cd9f09995056090bae71a64cff1191d340870a8
parenta77ff1772a2fa515a4ca8ffe8937a8a91d68b98d (diff)
downloadsemanticscuttle-6f312b54db9179f93a09195aad2baf8964bf7c56.tar.gz
semanticscuttle-6f312b54db9179f93a09195aad2baf8964bf7c56.tar.bz2
Bug fixes: prevent from adding special characters into tags
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@44 b3834d28-1941-0410-a4f8-b48e95affb8f
-rw-r--r--services/tagservice.php4
-rw-r--r--tests/bookmarksTest.php20
2 files changed, 24 insertions, 0 deletions
diff --git a/services/tagservice.php b/services/tagservice.php
index bbf3574..256afc5 100644
--- a/services/tagservice.php
+++ b/services/tagservice.php
@@ -41,6 +41,10 @@ class TagService {
}
}
+ //clean tags from strange characters
+ $tags = str_replace(array('"', '\''), "_", $tags);
+
+
$tags_count = count($tags);
for ($i = 0; $i < $tags_count; $i++) {
$tags[$i] = trim(strtolower($tags[$i]));
diff --git a/tests/bookmarksTest.php b/tests/bookmarksTest.php
index 882fb85..b7b03b6 100644
--- a/tests/bookmarksTest.php
+++ b/tests/bookmarksTest.php
@@ -29,6 +29,25 @@ class BookmarksTest extends PHPUnit_Framework_TestCase
$this->tsts =& ServiceFactory::getServiceInstance('TagStatService');
$this->tsts->deleteAll();
}
+
+ public function testHardCharactersInBookmarks()
+ {
+ $bs = $this->bs;
+ $title = "title&é\"'(-è_çà)=";
+ $desc = "description#{[|`\^@]}³<> ¹¡÷׿&é\"'(-è\\_çà)=";
+ $tag1 = "#{|`^@]³¹¡¿<&é\"'(-è\\_çà)";
+ $tag2 = "&é\"'(-è.[?./§!_çà)";
+
+ $bs->addBookmark("http://site1.com", $title, $desc, "status", array($tag1, $tag2), null, false, false, 1);
+
+ $bookmarks =& $bs->getBookmarks(0, 1, NULL, NULL, NULL, getSortOrder(), NULL, 0, $dtend);
+
+ $b0 = $bookmarks['bookmarks'][0];
+ $this->assertEquals($title, $b0['bTitle']);
+ $this->assertEquals($desc, $b0['bDescription']);
+ $this->assertEquals(str_replace(array('"', '\''), "_", $tag1), $b0['tags'][0]);
+ $this->assertEquals(str_replace(array('"', '\''), "_", $tag2), $b0['tags'][1]);
+ }
public function testUnificationOfBookmarks()
{
@@ -38,6 +57,7 @@ class BookmarksTest extends PHPUnit_Framework_TestCase
$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);
+ $this->assertEquals(2, $bookmarks['total']);
}
public function testSearchingBookmarksAccentsInsensible()