public function testPaginator() { $paginator1 = new Paginator(2, 200, 10, 3); $pagelist = $paginator1->getPagesList(); $result = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 20); $this->assertEquals($result, $pagelist); $paginator2 = new Paginator(15, 200, 10, 3); $pagelist = $paginator2->getPagesList(); $result = array(12, 13, 14, 15, 16, 17, 18, 19, 20); $this->assertEquals($result, $pagelist); $paginator3 = new Paginator(11, 200, 10, 3); $pagelist = $paginator3->getPagesList(); $result = array(8, 9, 10, 11, 12, 13, 14); $this->assertEquals($result, $pagelist); $paginator4 = new Paginator(3, 33, 10, 3); $pagelist = $paginator4->getPagesList(); $result = array(1, 2, 3, 4); $this->assertEquals($result, $pagelist); $paginator5 = new Paginator(2, 200); $pagelist = $paginator5->getPagesList(); $result = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 20); $this->assertEquals($result, $pagelist); $paginator6 = new Paginator(15, 200); $pagelist = $paginator6->getPagesList(); $result = array(8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20); $this->assertEquals($result, $pagelist); $paginator7 = new Paginator(14, 400); $pagelist = $paginator7->getPagesList(); $result = array(9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19); $this->assertEquals($result, $pagelist); }
/** * Lists all Exercise entities. * * @Route("/list/{pagestart}/{musclegroup}", * name="exercise", * defaults={"pagestart" = 1, "musclegroup" = "All"}) * @Method("GET") * @Template() */ public function indexAction($pagestart, $musclegroup, Request $request) { $groupArray = ['All', 'Chest', 'Back', 'Arms', 'Shoulders', 'Legs', 'Abs-Core']; $group = $request->getSession()->get('group'); $recordsperpage = 10; $grace = 5; $exRepo = $this->getDoctrine()->getManager()->getRepository('AppBundle:Exercise'); $count = $exRepo->countTotalRows($group); $paginator = new Paginator((int) $pagestart, $count, $recordsperpage, $grace); $pagelist = $paginator->getPagesList(); $entities = $exRepo->findByLimitOffset($recordsperpage, $paginator->getOffset(), $group); return array('entities' => $entities, 'pagelist' => $pagelist, 'groupArray' => $groupArray, 'pagestart' => $pagestart, 'lastpage' => $paginator->getTotalPages()); }
/** * Lists all Article entities. * * @Route("/", name="article") * @Route("/list/{pagestart}", * name="article", * defaults={"pagestart" = 1}) * @Method("GET") * @Template() */ public function indexAction($pagestart, Request $request) { $recordsperpage = 5; $grace = 2; $session = $this->getRequest()->getSession(); $author = $session->has('author') ? $session->get('author') : 'All'; $tag_ids = $session->has('tags') ? $session->get('tags') : array(); $arRepo = $this->getDoctrine()->getManager()->getRepository('AppBundle:Article'); $count = $arRepo->countTotalRows($author, $tag_ids); $paginator = new Paginator($pagestart, $count, $recordsperpage, $grace); $pagelist = $paginator->getPagesList(); $entities = $arRepo->findByLimitOffset($recordsperpage, $paginator->getOffset(), $author, $tag_ids); $author_em = $this->getDoctrine()->getManager()->getRepository('AppBundle:Author'); $authors = $author_em->findAll(); $tag_em = $this->getDoctrine()->getManager()->getRepository('AppBundle:Tag'); $tags = $tag_em->findAll(); return array('entities' => $entities, 'pagelist' => $pagelist, 'pagestart' => $pagestart, 'lastpage' => $paginator->getTotalPages(), 'author_entities' => $authors, 'tag_entities' => $tags); }