%PDF- %PDF-
Direktori : /home/silvzytp/crm-ind-code/vendor/laravel/framework/src/Illuminate/Notifications/Messages/ |
Current File : //home/silvzytp/crm-ind-code/vendor/laravel/framework/src/Illuminate/Notifications/Messages/SimpleMessage.php |
<?php namespace Illuminate\Notifications\Messages; use Illuminate\Contracts\Support\Htmlable; use Illuminate\Notifications\Action; class SimpleMessage { /** * The "level" of the notification (info, success, error). * * @var string */ public $level = 'info'; /** * The subject of the notification. * * @var string */ public $subject; /** * The notification's greeting. * * @var string */ public $greeting; /** * The notification's salutation. * * @var string */ public $salutation; /** * The "intro" lines of the notification. * * @var array */ public $introLines = []; /** * The "outro" lines of the notification. * * @var array */ public $outroLines = []; /** * The text / label for the action. * * @var string */ public $actionText; /** * The action URL. * * @var string */ public $actionUrl; /** * The name of the mailer that should send the notification. * * @var string */ public $mailer; /** * Indicate that the notification gives information about a successful operation. * * @return $this */ public function success() { $this->level = 'success'; return $this; } /** * Indicate that the notification gives information about an error. * * @return $this */ public function error() { $this->level = 'error'; return $this; } /** * Set the "level" of the notification (success, error, etc.). * * @param string $level * @return $this */ public function level($level) { $this->level = $level; return $this; } /** * Set the subject of the notification. * * @param string $subject * @return $this */ public function subject($subject) { $this->subject = $subject; return $this; } /** * Set the greeting of the notification. * * @param string $greeting * @return $this */ public function greeting($greeting) { $this->greeting = $greeting; return $this; } /** * Set the salutation of the notification. * * @param string $salutation * @return $this */ public function salutation($salutation) { $this->salutation = $salutation; return $this; } /** * Add a line of text to the notification. * * @param mixed $line * @return $this */ public function line($line) { return $this->with($line); } /** * Add a line of text to the notification if the given condition is true. * * @param bool $boolean * @param mixed $line * @return $this */ public function lineIf($boolean, $line) { if ($boolean) { return $this->line($line); } return $this; } /** * Add lines of text to the notification. * * @param iterable $lines * @return $this */ public function lines($lines) { foreach ($lines as $line) { $this->line($line); } return $this; } /** * Add lines of text to the notification if the given condition is true. * * @param bool $boolean * @param iterable $lines * @return $this */ public function linesIf($boolean, $lines) { if ($boolean) { return $this->lines($lines); } return $this; } /** * Add a line of text to the notification. * * @param mixed $line * @return $this */ public function with($line) { if ($line instanceof Action) { $this->action($line->text, $line->url); } elseif (! $this->actionText) { $this->introLines[] = $this->formatLine($line); } else { $this->outroLines[] = $this->formatLine($line); } return $this; } /** * Format the given line of text. * * @param \Illuminate\Contracts\Support\Htmlable|string|array $line * @return \Illuminate\Contracts\Support\Htmlable|string */ protected function formatLine($line) { if ($line instanceof Htmlable) { return $line; } if (is_array($line)) { return implode(' ', array_map('trim', $line)); } return trim(implode(' ', array_map('trim', preg_split('/\\r\\n|\\r|\\n/', $line ?? '')))); } /** * Configure the "call to action" button. * * @param string $text * @param string $url * @return $this */ public function action($text, $url) { $this->actionText = $text; $this->actionUrl = $url; return $this; } /** * Set the name of the mailer that should send the notification. * * @param string $mailer * @return $this */ public function mailer($mailer) { $this->mailer = $mailer; return $this; } /** * Get an array representation of the message. * * @return array */ public function toArray() { return [ 'level' => $this->level, 'subject' => $this->subject, 'greeting' => $this->greeting, 'salutation' => $this->salutation, 'introLines' => $this->introLines, 'outroLines' => $this->outroLines, 'actionText' => $this->actionText, 'actionUrl' => $this->actionUrl, 'displayableActionUrl' => str_replace(['mailto:', 'tel:'], '', $this->actionUrl ?? ''), ]; } }