summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/api.php3
-rw-r--r--include/functions2.php14
2 files changed, 13 insertions, 4 deletions
diff --git a/classes/api.php b/classes/api.php
index 08c1846d2..2d420e527 100644
--- a/classes/api.php
+++ b/classes/api.php
@@ -686,7 +686,8 @@ class API extends Handler {
"offset" => $offset,
"since_id" => $since_id,
"include_children" => $include_nested,
- "check_first_id" => $check_first_id
+ "check_first_id" => $check_first_id,
+ "api_request" => true
);
$qfh_ret = queryFeedHeadlines($params);
diff --git a/include/functions2.php b/include/functions2.php
index 1898aa2ea..996e99f42 100644
--- a/include/functions2.php
+++ b/include/functions2.php
@@ -463,6 +463,7 @@
$override_vfeed = isset($params["override_vfeed"]) ? $params["override_vfeed"] : false;
$start_ts = isset($params["start_ts"]) ? $params["start_ts"] : false;
$check_first_id = isset($params["check_first_id"]) ? $params["check_first_id"] : false;
+ $api_request = isset($params["api_request"]) ? $params["api_request"] : false;
$ext_tables_part = "";
$query_strategy_part = "";
@@ -491,6 +492,7 @@
}
$view_query_part = "";
+ $disable_offsets = false;
if ($view_mode == "adaptive") {
if ($search) {
@@ -502,9 +504,10 @@
if ($cat_view && $feed > 0 && $include_children)
$unread += getCategoryChildrenUnread($feed);
- if ($unread > 0)
- $view_query_part = " unread = true AND ";
-
+ if ($unread > 0) {
+ $view_query_part = " unread = true AND ";
+ $disable_offsets = !$api_request && get_pref("CDM_AUTO_CATCHUP");
+ }
}
}
@@ -522,6 +525,7 @@
if ($view_mode == "unread" && $feed != -6) {
$view_query_part = " unread = true AND ";
+ $disable_offsets = !$api_request && get_pref("CDM_AUTO_CATCHUP");
}
if ($limit > 0) {
@@ -762,6 +766,10 @@
}
}
+ if ($disable_offsets) {
+ $offset_query_part = "";
+ }
+
$query = "SELECT DISTINCT
date_entered,
guid,