<?php
/**
- * poche, a read it later open source system
+ * wallabag, self hostable application allowing you to not miss any content anymore
*
- * @category poche
- * @author Nicolas LÅ“uillet <support@inthepoche.com>
+ * @category wallabag
+ * @author Nicolas LÅ“uillet <nicolas@loeuillet.org>
* @copyright 2013
* @license http://www.wtfpl.net/ see COPYING file
*/
'dark' => array('requires' => array('default')),
'dmagenta' => array('requires' => array('default')),
'solarized' => array('requires' => array('default')),
- 'solarized-dark' => array('requires' => array('default'))
+ 'solarized-dark' => array('requires' => array('default')),
+ 'courgette' => array('requires' => array())
);
public function __construct()
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
$providers = array(
'pocket' => 'importFromPocket',
'readability' => 'importFromReadability',
- 'instapaper' => 'importFromInstapaper'
+ 'instapaper' => 'importFromInstapaper',
+ 'poche' => 'importFromPoche',
);
if (! isset($providers[$from])) {