X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fall.php;h=c19440052f157b5e18eed24e7d7b22dc5450b947;hb=d40455405afe5621bb46d7cce5f118c13126bb60;hp=b929b6c1c1666030bd4fc0483509fec9d0d48111;hpb=735b8ddc676cc7d85ca4256994755e61ea6023a1;p=quix0rs-gnu-social.git diff --git a/actions/all.php b/actions/all.php index b929b6c1c1..c19440052f 100644 --- a/actions/all.php +++ b/actions/all.php @@ -31,7 +31,7 @@ class AllAction extends StreamAction { $user = User::staticGet('nickname', $nickname); if (!$user) { - $this->no_such_user(); + $this->client_error(_t('No such user: ') . $nickname); return; } @@ -45,14 +45,9 @@ class AllAction extends StreamAction { # Looks like we're good; show the header common_show_header($profile->nickname . _t(" and friends"), - array($this, 'show_header'), $user); - - $cur = common_current_user(); - - if ($cur && $profile->id == $cur->id) { - common_notice_form(); - } - + array($this, 'show_header'), $user, + array($this, 'show_top')); + $this->show_notices($profile); common_show_footer(); @@ -66,6 +61,16 @@ class AllAction extends StreamAction { 'title' => _t('Feed for friends of ') . $user->nickname)); } + function show_top($user) { + $cur = common_current_user(); + + if ($cur && $cur->id == $user->id) { + common_notice_form('all'); + } + + $this->views_menu(); + } + function show_notices($profile) { $notice = DB_DataObject::factory('notice'); @@ -77,20 +82,26 @@ class AllAction extends StreamAction { $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('h2', 'notices', _t('Notices')); - - while ($notice->fetch()) { - $this->show_notice($notice); + if ($cnt > 0) { + common_element_start('ul', array('id' => 'notices')); + for ($i = 0; $i < min($cnt, NOTICES_PER_PAGE); $i++) { + if ($notice->fetch()) { + $this->show_notice($notice); + } else { + // shouldn't happen! + break; + } + } + common_element_end('ul'); } - - # XXX: show a link for the next page - common_element_end('div'); + + common_pagination($page > 1, $cnt > NOTICES_PER_PAGE, + $page, 'all', array('nickname' => $profile->nickname)); } }