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/debierbaron.komma.pro/app/Komma/Mailers/Mailer.php
<?php

namespace Komma\Mailers;

use Illuminate\Support\Facades\Mail;
use Illuminate\Validation\Factory as Validator;

class Mailer {  //class that never will be used on it's own

    /**
     * @var Validator
     */
    protected $validator;
    protected $validation;
    public $rules;

    function __construct(Validator $validator)
    {
        $this->validator = $validator;
    }

    public function sendTo($user, $subject, $view, $data =[]){
        if(!isset($data['emailForm'])){
            Mail::send($view, $data , function($message) use($user, $subject){
                $message->to($user)
                    ->subject($subject);
            });
        }
        else{
            Mail::send($view, $data , function($message) use($user, $subject, $data){
                $message->to($user)
                    ->replyTo($data['emailForm'], $data['emailForm'])
                    ->subject($subject);
            });

        }

    }

    public function validate(array $formData){
        $this->validation = $this->validator->make($formData, $this->getValidationRules());

        if($this->validation->fails()){
            return  $this->getValidationErrors();
        }

        return true;
    }

    public function makeRules($rules){
        $this->rules = $rules;
    }

    /**
     * @return mixed
     */
    protected function getValidationRules(){
        return $this->rules;
    }

    /**
     * @return mixed
     */
    protected function getValidationErrors(){
        return $this->validation->errors();
    }

}