only stop inline feed updates with open_basedir enabled if there are any plugins that require CURL enabled
add plugin->flags() returning array with additional plugin information, currently only CURL requirement (optional)
This commit is contained in:
parent
29c92d7b08
commit
41245888f1
|
@ -166,12 +166,30 @@ class Feeds extends Handler_Protected {
|
||||||
|
|
||||||
$method_split = explode(":", $method);
|
$method_split = explode(":", $method);
|
||||||
|
|
||||||
if ($method == "ForceUpdate" && $feed > 0 && is_numeric($feed) && !ini_get("open_basedir")) {
|
if ($method == "ForceUpdate" && $feed > 0 && is_numeric($feed)) {
|
||||||
// Update the feed if required with some basic flood control
|
// Update the feed if required with some basic flood control
|
||||||
|
|
||||||
$result = $this->dbh->query(
|
$any_needs_curl = false;
|
||||||
"SELECT cache_images,".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
|
|
||||||
FROM ttrss_feeds WHERE id = '$feed'");
|
if (ini_get("open_basedir")) {
|
||||||
|
$pluginhost = PluginHost::getInstance();
|
||||||
|
foreach ($pluginhost->get_plugins() as $plugin) {
|
||||||
|
$flags = $plugin->flags();
|
||||||
|
|
||||||
|
if (isset($flags["needs_curl"]) && $flags["needs_curl"]) {
|
||||||
|
$any_needs_curl = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//if ($_REQUEST["debug"]) print "<!-- any_needs_curl: $any_needs_curl -->";
|
||||||
|
|
||||||
|
if (!$any_needs_curl) {
|
||||||
|
|
||||||
|
$result = $this->dbh->query(
|
||||||
|
"SELECT cache_images," . SUBSTRING_FOR_DATE . "(last_updated,1,19) AS last_updated
|
||||||
|
FROM ttrss_feeds WHERE id = '$feed'");
|
||||||
|
|
||||||
if ($this->dbh->num_rows($result) != 0) {
|
if ($this->dbh->num_rows($result) != 0) {
|
||||||
$last_updated = strtotime($this->dbh->fetch_result($result, 0, "last_updated"));
|
$last_updated = strtotime($this->dbh->fetch_result($result, 0, "last_updated"));
|
||||||
|
@ -182,9 +200,10 @@ class Feeds extends Handler_Protected {
|
||||||
update_rss_feed($feed, true, true);
|
update_rss_feed($feed, true, true);
|
||||||
} else {
|
} else {
|
||||||
$this->dbh->query("UPDATE ttrss_feeds SET last_updated = '1970-01-01', last_update_started = '1970-01-01'
|
$this->dbh->query("UPDATE ttrss_feeds SET last_updated = '1970-01-01', last_update_started = '1970-01-01'
|
||||||
WHERE id = '$feed'");
|
WHERE id = '$feed'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($method_split[0] == "MarkAllReadGR") {
|
if ($method_split[0] == "MarkAllReadGR") {
|
||||||
|
|
|
@ -15,6 +15,13 @@ class Plugin {
|
||||||
return array(1.0, "plugin", "No description", "No author", false);
|
return array(1.0, "plugin", "No description", "No author", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function flags() {
|
||||||
|
/* associative array, possible keys:
|
||||||
|
needs_curl = boolean
|
||||||
|
*/
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
|
||||||
function get_js() {
|
function get_js() {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,10 @@ class Af_Readability extends Plugin {
|
||||||
"fox");
|
"fox");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function flags() {
|
||||||
|
return array("needs_curl" => true);
|
||||||
|
}
|
||||||
|
|
||||||
function save() {
|
function save() {
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,10 @@ class Af_RedditImgur extends Plugin {
|
||||||
"fox");
|
"fox");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function flags() {
|
||||||
|
return array("needs_curl" => true);
|
||||||
|
}
|
||||||
|
|
||||||
function init($host) {
|
function init($host) {
|
||||||
$this->host = $host;
|
$this->host = $host;
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,10 @@ class Af_Tumblr_1280 extends Plugin {
|
||||||
"fox");
|
"fox");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function flags() {
|
||||||
|
return array("needs_curl" => true);
|
||||||
|
}
|
||||||
|
|
||||||
function init($host) {
|
function init($host) {
|
||||||
$this->host = $host;
|
$this->host = $host;
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,10 @@ class Af_Unburn extends Plugin {
|
||||||
"fox");
|
"fox");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function flags() {
|
||||||
|
return array("needs_curl" => true);
|
||||||
|
}
|
||||||
|
|
||||||
function init($host) {
|
function init($host) {
|
||||||
$this->host = $host;
|
$this->host = $host;
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,10 @@ class Af_Zz_ImgSetSizes extends Plugin {
|
||||||
"fox");
|
"fox");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function flags() {
|
||||||
|
return array("needs_curl" => true);
|
||||||
|
}
|
||||||
|
|
||||||
function init($host) {
|
function init($host) {
|
||||||
$this->host = $host;
|
$this->host = $host;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue