From 800a42172db1775aaa76f50446ed914ee0b5a80b Mon Sep 17 00:00:00 2001 From: Jules-Bertholet Date: Tue, 9 Mar 2021 14:51:09 -0500 Subject: Add an option to set a custom user agent to retrieve individual feeds (#3494) * Add an option to set a custom user agent to retrieve individual feeds This allows retrieving the original RSS feed when websites use services like FeedBurner. * Use !== instead of != in subscriptionController.php * Add proxy and user-agent to subscription/add Co-authored-by: Georgelemental Co-authored-by: Alexandre Alapetite --- app/Controllers/subscriptionController.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'app/Controllers/subscriptionController.php') diff --git a/app/Controllers/subscriptionController.php b/app/Controllers/subscriptionController.php index 1cff6ff56..879c7f905 100644 --- a/app/Controllers/subscriptionController.php +++ b/app/Controllers/subscriptionController.php @@ -96,7 +96,7 @@ class FreshRSS_subscription_Controller extends Minz_ActionController { $pass = trim(Minz_Request::param('http_pass_feed' . $id, '')); $httpAuth = ''; - if ($user != '' && $pass != '') { //TODO: Sanitize + if ($user !== '' && $pass !== '') { //TODO: Sanitize $httpAuth = $user . ':' . $pass; } @@ -113,16 +113,20 @@ class FreshRSS_subscription_Controller extends Minz_ActionController { $feed->_attributes('clear_cache', Minz_Request::paramTernary('clear_cache')); $cookie = Minz_Request::param('curl_params_cookie', ''); + $useragent = Minz_Request::param('curl_params_useragent', ''); $proxy_address = Minz_Request::param('curl_params', ''); $proxy_type = Minz_Request::param('proxy_type', ''); $opts = []; - if ($proxy_address != '' && $proxy_type != '' && in_array($proxy_type, [0, 2, 4, 5, 6, 7])) { + if ($proxy_address !== '' && $proxy_type !== '' && in_array($proxy_type, [0, 2, 4, 5, 6, 7])) { $opts[CURLOPT_PROXY] = $proxy_address; $opts[CURLOPT_PROXYTYPE] = intval($proxy_type); } - if ($cookie != '') { + if ($cookie !== '') { $opts[CURLOPT_COOKIE] = $cookie; } + if ($useragent !== '') { + $opts[CURLOPT_USERAGENT] = $useragent; + } $feed->_attributes('curl_params', empty($opts) ? null : $opts); $feed->_attributes('content_action', Minz_Request::param('content_action', 'replace')); -- cgit v1.2.3