add pagination to all and public
darcs-hash:20080528173917-84dde-b623d152de415de3790673b8a4eaafb584b23752.gz
This commit is contained in:
parent
182aa9a101
commit
d0e03e8cad
|
@ -77,17 +77,42 @@ class AllAction extends StreamAction {
|
||||||
|
|
||||||
$notice->orderBy('created DESC');
|
$notice->orderBy('created DESC');
|
||||||
|
|
||||||
$page = $this->arg('page') || 1;
|
$page = ($this->arg('page')) ? ($this->arg('page')+0) : 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 width100');
|
common_element_start('div', 'notices width100');
|
||||||
common_element('h2', 'notices', _t('Notices'));
|
common_element('h2', 'notices', _t('Notices'));
|
||||||
|
|
||||||
while ($notice->fetch()) {
|
for ($i = 0; $i < min($cnt, NOTICES_PER_PAGE); $i++) {
|
||||||
$this->show_notice($notice);
|
if ($notice->fetch()) {
|
||||||
|
$this->show_notice($notice);
|
||||||
|
} else {
|
||||||
|
// shouldn't happen!
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($page > 1) {
|
||||||
|
common_element_start('span', 'floatLeft width25');
|
||||||
|
common_element('a', array('href' => common_local_url('all',
|
||||||
|
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('all',
|
||||||
|
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
|
||||||
|
|
|
@ -26,7 +26,7 @@ class PublicAction extends StreamAction {
|
||||||
function handle($args) {
|
function handle($args) {
|
||||||
parent::handle($args);
|
parent::handle($args);
|
||||||
|
|
||||||
$page = $this->arg('page') || 1;
|
$page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
|
||||||
|
|
||||||
common_show_header(_t('Public timeline'), array($this, 'show_header'));
|
common_show_header(_t('Public timeline'), array($this, 'show_header'));
|
||||||
|
|
||||||
|
@ -51,16 +51,41 @@ class PublicAction extends StreamAction {
|
||||||
# XXX: filter out private notifications
|
# XXX: filter out private notifications
|
||||||
|
|
||||||
$notice->orderBy('created DESC');
|
$notice->orderBy('created DESC');
|
||||||
$notice->limit((($page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE);
|
|
||||||
|
# We fetch one extra, to see if we need an "older" link
|
||||||
|
|
||||||
|
$notice->limit((($page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
|
||||||
|
|
||||||
$notice->find();
|
$cnt = $notice->find();
|
||||||
|
|
||||||
common_element_start('div', 'notices');
|
common_element_start('div', 'notices');
|
||||||
|
|
||||||
while ($notice->fetch()) {
|
for ($i = 0; $i < min($cnt, NOTICES_PER_PAGE); $i++) {
|
||||||
$this->show_notice($notice);
|
if ($notice->fetch()) {
|
||||||
|
$this->show_notice($notice);
|
||||||
|
} else {
|
||||||
|
// shouldn't happen!
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($page > 1) {
|
||||||
|
common_element_start('span', 'floatLeft width25');
|
||||||
|
common_element('a', array('href' => common_local_url('public',
|
||||||
|
array('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('public',
|
||||||
|
array('page' => $page+1)),
|
||||||
|
'class' => 'older'),
|
||||||
|
_t('Older'));
|
||||||
|
common_element_end('span');
|
||||||
|
}
|
||||||
common_element_end('div');
|
common_element_end('div');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user