PHP 7.4.33
Preview: PresentationSubmittedMailToPresenters.php Size: 5.12 KB
/var/www/multi-event-cfp.bitkit.dk/httpdocs/app/Mail/PresentationSubmittedMailToPresenters.php
<?php

namespace App\Mail;

use App\Models\Presentation;
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 PresentationSubmittedMailToPresenters extends Mailable
{
    use Queueable, SerializesModels;

    protected $presentation;
    protected $submitter;
    protected $userType;
    protected $presenters;
    protected $password;
    protected $emailSetup;


    const KEY_TO_NEW_USER = "presentation_create_submitted_new_presenters";
    const KEY_TO_EXISTING_USER = "presentation_create_submitted_existing_presenters";

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct(Presentation $presentation, $submitter, $userType, $presenters, $password = null)
    {
        $this->presentation = $presentation;
        $this->submitter = $submitter;
        $this->userType = $userType;
        $this->presenters = $presenters;
        $this->password = $password;
        $this->emailSetup =  new EmailSetupHelper();
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $emailContents = $this->emailSetup->getEmailData($this->presentation->event->id,$this->userType == 'existing' ? self::KEY_TO_EXISTING_USER : self::KEY_TO_NEW_USER);

        $logo = config('app.url') . '/' . $this->presentation->event->theme['logo']['value'];
        $eventHeader = $this->presentation->event->event_name;
        $presentationTitle = $this->presentation->data[0]['value'];

        $eventUrl = $this->presentation->event->eventUrl('submitter');
        $presentationUrl = $eventUrl . "presentation/{$this->presentation->id}";
        Log::info($eventUrl);
        Log::info($presentationUrl);
        $presentationViewLink = $this->emailSetup->formatLinks($emailContents->body,'presentation_view_link_title',$presentationUrl);
        $eventViewLink = $this->emailSetup->formatLinks($emailContents->body,'event_view_link_title',$eventUrl);

        $variables=[
            'presenter_name' => $this->presenters->name,
            'presentation_title' => $presentationTitle,
            'submitter_name' => $this->submitter->name,
            'event_name' => $this->presentation->event->event_name,
            'presentation_view_link' => $presentationViewLink,
            'event_view_link' => $eventViewLink,
            'username' => $this->presenters->email,
            'password' => $this->userType != 'existing' ? $this->password : '',
            '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 = $this->emailSetup->removeLinkTitleFromBody($body,'presentation_view_link_title');
        $body = html_entity_decode($this->emailSetup->removeLinkTitleFromBody($body,'event_view_link_title'));

        // if ($this->userType == 'existing') {

        //     $body = "
        //     <p>
        //     Hi {$this->presenters->name},<br/><br>
        //     You have been added as a presenter
        //     to a new presentation
        //     <b> {$presentationTitle} </b>
        //     by {$this->submitter->name}.
        //     <br><br>

        //     To view the presentation, please click <a href={$presentationUrl}>{$presentationUrl}</a><br><br>

        //     You can login to the {$this->presentation->event->event_name}
        //     using the below details to amend your
        //     profile.<br><br>
        //     Link : <a href={$eventUrl}>{$eventUrl}</a><br>
        //     Username : {$this->presenters->email} <br>
        //     <br>
        //     Thank you,<br>
        //     {$this->presentation->event->event_name} Team<br>
        //     </p>
        //     ";
        // } else {


        //     $body = "
        // <p>
        // Hi {$this->presenters->name},<br/><br>

        // You have been added as a presenter
        // to a new presentation
        // <b> {$presentationTitle} </b>
        // by {$this->submitter->name}.
        // <br><br>


        // To view the presentation, please click <a href={$presentationUrl}>{$presentationUrl}</a><br><br>

        // You can login to the {$this->presentation->event->event_name}
        // using the below details to amend your
        // profile.<br><br>
        // Link : <a href={$eventUrl}>{$eventUrl}</a><br>
        // Username : {$this->presenters->email}<br>
        // password : {$this->password}<br>

        // <br>
        // Thank you<br>
        // {$this->presentation->event->event_name} Team<br>
        // </p>
        // ";
        // }

        return $this->from(config('app.admin_mail', 'Presenters'), $this->presentation->event->event_name)
            ->subject($subject)
            ->view('emails.presentation.presentation_submitted')
            ->with([
                "body" => $body,
                "eventHeader" => $eventHeader,
                "logo" => $logo
            ]);
    }
}

Directory Contents

Dirs: 0 × Files: 34
Name Size Perms Modified Actions
3.36 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.72 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
4.57 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
3.92 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
5.26 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
3.02 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
4.96 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
1.93 KB lrw-rw-r-- 2025-03-03 05:40:15
Edit Download
3.13 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
1.92 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.62 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.12 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
1.18 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
558 B lrw-rw-r-- 2025-10-28 05:25:19
Edit Download
3.32 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
1.35 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
3.17 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
3.59 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
4.22 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
3.10 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
5.12 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
3.23 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.63 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.58 KB lrw-rw-r-- 2024-07-09 04:25:22
Edit Download
879 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
3.06 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
507 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
1.54 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.67 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
5.42 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
3.46 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
4.31 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
1.32 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.97 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).