Пример #1
0
 /**
  * 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));
 }
Пример #2
0
 /**
  * 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));
 }
Пример #3
0
 /**
  * @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);
 }
Пример #4
0
 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));
 }
Пример #6
0
 public function testNoPagesBeforeSecondLastPageEqualsPageRangeMinTwo()
 {
     $this->paginator->setPageRange(3);
     $this->paginator->setCurrentPageNumber(19);
     $pages = $this->paginator->getPages('Elastic');
     $this->assertEquals(5, count($pages->pagesInRange));
 }
Пример #7
0
 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()];
 }
Пример #8
0
 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];
 }
Пример #9
0
 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));
 }
Пример #10
0
 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));
 }
Пример #11
0
 /**
  * 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;
 }
Пример #12
0
 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);
 }
Пример #13
0
 /**
  * @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]);
 }
Пример #14
0
 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;
 }
Пример #18
0
 /**
  * @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]);
 }
Пример #20
0
 /**
  * @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()]);
 }
Пример #21
0
 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));
 }
Пример #22
0
 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;
 }
Пример #23
0
 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()]);
 }
Пример #25
0
 /**
  * @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]);
 }
Пример #26
0
 /**
  * @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()]);
 }
Пример #27
0
 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));
 }
Пример #28
0
 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()];
 }