aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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()