diff options
| author | Greg Roach <greg@subaqua.co.uk> | 2022-11-15 13:20:16 +0000 |
|---|---|---|
| committer | Greg Roach <greg@subaqua.co.uk> | 2022-11-18 11:55:56 +0000 |
| commit | 748dbe155a6d19d66918ad136947fa23ee8f8469 (patch) | |
| tree | ed4743592d3b0aea968f9cbae7e5d32c00b546fe /app/Http/RequestHandlers/FixLevel0MediaAction.php | |
| parent | f783aa1f4cd6d54a90d24a3d6be2996a3951fced (diff) | |
| download | webtrees-748dbe155a6d19d66918ad136947fa23ee8f8469.tar.gz webtrees-748dbe155a6d19d66918ad136947fa23ee8f8469.tar.bz2 webtrees-748dbe155a6d19d66918ad136947fa23ee8f8469.zip | |
Use Validator
Diffstat (limited to 'app/Http/RequestHandlers/FixLevel0MediaAction.php')
| -rw-r--r-- | app/Http/RequestHandlers/FixLevel0MediaAction.php | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/app/Http/RequestHandlers/FixLevel0MediaAction.php b/app/Http/RequestHandlers/FixLevel0MediaAction.php index 1138ee94c4..459fb1b428 100644 --- a/app/Http/RequestHandlers/FixLevel0MediaAction.php +++ b/app/Http/RequestHandlers/FixLevel0MediaAction.php @@ -19,8 +19,11 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fisharebest\Webtrees\Individual; +use Fisharebest\Webtrees\Media; use Fisharebest\Webtrees\Registry; use Fisharebest\Webtrees\Services\TreeService; +use Fisharebest\Webtrees\Validator; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; @@ -53,21 +56,20 @@ class FixLevel0MediaAction implements RequestHandlerInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { - $params = (array) $request->getParsedBody(); - - $fact_id = $params['fact_id']; - $indi_xref = $params['indi_xref']; - $obje_xref = $params['obje_xref']; - $tree_id = (int) $params['tree_id']; + $fact_id = Validator::parsedBody($request)->string('fact_id'); + $indi_xref = Validator::parsedBody($request)->isXref()->string('indi_xref'); + $obje_xref = Validator::parsedBody($request)->isXref()->string('obje_xref'); + $tree_id = Validator::parsedBody($request)->integer('tree_id'); $tree = $this->tree_service->find($tree_id); $individual = Registry::individualFactory()->make($indi_xref, $tree); $media = Registry::mediaFactory()->make($obje_xref, $tree); - if ($individual !== null && $media !== null) { + if ($individual instanceof Individual && $media instanceof Media) { foreach ($individual->facts() as $fact1) { if ($fact1->id() === $fact_id) { $individual->updateFact($fact_id, $fact1->gedcom() . "\n2 OBJE @" . $obje_xref . '@', false); + foreach ($individual->facts(['OBJE']) as $fact2) { if ($fact2->target() === $media) { $individual->deleteFact($fact2->id(), false); |
