| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124 |
- <?php
- namespace Opentalent\OtWidgets\Domain\Model;
- use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
- /**
- * Event
- */
- class Event extends AbstractEntity
- {
- /**
- * id
- *
- * @var int
- */
- protected $id = 0;
- /**
- * type
- *
- * @var string
- */
- protected $type = '';
- /**
- * organizationId
- *
- * @var int
- */
- protected $organizationId = 0;
- /**
- * subdomain
- *
- * @var string
- */
- protected $subdomain = '';
- /**
- * name
- *
- * @var string
- */
- protected $name = '';
- /**
- * description
- *
- * @var string
- */
- protected $description = '';
- /**
- * categories
- *
- * @var int
- */
- protected $categories = 0;
- /**
- * url
- *
- * @var string
- */
- protected $url = '';
- /**
- * rule
- *
- * @var string
- */
- protected $rule = '';
- /**
- * datetimeStart
- *
- * @var \DateTime
- */
- protected $datetimeStart = null;
- /**
- * datetimeEnd
- *
- * @var \DateTime
- */
- protected $datetimeEnd = null;
- /**
- * dates
- *
- * @var string
- */
- protected $dates = '';
- /**
- * placename
- *
- * @var string
- */
- protected $placename = '';
- /**
- * placeDescription
- *
- * @var string
- */
- protected $placeDescription = '';
- /**
- * placeFloorSize
- *
- * @var string
- */
- protected $placeFloorSize = '';
- /**
- * placeCapacity
- *
- * @var string
- */
- protected $placeCapacity = '';
- /**
- * city
- *
- * @var string
- */
- protected $city = '';
- /**
- * postalCode
- *
- * @var string
- */
- protected $postalCode = '';
- /**
- * streetAddress
- *
- * @var string
- */
- protected $streetAddress = '';
- /**
- * longitude
- *
- * @var float
- */
- protected $longitude = 0.0;
- /**
- * latitude
- *
- * @var float
- */
- protected $latitude = 0.0;
- /**
- * roomName
- *
- * @var string
- */
- protected $roomName = '';
- /**
- * roomDescription
- *
- * @var string
- */
- protected $roomDescription = '';
- /**
- * roomLocalisation
- *
- * @var string
- */
- protected $roomLocalisation = '';
- /**
- * roomCapacity
- *
- * @var string
- */
- protected $roomCapacity = '';
- /**
- * roomFloorSize
- *
- * @var string
- */
- protected $roomFloorSize = '';
- /**
- * zupId
- *
- * @var int
- */
- protected $zupId = 0;
- /**
- * deepLink
- *
- * @var string
- */
- protected $deepLink = '';
- /**
- * image
- *
- * @var string
- */
- protected $image = '';
- /**
- * priceMini
- *
- * @var float
- */
- protected $priceMini = 0.0;
- /**
- * meetingSchedule
- *
- * @var string
- */
- protected $meetingSchedule = '';
- /**
- * api
- *
- * @var bool
- */
- protected $api = false;
- /**
- * parentName
- *
- * @var string
- */
- protected $parentName = '';
- /**
- * parentSubdomain
- *
- * @var string
- */
- protected $parentSubdomain = '';
- /**
- * organization
- *
- * @var
- */
- protected $organization = null;
- /**
- * Returns the id
- *
- * @return int $id
- */
- public function getId()
- {
- return $this->id;
- }
- /**
- * Sets the id
- *
- * @param int $id
- * @return void
- */
- public function setId($id)
- {
- $this->id = $id;
- }
- /**
- * Returns the type
- *
- * @return string $type
- */
- public function getType()
- {
- return $this->type;
- }
- /**
- * Sets the type
- *
- * @param string $type
- * @return void
- */
- public function setType($type)
- {
- $this->type = $type;
- }
- /**
- * Returns the organizationId
- *
- * @return int $organizationId
- */
- public function getOrganizationId()
- {
- return $this->organizationId;
- }
- /**
- * Sets the organizationId
- *
- * @param int $organizationId
- * @return void
- */
- public function setOrganizationId($organizationId)
- {
- $this->organizationId = $organizationId;
- }
- /**
- * Returns the subdomain
- *
- * @return string $subdomain
- */
- public function getSubdomain()
- {
- return $this->subdomain;
- }
- /**
- * Sets the subdomain
- *
- * @param string $subdomain
- * @return void
- */
- public function setSubdomain($subdomain)
- {
- $this->subdomain = $subdomain;
- }
- /**
- * Returns the name
- *
- * @return string $name
- */
- public function getName()
- {
- return $this->name;
- }
- /**
- * Sets the name
- *
- * @param string $name
- * @return void
- */
- public function setName($name)
- {
- $this->name = $name;
- }
- /**
- * Returns the description
- *
- * @return string $description
- */
- public function getDescription()
- {
- return $this->description;
- }
- /**
- * Sets the description
- *
- * @param string $description
- * @return void
- */
- public function setDescription($description)
- {
- $this->description = $description;
- }
- /**
- * Returns the categories
- *
- * @return int $categories
- */
- public function getCategories()
- {
- return $this->categories;
- }
- /**
- * Sets the categories
- *
- * @param int $categories
- * @return void
- */
- public function setCategories($categories)
- {
- $this->categories = $categories;
- }
- /**
- * Returns the url
- *
- * @return string $url
- */
- public function getUrl()
- {
- return $this->url;
- }
- /**
- * Sets the url
- *
- * @param string $url
- * @return void
- */
- public function setUrl($url)
- {
- $this->url = $url;
- }
- /**
- * Returns the rule
- *
- * @return string $rule
- */
- public function getRule()
- {
- return $this->rule;
- }
- /**
- * Sets the rule
- *
- * @param string $rule
- * @return void
- */
- public function setRule($rule)
- {
- $this->rule = $rule;
- }
- /**
- * Returns the datetimeStart
- *
- * @return \DateTime $datetimeStart
- */
- public function getDatetimeStart()
- {
- return $this->datetimeStart;
- }
- /**
- * Sets the datetimeStart
- *
- * @param \DateTime $datetimeStart
- * @return void
- */
- public function setDatetimeStart(\DateTime $datetimeStart)
- {
- $this->datetimeStart = $datetimeStart;
- }
- /**
- * Returns the datetimeEnd
- *
- * @return \DateTime $datetimeEnd
- */
- public function getDatetimeEnd()
- {
- return $this->datetimeEnd;
- }
- /**
- * Sets the datetimeEnd
- *
- * @param \DateTime $datetimeEnd
- * @return void
- */
- public function setDatetimeEnd(\DateTime $datetimeEnd)
- {
- $this->datetimeEnd = $datetimeEnd;
- }
- /**
- * Returns the dates
- *
- * @return string $dates
- */
- public function getDates()
- {
- return $this->dates;
- }
- /**
- * Sets the dates
- *
- * @param string $dates
- * @return void
- */
- public function setDates($dates)
- {
- $this->dates = $dates;
- }
- /**
- * Returns the placename
- *
- * @return string $placename
- */
- public function getPlacename()
- {
- return $this->placename;
- }
- /**
- * Sets the placename
- *
- * @param string $placename
- * @return void
- */
- public function setPlacename($placename)
- {
- $this->placename = $placename;
- }
- /**
- * Returns the placeDescription
- *
- * @return string $placeDescription
- */
- public function getPlaceDescription()
- {
- return $this->placeDescription;
- }
- /**
- * Sets the placeDescription
- *
- * @param string $placeDescription
- * @return void
- */
- public function setPlaceDescription($placeDescription)
- {
- $this->placeDescription = $placeDescription;
- }
- /**
- * Returns the placeFloorSize
- *
- * @return string $placeFloorSize
- */
- public function getPlaceFloorSize()
- {
- return $this->placeFloorSize;
- }
- /**
- * Sets the placeFloorSize
- *
- * @param string $placeFloorSize
- * @return void
- */
- public function setPlaceFloorSize($placeFloorSize)
- {
- $this->placeFloorSize = $placeFloorSize;
- }
- /**
- * Returns the placeCapacity
- *
- * @return string $placeCapacity
- */
- public function getPlaceCapacity()
- {
- return $this->placeCapacity;
- }
- /**
- * Sets the placeCapacity
- *
- * @param string $placeCapacity
- * @return void
- */
- public function setPlaceCapacity($placeCapacity)
- {
- $this->placeCapacity = $placeCapacity;
- }
- /**
- * Returns the city
- *
- * @return string $city
- */
- public function getCity()
- {
- return $this->city;
- }
- /**
- * Sets the city
- *
- * @param string $city
- * @return void
- */
- public function setCity($city)
- {
- $this->city = $city;
- }
- /**
- * Returns the postalCode
- *
- * @return string $postalCode
- */
- public function getPostalCode()
- {
- return $this->postalCode;
- }
- /**
- * Sets the postalCode
- *
- * @param string $postalCode
- * @return void
- */
- public function setPostalCode($postalCode)
- {
- $this->postalCode = $postalCode;
- }
- /**
- * Returns the streetAddress
- *
- * @return string $streetAddress
- */
- public function getStreetAddress()
- {
- return $this->streetAddress;
- }
- /**
- * Sets the streetAddress
- *
- * @param string $streetAddress
- * @return void
- */
- public function setStreetAddress($streetAddress)
- {
- $this->streetAddress = $streetAddress;
- }
- /**
- * Returns the longitude
- *
- * @return float $longitude
- */
- public function getLongitude()
- {
- return $this->longitude;
- }
- /**
- * Sets the longitude
- *
- * @param float $longitude
- * @return void
- */
- public function setLongitude($longitude)
- {
- $this->longitude = $longitude;
- }
- /**
- * Returns the latitude
- *
- * @return float $latitude
- */
- public function getLatitude()
- {
- return $this->latitude;
- }
- /**
- * Sets the latitude
- *
- * @param float $latitude
- * @return void
- */
- public function setLatitude($latitude)
- {
- $this->latitude = $latitude;
- }
- /**
- * Returns the roomName
- *
- * @return string $roomName
- */
- public function getRoomName()
- {
- return $this->roomName;
- }
- /**
- * Sets the roomName
- *
- * @param string $roomName
- * @return void
- */
- public function setRoomName($roomName)
- {
- $this->roomName = $roomName;
- }
- /**
- * Returns the roomDescription
- *
- * @return string $roomDescription
- */
- public function getRoomDescription()
- {
- return $this->roomDescription;
- }
- /**
- * Sets the roomDescription
- *
- * @param string $roomDescription
- * @return void
- */
- public function setRoomDescription($roomDescription)
- {
- $this->roomDescription = $roomDescription;
- }
- /**
- * Returns the roomLocalisation
- *
- * @return string $roomLocalisation
- */
- public function getRoomLocalisation()
- {
- return $this->roomLocalisation;
- }
- /**
- * Sets the roomLocalisation
- *
- * @param string $roomLocalisation
- * @return void
- */
- public function setRoomLocalisation($roomLocalisation)
- {
- $this->roomLocalisation = $roomLocalisation;
- }
- /**
- * Returns the roomCapacity
- *
- * @return string $roomCapacity
- */
- public function getRoomCapacity()
- {
- return $this->roomCapacity;
- }
- /**
- * Sets the roomCapacity
- *
- * @param string $roomCapacity
- * @return void
- */
- public function setRoomCapacity($roomCapacity)
- {
- $this->roomCapacity = $roomCapacity;
- }
- /**
- * Returns the roomFloorSize
- *
- * @return string $roomFloorSize
- */
- public function getRoomFloorSize()
- {
- return $this->roomFloorSize;
- }
- /**
- * Sets the roomFloorSize
- *
- * @param string $roomFloorSize
- * @return void
- */
- public function setRoomFloorSize($roomFloorSize)
- {
- $this->roomFloorSize = $roomFloorSize;
- }
- /**
- * Returns the zupId
- *
- * @return int $zupId
- */
- public function getZupId()
- {
- return $this->zupId;
- }
- /**
- * Sets the zupId
- *
- * @param int $zupId
- * @return void
- */
- public function setZupId($zupId)
- {
- $this->zupId = $zupId;
- }
- /**
- * Returns the deepLink
- *
- * @return string $deepLink
- */
- public function getDeepLink()
- {
- return $this->deepLink;
- }
- /**
- * Sets the deepLink
- *
- * @param string $deepLink
- * @return void
- */
- public function setDeepLink($deepLink)
- {
- $this->deepLink = $deepLink;
- }
- /**
- * Returns the image
- *
- * @return string $image
- */
- public function getImage()
- {
- return $this->image;
- }
- /**
- * Sets the image
- *
- * @param string $image
- * @return void
- */
- public function setImage($image)
- {
- $this->image = $image;
- }
- /**
- * Returns the priceMini
- *
- * @return float $priceMini
- */
- public function getPriceMini()
- {
- return $this->priceMini;
- }
- /**
- * Sets the priceMini
- *
- * @param float $priceMini
- * @return void
- */
- public function setPriceMini($priceMini)
- {
- $this->priceMini = $priceMini;
- }
- /**
- * Returns the meetingSchedule
- *
- * @return string $meetingSchedule
- */
- public function getMeetingSchedule()
- {
- return $this->meetingSchedule;
- }
- /**
- * Sets the meetingSchedule
- *
- * @param string $meetingSchedule
- * @return void
- */
- public function setMeetingSchedule($meetingSchedule)
- {
- $this->meetingSchedule = $meetingSchedule;
- }
- /**
- * Returns the api
- *
- * @return bool $api
- */
- public function getApi()
- {
- return $this->api;
- }
- /**
- * Sets the api
- *
- * @param bool $api
- * @return void
- */
- public function setApi($api)
- {
- $this->api = $api;
- }
- /**
- * Returns the boolean state of api
- *
- * @return bool
- */
- public function isApi()
- {
- return $this->api;
- }
- /**
- * Returns the parentName
- *
- * @return string $parentName
- */
- public function getParentName()
- {
- return $this->parentName;
- }
- /**
- * Sets the parentName
- *
- * @param string $parentName
- * @return void
- */
- public function setParentName($parentName)
- {
- $this->parentName = $parentName;
- }
- /**
- * Returns the parentSubdomain
- *
- * @return string $parentSubdomain
- */
- public function getParentSubdomain()
- {
- return $this->parentSubdomain;
- }
- /**
- * Sets the parentSubdomain
- *
- * @param string $parentSubdomain
- * @return void
- */
- public function setParentSubdomain($parentSubdomain)
- {
- $this->parentSubdomain = $parentSubdomain;
- }
- /**
- * Returns the organization
- *
- * @return $organization
- */
- public function getOrganization()
- {
- return $this->organization;
- }
- /**
- * Sets the organization
- *
- * @param string $organization
- * @return void
- */
- public function setOrganization($organization)
- {
- $this->organization = $organization;
- }
- /**
- * Retourne une chaine formattée indiquant la date et l'heure de début et de fin de l'Event
- *
- * @return string
- */
- public function getFormattedDates() {
- if ($this->getDatetimeStart() & $this->getDatetimeEnd()) {
- if ($this->getDatetimeStart()->format('d-m-Y') != $this->getDatetimeEnd()->format('d-m-Y')) {
- return 'Du ' . $this->getDatetimeStart()->format('d/m/Y H\hi') . ' au ' . $this->getDatetimeEnd()->format('d/m/Y H\hi');
- } else {
- return 'Le ' . $this->getDatetimeStart()->format('d/m/Y') . ' de ' . $this->getDatetimeStart()->format('H\hi') . ' à ' . $this->getDatetimeEnd()->format('H\hi');
- }
- } else if ($this->getDatetimeStart()) {
- return 'A partir de ' . $this->getDatetimeStart()->format('d/m/Y H\hi');
- } else if ($this->getDatetimeEnd()) {
- return "Jusqu'à " . $this->getDatetimeEnd()->format('d/m/Y H\hi');
- }
- return '';
- }
- /**
- * Returns the short concatened location and date of the event
- *
- * @return string $datetimeStart
- */
- public function getLocAndDate() {
- $infos = [];
- if ($this->getPlacename() && $this->getCity() && ($this->getPlacename() !== $this->getCity())) {
- $infos[] = $this->getPlacename() . ' (' . $this->getCity() . ')';
- } else if ($this->getPlacename()) {
- $infos[] = $this->getPlacename();
- } else if ($this->getPlacename()) {
- $infos[] = $this->getCity();
- }
- $dates = $this->getFormattedDates();
- if ($dates !== '') {
- $infos[] = lcfirst($dates);
- }
- return ucfirst(join(', ', $infos));
- }
- /**
- * Returns the concateneted adress of the event
- *
- * @return string
- */
- public function getFullAdress() {
- $adress = [];
- if ($this->getPlaceName() &&
- strtolower($this->getPlaceName()) != strtolower($this->getStreetAddress()) &&
- strtolower($this->getPlaceName()) != strtolower($this->getCity())) {
- // On ajoute le nom du lieu, si ce n'est pas celui de la ville ou d'une adresse telle qu'une place
- $adress[] = $this->getPlaceName();
- }
- if ($this->getRoomName() !== null) {
- $adress[] = $this->getRoomName();
- }
- if ($this->getRoomLocalisation() !== null) {
- $adress[] = $this->getRoomLocalisation();
- }
- if ($this->getStreetAddress() !== null) {
- $adress[] = $this->getStreetAddress();
- }
- if ($this->getCity() !== null) {
- $pc = '';
- if ($this->getPostalCode() !== null) {
- $pc = $this->getPostalCode() . ' ';
- }
- $adress[] = $pc . $this->getCity();
- }
- return ucfirst(join(PHP_EOL, $adress));
- }
- /**
- * Returns an array containing all the data to display
- *
- * @return array
- */
- public function getInfosTable() {
- $infos = [];
- if ($this->getPlacename() !== null) {
- $infos['Lieu'] = $this->getPlacename();
- }
- if ($this->getPlacename() !== null) {
- $infos['Lieu'] = $this->getPlacename();
- }
- if ($this->getPlaceDescription() !== null) {
- $infos['Description du lieu'] = $this->getPlaceDescription();
- }
- $adress = $this->getFullAdress();
- if ($adress !== '') {
- $infos['Adresse'] = $adress;
- }
- if ($this->getUrl() !== null) {
- $infos['Lien externe'] = $this->getUrl();
- }
- return $infos;
- }
- /**
- * Returns an eluded description (max 100cars)
- *
- * @return string
- */
- public function getShortDescription() {
- $maxCars = 100;
- if (strlen($this->getDescription()) <= $maxCars) {
- return $this->getDescription();
- } else {
- return mb_substr($this->getDescription(), 0, $maxCars, "UTF-8") . '...';
- }
- }
- }
|