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/wingssprayer.komma.pro/app/Forms/VacancyController.php
<?php
/**
 * Created by PhpStorm.
 * Date: 26/09/17
 * Time: 15:24
 */

namespace App\Forms;

use App\Base\Controller;
use App\Http\Requests\VacancyRequest;
use App\Mail\VacancyMail;
use App\Pages\PageController;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\UploadedFile;

final class VacancyController extends Controller
{
    /**
     * @var FormService
     */
    private $formService;

    /**
     * PlanDemoController constructor.
     * @param FormService $formService
     */
    public function __construct(FormService $formService)
    {
        parent::__construct();

        $this->formService = $formService;
        $this->formService->setOrigin('vacancy');
    }

    /**
     * @param VacancyRequest $request
     * @return \Illuminate\Http\JsonResponse
     */
    public function process(VacancyRequest $request)
    {

        // Store request in the database
        $this->formService->storeRequest($request);

        if($request->hasFile('files'))
        {
            $mimetypes = [
                'image/*' => 'Afbeelding' ,
                'application/pdf' => 'PDF',
                'application/msword' => 'Word 97-2004-document',
                'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'Word-document',
//                'application/vnd.oasis.opendocument.text' => 'OpenOffice / LibreOffice',
            ];

            $validator = Validator::make($request->all(), [
                'files.*' => 'file|max:10240|mimetypes:'.implode(',', array_keys($mimetypes)), // 10MB (megabyte)
            ], [
                'max' => __('vacancy.validation.max_file_upload', ['size' => '10 MB']),
                'mimetypes' => __('vacancy.validation.mimetypes', ['types' => implode(', ', array_values($mimetypes))])
            ]);

            $validator->validate();
        }

        // Remove token from request (this creates and array)
        Mail::send(new VacancyMail($request->except('_token', 'files'), $request->file('files')));

        // Redirect to the success page
        return redirect(localized_route('vacancy.success') .'?success=true');
    }

    /**
     * Show page where we thank the user
     *
     * @return mixed
     */
    public function success()
    {
        $controller = new \App\Vacancies\VacancyController();
        return $controller->index(true);
    }
}