diff options
Diffstat (limited to 'app')
102 files changed, 580 insertions, 401 deletions
diff --git a/app/Http/Controllers/AbstractEditController.php b/app/Http/Controllers/AbstractEditController.php index 1791a9add7..3d22ee65b6 100644 --- a/app/Http/Controllers/AbstractEditController.php +++ b/app/Http/Controllers/AbstractEditController.php @@ -275,7 +275,7 @@ abstract class AbstractEditController extends AbstractBaseController */ protected function addNewFact(ServerRequestInterface $request, Tree $tree, $fact): string { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $FACT = $params[$fact]; $DATE = $params[$fact . '_DATE'] ?? ''; @@ -372,7 +372,9 @@ abstract class AbstractEditController extends AbstractBaseController */ protected function addNewSex(ServerRequestInterface $request): string { - switch ($request->getParsedBody()['SEX']) { + $params = (array) $request->getParsedBody(); + + switch ($params['SEX']) { case 'M': return "\n1 SEX M"; case 'F': @@ -392,7 +394,7 @@ abstract class AbstractEditController extends AbstractBaseController */ protected function addNewName(ServerRequestInterface $request, Tree $tree): string { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $gedrec = "\n1 NAME " . $params['NAME']; $tags = [ diff --git a/app/Http/Controllers/Admin/FixLevel0MediaController.php b/app/Http/Controllers/Admin/FixLevel0MediaController.php index a31f2ebf98..5adb6bffea 100644 --- a/app/Http/Controllers/Admin/FixLevel0MediaController.php +++ b/app/Http/Controllers/Admin/FixLevel0MediaController.php @@ -81,10 +81,12 @@ class FixLevel0MediaController extends AbstractAdminController */ public function fixLevel0MediaAction(ServerRequestInterface $request): ResponseInterface { - $fact_id = $request->getParsedBody()['fact_id']; - $indi_xref = $request->getParsedBody()['indi_xref']; - $obje_xref = $request->getParsedBody()['obje_xref']; - $tree_id = (int) $request->getParsedBody()['tree_id']; + $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']; $tree = $this->tree_service->find($tree_id); $individual = Individual::getInstance($indi_xref, $tree); diff --git a/app/Http/Controllers/Admin/ImportThumbnailsController.php b/app/Http/Controllers/Admin/ImportThumbnailsController.php index 239f2a591e..ec97773407 100644 --- a/app/Http/Controllers/Admin/ImportThumbnailsController.php +++ b/app/Http/Controllers/Admin/ImportThumbnailsController.php @@ -120,10 +120,12 @@ class ImportThumbnailsController extends AbstractAdminController $data_filesystem = $request->getAttribute('filesystem.data'); assert($data_filesystem instanceof Filesystem); - $thumbnail = $request->getParsedBody()['thumbnail']; - $action = $request->getParsedBody()['action']; - $xrefs = $request->getParsedBody()['xref']; - $geds = $request->getParsedBody()['ged']; + $params = (array) $request->getParsedBody(); + + $thumbnail = $params['thumbnail']; + $action = $params['action']; + $xrefs = $params['xref']; + $geds = $params['ged']; if (!$data_filesystem->has($thumbnail)) { return response([]); diff --git a/app/Http/Controllers/Admin/LocationController.php b/app/Http/Controllers/Admin/LocationController.php index ae1075591b..2b81d315a2 100644 --- a/app/Http/Controllers/Admin/LocationController.php +++ b/app/Http/Controllers/Admin/LocationController.php @@ -362,16 +362,18 @@ class LocationController extends AbstractAdminController */ public function mapDataSave(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + $parent_id = (int) $request->getQueryParams()['parent_id']; $place_id = (int) $request->getQueryParams()['place_id']; - $lat = round($request->getParsedBody()['new_place_lati'], 5); // 5 decimal places (locate to within about 1 metre) + $lat = round($params['new_place_lati'], 5); // 5 decimal places (locate to within about 1 metre) $lat = ($lat < 0 ? 'S' : 'N') . abs($lat); - $lng = round($request->getParsedBody()['new_place_long'], 5); + $lng = round($params['new_place_long'], 5); $lng = ($lng < 0 ? 'W' : 'E') . abs($lng); $hierarchy = $this->getHierarchy($parent_id); $level = count($hierarchy); - $icon = $request->getParsedBody()['icon']; - $zoom = (int) $request->getParsedBody()['new_zoom_factor']; + $icon = $params['icon']; + $zoom = (int) $params['new_zoom_factor']; if ($place_id === 0) { $place_id = 1 + (int) DB::table('placelocation')->max('pl_id'); @@ -380,7 +382,7 @@ class LocationController extends AbstractAdminController 'pl_id' => $place_id, 'pl_parent_id' => $parent_id, 'pl_level' => $level, - 'pl_place' => $request->getParsedBody()['new_place_name'], + 'pl_place' => $params['new_place_name'], 'pl_lati' => $lat, 'pl_long' => $lng, 'pl_zoom' => $zoom, @@ -390,7 +392,7 @@ class LocationController extends AbstractAdminController DB::table('placelocation') ->where('pl_id', '=', $place_id) ->update([ - 'pl_place' => $request->getParsedBody()['new_place_name'], + 'pl_place' => $params['new_place_name'], 'pl_lati' => $lat, 'pl_long' => $lng, 'pl_zoom' => $zoom, @@ -401,7 +403,7 @@ class LocationController extends AbstractAdminController FlashMessages::addMessage( I18N::translate( 'The details for “%s” have been updated.', - $request->getParsedBody()['new_place_name'] + $params['new_place_name'] ), 'success' ); @@ -644,9 +646,11 @@ class LocationController extends AbstractAdminController $data_filesystem = $request->getAttribute('filesystem.data'); assert($data_filesystem instanceof FilesystemInterface); - $serverfile = $request->getParsedBody()['serverfile'] ?? ''; - $options = $request->getParsedBody()['import-options'] ?? ''; - $clear_database = (bool) ($request->getParsedBody()['cleardatabase'] ?? false); + $params = (array) $request->getParsedBody(); + + $serverfile = $params['serverfile'] ?? ''; + $options = $params['import-options'] ?? ''; + $clear_database = (bool) ($params['cleardatabase'] ?? false); $local_file = $request->getUploadedFiles()['localfile'] ?? null; $places = []; @@ -766,7 +770,9 @@ class LocationController extends AbstractAdminController */ public function importLocationsFromTree(ServerRequestInterface $request): ResponseInterface { - $ged = $request->getParsedBody()['ged'] ?? ''; + $params = (array) $request->getParsedBody(); + + $ged = $params['ged'] ?? ''; $tree = $this->tree_service->all()->get($ged); assert($tree instanceof Tree); diff --git a/app/Http/Controllers/Admin/MapProviderController.php b/app/Http/Controllers/Admin/MapProviderController.php index 10383606db..b8a51e7cc8 100644 --- a/app/Http/Controllers/Admin/MapProviderController.php +++ b/app/Http/Controllers/Admin/MapProviderController.php @@ -51,7 +51,7 @@ class MapProviderController extends AbstractAdminController */ public function mapProviderSave(ServerRequestInterface $request): ResponseInterface { - $settings = $request->getParsedBody(); + $settings = (array) $request->getParsedBody(); Site::setPreference('map-provider', $settings['provider']); Site::setPreference('geonames', $settings['geonames']); diff --git a/app/Http/Controllers/Admin/MediaController.php b/app/Http/Controllers/Admin/MediaController.php index 7dcf6ac289..9d32f79ba6 100644 --- a/app/Http/Controllers/Admin/MediaController.php +++ b/app/Http/Controllers/Admin/MediaController.php @@ -132,10 +132,12 @@ class MediaController extends AbstractAdminController */ public function select(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + return redirect(route('admin-media', [ - 'files' => $request->getParsedBody()['files'], - 'media_folder' => $request->getParsedBody()['media_folder'] ?? '', - 'subfolders' => $request->getParsedBody()['subfolders'] ?? 'include', + 'files' => $params['files'], + 'media_folder' => $params['media_folder'] ?? '', + 'subfolders' => $params['subfolders'] ?? 'include', ])); } @@ -403,6 +405,8 @@ class MediaController extends AbstractAdminController $data_filesystem = $request->getAttribute('filesystem.data'); assert($data_filesystem instanceof FilesystemInterface); + $params = (array) $request->getParsedBody(); + $all_folders = $this->media_file_service->allMediaFolders($data_filesystem); foreach ($request->getUploadedFiles() as $key => $uploaded_file) { @@ -416,8 +420,8 @@ class MediaController extends AbstractAdminController } $key = substr($key, 9); - $folder = $request->getParsedBody()['folder' . $key]; - $filename = $request->getParsedBody()['filename' . $key]; + $folder = $params['folder' . $key]; + $filename = $params['filename' . $key]; // If no filename specified, use the original filename. if ($filename === '') { diff --git a/app/Http/Controllers/Admin/ModuleController.php b/app/Http/Controllers/Admin/ModuleController.php index 87b4fbbe0d..0a8ff1457c 100644 --- a/app/Http/Controllers/Admin/ModuleController.php +++ b/app/Http/Controllers/Admin/ModuleController.php @@ -303,10 +303,12 @@ class ModuleController extends AbstractAdminController */ public function update(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + $modules = $this->module_service->all(true); foreach ($modules as $module) { - $new_status = (bool) ($request->getParsedBody()['status-' . $module->name()] ?? false); + $new_status = (bool) ($params['status-' . $module->name()] ?? false); $old_status = $module->isEnabled(); if ($new_status !== $old_status) { @@ -541,7 +543,9 @@ class ModuleController extends AbstractAdminController */ private function updateOrder(Collection $modules, string $column, ServerRequestInterface $request): void { - $order = (array) ($request->getParsedBody()['order'] ?? []); + $params = (array) $request->getParsedBody(); + + $order = (array) ($params['order'] ?? []); $order = array_flip($order); foreach ($modules as $module) { @@ -563,8 +567,10 @@ class ModuleController extends AbstractAdminController */ private function updateStatus(Collection $modules, ServerRequestInterface $request): void { + $params = (array) $request->getParsedBody(); + foreach ($modules as $module) { - $enabled = (bool) ($request->getParsedBody()['status-' . $module->name()] ?? false); + $enabled = (bool) ($params['status-' . $module->name()] ?? false); if ($enabled !== $module->isEnabled()) { DB::table('module') @@ -593,12 +599,14 @@ class ModuleController extends AbstractAdminController */ private function updateAccessLevel(Collection $modules, string $interface, ServerRequestInterface $request): void { + $params = (array) $request->getParsedBody(); + $trees = $this->tree_service->all(); foreach ($modules as $module) { foreach ($trees as $tree) { $key = 'access-' . $module->name() . '-' . $tree->id(); - $access_level = (int) ($request->getParsedBody()[$key] ?? 0); + $access_level = (int) ($params[$key] ?? 0); if ($access_level !== $module->accessLevel($tree, $interface)) { DB::table('module_privacy')->updateOrInsert([ @@ -622,7 +630,9 @@ class ModuleController extends AbstractAdminController */ public function deleteModuleSettings(ServerRequestInterface $request): ResponseInterface { - $module_name = $request->getParsedBody()['module_name']; + $params = (array) $request->getParsedBody(); + + $module_name = $params['module_name']; DB::table('block_setting') ->join('block', 'block_setting.block_id', '=', 'block.block_id') diff --git a/app/Http/Controllers/Admin/UsersController.php b/app/Http/Controllers/Admin/UsersController.php index e1c786b744..2a110c6db8 100644 --- a/app/Http/Controllers/Admin/UsersController.php +++ b/app/Http/Controllers/Admin/UsersController.php @@ -262,10 +262,12 @@ class UsersController extends AbstractAdminController */ public function save(ServerRequestInterface $request): ResponseInterface { - $username = $request->getParsedBody()['username']; - $real_name = $request->getParsedBody()['real_name']; - $email = $request->getParsedBody()['email']; - $password = $request->getParsedBody()['password']; + $params = (array) $request->getParsedBody(); + + $username = $params['username']; + $real_name = $params['real_name']; + $email = $params['email']; + $password = $params['password']; $errors = false; if ($this->user_service->findByUserName($username)) { @@ -313,21 +315,23 @@ class UsersController extends AbstractAdminController { $user = $request->getAttribute('user'); - $user_id = (int) $request->getParsedBody()['user_id']; - $username = $request->getParsedBody()['username']; - $real_name = $request->getParsedBody()['real_name']; - $email = $request->getParsedBody()['email']; - $password = $request->getParsedBody()['password']; - $theme = $request->getParsedBody()['theme']; - $language = $request->getParsedBody()['language']; - $timezone = $request->getParsedBody()['timezone']; - $contact_method = $request->getParsedBody()['contact-method']; - $comment = $request->getParsedBody()['comment']; - $auto_accept = (bool) ($request->getParsedBody()[User::PREF_AUTO_ACCEPT_EDITS] ?? ''); - $canadmin = (bool) ($request->getParsedBody()[User::PREF_IS_ADMINISTRATOR] ?? ''); - $visible_online = (bool) ($request->getParsedBody()['visible-online'] ?? ''); - $verified = (bool) ($request->getParsedBody()[User::PREF_IS_EMAIL_VERIFIED] ?? ''); - $approved = (bool) ($request->getParsedBody()['approved'] ?? ''); + $params = (array) $request->getParsedBody(); + + $user_id = (int) $params['user_id']; + $username = $params['username']; + $real_name = $params['real_name']; + $email = $params['email']; + $password = $params['password']; + $theme = $params['theme']; + $language = $params['language']; + $timezone = $params['timezone']; + $contact_method = $params['contact-method']; + $comment = $params['comment']; + $auto_accept = (bool) ($params[User::PREF_AUTO_ACCEPT_EDITS] ?? ''); + $canadmin = (bool) ($params[User::PREF_IS_ADMINISTRATOR] ?? ''); + $visible_online = (bool) ($params['visible-online'] ?? ''); + $verified = (bool) ($params[User::PREF_IS_EMAIL_VERIFIED] ?? ''); + $approved = (bool) ($params['approved'] ?? ''); $edit_user = $this->user_service->find($user_id); @@ -373,9 +377,9 @@ class UsersController extends AbstractAdminController } foreach ($this->tree_service->all() as $tree) { - $path_length = (int) $request->getParsedBody()['RELATIONSHIP_PATH_LENGTH' . $tree->id()]; - $gedcom_id = $request->getParsedBody()['gedcomid' . $tree->id()] ?? ''; - $can_edit = $request->getParsedBody()['canedit' . $tree->id()] ?? ''; + $path_length = (int) $params['RELATIONSHIP_PATH_LENGTH' . $tree->id()]; + $gedcom_id = $params['gedcomid' . $tree->id()] ?? ''; + $can_edit = $params['canedit' . $tree->id()] ?? ''; // Do not allow a path length to be set if the individual ID is not if ($gedcom_id === '') { diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 80888660b7..493d80d94a 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -88,7 +88,7 @@ class AdminController extends AbstractBaseController $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $delete_default_resn_id = $params['delete'] ?? []; @@ -152,8 +152,8 @@ class AdminController extends AbstractBaseController FlashMessages::addMessage(I18N::translate('The preferences for the family tree “%s” have been updated.', e($tree->title()), 'success')); // Coming soon... - $all_trees = $request->getParsedBody()['all_trees'] ?? ''; - $new_trees = $request->getParsedBody()['new_trees'] ?? ''; + $all_trees = $params['all_trees'] ?? ''; + $new_trees = $params['new_trees'] ?? ''; if ($all_trees === 'on') { FlashMessages::addMessage(I18N::translate('The preferences for all family trees have been updated.', e($tree->title())), 'success'); diff --git a/app/Http/Controllers/AdminSiteController.php b/app/Http/Controllers/AdminSiteController.php index afbfa4ff1d..3528608ec6 100644 --- a/app/Http/Controllers/AdminSiteController.php +++ b/app/Http/Controllers/AdminSiteController.php @@ -85,7 +85,7 @@ class AdminSiteController extends AbstractBaseController */ public function preferencesSave(ServerRequestInterface $request): ResponseInterface { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $INDEX_DIRECTORY = $params['INDEX_DIRECTORY']; if (substr($INDEX_DIRECTORY, -1) !== '/') { @@ -148,7 +148,7 @@ class AdminSiteController extends AbstractBaseController */ public function registrationSave(ServerRequestInterface $request): ResponseInterface { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); Site::setPreference('WELCOME_TEXT_AUTH_MODE', $params['WELCOME_TEXT_AUTH_MODE']); Site::setPreference('WELCOME_TEXT_AUTH_MODE_' . I18N::languageTag(), $params['WELCOME_TEXT_AUTH_MODE_4']); diff --git a/app/Http/Controllers/AdminTreesController.php b/app/Http/Controllers/AdminTreesController.php index 6ea3ad5141..729a59bbaa 100644 --- a/app/Http/Controllers/AdminTreesController.php +++ b/app/Http/Controllers/AdminTreesController.php @@ -351,7 +351,7 @@ class AdminTreesController extends AbstractBaseController $data_filesystem = $request->getAttribute('filesystem.data'); assert($data_filesystem instanceof FilesystemInterface); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $source = $params['source']; $keep_media = (bool) ($params['keep_media'] ?? false); $WORD_WRAPPED_NOTES = (bool) ($params['WORD_WRAPPED_NOTES'] ?? false); @@ -510,7 +510,7 @@ class AdminTreesController extends AbstractBaseController */ public function mergeAction(ServerRequestInterface $request): ResponseInterface { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $tree1_name = $params['tree1_name'] ?? ''; $tree2_name = $params['tree2_name'] ?? ''; @@ -870,70 +870,72 @@ class AdminTreesController extends AbstractBaseController $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $tree->setPreference('ADVANCED_NAME_FACTS', implode(',', $request->getParsedBody()['ADVANCED_NAME_FACTS'] ?? [])); - $tree->setPreference('ADVANCED_PLAC_FACTS', implode(',', $request->getParsedBody()['ADVANCED_PLAC_FACTS'] ?? [])); + $params = (array) $request->getParsedBody(); + + $tree->setPreference('ADVANCED_NAME_FACTS', implode(',', $params['ADVANCED_NAME_FACTS'] ?? [])); + $tree->setPreference('ADVANCED_PLAC_FACTS', implode(',', $params['ADVANCED_PLAC_FACTS'] ?? [])); // For backwards compatibility with webtrees 1.x we store the two calendar formats in one variable // e.g. "gregorian_and_jewish" $tree->setPreference('CALENDAR_FORMAT', implode('_and_', array_unique([ - $request->getParsedBody()['CALENDAR_FORMAT0'] ?? 'none', - $request->getParsedBody()['CALENDAR_FORMAT1'] ?? 'none', + $params['CALENDAR_FORMAT0'] ?? 'none', + $params['CALENDAR_FORMAT1'] ?? 'none', ]))); - $tree->setPreference('CHART_BOX_TAGS', implode(',', $request->getParsedBody()['CHART_BOX_TAGS'] ?? [])); - $tree->setPreference('CONTACT_USER_ID', $request->getParsedBody()['CONTACT_USER_ID'] ?? ''); - $tree->setPreference('EXPAND_NOTES', $request->getParsedBody()['EXPAND_NOTES'] ?? ''); - $tree->setPreference('EXPAND_SOURCES', $request->getParsedBody()['EXPAND_SOURCES'] ?? ''); - $tree->setPreference('FAM_FACTS_ADD', implode(',', $request->getParsedBody()['FAM_FACTS_ADD'] ?? [])); - $tree->setPreference('FAM_FACTS_QUICK', implode(',', $request->getParsedBody()['FAM_FACTS_QUICK'] ?? [])); - $tree->setPreference('FAM_FACTS_UNIQUE', implode(',', $request->getParsedBody()['FAM_FACTS_UNIQUE'] ?? [])); - $tree->setPreference('FULL_SOURCES', $request->getParsedBody()['FULL_SOURCES'] ?? ''); - $tree->setPreference('FORMAT_TEXT', $request->getParsedBody()['FORMAT_TEXT'] ?? ''); - $tree->setPreference('GENERATE_UIDS', $request->getParsedBody()['GENERATE_UIDS'] ?? ''); - $tree->setPreference('HIDE_GEDCOM_ERRORS', $request->getParsedBody()['HIDE_GEDCOM_ERRORS'] ?? ''); - $tree->setPreference('INDI_FACTS_ADD', implode(',', $request->getParsedBody()['INDI_FACTS_ADD'] ?? [])); - $tree->setPreference('INDI_FACTS_QUICK', implode(',', $request->getParsedBody()['INDI_FACTS_QUICK'] ?? [])); - $tree->setPreference('INDI_FACTS_UNIQUE', implode(',', $request->getParsedBody()['INDI_FACTS_UNIQUE'] ?? [])); - $tree->setPreference('LANGUAGE', $request->getParsedBody()['LANGUAGE'] ?? ''); - $tree->setPreference('MEDIA_UPLOAD', $request->getParsedBody()['MEDIA_UPLOAD'] ?? ''); - $tree->setPreference('META_DESCRIPTION', $request->getParsedBody()['META_DESCRIPTION'] ?? ''); - $tree->setPreference('META_TITLE', $request->getParsedBody()['META_TITLE'] ?? ''); - $tree->setPreference('NO_UPDATE_CHAN', $request->getParsedBody()['NO_UPDATE_CHAN'] ?? ''); - $tree->setPreference('PEDIGREE_ROOT_ID', $request->getParsedBody()['PEDIGREE_ROOT_ID'] ?? ''); - $tree->setPreference('PREFER_LEVEL2_SOURCES', $request->getParsedBody()['PREFER_LEVEL2_SOURCES'] ?? ''); - $tree->setPreference('QUICK_REQUIRED_FACTS', implode(',', $request->getParsedBody()['QUICK_REQUIRED_FACTS'] ?? [])); - $tree->setPreference('QUICK_REQUIRED_FAMFACTS', implode(',', $request->getParsedBody()['QUICK_REQUIRED_FAMFACTS'] ?? [])); - $tree->setPreference('REPO_FACTS_ADD', implode(',', $request->getParsedBody()['REPO_FACTS_ADD'] ?? [])); - $tree->setPreference('REPO_FACTS_QUICK', implode(',', $request->getParsedBody()['REPO_FACTS_QUICK'] ?? [])); - $tree->setPreference('REPO_FACTS_UNIQUE', implode(',', $request->getParsedBody()['REPO_FACTS_UNIQUE'] ?? [])); - $tree->setPreference('SHOW_COUNTER', $request->getParsedBody()['SHOW_COUNTER'] ?? ''); - $tree->setPreference('SHOW_EST_LIST_DATES', $request->getParsedBody()['SHOW_EST_LIST_DATES'] ?? ''); - $tree->setPreference('SHOW_FACT_ICONS', $request->getParsedBody()['SHOW_FACT_ICONS'] ?? ''); - $tree->setPreference('SHOW_GEDCOM_RECORD', $request->getParsedBody()['SHOW_GEDCOM_RECORD'] ?? ''); - $tree->setPreference('SHOW_HIGHLIGHT_IMAGES', $request->getParsedBody()['SHOW_HIGHLIGHT_IMAGES'] ?? ''); - $tree->setPreference('SHOW_LAST_CHANGE', $request->getParsedBody()['SHOW_LAST_CHANGE'] ?? ''); - $tree->setPreference('SHOW_MEDIA_DOWNLOAD', $request->getParsedBody()['SHOW_MEDIA_DOWNLOAD'] ?? ''); - $tree->setPreference('SHOW_NO_WATERMARK', $request->getParsedBody()['SHOW_NO_WATERMARK'] ?? ''); - $tree->setPreference('SHOW_PARENTS_AGE', $request->getParsedBody()['SHOW_PARENTS_AGE'] ?? ''); - $tree->setPreference('SHOW_PEDIGREE_PLACES', $request->getParsedBody()['SHOW_PEDIGREE_PLACES'] ?? ''); - $tree->setPreference('SHOW_PEDIGREE_PLACES_SUFFIX', $request->getParsedBody()['SHOW_PEDIGREE_PLACES_SUFFIX'] ?? ''); - $tree->setPreference('SHOW_RELATIVES_EVENTS', implode(',', $request->getParsedBody()['SHOW_RELATIVES_EVENTS'] ?? [])); - $tree->setPreference('SOUR_FACTS_ADD', implode(',', $request->getParsedBody()['SOUR_FACTS_ADD'] ?? [])); - $tree->setPreference('SOUR_FACTS_QUICK', implode(',', $request->getParsedBody()['SOUR_FACTS_QUICK'] ?? [])); - $tree->setPreference('SOUR_FACTS_UNIQUE', implode(',', $request->getParsedBody()['SOUR_FACTS_UNIQUE'] ?? [])); - $tree->setPreference('SUBLIST_TRIGGER_I', $request->getParsedBody()['SUBLIST_TRIGGER_I'] ?? '200'); - $tree->setPreference('SURNAME_LIST_STYLE', $request->getParsedBody()['SURNAME_LIST_STYLE'] ?? ''); - $tree->setPreference('SURNAME_TRADITION', $request->getParsedBody()['SURNAME_TRADITION'] ?? ''); - $tree->setPreference('USE_SILHOUETTE', $request->getParsedBody()['USE_SILHOUETTE'] ?? ''); - $tree->setPreference('WEBMASTER_USER_ID', $request->getParsedBody()['WEBMASTER_USER_ID'] ?? ''); - $tree->setPreference('title', $request->getParsedBody()['title'] ?? ''); + $tree->setPreference('CHART_BOX_TAGS', implode(',', $params['CHART_BOX_TAGS'] ?? [])); + $tree->setPreference('CONTACT_USER_ID', $params['CONTACT_USER_ID'] ?? ''); + $tree->setPreference('EXPAND_NOTES', $params['EXPAND_NOTES'] ?? ''); + $tree->setPreference('EXPAND_SOURCES', $params['EXPAND_SOURCES'] ?? ''); + $tree->setPreference('FAM_FACTS_ADD', implode(',', $params['FAM_FACTS_ADD'] ?? [])); + $tree->setPreference('FAM_FACTS_QUICK', implode(',', $params['FAM_FACTS_QUICK'] ?? [])); + $tree->setPreference('FAM_FACTS_UNIQUE', implode(',', $params['FAM_FACTS_UNIQUE'] ?? [])); + $tree->setPreference('FULL_SOURCES', $params['FULL_SOURCES'] ?? ''); + $tree->setPreference('FORMAT_TEXT', $params['FORMAT_TEXT'] ?? ''); + $tree->setPreference('GENERATE_UIDS', $params['GENERATE_UIDS'] ?? ''); + $tree->setPreference('HIDE_GEDCOM_ERRORS', $params['HIDE_GEDCOM_ERRORS'] ?? ''); + $tree->setPreference('INDI_FACTS_ADD', implode(',', $params['INDI_FACTS_ADD'] ?? [])); + $tree->setPreference('INDI_FACTS_QUICK', implode(',', $params['INDI_FACTS_QUICK'] ?? [])); + $tree->setPreference('INDI_FACTS_UNIQUE', implode(',', $params['INDI_FACTS_UNIQUE'] ?? [])); + $tree->setPreference('LANGUAGE', $params['LANGUAGE'] ?? ''); + $tree->setPreference('MEDIA_UPLOAD', $params['MEDIA_UPLOAD'] ?? ''); + $tree->setPreference('META_DESCRIPTION', $params['META_DESCRIPTION'] ?? ''); + $tree->setPreference('META_TITLE', $params['META_TITLE'] ?? ''); + $tree->setPreference('NO_UPDATE_CHAN', $params['NO_UPDATE_CHAN'] ?? ''); + $tree->setPreference('PEDIGREE_ROOT_ID', $params['PEDIGREE_ROOT_ID'] ?? ''); + $tree->setPreference('PREFER_LEVEL2_SOURCES', $params['PREFER_LEVEL2_SOURCES'] ?? ''); + $tree->setPreference('QUICK_REQUIRED_FACTS', implode(',', $params['QUICK_REQUIRED_FACTS'] ?? [])); + $tree->setPreference('QUICK_REQUIRED_FAMFACTS', implode(',', $params['QUICK_REQUIRED_FAMFACTS'] ?? [])); + $tree->setPreference('REPO_FACTS_ADD', implode(',', $params['REPO_FACTS_ADD'] ?? [])); + $tree->setPreference('REPO_FACTS_QUICK', implode(',', $params['REPO_FACTS_QUICK'] ?? [])); + $tree->setPreference('REPO_FACTS_UNIQUE', implode(',', $params['REPO_FACTS_UNIQUE'] ?? [])); + $tree->setPreference('SHOW_COUNTER', $params['SHOW_COUNTER'] ?? ''); + $tree->setPreference('SHOW_EST_LIST_DATES', $params['SHOW_EST_LIST_DATES'] ?? ''); + $tree->setPreference('SHOW_FACT_ICONS', $params['SHOW_FACT_ICONS'] ?? ''); + $tree->setPreference('SHOW_GEDCOM_RECORD', $params['SHOW_GEDCOM_RECORD'] ?? ''); + $tree->setPreference('SHOW_HIGHLIGHT_IMAGES', $params['SHOW_HIGHLIGHT_IMAGES'] ?? ''); + $tree->setPreference('SHOW_LAST_CHANGE', $params['SHOW_LAST_CHANGE'] ?? ''); + $tree->setPreference('SHOW_MEDIA_DOWNLOAD', $params['SHOW_MEDIA_DOWNLOAD'] ?? ''); + $tree->setPreference('SHOW_NO_WATERMARK', $params['SHOW_NO_WATERMARK'] ?? ''); + $tree->setPreference('SHOW_PARENTS_AGE', $params['SHOW_PARENTS_AGE'] ?? ''); + $tree->setPreference('SHOW_PEDIGREE_PLACES', $params['SHOW_PEDIGREE_PLACES'] ?? ''); + $tree->setPreference('SHOW_PEDIGREE_PLACES_SUFFIX', $params['SHOW_PEDIGREE_PLACES_SUFFIX'] ?? ''); + $tree->setPreference('SHOW_RELATIVES_EVENTS', implode(',', $params['SHOW_RELATIVES_EVENTS'] ?? [])); + $tree->setPreference('SOUR_FACTS_ADD', implode(',', $params['SOUR_FACTS_ADD'] ?? [])); + $tree->setPreference('SOUR_FACTS_QUICK', implode(',', $params['SOUR_FACTS_QUICK'] ?? [])); + $tree->setPreference('SOUR_FACTS_UNIQUE', implode(',', $params['SOUR_FACTS_UNIQUE'] ?? [])); + $tree->setPreference('SUBLIST_TRIGGER_I', $params['SUBLIST_TRIGGER_I'] ?? '200'); + $tree->setPreference('SURNAME_LIST_STYLE', $params['SURNAME_LIST_STYLE'] ?? ''); + $tree->setPreference('SURNAME_TRADITION', $params['SURNAME_TRADITION'] ?? ''); + $tree->setPreference('USE_SILHOUETTE', $params['USE_SILHOUETTE'] ?? ''); + $tree->setPreference('WEBMASTER_USER_ID', $params['WEBMASTER_USER_ID'] ?? ''); + $tree->setPreference('title', $params['title'] ?? ''); // Only accept valid folders for MEDIA_DIRECTORY - $MEDIA_DIRECTORY = $request->getParsedBody()['MEDIA_DIRECTORY'] ?? ''; + $MEDIA_DIRECTORY = $params['MEDIA_DIRECTORY'] ?? ''; $MEDIA_DIRECTORY = preg_replace('/[:\/\\\\]+/', '/', $MEDIA_DIRECTORY); $MEDIA_DIRECTORY = trim($MEDIA_DIRECTORY, '/') . '/'; $tree->setPreference('MEDIA_DIRECTORY', $MEDIA_DIRECTORY); - $gedcom = $request->getParsedBody()['gedcom'] ?? ''; + $gedcom = $params['gedcom'] ?? ''; if ($gedcom !== '' && $gedcom !== $tree->name()) { try { @@ -953,8 +955,8 @@ class AdminTreesController extends AbstractBaseController FlashMessages::addMessage(I18N::translate('The preferences for the family tree “%s” have been updated.', e($tree->title())), 'success'); // Coming soon... - $all_trees = $request->getParsedBody()['all_trees'] ?? ''; - $new_trees = $request->getParsedBody()['new_trees'] ?? ''; + $all_trees = $params['all_trees'] ?? ''; + $new_trees = $params['new_trees'] ?? ''; if ($all_trees === 'on') { FlashMessages::addMessage(I18N::translate('The preferences for all family trees have been updated.'), 'success'); diff --git a/app/Http/Controllers/CalendarController.php b/app/Http/Controllers/CalendarController.php index c4923f463f..fe539f936c 100644 --- a/app/Http/Controllers/CalendarController.php +++ b/app/Http/Controllers/CalendarController.php @@ -187,16 +187,18 @@ class CalendarController extends AbstractBaseController $view = $request->getAttribute('view'); + $params = (array) $request->getParsedBody(); + return redirect(route('calendar', [ - 'cal' => $request->getParsedBody()['cal'], - 'day' => $request->getParsedBody()['day'], - 'filterev' => $request->getParsedBody()['filterev'], - 'filterof' => $request->getParsedBody()['filterof'], - 'filtersx' => $request->getParsedBody()['filtersx'], - 'month' => $request->getParsedBody()['month'], + 'cal' => $params['cal'], + 'day' => $params['day'], + 'filterev' => $params['filterev'], + 'filterof' => $params['filterof'], + 'filtersx' => $params['filtersx'], + 'month' => $params['month'], 'tree' => $tree->name(), 'view' => $view, - 'year' => $request->getParsedBody()['year'], + 'year' => $params['year'], ])); } diff --git a/app/Http/Controllers/EditFamilyController.php b/app/Http/Controllers/EditFamilyController.php index 7468d33ed8..5bf14dce22 100644 --- a/app/Http/Controllers/EditFamilyController.php +++ b/app/Http/Controllers/EditFamilyController.php @@ -83,13 +83,15 @@ class EditFamilyController extends AbstractEditController $family = Family::getInstance($xref, $tree); $family = Auth::checkFamilyAccess($family, true); - $PEDI = $request->getParsedBody()['PEDI']; - $keep_chan = (bool) ($request->getParsedBody()['keep_chan'] ?? false); + $params = (array) $request->getParsedBody(); - $this->glevels = $request->getParsedBody()['glevels'] ?? []; - $this->tag = $request->getParsedBody()['tag'] ?? []; - $this->text = $request->getParsedBody()['text'] ?? []; - $this->islink = $request->getParsedBody()['islink'] ?? []; + $PEDI = $params['PEDI']; + $keep_chan = (bool) ($params['keep_chan'] ?? false); + + $this->glevels = $params['glevels'] ?? []; + $this->tag = $params['tag'] ?? []; + $this->text = $params['text'] ?? []; + $this->islink = $params['islink'] ?? []; $this->splitSource(); $gedrec = '0 @@ INDI'; @@ -101,7 +103,7 @@ class EditFamilyController extends AbstractEditController } } $gedrec .= "\n" . GedcomCodePedi::createNewFamcPedi($PEDI, $xref); - if ($request->getParsedBody()['SOUR_INDI'] ?? false) { + if ($params['SOUR_INDI'] ?? false) { $gedrec = $this->handleUpdates($gedrec); } else { $gedrec = $this->updateRest($gedrec); @@ -126,7 +128,7 @@ class EditFamilyController extends AbstractEditController $family->createFact('1 CHIL @' . $new_child->xref() . '@', !$keep_chan); } - if (($request->getParsedBody()['goto'] ?? '') === 'new') { + if (($params['goto'] ?? '') === 'new') { return redirect($new_child->url()); } @@ -182,10 +184,12 @@ class EditFamilyController extends AbstractEditController $family = Family::getInstance($xref, $tree); $family = Auth::checkFamilyAccess($family, true); - $this->glevels = $request->getParsedBody()['glevels'] ?? []; - $this->tag = $request->getParsedBody()['tag'] ?? []; - $this->text = $request->getParsedBody()['text'] ?? []; - $this->islink = $request->getParsedBody()['islink'] ?? []; + $params = (array) $request->getParsedBody(); + + $this->glevels = $params['glevels'] ?? []; + $this->tag = $params['tag'] ?? []; + $this->text = $params['text'] ?? []; + $this->islink = $params['islink'] ?? []; // Create the new spouse $this->splitSource(); // separate SOUR record from the rest @@ -199,7 +203,7 @@ class EditFamilyController extends AbstractEditController } } - if ($request->getParsedBody()['SOUR_INDI'] ?? false) { + if ($params['SOUR_INDI'] ?? false) { $gedrec = $this->handleUpdates($gedrec); } else { $gedrec = $this->updateRest($gedrec); @@ -219,14 +223,14 @@ class EditFamilyController extends AbstractEditController $famrec .= $this->addNewFact($request, $tree, $match); } } - if ($request->getParsedBody()['SOUR_FAM'] ?? false) { + if ($params['SOUR_FAM'] ?? false) { $famrec = $this->handleUpdates($famrec); } else { $famrec = $this->updateRest($famrec); } $family->createFact(trim($famrec), true); // trim leading \n - if (($request->getParsedBody()['goto'] ?? '') === 'new') { + if (($params['goto'] ?? '') === 'new') { return redirect($spouse->url()); } @@ -269,13 +273,17 @@ class EditFamilyController extends AbstractEditController $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $xref = $request->getParsedBody()['xref']; + $params = (array) $request->getParsedBody(); + + $xref = $params['xref']; $family = Family::getInstance($xref, $tree); $family = Auth::checkFamilyAccess($family, true); - $HUSB = $request->getParsedBody()['HUSB'] ?? ''; - $WIFE = $request->getParsedBody()['WIFE'] ?? ''; - $CHIL = $request->getParsedBody()['CHIL'] ?? []; + $params = (array) $request->getParsedBody(); + + $HUSB = $params['HUSB'] ?? ''; + $WIFE = $params['WIFE'] ?? ''; + $CHIL = $params['CHIL'] ?? []; // Current family members $old_father = $family->husband(); diff --git a/app/Http/Controllers/EditGedcomRecordController.php b/app/Http/Controllers/EditGedcomRecordController.php index 3b1ec07747..494b7124b4 100644 --- a/app/Http/Controllers/EditGedcomRecordController.php +++ b/app/Http/Controllers/EditGedcomRecordController.php @@ -62,17 +62,19 @@ class EditGedcomRecordController extends AbstractEditController $xref = $request->getAttribute('xref'); assert(is_string($xref)); - $fact_id = $request->getParsedBody()['fact_id'] ?? ''; + $params = (array) $request->getParsedBody(); + + $fact_id = $params['fact_id'] ?? ''; $record = GedcomRecord::getInstance($xref, $tree); $record = Auth::checkRecordAccess($record, true); - $keep_chan = (bool) ($request->getParsedBody()['keep_chan'] ?? false); + $keep_chan = (bool) ($params['keep_chan'] ?? false); - $this->glevels = $request->getParsedBody()['glevels']; - $this->tag = $request->getParsedBody()['tag']; - $this->text = $request->getParsedBody()['text']; - $this->islink = $request->getParsedBody()['islink']; + $this->glevels = $params['glevels']; + $this->tag = $params['tag']; + $this->text = $params['text']; + $this->islink = $params['islink']; // If the fact has a DATE or PLAC, then delete any value of Y if ($this->text[0] === 'Y') { @@ -86,7 +88,7 @@ class EditGedcomRecordController extends AbstractEditController $newged = ''; - $NAME = $request->getParsedBody()['NAME'] ?? ''; + $NAME = $params['NAME'] ?? ''; if ($NAME !== '') { $newged .= "\n1 NAME " . $NAME; @@ -100,7 +102,7 @@ class EditGedcomRecordController extends AbstractEditController 'NSFX', ]; foreach ($name_facts as $name_fact) { - $NAME_FACT = $request->getParsedBody()[$name_fact] ?? ''; + $NAME_FACT = $params[$name_fact] ?? ''; if ($NAME_FACT !== '') { $newged .= "\n2 " . $name_fact . ' ' . $NAME_FACT; } @@ -114,7 +116,7 @@ class EditGedcomRecordController extends AbstractEditController preg_match_all('/[_0-9A-Z]+/', $tree->getPreference('ADVANCED_NAME_FACTS'), $match); $name_facts = array_unique(array_merge(['_MARNM'], $match[0])); foreach ($name_facts as $name_fact) { - $NAME_FACT = $request->getParsedBody()[$name_fact] ?? ''; + $NAME_FACT = $params[$name_fact] ?? ''; // Ignore advanced facts that duplicate standard facts. if ($NAME_FACT !== '' && !in_array($name_fact, ['TYPE', 'NPFX', 'GIVN', 'NICK', 'SPFX', 'SURN', 'NSFX'], true)) { $newged .= "\n2 " . $name_fact . ' ' . $NAME_FACT; @@ -132,7 +134,7 @@ class EditGedcomRecordController extends AbstractEditController $record->updateFact($fact_id, $newged, !$keep_chan); // For the GEDFact_assistant module - $pid_array = $request->getParsedBody()['pid_array'] ?? ''; + $pid_array = $params['pid_array'] ?? ''; if ($pid_array !== '') { foreach (explode(',', $pid_array) as $pid) { if ($pid !== $xref) { diff --git a/app/Http/Controllers/EditIndividualController.php b/app/Http/Controllers/EditIndividualController.php index fd4910dcce..c800e64a0c 100644 --- a/app/Http/Controllers/EditIndividualController.php +++ b/app/Http/Controllers/EditIndividualController.php @@ -83,12 +83,14 @@ class EditIndividualController extends AbstractEditController $individual = Individual::getInstance($xref, $tree); $individual = Auth::checkIndividualAccess($individual, true); - $PEDI = $request->getParsedBody()['PEDI']; + $params = (array) $request->getParsedBody(); - $this->glevels = $request->getParsedBody()['glevels'] ?? []; - $this->tag = $request->getParsedBody()['tag'] ?? []; - $this->text = $request->getParsedBody()['text'] ?? []; - $this->islink = $request->getParsedBody()['islink'] ?? []; + $PEDI = $params['PEDI']; + + $this->glevels = $params['glevels'] ?? []; + $this->tag = $params['tag'] ?? []; + $this->text = $params['text'] ?? []; + $this->islink = $params['islink'] ?? []; // Create a family if ($individual->sex() === 'F') { @@ -113,7 +115,7 @@ class EditIndividualController extends AbstractEditController $gedcom .= $this->addNewFact($request, $tree, $match); } } - if ($request->getParsedBody()['SOUR_INDI'] ?? false) { + if ($params['SOUR_INDI'] ?? false) { $gedcom = $this->handleUpdates($gedcom); } else { $gedcom = $this->updateRest($gedcom); @@ -124,7 +126,7 @@ class EditIndividualController extends AbstractEditController // Link the family to the child $family->createFact('1 CHIL @' . $child->xref() . '@', true); - if (($request->getParsedBody()['goto'] ?? '') === 'new') { + if (($params['goto'] ?? '') === 'new') { return redirect($child->url()); } @@ -185,10 +187,12 @@ class EditIndividualController extends AbstractEditController $individual = Individual::getInstance($xref, $tree); $individual = Auth::checkIndividualAccess($individual, true); - $this->glevels = $request->getParsedBody()['glevels'] ?? []; - $this->tag = $request->getParsedBody()['tag'] ?? []; - $this->text = $request->getParsedBody()['text'] ?? []; - $this->islink = $request->getParsedBody()['islink'] ?? []; + $params = (array) $request->getParsedBody(); + + $this->glevels = $params['glevels'] ?? []; + $this->tag = $params['tag'] ?? []; + $this->text = $params['text'] ?? []; + $this->islink = $params['islink'] ?? []; // Create a new family $gedcom = "0 @@ FAM\n1 CHIL @" . $individual->xref() . '@'; @@ -208,7 +212,7 @@ class EditIndividualController extends AbstractEditController $gedcom .= $this->addNewFact($request, $tree, $match); } } - if ($request->getParsedBody()['SOUR_INDI'] ?? false) { + if ($params['SOUR_INDI'] ?? false) { $gedcom = $this->handleUpdates($gedcom); } else { $gedcom = $this->updateRest($gedcom); @@ -224,7 +228,7 @@ class EditIndividualController extends AbstractEditController $family->createFact('1 HUSB @' . $parent->xref() . '@', true); } - if (($request->getParsedBody()['goto'] ?? '') === 'new') { + if (($params['goto'] ?? '') === 'new') { return redirect($parent->url()); } @@ -285,12 +289,14 @@ class EditIndividualController extends AbstractEditController $individual = Individual::getInstance($xref, $tree); $individual = Auth::checkIndividualAccess($individual, true); - $sex = $request->getParsedBody()['SEX']; + $params = (array) $request->getParsedBody(); + + $sex = $params['SEX']; - $this->glevels = $request->getParsedBody()['glevels'] ?? []; - $this->tag = $request->getParsedBody()['tag'] ?? []; - $this->text = $request->getParsedBody()['text'] ?? []; - $this->islink = $request->getParsedBody()['islink'] ?? []; + $this->glevels = $params['glevels'] ?? []; + $this->tag = $params['tag'] ?? []; + $this->text = $params['text'] ?? []; + $this->islink = $params['islink'] ?? []; $this->splitSource(); $indi_gedcom = '0 @@ INDI'; @@ -301,7 +307,7 @@ class EditIndividualController extends AbstractEditController $indi_gedcom .= $this->addNewFact($request, $tree, $match); } } - if ($request->getParsedBody()['SOUR_INDI'] ?? false) { + if ($params['SOUR_INDI'] ?? false) { $indi_gedcom = $this->handleUpdates($indi_gedcom); } else { $indi_gedcom = $this->updateRest($indi_gedcom); @@ -313,7 +319,7 @@ class EditIndividualController extends AbstractEditController $fam_gedcom .= $this->addNewFact($request, $tree, $match); } } - if ($request->getParsedBody()['SOUR_FAM'] ?? false) { + if ($params['SOUR_FAM'] ?? false) { $fam_gedcom = $this->handleUpdates($fam_gedcom); } else { $fam_gedcom = $this->updateRest($fam_gedcom); @@ -331,7 +337,7 @@ class EditIndividualController extends AbstractEditController $spouse->createFact('1 FAMS @' . $family->xref() . '@', true); $individual->createFact('1 FAMS @' . $family->xref() . '@', true); - if (($request->getParsedBody()['goto'] ?? '') === 'new') { + if (($params['goto'] ?? '') === 'new') { return redirect($spouse->url()); } @@ -372,10 +378,12 @@ class EditIndividualController extends AbstractEditController $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $this->glevels = $request->getParsedBody()['glevels'] ?? []; - $this->tag = $request->getParsedBody()['tag'] ?? []; - $this->text = $request->getParsedBody()['text'] ?? []; - $this->islink = $request->getParsedBody()['islink'] ?? []; + $params = (array) $request->getParsedBody(); + + $this->glevels = $params['glevels'] ?? []; + $this->tag = $params['tag'] ?? []; + $this->text = $params['text'] ?? []; + $this->islink = $params['islink'] ?? []; $this->splitSource(); $gedrec = '0 @@ INDI'; @@ -386,7 +394,7 @@ class EditIndividualController extends AbstractEditController $gedrec .= $this->addNewFact($request, $tree, $match); } } - if ($request->getParsedBody()['SOUR_INDI'] ?? false) { + if ($params['SOUR_INDI'] ?? false) { $gedrec = $this->handleUpdates($gedrec); } else { $gedrec = $this->updateRest($gedrec); @@ -394,7 +402,7 @@ class EditIndividualController extends AbstractEditController $new_indi = $tree->createIndividual($gedrec); - if (($request->getParsedBody()['goto'] ?? '') === 'new') { + if (($params['goto'] ?? '') === 'new') { return redirect($new_indi->url()); } @@ -542,12 +550,14 @@ class EditIndividualController extends AbstractEditController $individual = Individual::getInstance($xref, $tree); $individual = Auth::checkIndividualAccess($individual, true); - $famid = $request->getParsedBody()['famid']; + $params = (array) $request->getParsedBody(); + + $famid = $params['famid']; $family = Family::getInstance($famid, $tree); $family = Auth::checkFamilyAccess($family, true); - $PEDI = $request->getParsedBody()['PEDI']; + $PEDI = $params['PEDI']; // Replace any existing child->family link (we may be changing the PEDI); $fact_id = ''; @@ -624,7 +634,8 @@ class EditIndividualController extends AbstractEditController $individual = Individual::getInstance($xref, $tree); $individual = Auth::checkIndividualAccess($individual, true); - $spid = $request->getParsedBody()['spid']; + $params = (array) $request->getParsedBody(); + $spid = $params['spid']; $spouse = Individual::getInstance($spid, $tree); $spouse = Auth::checkIndividualAccess($spouse, true); diff --git a/app/Http/Controllers/EditMediaController.php b/app/Http/Controllers/EditMediaController.php index 0dc6d11302..e1ecd07dbc 100644 --- a/app/Http/Controllers/EditMediaController.php +++ b/app/Http/Controllers/EditMediaController.php @@ -113,8 +113,11 @@ class EditMediaController extends AbstractEditController $xref = $request->getQueryParams()['xref']; $media = Media::getInstance($xref, $tree); - $title = $request->getParsedBody()['title']; - $type = $request->getParsedBody()['type']; + + $params = (array) $request->getParsedBody(); + + $title = $params['title']; + $type = $params['type']; // Tidy whitespace $type = trim(preg_replace('/\s+/', ' ', $type)); @@ -208,13 +211,16 @@ class EditMediaController extends AbstractEditController $data_filesystem = $request->getAttribute('filesystem.data'); assert($data_filesystem instanceof FilesystemInterface); - $xref = $request->getQueryParams()['xref']; - $fact_id = $request->getQueryParams()['fact_id']; - $folder = $request->getParsedBody()['folder']; - $new_file = $request->getParsedBody()['new_file']; - $remote = $request->getParsedBody()['remote']; - $title = $request->getParsedBody()['title']; - $type = $request->getParsedBody()['type']; + $xref = $request->getQueryParams()['xref']; + $fact_id = $request->getQueryParams()['fact_id']; + + $params = (array) $request->getParsedBody(); + + $folder = $params['folder']; + $new_file = $params['new_file']; + $remote = $params['remote']; + $title = $params['title']; + $type = $params['type']; $media = Media::getInstance($xref, $tree); // Tidy whitespace @@ -323,7 +329,7 @@ class EditMediaController extends AbstractEditController $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $file = $params['file']; $type = $params['type']; $title = $params['title']; @@ -368,7 +374,7 @@ class EditMediaController extends AbstractEditController $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $note = $params['media-note']; $title = $params['title']; $type = $params['type']; @@ -496,7 +502,9 @@ class EditMediaController extends AbstractEditController $xref = $request->getAttribute('xref'); assert(is_string($xref)); - $link = $request->getParsedBody()['link']; + $params = (array) $request->getParsedBody(); + + $link = $params['link']; $media = Media::getInstance($xref, $tree); $record = GedcomRecord::getInstance($link, $tree); diff --git a/app/Http/Controllers/EditNoteController.php b/app/Http/Controllers/EditNoteController.php index 081b749741..5926d944ec 100644 --- a/app/Http/Controllers/EditNoteController.php +++ b/app/Http/Controllers/EditNoteController.php @@ -74,7 +74,9 @@ class EditNoteController extends AbstractEditController $note = Note::getInstance($xref, $tree); $note = Auth::checkNoteAccess($note, true); - $NOTE = $request->getParsedBody()['NOTE']; + $params = (array) $request->getParsedBody(); + + $NOTE = $params['NOTE']; // "\" and "$" are signficant in replacement strings, so escape them. $NOTE = str_replace([ diff --git a/app/Http/Controllers/HomePageController.php b/app/Http/Controllers/HomePageController.php index 6b7b262375..cbf0aa3cae 100644 --- a/app/Http/Controllers/HomePageController.php +++ b/app/Http/Controllers/HomePageController.php @@ -385,8 +385,10 @@ class HomePageController extends AbstractBaseController */ public function treePageDefaultUpdate(ServerRequestInterface $request): ResponseInterface { - $main_blocks = new Collection($request->getParsedBody()[self::MAIN_BLOCKS] ?? []); - $side_blocks = new Collection($request->getParsedBody()[self::SIDE_BLOCKS] ?? []); + $params = (array) $request->getParsedBody(); + + $main_blocks = new Collection($params[self::MAIN_BLOCKS] ?? []); + $side_blocks = new Collection($params[self::SIDE_BLOCKS] ?? []); $this->updateTreeBlocks(-1, $main_blocks, $side_blocks); @@ -437,7 +439,7 @@ class HomePageController extends AbstractBaseController $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $defaults = (bool) ($params['defaults'] ?? false); @@ -570,8 +572,10 @@ class HomePageController extends AbstractBaseController */ public function userPageDefaultUpdate(ServerRequestInterface $request): ResponseInterface { - $main_blocks = new Collection($request->getParsedBody()[self::MAIN_BLOCKS] ?? []); - $side_blocks = new Collection($request->getParsedBody()[self::SIDE_BLOCKS] ?? []); + $params = (array) $request->getParsedBody(); + + $main_blocks = new Collection($params[self::MAIN_BLOCKS] ?? []); + $side_blocks = new Collection($params[self::SIDE_BLOCKS] ?? []); $this->updateUserBlocks(-1, $main_blocks, $side_blocks); @@ -623,7 +627,7 @@ class HomePageController extends AbstractBaseController assert($tree instanceof Tree); $user = $request->getAttribute('user'); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $defaults = (bool) ($params['defaults'] ?? false); if ($defaults) { diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index fea83202e2..11324987c4 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -120,7 +120,8 @@ class SetupController extends AbstractBaseController $data = $this->userData($request); - $step = (int) ($request->getParsedBody()['step'] ?? '1'); + $params = (array) $request->getParsedBody(); + $step = (int) ($params['step'] ?? '1'); $locales = $this->module_service ->setupLanguages() @@ -183,10 +184,12 @@ class SetupController extends AbstractBaseController */ private function userData(ServerRequestInterface $request): array { + $params = (array) $request->getParsedBody(); + $data = []; foreach (self::DEFAULT_DATA as $key => $default) { - $data[$key] = $request->getParsedBody()[$key] ?? $default; + $data[$key] = $params[$key] ?? $default; } return $data; diff --git a/app/Http/Middleware/CheckCsrf.php b/app/Http/Middleware/CheckCsrf.php index ecba5d5b53..7c0669ee21 100644 --- a/app/Http/Middleware/CheckCsrf.php +++ b/app/Http/Middleware/CheckCsrf.php @@ -49,10 +49,12 @@ class CheckCsrf implements MiddlewareInterface public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { - $route = $request->getQueryParams()['route'] ?? ''; + $params = (array) $request->getParsedBody(); + + $route = $params['route'] ?? ''; if (!in_array($route, self::EXCLUDE_ROUTES, true)) { - $client_token = $request->getParsedBody()['csrf'] ?? $request->getHeaderLine('X-CSRF-TOKEN'); + $client_token = $params['csrf'] ?? $request->getHeaderLine('X-CSRF-TOKEN'); $session_token = Session::get('CSRF_TOKEN'); if ($client_token !== $session_token) { @@ -61,7 +63,6 @@ class CheckCsrf implements MiddlewareInterface return redirect((string) $request->getUri()); } - $params = $request->getParsedBody(); unset($params['csrf']); $request = $request->withParsedBody($params); } diff --git a/app/Http/RequestHandlers/AbstractSelect2Handler.php b/app/Http/RequestHandlers/AbstractSelect2Handler.php index 9f11b43f6c..95bdba3c1e 100644 --- a/app/Http/RequestHandlers/AbstractSelect2Handler.php +++ b/app/Http/RequestHandlers/AbstractSelect2Handler.php @@ -66,10 +66,12 @@ abstract class AbstractSelect2Handler implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $query = $request->getParsedBody()['q'] ?? ''; + $params = (array) $request->getParsedBody(); + + $query = $params['q'] ?? ''; assert(strlen($query) >= self::MINIMUM_INPUT_LENGTH); - $page = (int) ($request->getParsedBody()['page'] ?? 1); + $page = (int) ($params['page'] ?? 1); // Fetch one more row than we need, so we can know if more rows exist. $offset = ($page - 1) * self::RESULTS_PER_PAGE; diff --git a/app/Http/RequestHandlers/AccountUpdate.php b/app/Http/RequestHandlers/AccountUpdate.php index dd6370b8d7..095527928b 100644 --- a/app/Http/RequestHandlers/AccountUpdate.php +++ b/app/Http/RequestHandlers/AccountUpdate.php @@ -62,7 +62,7 @@ class AccountUpdate implements RequestHandlerInterface $user = $request->getAttribute('user'); assert($user instanceof User); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $contact_method = $params['contact-method']; $email = $params['email']; diff --git a/app/Http/RequestHandlers/BroadcastAction.php b/app/Http/RequestHandlers/BroadcastAction.php index 44de2aff52..d85eb3d118 100644 --- a/app/Http/RequestHandlers/BroadcastAction.php +++ b/app/Http/RequestHandlers/BroadcastAction.php @@ -59,7 +59,7 @@ class BroadcastAction implements RequestHandlerInterface public function handle(ServerRequestInterface $request): ResponseInterface { $user = $request->getAttribute('user'); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $body = $params['body']; $subject = $params['subject']; $to = $params['to']; diff --git a/app/Http/RequestHandlers/ContactAction.php b/app/Http/RequestHandlers/ContactAction.php index 8d7ba76a02..1d69d45c57 100644 --- a/app/Http/RequestHandlers/ContactAction.php +++ b/app/Http/RequestHandlers/ContactAction.php @@ -76,7 +76,7 @@ class ContactAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $body = $params['body']; $from_email = $params['from_email']; $from_name = $params['from_name']; diff --git a/app/Http/RequestHandlers/CreateMediaObjectAction.php b/app/Http/RequestHandlers/CreateMediaObjectAction.php index 20f8e8d17e..ae99db15f1 100644 --- a/app/Http/RequestHandlers/CreateMediaObjectAction.php +++ b/app/Http/RequestHandlers/CreateMediaObjectAction.php @@ -65,7 +65,7 @@ class CreateMediaObjectAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $note = $params['media-note']; $title = $params['title']; $type = $params['type']; diff --git a/app/Http/RequestHandlers/CreateNoteAction.php b/app/Http/RequestHandlers/CreateNoteAction.php index 018b1dfd50..7851c3efdf 100644 --- a/app/Http/RequestHandlers/CreateNoteAction.php +++ b/app/Http/RequestHandlers/CreateNoteAction.php @@ -42,7 +42,7 @@ class CreateNoteAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $note = $params['note']; $privacy_restriction = $params['privacy-restriction']; $edit_restriction = $params['edit-restriction']; diff --git a/app/Http/RequestHandlers/CreateRepositoryAction.php b/app/Http/RequestHandlers/CreateRepositoryAction.php index 41526e6540..daf27290b6 100644 --- a/app/Http/RequestHandlers/CreateRepositoryAction.php +++ b/app/Http/RequestHandlers/CreateRepositoryAction.php @@ -42,7 +42,7 @@ class CreateRepositoryAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $name = $params['repository-name']; $privacy_restriction = $params['privacy-restriction']; $edit_restriction = $params['edit-restriction']; diff --git a/app/Http/RequestHandlers/CreateRepositoryModal.php b/app/Http/RequestHandlers/CreateRepositoryModal.php index cffa7497e9..d1db9a3b38 100644 --- a/app/Http/RequestHandlers/CreateRepositoryModal.php +++ b/app/Http/RequestHandlers/CreateRepositoryModal.php @@ -61,7 +61,7 @@ class CreateRepositoryModal implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $name = $params['repository-name']; $privacy_restriction = $params['privacy-restriction']; $edit_restriction = $params['edit-restriction']; diff --git a/app/Http/RequestHandlers/CreateSourceAction.php b/app/Http/RequestHandlers/CreateSourceAction.php index a3f8621ffe..d84ff073a9 100644 --- a/app/Http/RequestHandlers/CreateSourceAction.php +++ b/app/Http/RequestHandlers/CreateSourceAction.php @@ -42,7 +42,7 @@ class CreateSourceAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $title = $params['source-title']; $abbreviation = $params['source-abbreviation']; $author = $params['source-author']; diff --git a/app/Http/RequestHandlers/CreateSubmitterAction.php b/app/Http/RequestHandlers/CreateSubmitterAction.php index ee76278d13..01b8d7e8d6 100644 --- a/app/Http/RequestHandlers/CreateSubmitterAction.php +++ b/app/Http/RequestHandlers/CreateSubmitterAction.php @@ -42,7 +42,7 @@ class CreateSubmitterAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $name = $params['submitter_name']; $address = $params['submitter_address']; $privacy_restriction = $params['privacy-restriction']; diff --git a/app/Http/RequestHandlers/CreateTreeAction.php b/app/Http/RequestHandlers/CreateTreeAction.php index 024ce36872..9821eb6a69 100644 --- a/app/Http/RequestHandlers/CreateTreeAction.php +++ b/app/Http/RequestHandlers/CreateTreeAction.php @@ -56,8 +56,9 @@ class CreateTreeAction extends AbstractBaseController */ public function handle(ServerRequestInterface $request): ResponseInterface { - $name = $request->getParsedBody()['name']; - $title = $request->getParsedBody()['title']; + $params = (array) $request->getParsedBody(); + $name = $params['name']; + $title = $params['title']; if ($this->tree_service->all()->get($name) instanceof Tree) { FlashMessages::addMessage(I18N::translate('The family tree “%s” already exists.', e($name)), 'danger'); diff --git a/app/Http/RequestHandlers/EditRawFactAction.php b/app/Http/RequestHandlers/EditRawFactAction.php index 0c6fb00c00..ab61abd116 100644 --- a/app/Http/RequestHandlers/EditRawFactAction.php +++ b/app/Http/RequestHandlers/EditRawFactAction.php @@ -53,7 +53,10 @@ class EditRawFactAction implements RequestHandlerInterface $record = GedcomRecord::getInstance($xref, $tree); $fact_id = $request->getAttribute('fact_id'); - $gedcom = $request->getParsedBody()['gedcom']; + + $params = (array) $request->getParsedBody(); + + $gedcom = $params['gedcom']; // Cleanup the client’s bad editing? $gedcom = preg_replace('/[\r\n]+/', "\n", $gedcom); // Empty lines diff --git a/app/Http/RequestHandlers/EditRawRecordAction.php b/app/Http/RequestHandlers/EditRawRecordAction.php index 29ecccce71..1f18695abb 100644 --- a/app/Http/RequestHandlers/EditRawRecordAction.php +++ b/app/Http/RequestHandlers/EditRawRecordAction.php @@ -50,8 +50,10 @@ class EditRawRecordAction implements RequestHandlerInterface $record = GedcomRecord::getInstance($xref, $tree); $record = Auth::checkRecordAccess($record, true); - $facts = $request->getParsedBody()['fact'] ?? []; - $fact_ids = $request->getParsedBody()['fact_id'] ?? []; + $params = (array) $request->getParsedBody(); + + $facts = $params['fact'] ?? []; + $fact_ids = $params['fact_id'] ?? []; $gedcom = '0 @' . $record->xref() . '@ ' . $record::RECORD_TYPE; diff --git a/app/Http/RequestHandlers/EmailPreferencesAction.php b/app/Http/RequestHandlers/EmailPreferencesAction.php index 40b586fa59..d3b681e7de 100644 --- a/app/Http/RequestHandlers/EmailPreferencesAction.php +++ b/app/Http/RequestHandlers/EmailPreferencesAction.php @@ -61,7 +61,7 @@ class EmailPreferencesAction implements RequestHandlerInterface $user = $request->getAttribute('user'); assert($user instanceof User); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); Site::setPreference('SMTP_ACTIVE', $params['SMTP_ACTIVE']); Site::setPreference('SMTP_FROM_NAME', $params['SMTP_FROM_NAME']); diff --git a/app/Http/RequestHandlers/ExportGedcomClient.php b/app/Http/RequestHandlers/ExportGedcomClient.php index 615e028001..42fac96034 100644 --- a/app/Http/RequestHandlers/ExportGedcomClient.php +++ b/app/Http/RequestHandlers/ExportGedcomClient.php @@ -70,11 +70,13 @@ class ExportGedcomClient implements RequestHandlerInterface $data_filesystem = $request->getAttribute('filesystem.data'); assert($data_filesystem instanceof FilesystemInterface); - $convert = (bool) ($request->getParsedBody()['convert'] ?? false); - $zip = (bool) ($request->getParsedBody()['zip'] ?? false); - $media = (bool) ($request->getParsedBody()['media'] ?? false); - $media_path = $request->getParsedBody()['media-path'] ?? ''; - $privatize_export = $request->getParsedBody()['privatize_export']; + $params = (array) $request->getParsedBody(); + + $convert = (bool) ($params['convert'] ?? false); + $zip = (bool) ($params['zip'] ?? false); + $media = (bool) ($params['media'] ?? false); + $media_path = $params['media-path'] ?? ''; + $privatize_export = $params['privatize_export']; $access_levels = [ 'gedadmin' => Auth::PRIV_NONE, diff --git a/app/Http/RequestHandlers/LoginAction.php b/app/Http/RequestHandlers/LoginAction.php index b45401a07b..122d573cb9 100644 --- a/app/Http/RequestHandlers/LoginAction.php +++ b/app/Http/RequestHandlers/LoginAction.php @@ -68,10 +68,13 @@ class LoginAction extends AbstractBaseController */ public function handle(ServerRequestInterface $request): ResponseInterface { - $tree = $request->getAttribute('tree'); - $username = $request->getParsedBody()['username']; - $password = $request->getParsedBody()['password']; - $url = $request->getParsedBody()['url']; + $tree = $request->getAttribute('tree'); + + $params = (array) $request->getParsedBody(); + + $username = $params['username']; + $password = $params['password']; + $url = $params['url']; try { $this->doLogin($username, $password); diff --git a/app/Http/RequestHandlers/MergeFactsAction.php b/app/Http/RequestHandlers/MergeFactsAction.php index 19cc42a45d..cb1afe8e11 100644 --- a/app/Http/RequestHandlers/MergeFactsAction.php +++ b/app/Http/RequestHandlers/MergeFactsAction.php @@ -54,11 +54,13 @@ class MergeFactsAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $xref1 = $request->getParsedBody()['xref1'] ?? ''; - $xref2 = $request->getParsedBody()['xref2'] ?? ''; + $params = (array) $request->getParsedBody(); - $keep1 = $request->getParsedBody()['keep1'] ?? []; - $keep2 = $request->getParsedBody()['keep2'] ?? []; + $xref1 = $params['xref1'] ?? ''; + $xref2 = $params['xref2'] ?? ''; + + $keep1 = $params['keep1'] ?? []; + $keep2 = $params['keep2'] ?? []; // Merge record2 into record1 $record1 = GedcomRecord::getInstance($xref1, $tree); diff --git a/app/Http/RequestHandlers/MergeRecordsAction.php b/app/Http/RequestHandlers/MergeRecordsAction.php index 68ca8a3818..f06ab0a8a9 100644 --- a/app/Http/RequestHandlers/MergeRecordsAction.php +++ b/app/Http/RequestHandlers/MergeRecordsAction.php @@ -44,8 +44,10 @@ class MergeRecordsAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $xref1 = $request->getParsedBody()['xref1'] ?? ''; - $xref2 = $request->getParsedBody()['xref2'] ?? ''; + $params = (array) $request->getParsedBody(); + + $xref1 = $params['xref1'] ?? ''; + $xref2 = $params['xref2'] ?? ''; // Merge record2 into record1 $record1 = GedcomRecord::getInstance($xref1, $tree); diff --git a/app/Http/RequestHandlers/MessageAction.php b/app/Http/RequestHandlers/MessageAction.php index 5f55e4cba7..1eaf1df44a 100644 --- a/app/Http/RequestHandlers/MessageAction.php +++ b/app/Http/RequestHandlers/MessageAction.php @@ -72,7 +72,7 @@ class MessageAction implements RequestHandlerInterface assert($tree instanceof Tree); $user = $request->getAttribute('user'); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $body = $params['body']; $subject = $params['subject']; $to = $params['to']; diff --git a/app/Http/RequestHandlers/MessageSelect.php b/app/Http/RequestHandlers/MessageSelect.php index 9706952bc7..41a171fdbf 100644 --- a/app/Http/RequestHandlers/MessageSelect.php +++ b/app/Http/RequestHandlers/MessageSelect.php @@ -39,12 +39,14 @@ class MessageSelect implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); + $params = (array) $request->getParsedBody(); + return redirect(route(MessagePage::class, [ - 'body' => $request->getParsedBody()['body'] ?? '', - 'subject' => $request->getParsedBody()['subject'] ?? '', - 'to' => $request->getParsedBody()['to'] ?? '', + 'body' => $params['body'] ?? '', + 'subject' => $params['subject'] ?? '', + 'to' => $params['to'] ?? '', 'tree' => $tree->name(), - 'url' => $request->getParsedBody()['url'] ?? '', + 'url' => $params['url'] ?? '', ])); } } diff --git a/app/Http/RequestHandlers/PasswordRequestAction.php b/app/Http/RequestHandlers/PasswordRequestAction.php index 6a5da3577f..d9670dcc43 100644 --- a/app/Http/RequestHandlers/PasswordRequestAction.php +++ b/app/Http/RequestHandlers/PasswordRequestAction.php @@ -73,7 +73,9 @@ class PasswordRequestAction implements RequestHandlerInterface, StatusCodeInterf { $tree = $request->getAttribute('tree'); - $email = $request->getParsedBody()['email'] ?? ''; + $params = (array) $request->getParsedBody(); + + $email = $params['email'] ?? ''; $user = $this->user_service->findByEmail($email); if ($user instanceof User) { diff --git a/app/Http/RequestHandlers/PasswordResetAction.php b/app/Http/RequestHandlers/PasswordResetAction.php index 3faaf9a8e2..a7860ad5c0 100644 --- a/app/Http/RequestHandlers/PasswordResetAction.php +++ b/app/Http/RequestHandlers/PasswordResetAction.php @@ -62,7 +62,9 @@ class PasswordResetAction implements RequestHandlerInterface, StatusCodeInterfac $user = $this->user_service->findByToken($token); if ($user instanceof User) { - $password = $request->getParsedBody()['password'] ?? ''; + $params = (array) $request->getParsedBody(); + + $password = $params['password'] ?? ''; $user->setPreference('password-token', ''); $user->setPreference('password-token-expire', ''); diff --git a/app/Http/RequestHandlers/PasteFact.php b/app/Http/RequestHandlers/PasteFact.php index c2bce2ad72..278ba162a5 100644 --- a/app/Http/RequestHandlers/PasteFact.php +++ b/app/Http/RequestHandlers/PasteFact.php @@ -64,7 +64,9 @@ class PasteFact implements RequestHandlerInterface $xref = $request->getAttribute('xref'); assert(is_string($xref)); - $fact_id = $request->getParsedBody()['fact_id']; + $params = (array) $request->getParsedBody(); + + $fact_id = $params['fact_id']; $record = GedcomRecord::getInstance($xref, $tree); $record = Auth::checkRecordAccess($record, true); diff --git a/app/Http/RequestHandlers/PendingChangesLogAction.php b/app/Http/RequestHandlers/PendingChangesLogAction.php index c995365216..66951fd8b6 100644 --- a/app/Http/RequestHandlers/PendingChangesLogAction.php +++ b/app/Http/RequestHandlers/PendingChangesLogAction.php @@ -35,15 +35,17 @@ class PendingChangesLogAction implements RequestHandlerInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + return redirect(route(PendingChangesLogPage::class, [ - 'tree' => $request->getParsedBody()['tree'], - 'from' => $request->getParsedBody()['from'] ?? '', - 'to' => $request->getParsedBody()['to'] ?? '', - 'type' => $request->getParsedBody()['type'] ?? '', - 'oldged' => $request->getParsedBody()['oldged'] ?? '', - 'newged' => $request->getParsedBody()['newged'] ?? '', - 'xref' => $request->getParsedBody()['xref'] ?? '', - 'username' => $request->getParsedBody()['username'] ?? '', + 'tree' => $params['tree'], + 'from' => $params['from'] ?? '', + 'to' => $params['to'] ?? '', + 'type' => $params['type'] ?? '', + 'oldged' => $params['oldged'] ?? '', + 'newged' => $params['newged'] ?? '', + 'xref' => $params['xref'] ?? '', + 'username' => $params['username'] ?? '', ])); } } diff --git a/app/Http/RequestHandlers/RegisterAction.php b/app/Http/RequestHandlers/RegisterAction.php index 0864a9fabe..6671d2e8a5 100644 --- a/app/Http/RequestHandlers/RegisterAction.php +++ b/app/Http/RequestHandlers/RegisterAction.php @@ -81,11 +81,13 @@ class RegisterAction extends AbstractBaseController $this->checkRegistrationAllowed(); - $comments = $request->getParsedBody()['comments'] ?? ''; - $email = $request->getParsedBody()['email'] ?? ''; - $password = $request->getParsedBody()['password'] ?? ''; - $realname = $request->getParsedBody()['realname'] ?? ''; - $username = $request->getParsedBody()['username'] ?? ''; + $params = (array) $request->getParsedBody(); + + $comments = $params['comments'] ?? ''; + $email = $params['email'] ?? ''; + $password = $params['password'] ?? ''; + $realname = $params['realname'] ?? ''; + $username = $params['username'] ?? ''; try { $this->doValidateRegistration($request, $username, $email, $realname, $comments, $password); diff --git a/app/Http/RequestHandlers/ReorderChildrenAction.php b/app/Http/RequestHandlers/ReorderChildrenAction.php index 1f3680c75b..312c066428 100644 --- a/app/Http/RequestHandlers/ReorderChildrenAction.php +++ b/app/Http/RequestHandlers/ReorderChildrenAction.php @@ -56,7 +56,8 @@ class ReorderChildrenAction implements RequestHandlerInterface $family = Family::getInstance($xref, $tree); $family = Auth::checkFamilyAccess($family, true); - $order = $request->getParsedBody()['order']; + $params = (array) $request->getParsedBody(); + $order = $params['order']; assert(is_array($order)); $dummy_facts = ['0 @' . $family->xref() . '@ FAM']; diff --git a/app/Http/RequestHandlers/ReorderFamiliesAction.php b/app/Http/RequestHandlers/ReorderFamiliesAction.php index 3c7496ae22..d4d9beffd1 100644 --- a/app/Http/RequestHandlers/ReorderFamiliesAction.php +++ b/app/Http/RequestHandlers/ReorderFamiliesAction.php @@ -56,7 +56,9 @@ class ReorderFamiliesAction implements RequestHandlerInterface $individual = Individual::getInstance($xref, $tree); $individual = Auth::checkIndividualAccess($individual, true); - $order = $request->getParsedBody()['order']; + $params = (array) $request->getParsedBody(); + + $order = $params['order']; assert(is_array($order)); $dummy_facts = ['0 @' . $individual->xref() . '@ INDI']; diff --git a/app/Http/RequestHandlers/ReorderMediaAction.php b/app/Http/RequestHandlers/ReorderMediaAction.php index 7d720c4c23..edf4372d89 100644 --- a/app/Http/RequestHandlers/ReorderMediaAction.php +++ b/app/Http/RequestHandlers/ReorderMediaAction.php @@ -56,7 +56,9 @@ class ReorderMediaAction implements RequestHandlerInterface $individual = Individual::getInstance($xref, $tree); $individual = Auth::checkIndividualAccess($individual, true); - $order = $request->getParsedBody()['order']; + $params = (array) $request->getParsedBody(); + + $order = $params['order']; assert(is_array($order)); $dummy_facts = ['0 @' . $individual->xref() . '@ INDI']; diff --git a/app/Http/RequestHandlers/ReorderNamesAction.php b/app/Http/RequestHandlers/ReorderNamesAction.php index 8e66f067f0..5653c8f465 100644 --- a/app/Http/RequestHandlers/ReorderNamesAction.php +++ b/app/Http/RequestHandlers/ReorderNamesAction.php @@ -56,7 +56,8 @@ class ReorderNamesAction implements RequestHandlerInterface $individual = Individual::getInstance($xref, $tree); $individual = Auth::checkIndividualAccess($individual, true); - $order = $request->getParsedBody()['order']; + $params = (array) $request->getParsedBody(); + $order = $params['order']; assert(is_array($order)); $dummy_facts = ['0 @' . $individual->xref() . '@ INDI']; diff --git a/app/Http/RequestHandlers/ReportListAction.php b/app/Http/RequestHandlers/ReportListAction.php index a307c42f37..e1eb884b48 100644 --- a/app/Http/RequestHandlers/ReportListAction.php +++ b/app/Http/RequestHandlers/ReportListAction.php @@ -67,7 +67,9 @@ class ReportListAction implements RequestHandlerInterface $user = $request->getAttribute('user'); assert($user instanceof UserInterface); - $report = $request->getParsedBody()['report'] ?? ''; + $params = (array) $request->getParsedBody(); + + $report = $params['report'] ?? ''; $module = $this->module_service->findByName($report); if ($module instanceof ModuleReportInterface) { diff --git a/app/Http/RequestHandlers/ReportSetupAction.php b/app/Http/RequestHandlers/ReportSetupAction.php index 9e3e0ee21e..6d7446579f 100644 --- a/app/Http/RequestHandlers/ReportSetupAction.php +++ b/app/Http/RequestHandlers/ReportSetupAction.php @@ -77,7 +77,7 @@ class ReportSetupAction implements RequestHandlerInterface Auth::checkComponentAccess($module, 'report', $tree, $user); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $params['tree'] = $tree->name(); $params['report'] = $report; diff --git a/app/Http/RequestHandlers/SearchAdvancedAction.php b/app/Http/RequestHandlers/SearchAdvancedAction.php index ecd0188d36..aaa2cfd57d 100644 --- a/app/Http/RequestHandlers/SearchAdvancedAction.php +++ b/app/Http/RequestHandlers/SearchAdvancedAction.php @@ -43,7 +43,7 @@ class SearchAdvancedAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $fields = $params['fields'] ?? []; $modifiers = $params['modifiers'] ?? []; diff --git a/app/Http/RequestHandlers/SearchGeneralAction.php b/app/Http/RequestHandlers/SearchGeneralAction.php index 28f33661c3..6667401181 100644 --- a/app/Http/RequestHandlers/SearchGeneralAction.php +++ b/app/Http/RequestHandlers/SearchGeneralAction.php @@ -43,7 +43,7 @@ class SearchGeneralAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); return redirect(route(SearchGeneralPage::class, [ 'query' => $params['query'] ?? '', diff --git a/app/Http/RequestHandlers/SearchPhoneticAction.php b/app/Http/RequestHandlers/SearchPhoneticAction.php index 9896a76ad2..1c9a1a1bb8 100644 --- a/app/Http/RequestHandlers/SearchPhoneticAction.php +++ b/app/Http/RequestHandlers/SearchPhoneticAction.php @@ -43,7 +43,7 @@ class SearchPhoneticAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); return redirect(route(SearchPhoneticPage::class, [ 'firstname' => $params['firstname'] ?? '', diff --git a/app/Http/RequestHandlers/SearchQuickAction.php b/app/Http/RequestHandlers/SearchQuickAction.php index 465386f9f5..cbb7a60cbe 100644 --- a/app/Http/RequestHandlers/SearchQuickAction.php +++ b/app/Http/RequestHandlers/SearchQuickAction.php @@ -46,7 +46,9 @@ class SearchQuickAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $query = $request->getParsedBody()['query'] ?? ''; + $params = (array) $request->getParsedBody(); + + $query = $params['query'] ?? ''; // Was the search query an XREF in the current tree? // If so, go straight to it. diff --git a/app/Http/RequestHandlers/SearchReplaceAction.php b/app/Http/RequestHandlers/SearchReplaceAction.php index 6058f30fcb..b047188d97 100644 --- a/app/Http/RequestHandlers/SearchReplaceAction.php +++ b/app/Http/RequestHandlers/SearchReplaceAction.php @@ -63,7 +63,7 @@ class SearchReplaceAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $search = $params['search'] ?? ''; $replace = $params['replace'] ?? ''; $context = $params['context'] ?? 'all'; diff --git a/app/Http/RequestHandlers/SelectNewFact.php b/app/Http/RequestHandlers/SelectNewFact.php index 3decadd9f4..b03a089fc9 100644 --- a/app/Http/RequestHandlers/SelectNewFact.php +++ b/app/Http/RequestHandlers/SelectNewFact.php @@ -46,7 +46,8 @@ class SelectNewFact implements RequestHandlerInterface $xref = $request->getAttribute('xref'); assert(is_string($xref)); - $fact = $request->getParsedBody()['fact']; + $params = (array) $request->getParsedBody(); + $fact = $params['fact']; return redirect(route(AddNewFact::class, [ 'tree' => $tree->name(), diff --git a/app/Http/RequestHandlers/SiteLogsAction.php b/app/Http/RequestHandlers/SiteLogsAction.php index 564bab3e74..875dc60cef 100644 --- a/app/Http/RequestHandlers/SiteLogsAction.php +++ b/app/Http/RequestHandlers/SiteLogsAction.php @@ -35,14 +35,16 @@ class SiteLogsAction implements RequestHandlerInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + return redirect(route(SiteLogsPage::class, [ - 'tree' => $request->getParsedBody()['tree'], - 'from' => $request->getParsedBody()['from'] ?? '', - 'to' => $request->getParsedBody()['to'] ?? '', - 'type' => $request->getParsedBody()['type'] ?? '', - 'text' => $request->getParsedBody()['text'] ?? '', - 'ip' => $request->getParsedBody()['ip'] ?? '', - 'username' => $request->getParsedBody()['username'] ?? '', + 'tree' => $params['tree'], + 'from' => $params['from'] ?? '', + 'to' => $params['to'] ?? '', + 'type' => $params['type'] ?? '', + 'text' => $params['text'] ?? '', + 'ip' => $params['ip'] ?? '', + 'username' => $params['username'] ?? '', ])); } } diff --git a/app/Http/RequestHandlers/UnconnectedAction.php b/app/Http/RequestHandlers/UnconnectedAction.php index 304afea1b2..8a91758faa 100644 --- a/app/Http/RequestHandlers/UnconnectedAction.php +++ b/app/Http/RequestHandlers/UnconnectedAction.php @@ -44,7 +44,9 @@ class UnconnectedAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $associates = $request->getParsedBody()['associates'] ?? ''; + $params = (array) $request->getParsedBody(); + + $associates = $params['associates'] ?? ''; return redirect(route(UnconnectedPage::class, ['tree' => $tree->name(), 'associates' => $associates])); } diff --git a/app/Http/RequestHandlers/UpdatePlacesAction.php b/app/Http/RequestHandlers/UpdatePlacesAction.php index 281e3f8574..9262c2b71c 100644 --- a/app/Http/RequestHandlers/UpdatePlacesAction.php +++ b/app/Http/RequestHandlers/UpdatePlacesAction.php @@ -53,9 +53,11 @@ class UpdatePlacesAction implements RequestHandlerInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $replace = $request->getParsedBody()['replace'] ?? ''; - $search = $request->getParsedBody()['search'] ?? ''; - $submit = $request->getParsedBody()['submit'] ?? ''; + $params = (array) $request->getParsedBody(); + + $replace = $params['replace'] ?? ''; + $search = $params['search'] ?? ''; + $submit = $params['submit'] ?? ''; if ($search !== '' && $replace !== '' && $submit === 'update') { $individual_changes = DB::table('individuals') diff --git a/app/Http/RequestHandlers/UsersCleanupAction.php b/app/Http/RequestHandlers/UsersCleanupAction.php index 21950ecaed..b8cbecbdaf 100644 --- a/app/Http/RequestHandlers/UsersCleanupAction.php +++ b/app/Http/RequestHandlers/UsersCleanupAction.php @@ -55,7 +55,9 @@ class UsersCleanupAction implements RequestHandlerInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { - $delete = $request->getParsedBody()['delete'] ?? []; + $params = (array) $request->getParsedBody(); + + $delete = $params['delete'] ?? []; foreach ($delete as $user_id) { $user = $this->user_service->find($user_id); diff --git a/app/Module/AncestorsChartModule.php b/app/Module/AncestorsChartModule.php index e9701ed2cf..6603ac9ea1 100644 --- a/app/Module/AncestorsChartModule.php +++ b/app/Module/AncestorsChartModule.php @@ -196,11 +196,13 @@ class AncestorsChartModule extends AbstractModule implements ModuleChartInterfac // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'], - 'style' => $request->getParsedBody()['style'], - 'generations' => $request->getParsedBody()['generations'], + 'xref' => $params['xref'], + 'style' => $params['style'], + 'generations' => $params['generations'], ])); } diff --git a/app/Module/BatchUpdateModule.php b/app/Module/BatchUpdateModule.php index cbee0cdb7b..2644229f4e 100644 --- a/app/Module/BatchUpdateModule.php +++ b/app/Module/BatchUpdateModule.php @@ -358,12 +358,12 @@ class BatchUpdateModule extends AbstractModule implements ModuleConfigInterface */ public function postAdminAction(ServerRequestInterface $request): ResponseInterface { - $parameters = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); - $tree = $this->tree_service->all()->get($parameters['tree' ?? '']); + $tree = $this->tree_service->all()->get($params['tree' ?? '']); assert($tree instanceof Tree); - $plugin = $parameters['plugin'] ?? ''; + $plugin = $params['plugin'] ?? ''; if ($plugin === '') { return redirect(route('module', [ @@ -373,8 +373,8 @@ class BatchUpdateModule extends AbstractModule implements ModuleConfigInterface ])); } - $xref = $parameters['xref'] ?? ''; - $update = $parameters['update'] ?? ''; + $xref = $params['xref'] ?? ''; + $update = $params['update'] ?? ''; $plugins = $this->getPluginList(); $plugin = $plugins[$plugin] ?? null; @@ -386,10 +386,10 @@ class BatchUpdateModule extends AbstractModule implements ModuleConfigInterface $all_data = $this->allData($plugin, $tree); - unset($parameters['update']); - $parameters['tree'] = $tree->name(); - $parameters['module'] = $this->name(); - $parameters['action'] = 'Admin'; + unset($params['update']); + $params['tree'] = $tree->name(); + $params['module'] = $this->name(); + $params['action'] = 'Admin'; switch ($update) { case 'one': @@ -401,14 +401,14 @@ class BatchUpdateModule extends AbstractModule implements ModuleConfigInterface } } - $parameters['xref'] = $this->findNextXref($plugin, $xref, $all_data, $tree); + $params['xref'] = $this->findNextXref($plugin, $xref, $all_data, $tree); break; case 'all': foreach ($all_data as $xref => $value) { if ($this->timeout_service->isTimeNearlyUp()) { FlashMessages::addMessage('The server’s time limit has been reached.'); - $parameters['xref'] = $xref; + $params['xref'] = $xref; break 2; } @@ -418,11 +418,11 @@ class BatchUpdateModule extends AbstractModule implements ModuleConfigInterface $record->updateRecord($new_gedcom, false); } } - $parameters['xref'] = ''; + $params['xref'] = ''; break; } - $url = route('module', $parameters); + $url = route('module', $params); return redirect($url); } diff --git a/app/Module/BranchesListModule.php b/app/Module/BranchesListModule.php index d760504bf5..7b19a6ca7e 100644 --- a/app/Module/BranchesListModule.php +++ b/app/Module/BranchesListModule.php @@ -113,12 +113,14 @@ class BranchesListModule extends AbstractModule implements ModuleListInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); + $params = (array) $request->getParsedBody(); + return redirect(route('module', [ 'module' => $this->name(), 'action' => 'Page', - 'surname' => $request->getParsedBody()['surname'] ?? '', - 'soundex_dm' => $request->getParsedBody()['soundex_dm'] ?? '', - 'soundex_std' => $request->getParsedBody()['soundex_std'] ?? '', + 'surname' => $params['surname'] ?? '', + 'soundex_dm' => $params['soundex_dm'] ?? '', + 'soundex_std' => $params['soundex_std'] ?? '', 'tree' => $tree->name(), ])); } diff --git a/app/Module/CensusAssistantModule.php b/app/Module/CensusAssistantModule.php index 8c9342d608..478bbec6a2 100644 --- a/app/Module/CensusAssistantModule.php +++ b/app/Module/CensusAssistantModule.php @@ -63,7 +63,9 @@ class CensusAssistantModule extends AbstractModule */ public function postCensusHeaderAction(ServerRequestInterface $request): ResponseInterface { - $census = $request->getParsedBody()['census']; + $params = (array) $request->getParsedBody(); + + $census = $params['census']; $html = $this->censusTableHeader(new $census()); @@ -80,7 +82,7 @@ class CensusAssistantModule extends AbstractModule $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $individual = Individual::getInstance($params['xref'], $tree); $head = Individual::getInstance($params['head'], $tree); $census = $params['census']; @@ -117,7 +119,7 @@ class CensusAssistantModule extends AbstractModule */ public function updateCensusAssistant(ServerRequestInterface $request, Individual $individual, string $fact_id, string $newged, bool $keep_chan): string { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $ca_title = $params['ca_title'] ?? ''; $ca_place = $params['ca_place'] ?? ''; diff --git a/app/Module/ChartsBlockModule.php b/app/Module/ChartsBlockModule.php index 638bc4ad79..f5223da238 100644 --- a/app/Module/ChartsBlockModule.php +++ b/app/Module/ChartsBlockModule.php @@ -216,8 +216,10 @@ class ChartsBlockModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $this->setBlockSetting($block_id, 'type', $request->getParsedBody()['type'] ?? 'pedigree'); - $this->setBlockSetting($block_id, 'pid', $request->getParsedBody()['xref'] ?? ''); + $params = (array) $request->getParsedBody(); + + $this->setBlockSetting($block_id, 'type', $params['type'] ?? 'pedigree'); + $this->setBlockSetting($block_id, 'pid', $params['xref'] ?? ''); } /** diff --git a/app/Module/ClippingsCartModule.php b/app/Module/ClippingsCartModule.php index e1858d400f..7300f1c573 100644 --- a/app/Module/ClippingsCartModule.php +++ b/app/Module/ClippingsCartModule.php @@ -206,8 +206,10 @@ class ClippingsCartModule extends AbstractModule implements ModuleMenuInterface $data_filesystem = $request->getAttribute('filesystem.data'); assert($data_filesystem instanceof FilesystemInterface); - $privatize_export = $request->getParsedBody()['privatize_export']; - $convert = (bool) ($request->getParsedBody()['convert'] ?? false); + $params = (array) $request->getParsedBody(); + + $privatize_export = $params['privatize_export']; + $convert = (bool) ($params['convert'] ?? false); $cart = Session::get('cart', []); @@ -474,8 +476,10 @@ class ClippingsCartModule extends AbstractModule implements ModuleMenuInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $xref = $request->getQueryParams()['xref']; - $option = $request->getParsedBody()['option']; + $params = (array) $request->getParsedBody(); + + $xref = $params['xref']; + $option = $params['option']; $family = Family::getInstance($xref, $tree); @@ -622,8 +626,10 @@ class ClippingsCartModule extends AbstractModule implements ModuleMenuInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $xref = $request->getQueryParams()['xref']; - $option = $request->getParsedBody()['option']; + $params = (array) $request->getParsedBody(); + + $xref = $params['xref']; + $option = $params['option']; $individual = Individual::getInstance($xref, $tree); @@ -957,8 +963,10 @@ class ClippingsCartModule extends AbstractModule implements ModuleMenuInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $xref = $request->getQueryParams()['xref']; - $option = $request->getParsedBody()['option']; + $params = (array) $request->getParsedBody(); + + $xref = $params['xref']; + $option = $params['option']; $source = Source::getInstance($xref, $tree); diff --git a/app/Module/CompactTreeChartModule.php b/app/Module/CompactTreeChartModule.php index 3d1e18259f..0496dc6598 100644 --- a/app/Module/CompactTreeChartModule.php +++ b/app/Module/CompactTreeChartModule.php @@ -168,9 +168,11 @@ class CompactTreeChartModule extends AbstractModule implements ModuleChartInterf // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'], + 'xref' => $params['xref'], ])); } diff --git a/app/Module/CustomCssJsModule.php b/app/Module/CustomCssJsModule.php index 07f018e61a..11d0dd0535 100644 --- a/app/Module/CustomCssJsModule.php +++ b/app/Module/CustomCssJsModule.php @@ -91,8 +91,10 @@ class CustomCssJsModule extends AbstractModule implements ModuleConfigInterface, */ public function postAdminAction(ServerRequestInterface $request): ResponseInterface { - $this->setPreference('body', $request->getParsedBody()['body']); - $this->setPreference('head', $request->getParsedBody()['head']); + $params = (array) $request->getParsedBody(); + + $this->setPreference('body', $params['body']); + $this->setPreference('head', $params['head']); $message = I18N::translate('The preferences for the module “%s” have been updated.', $this->title()); FlashMessages::addMessage($message, 'success'); diff --git a/app/Module/DescendancyChartModule.php b/app/Module/DescendancyChartModule.php index 19b8c708f0..61b93de25a 100644 --- a/app/Module/DescendancyChartModule.php +++ b/app/Module/DescendancyChartModule.php @@ -193,11 +193,13 @@ class DescendancyChartModule extends AbstractModule implements ModuleChartInterf // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'], - 'style' => $request->getParsedBody()['style'], - 'generations' => $request->getParsedBody()['generations'], + 'xref' => $params['xref'], + 'style' => $params['style'], + 'generations' => $params['generations'], ])); } diff --git a/app/Module/FamilyBookChartModule.php b/app/Module/FamilyBookChartModule.php index 38d12780a7..902c80d14f 100644 --- a/app/Module/FamilyBookChartModule.php +++ b/app/Module/FamilyBookChartModule.php @@ -178,12 +178,14 @@ class FamilyBookChartModule extends AbstractModule implements ModuleChartInterfa // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'], - 'book_size' => $request->getParsedBody()['book_size'], - 'generations' => $request->getParsedBody()['generations'], - 'spouses' => $request->getParsedBody()['spouses'] ?? false, + 'xref' => $params['xref'], + 'book_size' => $params['book_size'], + 'generations' => $params['generations'], + 'spouses' => $params['spouses'] ?? false, ])); } diff --git a/app/Module/FamilyTreeFavoritesModule.php b/app/Module/FamilyTreeFavoritesModule.php index b9c711a619..91af447ee7 100644 --- a/app/Module/FamilyTreeFavoritesModule.php +++ b/app/Module/FamilyTreeFavoritesModule.php @@ -165,7 +165,7 @@ class FamilyTreeFavoritesModule extends AbstractModule implements ModuleBlockInt assert($tree instanceof Tree); $user = $request->getAttribute('user'); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $note = $params['note']; $title = $params['title']; diff --git a/app/Module/FamilyTreeNewsModule.php b/app/Module/FamilyTreeNewsModule.php index 4fcf1cba86..03eb492b8e 100644 --- a/app/Module/FamilyTreeNewsModule.php +++ b/app/Module/FamilyTreeNewsModule.php @@ -203,8 +203,11 @@ class FamilyTreeNewsModule extends AbstractModule implements ModuleBlockInterfac } $news_id = $request->getQueryParams()['news_id'] ?? ''; - $subject = $request->getParsedBody()['subject']; - $body = $request->getParsedBody()['body']; + + $params = (array) $request->getParsedBody(); + + $subject = $params['subject']; + $body = $params['body']; $subject = $this->html_service->sanitize($subject); $body = $this->html_service->sanitize($body); diff --git a/app/Module/FamilyTreeStatisticsModule.php b/app/Module/FamilyTreeStatisticsModule.php index 269b096d8c..b89d430b67 100644 --- a/app/Module/FamilyTreeStatisticsModule.php +++ b/app/Module/FamilyTreeStatisticsModule.php @@ -214,28 +214,28 @@ class FamilyTreeStatisticsModule extends AbstractModule implements ModuleBlockIn */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $settings = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); - $this->setBlockSetting($block_id, 'show_last_update', $settings['show_last_update'] ?? ''); - $this->setBlockSetting($block_id, 'show_common_surnames', $settings['show_common_surnames'] ?? ''); - $this->setBlockSetting($block_id, 'number_of_surnames', $settings['number_of_surnames']); - $this->setBlockSetting($block_id, 'stat_indi', $settings['stat_indi'] ?? ''); - $this->setBlockSetting($block_id, 'stat_fam', $settings['stat_fam'] ?? ''); - $this->setBlockSetting($block_id, 'stat_sour', $settings['stat_sour'] ?? ''); - $this->setBlockSetting($block_id, 'stat_other', $settings['stat_other'] ?? ''); - $this->setBlockSetting($block_id, 'stat_media', $settings['stat_media'] ?? ''); - $this->setBlockSetting($block_id, 'stat_repo', $settings['stat_repo'] ?? ''); - $this->setBlockSetting($block_id, 'stat_surname', $settings['stat_surname'] ?? ''); - $this->setBlockSetting($block_id, 'stat_events', $settings['stat_events'] ?? ''); - $this->setBlockSetting($block_id, 'stat_users', $settings['stat_users'] ?? ''); - $this->setBlockSetting($block_id, 'stat_first_birth', $settings['stat_first_birth'] ?? ''); - $this->setBlockSetting($block_id, 'stat_last_birth', $settings['stat_last_birth'] ?? ''); - $this->setBlockSetting($block_id, 'stat_first_death', $settings['stat_first_death'] ?? ''); - $this->setBlockSetting($block_id, 'stat_last_death', $settings['stat_last_death'] ?? ''); - $this->setBlockSetting($block_id, 'stat_long_life', $settings['stat_long_life'] ?? ''); - $this->setBlockSetting($block_id, 'stat_avg_life', $settings['stat_avg_life'] ?? ''); - $this->setBlockSetting($block_id, 'stat_most_chil', $settings['stat_most_chil'] ?? ''); - $this->setBlockSetting($block_id, 'stat_avg_chil', $settings['stat_avg_chil'] ?? ''); + $this->setBlockSetting($block_id, 'show_last_update', $params['show_last_update'] ?? ''); + $this->setBlockSetting($block_id, 'show_common_surnames', $params['show_common_surnames'] ?? ''); + $this->setBlockSetting($block_id, 'number_of_surnames', $params['number_of_surnames']); + $this->setBlockSetting($block_id, 'stat_indi', $params['stat_indi'] ?? ''); + $this->setBlockSetting($block_id, 'stat_fam', $params['stat_fam'] ?? ''); + $this->setBlockSetting($block_id, 'stat_sour', $params['stat_sour'] ?? ''); + $this->setBlockSetting($block_id, 'stat_other', $params['stat_other'] ?? ''); + $this->setBlockSetting($block_id, 'stat_media', $params['stat_media'] ?? ''); + $this->setBlockSetting($block_id, 'stat_repo', $params['stat_repo'] ?? ''); + $this->setBlockSetting($block_id, 'stat_surname', $params['stat_surname'] ?? ''); + $this->setBlockSetting($block_id, 'stat_events', $params['stat_events'] ?? ''); + $this->setBlockSetting($block_id, 'stat_users', $params['stat_users'] ?? ''); + $this->setBlockSetting($block_id, 'stat_first_birth', $params['stat_first_birth'] ?? ''); + $this->setBlockSetting($block_id, 'stat_last_birth', $params['stat_last_birth'] ?? ''); + $this->setBlockSetting($block_id, 'stat_first_death', $params['stat_first_death'] ?? ''); + $this->setBlockSetting($block_id, 'stat_last_death', $params['stat_last_death'] ?? ''); + $this->setBlockSetting($block_id, 'stat_long_life', $params['stat_long_life'] ?? ''); + $this->setBlockSetting($block_id, 'stat_avg_life', $params['stat_avg_life'] ?? ''); + $this->setBlockSetting($block_id, 'stat_most_chil', $params['stat_most_chil'] ?? ''); + $this->setBlockSetting($block_id, 'stat_avg_chil', $params['stat_avg_chil'] ?? ''); } /** diff --git a/app/Module/FanChartModule.php b/app/Module/FanChartModule.php index 53b75e8081..1163798f99 100644 --- a/app/Module/FanChartModule.php +++ b/app/Module/FanChartModule.php @@ -204,12 +204,14 @@ class FanChartModule extends AbstractModule implements ModuleChartInterface, Req // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'], - 'style' => $request->getParsedBody()['style'], - 'generations' => $request->getParsedBody()['generations'], - 'width' => $request->getParsedBody()['width'], + 'xref' => $params['xref'], + 'style' => $params['style'], + 'generations' => $params['generations'], + 'width' => $params['width'], ])); } diff --git a/app/Module/FrequentlyAskedQuestionsModule.php b/app/Module/FrequentlyAskedQuestionsModule.php index bf379f5263..c99e76131d 100644 --- a/app/Module/FrequentlyAskedQuestionsModule.php +++ b/app/Module/FrequentlyAskedQuestionsModule.php @@ -176,10 +176,12 @@ class FrequentlyAskedQuestionsModule extends AbstractModule implements ModuleCon */ public function postAdminAction(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + return redirect(route('module', [ 'module' => $this->name(), 'action' => 'Admin', - 'tree' => $request->getParsedBody()['tree'] ?? '', + 'tree' => $params['tree'] ?? '', ])); } @@ -338,7 +340,7 @@ class FrequentlyAskedQuestionsModule extends AbstractModule implements ModuleCon { $block_id = (int) ($request->getQueryParams()['block_id'] ?? 0); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $body = $params['body']; $header = $params['header']; diff --git a/app/Module/HourglassChartModule.php b/app/Module/HourglassChartModule.php index 99b13cff7d..f466b2ae6c 100644 --- a/app/Module/HourglassChartModule.php +++ b/app/Module/HourglassChartModule.php @@ -175,11 +175,13 @@ class HourglassChartModule extends AbstractModule implements ModuleChartInterfac // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'], - 'generations' => $request->getParsedBody()['generations'], - 'spouses' => $request->getParsedBody()['spouses'] ?? false, + 'xref' => $params['xref'], + 'generations' => $params['generations'], + 'spouses' => $params['spouses'] ?? false, ])); } diff --git a/app/Module/HtmlBlockModule.php b/app/Module/HtmlBlockModule.php index 4f11c2c122..f304d1e053 100644 --- a/app/Module/HtmlBlockModule.php +++ b/app/Module/HtmlBlockModule.php @@ -164,7 +164,7 @@ class HtmlBlockModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $title = $this->html_service->sanitize($params['title']); $html = $this->html_service->sanitize($params['html']); diff --git a/app/Module/InteractiveTreeModule.php b/app/Module/InteractiveTreeModule.php index 7530c3b13f..3662e36e41 100644 --- a/app/Module/InteractiveTreeModule.php +++ b/app/Module/InteractiveTreeModule.php @@ -224,11 +224,13 @@ class InteractiveTreeModule extends AbstractModule implements ModuleChartInterfa $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); + $params = (array) $request->getParsedBody(); + return redirect(route('module', [ 'module' => $this->name(), 'action' => 'Chart', 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'] ?? '', + 'xref' => $params['xref'] ?? '', ])); } diff --git a/app/Module/LifespansChartModule.php b/app/Module/LifespansChartModule.php index fd5bc509b8..5739914492 100644 --- a/app/Module/LifespansChartModule.php +++ b/app/Module/LifespansChartModule.php @@ -134,11 +134,14 @@ class LifespansChartModule extends AbstractModule implements ModuleChartInterfac $user = $request->getAttribute('user'); $xrefs = $request->getQueryParams()['xrefs'] ?? []; $ajax = $request->getQueryParams()['ajax'] ?? ''; - $addxref = $request->getParsedBody()['addxref'] ?? ''; - $addfam = (bool) ($request->getParsedBody()['addfam'] ?? false); - $placename = $request->getParsedBody()['placename'] ?? ''; - $start = $request->getParsedBody()['start'] ?? ''; - $end = $request->getParsedBody()['end'] ?? ''; + + $params = (array) $request->getParsedBody(); + + $addxref = $params['addxref'] ?? ''; + $addfam = (bool) ($params['addfam'] ?? false); + $placename = $params['placename'] ?? ''; + $start = $params['start'] ?? ''; + $end = $params['end'] ?? ''; $place = new Place($placename, $tree); $start_date = new Date($start); diff --git a/app/Module/ModuleAnalyticsTrait.php b/app/Module/ModuleAnalyticsTrait.php index 6939bf35ec..db604191ca 100644 --- a/app/Module/ModuleAnalyticsTrait.php +++ b/app/Module/ModuleAnalyticsTrait.php @@ -146,8 +146,10 @@ trait ModuleAnalyticsTrait */ public function postAdminAction(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + foreach (array_keys($this->analyticsParameters()) as $parameter) { - $new_value = $request->getParsedBody()[$parameter]; + $new_value = $params[$parameter]; $this->setPreference($parameter, $new_value); } diff --git a/app/Module/OnThisDayModule.php b/app/Module/OnThisDayModule.php index e6f0d9bf64..fa71594ace 100644 --- a/app/Module/OnThisDayModule.php +++ b/app/Module/OnThisDayModule.php @@ -201,7 +201,7 @@ class OnThisDayModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'filter', $params['filter']); $this->setBlockSetting($block_id, 'infoStyle', $params['infoStyle']); diff --git a/app/Module/PedigreeChartModule.php b/app/Module/PedigreeChartModule.php index bb0d91a954..7bd9cc0e6d 100644 --- a/app/Module/PedigreeChartModule.php +++ b/app/Module/PedigreeChartModule.php @@ -204,11 +204,13 @@ class PedigreeChartModule extends AbstractModule implements ModuleChartInterface // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ 'tree' => $request->getAttribute('tree')->name(), - 'xref' => $request->getParsedBody()['xref'], - 'style' => $request->getParsedBody()['style'], - 'generations' => $request->getParsedBody()['generations'], + 'xref' => $params['xref'], + 'style' => $params['style'], + 'generations' => $params['generations'], ])); } diff --git a/app/Module/PedigreeMapModule.php b/app/Module/PedigreeMapModule.php index 234c73da96..068fe4ad6d 100644 --- a/app/Module/PedigreeMapModule.php +++ b/app/Module/PedigreeMapModule.php @@ -282,10 +282,12 @@ class PedigreeMapModule extends AbstractModule implements ModuleChartInterface, // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'], - 'generations' => $request->getParsedBody()['generations'], + 'xref' => $params['xref'], + 'generations' => $params['generations'], ])); } diff --git a/app/Module/RecentChangesModule.php b/app/Module/RecentChangesModule.php index 2150d8909c..85c6dff1b4 100644 --- a/app/Module/RecentChangesModule.php +++ b/app/Module/RecentChangesModule.php @@ -156,7 +156,7 @@ class RecentChangesModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'days', $params['days']); $this->setBlockSetting($block_id, 'infoStyle', $params['infoStyle']); diff --git a/app/Module/RelationshipsChartModule.php b/app/Module/RelationshipsChartModule.php index 27cfb22483..1aee4be819 100644 --- a/app/Module/RelationshipsChartModule.php +++ b/app/Module/RelationshipsChartModule.php @@ -212,12 +212,14 @@ class RelationshipsChartModule extends AbstractModule implements ModuleChartInte // Convert POST requests into GET requests for pretty URLs. if ($request->getMethod() === RequestMethodInterface::METHOD_POST) { + $params = (array) $request->getParsedBody(); + return redirect(route(self::ROUTE_NAME, [ - 'ancestors' => $request->getParsedBody()['ancestors'], - 'recursion' => $request->getParsedBody()['recursion'], + 'ancestors' => $params['ancestors'], + 'recursion' => $params['recursion'], 'tree' => $tree->name(), - 'xref' => $request->getParsedBody()['xref'], - 'xref2' => $request->getParsedBody()['xref2'], + 'xref' => $params['xref'], + 'xref2' => $params['xref2'], ])); } @@ -416,9 +418,11 @@ class RelationshipsChartModule extends AbstractModule implements ModuleChartInte */ public function postAdminAction(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + foreach ($this->tree_service->all() as $tree) { - $recursion = $request->getParsedBody()['relationship-recursion-' . $tree->id()] ?? ''; - $ancestors = $request->getParsedBody()['relationship-ancestors-' . $tree->id()] ?? ''; + $recursion = $params['relationship-recursion-' . $tree->id()] ?? ''; + $ancestors = $params['relationship-ancestors-' . $tree->id()] ?? ''; $tree->setPreference('RELATIONSHIP_RECURSION', $recursion); $tree->setPreference('RELATIONSHIP_ANCESTORS', $ancestors); diff --git a/app/Module/ResearchTaskModule.php b/app/Module/ResearchTaskModule.php index cbbf073cfc..ab3a30e96b 100644 --- a/app/Module/ResearchTaskModule.php +++ b/app/Module/ResearchTaskModule.php @@ -169,7 +169,7 @@ class ResearchTaskModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'show_other', $params['show_other']); $this->setBlockSetting($block_id, 'show_unassigned', $params['show_unassigned']); diff --git a/app/Module/ReviewChangesModule.php b/app/Module/ReviewChangesModule.php index cc0a3e9bfe..3c2fb4c1fd 100644 --- a/app/Module/ReviewChangesModule.php +++ b/app/Module/ReviewChangesModule.php @@ -235,7 +235,7 @@ class ReviewChangesModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'days', $params['days']); $this->setBlockSetting($block_id, 'sendmail', $params['sendmail']); diff --git a/app/Module/SiteMapModule.php b/app/Module/SiteMapModule.php index 35cfc68dd9..df5b91566f 100644 --- a/app/Module/SiteMapModule.php +++ b/app/Module/SiteMapModule.php @@ -132,7 +132,7 @@ class SiteMapModule extends AbstractModule implements ModuleConfigInterface */ public function postAdminAction(ServerRequestInterface $request): ResponseInterface { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); foreach ($this->tree_service->all() as $tree) { $include_in_sitemap = (bool) ($params['sitemap' . $tree->id()] ?? false); diff --git a/app/Module/SlideShowModule.php b/app/Module/SlideShowModule.php index 84b3250db7..ca09066b17 100644 --- a/app/Module/SlideShowModule.php +++ b/app/Module/SlideShowModule.php @@ -229,7 +229,7 @@ class SlideShowModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'filter', $params['filter']); $this->setBlockSetting($block_id, 'controls', $params['controls']); diff --git a/app/Module/StatisticsChartModule.php b/app/Module/StatisticsChartModule.php index 406b8b467f..193051f127 100644 --- a/app/Module/StatisticsChartModule.php +++ b/app/Module/StatisticsChartModule.php @@ -250,7 +250,7 @@ class StatisticsChartModule extends AbstractModule implements ModuleChartInterfa { $statistics = app(Statistics::class); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $x_axis_type = (int) $params['x-as']; $y_axis_type = (int) $params['y-as']; diff --git a/app/Module/StoriesModule.php b/app/Module/StoriesModule.php index a81f7ca772..830853180b 100644 --- a/app/Module/StoriesModule.php +++ b/app/Module/StoriesModule.php @@ -264,10 +264,12 @@ class StoriesModule extends AbstractModule implements ModuleConfigInterface, Mod */ public function postAdminAction(ServerRequestInterface $request): ResponseInterface { + $params = (array) $request->getParsedBody(); + return redirect(route('module', [ 'module' => $this->name(), 'action' => 'Admin', - 'tree' => $request->getParsedBody()['tree'] ?? '', + 'tree' => $params['tree'] ?? '', ])); } @@ -331,7 +333,7 @@ class StoriesModule extends AbstractModule implements ModuleConfigInterface, Mod $block_id = (int) ($request->getQueryParams()['block_id'] ?? 0); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $xref = $params['xref']; $story_body = $params['story_body']; diff --git a/app/Module/TimelineChartModule.php b/app/Module/TimelineChartModule.php index 2230fceee1..2340be3a4c 100644 --- a/app/Module/TimelineChartModule.php +++ b/app/Module/TimelineChartModule.php @@ -147,9 +147,13 @@ class TimelineChartModule extends AbstractModule implements ModuleChartInterface $user = $request->getAttribute('user'); $scale = (int) $request->getAttribute('scale'); $xrefs = $request->getQueryParams()['xrefs'] ?? []; - $add = $request->getParsedBody()['add'] ?? ''; $ajax = $request->getQueryParams()['ajax'] ?? ''; + + $params = (array) $request->getParsedBody(); + + $add = $params['add'] ?? ''; + Auth::checkComponentAccess($this, 'chart', $tree, $user); $scale = min($scale, self::MAXIMUM_SCALE); diff --git a/app/Module/TopGivenNamesModule.php b/app/Module/TopGivenNamesModule.php index d65529f1e3..ccc570b346 100644 --- a/app/Module/TopGivenNamesModule.php +++ b/app/Module/TopGivenNamesModule.php @@ -158,7 +158,7 @@ class TopGivenNamesModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'num', $params['num']); $this->setBlockSetting($block_id, 'infoStyle', $params['infoStyle']); diff --git a/app/Module/TopPageViewsModule.php b/app/Module/TopPageViewsModule.php index 8fcbd0558a..de8373f9c0 100644 --- a/app/Module/TopPageViewsModule.php +++ b/app/Module/TopPageViewsModule.php @@ -151,7 +151,7 @@ class TopPageViewsModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'num', $params['num']); } diff --git a/app/Module/TopSurnamesModule.php b/app/Module/TopSurnamesModule.php index 8751e9c173..01fea5a7c2 100644 --- a/app/Module/TopSurnamesModule.php +++ b/app/Module/TopSurnamesModule.php @@ -211,7 +211,7 @@ class TopSurnamesModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'num', $params['num']); $this->setBlockSetting($block_id, 'infoStyle', $params['infoStyle']); diff --git a/app/Module/UpcomingAnniversariesModule.php b/app/Module/UpcomingAnniversariesModule.php index 6e59f2f07e..7fd731fc87 100644 --- a/app/Module/UpcomingAnniversariesModule.php +++ b/app/Module/UpcomingAnniversariesModule.php @@ -220,7 +220,7 @@ class UpcomingAnniversariesModule extends AbstractModule implements ModuleBlockI */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $this->setBlockSetting($block_id, 'days', $params['days']); $this->setBlockSetting($block_id, 'filter', $params['filter']); diff --git a/app/Module/UserFavoritesModule.php b/app/Module/UserFavoritesModule.php index 1341865384..385c2e445b 100644 --- a/app/Module/UserFavoritesModule.php +++ b/app/Module/UserFavoritesModule.php @@ -167,7 +167,7 @@ class UserFavoritesModule extends AbstractModule implements ModuleBlockInterface assert($tree instanceof Tree); $user = $request->getAttribute('user'); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $note = $params['note']; $title = $params['title']; diff --git a/app/Module/UserJournalModule.php b/app/Module/UserJournalModule.php index ae73de0437..3ebd6de4a3 100644 --- a/app/Module/UserJournalModule.php +++ b/app/Module/UserJournalModule.php @@ -202,9 +202,11 @@ class UserJournalModule extends AbstractModule implements ModuleBlockInterface throw new HttpAccessDeniedException(); } + $params = (array) $request->getParsedBody(); + $news_id = $request->getQueryParams()['news_id'] ?? ''; - $subject = $request->getParsedBody()['subject']; - $body = $request->getParsedBody()['body']; + $subject = $params['subject']; + $body = $params['body']; $subject = $this->html_service->sanitize($subject); $body = $this->html_service->sanitize($body); diff --git a/app/Module/UserMessagesModule.php b/app/Module/UserMessagesModule.php index c22f572ec0..b268078aeb 100644 --- a/app/Module/UserMessagesModule.php +++ b/app/Module/UserMessagesModule.php @@ -96,7 +96,9 @@ class UserMessagesModule extends AbstractModule implements ModuleBlockInterface $tree = $request->getAttribute('tree'); assert($tree instanceof Tree); - $message_ids = $request->getParsedBody()['message_id'] ?? []; + $params = (array) $request->getParsedBody(); + + $message_ids = $params['message_id'] ?? []; DB::table('message') ->where('user_id', '=', Auth::id()) diff --git a/app/Module/YahrzeitModule.php b/app/Module/YahrzeitModule.php index 36cbad0792..33f8c552bc 100644 --- a/app/Module/YahrzeitModule.php +++ b/app/Module/YahrzeitModule.php @@ -216,11 +216,11 @@ class YahrzeitModule extends AbstractModule implements ModuleBlockInterface */ public function saveBlockConfiguration(ServerRequestInterface $request, int $block_id): void { - $settings = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); - $this->setBlockSetting($block_id, 'days', $settings['days'] ?? self::DEFAULT_DAYS); - $this->setBlockSetting($block_id, 'infoStyle', $settings['infoStyle'] ?? self::DEFAULT_STYLE); - $this->setBlockSetting($block_id, 'calendar', $settings['calendar'] ?? self::DEFAULT_CALENDAR); + $this->setBlockSetting($block_id, 'days', $params['days'] ?? self::DEFAULT_DAYS); + $this->setBlockSetting($block_id, 'infoStyle', $params['infoStyle'] ?? self::DEFAULT_STYLE); + $this->setBlockSetting($block_id, 'calendar', $params['calendar'] ?? self::DEFAULT_CALENDAR); } /** diff --git a/app/Services/MediaFileService.php b/app/Services/MediaFileService.php index b2c3569cea..76565d6caf 100644 --- a/app/Services/MediaFileService.php +++ b/app/Services/MediaFileService.php @@ -185,7 +185,7 @@ class MediaFileService $data_filesystem = $request->getAttribute('filesystem.data'); assert($data_filesystem instanceof FilesystemInterface); - $params = $request->getParsedBody(); + $params = (array) $request->getParsedBody(); $file_location = $params['file_location']; switch ($file_location) { |
