public function listAction() { $pageNum = $this->params()->fromRoute('page'); $item_count_per_page = $this->params()->fromRoute('count_per_page'); if (!$pageNum) { $pageNum = 0; } if (!$item_count_per_page) { $item_count_per_page = 20; } $query = $this->m()->userPolygonMapper()->getPaginationQuery(); $paginator = new \Whathood\View\Paginator\UserPolygonPaginator(new \Whathood\View\Paginator\UserPolygonPaginatorAdapter($query)); $paginator->setDefaultItemCountPerPage($item_count_per_page); $paginator->setCurrentPageNumber($pageNum); $userPolygons = $paginator->getCurrentItems(); $arr = UserPolygon::polygonsToArray($userPolygons, array('strings_only' => true, 'include_neighborhood' => true)); return new JsonModel(array('user_polygons' => $arr)); }