diff options
author | zottel <github@zottel.net> | 2012-06-01 08:31:38 +0200 |
---|---|---|
committer | zottel <github@zottel.net> | 2012-06-01 08:31:38 +0200 |
commit | 08b335cac0a881b8f19793aaaebc6dacef445643 (patch) | |
tree | 46b41c1f463ab90588f109105c95e85dad8fd432 /include/diaspora.php | |
parent | 20fdbda25e7fa1c1f6e234867df495be1085f3f8 (diff) | |
parent | 93bc29a711637c84a4ffc380078277de89af4e6d (diff) | |
download | volse-hubzilla-08b335cac0a881b8f19793aaaebc6dacef445643.tar.gz volse-hubzilla-08b335cac0a881b8f19793aaaebc6dacef445643.tar.bz2 volse-hubzilla-08b335cac0a881b8f19793aaaebc6dacef445643.zip |
Merge remote branch 'upstream/master'
Diffstat (limited to 'include/diaspora.php')
-rw-r--r-- | include/diaspora.php | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/include/diaspora.php b/include/diaspora.php index 3f2cdf8e4..f7c2c5e8e 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -2055,8 +2055,12 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) { $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); $theiraddr = $contact['addr']; - $p = q("select guid from item where parent = %d limit 1", - $item['parent'] + // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always + // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent. + // The only item with `parent` and `id` as the parent id is the parent item. + $p = q("select guid from item where parent = %d and id = %d limit 1", + intval($item['parent']), + intval($item['parent']) ); if(count($p)) $parent_guid = $p[0]['guid']; @@ -2111,8 +2115,12 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { $theiraddr = $contact['addr']; - $p = q("select guid from item where parent = %d limit 1", - $item['parent'] + // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always + // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent. + // The only item with `parent` and `id` as the parent id is the parent item. + $p = q("select guid from item where parent = %d and id = %d limit 1", + intval($item['parent']), + intval($item['parent']) ); if(count($p)) $parent_guid = $p[0]['guid']; |