mv: Refactor
* Move entities for organization
This commit is contained in:
702
src/Entity/Resources/CommunityResource.php
Normal file
702
src/Entity/Resources/CommunityResource.php
Normal file
@ -0,0 +1,702 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entity\Resources;
|
||||
|
||||
use App\Entity\System\Location;
|
||||
use App\Enums\System\County;
|
||||
use App\Enums\Case\ResourceType;
|
||||
use App\Enums\System\State;
|
||||
use App\Libs\Libs;
|
||||
use App\Repository\Resources\CommunityResourceRepository;
|
||||
use DateTime;
|
||||
use DateTimeZone;
|
||||
use Doctrine\DBAL\Types\Types;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Types\UuidType;
|
||||
use Symfony\Component\Uid\Uuid;
|
||||
|
||||
#[ORM\Entity(repositoryClass: CommunityResourceRepository::class)]
|
||||
class CommunityResource
|
||||
{
|
||||
#[ORM\Id]
|
||||
#[ORM\Column(type: UuidType::NAME, unique: true)]
|
||||
#[ORM\GeneratedValue(strategy: 'CUSTOM')]
|
||||
#[ORM\CustomIdGenerator(class: 'doctrine.uuid_generator')]
|
||||
private ?Uuid $id = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
private ?string $name = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
private ?string $address = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $address2 = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
private ?string $city = null;
|
||||
|
||||
#[ORM\Column(enumType: State::class)]
|
||||
private ?State $state = null;
|
||||
|
||||
#[ORM\Column]
|
||||
private ?int $zip = null;
|
||||
|
||||
#[ORM\Column(enumType: County::class)]
|
||||
private ?County $county = null;
|
||||
|
||||
#[ORM\Column(length: 15, nullable: true)]
|
||||
private ?string $phone = null;
|
||||
|
||||
#[ORM\Column(length: 64, nullable: true)]
|
||||
private ?string $email = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $url = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $monOpen = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $monClose = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $tueOpen = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $tueClose = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $wedOpen = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $wedClose = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $thuOpen = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $thuClose = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $friOpen = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $friClose = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $satOpen = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $satClose = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $sunOpen = null;
|
||||
|
||||
#[ORM\Column(type: Types::TIME_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $sunClose = null;
|
||||
|
||||
#[ORM\Column(type: Types::TEXT, nullable: true)]
|
||||
private ?string $notes = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $servicesAvailable = null;
|
||||
|
||||
#[ORM\Column(type: Types::JSON, enumType: ResourceType::class)]
|
||||
private array $type = [];
|
||||
|
||||
#[ORM\Column(nullable: true)]
|
||||
private ?float $lat = null;
|
||||
|
||||
#[ORM\Column(nullable: true)]
|
||||
private ?float $lon = null;
|
||||
|
||||
public function __construct(
|
||||
private DateTime $today = new DateTime('now', new DateTimeZone('America/Indiana/Indianapolis'))
|
||||
) {
|
||||
}
|
||||
|
||||
public function getId(): ?Uuid
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getName(): ?string
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function setName(string $name): static
|
||||
{
|
||||
$this->name = $name;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getAddress(): ?string
|
||||
{
|
||||
return $this->address;
|
||||
}
|
||||
|
||||
public function setAddress(string $address): static
|
||||
{
|
||||
$this->address = $address;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getAddress2(): ?string
|
||||
{
|
||||
return $this->address2;
|
||||
}
|
||||
|
||||
public function setAddress2(?string $address2): static
|
||||
{
|
||||
$this->address2 = $address2;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCity(): ?string
|
||||
{
|
||||
return $this->city;
|
||||
}
|
||||
|
||||
public function setCity(string $city): static
|
||||
{
|
||||
$this->city = $city;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getState(): ?State
|
||||
{
|
||||
return $this->state;
|
||||
}
|
||||
|
||||
public function setState(State $state): static
|
||||
{
|
||||
$this->state = $state;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getZip(): ?int
|
||||
{
|
||||
return $this->zip;
|
||||
}
|
||||
|
||||
public function setZip(int $zip): static
|
||||
{
|
||||
$this->zip = $zip;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCounty(): ?County
|
||||
{
|
||||
return $this->county;
|
||||
}
|
||||
|
||||
public function setCounty(County $county): static
|
||||
{
|
||||
$this->county = $county;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getFormattedAddress(): ?string
|
||||
{
|
||||
return $this->address .
|
||||
($this->address2 ? ' ' . $this->address2 : '') . '<br/>' .
|
||||
$this->city . ', ' . $this->state->value . ' ' . $this->zip;
|
||||
}
|
||||
|
||||
public function getPhone(): ?string
|
||||
{
|
||||
return $this->phone;
|
||||
}
|
||||
|
||||
public function setPhone(?string $phone): static
|
||||
{
|
||||
$this->phone = $phone;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getEmail(): ?string
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
public function setEmail(?string $email): static
|
||||
{
|
||||
$this->email = $email;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getUrl(): ?string
|
||||
{
|
||||
return $this->url;
|
||||
}
|
||||
|
||||
public function setUrl(?string $url): static
|
||||
{
|
||||
$this->url = $url;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function urlString(): ?string
|
||||
{
|
||||
if (preg_match("/facebook/i", $this->url)) {
|
||||
return "<a href='$this->url' target='_blank'><i class='fa-brands fa-facebook'></i></a>";
|
||||
} else {
|
||||
return "<a href='$this->url' target='_blank'><i class='fa-solid fa-globe'></i></a>";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getContactCard(): ?string
|
||||
{
|
||||
$formattedPhone = ($this->phone ? Libs::formatPhone($this->phone) : '');
|
||||
return ($this->email ? "<a href='mailto:$this->email'>$this->email</a><br/>" : '') .
|
||||
($this->phone ? "<a href='tel:$this->phone'>$formattedPhone</a>" : '');
|
||||
}
|
||||
|
||||
public function generateVCard(): string
|
||||
{
|
||||
return 'BEGIN:VCARD' .
|
||||
"\nVERSION:3.0" .
|
||||
"\nN:$this->name" .
|
||||
"\nFN:$this->name" .
|
||||
"\nORG:$this->name" .
|
||||
"\nADR;TYPE=WORK:;;$this->address;$this->city;{$this->state->value};$this->zip" .
|
||||
($this->phone ? "\nTEL;TYPE=WORK,VOICE:$this->phone" : null) .
|
||||
($this->email ? "\nEMAIL;TYPE=WORK,INTERNET:$this->email" : null) .
|
||||
($this->url ? "\nURL:$this->url" : null) .
|
||||
"\nNOTE:$this->notes" .
|
||||
"\nREV:" . date('c') .
|
||||
"\nEND:VCARD";
|
||||
}
|
||||
|
||||
public function getMonOpen(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->monOpen;
|
||||
}
|
||||
|
||||
public function setMonOpen(?\DateTimeInterface $monOpen): static
|
||||
{
|
||||
$this->monOpen = $monOpen;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getMonClose(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->monClose;
|
||||
}
|
||||
|
||||
public function setMonClose(?\DateTimeInterface $monClose): static
|
||||
{
|
||||
$this->monClose = $monClose;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function mon(): ?string
|
||||
{
|
||||
if (!$this->monOpen || !$this->monClose) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
$closeAt = new DateTime($this->today->format('Y-m-d') . ' ' . $this->monClose->format('H:i:s'), new DateTimeZone($_ENV['COMPANY_TIMEZONE']));
|
||||
if ($closeAt <= new DateTime('now', new DateTimeZone($_ENV['COMPANY_TIMEZONE']))) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
return $this->monOpen->format('g:i A') . '-' . $this->monClose->format('g:i A');
|
||||
}
|
||||
|
||||
public function getTueOpen(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->tueOpen;
|
||||
}
|
||||
|
||||
public function setTueOpen(?\DateTimeInterface $tueOpen): static
|
||||
{
|
||||
$this->tueOpen = $tueOpen;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getTueClose(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->tueClose;
|
||||
}
|
||||
|
||||
public function setTueClose(?\DateTimeInterface $tueClose): static
|
||||
{
|
||||
$this->tueClose = $tueClose;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function tue(): ?string
|
||||
{
|
||||
if (!$this->tueOpen || !$this->tueClose) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
$closeAt = new DateTime($this->today->format('Y-m-d') . ' ' . $this->tueClose->format('H:i:s'), new DateTimeZone($_ENV['COMPANY_TIMEZONE']));
|
||||
if ($closeAt <= new DateTime('now', new DateTimeZone($_ENV['COMPANY_TIMEZONE']))) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
return $this->tueOpen->format('g:i A') . '-' . $this->tueClose->format('g:i A');
|
||||
}
|
||||
|
||||
public function getWedOpen(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->wedOpen;
|
||||
}
|
||||
|
||||
public function setWedOpen(?\DateTimeInterface $wedOpen): static
|
||||
{
|
||||
$this->wedOpen = $wedOpen;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getWedClose(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->wedClose;
|
||||
}
|
||||
|
||||
public function setWedClose(?\DateTimeInterface $wedClose): static
|
||||
{
|
||||
$this->wedClose = $wedClose;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function wed(): ?string
|
||||
{
|
||||
if (!$this->wedOpen || !$this->wedClose) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
$closeAt = new DateTime($this->today->format('Y-m-d') . ' ' . $this->wedClose->format('H:i:s'), new DateTimeZone($_ENV['COMPANY_TIMEZONE']));
|
||||
if ($closeAt <= new DateTime('now', new DateTimeZone($_ENV['COMPANY_TIMEZONE']))) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
return $this->wedOpen->format('g:i A') . '-' . $this->wedClose->format('g:i A');
|
||||
}
|
||||
|
||||
public function getThuOpen(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->thuOpen;
|
||||
}
|
||||
|
||||
public function setThuOpen(?\DateTimeInterface $thuOpen): static
|
||||
{
|
||||
$this->thuOpen = $thuOpen;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getThuClose(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->thuClose;
|
||||
}
|
||||
|
||||
public function setThuClose(?\DateTimeInterface $thuClose): static
|
||||
{
|
||||
$this->thuClose = $thuClose;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function thu(): ?string
|
||||
{
|
||||
if (!$this->thuOpen || !$this->thuClose) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
$closeAt = new DateTime($this->today->format('Y-m-d') . ' ' . $this->thuClose->format('H:i:s'), new DateTimeZone($_ENV['COMPANY_TIMEZONE']));
|
||||
if ($closeAt <= new DateTime('now', new DateTimeZone($_ENV['COMPANY_TIMEZONE']))) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
return $this->thuOpen->format('g:i A') . '-' . $this->thuClose->format('g:i A');
|
||||
}
|
||||
|
||||
public function getFriOpen(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->friOpen;
|
||||
}
|
||||
|
||||
public function setFriOpen(?\DateTimeInterface $friOpen): static
|
||||
{
|
||||
$this->friOpen = $friOpen;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getFriClose(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->friClose;
|
||||
}
|
||||
|
||||
public function setFriClose(?\DateTimeInterface $friClose): static
|
||||
{
|
||||
$this->friClose = $friClose;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function fri(): ?string
|
||||
{
|
||||
if (!$this->friOpen || !$this->friClose) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
$closeAt = new DateTime($this->today->format('Y-m-d') . ' ' . $this->friClose->format('H:i:s'), new DateTimeZone($_ENV['COMPANY_TIMEZONE']));
|
||||
if ($closeAt <= new DateTime('now', new DateTimeZone($_ENV['COMPANY_TIMEZONE']))) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
return $this->friOpen->format('g:i A') . '-' . $this->friClose->format('g:i A');
|
||||
}
|
||||
|
||||
public function getSatOpen(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->satOpen;
|
||||
}
|
||||
|
||||
public function setSatOpen(?\DateTimeInterface $satOpen): static
|
||||
{
|
||||
$this->satOpen = $satOpen;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getSatClose(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->satClose;
|
||||
}
|
||||
|
||||
public function setSatClose(?\DateTimeInterface $satClose): static
|
||||
{
|
||||
$this->satClose = $satClose;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function sat(): ?string
|
||||
{
|
||||
if (!$this->satOpen || !$this->satClose) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
$closeAt = new DateTime($this->today->format('Y-m-d') . ' ' . $this->satClose->format('H:i:s'), new DateTimeZone($_ENV['COMPANY_TIMEZONE']));
|
||||
if ($closeAt <= new DateTime('now', new DateTimeZone($_ENV['COMPANY_TIMEZONE']))) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
return $this->satOpen->format('g:i A') . '-' . $this->satClose->format('g:i A');
|
||||
}
|
||||
|
||||
public function getSunOpen(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->sunOpen;
|
||||
}
|
||||
|
||||
public function setSunOpen(?\DateTimeInterface $sunOpen): static
|
||||
{
|
||||
$this->sunOpen = $sunOpen;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getSunClose(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->sunClose;
|
||||
}
|
||||
|
||||
public function setSunClose(?\DateTimeInterface $sunClose): static
|
||||
{
|
||||
$this->sunClose = $sunClose;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function sun(): ?string
|
||||
{
|
||||
if (!$this->sunOpen || !$this->sunClose) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
$closeAt = new DateTime($this->today->format('Y-m-d') . ' ' . $this->sunClose->format('H:i:s'), new DateTimeZone($_ENV['COMPANY_TIMEZONE']));
|
||||
if ($closeAt <= new DateTime('now', new DateTimeZone($_ENV['COMPANY_TIMEZONE']))) {
|
||||
return 'C';
|
||||
}
|
||||
|
||||
return $this->sunOpen->format('g:i A') . '-' . $this->sunClose->format('g:i A');
|
||||
}
|
||||
|
||||
public function getHours(): ?string
|
||||
{
|
||||
$this->today = new DateTime('now', new DateTimeZone($_ENV['COMPANY_TIMEZONE']));
|
||||
switch ($this->today->format('w')) {
|
||||
case 0:
|
||||
return $this->sun();
|
||||
case 1:
|
||||
return $this->mon();
|
||||
case 2:
|
||||
return $this->tue();
|
||||
case 3:
|
||||
return $this->wed();
|
||||
case 4:
|
||||
return $this->thu();
|
||||
case 5:
|
||||
return $this->fri();
|
||||
case 6:
|
||||
return $this->sat();
|
||||
}
|
||||
}
|
||||
|
||||
public function getFormattedHours(): ?string
|
||||
{
|
||||
$mon = 'CLOSED';
|
||||
$tue = 'CLOSED';
|
||||
$wed = 'CLOSED';
|
||||
$thu = 'CLOSED';
|
||||
$fri = 'CLOSED';
|
||||
$sat = 'CLOSED';
|
||||
$sun = 'CLOSED';
|
||||
|
||||
if ($this->monOpen && $this->monClose) {
|
||||
$mon = $this->monOpen->format('g:i A') . '-' . $this->monClose->format('g:i A');
|
||||
}
|
||||
if ($this->tueOpen && $this->tueClose) {
|
||||
$tue = $this->tueOpen->format('g:i A') . '-' . $this->tueClose->format('g:i A');
|
||||
}
|
||||
if ($this->wedOpen && $this->wedClose) {
|
||||
$wed = $this->wedOpen->format('g:i A') . '-' . $this->wedClose->format('g:i A');
|
||||
}
|
||||
if ($this->thuOpen && $this->thuClose) {
|
||||
$thu = $this->thuOpen->format('g:i A') . '-' . $this->thuClose->format('g:i A');
|
||||
}
|
||||
if ($this->friOpen && $this->friClose) {
|
||||
$fri = $this->friOpen->format('g:i A') . '-' . $this->friClose->format('g:i A');
|
||||
}
|
||||
if ($this->satOpen && $this->satClose) {
|
||||
$sat = $this->satOpen->format('g:i A') . '-' . $this->satClose->format('g:i A');
|
||||
}
|
||||
if ($this->sunOpen && $this->sunClose) {
|
||||
$sun = $this->sunOpen->format('g:i A') . '-' . $this->sunClose->format('g:i A');
|
||||
}
|
||||
|
||||
return <<<HTML
|
||||
<p>Sun: {$sun}</p>
|
||||
<p>Mon: {$mon}</p>
|
||||
<p>Tue: {$tue}</p>
|
||||
<p>Wed: {$wed}</p>
|
||||
<p>Thu: {$thu}</p>
|
||||
<p>Fri: {$fri}</p>
|
||||
<p>Sat: {$sat}</p>
|
||||
HTML;
|
||||
}
|
||||
|
||||
public function getNotes(): ?string
|
||||
{
|
||||
return $this->notes;
|
||||
}
|
||||
|
||||
public function setNotes(?string $notes): static
|
||||
{
|
||||
$this->notes = $notes;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getServicesAvailable(): ?string
|
||||
{
|
||||
return $this->servicesAvailable;
|
||||
}
|
||||
|
||||
public function setServicesAvailable(?string $servicesAvailable): static
|
||||
{
|
||||
$this->servicesAvailable = $servicesAvailable;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ResourceType[]
|
||||
*/
|
||||
public function getType(): array
|
||||
{
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
public function setType(array $type): static
|
||||
{
|
||||
$this->type = $type;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getLat(): ?float
|
||||
{
|
||||
return $this->lat;
|
||||
}
|
||||
|
||||
public function setLat(?float $lat): static
|
||||
{
|
||||
$this->lat = $lat;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getLon(): ?float
|
||||
{
|
||||
return $this->lon;
|
||||
}
|
||||
|
||||
public function setLon(?float $lon): static
|
||||
{
|
||||
$this->lon = $lon;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function _toInfoWindow(): string
|
||||
{
|
||||
return <<<EOL
|
||||
{$this->name}<br/>
|
||||
<a href='http://maps.google.com/?q={$this->lat},{$this->lon}'>{$this->address}<br/>
|
||||
{$this->city}, {$this->state->value} {$this->zip}</a><br/>
|
||||
{$this->servicesAvailable}<br/>
|
||||
{$this->getContactCard()}
|
||||
EOL;
|
||||
}
|
||||
|
||||
public function toLocation(): Location
|
||||
{
|
||||
$loc = new Location();
|
||||
$loc->setName($this->name)
|
||||
->setAddress($this->address)
|
||||
->setCity($this->city)
|
||||
->setState($this->state)
|
||||
->setZip($this->zip)
|
||||
->setLat($this->lat)
|
||||
->setLon($this->lon)
|
||||
;
|
||||
|
||||
return $loc;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user