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"
|
"Project-Id-Version: Scuttle\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2008-03-14 11:42+0100\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"
|
"Last-Translator: BenjaminHKB <benjamin.huynh-kim-bang@loria.fr>\n"
|
||||||
"Language-Team: fr-FR <toony.sf@chezouam.net>\n"
|
"Language-Team: fr-FR <toony.sf@chezouam.net>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -490,14 +490,14 @@ msgstr "Tag renommé"
|
||||||
|
|
||||||
#: ../../../tagrename.php:50
|
#: ../../../tagrename.php:50
|
||||||
msgid "Failed to rename the tag"
|
msgid "Failed to rename the tag"
|
||||||
msgstr "Erreur dans la suppression du tag"
|
msgstr "Erreur dans le renommage du tag"
|
||||||
|
|
||||||
#: ../../../tagrename.php:57
|
#: ../../../tagrename.php:57
|
||||||
#: ../../../templates/sidebar.block.tagactions.php:11
|
#: ../../../templates/sidebar.block.tagactions.php:11
|
||||||
msgid "Rename Tag"
|
msgid "Rename Tag"
|
||||||
msgid_plural "Rename Tags"
|
msgid_plural "Rename Tags"
|
||||||
msgstr[0] "Renommer le tag"
|
msgstr[0] "Renommer le tag"
|
||||||
msgstr[1] "TRenommer les tags"
|
msgstr[1] "Renommer les tags"
|
||||||
|
|
||||||
#: ../../../tags.php:38
|
#: ../../../tags.php:38
|
||||||
#: ../../../templates/editbookmark.tpl.php:44
|
#: ../../../templates/editbookmark.tpl.php:44
|
||||||
|
@ -1043,7 +1043,7 @@ msgstr "Ancien"
|
||||||
|
|
||||||
#: ../../../templates/tagrename.tpl.php:17
|
#: ../../../templates/tagrename.tpl.php:17
|
||||||
msgid "New"
|
msgid "New"
|
||||||
msgstr "Nouvaeu"
|
msgstr "Nouveau"
|
||||||
|
|
||||||
#: ../../../templates/tagrename.tpl.php:24
|
#: ../../../templates/tagrename.tpl.php:24
|
||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
|
|
|
@ -231,6 +231,30 @@ class Tag2TagService {
|
||||||
return true;
|
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() {
|
function deleteAll() {
|
||||||
$query = 'TRUNCATE TABLE `'. $this->getTableName() .'`';
|
$query = 'TRUNCATE TABLE `'. $this->getTableName() .'`';
|
||||||
$this->db->sql_query($query);
|
$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');
|
require_once('header.inc.php');
|
||||||
$tagservice = & ServiceFactory :: getServiceInstance('TagService');
|
$tagservice = & ServiceFactory :: getServiceInstance('TagService');
|
||||||
|
$tag2tagservice = & ServiceFactory :: getServiceInstance('Tag2tagService');
|
||||||
$templateservice = & ServiceFactory :: getServiceInstance('TemplateService');
|
$templateservice = & ServiceFactory :: getServiceInstance('TemplateService');
|
||||||
$userservice = & ServiceFactory :: getServiceInstance('UserService');
|
$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';
|
$template = 'tagrename.tpl';
|
||||||
|
|
||||||
if ($_POST['confirm']) {
|
if ($_POST['confirm']) {
|
||||||
|
@ -41,7 +43,8 @@ if ($_POST['confirm']) {
|
||||||
if (
|
if (
|
||||||
!is_null($old) &&
|
!is_null($old) &&
|
||||||
!is_null($new) &&
|
!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');
|
$tplVars['msg'] = T_('Tag renamed');
|
||||||
$logged_on_user = $userservice->getCurrentUser();
|
$logged_on_user = $userservice->getCurrentUser();
|
||||||
|
|
|
@ -430,24 +430,34 @@ class Tag2TagTest extends PHPUnit_Framework_TestCase
|
||||||
$tsts = $this->tsts;
|
$tsts = $this->tsts;
|
||||||
|
|
||||||
// with classic tags (users 10 & 20)
|
// with classic tags (users 10 & 20)
|
||||||
$tags = array('a', 'b', 'c');
|
$bs->addBookmark("http://site1.com", "title", "description", "status", array('tag1', 'tag11', 'tag111'), null, false, false, 1);
|
||||||
$bs->addBookmark("http://site1.com", "title", "description", "status", $tags, null, false, false, 10);
|
$bs->addBookmark("http://site1.com", "title2", "description2", "status", array('tag2', 'tag22', 'tag222'), null, false, false, 2);
|
||||||
|
|
||||||
$tags = array('a', 'b', 'c');
|
$bookmarks =& $bs->getBookmarks(0, 1, NULL, NULL, NULL, getSortOrder(), NULL, 0, $dtend);
|
||||||
$bs->addBookmark("http://site2.com", "title", "description", "status", $tags, null, false, false, 20);
|
$this->assertEquals(1, $bookmarks['total']);
|
||||||
|
|
||||||
$bookmarks = $bs->getBookmarks(0, NULL, 10, 'a');
|
$ts->renameTag(1, 'tag1', 'newtag1');
|
||||||
$this->assertSame(array(), $bookmarks);
|
|
||||||
|
|
||||||
$ts->renameTag(10, 'a', 'ddd');
|
|
||||||
$tags1 = $ts->getTagsForBookmark(1);
|
$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
|
// with linked tags
|
||||||
|
|
||||||
$tts->addLinkedTags('b', 'c', '>', 1);
|
$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
|
//with stats
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue