command globalUpdateFeeds to update feeds of all users at once
This commit is contained in:
parent
4585ff0eab
commit
a277007718
34
backend.php
34
backend.php
|
@ -3,20 +3,23 @@
|
||||||
|
|
||||||
$op = $_REQUEST["op"];
|
$op = $_REQUEST["op"];
|
||||||
|
|
||||||
if (($op == "rpc" || $op == "updateAllFeeds" ||
|
if ((!$op || $op == "rpc" || $op == "globalUpdateFeeds") && !$_REQUEST["noxml"]) {
|
||||||
$op == "forceUpdateAllFeeds") && !$_REQUEST["noxml"]) {
|
|
||||||
header("Content-Type: application/xml");
|
header("Content-Type: application/xml");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$_SESSION["uid"]) {
|
if (!$_SESSION["uid"] && $op != "globalUpdateFeeds") {
|
||||||
|
|
||||||
if (($op == "rpc" || $op == "updateAllFeeds" ||
|
if ($op == "rpc") {
|
||||||
$op == "forceUpdateAllFeeds")) {
|
|
||||||
print "<error error-code=\"6\"/>";
|
print "<error error-code=\"6\"/>";
|
||||||
}
|
}
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$op) {
|
||||||
|
print "<error error-code=\"7\"/>";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
define(SCHEMA_VERSION, 2);
|
define(SCHEMA_VERSION, 2);
|
||||||
|
|
||||||
require_once "config.php";
|
require_once "config.php";
|
||||||
|
@ -1594,15 +1597,20 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($op == "updateAllFeeds") {
|
// update feeds of all users, may be used anonymously
|
||||||
update_all_feeds($link, true);
|
if ($op == "globalUpdateFeeds") {
|
||||||
|
|
||||||
print "<rpc-reply>";
|
$result = db_query($link, "SELECT id FROM ttrss_users");
|
||||||
getLabelCounters($link);
|
|
||||||
getFeedCounters($link);
|
while ($line = db_fetch_assoc($result)) {
|
||||||
getTagCounters($link);
|
$user_id = $line["id"];
|
||||||
getGlobalCounters($link);
|
// print "<!-- updating feeds of uid $user_id -->";
|
||||||
print "</rpc-reply>";
|
update_all_feeds($link, false, $user_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
print "<rpc-reply>
|
||||||
|
<message msg=\"All feeds updated\"/>
|
||||||
|
</rpc-reply>";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
10
db-prefs.php
10
db-prefs.php
|
@ -4,10 +4,16 @@
|
||||||
require_once "config.php";
|
require_once "config.php";
|
||||||
require_once "db.php";
|
require_once "db.php";
|
||||||
|
|
||||||
function get_pref($link, $pref_name) {
|
function get_pref($link, $pref_name, $user_id = false) {
|
||||||
|
|
||||||
$pref_name = db_escape_string($pref_name);
|
$pref_name = db_escape_string($pref_name);
|
||||||
|
|
||||||
|
if (!$user_id) {
|
||||||
|
$user_id = $_SESSION["uid"];
|
||||||
|
} else {
|
||||||
|
$user_id = sprintf("%d", $user_id);
|
||||||
|
}
|
||||||
|
|
||||||
$result = db_query($link, "SELECT
|
$result = db_query($link, "SELECT
|
||||||
value,ttrss_prefs_types.type_name as type_name
|
value,ttrss_prefs_types.type_name as type_name
|
||||||
FROM
|
FROM
|
||||||
|
@ -15,7 +21,7 @@
|
||||||
WHERE
|
WHERE
|
||||||
ttrss_user_prefs.pref_name = '$pref_name' AND
|
ttrss_user_prefs.pref_name = '$pref_name' AND
|
||||||
ttrss_prefs_types.id = type_id AND
|
ttrss_prefs_types.id = type_id AND
|
||||||
owner_uid = ".$_SESSION["uid"]." AND
|
owner_uid = '$user_id' AND
|
||||||
ttrss_user_prefs.pref_name = ttrss_prefs.pref_name");
|
ttrss_user_prefs.pref_name = ttrss_prefs.pref_name");
|
||||||
|
|
||||||
if (db_num_rows($result) > 0) {
|
if (db_num_rows($result) > 0) {
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
header("Location: login.php");
|
header("Location: login.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ERRORS[7] = "No operation to perform.";
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
|
|
|
@ -82,11 +82,16 @@
|
||||||
(SELECT COUNT(int_id) FROM ttrss_user_entries WHERE ref_id = id) = 0");
|
(SELECT COUNT(int_id) FROM ttrss_user_entries WHERE ref_id = id) = 0");
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_all_feeds($link, $fetch) {
|
function update_all_feeds($link, $fetch, $user_id = false) {
|
||||||
|
|
||||||
if (WEB_DEMO_MODE) return;
|
if (WEB_DEMO_MODE) return;
|
||||||
|
|
||||||
if (get_pref($link, 'DAEMON_REFRESH_ONLY')) {
|
if (!$user_id) {
|
||||||
|
$user_id = $_SESSION["uid"];
|
||||||
|
purge_old_posts($link);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (get_pref($link, 'DAEMON_REFRESH_ONLY', $user_id)) {
|
||||||
if (!$_GET["daemon"]) {
|
if (!$_GET["daemon"]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -94,8 +99,6 @@
|
||||||
|
|
||||||
db_query($link, "BEGIN");
|
db_query($link, "BEGIN");
|
||||||
|
|
||||||
$user_id = $_SESSION["uid"];
|
|
||||||
|
|
||||||
$result = db_query($link, "SELECT feed_url,id,
|
$result = db_query($link, "SELECT feed_url,id,
|
||||||
substring(last_updated,1,19) as last_updated,
|
substring(last_updated,1,19) as last_updated,
|
||||||
update_interval FROM ttrss_feeds WHERE owner_uid = '$user_id'");
|
update_interval FROM ttrss_feeds WHERE owner_uid = '$user_id'");
|
||||||
|
@ -104,7 +107,7 @@
|
||||||
$upd_intl = $line["update_interval"];
|
$upd_intl = $line["update_interval"];
|
||||||
|
|
||||||
if (!$upd_intl || $upd_intl == 0) {
|
if (!$upd_intl || $upd_intl == 0) {
|
||||||
$upd_intl = get_pref($link, 'DEFAULT_UPDATE_INTERVAL');
|
$upd_intl = get_pref($link, 'DEFAULT_UPDATE_INTERVAL', $user_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($fetch || (!$line["last_updated"] ||
|
if ($fetch || (!$line["last_updated"] ||
|
||||||
|
@ -114,8 +117,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
purge_old_posts($link);
|
|
||||||
|
|
||||||
db_query($link, "COMMIT");
|
db_query($link, "COMMIT");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -176,10 +177,6 @@
|
||||||
|
|
||||||
if ($rss) {
|
if ($rss) {
|
||||||
|
|
||||||
if (get_pref($link, 'ENABLE_FEED_ICONS')) {
|
|
||||||
check_feed_favicon($feed_url, $feed, $link);
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = db_query($link, "SELECT title,icon_url,site_url,owner_uid
|
$result = db_query($link, "SELECT title,icon_url,site_url,owner_uid
|
||||||
FROM ttrss_feeds WHERE id = '$feed'");
|
FROM ttrss_feeds WHERE id = '$feed'");
|
||||||
|
|
||||||
|
@ -189,6 +186,10 @@
|
||||||
|
|
||||||
$owner_uid = db_fetch_result($result, 0, "owner_uid");
|
$owner_uid = db_fetch_result($result, 0, "owner_uid");
|
||||||
|
|
||||||
|
if (get_pref($link, 'ENABLE_FEED_ICONS', $owner_uid)) {
|
||||||
|
check_feed_favicon($feed_url, $feed, $link);
|
||||||
|
}
|
||||||
|
|
||||||
if (!$registered_title) {
|
if (!$registered_title) {
|
||||||
$feed_title = db_escape_string($rss->channel["title"]);
|
$feed_title = db_escape_string($rss->channel["title"]);
|
||||||
db_query($link, "UPDATE ttrss_feeds SET
|
db_query($link, "UPDATE ttrss_feeds SET
|
||||||
|
@ -343,7 +344,7 @@
|
||||||
// check for user post link to main table
|
// check for user post link to main table
|
||||||
|
|
||||||
// do we allow duplicate posts with same GUID in different feeds?
|
// do we allow duplicate posts with same GUID in different feeds?
|
||||||
if (get_pref($link, "ALLOW_DUPLICATE_POSTS")) {
|
if (get_pref($link, "ALLOW_DUPLICATE_POSTS", $owner_uid)) {
|
||||||
$dupcheck_qpart = "AND feed_id = '$feed'";
|
$dupcheck_qpart = "AND feed_id = '$feed'";
|
||||||
} else {
|
} else {
|
||||||
$dupcheck_qpart = "";
|
$dupcheck_qpart = "";
|
||||||
|
@ -364,7 +365,7 @@
|
||||||
|
|
||||||
$post_needs_update = false;
|
$post_needs_update = false;
|
||||||
|
|
||||||
if (get_pref($link, "UPDATE_POST_ON_CHECKSUM_CHANGE") &&
|
if (get_pref($link, "UPDATE_POST_ON_CHECKSUM_CHANGE", $owner_uid) &&
|
||||||
($content_hash != $orig_content_hash)) {
|
($content_hash != $orig_content_hash)) {
|
||||||
$post_needs_update = true;
|
$post_needs_update = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue