1
0
mirror of https://github.com/moparisthebest/wallabag synced 2024-11-23 17:42:15 -05:00

error with empty content by import fixed. Also youtube and vimeo videos are allowd in content now.

This commit is contained in:
Maryana Rozhankivska 2014-04-11 17:21:54 +03:00
parent 5ce3978472
commit 0f859c6f32
2 changed files with 16 additions and 8 deletions

View File

@ -245,7 +245,7 @@ class Database {
$sql_limit = "LIMIT ".$limit." OFFSET 0"; $sql_limit = "LIMIT ".$limit." OFFSET 0";
} }
$sql = "SELECT * FROM entries WHERE (content = '' OR content IS NULL) AND user_id=? ORDER BY id " . $sql_limit; $sql = "SELECT * FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=? ORDER BY id " . $sql_limit;
$query = $this->executeQuery($sql, array($user_id)); $query = $this->executeQuery($sql, array($user_id));
$entries = $query->fetchAll(); $entries = $query->fetchAll();
@ -253,7 +253,7 @@ class Database {
} }
public function retrieveUnfetchedEntriesCount($user_id) { public function retrieveUnfetchedEntriesCount($user_id) {
$sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND user_id=?"; $sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=?";
$query = $this->executeQuery($sql, array($user_id)); $query = $this->executeQuery($sql, array($user_id));
list($count) = $query->fetch(); list($count) = $query->fetch();

View File

@ -373,9 +373,7 @@ class Poche
$body = $content['rss']['channel']['item']['description']; $body = $content['rss']['channel']['item']['description'];
// clean content from prevent xss attack // clean content from prevent xss attack
$config = HTMLPurifier_Config::createDefault(); $purifier = $this->getPurifier();
$config->set('Cache.SerializerPath', CACHE);
$purifier = new HTMLPurifier($config);
$title = $purifier->purify($title); $title = $purifier->purify($title);
$body = $purifier->purify($body); $body = $purifier->purify($body);
@ -920,9 +918,7 @@ class Poche
Tools::logm('Fetching next batch of articles...'); Tools::logm('Fetching next batch of articles...');
$items = $this->store->retrieveUnfetchedEntries($this->user->getId(), IMPORT_LIMIT); $items = $this->store->retrieveUnfetchedEntries($this->user->getId(), IMPORT_LIMIT);
$config = HTMLPurifier_Config::createDefault(); $purifier = $this->getPurifier();
$config->set('Cache.SerializerPath', CACHE);
$purifier = new HTMLPurifier($config);
foreach ($items as $item) { foreach ($items as $item) {
$url = new Url(base64_encode($item['url'])); $url = new Url(base64_encode($item['url']));
@ -1064,4 +1060,16 @@ class Poche
$this->messages->add('s', _('Cache deleted.')); $this->messages->add('s', _('Cache deleted.'));
Tools::redirect(); Tools::redirect();
} }
/**
* return new purifier object with actual config
*/
protected function getPurifier() {
$config = HTMLPurifier_Config::createDefault();
$config->set('Cache.SerializerPath', CACHE);
$config->set('HTML.SafeIframe', true);
$config->set('URI.SafeIframeRegexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/)%'); //allow YouTube and Vimeo$purifier = new HTMLPurifier($config);
return new HTMLPurifier($config);
}
} }