aboutsummaryrefslogtreecommitdiff
path: root/services/tagservice.php
diff options
context:
space:
mode:
Diffstat (limited to 'services/tagservice.php')
-rw-r--r--services/tagservice.php13
1 files changed, 8 insertions, 5 deletions
diff --git a/services/tagservice.php b/services/tagservice.php
index 256afc5..1aba11e 100644
--- a/services/tagservice.php
+++ b/services/tagservice.php
@@ -146,11 +146,14 @@ class TagService {
return true;
}
- function deleteTag($tag) {
- $userservice =& ServiceFactory::getServiceInstance('UserService');
- $logged_on_user = $userservice->getCurrentUserId();
+ function deleteTag($uId, $tag) {
+ $bs =& ServiceFactory::getServiceInstance('BookmarkService');
- $query = 'DELETE FROM '. $this->getTableName() .' USING '. $GLOBALS['tableprefix'] .'tags, '. $GLOBALS['tableprefix'] .'bookmarks WHERE '. $GLOBALS['tableprefix'] .'tags.bId = '. $GLOBALS['tableprefix'] .'bookmarks.bId AND '. $GLOBALS['tableprefix'] .'bookmarks.uId = '. $logged_on_user .' AND '. $GLOBALS['tableprefix'] .'tags.tag = "'. $this->db->sql_escape($tag) .'"';
+ $query = 'DELETE FROM '. $this->getTableName();
+ $query.= ' USING '. $this->getTableName() .', '. $bs->getTableName();
+ $query.= ' WHERE '. $this->getTableName() .'.bId = '. $bs->getTableName() .'.bId';
+ $query.= ' AND '. $bs->getTableName() .'.uId = '. $uId;
+ $query.= ' AND '. $this->getTableName() .'.tag = "'. $this->db->sql_escape($tag) .'"';
if (!($dbresult =& $this->db->sql_query($query))) {
message_die(GENERAL_ERROR, 'Could not delete tags', '', __LINE__, __FILE__, $query, $this->db);
@@ -349,7 +352,7 @@ class TagService {
$bookmarks =& $bookmarksInfo['bookmarks'];
// Delete old tag
- $this->deleteTag($old);
+ $this->deleteTag($userid, $old);
// Attach new tags
foreach(array_keys($bookmarks) as $key) {