From 6d7defc87cd6ce40910b66472168e3d86c362164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 23 Aug 2013 22:24:41 +0200 Subject: new messages when update / install --- inc/poche/Poche.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'inc/poche/Poche.class.php') diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index e0dc0d20..4832f816 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -47,16 +47,16 @@ class Poche die('You don\'t have write access on cache directory.'); } else if (file_exists('./install/update.php') && !DEBUG_POCHE) { - $msg = 'A poche update is needed. Please execute this update by clicking here. If you have already do the update, please delete /install folder.'; + $msg = '

setup

It\'s your first time here? Please copy /install/poche.sqlite in db folder. Then, delete install folder.
If you have already installed poche, an update is needed by clicking here.

'; $allIsGood = FALSE; } else if (file_exists('./install') && !DEBUG_POCHE) { - $msg = 'If you want to update your poche, you just have to delete /install folder.
To install your poche with sqlite, copy /install/poche.sqlite in /db and delete the folder /install. you have to delete the /install folder before using poche.'; + $msg = '

setup

If you want to update your poche, you just have to delete /install folder.
To install your poche with sqlite, copy /install/poche.sqlite in /db and delete the folder /install. you have to delete the /install folder before using poche.

'; $allIsGood = FALSE; } else if (STORAGE == 'sqlite' && !is_writable(STORAGE_SQLITE)) { Tools::logm('you don\'t have write access on sqlite file'); - $msg = 'You don\'t have write access on sqlite file.'; + $msg = '

error

You don\'t have write access on sqlite file.

'; $allIsGood = FALSE; } -- cgit v1.2.3 From 66b6a3b5e2410827ac23bea0439f2fad03240018 Mon Sep 17 00:00:00 2001 From: EliasZ Date: Sat, 24 Aug 2013 15:59:51 +0200 Subject: graceful error-handling with imports, define where import files are stored --- inc/poche/Poche.class.php | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) (limited to 'inc/poche/Poche.class.php') diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 4832f816..cb338766 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -364,13 +364,14 @@ class Poche /** * import from Instapaper. poche needs a ./instapaper-export.html file * @todo add the return value + * @param string $targetFile the file used for importing * @return boolean */ - private function importFromInstapaper() + private function importFromInstapaper($targetFile) { # TODO gestion des articles favs $html = new simple_html_dom(); - $html->load_file('./instapaper-export.html'); + $html->load_file($targetFile); Tools::logm('starting import from instapaper'); $read = 0; @@ -403,13 +404,14 @@ class Poche /** * import from Pocket. poche needs a ./ril_export.html file * @todo add the return value + * @param string $targetFile the file used for importing * @return boolean */ - private function importFromPocket() + private function importFromPocket($targetFile) { # TODO gestion des articles favs $html = new simple_html_dom(); - $html->load_file('./ril_export.html'); + $html->load_file($targetFile); Tools::logm('starting import from pocket'); $read = 0; @@ -442,12 +444,13 @@ class Poche /** * import from Readability. poche needs a ./readability file * @todo add the return value + * @param string $targetFile the file used for importing * @return boolean */ - private function importFromReadability() + private function importFromReadability($targetFile) { # TODO gestion des articles lus / favs - $str_data = file_get_contents("./readability"); + $str_data = file_get_contents($targetFile); $data = json_decode($str_data,true); Tools::logm('starting import from Readability'); $count = 0; @@ -499,15 +502,31 @@ class Poche */ public function import($from) { - if ($from == 'pocket') { - return $this->importFromPocket(); + $providers = array( + 'pocket' => 'importFromPocket', + 'readability' => 'importFromReadability', + 'instapaper' => 'importFromInstapaper' + ); + + if (! isset($providers[$from])) { + $this->messages->add('e', _('Unknown import provider.')); + Tools::redirect(); } - else if ($from == 'readability') { - return $this->importFromReadability(); + + $targetDefinition = 'IMPORT_' . strtoupper($from) . '_FILE'; + $targetFile = constant($targetDefinition); + + if (! defined($targetDefinition)) { + $this->messages->add('e', _('Incomplete inc/poche/define.inc.php file, please define "' . $targetDefinition . '".')); + Tools::redirect(); } - else if ($from == 'instapaper') { - return $this->importFromInstapaper(); + + if (! file_exists($targetFile)) { + $this->messages->add('e', _('Could not find required "' . $targetFile . '" import file.')); + Tools::redirect(); } + + $this->$providers[$from]($targetFile); } /** -- cgit v1.2.3 From ec3972361d95f6f5956df77f7a76105b5ae6af72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Sun, 25 Aug 2013 20:10:23 +0200 Subject: poche now uses Full Text RSS to fetch content --- inc/poche/Poche.class.php | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) (limited to 'inc/poche/Poche.class.php') diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index cb338766..646193f7 100644 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -156,36 +156,31 @@ class Poche switch ($action) { case 'add': - if($parametres_url = $url->fetchContent()) { - if ($this->store->add($url->getUrl(), $parametres_url['title'], $parametres_url['content'], $this->user->getId())) { - Tools::logm('add link ' . $url->getUrl()); - $sequence = ''; - if (STORAGE == 'postgres') { - $sequence = 'entries_id_seq'; - } - $last_id = $this->store->getLastId($sequence); - if (DOWNLOAD_PICTURES) { - $content = filtre_picture($parametres_url['content'], $url->getUrl(), $last_id); - Tools::logm('updating content article'); - $this->store->updateContent($last_id, $content, $this->user->getId()); - } - if (!$import) { - $this->messages->add('s', _('the link has been added successfully')); - } + $content = $url->extract(); + + if ($this->store->add($url->getUrl(), $content['title'], $content['body'], $this->user->getId())) { + Tools::logm('add link ' . $url->getUrl()); + $sequence = ''; + if (STORAGE == 'postgres') { + $sequence = 'entries_id_seq'; } - else { - if (!$import) { - $this->messages->add('e', _('error during insertion : the link wasn\'t added')); - Tools::logm('error during insertion : the link wasn\'t added ' . $url->getUrl()); - } + $last_id = $this->store->getLastId($sequence); + if (DOWNLOAD_PICTURES) { + $content = filtre_picture($parametres_url['body'], $url->getUrl(), $last_id); + Tools::logm('updating content article'); + $this->store->updateContent($last_id, $content, $this->user->getId()); + } + if (!$import) { + $this->messages->add('s', _('the link has been added successfully')); } } else { if (!$import) { - $this->messages->add('e', _('error during fetching content : the link wasn\'t added')); - Tools::logm('error during content fetch ' . $url->getUrl()); + $this->messages->add('e', _('error during insertion : the link wasn\'t added')); + Tools::logm('error during insertion : the link wasn\'t added ' . $url->getUrl()); } } + if (!$import) { Tools::redirect(); } @@ -220,7 +215,6 @@ class Poche } break; default: - Tools::logm('action ' . $action . 'doesn\'t exist'); break; } } -- cgit v1.2.3