From 12fdaddf6ae1d9c1ece8afffea6017709c742f18 Mon Sep 17 00:00:00 2001 From: mensonge Date: Tue, 26 May 2009 15:53:07 +0000 Subject: [PATCH] Bug fix: allow deleting links between tags when deleting a user. git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@339 b3834d28-1941-0410-a4f8-b48e95affb8f --- admin.php | 2 +- services/tag2tagservice.php | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/admin.php b/admin.php index 6061565..b57b568 100644 --- a/admin.php +++ b/admin.php @@ -56,7 +56,7 @@ if ( $action $uId = $userinfo['uId']; $tagcacheservice->deleteByUser($uId); - $tag2tagservice->removeLinkedTags('','','',$uId); + $tag2tagservice->removeLinkedTagsForUser($uId); $userservice->deleteUser($uId); $bookmark2tagservice->deleteTagsForUser($uId); $commondescriptionservice->deleteDescriptionsForUser($uId); diff --git a/services/tag2tagservice.php b/services/tag2tagservice.php index b2ffbf0..956fd49 100644 --- a/services/tag2tagservice.php +++ b/services/tag2tagservice.php @@ -309,6 +309,23 @@ class Tag2TagService { $this->db->sql_freeresult($dbresult); return true; } + + function removeLinkedTagsForUser($uId) { + $query = 'DELETE FROM '. $this->getTableName(); + $query.= ' WHERE uId = "'. $uId .'"'; + + if (!($dbresult =& $this->db->sql_query($query))) { + message_die(GENERAL_ERROR, 'Could not remove tag relation', '', __LINE__, __FILE__, $query, $this->db); + return false; + } + + + // Update stats and cache + $this->update('', '', '', $uId); + + $this->db->sql_freeresult($dbresult); + return true; + } function renameTag($uId, $oldName, $newName) { $tagservice =& ServiceFactory::getServiceInstance('TagService');