]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
Feature improvement: make rename tags more consistent (with regards to linked tags)
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Fri, 14 Mar 2008 15:18:01 +0000 (15:18 +0000)
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Fri, 14 Mar 2008 15:18:01 +0000 (15:18 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@85 b3834d28-1941-0410-a4f8-b48e95affb8f

locales/fr_FR/LC_MESSAGES/messages.mo
locales/fr_FR/LC_MESSAGES/messages.po
services/tag2tagservice.php
tagrename.php
tests/tag2TagTest.php

index 2d4eba52d48d2dc3016d60cc3f6e57e417612591..ab44a15ef565360863e1e37a59185ae549f81e32 100644 (file)
Binary files a/locales/fr_FR/LC_MESSAGES/messages.mo and b/locales/fr_FR/LC_MESSAGES/messages.mo differ
index 3c1a96adf611c0b9173730e375bc9dba17ee88e0..714236ef180d6e2beef04cf00e8b11706f1ec313 100644 (file)
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: Scuttle\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2008-03-14 11:42+0100\n"
-"PO-Revision-Date: 2008-03-14 11:43+0100\n"
+"PO-Revision-Date: 2008-03-14 16:06+0100\n"
 "Last-Translator: BenjaminHKB <benjamin.huynh-kim-bang@loria.fr>\n"
 "Language-Team: fr-FR <toony.sf@chezouam.net>\n"
 "MIME-Version: 1.0\n"
@@ -490,14 +490,14 @@ msgstr "Tag renommé"
 
 #: ../../../tagrename.php:50
 msgid "Failed to rename the tag"
-msgstr "Erreur dans la suppression du tag"
+msgstr "Erreur dans le renommage du tag"
 
 #: ../../../tagrename.php:57
 #: ../../../templates/sidebar.block.tagactions.php:11
 msgid "Rename Tag"
 msgid_plural "Rename Tags"
 msgstr[0] "Renommer le tag"
-msgstr[1] "TRenommer les tags"
+msgstr[1] "Renommer les tags"
 
 #: ../../../tags.php:38
 #: ../../../templates/editbookmark.tpl.php:44
@@ -1043,7 +1043,7 @@ msgstr "Ancien"
 
 #: ../../../templates/tagrename.tpl.php:17
 msgid "New"
-msgstr "Nouvaeu"
+msgstr "Nouveau"
 
 #: ../../../templates/tagrename.tpl.php:24
 msgid "Rename"
index d3a4a779bd954ee6a3f57a3d49e60edc38cec862..ee26a114cdcaebac4bbd14c915d3461e138b9e03 100644 (file)
@@ -231,6 +231,30 @@ class Tag2TagService {
         return true;
     }
 
+    function renameTag($uId, $oldName, $newName) {
+       $query = 'UPDATE `'. $this->getTableName() .'`';
+       $query.= ' SET tag1="'.$newName.'"';
+       $query.= ' WHERE tag1="'.$oldName.'"';
+       $query.= ' AND uId="'.$uId.'"';
+       $this->db->sql_query($query);
+
+       $query = 'UPDATE `'. $this->getTableName() .'`';
+       $query.= ' SET tag2="'.$newName.'"';
+       $query.= ' WHERE tag2="'.$oldName.'"';
+       $query.= ' AND uId="'.$uId.'"';
+       $this->db->sql_query($query);
+
+       // Update stats
+       $tsts =& ServiceFactory::getServiceInstance('TagStatService');
+       $tsts->updateStat($oldName, '=', $uId);
+       $tsts->updateStat($oldName, '>', $uId);
+       $tsts->updateStat($newName, '=', $uId);
+       $tsts->updateStat($newName, '>', $uId);
+
+       return true;
+
+    }
+
     function deleteAll() {
        $query = 'TRUNCATE TABLE `'. $this->getTableName() .'`';
        $this->db->sql_query($query);
index 2d611a75016e62229c8aaf704e222fa15268c141..18e9675618c8dd1b06c66476b617423bf8bf3ed5 100644 (file)
@@ -21,10 +21,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 require_once('header.inc.php');
 $tagservice       = & ServiceFactory :: getServiceInstance('TagService');
+$tag2tagservice   = & ServiceFactory :: getServiceInstance('Tag2tagService');
 $templateservice  = & ServiceFactory :: getServiceInstance('TemplateService');
 $userservice      = & ServiceFactory :: getServiceInstance('UserService');
 
-$tag        = isset($_GET['query']) ? $_GET['query'] : NULL;
+list ($url, $tag) = explode('/', $_SERVER['PATH_INFO']);
+//$tag        = isset($_GET['query']) ? $_GET['query'] : NULL;
 $template   = 'tagrename.tpl';
 
 if ($_POST['confirm']) {
@@ -41,7 +43,8 @@ if ($_POST['confirm']) {
    if (
       !is_null($old) &&
       !is_null($new) &&
-      $tagservice->renameTag($userservice->getCurrentUserId(), $old, $new)
+      $tagservice->renameTag($userservice->getCurrentUserId(), $old, $new) &&
+      $tag2tagservice->renameTag($userservice->getCurrentUserId(), $old, $new)
    ) {
       $tplVars['msg'] = T_('Tag renamed');
       $logged_on_user = $userservice->getCurrentUser();
@@ -60,4 +63,4 @@ if ($_POST['confirm']) {
    $tplVars['old']         = $tag;
 }
 $templateservice->loadTemplate($template, $tplVars);
-?>
\ No newline at end of file
+?>
index ea0adf0a7d804dd0caf75c0faf9c0ac05b34c422..c356be803452a8b7a3219320caf80503aa97ec34 100644 (file)
@@ -430,24 +430,34 @@ class Tag2TagTest extends PHPUnit_Framework_TestCase
        $tsts = $this->tsts;
 
        // with classic tags (users 10 & 20)
-       $tags = array('a', 'b', 'c');
-       $bs->addBookmark("http://site1.com", "title", "description", "status", $tags, null, false, false, 10);
+       $bs->addBookmark("http://site1.com", "title", "description", "status", array('tag1', 'tag11', 'tag111'), null, false, false, 1);
+       $bs->addBookmark("http://site1.com", "title2", "description2", "status", array('tag2', 'tag22', 'tag222'), null, false, false, 2);
 
-       $tags = array('a', 'b', 'c');
-       $bs->addBookmark("http://site2.com", "title", "description", "status", $tags, null, false, false, 20);
+       $bookmarks =& $bs->getBookmarks(0, 1, NULL, NULL, NULL, getSortOrder(), NULL, 0, $dtend);
+       $this->assertEquals(1, $bookmarks['total']);
 
-       $bookmarks = $bs->getBookmarks(0, NULL, 10, 'a');
-       $this->assertSame(array(), $bookmarks);
-
-       $ts->renameTag(10, 'a', 'ddd');
+       $ts->renameTag(1, 'tag1', 'newtag1');
        $tags1 = $ts->getTagsForBookmark(1);
-       $this->assertSame(array('b', 'c', 'ddd'), $tags1);
+       $this->assertSame(array('newtag1', 'tag11', 'tag111'), $tags1);
+       $tags1 = $ts->getTagsForBookmark(2);
+       $this->assertSame(array('tag2', 'tag22', 'tag222'), $tags1); //should not be changed
        
 
        // with linked tags
 
        $tts->addLinkedTags('b', 'c', '>', 1);
-       $tts->addLinkedTags('a', 'd', '>', 1);
+       $tts->addLinkedTags('a', 'b', '>', 1);
+       $tts->addLinkedTags('b', 'a', '>', 2); // should not be modified because of userid
+
+       $tts->renameTag(1, 'b', 'e');
+       $linkedTags = $tts->getLinkedTags('e', '>', 1);
+       $this->assertSame(array('c'), $linkedTags);
+       $linkedTags = $tts->getLinkedTags('a', '>', 1);
+       $this->assertSame(array('e'), $linkedTags);
+       $linkedTags = $tts->getLinkedTags('b', '>', 2);
+       $this->assertSame(array('a'), $linkedTags);
+
+
 
        //with stats