![]() 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/AssetBundle/Entity/ |
<?php namespace Mautic\AssetBundle\Entity; use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping as ORM; use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder; use Mautic\CoreBundle\Entity\IpAddress; use Mautic\EmailBundle\Entity\Email; class Download { public const TABLE_NAME = 'asset_downloads'; /** * @var string */ private $id; /** * @var \DateTimeInterface */ private $dateDownload; /** * @var Asset|null */ private $asset; /** * @var IpAddress|null */ private $ipAddress; /** * @var \Mautic\LeadBundle\Entity\Lead|null */ private $lead; /** * @var int */ private $code; /** * @var string|null */ private $referer; /** * @var string */ private $trackingId; /** * @var string|null */ private $source; /** * @var int|null */ private $sourceId; /** * @var Email|null */ private $email; private ?string $utmCampaign = null; private ?string $utmContent = null; private ?string $utmMedium = null; private ?string $utmSource = null; private ?string $utmTerm = null; public static function loadMetadata(ORM\ClassMetadata $metadata): void { $builder = new ClassMetadataBuilder($metadata); $builder->setTable(self::TABLE_NAME) ->setCustomRepositoryClass(DownloadRepository::class) ->addIndex(['tracking_id'], 'download_tracking_search') ->addIndex(['source', 'source_id'], 'download_source_search') ->addIndex(['date_download'], 'asset_date_download'); $builder->addBigIntIdField(); $builder->createField('dateDownload', 'datetime') ->columnName('date_download') ->build(); $builder->createManyToOne('asset', 'Asset') ->addJoinColumn('asset_id', 'id', true, false, 'CASCADE') ->build(); $builder->addIpAddress(true); $builder->addLead(true, 'SET NULL'); $builder->addField('code', 'integer'); $builder->createField('referer', 'text') ->nullable() ->build(); $builder->createField('trackingId', 'string') ->columnName('tracking_id') ->build(); $builder->createField('source', 'string') ->nullable() ->build(); $builder->createField('sourceId', 'integer') ->columnName('source_id') ->nullable() ->build(); $builder->createManyToOne('email', Email::class) ->addJoinColumn('email_id', 'id', true, false, 'SET NULL') ->build(); $builder->createField('utmCampaign', Types::STRING) ->columnName('utm_campaign') ->nullable() ->build(); $builder->createField('utmContent', Types::STRING) ->columnName('utm_content') ->nullable() ->build(); $builder->createField('utmMedium', Types::STRING) ->columnName('utm_medium') ->nullable() ->build(); $builder->createField('utmSource', Types::STRING) ->columnName('utm_source') ->nullable() ->build(); $builder->createField('utmTerm', Types::STRING) ->columnName('utm_term') ->nullable() ->build(); } /** * Get id. */ public function getId(): int { return (int) $this->id; } /** * Set dateDownload. * * @param \DateTime $dateDownload * * @return Download */ public function setDateDownload($dateDownload) { $this->dateDownload = $dateDownload; return $this; } /** * Get dateDownload. * * @return \DateTimeInterface */ public function getDateDownload() { return $this->dateDownload; } /** * Set code. * * @param int $code * * @return Download */ public function setCode($code) { $this->code = $code; return $this; } /** * Get code. * * @return int */ public function getCode() { return $this->code; } /** * Set referer. * * @param string $referer * * @return Download */ public function setReferer($referer) { $this->referer = $referer; return $this; } /** * Get referer. * * @return string */ public function getReferer() { return $this->referer; } /** * Set asset. * * @return Download */ public function setAsset(Asset $asset = null) { $this->asset = $asset; return $this; } /** * Get asset. * * @return Asset */ public function getAsset() { return $this->asset; } /** * @return Download */ public function setIpAddress(IpAddress $ipAddress) { $this->ipAddress = $ipAddress; return $this; } /** * @return IpAddress */ public function getIpAddress() { return $this->ipAddress; } /** * Set trackingId. * * @param int $trackingId * * @return Download */ public function setTrackingId($trackingId) { $this->trackingId = $trackingId; return $this; } /** * Get trackingId. * * @return int */ public function getTrackingId() { return $this->trackingId; } /** * @return mixed */ public function getLead() { return $this->lead; } /** * @param mixed $lead */ public function setLead($lead): void { $this->lead = $lead; } /** * @return mixed */ public function getSource() { return $this->source; } /** * @param mixed $source */ public function setSource($source): void { $this->source = $source; } /** * @return int */ public function getSourceId() { return $this->sourceId; } /** * @param mixed $sourceId */ public function setSourceId($sourceId): void { $this->sourceId = (int) $sourceId; } /** * @return mixed */ public function getEmail() { return $this->email; } /** * @param mixed $email */ public function setEmail(Email $email): void { $this->email = $email; } public function getUtmCampaign(): ?string { return $this->utmCampaign; } public function setUtmCampaign(?string $utmCampaign): static { $this->utmCampaign = $utmCampaign; return $this; } public function getUtmContent(): ?string { return $this->utmContent; } public function setUtmContent(?string $utmContent): static { $this->utmContent = $utmContent; return $this; } public function getUtmMedium(): ?string { return $this->utmMedium; } public function setUtmMedium(?string $utmMedium): static { $this->utmMedium = $utmMedium; return $this; } public function getUtmSource(): ?string { return $this->utmSource; } public function setUtmSource(?string $utmSource): static { $this->utmSource = $utmSource; return $this; } public function getUtmTerm(): ?string { return $this->utmTerm; } public function setUtmTerm(?string $utmTerm): static { $this->utmTerm = $utmTerm; return $this; } }