$query = $this->executeQuery($sql_action, $params_action);
return $query;
}
+
+ public function cleanUnusedTags() {
+ $sql_action = "SELECT tags.* FROM tags JOIN tags_entries ON tags_entries.tag_id=tags.id";
+ $query = $this->executeQuery($sql_action,array());
+ $tagstokeep = $query->fetchAll();
+ $sql_action = "SELECT tags.* FROM tags LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id";
+ $query = $this->executeQuery($sql_action,array());
+ $alltags = $query->fetchAll();
+ foreach ($alltags as $tag) {
+ if ($tag && !in_array($tag,$tagstokeep)) {
+ //delete tag
+ $sql_action = "DELETE FROM tags WHERE id=?";
+ $params_action = array($tag[0]);
+ $query = $this->executeQuery($sql_action, $params_action);
+ return $query;
+ }
+ }
+ }
public function retrieveTagByValue($value) {
$tag = NULL;
}
}
}
- $this->messages->add('s', _('the tag has been applied successfully'));
+ $this->messages->add('s', _('The tag has been applied successfully'));
Tools::redirect();
break;
case 'remove_tag' :
Tools::redirect();
}
$this->store->removeTagForEntry($id, $tag_id);
+ Tools::logm('tag entry deleted');
+ $this->store->cleanUnusedTags();
+ Tools::logm('old tags cleaned');
+ $this->messages->add('s', _('The tag has been successfully deleted'));
Tools::redirect();
break;
default:
$this->messages->add('s', _('Cache deleted.'));
Tools::redirect();
}
+
+ public function cleanTags() {
+ $this->store->cleanUnusedTags();
+ $this->messages->add('s', _('The unused tags have been cleaned.'));
+ Tools::logm('clean tags');
+ Tools::redirect();
+ }
/**
* return new purifier object with actual config