90 lines
1.8 KiB
PHP
90 lines
1.8 KiB
PHP
<?php namespace MapGuesser\PersistentData\Model;
|
|
|
|
use DateTime;
|
|
use SokoWeb\PersistentData\Model\Model;
|
|
|
|
class MultiRoom extends Model
|
|
{
|
|
protected static string $table = 'multi_rooms';
|
|
|
|
protected static array $fields = ['room_id', 'state', 'members', 'updated'];
|
|
|
|
private string $roomId = '';
|
|
|
|
private array $state = [];
|
|
|
|
private array $members = [];
|
|
|
|
private DateTime $updated;
|
|
|
|
public function setRoomId(string $roomId): void
|
|
{
|
|
$this->roomId = $roomId;
|
|
}
|
|
|
|
public function setStateArray(array $state): void
|
|
{
|
|
$this->state = $state;
|
|
}
|
|
|
|
public function setMembersArray(array $members): void
|
|
{
|
|
$this->members = $members;
|
|
}
|
|
|
|
public function setState(string $state): void
|
|
{
|
|
$this->state = unserialize($state);
|
|
}
|
|
|
|
public function setMembers(string $members): void
|
|
{
|
|
$this->members = unserialize($members);
|
|
}
|
|
|
|
public function setUpdatedDate(DateTime $updated): void
|
|
{
|
|
$this->updated = $updated;
|
|
}
|
|
|
|
public function setUpdated(string $updated): void
|
|
{
|
|
$this->updated = new DateTime($updated);
|
|
}
|
|
|
|
public function getRoomId(): string
|
|
{
|
|
return $this->roomId;
|
|
}
|
|
|
|
public function getStateArray(): array
|
|
{
|
|
return $this->state;
|
|
}
|
|
|
|
public function getState(): string
|
|
{
|
|
return serialize($this->state);
|
|
}
|
|
|
|
public function getMembersArray(): array
|
|
{
|
|
return $this->members;
|
|
}
|
|
|
|
public function getMembers(): string
|
|
{
|
|
return serialize($this->members);
|
|
}
|
|
|
|
public function getUpdatedDate(): DateTime
|
|
{
|
|
return $this->updated;
|
|
}
|
|
|
|
public function getUpdated(): string
|
|
{
|
|
return $this->updated->format('Y-m-d H:i:s');
|
|
}
|
|
}
|