'fr_FR.utf8' => 'Français',
'it_IT.utf8' => 'Italiano',
'pl_PL.utf8' => 'Polski',
+ 'pt_BR.utf8' => 'Português (Brasil)',
'ru_RU.utf8' => 'Pусский',
'sl_SI.utf8' => 'Slovenščina',
'uk_UA.utf8' => 'Українська',
- 'pt_BR.utf8' => 'Brasileiro',
);
public function __construct()
{
}
//search for possible duplicate if not in import mode
+ $duplicate = NULL;
if (!$import) {
$duplicate = $this->store->retrieveOneByURL($url->getUrl(), $this->user->getId());
}
Tools::logm('error : article not found');
Tools::redirect();
}
+ //get all already set tags to preven duplicates
+ $already_set_tags = array();
+ $entry_tags = $this->store->retrieveTagsByEntry($entry_id);
+ foreach ($entry_tags as $tag) {
+ $already_set_tags[] = $tag['value'];
+ }
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'];
+ if ($value && !in_array($value, $already_set_tags)) {
+ $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);
}
-
- # we assign the tag to the article
- $this->store->setTagToEntry($tag_id, $entry_id);
}
if(!$import) {
Tools::redirect();
break;
case 'tags':
$token = $this->user->getConfigValue('token');
- $tags = $this->store->retrieveAllTags($this->user->getId());
+ //if term is set - search tags for this term
+ $term = Tools::checkVar('term');
+ $tags = $this->store->retrieveAllTags($this->user->getId(), $term);
+ if (Tools::isAjaxRequest()) {
+ $result = array();
+ foreach ($tags as $tag) {
+ $result[] = $tag['value'];
+ }
+ echo json_encode($result);
+ exit;
+ }
$tpl_vars = array(
'token' => $token,
'user_id' => $this->user->getId(),
# the second <ol> is for read links
$read = 1;
}
+
+ $unlink = unlink($targetFile);
$this->messages->add('s', _('import from instapaper completed. You have to execute the cron to fetch content.'));
Tools::logm('import from instapaper completed');
Tools::redirect();
# the second <ul> is for read links
$read = 1;
}
+
+ $unlink = unlink($targetFile);
$this->messages->add('s', _('import from pocket completed. You have to execute the cron to fetch content.'));
Tools::logm('import from pocket completed');
Tools::redirect();
}
}
}
+
+ unlink($targetFile);
$this->messages->add('s', _('import from Readability completed. You have to execute the cron to fetch content.'));
Tools::logm('import from Readability completed');
Tools::redirect();
}
}
+
+ unlink($targetFile);
$this->messages->add('s', _('import from Poche completed. You have to execute the cron to fetch content.'));
Tools::logm('import from Poche completed');
Tools::redirect();
foreach ($entries as $entry) {
$newItem = $feed->createNewItem();
$newItem->setTitle($entry['title']);
- $newItem->setLink(Tools::getPocheUrl() . '?view=view&id=' . $entry['id']);
+ $newItem->setLink($entry['url']);
$newItem->setDate(time());
$newItem->setDescription($entry['content']);
$feed->addItem($newItem);