paginate on showstream

darcs-hash:20080528173129-84dde-8f0537b20173afa895aeb76e503d76cc24fdae41.gz
This commit is contained in:
Evan Prodromou 2008-05-28 13:31:29 -04:00
parent 1a2a62ede0
commit dc37b88e54

View File

@ -263,20 +263,45 @@ class ShowstreamAction extends StreamAction {
$page = $this->arg('page') || 1; $page = $this->arg('page') || 1;
$notice->limit((($page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE); $notice->limit((($page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
$notice->find(); $cnt = $notice->find();
common_element_start('div', 'notices width66 floatLeft'); common_element_start('div', 'notices width66 floatLeft');
common_element_start('ul', 'bigLinks'); common_element_start('ul', 'bigLinks');
while ($notice->fetch()) { for ($i = 0; $i < min($cnt, NOTICES_PER_PAGE); $i++) {
if ($notice->fetch()) {
$this->show_notice($notice); $this->show_notice($notice);
} else {
// shouldn't happen!
break;
}
} }
common_element_end('ul'); common_element_end('ul');
if ($page > 1) {
common_element_start('span', 'floatLeft width25');
common_element('a', array('href' => common_local_url('showstream',
array('nickname' => $profile->nickname,
'page' => $page-1))
'class' => 'newer')
_t('Newer'));
common_element_end('span');
}
if ($cnt > NOTICES_PER_PAGE) {
common_element_start('span', 'floatRight width25');
common_element('a', array('href' => common_local_url('showstream',
array('nickname' => $profile->nickname,
'page' => $page+1))
'class' => 'older')
_t('Older'));
common_element_end('span');
}
# XXX: show a link for the next page # XXX: show a link for the next page
common_element_end('div'); common_element_end('div');
} }