Files
zemailnator/app/Http/Middleware/CheckPageSlug.php
idevakk 3892c48ef2 feat: upgrade filament to v4 and ensure 100% test coverage
- Upgrade Filament framework from v3 to v4
   - Update all Filament resources and pages for v4 compatibility
   - Fix test suite to maintain 100% pass rate (321 tests passing)
   - Add visibility condition for ticket close action (only when not closed)
   - Update dependencies and build assets for new Filament version
   - Maintain backward compatibility while leveraging v4 improvements
2025-11-14 01:42:07 -08:00

41 lines
935 B
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class CheckPageSlug
{
/**
* Handle an incoming request.
*
* @param Closure(Request):Response $next
*/
public function handle(Request $request, Closure $next): Response
{
$slug = $request->route('slug');
$publicPath = public_path($slug);
if (file_exists($publicPath) && is_file($publicPath) && pathinfo($slug, PATHINFO_EXTENSION) === 'php') {
ob_start();
include($publicPath);
$content = ob_get_clean();
ob_flush();
return response($content);
}
if (file_exists($publicPath) && is_file($publicPath)) {
return response()->file($publicPath);
}
if (is_dir($publicPath)) {
abort(404);
}
return $next($request);
}
}