summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/FixLevel0MediaAction.php
diff options
context:
space:
mode:
authorGreg Roach <greg@subaqua.co.uk>2022-11-15 13:20:16 +0000
committerGreg Roach <greg@subaqua.co.uk>2022-11-18 11:55:56 +0000
commit748dbe155a6d19d66918ad136947fa23ee8f8469 (patch)
treeed4743592d3b0aea968f9cbae7e5d32c00b546fe /app/Http/RequestHandlers/FixLevel0MediaAction.php
parentf783aa1f4cd6d54a90d24a3d6be2996a3951fced (diff)
downloadwebtrees-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.php16
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);