report = $report;
}
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope()
{
$type = $this->report->type;
$id = $this->report->id;
$object_type = last(explode("\\", $this->report->object_type));
return new Envelope(
subject: '[' . config('pixelfed.domain.app') . '] ' . $object_type . ' Report (Ref: report-' . $id . '-' . $type . ')',
);
}
/**
* Get the message content definition.
*
* @return \Illuminate\Mail\Mailables\Content
*/
public function content()
{
$report = $this->report;
$object_type = last(explode("\\", $this->report->object_type));
$reporter = AccountService::get($report->profile_id, true);
$reported = AccountService::get($report->reported_profile_id, true);
$title = 'New ' . $object_type . ' Report (#' . $report->id . ')';
$reportUrl = url('/i/admin/reports/show/' . $report->id . '?ref=email');
$data = [
'report' => $report,
'object_type' => $object_type,
'title' => $title,
'reporter' => $reporter,
'reported' => $reported,
'url' => $reportUrl,
'message' => 'You have a new moderation report.'
];
if($object_type === 'Status') {
$data['reported_status'] = StatusService::get($report['object_id'], false);
if($reporter && $reported) {
$data['message'] = '@' .
$reporter['acct'] . ' reported a post by @' . $reported['acct'] . ' as ' . $report->type . '.';
}
}
if($object_type === 'Profile') {
if($reporter && $reported) {
$data['message'] = '@' .
$reporter['acct'] . ' reported @' . $reported['acct'] . '\'s profile as ' . $report->type . '.';
}
}
return new Content(
markdown: 'emails.admin.new_report',
with: $data
);
}
/**
* Get the attachments for the message.
*
* @return array
*/
public function attachments()
{
return [];
}
}