src/Dto/ContactFormData.php line 10

Open in your IDE?
  1. <?php
  2. /*
  3.  * Author: Dominik Piekarski <code@dompie.de>
  4.  * Created at: 2021/07/01 15:16
  5.  */
  6. declare(strict_types=1);
  7. namespace App\Dto;
  8. class ContactFormData
  9. {
  10.     private $lastName;
  11.     private $firstName;
  12.     private $email;
  13.     private $phone;
  14.     private $webmId;
  15.     private $topic;
  16.     private $message;
  17.     private $userLoggedIn 'unbekannt';
  18.     public function __construct(array $userDetails)
  19.     {
  20.         if(isset($userDetails['account']) === true) {
  21.             $this->setIsUserLoggedIn(true);
  22.         }
  23.         if (isset($userDetails['person'])) {
  24.             $this->setFirstName($userDetails['person']['first_name'] ?? '');
  25.             $this->setLastName($userDetails['person']['last_name'] ?? '');
  26.             $this->setPhone($userDetails['person']['cell_phone'] ?? '');
  27.         }
  28.         if (isset($userDetails['account'])) {
  29.             $this->setEmail($userDetails['account']['email'] ?? '');
  30.         }
  31.     }
  32.     public function setIsUserLoggedIn(?bool $userIsLoggedIn null): void
  33.     {
  34.         if ($userIsLoggedIn === null) {
  35.             $this->userLoggedIn 'unbekannt';
  36.             return;
  37.         }
  38.         $this->userLoggedIn $userIsLoggedIn 'ja' 'nein';
  39.     }
  40.     public function getIsUserLoggedIn(): bool {
  41.         return $this->userLoggedIn === 'ja';
  42.     }    
  43.     public function getLastName()
  44.     {
  45.         return $this->lastName;
  46.     }
  47.     public function setLastName($lastName): void
  48.     {
  49.         $this->lastName $lastName;
  50.     }
  51.     public function getFirstName()
  52.     {
  53.         return $this->firstName;
  54.     }
  55.     public function setFirstName($firstName): void
  56.     {
  57.         $this->firstName $firstName;
  58.     }
  59.     public function getEmail()
  60.     {
  61.         return $this->email;
  62.     }
  63.     public function setEmail($email): void
  64.     {
  65.         $this->email $email;
  66.     }
  67.     public function getPhone()
  68.     {
  69.         return $this->phone;
  70.     }
  71.     public function setPhone($phone): void
  72.     {
  73.         $this->phone $phone;
  74.     }
  75.     public function getWebmId()
  76.     {
  77.         return $this->webmId;
  78.     }
  79.     public function setWebmId($webmId): void
  80.     {
  81.         $this->webmId $webmId;
  82.     }
  83.     public function getTopic()
  84.     {
  85.         return $this->topic;
  86.     }
  87.     public function setTopic($topic): void
  88.     {
  89.         $this->topic $topic;
  90.     }
  91.     public function getMessage()
  92.     {
  93.         return $this->message;
  94.     }
  95.     public function setMessage($message): void
  96.     {
  97.         $this->message $message;
  98.     }
  99.     public function toArray(): array
  100.     {
  101.         return [
  102.             'first_name' => $this->getFirstName(),
  103.             'last_name' => $this->getLastName(),
  104.             'email' => $this->getEmail(),
  105.             'phone' => $this->getPhone(),
  106.             'webm_id' => $this->getWebmId(),
  107.             'topic' => $this->getTopic(),
  108.             'message' => $this->getMessage(),
  109.             'userLoggedIn' => $this->userLoggedIn,
  110.         ];
  111.     }
  112. }