mirror of
https://github.com/moparisthebest/wallabag
synced 2024-11-27 11:22:17 -05:00
[add] import from poche, thank you @tsadiq #388
This commit is contained in:
parent
e1cf0fda27
commit
8905191413
@ -847,6 +847,52 @@ class Poche
|
||||
Tools::redirect();
|
||||
}
|
||||
|
||||
/**
|
||||
* import from Poche exported file
|
||||
* @param string $targetFile the file used for importing
|
||||
* @return boolean
|
||||
*/
|
||||
private function importFromPoche($targetFile)
|
||||
{
|
||||
$str_data = file_get_contents($targetFile);
|
||||
$data = json_decode($str_data,true);
|
||||
Tools::logm('starting import from Poche');
|
||||
|
||||
|
||||
$sequence = '';
|
||||
if (STORAGE == 'postgres') {
|
||||
$sequence = 'entries_id_seq';
|
||||
}
|
||||
|
||||
$count = 0;
|
||||
foreach ($data as $value) {
|
||||
|
||||
$url = new Url(base64_encode($value['url']));
|
||||
$favorite = ($value['is_fav'] == -1);
|
||||
$archive = ($value['is_read'] == -1);
|
||||
|
||||
# we can add the url
|
||||
if (!is_null($url) && $url->isCorrect()) {
|
||||
|
||||
$this->action('add', $url, 0, TRUE);
|
||||
|
||||
$count++;
|
||||
if ($favorite) {
|
||||
$last_id = $this->store->getLastId($sequence);
|
||||
$this->action('toggle_fav', $url, $last_id, TRUE);
|
||||
}
|
||||
if ($archive) {
|
||||
$last_id = $this->store->getLastId($sequence);
|
||||
$this->action('toggle_archive', $url, $last_id, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
$this->messages->add('s', _('import from Poche completed. ' . $count . ' new links.'));
|
||||
Tools::logm('import from Poche completed');
|
||||
Tools::redirect();
|
||||
}
|
||||
|
||||
/**
|
||||
* import datas into your poche
|
||||
* @param string $from name of the service to import : pocket, instapaper or readability
|
||||
@ -858,7 +904,8 @@ class Poche
|
||||
$providers = array(
|
||||
'pocket' => 'importFromPocket',
|
||||
'readability' => 'importFromReadability',
|
||||
'instapaper' => 'importFromInstapaper'
|
||||
'instapaper' => 'importFromInstapaper',
|
||||
'poche' => 'importFromPoche',
|
||||
);
|
||||
|
||||
if (! isset($providers[$from])) {
|
||||
|
@ -55,7 +55,9 @@ define ('PAGINATION', '10');
|
||||
define ('POCKET_FILE', '/ril_export.html');
|
||||
define ('READABILITY_FILE', '/readability');
|
||||
define ('INSTAPAPER_FILE', '/instapaper-export.html');
|
||||
define ('POCHE_FILE', '/poche-export');
|
||||
|
||||
define ('IMPORT_POCKET_FILE', ROOT . POCKET_FILE);
|
||||
define ('IMPORT_READABILITY_FILE', ROOT . READABILITY_FILE);
|
||||
define ('IMPORT_INSTAPAPER_FILE', ROOT . INSTAPAPER_FILE);
|
||||
define ('IMPORT_POCHE_FILE', ROOT . POCHE_FILE);
|
@ -107,6 +107,7 @@
|
||||
<li><a href="./?import&from=pocket">{% trans "Import from Pocket" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('POCKET_FILE')) }}</li>
|
||||
<li><a href="./?import&from=readability">{% trans "Import from Readability" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('READABILITY_FILE')) }}</li>
|
||||
<li><a href="./?import&from=instapaper">{% trans "Import from Instapaper" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('INSTAPAPER_FILE')) }}</li>
|
||||
<li><a href="./?import&from=poche">{% trans "Import from poche" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('POCHE_FILE')) }}</li>
|
||||
</ul>
|
||||
|
||||
<h2>{% trans "Export your poche data" %}</h2>
|
||||
|
Loading…
Reference in New Issue
Block a user