]> git.mxchange.org Git - friendica.git/commitdiff
Limit the number of feed entries (Can solve resub problems)
authorMichael <heluecht@pirati.ca>
Wed, 23 Aug 2017 23:01:37 +0000 (23:01 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 23 Aug 2017 23:01:37 +0000 (23:01 +0000)
include/ostatus.php
mod/dfrn_poll.php

index 892d2499333ca4b382c42e81f60af6fee3ca187c..0f7ecd11d63e36958eae27a211923a0a2d06dfd0 100644 (file)
@@ -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;
index f02539b0053c7f49b95661488270b724fd2052b7..e6196acccb063223cadccc9924518a90ea73112e 100644 (file)
@@ -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();
        }