. */ namespace App\Services\LogSystem; class EventCommentHelper { protected const MAX_MESSAGE_LENGTH = 255; protected $message; public function __construct() { $this->message = null; } /** * Set the message that will be saved for all ElementEdited/Created/Deleted messages during the next flush. * Set to null if no message should be shown. * After the flush this message is cleared. */ public function setMessage(?string $message): void { //Restrict the length of the string if ($message) { $this->message = mb_strimwidth($message, 0, self::MAX_MESSAGE_LENGTH, '...'); } else { $this->message = null; } } /** * Returns the currently set message, or null if no message is set yet. */ public function getMessage(): ?string { return $this->message; } /** * Clear the currently set message. */ public function clearMessage(): void { $this->message = null; } /** * Check if a message is currently set. */ public function isMessageSet(): bool { return is_string($this->message); } }