From: Andrew Dolgov Date: Fri, 20 Nov 2015 10:34:52 +0000 (+0300) Subject: allow NO_CURL to disable several CURL-related checks in plugins X-Git-Tag: 16.3~95 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=aa03bac42490673b4cd027c779655a027b1dd0fc;p=tt-rss.git allow NO_CURL to disable several CURL-related checks in plugins af_readability: skip http content-type checking when open_basedir is enabled --- diff --git a/install/index.php b/install/index.php index 959dc6c0..74ea6565 100755 --- a/install/index.php +++ b/install/index.php @@ -325,6 +325,10 @@ array_push($notices, "It is highly recommended to enable support for CURL in PHP."); } + if (function_exists("curl_init") && ini_get("open_basedir")) { + array_push($notices, "CURL and open_basedir combination breaks support for HTTP redirects. See the FAQ for more information."); + } + if (count($notices) > 0) { print_notice("Configuration check succeeded with minor problems:"); diff --git a/plugins/af_readability/init.php b/plugins/af_readability/init.php index 6216d510..675e5c5d 100755 --- a/plugins/af_readability/init.php +++ b/plugins/af_readability/init.php @@ -100,13 +100,15 @@ class Af_Readability extends Plugin { if (!class_exists("Readability")) require_once(dirname(dirname(__DIR__)). "/lib/readability/Readability.php"); - if (function_exists("curl_init")) { + if (!defined('NO_CURL') && function_exists('curl_init') && !ini_get("open_basedir")) { + $ch = curl_init($article["link"]); + curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, !ini_get("open_basedir")); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_USERAGENT, SELF_USER_AGENT); @$result = curl_exec($ch); diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index f9994147..3ff96072 100755 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -244,7 +244,7 @@ class Af_RedditImgur extends Plugin { $found = $this->inline_stuff($article, $doc, $xpath); - if (function_exists("curl_init") && !$found && $this->host->get($this, "enable_readability") && + if (!defined('NO_CURL') && function_exists("curl_init") && !$found && $this->host->get($this, "enable_readability") && mb_strlen(strip_tags($article["content"])) <= 150) { if (!class_exists("Readability")) require_once(dirname(dirname(__DIR__)). "/lib/readability/Readability.php"); diff --git a/plugins/af_unburn/init.php b/plugins/af_unburn/init.php index 59303887..263997db 100755 --- a/plugins/af_unburn/init.php +++ b/plugins/af_unburn/init.php @@ -17,7 +17,7 @@ class Af_Unburn extends Plugin { function hook_article_filter($article) { $owner_uid = $article["owner_uid"]; - if (!function_exists("curl_init") || ini_get("open_basedir")) + if (defined('NO_CURL') || !function_exists("curl_init") || ini_get("open_basedir")) return $article; if ((strpos($article["link"], "feedproxy.google.com") !== FALSE || diff --git a/plugins/af_zz_imgsetsizes/init.php b/plugins/af_zz_imgsetsizes/init.php index d71ec096..96afbbfe 100644 --- a/plugins/af_zz_imgsetsizes/init.php +++ b/plugins/af_zz_imgsetsizes/init.php @@ -18,7 +18,8 @@ class Af_Zz_ImgSetSizes extends Plugin { function hook_article_filter($article) { - $owner_uid = $article["owner_uid"]; + if (defined('NO_CURL') || !function_exists("curl_init")) + return $article; $charset_hack = '