<?phpnamespace App\AtechNet\CoreBundle\Entity;use App\AtechNet\CoreBundle\Helper\CloudflareImage;use Doctrine\ORM\Mapping\Column;use Doctrine\ORM\Mapping\Entity;use Doctrine\ORM\Mapping\JoinColumn;use Doctrine\ORM\Mapping\ManyToOne;use Doctrine\ORM\Mapping\Table as Table;/** * ReviewSurveyMedia * * @Table(name="review_survey_media") * @Entity() */class ReviewSurveyMedia extends AbstractSignedEntity{ /** * @var Review * * @ManyToOne(targetEntity="Review", inversedBy="surveyMedias") * @JoinColumn(name="review_id", referencedColumnName="id") */ private $review; /** * @var SurveyMedia * * @ManyToOne(targetEntity="SurveyMedia", inversedBy="reviews") * @JoinColumn(name="survey_media_id", referencedColumnName="id") */ private $surveyMedia; /** * @var bool * * @Column(name="approved", type="boolean") */ private $approved = false; /** * @var string * * @Column(name="cloudflare_id", type="string", length=256, nullable=true) */ private $cloudflareId; /** * @return Review */ public function getReview() { return $this->review; } /** * @param Review $review */ public function setReview($review) { $this->review = $review; } /** * @return SurveyMedia */ public function getSurveyMedia() { return $this->surveyMedia; } /** * @param SurveyMedia $surveyMedia */ public function setSurveyMedia($surveyMedia) { $this->surveyMedia = $surveyMedia; } /** * @return bool */ public function isApproved() { return $this->approved; } /** * @param bool $approved */ public function setApproved($approved) { $this->approved = $approved; } /** * @return string|null */ public function getCloudflareId(): ?string { return $this->cloudflareId; } /** * @param string|null $cloudflareId */ public function setCloudflareId(?string $cloudflareId): void { $this->cloudflareId = $cloudflareId; } /** * @param string $variant * @return string */ public function getCdnUrl(string $variant): string { if (!is_null($this->cloudflareId)) { return 'https://imagedelivery.net/' . CloudflareImage::ACCOUNT_HASH . '/' . $this->cloudflareId . '/' . $variant; } return ''; }}