]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
Bug fixes: prevent from adding special characters into tags
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Tue, 19 Feb 2008 13:51:18 +0000 (13:51 +0000)
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Tue, 19 Feb 2008 13:51:18 +0000 (13:51 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@44 b3834d28-1941-0410-a4f8-b48e95affb8f

services/tagservice.php
tests/bookmarksTest.php

index bbf35746c366fc4e31155e5e24256ac110c6631c..256afc5c3c0cffc21ef2fa8b5f2b4797990bc4e9 100644 (file)
@@ -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]));
index 882fb8598a4a084b0bbb968b9bb4e3d35fbfc556..b7b03b6e751273f5265f726a7da68eb295c1389f 100644 (file)
@@ -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()