summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/RepositoryPage.php
diff options
context:
space:
mode:
authorGreg Roach <greg@subaqua.co.uk>2022-02-22 11:28:26 +0000
committerGreg Roach <greg@subaqua.co.uk>2022-02-23 10:22:28 +0000
commitb55cbc6b43247e8b2ad14af6f6d24dc6747195ff (patch)
tree7c48ed3c99e4c7887dee5e923035c862fdff92cd /app/Http/RequestHandlers/RepositoryPage.php
parent709c7e1a4da00208ea2ab538eb0a1f2d46f63629 (diff)
downloadwebtrees-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.php17
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);
}