diff options
Diffstat (limited to 'inc')
-rwxr-xr-x | inc/poche/Database.class.php | 17 | ||||
-rwxr-xr-x | inc/poche/Poche.class.php | 6 |
2 files changed, 13 insertions, 10 deletions
diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index 02e8be8b..9e901974 100755 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php | |||
@@ -512,22 +512,23 @@ class Database { | |||
512 | return $query; | 512 | return $query; |
513 | } | 513 | } |
514 | 514 | ||
515 | public function cleanUnusedTags() { | 515 | public function cleanUnusedTag($tag_id) { |
516 | $sql_action = "SELECT tags.* FROM tags JOIN tags_entries ON tags_entries.tag_id=tags.id"; | 516 | $sql_action = "SELECT tags.* FROM tags JOIN tags_entries ON tags_entries.tag_id=tags.id WHERE tags.id=?"; |
517 | $query = $this->executeQuery($sql_action,array()); | 517 | $query = $this->executeQuery($sql_action,array($tag_id)); |
518 | $tagstokeep = $query->fetchAll(); | 518 | $tagstokeep = $query->fetchAll(); |
519 | $sql_action = "SELECT tags.* FROM tags LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id"; | 519 | $sql_action = "SELECT tags.* FROM tags LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id WHERE tags.id=?"; |
520 | $query = $this->executeQuery($sql_action,array()); | 520 | $query = $this->executeQuery($sql_action,array($tag_id)); |
521 | $alltags = $query->fetchAll(); | 521 | $alltags = $query->fetchAll(); |
522 | |||
522 | foreach ($alltags as $tag) { | 523 | foreach ($alltags as $tag) { |
523 | if ($tag && !in_array($tag,$tagstokeep)) { | 524 | if ($tag && !in_array($tag,$tagstokeep)) { |
524 | //delete tag | ||
525 | $sql_action = "DELETE FROM tags WHERE id=?"; | 525 | $sql_action = "DELETE FROM tags WHERE id=?"; |
526 | $params_action = array($tag[0]); | 526 | $params_action = array($tag[0]); |
527 | $query = $this->executeQuery($sql_action, $params_action); | 527 | $this->executeQuery($sql_action, $params_action); |
528 | return $query; | 528 | return true; |
529 | } | 529 | } |
530 | } | 530 | } |
531 | |||
531 | } | 532 | } |
532 | 533 | ||
533 | public function retrieveTagByValue($value) { | 534 | public function retrieveTagByValue($value) { |
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 8ea5e7a2..515d4cac 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php | |||
@@ -559,6 +559,7 @@ class Poche | |||
559 | } | 559 | } |
560 | } | 560 | } |
561 | $this->messages->add('s', _('The tag has been applied successfully')); | 561 | $this->messages->add('s', _('The tag has been applied successfully')); |
562 | Tools::logm('The tag has been applied successfully'); | ||
562 | Tools::redirect(); | 563 | Tools::redirect(); |
563 | break; | 564 | break; |
564 | case 'remove_tag' : | 565 | case 'remove_tag' : |
@@ -571,8 +572,9 @@ class Poche | |||
571 | } | 572 | } |
572 | $this->store->removeTagForEntry($id, $tag_id); | 573 | $this->store->removeTagForEntry($id, $tag_id); |
573 | Tools::logm('tag entry deleted'); | 574 | Tools::logm('tag entry deleted'); |
574 | $this->store->cleanUnusedTags(); | 575 | if ($this->store->cleanUnusedTag($tag_id)) { |
575 | Tools::logm('old tags cleaned'); | 576 | Tools::logm('tag deleted'); |
577 | } | ||
576 | $this->messages->add('s', _('The tag has been successfully deleted')); | 578 | $this->messages->add('s', _('The tag has been successfully deleted')); |
577 | Tools::redirect(); | 579 | Tools::redirect(); |
578 | break; | 580 | break; |