summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/SubmissionPage.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/SubmissionPage.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/SubmissionPage.php')
-rw-r--r--app/Http/RequestHandlers/SubmissionPage.php15
1 files changed, 5 insertions, 10 deletions
diff --git a/app/Http/RequestHandlers/SubmissionPage.php b/app/Http/RequestHandlers/SubmissionPage.php
index 3d90a651ea..146b4bff62 100644
--- a/app/Http/RequestHandlers/SubmissionPage.php
+++ b/app/Http/RequestHandlers/SubmissionPage.php
@@ -23,7 +23,7 @@ use Fig\Http\Message\StatusCodeInterface;
use Fisharebest\Webtrees\Auth;
use Fisharebest\Webtrees\Http\ViewResponseTrait;
use Fisharebest\Webtrees\Registry;
-use Fisharebest\Webtrees\Tree;
+use Fisharebest\Webtrees\Validator;
use Illuminate\Support\Collection;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
@@ -47,19 +47,14 @@ class SubmissionPage 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::submissionFactory()->make($xref, $tree);
$record = Auth::checkSubmissionAccess($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);
}