mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-12-22 19:58:28 +00:00
3847a76134
- This ensures content notifications are not translated to receiver language. - This adds actual plaintext support for content notifications (Was previously just HTML as text view). - Shares same base class across all mail notifications. - Also cleaned up existing notification classes. Future cleanup requested via #4501
34 lines
881 B
PHP
34 lines
881 B
PHP
<?php
|
|
|
|
namespace BookStack\Activity\Notifications\MessageParts;
|
|
|
|
use Illuminate\Contracts\Support\Htmlable;
|
|
use Stringable;
|
|
|
|
/**
|
|
* A line of text with linked text included, intended for use
|
|
* in MailMessages. The line should have a ':link' placeholder for
|
|
* where the link should be inserted within the line.
|
|
*/
|
|
class LinkedMailMessageLine implements Htmlable, Stringable
|
|
{
|
|
public function __construct(
|
|
protected string $url,
|
|
protected string $line,
|
|
protected string $linkText,
|
|
) {
|
|
}
|
|
|
|
public function toHtml(): string
|
|
{
|
|
$link = '<a href="' . e($this->url) . '">' . e($this->linkText) . '</a>';
|
|
return str_replace(':link', $link, e($this->line));
|
|
}
|
|
|
|
public function __toString(): string
|
|
{
|
|
$link = "{$this->linkText} ({$this->url})";
|
|
return str_replace(':link', $link, $this->line);
|
|
}
|
|
}
|