/** * Create a new inbox from existing Notice_inbox stuff */ static function initialize($user_id) { $inbox = Inbox::fromNoticeInbox($user_id); unset($inbox->fake); $result = $inbox->insert(); if (!$result) { common_log_db_error($inbox, 'INSERT', __FILE__); return null; } return $inbox; }
/** * Get IDs in a range * * @param int $offset Offset from start * @param int $limit Limit of number to get * @param int $since_id Since this notice * @param int $max_id Before this notice * * @return Array IDs found */ function getNoticeIds($offset, $limit, $since_id, $max_id) { if (empty($this->inbox)) { $this->inbox = Inbox::fromNoticeInbox($user_id); if (empty($this->inbox)) { return array(); } else { $this->inbox->encache(); } } $ids = $this->inbox->unpack(); if (!empty($since_id)) { $newids = array(); foreach ($ids as $id) { if ($id > $since_id) { $newids[] = $id; } } $ids = $newids; } if (!empty($max_id)) { $newids = array(); foreach ($ids as $id) { if ($id <= $max_id) { $newids[] = $id; } } $ids = $newids; } $ids = array_slice($ids, $offset, $limit); return $ids; }
function stream($user_id, $offset, $limit, $since_id, $max_id, $own = false) { $inbox = Inbox::staticGet('user_id', $user_id); if (empty($inbox)) { $inbox = Inbox::fromNoticeInbox($user_id); if (empty($inbox)) { return array(); } else { $inbox->encache(); } } $ids = $inbox->unpack(); if (!empty($since_id)) { $newids = array(); foreach ($ids as $id) { if ($id > $since_id) { $newids[] = $id; } } $ids = $newids; } if (!empty($max_id)) { $newids = array(); foreach ($ids as $id) { if ($id <= $max_id) { $newids[] = $id; } } $ids = $newids; } $ids = array_slice($ids, $offset, $limit); return $ids; }