summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/tagservice.php13
-rw-r--r--services/tagstatservice.php2
-rw-r--r--tagdelete.php10
3 files changed, 14 insertions, 11 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) {
diff --git a/services/tagstatservice.php b/services/tagstatservice.php
index fa416f4..ec5f814 100644
--- a/services/tagstatservice.php
+++ b/services/tagstatservice.php
@@ -55,7 +55,7 @@ class TagStatService {
};
}
- function getNbUpdate($tag1, $relationType, $uId) {
+ function getNbUpdates($tag1, $relationType, $uId) {
$query = "SELECT nbupdate FROM `". $this->getTableName() ."`";
$query.= " WHERE tag1 = '" .$tag1 ."'";
$query.= " AND relationType = '". $relationType ."'";
diff --git a/tagdelete.php b/tagdelete.php
index 9f11bdd..c5325c5 100644
--- a/tagdelete.php
+++ b/tagdelete.php
@@ -24,12 +24,13 @@ $tagservice = & ServiceFactory :: getServiceInstance('TagService');
$templateservice = & ServiceFactory :: getServiceInstance('TemplateService');
$userservice = & ServiceFactory :: getServiceInstance('UserService');
+$logged_on_user = $userservice->getCurrentUser();
+
list ($url, $tag) = explode('/', $_SERVER['PATH_INFO']);
if ($_POST['confirm']) {
- if ($tagservice->deleteTag($tag)) {
- $tplVars['msg'] = T_('Tag deleted');
- $logged_on_user = $userservice->getCurrentUser();
+ if ($tagservice->deleteTag($logged_on_user['uId'], $tag)) {
+ $tplVars['msg'] = T_('Tag deleted');
header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')]));
} else {
$tplVars['error'] = T_('Failed to delete the tag');
@@ -37,7 +38,6 @@ if ($_POST['confirm']) {
exit();
}
} elseif ($_POST['cancel']) {
- $logged_on_user = $userservice->getCurrentUser();
header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')] .'/'. $tags));
}
@@ -45,4 +45,4 @@ $tplVars['subtitle'] = T_('Delete Tag') .': '. $tag;
$tplVars['formaction'] = $_SERVER['SCRIPT_NAME'] .'/'. $tag;
$tplVars['referrer'] = $_SERVER['HTTP_REFERER'];
$templateservice->loadTemplate('tagdelete.tpl', $tplVars);
-?> \ No newline at end of file
+?>