/** * @route blog/series{_page} * @param mixed $page */ public function listSeries($page = null) { list($offset, $limit) = $this->getOffsetAndLimit($page); if ($this->isSuperUser()) { $series = $this->blog->getAllSeries($offset, $limit); $count = $this->blog->numSeries(); } else { $userId = $this->getActiveUserId(); $series = $this->blog->getSeriesForUser($userId, $offset, $limit); $count = $this->blog->numSeriesForUser($userId); } $authors = []; foreach ($series as $i => $s) { $s['seriesid'] = (int) $s['seriesid']; $s['author'] = (int) $s['author']; if (empty($authors[$s['author']]) && !empty($s['author'])) { $authors[$s['author']] = $this->author->getById($s['author']); } $series[$i]['author_data'] = $authors[$s['author']]; $series[$i]['num_items'] = $this->blog->numItemsInSeries($s['seriesid']); } $this->lens('blog/series', ['active_link' => 'bridge-link-blog-series', 'series' => $series, 'pagination' => ['base' => $this->airship_cabin_prefix . '/blog/series', 'suffix' => '/', 'count' => $count, 'page' => (int) \ceil($offset / ($limit ?? 1)) + 1, 'per_page' => $limit]]); }