vendor/tchoulom/view-counter-bundle/Manager/CounterManager.php line 45

Open in your IDE?
  1. <?php
  2. /**
  3.  * This file is part of the TchoulomViewCounterBundle package.
  4.  *
  5.  * @package    TchoulomViewCounterBundle
  6.  * @author     Original Author <tchoulomernest@yahoo.fr>
  7.  *
  8.  * (c) Ernest TCHOULOM
  9.  *
  10.  * For the full copyright and license information, please view the LICENSE
  11.  * file that was distributed with this source code.
  12.  */
  13. namespace Tchoulom\ViewCounterBundle\Manager;
  14. use Tchoulom\ViewCounterBundle\Entity\ViewCounterInterface;
  15. use Tchoulom\ViewCounterBundle\Repository\RepositoryInterface;
  16. /**
  17.  * Class CounterManager
  18.  */
  19. class CounterManager
  20. {
  21.     /**
  22.      * @var RepositoryInterface
  23.      */
  24.     protected $counterRepository;
  25.     /**
  26.      * CounterManager constructor.
  27.      * @param RepositoryInterface $counterRepository
  28.      */
  29.     public function __construct(RepositoryInterface $counterRepository)
  30.     {
  31.         $this->counterRepository $counterRepository;
  32.     }
  33.     /**
  34.      * Saves the object.
  35.      *
  36.      * @param $object
  37.      */
  38.     public function save($object)
  39.     {
  40.         $this->counterRepository->save($object);
  41.     }
  42.     /**
  43.      * Finds One By.
  44.      *
  45.      * @param array $criteria
  46.      * @param null $orderBy
  47.      * @param null $limit
  48.      * @param null $offset
  49.      *
  50.      * @return mixed
  51.      */
  52.     public function findOneBy(array $criteria$orderBy null$limit null$offset null)
  53.     {
  54.         $result $this->counterRepository->findOneBy($criteria$orderBy$limit$offset);
  55.         return $result;
  56.     }
  57.     /**
  58.      * Loads Metadata.
  59.      *
  60.      * @param $object
  61.      *
  62.      * @return $this
  63.      */
  64.     public function loadMetadata($object)
  65.     {
  66.         $this->metadata $this->counterRepository->loadMetadata($object);
  67.         return $this;
  68.     }
  69.     /**
  70.      * Gets the property.
  71.      *
  72.      * @return mixed
  73.      */
  74.     public function getProperty()
  75.     {
  76.         return $this->counterRepository->getProperty();
  77.     }
  78.     public function getMappings()
  79.     {
  80.         return $this->counterRepository->getMappings();
  81.     }
  82.     /**
  83.      * Gets the Class.
  84.      *
  85.      * @return mixed
  86.      */
  87.     public function getClass()
  88.     {
  89.         return $this->counterRepository->getClass();
  90.     }
  91.     /**
  92.      * Cleanup the viewcounter data.
  93.      *
  94.      * @param \DateTimeInterface|null $min The min view date
  95.      * @param \DateTimeInterface|null $max the max view date
  96.      *
  97.      * @return int The number of rows deleted.
  98.      */
  99.     public function cleanup(\DateTimeInterface $min null\DateTimeInterface $max null): int
  100.     {
  101.         return $this->counterRepository->cleanup($min$max);
  102.     }
  103.     /**
  104.      * Loads the ViewCounter data.
  105.      *
  106.      * @return ViewCounterInterface[]
  107.      */
  108.     public function loadViewCounterData()
  109.     {
  110.         return $this->counterRepository->loadViewCounterData();
  111.     }
  112.     /**
  113.      * Sets the property.
  114.      *
  115.      * @param ViewCounterInterface $viewcounter
  116.      *
  117.      * @return ViewCounterInterface
  118.      */
  119.     public function setProperty(ViewCounterInterface $viewcounter): ViewCounterInterface
  120.     {
  121.         $this->loadMetadata($viewcounter);
  122.         foreach ($this->getMappings() as $mapping) {
  123.             $property $mapping['fieldName'];
  124.             $viewcounter->setProperty($property);
  125.             if ($viewcounter->getPage() !== null) {
  126.                 $viewcounter->setProperty($property);
  127.                 break;
  128.             }
  129.         }
  130.         return $viewcounter;
  131.     }
  132. }