Skip to content

Commit

Permalink
Merge pull request #7 from overgapo/replace-zend-with-pagerfanta
Browse files Browse the repository at this point in the history
Replaced Zend paginator with Pagerfanta
  • Loading branch information
AlexKovalevych committed Jul 30, 2014
2 parents 908a205 + 7e4912c commit 1f8715b
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 31 deletions.
3 changes: 0 additions & 3 deletions Controller/PhotoController.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;

use Zend\Paginator\Paginator;
use Zend\Paginator\Adapter\ArrayAdapter;

use FOQ\AlbumBundle\Model\AlbumInterface;
use FOQ\AlbumBundle\Document\Photo;

Expand Down
27 changes: 8 additions & 19 deletions Provider/AbstractProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,24 @@
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Doctrine\ODM\MongoDB\Query\Builder;

use Zend\Paginator\Paginator;
use ZendPaginatorAdapter\DoctrineMongoDBAdapter;
use Zend\Paginator\Adapter\ArrayAdapter;
use Pagerfanta\Pagerfanta;
use Pagerfanta\Adapter\DoctrineODMMongoDBAdapter;
use Pagerfanta\Adapter\ArrayAdapter;

abstract class AbstractProvider
{
protected $itemCountPerPage;
protected $pageRange;

public function getItemCountPerPage()
{
return $this->itemCountPerPage;
}

public function setItemCountPerPage($itemCountPerPage)
{
$this->itemCountPerPage = $itemCountPerPage;
}

public function getPageRange()
{
return $this->pageRange;
}
public function setPageRange($pageRange)
{
$this->pageRange = $pageRange;
}

protected function incrementImpressions($object)
{
$hash = md5(get_class($object).$object->getId());
Expand All @@ -57,15 +48,13 @@ protected function getUser($username)
protected function paginate($data)
{
if ($data instanceof Builder) {
$adapter = new DoctrineMongoDBAdapter($data);
$adapter = new DoctrineODMMongoDBAdapter($data);
} else {
$adapter = new ArrayAdapter($data);
}
$paginator = new Paginator($adapter);

$paginator->setCurrentPageNumber($this->request->get('page', 1));
$paginator->setItemCountPerPage($this->getItemCountPerPage());
$paginator->setPageRange($this->getPageRange());
$paginator = new Pagerfanta($adapter);
$paginator->setCurrentPage($this->request->get('page', 1));
$paginator->setMaxPerPage($this->getItemCountPerPage());

return $paginator;
}
Expand Down
3 changes: 0 additions & 3 deletions Provider/PhotoProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Doctrine\ODM\MongoDB\Query\Builder;
use Doctrine\ODM\MongoDB\DocumentManager;
use Zend\Paginator\Paginator;
use ZendPaginatorAdapter\DoctrineMongoDBAdapter;
use Zend\Paginator\Adapter\ArrayAdapter;

/**
* High level object finder that uses the route parameters as method arguments
Expand Down
6 changes: 0 additions & 6 deletions Resources/config/provider.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@
<call method="setItemCountPerPage">
<argument>%foq_album.provider.album.item_count_per_page%</argument>
</call>
<call method="setPageRange">
<argument>%foq_album.provider.album.page_range%</argument>
</call>
</service>
<service id="foq_album.provider.photo.default" class="FOQ\AlbumBundle\Provider\PhotoProvider" scope="request" public="false">
<argument type="service" id="foq_album.repository.photo" />
Expand All @@ -29,9 +26,6 @@
<call method="setItemCountPerPage">
<argument>%foq_album.provider.photo.item_count_per_page%</argument>
</call>
<call method="setPageRange">
<argument>%foq_album.provider.photo.page_range%</argument>
</call>
</service>
</services>

Expand Down

0 comments on commit 1f8715b

Please sign in to comment.