aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-07-29 20:31:02 -0700
committerfriendica <info@friendica.com>2013-07-29 20:31:02 -0700
commit79dacc3f1ad86aabfc78c0ecb8603720dedd4cfe (patch)
tree691b1c2642b6cdc59f2fb91f54534a6196cc5ed1
parent7b3c29ebe69726f7d42c9327bebb2ea7251bccb4 (diff)
downloadvolse-hubzilla-79dacc3f1ad86aabfc78c0ecb8603720dedd4cfe.tar.gz
volse-hubzilla-79dacc3f1ad86aabfc78c0ecb8603720dedd4cfe.tar.bz2
volse-hubzilla-79dacc3f1ad86aabfc78c0ecb8603720dedd4cfe.zip
fix some weirdness on the zot feed
-rw-r--r--include/conversation.php2
-rwxr-xr-xinclude/items.php33
-rw-r--r--mod/zotfeed.php2
3 files changed, 24 insertions, 13 deletions
diff --git a/include/conversation.php b/include/conversation.php
index 1023c068d..61b563a5d 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1128,6 +1128,8 @@ function conv_sort($arr,$order) {
usort($parents,'sort_thr_created');
elseif(stristr($order,'commented'))
usort($parents,'sort_thr_commented');
+ elseif(stristr($order,'ascending'))
+ usort($parents,'sort_thr_created_rev');
if(count($parents))
foreach($parents as $i=>$_x)
diff --git a/include/items.php b/include/items.php
index b22c02955..2d0966518 100755
--- a/include/items.php
+++ b/include/items.php
@@ -4743,28 +4743,37 @@ function zot_feed($uid,$observer_xchan,$mindate) {
$sql_extra .= " and created > '$mindate' ";
-// FIXME
- // We probably should use two queries and pick up total conversations.
- // For now get a chunk of raw posts in ascending created order so that
- // hopefully the parent is imported before we see the kids.
- // This will fail if there are more than $limit kids and you didn't
- // receive the parent via direct delivery
-
- $limit = 200;
+ $limit = 50;
+ $items = array();
- $items = q("SELECT item.* from item
- WHERE uid = %d AND item_restrict = 0
+ $r = q("SELECT item.*, item.id as item_id from item
+ WHERE uid = %d AND item_restrict = 0 and id = parent
AND (item_flags & %d)
$sql_extra ORDER BY created ASC limit 0, $limit",
intval($uid),
intval(ITEM_WALL)
);
+ if($r) {
+
+ $parents_str = ids_to_querystr($r,'id');
+
+ $items = q("SELECT `item`.*, `item`.`id` AS `item_id` FROM `item`
+ WHERE `item`.`uid` = %d AND `item`.`item_restrict` = 0
+ AND `item`.`parent` IN ( %s ) ",
+ intval($uid),
+ dbesc($parents_str)
+ );
+
+ }
+
if($items) {
xchan_query($items);
$items = fetch_post_tags($items);
- } else {
- $items = array();
+ $items = conv_sort($items,'ascending');
+
}
+ else
+ $items = array();
foreach($items as $item)
$result[] = encode_item($item);
diff --git a/mod/zotfeed.php b/mod/zotfeed.php
index 76a860139..2ca049563 100644
--- a/mod/zotfeed.php
+++ b/mod/zotfeed.php
@@ -9,7 +9,7 @@ function zotfeed_init(&$a) {
$mindate = (($_REQUEST['mindate']) ? datetime_convert('UTC','UTC',$_REQUEST['mindate']) : '');
if(! $mindate)
- $mindate = '0000-00-00 00:00:00';
+ $mindate = datetime_convert('UTC','UTC', 'now - 1 month');
if(get_config('system','block_public') && (! get_account_id()) && (! remote_user())) {
$result['message'] = 'Public access denied';