+ case 'archive_all' :
+ $this->store->archiveAll($this->user->getId());
+ Tools::logm('archive all links');
+ if (!$import) {
+ Tools::redirect();
+ }
+ break;
+ case 'add_tag' :
+ if($import){
+ $entry_id = $id;
+ $tags = explode(',', $tags);
+ }
+ else{
+ $tags = explode(',', $_POST['value']);
+ $entry_id = $_POST['entry_id'];
+ }
+ $entry = $this->store->retrieveOneById($entry_id, $this->user->getId());
+ if (!$entry) {
+ $this->messages->add('e', _('Article not found!'));
+ Tools::logm('error : article not found');
+ Tools::redirect();
+ }
+ foreach($tags as $key => $tag_value) {
+ $value = trim($tag_value);
+ $tag = $this->store->retrieveTagByValue($value);
+
+ if (is_null($tag)) {
+ # we create the tag
+ $tag = $this->store->createTag($value);
+ $sequence = '';
+ if (STORAGE == 'postgres') {
+ $sequence = 'tags_id_seq';
+ }
+ $tag_id = $this->store->getLastId($sequence);
+ }
+ else {
+ $tag_id = $tag['id'];
+ }
+
+ # we assign the tag to the article
+ $this->store->setTagToEntry($tag_id, $entry_id);
+ }
+ if(!$import) {
+ Tools::redirect();
+ }
+ break;
+ case 'remove_tag' :
+ $tag_id = $_GET['tag_id'];
+ $entry = $this->store->retrieveOneById($id, $this->user->getId());
+ if (!$entry) {
+ $this->messages->add('e', _('Article not found!'));
+ Tools::logm('error : article not found');
+ Tools::redirect();
+ }
+ $this->store->removeTagForEntry($id, $tag_id);
+ Tools::redirect();
+ break;