id; } public function getRelatedUser(): ?User { return $this->related_user; } public function setRelatedUser(?User $related_user): static { $this->related_user = $related_user; return $this; } #[Groups(['all', 'profile'])] public function getDate(): ?\DateTimeInterface { return $this->date; } public function setDate(\DateTimeInterface $date): static { $this->date = $date; return $this; } #[Groups(['all', 'profile'])] public function getField(): ?string { return $this->field; } public function setField(?string $field): static { $this->field = $field; return $this; } #[Groups(['all', 'profile'])] public function getType(): ?string { return $this->type; } public function setType(string $type): static { $this->type = $type; return $this; } #[Groups(['all', 'profile'])] public function getValue(): ?string { return $this->value; } public function setValue(?string $value): static { $this->value = $value; return $this; } #[Groups(['all', 'profile'])] public function getOldValue(): ?string { return $this->old_value; } public function setOldValue(?string $old_value): static { $this->old_value = $old_value; return $this; } #[Groups(['all', 'profile'])] public function getText(): ?string { $text = ''; $type = $this->getType(); switch ($field = $this->getField()) { case 'image': switch ($type) { case self::TYPE_CREATE: $text = 'Изображение загружено'; break; case self::TYPE_UPDATE: $text = 'Изображение обновлено'; break; case self::TYPE_DELETE: $text = 'Изображение удалено'; break; } break; case 'confirm': switch ($type) { case self::TYPE_CREATE: $text = 'Почта подтверждена'; break; case self::TYPE_DELETE: $text = 'Подтверждение почты сброшено'; break; } break; case 'user': switch ($type) { case self::TYPE_CREATE: $text = 'Пользователь зарегистрирован'; break; case self::TYPE_UPDATE: $text = 'Пользователь обновлен'; break; case self::TYPE_RECOVERY: $text = 'Пользователь восстановлен'; break; case self::TYPE_DELETE: $text = 'Пользователь удален'; break; } break; default: if (isset(UserListener::HISTORY_FIELDS[$field])) { switch ($type) { case self::TYPE_CREATE: $text = 'Поле "' . UserListener::HISTORY_FIELDS[$field] . '" заполнено'; break; case self::TYPE_UPDATE: $text = 'Поле "' . UserListener::HISTORY_FIELDS[$field] . '" обновлено'; break; case self::TYPE_DELETE: $text = 'Поле "' . UserListener::HISTORY_FIELDS[$field] . '" удалено '; break; } } break; } $time = ''; if ($date = $this->getDate()) { $time = $date->format('d.m.Y H:i:s') . ' - '; } return $time . $text; } }