/** * Prepares the environment before running a test. */ protected function setUp() { parent::setUp(); $this->scrollingStyle = new \Zend\Paginator\ScrollingStyle\Jumping(); $this->paginator = new Paginator(new ArrayAdapter(range(1, 101))); $this->paginator->setItemCountPerPage(10); $this->paginator->setPageRange(10); $this->expectedRange = array_combine(range(1, 10), range(1, 10)); }
/** * Prepares the environment before running a test. */ protected function setUp() { parent::setUp(); $this->_scrollingStyle = new \Zend\Paginator\ScrollingStyle\Jumping(); $this->_paginator = \Zend\Paginator\Paginator::factory(range(1, 101)); $this->_paginator->setItemCountPerPage(10); $this->_paginator->setPageRange(10); $this->_expectedRange = array_combine(range(1, 10), range(1, 10)); }
/** * @return void */ public function initialize() { $this->criteria = $this->getVariable('validCriteria', []); $this->currentPage = isset($this->criteria['page']) ? $this->criteria['page'] : 1; $this->itemsCountPerPage = isset($this->criteria['limit']) ? $this->criteria['limit'] : 20; $criteria = $this->repository->createCriteria($this->criteria); $this->count = $this->repository->count($criteria); $this->zendPaginator = new ZendPaginator(new NullFill($this->count)); $this->zendPaginator->setCurrentPageNumber($this->currentPage); $this->zendPaginator->setDefaultItemCountPerPage($this->itemsCountPerPage); $this->zendPaginator->setPageRange(5); }
public function listAction() { $pagerAction = $this->handlePager(); $limit = $this->getLimit($this->defaultPageSize); $limit = 100; $page = $this->getRequest()->getQuery('page', 0); $sort = $this->getRequest()->getQuery('sort', $this->defaultSort); $order = $this->getRequest()->getQuery('order', $this->defaultOrder); if (empty($sort)) { $sort = $this->defaultSort; } $offset = $limit * $page - $limit; if ($offset < 0) { $offset = 0; } /* @var $qb \Doctrine\ORM\QueryBuilder */ $qb = $this->getEntityManager()->createQueryBuilder(); $qb->select(['e.referrer', 'COUNT(e.id) AS refcount'])->from($this->getEntityClass(), 'e')->setFirstResult($offset)->setMaxResults($limit)->groupBy('e.referrer')->orderBy('e.' . $sort, $order); $qb = $this->handleSearch($qb); $pager = $this->getPagerForm($limit); $q = $qb->getQuery(); $q->setMaxResults($limit); $q->setFirstResult($offset); $results = $this->getSources($q->getArrayResult()); $paginator = new Paginator(new ArrayAdapter($results)); $paginator->setCacheEnabled(true); $paginator->setDefaultItemCountPerPage($limit); $paginator->setCurrentPageNumber($page); $paginator->setPageRange($this->paginatorRange); $ui = ['table' => ["source" => ["col" => 3, "label" => "Source", "sort" => false], "referrers" => ["col" => 6, "label" => "Referrers", "sort" => false], "count" => ["col" => 1, "label" => "# Leads", "sort" => false]]]; return ['paginator' => $paginator, 'sort' => $sort, 'order' => $order, 'page' => $page, 'pager' => $pager, 'query' => $this->params()->fromQuery(), 'ui' => $ui, 'isAdmin' => $this->isAdmin(), 'history' => $this->setHistory()]; }
public function indexAction() { /* $temp = $this->forward()->dispatch('Application/Controller/Album', array('action' => 'index')); echo '<pre>'; print_r($temp); echo '<pre>';die; */ $auth = new AuthenticationService(); if (!$auth->hasIdentity()) { return $this->redirect()->toRoute('home'); } $select = new Select(); $search = @$_REQUEST['search']; if (!empty($search)) { $select->where->like('name', '%' . $search . '%'); } $order_by = $this->params()->fromRoute('order_by') ? $this->params()->fromRoute('order_by') : 'id'; $order = $this->params()->fromRoute('order') ? $this->params()->fromRoute('order') : Select::ORDER_ASCENDING; $page = $this->params()->fromRoute('page') ? (int) $this->params()->fromRoute('page') : 1; $category = $this->getCategoryTable()->fetchAllCategory($select->order($order_by . ' ' . $order), $search); $itemPerPage = 2; $category->current(); $paginator = new Paginator(new PaginatorIterator($category)); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($itemPerPage); $paginator->setPageRange(10); return new ViewModel(array('order_by' => $order_by, 'order' => $order, 'page' => $page, 'paginator' => $paginator)); }
public function testNoPagesBeforeSecondLastPageEqualsPageRangeMinTwo() { $this->paginator->setPageRange(3); $this->paginator->setCurrentPageNumber(19); $pages = $this->paginator->getPages('Elastic'); $this->assertEquals(5, count($pages->pagesInRange)); }
public function listAction() { $pagerAction = $this->handlePager(); $limit = $this->getLimit($this->defaultPageSize); // $limit = $this->getRequest()->getQuery('limit', // $this->defaultPageSize); $page = $this->getRequest()->getQuery('page', 0); $sort = $this->getRequest()->getQuery('sort', $this->defaultSort); $order = $this->getRequest()->getQuery('order', $this->defaultOrder); if (empty($sort)) { $sort = $this->defaultSort; } $offset = $limit * $page - $limit; if ($offset < 0) { $offset = 0; } /* @var $qb \Doctrine\ORM\QueryBuilder */ $qb = $this->getEntityManager()->createQueryBuilder(); $qb->add('select', 'e')->add('from', $this->getEntityClass() . ' e')->orderBy('e.' . $sort, $order)->setFirstResult($offset)->setMaxResults($limit); $qb = $this->handleSearch($qb); $pager = $this->getPagerForm($limit); $paginator = new Paginator(new DoctrinePaginator(new ORMPaginator($qb->getQuery(), true))); $paginator->setDefaultItemCountPerPage($limit); $paginator->setCurrentPageNumber($page); $paginator->setPageRange($this->paginatorRange); $ui = ['table' => ["occurred" => ["col" => 2, "label" => "Date", "sort" => true], "event" => ["col" => 2, "label" => "Event", "sort" => false], "account" => ["col" => 3, "label" => "Account", "sort" => false], "message" => ["col" => 5, "label" => "Info", "sort" => false]]]; $filters = $this->getFilterForm($this->params()->fromQuery()); $post = $this->params()->fromPost(); $redirectUrl = $this->url()->fromRoute($this->getActionRoute(), [], true); return ['paginator' => $paginator, 'sort' => $sort, 'order' => $order, 'page' => $page, 'pager' => $pager, 'query' => $this->params()->fromQuery(), 'filters' => $filters, 'ui' => $ui, 'history' => $this->setHistory()]; }
public function listAction() { $page = $this->getRequest()->getQuery('page', 0); $limit = $this->getRequest()->getQuery('limit', $this->defaultPageSize); $sort = $this->getRequest()->getQuery('sort', $this->defaultSort); $order = $this->getRequest()->getQuery('order', $this->defaultOrder); $id = $this->getEvent()->getRouteMatch()->getParam('id', 0); if (empty($sort)) { $sort = $this->defaultSort; } $offset = $limit * $page - $limit; if ($offset < 0) { $offset = 0; } /* @var $qb \Doctrine\ORM\QueryBuilder */ $qb = $this->getEntityManager()->createQueryBuilder(); $qb->add('select', 'e')->add('from', '\\Lead\\Entity\\Lead e')->innerJoin('e.account', 'a')->andWhere('a.id = :id')->orderBy('e.' . $sort, $order)->setFirstResult($offset)->setMaxResults($limit)->setParameter('id', $id); $qb = $this->handleSearch($qb); $paginator = new Paginator(new DoctrinePaginator(new LosPaginator($qb, false))); $paginator->setDefaultItemCountPerPage($limit); $paginator->setCurrentPageNumber($page); $paginator->setPageRange($this->paginatorRange); $ui = ['table' => ["referrer" => ["col" => 6, "label" => "Source", "sort" => true], "lastsubmitted" => ["col" => 4, "label" => "Submitted", "sort" => true]]]; $filters = $this->getFilterForm($this->params()->fromQuery())->remove('account'); return ['id' => $id, 'paginator' => $paginator, 'sort' => $sort, 'order' => $order, 'page' => $page, 'query' => $this->params()->fromQuery(), 'filters' => $filters, 'ui' => $ui]; }
public function indexAction() { $this->layout('layout/bags'); $getuser = $this->forward()->dispatch('Admin\\Controller\\Index', array('action' => 'getuser')); $this->layout()->getuser = $getuser; if (!$getuser) { // notlogin $this->redirect()->toUrl(WEBPATH); } $this->layout()->getuser = $getuser; //$ProductTable = $this->getServiceLocator()->get('ProductTable'); $allRecord = $this->getSlideTable()->countAll(); //print_r($allRecord);die; $pageNull = new PageNull($allRecord); $itemsPerPage = 5; $pageRange = 3; $page = $this->params()->fromRoute('page', 1); $offset = ($page - 1) * $itemsPerPage; $paginator = new Paginator($pageNull); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($itemsPerPage); $paginator->setPageRange($pageRange); $listpr_tmp = $this->getSlideTable()->getList($offset, $itemsPerPage); //--------------------------------- $fetch_slideshow = $this->getSlideTable()->getList($offset, $itemsPerPage); $this->layout()->fetch_slideshow = $fetch_slideshow; return new ViewModel(array('paginator' => $paginator, 'allRecord' => $allRecord, 'offset' => $offset, 'itemsPerPage' => $itemsPerPage)); }
public function indexAction() { /* $service1=new \Lib\Service1\Custom(); echo $service1->demo(); die; */ /* $plugin=$this->CustomPlugin(); print_r($plugin->doSomthing()); die; */ /* $facebook = new \Facebook(array( 'appId' => 'xxx', 'secret' => 'xxx', )); print_r($facebook); die; */ $auth = new AuthenticationService(); if (!$auth->hasIdentity()) { return $this->redirect()->toRoute('home'); } $select = new Select(); $search = @$_REQUEST['search']; if (!empty($search)) { $select->where->like('name', '%' . $search . '%')->or->like('email', '%' . $search . '%')->or->like('mob', '%' . $search . '%')->or->like('title', '%' . $search . '%'); } $order_by = $this->params()->fromRoute('order_by') ? $this->params()->fromRoute('order_by') : 'id'; $order = $this->params()->fromRoute('order') ? $this->params()->fromRoute('order') : Select::ORDER_ASCENDING; $page = $this->params()->fromRoute('page') ? (int) $this->params()->fromRoute('page') : 1; $album = $this->getAdminTable()->fetchAll($select->order($order_by . ' ' . $order), $search); $itemPerPage = 2; $album->current(); $paginator = new Paginator(new PaginatorIterator($album)); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($itemPerPage); $paginator->setPageRange(10); //print_r($paginator); die; return new ViewModel(array('order_by' => $order_by, 'order' => $order, 'page' => $page, 'paginator' => $paginator)); }
/** * Get users * * @param integer $page * @param integer $perPage * @param string $orderBy * @param string $orderType * @param array $filters * string nickname * string email * string status * integer role * @return object */ public function getUsers($page = 1, $perPage = 0, $orderBy = null, $orderType = null, array $filters = []) { $orderFields = ['id', 'nickname', 'email', 'registered', 'status']; $orderType = !$orderType || $orderType == 'desc' ? 'desc' : 'asc'; $orderBy = $orderBy && in_array($orderBy, $orderFields) ? $orderBy : 'id'; $select = $this->select(); $select->from(['a' => 'user_list'])->columns(['id' => 'user_id', 'nickname' => 'nick_name', 'email', 'status', 'registered', 'role_id' => 'role'])->join(['b' => 'acl_role'], 'a.role = b.id', ['role' => 'name'])->order($orderBy . ' ' . $orderType); // filter by nickname if (!empty($filters['nickname'])) { $select->where([new LikePredicate('nick_name', $filters['nickname'] . '%')]); } // filter by email if (!empty($filters['email'])) { $select->where(['email' => $filters['email']]); } // filter by status if (!empty($filters['status'])) { $select->where(['status' => $filters['status']]); } // filter by role if (!empty($filters['role'])) { $select->where(['role' => $filters['role']]); } $paginator = new Paginator(new DbSelectPaginator($select, $this->adapter)); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage(PaginationUtility::processPerPage($perPage)); $paginator->setPageRange(SettingService::getSetting('application_page_range')); return $paginator; }
public function listAction() { $pagerAction = $this->handlePager(); $limit = $this->getLimit($this->defaultPageSize); // $limit = $this->getRequest()->getQuery('limit', // $this->defaultPageSize); $page = $this->getRequest()->getQuery('page', 0); $sort = $this->getRequest()->getQuery('sort', $this->defaultSort); $order = $this->getRequest()->getQuery('order', $this->defaultOrder); if (empty($sort)) { $sort = $this->defaultSort; } $offset = $limit * $page - $limit; if ($offset < 0) { $offset = 0; } /* @var $qb \Doctrine\ORM\QueryBuilder */ $qb = $this->getEntityManager()->createQueryBuilder(); $qb->add('select', 'e')->add('from', $this->getEntityClass() . ' e')->innerJoin('e.account', 'account')->leftJoin('account.apis', 'apis')->where('apis.name = :email')->orderBy('e.' . $sort, $order)->setFirstResult($offset)->setMaxResults($limit)->setParameter('email', 'Email'); $qb = $this->handleSearch($qb); $pager = $this->getPagerForm($limit); $paginator = new Paginator(new DoctrinePaginator(new LosPaginator($qb, false))); $paginator->setDefaultItemCountPerPage($limit); $paginator->setCurrentPageNumber($page); $paginator->setPageRange($this->paginatorRange); $ui = ['table' => ["description" => ["col" => 3, "label" => "Name", "sort" => false], "event" => ["col" => 3, "label" => "Latest Email Event", "sort" => false], "account" => ["col" => 2, "label" => "Account", "sort" => false], "timecreated" => ["col" => 2, "label" => "Date", "sort" => true]]]; $filters = $this->getFilterForm($this->params()->fromQuery()); $post = $this->params()->fromPost(); $redirectUrl = $this->url()->fromRoute('services/email', ['action' => 'list'], true); if (!$pagerAction) { $prg = $this->prg($redirectUrl, true); } else { $prg = false; } if ($prg instanceof Response) { return $prg; } elseif ($prg === false) { $form = $this->getListForm($paginator); return ['paginator' => $paginator, 'sort' => $sort, 'order' => $order, 'page' => $page, 'pager' => $pager, 'query' => $this->params()->fromQuery(), 'form' => $form, 'filters' => $filters, 'ui' => $ui, 'history' => $this->setHistory()]; } $form = $this->getListForm($paginator, $prg); if ($prg && isset($prg['sel'])) { $res = true; foreach ($prg['sel'] as $lead_id => $one) { if ($one) { $response = $this->submit($lead_id); $res = $response ? $res : false; } } if ($res) { $this->flashMessenger()->addSuccessMessage($this->getServiceLocator()->get('translator')->translate($this->successSubmitMessage)); } else { $this->flashMessenger()->addErrorMessage($this->getServiceLocator()->get('translator')->translate($this->errorSubmitMessage)); } } return $this->redirect()->toRoute('services/email', ['action' => 'list'], true); }
/** * @return \Zend\View\Model\ViewModel */ public function listAction() { $page = $this->params('page'); $templateQuery = $this->getGeneralService()->findFiltered(WebInfo::class, []); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($templateQuery, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return new ViewModel(['paginator' => $paginator]); }
public function fetchList($page = 1, $perPage = 15) { $select = $this->getTable()->getSql()->select(); $adapter = new DbSelect($select, $this->getTable()->getAdapter(), $this->getTable()->getResultSetPrototype()); $paginator = new Paginator($adapter); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($perPage); $paginator->setPageRange(9); return $paginator; }
/** * @return ViewModel */ public function missingAction() { $affiliation = $this->getAffiliationService()->findAffiliationWithMissingLoi(); $page = $this->params('page'); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($affiliation, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return new ViewModel(['paginator' => $paginator]); }
/** * Get user's membership connections * * @param integer $userId * @param integer $page * @param integer $perPage * @return \Zend\Paginator\Paginator */ public function getUserMembershipConnections($userId, $page = 1, $perPage = 0) { $select = $this->select(); $select->from(['a' => 'membership_level_connection'])->columns(['id', 'active', 'expire_date', 'expire_value'])->join(['b' => 'membership_level'], 'a.membership_id = b.id', ['title', 'role_id', 'cost', 'lifetime', 'expiration_notification', 'description', 'language', 'image'])->where(['user_id' => $userId])->order('a.id'); $paginator = new Paginator(new DbSelectPaginator($select, $this->adapter)); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($perPage); $paginator->setPageRange(SettingService::getSetting('application_page_range')); return $paginator; }
/** * Get images * * @param integer $page * @param integer $category * @param integer $perPage * @return \Zend\Paginator\Paginator */ public function getImages($page, $category, $perPage) { $select = $this->select(); $select->from('miniphotogallery_image')->columns(['name', 'description', 'image'])->order('order asc, created desc')->where(['category_id' => $category]); $paginator = new Paginator(new DbSelectPaginator($select, $this->adapter)); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($perPage); $paginator->setPageRange(SettingService::getSetting('application_page_range')); return $paginator; }
/** * @group ZF-4193 */ public function testCastsIntegerValuesToInteger() { // Current page number $this->paginator->setCurrentPageNumber(3.3); $this->assertTrue($this->paginator->getCurrentPageNumber() == 3); // Item count per page $this->paginator->setItemCountPerPage(3.3); $this->assertTrue($this->paginator->getItemCountPerPage() == 3); // Page range $this->paginator->setPageRange(3.3); $this->assertTrue($this->paginator->getPageRange() == 3); }
/** * @return ViewModel */ public function overviewAction() { $which = $this->params('which', CalendarService::WHICH_UPCOMING); $page = $this->params('page', 1); $calendarItems = $this->getCalendarService()->findCalendarItems($which, $this->zfcUserAuthentication()->getIdentity()); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($calendarItems))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $whichValues = $this->getCalendarService()->getWhichValues(); return new ViewModel(['enableCalendarContact' => $this->getModuleOptions()->getCommunityCalendarContactEnabled(), 'which' => $which, 'paginator' => $paginator, 'whichValues' => $whichValues]); }
/** * @return \Zend\View\Model\ViewModel */ public function listAction() { $page = $this->params()->fromRoute('page', 1); $filterPlugin = $this->getGeneralFilter(); $contactQuery = $this->getGeneralService()->findEntitiesFiltered('gender', $filterPlugin->getFilter()); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($contactQuery, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 20); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $form = new GenderFilter($this->getGeneralService()); $form->setData(['filter' => $filterPlugin->getFilter()]); return new ViewModel(['paginator' => $paginator, 'form' => $form, 'encodedFilter' => urlencode($filterPlugin->getHash()), 'order' => $filterPlugin->getOrder(), 'direction' => $filterPlugin->getDirection()]); }
public function listAction() { $repository = $this->getDoctrine()->getRepository('CMSBlogBundle:Post'); $query = $repository->createQueryBuilder('p')->select(array('p', 'pc'))->leftJoin('p.category', 'pc')->orderBy('p.id', 'DESC')->getQuery(); $adapter = $this->get('knp_paginator.adapter'); $adapter->setQuery($query); $adapter->setDistinct(true); $paginator = new Paginator($adapter); $paginator->setCurrentPageNumber($this->get('request')->query->get('page', 1)); $paginator->setItemCountPerPage(15); $paginator->setPageRange(5); return $this->render('CMSBlogBundle:Post:list.html.twig', array('paginator' => $paginator)); }
public function getPage($pageNo, $where = null) { $sql = new Sql($this->adapter); $select = $sql->select(); $select->from($this->name); $select->where($where); $select->order('id asc'); $adapter = new DbSelect($select, $sql); $paginator = new Paginator($adapter); $paginator->setCurrentPageNumber($pageNo); $paginator->setItemCountPerPage(10); $paginator->setPageRange(5); return $paginator; }
public function indexAction() { $getuser = $this->forward()->dispatch('Admin\\Controller\\Index', array('action' => 'getuser')); if (!$getuser) { // not yet login $this->redirect()->toRoute('home'); } $this->layout()->getuser = $getuser; $this->layout('layout/apotravinyadmin'); $NameTable = $this->getServiceLocator()->get('NameTable'); $allRecord = $NameTable->countAll(); $pageNull = new PageNull($allRecord); $itemsPerPage = 10; $pageRange = 5; $page = $this->params()->fromRoute('page', 1); $offset = ($page - 1) * $itemsPerPage; $paginator = new Paginator($pageNull); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($itemsPerPage); $paginator->setPageRange($pageRange); $listpr_tmp = $NameTable->getList($offset, $itemsPerPage); $i = 0; $listpr = array(); foreach ($listpr_tmp as $key => $Object) { if ($Object->parent != null) { $name_parent = $NameTable->parent_find($Object->parent); if ($name_parent != 0) { $naem_pare = $name_parent; } else { $naem_pare = 'null'; } } $listpr[$i]->id = $Object->id; $listpr[$i]->name = $Object->name; $listpr[$i]->parent = $name_parent; $listpr[$i]->child = $Object->child; $listpr[$i]->date_creat = $Object->date_creat; $listpr[$i]->date_modified = $Object->date_modified; $listpr[$i]->hot = $Object->hot; $listpr[$i]->status = $Object->status; $listpr[$i]->new = $Object->new; $listpr[$i]->alias = $Object->alias; $listpr[$i]->img = $Object->img; $listpr[$i]->description = $Object->description; $i++; } $Array_name_data = $this->get_name_dataAction(); return new ViewModel(array('listNews' => $listpr, 'paginator' => $paginator, 'allRecord' => $allRecord, 'offset' => $offset, 'itemsPerPage' => $itemsPerPage, 'NameData' => $Array_name_data)); }
/** * @return ViewModel */ public function viewAction() { $organisationService = $this->getOrganisationService()->setOrganisationId($this->params('id')); $page = $this->params()->fromRoute('page', 1); $filterPlugin = $this->getInvoiceFilter(); $invoiceQuery = $this->getInvoiceService()->findEntitiesFiltered('invoice', array_merge($filterPlugin->getFilter(), ['organisation' => [$organisationService->getOrganisation()->getId()]])); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($invoiceQuery, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); $form = new InvoiceFilter($this->getInvoiceService()); $form->setData(['filter' => $filterPlugin->getFilter()]); $projects = $this->getProjectService()->findProjectByOrganisation($organisationService->getOrganisation(), ProjectService::WHICH_ALL); return new ViewModel(['paginator' => $paginator, 'form' => $form, 'encodedFilter' => urlencode($filterPlugin->getHash()), 'order' => $filterPlugin->getOrder(), 'direction' => $filterPlugin->getDirection(), 'organisationService' => $organisationService, 'organisationDoa' => $this->getDoaService()->findDoaByOrganisation($organisationService->getOrganisation()), 'organisationLoi' => $this->getLoiService()->findLoiByOrganisation($organisationService->getOrganisation()), 'projects' => $projects, 'projectService' => $this->getProjectService()]); }
/** * @return ViewModel */ public function listAction() { $paginator = null; $searchForm = new Search(); $search = $this->getRequest()->getQuery()->get('search'); $page = $this->getRequest()->getQuery()->get('page'); $searchForm->setData($_GET); if ($this->getRequest()->isGet() && $searchForm->isValid() && !empty($search)) { $contactSearchQuery = $this->getContactService()->searchContacts($search); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($contactSearchQuery))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); } return new ViewModel(['paginator' => $paginator, 'form' => $searchForm]); }
/** * @return ViewModel */ public function listAction() { if (!is_null($this->params('call'))) { $this->getCallService()->setCallId($this->params('call')); } if (!is_null($this->params('program'))) { $this->getProgramService()->setProgramId($this->params('program')); } $page = $this->params('page'); $projects = $this->getProjectService()->findProjectByContactByProgramOrCall($this->zfcUserAuthentication()->getIdentity(), ProjectService::WHICH_ALL, !$this->getProgramService()->isEmpty() ? $this->getProgramService()->getProgram() : null, !$this->getCallService()->isEmpty() ? $this->getCallService()->getCall() : null, null, $this->params()->fromQuery('q')); $paginator = new Paginator(new PaginatorAdapter(new ORMPaginator($projects, false))); $paginator->setDefaultItemCountPerPage($page === 'all' ? PHP_INT_MAX : 15); $paginator->setCurrentPageNumber($page); $paginator->setPageRange(ceil($paginator->getTotalItemCount() / $paginator->getDefaultItemCountPerPage())); return new ViewModel(['paginator' => $paginator, 'search' => $this->params()->fromQuery('q'), 'calls' => $this->getCallService()->findNonEmptyCalls(), 'callId' => $this->getCallService()->isEmpty() ? null : $this->getCallService()->getCall()->getId(), 'selectedProgramId' => $this->getProgramService()->isEmpty() ? null : $this->getProgramService()->getProgram()->getId()]); }
public function listNewsAction() { $ContactTable = $this->getServiceLocator()->get('ContactTable'); $allRecord = $ContactTable->countAll(); $pageNull = new PageNull($allRecord); $itemsPerPage = 20; $pageRange = 5; $page = $this->params()->fromRoute('page', 1); $offset = ($page - 1) * $itemsPerPage; $paginator = new Paginator($pageNull); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($itemsPerPage); $paginator->setPageRange($pageRange); $listpr = $ContactTable->getList($offset, $itemsPerPage); return new ViewModel(array('listNews' => $listpr, 'paginator' => $paginator, 'allRecord' => $allRecord, 'offset' => $offset, 'itemsPerPage' => $itemsPerPage)); }
public function indexAction() { /** @var QueryBuilder $qb */ $qb = $this->getObjectManager()->createQueryBuilder(); $qb->select('w')->from(Word::class, 'w'); $form = new WordSearchForm(); $form->setData($this->params()->fromQuery()); $form->setInputFilter(new WordSearchInputFilter()); // it doesn't matter if the form is not valid, as we would fill in default values anyway. This is just to avoid the default error messages $form->isValid(); // set query, direction and order for the querybuilder $direction = strtolower($form->getData()['d']); $direction = $direction == 'desc' ? 'desc' : 'asc'; $orderBy = strtolower($form->getData()['o']); switch ($orderBy) { case 'created': $order = 'createdAt'; break; case 'updated': $order = 'updatedAt'; break; default: $orderBy = $order = 'word'; break; } $qb->orderBy('w.' . $order, $direction); // no need to avoid SQL injection, as doctrine does this for us $query = $form->getData()['q']; $qb->where('w.word LIKE :query')->setParameter('query', '%' . $query . '%'); $itemsPerPage = 50; // set up the paginator $adapter = new DoctrineAdapter(new ORMPaginator($qb->getQuery())); $paginator = new Paginator($adapter); $paginator->setDefaultItemCountPerPage(50); $page = (int) $this->params()->fromQuery('p'); if ($page != null) { $paginator->setCurrentPageNumber($page); } else { $paginator->setCurrentPageNumber(1); } $pages = $paginator->getTotalItemCount() / $itemsPerPage; $paginator->setPageRange($pages); $viewModel = new ViewModel(); $viewModel->setVariables(['words' => $paginator->getCurrentItems(), 'pageCount' => $paginator->getPageRange() + 1, 'currentPage' => $paginator->getCurrentPageNumber(), 'orderBy' => $orderBy, 'direction' => $direction, 'query' => $query, 'form' => $form]); return $viewModel; }
/** * @return ViewModel */ public function searchAction() { $searchItem = $this->getRequest()->getQuery()->get('search_item'); $maxResults = $this->getRequest()->getQuery()->get('max_rows', 12); $countryId = $this->getRequest()->getQuery()->get('country'); $searchResult = $this->getOrganisationService()->searchOrganisation($searchItem, $maxResults, $countryId); /** * Include a paginator to be able to have later paginated search results in pages */ $paginator = new Paginator(new ArrayAdapter($searchResult)); $paginator->setDefaultItemCountPerPage($maxResults); $paginator->setCurrentPageNumber(1); $paginator->setPageRange(1); $viewModel = new ViewModel(['paginator' => $paginator, 'organisationService' => $this->getOrganisationService()]); $viewModel->setTerminal(true); $viewModel->setTemplate('organisation/partial/list/organisation-search'); return $viewModel; }
public function listAction() { $pagerAction = $this->handlePager(); $limit = $this->getLimit($this->defaultPageSize); $page = $this->getRequest()->getQuery('page', 0); $sort = $this->getRequest()->getQuery('sort', $this->defaultSort); $order = $this->getRequest()->getQuery('order', $this->defaultOrder); if (empty($sort)) { $sort = $this->defaultSort; } $offset = $limit * $page - $limit; if ($offset < 0) { $offset = 0; } /* @var $qb \Doctrine\ORM\QueryBuilder */ $qb = $this->getEntityManager()->createQueryBuilder(); $qb->add('select', 'e')->add('from', $this->getEntityClass() . ' e')->setFirstResult($offset)->setMaxResults($limit); $sortable = false; if ($sort == 'count') { $qb->groupBy('e'); $qb->addSelect('COUNT(v.id) AS HIDDEN vcount'); $qb->leftJoin('e.values', 'v'); $qb->orderBy('vcount', $order); } elseif ($sort == 'attributeOrder') { $sortable = true; $qb->addSelect('-e.attributeOrder AS HIDDEN vcount'); $qb->orderBy('vcount', $this->reverseOrder($order)); } else { $qb->orderBy('e.' . $sort, $order); } $qb = $this->handleSearch($qb); $pager = $this->getPagerForm($limit); $q = $qb->getQuery(); $q->setMaxResults($limit); $q->setFirstResult($offset); $paginator = new Paginator(new DoctrinePaginatorAdapter(new DoctrinePaginator($q, $fetchJoin = true))); $paginator->setDefaultItemCountPerPage($limit); $paginator->setCurrentPageNumber($page); $paginator->setPageRange($this->paginatorRange); $ui = ['table' => ["attributeOrder" => ["col" => 1, "label" => "Order", "sort" => true], "attributeDesc" => ["col" => $sortable ? 7 : 8, "label" => "Attribute", "sort" => true], "count" => ["col" => 1, "label" => "# Leads", "sort" => true]]]; $filters = $this->getFilterForm($this->params()->fromQuery()); return ['paginator' => $paginator, 'filters' => $filters, 'sort' => $sort, 'order' => $order, 'page' => $page, 'pager' => $pager, 'query' => $this->params()->fromQuery(), 'ui' => $ui, 'isAdmin' => $this->isAdmin(), 'sortable' => $sortable, 'history' => $this->setHistory()]; }