src/CasinoBundle/Entity/SocialNetwork.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\CasinoBundle\Entity;
  3. use App\CasinoBundle\Enum\SocialNetworkEnum;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6.  * BonusType
  7.  *
  8.  * @ORM\Table(name="social_network")
  9.  * @ORM\Entity(repositoryClass="App\CasinoBundle\Repository\SocialNetworkRepository")
  10.  */
  11. class SocialNetwork
  12. {
  13.     /**
  14.      * @var int
  15.      *
  16.      * @ORM\Column(name="id", type="integer", nullable=false)
  17.      * @ORM\Id
  18.      * @ORM\GeneratedValue(strategy="IDENTITY")
  19.      */
  20.     private $id;
  21.     /**
  22.      * @var string
  23.      *
  24.      * @ORM\Column(name="url", type="string", length=255, nullable=false)
  25.      */
  26.     private $url;
  27.     /**
  28.      * @var string
  29.      *
  30.      * @ORM\Column(name="type", type="string", length=255, nullable=false)
  31.      */
  32.     private $type;
  33.     /**
  34.      * @ORM\ManyToOne(targetEntity="App\CasinoBundle\Entity\Casino", inversedBy="socialNetworks", cascade={"persist"})
  35.      * @ORM\JoinColumn(nullable=false)
  36.      */
  37.     private $casino;
  38.     public function __toString()
  39.     {
  40.         return $this->url;
  41.     }
  42.     /**
  43.      * @return int
  44.      */
  45.     public function getId(): int
  46.     {
  47.         return $this->id;
  48.     }
  49.     /**
  50.      * @param int $id
  51.      */
  52.     public function setId(int $id): void
  53.     {
  54.         $this->id $id;
  55.     }
  56.     public function getUrl(): string
  57.     {
  58.         return $this->url;
  59.     }
  60.     public function setUrl(string $url): self
  61.     {
  62.         $this->url $url;
  63.         $this->setType($this->defineType($url));
  64.         return $this;
  65.     }
  66.     public function defineType(string $url): string
  67.     {
  68.         if (str_contains($urlSocialNetworkEnum::FACEBOOK)) {
  69.             return SocialNetworkEnum::FACEBOOK;
  70.         } elseif (str_contains($urlSocialNetworkEnum::INSTAGRAM)) {
  71.             return SocialNetworkEnum::INSTAGRAM;
  72.         } elseif (str_contains($urlSocialNetworkEnum::TWITTER)) {
  73.             return SocialNetworkEnum::TWITTER;
  74.         } elseif (str_contains($urlSocialNetworkEnum::YOUTUBE)) {
  75.             return SocialNetworkEnum::YOUTUBE;
  76.         } elseif (str_contains($urlSocialNetworkEnum::LINKEDIN)) {
  77.             return SocialNetworkEnum::LINKEDIN;
  78.         } elseif (str_contains($urlSocialNetworkEnum::PINTEREST)) {
  79.             return SocialNetworkEnum::PINTEREST;
  80.         } elseif (str_contains($urlSocialNetworkEnum::GOOGLE_PLUS)) {
  81.             return SocialNetworkEnum::GOOGLE_PLUS;
  82.         } else {
  83.            return SocialNetworkEnum::ANOTHER;
  84.         }
  85.     }
  86.     private function setType(string $type): self
  87.     {
  88.         $this->type $type;
  89.         return $this;
  90.     }
  91.     public function getType(): string
  92.     {
  93.         return $this->type;
  94.     }
  95.     public function getCasino(): ?Casino
  96.     {
  97.         return $this->casino;
  98.     }
  99.     public function setCasino(?Casino $casino): self
  100.     {
  101.         $this->casino $casino;
  102.         return $this;
  103.     }
  104. }