/** * Send a spam report via email * @return void */ public function report() { $author = $this->post->getOne('Author'); /* setup default properties */ $subject = $this->modx->getOption('subject', $this->scriptProperties, $this->modx->getOption('discuss.email_reported_post_subject', null, 'Reported Post: [[+title]]')); $subject = str_replace('[[+title]]', $this->post->get('title'), $subject); $tpl = $this->modx->getOption('tpl', $this->scriptProperties, $this->modx->getOption('discuss.email_reported_post_chunk', null, 'emails/disReportedEmail')); /* build post url */ $url = $this->post->getUrl(); /* setup email properties */ $emailProperties = array_merge($this->scriptProperties, $this->post->toArray()); $emailProperties['tpl'] = $tpl; $emailProperties['title'] = $this->post->get('title'); if ($author) { $emailProperties['author'] = $author->get('username'); } $emailProperties['reporter'] = $this->discuss->user->get('username'); $emailProperties['url'] = $url; $emailProperties['forum_title'] = $this->modx->getOption('discuss.forum_title'); $emailProperties['message'] = nl2br(strip_tags($this->scriptProperties['message'])); /* send reported email */ $moderators = $this->thread->getModerators(); /** @var disUser $moderator */ foreach ($moderators as $moderator) { $sent = $this->discuss->sendEmail($moderator->get('email'), $moderator->get('username'), $subject, $emailProperties); } unset($emailProperties); $this->discuss->logActivity('post_report', $this->post->toArray(), $this->post->getUrl()); /* redirect to thread */ $this->modx->sendRedirect($url); }