clrghouz/app/Notifications/Netmails/EchoareaNotSubscribed.php

66 lines
1.6 KiB
PHP

<?php
namespace App\Notifications\Netmails;
use Carbon\Carbon;
use Illuminate\Support\Facades\Log;
use App\Notifications\Netmails;
use App\Models\{Echomail,Netmail};
use App\Traits\{MessagePath,PageTemplate};
class EchoareaNotSubscribed extends Netmails
{
use MessagePath,PageTemplate;
private const LOGKEY = 'NNW';
private Echomail $mo;
/**
* Send a sysop a message if they write to an area that they hadnt previously subscribed to.
*
* @param Echomail $mo
*/
public function __construct(Echomail $mo)
{
parent::__construct();
$this->mo = $mo;
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return Netmail
* @throws \Exception
*/
public function toNetmail(object $notifiable): Netmail
{
$o = $this->setupNetmail($notifiable);
$ao = $notifiable->routeNotificationFor(static::via);
Log::info(sprintf('%s:+ Creating ECHOAREA NOT SUBSCRIBED netmail to [%s]',self::LOGKEY,$ao->ftn));
$o->subject = 'Echoarea not subscribed - '.$this->mo->echoarea->name;
// Message
$msg = $this->page(FALSE,'nosub');
$msg->addText($this->sourceSummary($this->mo)."\r\r");
$msg->addText(sprintf("It appears that you havent been previously subscribed to this echoarea using the address [%s].\r\r",$ao->ftn));
$msg->addText("Even though your post was accepted, I'm not configured to export any posts to you when others respond, you might like to log in to the web interface and do that.\r\r");
$msg->addText($this->message_path($this->mo));
$o->msg = $msg->render();
$o->set_tagline = 'Don\'t let your trash become someone else\'s treasure. Feed your shredder.';
$o->save();
return $o;
}
}