/** * Searches for archived (page) nodes by given criteria * * @param SearchInterface $search Archive search impl * * @return Page[] */ public function findArchived(SearchInterface $search) { $query = $this->createQuery(); $sql = ' SELECT *, FROM_UNIXTIME(crdate) as created_at, FROM_UNIXTIME(lastUpdated) as last_updated_at FROM pages WHERE doktype = ? AND deleted = 0 AND hidden = 0 AND ( lastUpdated >= ? AND lastUpdated < ? ) ORDER BY lastUpdated DESC '; $query->statement($this->objectManager->get(PreparedStatement::class, $sql, 'pages'), $search->getCriteria()); $rawResults = $query->execute(true); return $this->hydrate($rawResults); }
/** * Performs archive search * * @param string $month Month, numeric 1-12 * @param int $year Year, numeric yyyy * * @ignorevalidation $month * @ignorevalidation $year * * @return void */ public function showAction($month, $year) { $this->search->setDateRange(DateRange::fromMonthAndYear($month, $year)); $this->search->setPageType(Type::fromString($this->settings['pageType'])); $pages = $this->pageRepository->findArchived($this->search); $this->view->assign('pages', $pages); $this->view->assign('search', $this->search); }