Files
DatBrowser/app/Notification/NotificationBody/ListNotificationBody.php

45 lines
1.0 KiB
PHP

<?php
namespace App\Notification\NotificationBody;
use App\Notification\NotificationBody;
use App\Notification\Stringifiable;
class ListNotificationBody extends NotificationBody {
private array $content;
public function __construct(array $content) {
$this->content = $content;
}
/**
* @inheritDoc
*/
public function toMarkdownString(): string {
$string = "";
foreach ($this->content as $item) {
$string .= "- ". $this->getTextFromContent($item) . "\n";
}
return $string;
}
/**
* @inheritDoc
*/
public function toString(): string {
$string = "";
foreach ($this->content as $item) {
$string .= $this->getTextFromContent($item) . "\n";
}
return $string;
}
public function getTextFromContent(string|Stringifiable $content): string {
if ($content instanceof Stringifiable) {
return $content->toString();
}
return $content;
}
}