src/Entity/AppSettings.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\AppSettingsRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. /**
  8.  * @ORM\Entity(repositoryClass=AppSettingsRepository::class)
  9.  */
  10. class AppSettings
  11. {
  12.     /**
  13.      * @ORM\Id
  14.      * @ORM\GeneratedValue
  15.      * @ORM\Column(type="integer")
  16.      */
  17.     private $id;
  18.     /**
  19.      * @ORM\Column(type="boolean", nullable=true)
  20.      */
  21.     private $isCampaignOn true;
  22.     /**
  23.      * @ORM\Column(type="bigint", nullable=true)
  24.      */
  25.     private $apacheErrorLogReadOffset;
  26.     /**
  27.      * @ORM\Column(type="text", nullable=true)
  28.      */
  29.     private $channelAdmins;
  30.     /**
  31.      * @ORM\ManyToMany(targetEntity=TelegramCampaignMessage::class)
  32.      * @ORM\JoinTable(name="app_settings_registered_candidates_campaign_message")
  33.      */
  34.     private $registeredCandidatesCampaignMessages;
  35.     /**
  36.      * @ORM\ManyToMany(targetEntity=TelegramCampaignMessage::class)
  37.      * @ORM\JoinTable(name="app_settings_approved_candidates_campaign_message")
  38.      */
  39.     private $approvedCandidatesCampaignMessages;
  40.     /**
  41.      * @ORM\ManyToMany(targetEntity=TelegramCampaignMessage::class)
  42.      * @ORM\JoinTable(name="app_settings_declined_candidates_campaign_message")
  43.      */
  44.     private $declinedCandidatesCampaignMessages;
  45.     /**
  46.      * @ORM\ManyToMany(targetEntity=TelegramCampaignMessage::class)
  47.      * @ORM\JoinTable(name="app_settings_payment_requisites_campaign_message")
  48.      */
  49.     private $paymentRequisitesCampaignMessages;
  50.     /**
  51.      * @ORM\ManyToMany(targetEntity=TelegramCampaignMessage::class)
  52.      * @ORM\JoinTable(name="app_settings_telegram_channel_link_campaign_message")
  53.      */
  54.     private $telegramChannelLinkCampaignMessages;
  55.     public function __construct()
  56.     {
  57.         $this->registeredCandidatesCampaignMessages = new ArrayCollection();
  58.         $this->approvedCandidatesCampaignMessages = new ArrayCollection();
  59.         $this->declinedCandidatesCampaignMessages = new ArrayCollection();
  60.         $this->paymentRequisitesCampaignMessages = new ArrayCollection();
  61.         $this->telegramChannelLinkCampaignMessages = new ArrayCollection();
  62.     }
  63.     public function getId(): ?int
  64.     {
  65.         return $this->id;
  66.     }
  67.     public function isIsCampaignOn(): ?bool
  68.     {
  69.         return $this->isCampaignOn;
  70.     }
  71.     public function setIsCampaignOn(?bool $isCampaignOn): self
  72.     {
  73.         $this->isCampaignOn $isCampaignOn;
  74.         return $this;
  75.     }
  76.     public function getApacheErrorLogReadOffset(): ?string
  77.     {
  78.         return $this->apacheErrorLogReadOffset;
  79.     }
  80.     public function setApacheErrorLogReadOffset(?string $apacheErrorLogReadOffset): self
  81.     {
  82.         $this->apacheErrorLogReadOffset $apacheErrorLogReadOffset;
  83.         return $this;
  84.     }
  85.     public function getChannelAdmins(): ?string
  86.     {
  87.         return $this->channelAdmins;
  88.     }
  89.     public function getChannelAdminsAsArray(): array
  90.     {
  91.         return $this->channelAdmins explode("\n"$this->channelAdmins) : [];
  92.     }
  93.     public function setChannelAdmins(?string $channelAdmins): self
  94.     {
  95.         $this->channelAdmins $channelAdmins;
  96.         $this->normalizeChannelAdmins();
  97.         return $this;
  98.     }
  99.     private function normalizeChannelAdmins(): void
  100.     {
  101.         $fullNames array_filter(array_map('trim'preg_split('/\\R/u', (string) $this->channelAdmins)), function (string $fullName) {
  102.             return $fullName !== '';
  103.         });
  104.         $this->channelAdmins implode("\n"$fullNames);
  105.     }
  106.     /**
  107.      * @return Collection<int, TelegramCampaignMessage>
  108.      */
  109.     public function getRegisteredCandidatesCampaignMessages(): Collection
  110.     {
  111.         return $this->registeredCandidatesCampaignMessages;
  112.     }
  113.     public function addRegisteredCandidatesCampaignMessage(TelegramCampaignMessage $registeredCandidatesCampaignMessage): self
  114.     {
  115.         if (!$this->registeredCandidatesCampaignMessages->contains($registeredCandidatesCampaignMessage)) {
  116.             $this->registeredCandidatesCampaignMessages[] = $registeredCandidatesCampaignMessage;
  117.         }
  118.         return $this;
  119.     }
  120.     public function removeRegisteredCandidatesCampaignMessage(TelegramCampaignMessage $registeredCandidatesCampaignMessage): self
  121.     {
  122.         $this->registeredCandidatesCampaignMessages->removeElement($registeredCandidatesCampaignMessage);
  123.         return $this;
  124.     }
  125.     /**
  126.      * @return Collection<int, TelegramCampaignMessage>
  127.      */
  128.     public function getApprovedCandidatesCampaignMessages(): Collection
  129.     {
  130.         return $this->approvedCandidatesCampaignMessages;
  131.     }
  132.     public function addApprovedCandidatesCampaignMessage(TelegramCampaignMessage $approvedCandidatesCampaignMessage): self
  133.     {
  134.         if (!$this->approvedCandidatesCampaignMessages->contains($approvedCandidatesCampaignMessage)) {
  135.             $this->approvedCandidatesCampaignMessages[] = $approvedCandidatesCampaignMessage;
  136.         }
  137.         return $this;
  138.     }
  139.     public function removeApprovedCandidatesCampaignMessage(TelegramCampaignMessage $approvedCandidatesCampaignMessage): self
  140.     {
  141.         $this->approvedCandidatesCampaignMessages->removeElement($approvedCandidatesCampaignMessage);
  142.         return $this;
  143.     }
  144.     /**
  145.      * @return Collection<int, TelegramCampaignMessage>
  146.      */
  147.     public function getDeclinedCandidatesCampaignMessages(): Collection
  148.     {
  149.         return $this->declinedCandidatesCampaignMessages;
  150.     }
  151.     public function addDeclinedCandidatesCampaignMessage(TelegramCampaignMessage $declinedCandidatesCampaignMessage): self
  152.     {
  153.         if (!$this->declinedCandidatesCampaignMessages->contains($declinedCandidatesCampaignMessage)) {
  154.             $this->declinedCandidatesCampaignMessages[] = $declinedCandidatesCampaignMessage;
  155.         }
  156.         return $this;
  157.     }
  158.     public function removeDeclinedCandidatesCampaignMessage(TelegramCampaignMessage $declinedCandidatesCampaignMessage): self
  159.     {
  160.         $this->declinedCandidatesCampaignMessages->removeElement($declinedCandidatesCampaignMessage);
  161.         return $this;
  162.     }
  163.     /**
  164.      * @return Collection<int, TelegramCampaignMessage>
  165.      */
  166.     public function getPaymentRequisitesCampaignMessages(): Collection
  167.     {
  168.         return $this->paymentRequisitesCampaignMessages;
  169.     }
  170.     public function addPaymentRequisitesCampaignMessage(TelegramCampaignMessage $paymentRequisitesCampaignMessage): self
  171.     {
  172.         if (!$this->paymentRequisitesCampaignMessages->contains($paymentRequisitesCampaignMessage)) {
  173.             $this->paymentRequisitesCampaignMessages[] = $paymentRequisitesCampaignMessage;
  174.         }
  175.         return $this;
  176.     }
  177.     public function removePaymentRequisitesCampaignMessage(TelegramCampaignMessage $paymentRequisitesCampaignMessage): self
  178.     {
  179.         $this->paymentRequisitesCampaignMessages->removeElement($paymentRequisitesCampaignMessage);
  180.         return $this;
  181.     }
  182.     /**
  183.      * @return Collection<int, TelegramCampaignMessage>
  184.      */
  185.     public function getTelegramChannelLinkCampaignMessages(): Collection
  186.     {
  187.         return $this->telegramChannelLinkCampaignMessages;
  188.     }
  189.     public function addTelegramChannelLinkCampaignMessage(TelegramCampaignMessage $telegramChannelLinkCampaignMessage): self
  190.     {
  191.         if (!$this->telegramChannelLinkCampaignMessages->contains($telegramChannelLinkCampaignMessage)) {
  192.             $this->telegramChannelLinkCampaignMessages[] = $telegramChannelLinkCampaignMessage;
  193.         }
  194.         return $this;
  195.     }
  196.     public function removeTelegramChannelLinkCampaignMessage(TelegramCampaignMessage $telegramChannelLinkCampaignMessage): self
  197.     {
  198.         $this->telegramChannelLinkCampaignMessages->removeElement($telegramChannelLinkCampaignMessage);
  199.         return $this;
  200.     }
  201. }