protected function getPagesTable($userId, $siteId, $orderBy, $order, $page, $perPage) { $pages = $this->services->getPageService()->findPagesByUser($userId, $siteId, array($orderBy => $order), true); $pages->setCurrentPageNumber($page); $pages->setItemCountPerPage($perPage); $table = PaginatedTableFactory::createPagesTable($pages); $table->getColumns()->setOrder($orderBy, $order === Order::ASCENDING); return $table; }
public function pagesAction() { $result = array('success' => false); $siteId = -1; $from = null; $to = null; if ($this->getCommonParams($siteId, $from, $to)) { $page = (int) $this->params()->fromQuery("page", 1); $perPage = (int) $this->params()->fromQuery("perPage", 10); $orderBy = $this->params()->fromQuery('orderBy', DbViewPages::CREATIONDATE); if (!DbViewPages::hasField($orderBy)) { $orderBy = DbViewPages::CREATIONDATE; } $order = $this->params()->fromQuery('ascending', true); if ($order) { $order = Order::ASCENDING; } else { $order = Order::DESCENDING; } $pages = $this->services->getPageService()->findSitePages($siteId, PageStatus::ANY, $from, $to, array($orderBy => $order), true); $pages->setCurrentPageNumber($page); $pages->setItemCountPerPage($perPage); $renderer = $this->getServiceLocator()->get('ViewHelperManager')->get('partial'); $table = PaginatedTableFactory::createPagesTable($pages, false); $table->getColumns()->setOrder($orderBy, $order === Order::ASCENDING); if ($renderer) { $result['success'] = true; $result['content'] = $renderer('partial/tables/table.phtml', array('table' => $table, 'data' => array())); } } return new JsonModel($result); }