Preview: AssignReviewerMail.php
Size: 3.13 KB
/var/www/multi-event-cfp.bitkit.dk/httpdocs/app/Mail/AssignReviewerMail.php
<?php
namespace App\Mail;
use App\Models\PresentationReview;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
use App\Lib\EmailSetupHelper;
class AssignReviewerMail extends Mailable
{
use Queueable, SerializesModels;
protected $review;
protected $emailSetup;
const KEY_TO_REVIEWER = "presentation_reviewer_assign_reviewer";
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(PresentationReview $review)
{
$this->review = $review;
$this->presentation = $review->presentation;
$this->emailSetup = new EmailSetupHelper();
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$emailContents = $this->emailSetup->getEmailData($this->presentation->event->id,self::KEY_TO_REVIEWER);
$logo = config('app.url') . '/' . $this->presentation->event->theme['logo']['value'];
$eventHeader = $this->presentation->event->event_name;
$eventUrl = $this->presentation->event->eventUrl('reviewer');
$presentationUrl = $eventUrl . "presentation/{$this->presentation->id}";
$presentationTitle = isset($this->presentation->data[0]) ? $this->presentation->data[0]['value'] : '';
$presentationViewLink = $this->emailSetup->formatLinks($emailContents->body,'presentation_view_link_title',$presentationUrl);
Log::info($eventUrl);
Log::info($presentationUrl);
$variables = [
'reviewer_name' => $this->review->reviewer->name,
'presentation_title' => $presentationTitle,
'presentation_view_link' => $presentationViewLink,
'event_name' => $this->presentation->event->event_name,
'presentation_id' => $this->presentation->id,
'abstract_id' => $this->presentation->abstract_id ? $this->presentation->abstract_id : ''
];
$subject = $this->emailSetup->formatEmailBody($emailContents->subject,$variables);
$body = $this->emailSetup->formatEmailBody($emailContents->body,$variables);
$body = html_entity_decode($this->emailSetup->removeLinkTitleFromBody($body,'presentation_view_link_title'));
// $body = "
// <p>
// Dear {$this->review->reviewer->name},<br><br>
// As a member of {$this->presentation->event->event_name} Conference,
// it is now time to start reviewing the speaker presentations.<br>
// You have been added as a reviewer of presentation {$this->presentation->id}.<br>
// To review the presentation, please click here
// <a href={$presentationUrl}>{$presentationUrl}</a><br><br>
// Thank you,<br>
// {$this->presentation->event->event_name} Conference Team
// ";
return $this->from(config('app.admin_mail', 'Admin'), $this->presentation->event->event_name)
->subject($subject)
->view('emails.presentation.assign_reviewer')
->with([
"body" => $body,
"eventHeader" => $eventHeader,
"logo" => $logo
]);
}
}
Directory Contents
Dirs: 0 × Files: 34