コード例 #1
0
 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);
 }
コード例 #2
0
 /**
  * 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());
 }
コード例 #3
0
 /**
  * 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);
 }