diff options
| author | Greg Roach <greg@subaqua.co.uk> | 2022-02-22 11:28:26 +0000 |
|---|---|---|
| committer | Greg Roach <greg@subaqua.co.uk> | 2022-02-23 10:22:28 +0000 |
| commit | b55cbc6b43247e8b2ad14af6f6d24dc6747195ff (patch) | |
| tree | 7c48ed3c99e4c7887dee5e923035c862fdff92cd /app/Http/RequestHandlers/RepositoryPage.php | |
| parent | 709c7e1a4da00208ea2ab538eb0a1f2d46f63629 (diff) | |
| download | webtrees-b55cbc6b43247e8b2ad14af6f6d24dc6747195ff.tar.gz webtrees-b55cbc6b43247e8b2ad14af6f6d24dc6747195ff.tar.bz2 webtrees-b55cbc6b43247e8b2ad14af6f6d24dc6747195ff.zip | |
Update and use Validation class
Diffstat (limited to 'app/Http/RequestHandlers/RepositoryPage.php')
| -rw-r--r-- | app/Http/RequestHandlers/RepositoryPage.php | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/app/Http/RequestHandlers/RepositoryPage.php b/app/Http/RequestHandlers/RepositoryPage.php index 886c8b287b..ef919ac534 100644 --- a/app/Http/RequestHandlers/RepositoryPage.php +++ b/app/Http/RequestHandlers/RepositoryPage.php @@ -24,13 +24,11 @@ use Fisharebest\Webtrees\Auth; use Fisharebest\Webtrees\Http\ViewResponseTrait; use Fisharebest\Webtrees\Registry; use Fisharebest\Webtrees\Services\ClipboardService; -use Fisharebest\Webtrees\Tree; +use Fisharebest\Webtrees\Validator; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; -use function assert; -use function is_string; use function redirect; /** @@ -59,19 +57,14 @@ class RepositoryPage implements RequestHandlerInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { - $tree = $request->getAttribute('tree'); - assert($tree instanceof Tree); - - $xref = $request->getAttribute('xref'); - assert(is_string($xref)); - + $tree = Validator::attributes($request)->tree(); + $xref = Validator::attributes($request)->isXref()->string('xref'); + $slug = Validator::attributes($request)->string('slug', ''); $record = Registry::repositoryFactory()->make($xref, $tree); $record = Auth::checkRepositoryAccess($record, false); // Redirect to correct xref/slug - $slug = Registry::slugFactory()->make($record); - - if ($record->xref() !== $xref || $request->getAttribute('slug') !== $slug) { + if ($record->xref() !== $xref || Registry::slugFactory()->make($record) !== $slug) { return redirect($record->url(), StatusCodeInterface::STATUS_MOVED_PERMANENTLY); } |
