Files
VITEC-website/packages/vitec/Classes/Domain/Model/Event.php
2026-07-09 10:10:05 +02:00

267 lines
5.3 KiB
PHP
Executable File

<?php
namespace Evomedien\Vitec\Domain\Model;
use TYPO3\CMS\Extbase\Domain\Model\Category;
use TYPO3\CMS\Extbase\Domain\Model\FileReference;
use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
class Event extends AbstractEntity
{
/** @var string */
protected $title = '';
/** @var string */
protected $slug = '';
/** @var string */
protected $teaser = '';
/** @var string */
protected $description = '';
/** @var \DateTime|null */
protected $eventstart;
/** @var \DateTime|null */
protected $eventend;
/** @var string */
protected $venue = '';
/** @var string */
protected $booth = '';
/** @var string */
protected $city = '';
/** @var string */
protected $country = '';
/** @var string */
protected $attendancemode = 'offline';
/** @var string */
protected $eventstatus = 'scheduled';
/** @var string */
protected $eventurl = '';
/** @var string */
protected $meetinglink = '';
/**
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference|null
* @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove")
*/
protected $image;
/** @var bool */
protected $hideonwebsite = false;
/** @var bool */
protected $hideonapp = false;
/**
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category>
* @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
*/
protected $categories;
public function __construct()
{
$this->categories = new ObjectStorage();
}
public function getTitle(): string
{
return $this->title;
}
public function setTitle(string $title): void
{
$this->title = $title;
}
public function getSlug(): string
{
return $this->slug;
}
public function setSlug(string $slug): void
{
$this->slug = $slug;
}
public function getTeaser(): string
{
return $this->teaser;
}
public function setTeaser(string $teaser): void
{
$this->teaser = $teaser;
}
public function getDescription(): string
{
return $this->description;
}
public function setDescription(string $description): void
{
$this->description = $description;
}
public function getEventstart(): ?\DateTime
{
return $this->eventstart;
}
public function setEventstart(?\DateTime $eventstart): void
{
$this->eventstart = $eventstart;
}
public function getEventend(): ?\DateTime
{
return $this->eventend;
}
public function setEventend(?\DateTime $eventend): void
{
$this->eventend = $eventend;
}
public function getVenue(): string
{
return $this->venue;
}
public function setVenue(string $venue): void
{
$this->venue = $venue;
}
public function getBooth(): string
{
return $this->booth;
}
public function setBooth(string $booth): void
{
$this->booth = $booth;
}
public function getCity(): string
{
return $this->city;
}
public function setCity(string $city): void
{
$this->city = $city;
}
public function getCountry(): string
{
return $this->country;
}
public function setCountry(string $country): void
{
$this->country = $country;
}
public function getAttendancemode(): string
{
return $this->attendancemode;
}
public function setAttendancemode(string $attendancemode): void
{
$this->attendancemode = $attendancemode;
}
public function getEventstatus(): string
{
return $this->eventstatus;
}
public function setEventstatus(string $eventstatus): void
{
$this->eventstatus = $eventstatus;
}
public function getEventurl(): string
{
return $this->eventurl;
}
public function setEventurl(string $eventurl): void
{
$this->eventurl = $eventurl;
}
public function getMeetinglink(): string
{
return $this->meetinglink;
}
public function setMeetinglink(string $meetinglink): void
{
$this->meetinglink = $meetinglink;
}
public function getImage(): ?FileReference
{
return $this->image;
}
public function setImage(?FileReference $image): void
{
$this->image = $image;
}
public function getHideonwebsite(): bool
{
return $this->hideonwebsite;
}
public function setHideonwebsite(bool $hideonwebsite): void
{
$this->hideonwebsite = $hideonwebsite;
}
public function getHideonapp(): bool
{
return $this->hideonapp;
}
public function setHideonapp(bool $hideonapp): void
{
$this->hideonapp = $hideonapp;
}
public function addCategory(Category $category): void
{
$this->categories->attach($category);
}
public function removeCategory(Category $categoryToRemove): void
{
$this->categories->detach($categoryToRemove);
}
public function getCategories(): ObjectStorage
{
return $this->categories;
}
public function setCategories(ObjectStorage $categories): void
{
$this->categories = $categories;
}
}