From: Brion Vibber Date: Fri, 15 Jan 2010 18:01:50 +0000 (-0800) Subject: Fix since_id and max_id API parameters for inbox-based loads; was failing if the... X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=745d4283653caf06ede206f58fe0f96b4fdd2c5d;p=quix0rs-gnu-social.git Fix since_id and max_id API parameters for inbox-based loads; was failing if the exact id mentioned wasn't present in the inbox (or had been trimmed out) --- diff --git a/classes/Inbox.php b/classes/Inbox.php index 312b4586b4..086dba1c9d 100644 --- a/classes/Inbox.php +++ b/classes/Inbox.php @@ -154,17 +154,23 @@ class Inbox extends Memcached_DataObject $ids = unpack('N*', $inbox->notice_ids); if (!empty($since_id)) { - $i = array_search($since_id, $ids); - if ($i !== false) { - $ids = array_slice($ids, 0, $i - 1); + $newids = array(); + foreach ($ids as $id) { + if ($id > $since_id) { + $newids[] = $id; + } } + $ids = $newids; } if (!empty($max_id)) { - $i = array_search($max_id, $ids); - if ($i !== false) { - $ids = array_slice($ids, $i - 1); + $newids = array(); + foreach ($ids as $id) { + if ($id <= $max_id) { + $newids[] = $id; + } } + $ids = $newids; } $ids = array_slice($ids, $offset, $limit);