From fde4cf0616e68d7b94f0991c1fcb434de4567c17 Mon Sep 17 00:00:00 2001 From: Eric Priou aka erixtekila Date: Thu, 5 Feb 2015 14:19:03 +0100 Subject: Fix fetched entries when localized --- inc/poche/Database.class.php | 4 ++-- inc/poche/Poche.class.php | 28 +++++++++++++++++----------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index f6ba4708..6bac0f5d 100755 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php @@ -293,7 +293,7 @@ class Database { $sql_limit = "LIMIT ".$limit." OFFSET 0"; } - $sql = "SELECT * FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=? ORDER BY id " . $sql_limit; + $sql = "SELECT * FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE '%Import%' AND user_id=? ORDER BY id " . $sql_limit; $query = $this->executeQuery($sql, array($user_id)); $entries = $query->fetchAll(); @@ -302,7 +302,7 @@ class Database { public function retrieveUnfetchedEntriesCount($user_id) { - $sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=?"; + $sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE '%Import%' AND user_id=?"; $query = $this->executeQuery($sql, array($user_id)); list($count) = $query->fetch(); diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index a601f0a8..d096de91 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -740,17 +740,23 @@ class Poche $purifier = $this->_getPurifier(); foreach($items as $item) { $url = new Url(base64_encode($item['url'])); - Tools::logm('Fetching article ' . $item['id']); - $content = Tools::getPageContent($url); - $title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled')); - $body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined')); - - // clean content to prevent xss attack - - $title = $purifier->purify($title); - $body = $purifier->purify($body); - $this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId()); - Tools::logm('Article ' . $item['id'] . ' updated.'); + if( $url->isCorrect() ) + { + Tools::logm('Fetching article ' . $item['id']); + $content = Tools::getPageContent($url); + $title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled')); + $body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined')); + + // clean content to prevent xss attack + + $title = $purifier->purify($title); + $body = $purifier->purify($body); + $this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId()); + Tools::logm('Article ' . $item['id'] . ' updated.'); + } else + { + Tools::logm('Unvalid URL (' . $item['url'] .') to fetch for article ' . $item['id']); + } } } } -- cgit v1.2.3