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 [];
}
}