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/SBogers95/rentman.io/app/Http/Middleware/OldRouteResolver.php
<?php

namespace App\Http\Middleware;

use App\Komma\Posts\Models\PostTranslation;
use Illuminate\Http\Request;
use Illuminate\Support\Str;

class OldRouteResolver extends AbstractResolver
{
    /**
     * Handle an incoming request.
     *
     * @param Request $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle($request, \Closure $next)
    {
        // Check if route should be excluded from resolving
        if ($this->isRouteResolved($request) || $this->isKmsRoute($request) || $this->isRootRoute($request)) {
            return $next($request);
        }

        $route = $request->getPathInfo();

        foreach (config('redirects') as $old => $new) {
            if ($old == $new) {
                dd($old);
            }
        }

        // Check if route exists as redirect
        if (array_key_exists($route, config('redirects'))) {
            // Redirect to the found redirect route out the config
            return redirect(config('redirects.'.$route));
        }

        // ------- SPECIAL REDIRECT RULES --------- //

        // REPLACE PART OF ROUTE
        foreach (['/fr/mises-a-jour-logiciel', '/fr/jobs', '/it/aggiornamenti-del-prodotto'] as $replacePartialRoutes) {
            if (Str::startsWith($route, [$replacePartialRoutes])) {
                $newRoute = str_replace($replacePartialRoutes, config('redirects.'.$replacePartialRoutes), $route);

                return redirect($newRoute);
            }
        }

        // ENGLISH ROUTE TO WITHOUT LANGUAGE PREFIX
        $segments = $request->segments();
        if (count($segments) != 0) {
            if ($segments[0] == 'en') {
                $redirectRoute = '';
                foreach ($segments as $key => $segment) {
                    if ($key == 0) {
                        continue;
                    }
                    $redirectRoute .= '/'.$segment;
                }

                return redirect($redirectRoute);
            }
        }

        // Bottom half should be customized to the site where it's needed
        // So for know we proceed with the request
        return $next($request);

        // Get the last segment
        $segments = $request->segments();
        $lastSegment = $segments[count($segments) - 1];

        // Try to find the last segment as post item
        if ($postTranslation = PostTranslation::where('slug', $lastSegment)->where('active', 1)->first()) {
            return redirect('/nieuws/'.$lastSegment);
        }

        return $next($request);
    }
}