From 6998897a34e67d125466bbd7e3b51d810fa959be Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 23 Aug 2017 23:01:37 +0000 Subject: [PATCH] Limit the number of feed entries (Can solve resub problems) --- include/ostatus.php | 7 ++++--- mod/dfrn_poll.php | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/ostatus.php b/include/ostatus.php index 892d249933..0f7ecd11d6 100644 --- a/include/ostatus.php +++ b/include/ostatus.php @@ -2227,10 +2227,11 @@ class ostatus { * @param App $a The application class * @param string $owner_nick Nickname of the feed owner * @param string $last_update Date of the last update + * @param integer $max_items Number of maximum items to fetch * * @return string XML feed */ - public static function feed(App $a, $owner_nick, &$last_update) { + public static function feed(App $a, $owner_nick, &$last_update, $max_items = 300) { $stamp = microtime(true); $cachekey = "ostatus:feed:".$owner_nick.":".$last_update; @@ -2267,10 +2268,10 @@ class ostatus { `item`.`author-id` = %d AND `item`.`created` > '%s' AND NOT `item`.`deleted` AND NOT `item`.`private` AND `thread`.`network` IN ('%s', '%s') - ORDER BY `item`.`created` DESC LIMIT 300", + ORDER BY `item`.`created` DESC LIMIT %d", intval($owner["uid"]), intval($owner["id"]), intval($authorid), dbesc($check_date), - dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DFRN)); + dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DFRN), intval($max_items)); $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; diff --git a/mod/dfrn_poll.php b/mod/dfrn_poll.php index f02539b005..e6196acccb 100644 --- a/mod/dfrn_poll.php +++ b/mod/dfrn_poll.php @@ -22,7 +22,7 @@ function dfrn_poll_init(App $a) { if (($a->argc > 1) && ($dfrn_id == '') && !strstr($_SERVER["HTTP_USER_AGENT"], 'Friendica')) { $nickname = $a->argv[1]; header("Content-type: application/atom+xml"); - echo ostatus::feed($a, $nickname, $last_update); + echo ostatus::feed($a, $nickname, $last_update, 10); killme(); }