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/farmfun/reserveren.farmfun.be/app/Http/Wildcards/LocationsWildcard.php
<?php

namespace App\Http\Wildcards;

use App\Komma\Locations\Models\LocationTranslation;
use Illuminate\Http\Request;

class LocationsWildcard implements WildcardInterface
{
    /**
     * @param Request $request
     * @param string $route
     * @param string $tail
     * @return Request
     */
    public function handle(Request $request, string $route, string $tail): Request
    {
        $tailParts = explode('/', $tail);

        // if location wildcard ends with 'bedankt', show contact success route
        if (isset($tailParts[2]) && $tailParts[2] === 'bedankt') {
            $request->server->set('REQUEST_URI', 'contact/success');

            return $request;
        }

        if (isset($tailParts[1]) && $locationTranslation = LocationTranslation::where('slug', $tailParts[1])->first()) {
            //Set the request URI and the original path
            $request->server->set('REQUEST_URI', 'locations/'.$locationTranslation->location_id);

            return $request;
        }

        return $request;
    }
}