HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ehboledensysteem.komma.pro/app/KommaApp/Events/Kms/EventController.php
<?php
/**
 *
 * @author      Komma <info@komma.pro>
 * @copyright   (c) 2012-2016, Komma
 */

namespace App\KommaApp\Events\Kms;

use App\KommaApp\Kms\Core\SectionController;
use App\KommaApp\Events\Models\Event;
use App\KommaApp\Users\Models\User;
use App\Mail\EventAssignedMail;
use App\Mail\EventNotAssignedMail;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Mail;

class EventController extends SectionController
{
    protected $slug = "events";
    protected $forModelName = Event::class;

    function __construct(EventSection $section)
    {
        parent::__construct($section);
    }

    public function assignUserToEvent($returnToOverview = true, $returnEvent = false) {

        $users = request('subscribed_user');
        $event = request('event_id');

        if(!isset($users) ) return redirect()->back()->with('message' , 'Geen gebruikers geselecteerd.');
        if(!isset($event)) return redirect()->back()->with('message' , 'Geen evenement.');

        $event = Event::find($event);
        $event->load('translation', 'users');
        $users = $event->users->whereIn('id', $users);

        foreach ($users as $user) {
            Mail::to($user->email)->send(new EventAssignedMail($user, $event));

            $user->pivot->user_status = Event::UserStatusPresent;
            $user->pivot->save();
        }

        if($returnToOverview) {
            return redirect()->route('events.show', ['event' => $event])->with('success', 'Mails verzonden.');
        }

        if($returnEvent) {
            return $event;
        }
    }

    public function assignUserToEventAndNotifyOthers() {

        $event = $this->assignUserToEvent(false, true);

        $unAssignedUsers = $event->users()->where('user_status', 1)->get();

        foreach ($unAssignedUsers as $user) {
            Mail::to($user->email)->send(new EventNotAssignedMail($user, $event));
        }

        return redirect()->route('events.show', ['event' => $event])->with('success', 'Mails verzonden.');
    }
}