Feature improvement: make rename tags more consistent (with regards to linked tags)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@85 b3834d28-1941-0410-a4f8-b48e95affb8f
This commit is contained in:
parent
d10c26fd1d
commit
146c63e90c
5 changed files with 54 additions and 17 deletions
Binary file not shown.
|
@ -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"
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue