aboutsummaryrefslogtreecommitdiff
path: root/lib/lib_rss.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2018-05-01 17:02:11 +0200
committerGravatar GitHub <noreply@github.com> 2018-05-01 17:02:11 +0200
commitb552abb3327f09baa1c0f4e821dc9f6bd6ef738e (patch)
treedc5439bcf0e65d16fda118d45d2ded0c7ff7230c /lib/lib_rss.php
parent404ca869e9aafa40931914812b8552e4b9973694 (diff)
JSON column for feeds (#1838)
* Draft of JSON column for feeds https://github.com/FreshRSS/FreshRSS/issues/1654 * Add some per-feed options * Feed cURL timeout * Mark updated articles as read https://github.com/FreshRSS/FreshRSS/issues/891 * Mark as read upon reception https://github.com/FreshRSS/FreshRSS/issues/1702 * Ignore SSL (unsafe) https://github.com/FreshRSS/FreshRSS/issues/1811 * Try PHPCS workaround While waiting for a better syntax support
Diffstat (limited to 'lib/lib_rss.php')
-rw-r--r--lib/lib_rss.php15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/lib_rss.php b/lib/lib_rss.php
index 215c4c362..9dfca385d 100644
--- a/lib/lib_rss.php
+++ b/lib/lib_rss.php
@@ -175,7 +175,7 @@ function html_only_entity_decode($text) {
return strtr($text, $htmlEntitiesOnly);
}
-function customSimplePie() {
+function customSimplePie($attributes = array()) {
$system_conf = Minz_Configuration::get('system');
$limits = $system_conf->limits;
$simplePie = new SimplePie();
@@ -183,8 +183,17 @@ function customSimplePie() {
$simplePie->set_syslog($system_conf->simplepie_syslog_enabled);
$simplePie->set_cache_location(CACHE_PATH);
$simplePie->set_cache_duration($limits['cache_duration']);
- $simplePie->set_timeout($limits['timeout']);
- $simplePie->set_curl_options($system_conf->curl_options);
+
+ $feed_timeout = empty($attributes['timeout']) ? 0 : intval($attributes['timeout']);
+ $simplePie->set_timeout($feed_timeout > 0 ? $feed_timeout : $limits['timeout']);
+
+ $curl_options = $system_conf->curl_options;
+ if (isset($attributes['ssl_verify'])) {
+ $curl_options[CURLOPT_SSL_VERIFYHOST] = $attributes['ssl_verify'] ? 2 : 0;
+ $curl_options[CURLOPT_SSL_VERIFYPEER] = $attributes['ssl_verify'] ? true : false;
+ }
+ $simplePie->set_curl_options($curl_options);
+
$simplePie->strip_htmltags(array(
'base', 'blink', 'body', 'doctype', 'embed',
'font', 'form', 'frame', 'frameset', 'html',