aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers/subscriptionController.php
diff options
context:
space:
mode:
authorGravatar Eris <36680203+printfuck@users.noreply.github.com> 2021-01-16 16:32:18 -0500
committerGravatar GitHub <noreply@github.com> 2021-01-16 22:32:18 +0100
commitee175dd6169a016fc898fac62d046e22c205dec0 (patch)
treec9b1f31f47dac1ec2d12f186e9df8831d5504eca /app/Controllers/subscriptionController.php
parent5c18c64afbdc8b888fdedf2d7cc45e1930225f02 (diff)
CURLOPT parameters per feed (#3367)
* Working curlopt_params * Examples * curl_params for fetching the article * cleanup * clarification * Remove debugging * Options corrected * Removed Debugging * i18n not needed (right now) * Translations and UI rework * Checks in update.phtml * Unset Proxy&Cookies * remove clutter * minor fuckup * i18n added properly * resolve Errors * linting errors * linting errors, again * Review * Minor revert * Minor i18n: de Co-authored-by: maru <maru@nyx.im> Co-authored-by: Aeris <a3x@eris.cc> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Diffstat (limited to 'app/Controllers/subscriptionController.php')
-rw-r--r--app/Controllers/subscriptionController.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/Controllers/subscriptionController.php b/app/Controllers/subscriptionController.php
index 6c03084c3..7435f70b2 100644
--- a/app/Controllers/subscriptionController.php
+++ b/app/Controllers/subscriptionController.php
@@ -112,6 +112,19 @@ class FreshRSS_subscription_Controller extends Minz_ActionController {
$feed->_attributes('read_upon_reception', Minz_Request::paramTernary('read_upon_reception'));
$feed->_attributes('clear_cache', Minz_Request::paramTernary('clear_cache'));
+ $cookie = Minz_Request::param('curl_params_cookie', '');
+ $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])) {
+ $opts[CURLOPT_PROXY] = $proxy_address;
+ $opts[CURLOPT_PROXYTYPE] = intval($proxy_type);
+ }
+ if ($cookie != '') {
+ $opts[CURLOPT_COOKIE] = $cookie;
+ }
+ $feed->_attributes('curl_params', empty($opts) ? null : $opts);
+
if (FreshRSS_Auth::hasAccess('admin')) {
$feed->_attributes('ssl_verify', Minz_Request::paramTernary('ssl_verify'));
$timeout = intval(Minz_Request::param('timeout', 0));