X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fnoticestreamaction.php;h=fb592915a7cd3ac9defdbbc7ba519021b3e04a5a;hb=0b9a2fdf3ad19942e85a66b94d08501ce9c927dd;hp=39c19d551f0500110f8c8d1520eb1a6233694d12;hpb=c037f04d174f8359c77af03d323bca03032ef7fd;p=quix0rs-gnu-social.git diff --git a/lib/noticestreamaction.php b/lib/noticestreamaction.php index 39c19d551f..fb592915a7 100644 --- a/lib/noticestreamaction.php +++ b/lib/noticestreamaction.php @@ -4,13 +4,22 @@ if (!defined('GNUSOCIAL')) { exit(1); } abstract class NoticestreamAction extends ProfileAction { + protected $notice = null; // holds the stream result protected function prepare(array $args=array()) { parent::prepare($args); + // In case we need more info than ProfileAction->doPreparation() gives us + $this->doStreamPreparation(); + // fetch the actual stream stuff - $stream = $this->getStream(); - $this->notice = $stream->getNotices(($this->page-1) * NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1); + try { + $stream = $this->getStream(); + $this->notice = $stream->getNotices(($this->page-1) * NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1); + } catch (PrivateStreamException $e) { + $this->notice = new Notice(); + $this->notice->whereAdd('FALSE'); + } if ($this->page > 1 && $this->notice->N == 0) { // TRANS: Client error when page not found (404). @@ -20,6 +29,11 @@ abstract class NoticestreamAction extends ProfileAction return true; } + protected function doStreamPreparation() + { + // pass by default + } + // this fetches the NoticeStream abstract public function getStream(); }