![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/PageBundle/Entity/ |
<?php namespace Mautic\PageBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Mautic\ApiBundle\Serializer\Driver\ApiMetadataDriver; use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder; use Mautic\CoreBundle\Entity\FormEntity; class Redirect extends FormEntity { /** * @var string */ private $id; /** * @var string */ private $redirectId; private $url; /** * @var int */ private $hits = 0; /** * @var int */ private $uniqueHits = 0; /** * @var ArrayCollection<int, Trackable> */ private $trackables; public function __construct() { $this->trackables = new ArrayCollection(); } public static function loadMetadata(ORM\ClassMetadata $metadata): void { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('page_redirects') ->setCustomRepositoryClass(RedirectRepository::class); $builder->addBigIntIdField(); $builder->createField('redirectId', 'string') ->columnName('redirect_id') ->length(25) ->build(); $builder->addField('url', 'text'); $builder->addField('hits', 'integer'); $builder->createField('uniqueHits', 'integer') ->columnName('unique_hits') ->build(); $builder->createOneToMany('trackables', 'Trackable') ->mappedBy('redirect') ->fetchExtraLazy() ->build(); } /** * Prepares the metadata for API usage. */ public static function loadApiMetadata(ApiMetadataDriver $metadata): void { $metadata->setGroupPrefix('redirect') ->addListProperties( [ 'id', 'redirectId', 'url', ] ) ->addProperties( [ 'hits', 'uniqueHits', ] ) ->build(); } public function getId(): int { return (int) $this->id; } /** * @return string */ public function getRedirectId() { return $this->redirectId; } /** * @param string $redirectId */ public function setRedirectId($redirectId = null): void { if (null === $redirectId) { $redirectId = substr(hash('sha1', uniqid(mt_rand())), 0, 25); } $this->redirectId = $redirectId; } /** * @return string */ public function getUrl() { return $this->url; } /** * @param string $url */ public function setUrl($url): void { $this->url = $url; } /** * Set hits. * * @param int $hits * * @return Page */ public function setHits($hits) { $this->hits = $hits; return $this; } /** * Get hits. * * @return int */ public function getHits() { return $this->hits; } /** * Set uniqueHits. * * @param int $uniqueHits * * @return Page */ public function setUniqueHits($uniqueHits) { $this->uniqueHits = $uniqueHits; return $this; } /** * Get uniqueHits. * * @return int */ public function getUniqueHits() { return $this->uniqueHits; } /** * @return ArrayCollection */ public function getTrackableList() { return $this->trackables; } /** * @param ArrayCollection $trackables * * @return Redirect */ public function setTrackables($trackables) { $this->trackables = $trackables; return $this; } }