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');