/**
  * Get items to render on current page
  *
  * @access public
  * @param  $string
  * @return null
  */
 public function getItemsByPage($page = null)
 {
     if (NULL === $page) {
         $page = $this->getCurrentPageNumber();
     }
     return parent::getItemsByPage($page);
 }
Beispiel #2
0
    public function testCacheDoesNotDisturbResultsWhenChangingParam()
    {
        $this->_paginator->setCurrentPageNumber(1)->getCurrentItems();
        $pageItems = $this->_paginator->setItemCountPerPage(5)->getCurrentItems();

        $expected = new \ArrayIterator(range(1, 5));
        $this->assertEquals($expected, $pageItems);

        $pageItems = $this->_paginator->getItemsByPage(2);
        $expected = new \ArrayIterator(range(6, 10));
        $this->assertEquals($expected, $pageItems);

        // change the inside Paginator scale
        $pageItems = $this->_paginator->setItemCountPerPage(8)->setCurrentPageNumber(3)->getCurrentItems();

        $pageItems = $this->_paginator->getPageItemCache();
        $expected = array(3 => new \ArrayIterator(range(17, 24)));
        $this->assertEquals($expected, $pageItems);

        // get back to already cached data
        $this->_paginator->setItemCountPerPage(5);
        $pageItems = $this->_paginator->getPageItemCache();
        $expected =array(1 => new \ArrayIterator(range(1, 5)),
                         2 => new \ArrayIterator(range(6, 10)));
        $this->assertEquals($expected, $pageItems);
    }
 /**
  * Lists all servicePacks matching a criteria
  */
 public function indexAction()
 {
     // Check permissions
     $sp = new ServicePackModel();
     $this->_helper->allowed('list', $sp);
     // Pagination
     $params = $this->_getPaginatorParams();
     // Filters
     $filters = $this->_mapToFilter($this->_getFilterParams());
     $this->_checkFilterParams($filters, ServicePackFilterFields::getWhiteList());
     $filterList = $this->_spSrv->buildFilterList($filters);
     $this->_helper->filterNotAllowedFilters('filter_by', $filterList);
     // Search
     $spList = $this->_spSrv->listAll($filterList, $params);
     if ($spList) {
         $list = array();
         foreach ($spList->getItems() as $item) {
             try {
                 $this->_helper->allowed('read', $item);
                 $this->_helper->filterNotAllowedFields('read_field', $item);
                 $list[] = $item;
             } catch (Exception $e) {
                 // Do nothing
             }
         }
         // Simulate pagination
         $it = new ArrayIterator($list);
         $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Iterator($it));
         $paginator->setItemCountPerPage($params['count']);
         // Result
         $iterator = $paginator->getItemsByPage($params['page']);
         $this->view->servicePacks = iterator_to_array($iterator, false);
     }
 }
Beispiel #4
0
 public function testGetsItemsByPage()
 {
     $expected = new ArrayIterator(range(1, 10));
     $page1 = $this->_paginator->getItemsByPage(1);
     $this->assertEquals($page1, $expected);
     $this->assertEquals($page1, $this->_paginator->getItemsByPage(1));
 }