vendor/knplabs/knp-components/src/Knp/Component/Pager/Event/Subscriber/Paginate/PaginationSubscriber.php line 18

Open in your IDE?
  1. <?php
  2. namespace Knp\Component\Pager\Event\Subscriber\Paginate;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Knp\Component\Pager\Event\PaginationEvent;
  5. use Knp\Component\Pager\Event\BeforeEvent;
  6. use Knp\Component\Pager\Pagination\SlidingPagination;
  7. class PaginationSubscriber implements EventSubscriberInterface
  8. {
  9.     /**
  10.      * Lazy-load state tracker
  11.      * @var bool
  12.      */
  13.     private $isLoaded false;
  14.     public function pagination(PaginationEvent $event)
  15.     {
  16.         $event->setPagination(new SlidingPagination);
  17.         $event->stopPropagation();
  18.     }
  19.     public function before(BeforeEvent $event)
  20.     {
  21.         // Do not lazy-load more than once
  22.         if ($this->isLoaded) {
  23.             return;
  24.         }
  25.         $disp $event->getEventDispatcher();
  26.         // hook all standard subscribers
  27.         $disp->addSubscriber(new ArraySubscriber);
  28.         $disp->addSubscriber(new Doctrine\ORM\QueryBuilderSubscriber);
  29.         $disp->addSubscriber(new Doctrine\ORM\QuerySubscriber\UsesPaginator);
  30.         $disp->addSubscriber(new Doctrine\ORM\QuerySubscriber);
  31.         $disp->addSubscriber(new Doctrine\ODM\MongoDB\QueryBuilderSubscriber);
  32.         $disp->addSubscriber(new Doctrine\ODM\MongoDB\QuerySubscriber);
  33.         $disp->addSubscriber(new Doctrine\ODM\PHPCR\QueryBuilderSubscriber);
  34.         $disp->addSubscriber(new Doctrine\ODM\PHPCR\QuerySubscriber);
  35.         $disp->addSubscriber(new Doctrine\CollectionSubscriber);
  36.         $disp->addSubscriber(new Doctrine\DBALQueryBuilderSubscriber);
  37.         $disp->addSubscriber(new PropelQuerySubscriber);
  38.         $disp->addSubscriber(new SolariumQuerySubscriber());
  39.         $disp->addSubscriber(new ElasticaQuerySubscriber());
  40.         $this->isLoaded true;
  41.     }
  42.     public static function getSubscribedEvents()
  43.     {
  44.         return array(
  45.             'knp_pager.before' => array('before'0),
  46.             'knp_pager.pagination' => array('pagination'0)
  47.         );
  48.     }
  49. }