diff options
| author | Greg Roach <greg@subaqua.co.uk> | 2021-06-06 14:59:05 +0100 |
|---|---|---|
| committer | Greg Roach <greg@subaqua.co.uk> | 2021-06-12 13:26:01 +0100 |
| commit | c8183f294aedbaa1f62c070929381961858fb914 (patch) | |
| tree | cb6c1fc031077a003a4ee2db2cf7e4e5797881e2 /app/Http | |
| parent | 8a07c98e2c323f7fe8deb3ac46485d8082b4b795 (diff) | |
| download | webtrees-c8183f294aedbaa1f62c070929381961858fb914.tar.gz webtrees-c8183f294aedbaa1f62c070929381961858fb914.tar.bz2 webtrees-c8183f294aedbaa1f62c070929381961858fb914.zip | |
Configure GEDCOM tags
Diffstat (limited to 'app/Http')
| -rw-r--r-- | app/Http/RequestHandlers/SiteTagsAction.php | 57 | ||||
| -rw-r--r-- | app/Http/RequestHandlers/SiteTagsPage.php | 50 | ||||
| -rw-r--r-- | app/Http/Routes/WebRoutes.php | 4 |
3 files changed, 111 insertions, 0 deletions
diff --git a/app/Http/RequestHandlers/SiteTagsAction.php b/app/Http/RequestHandlers/SiteTagsAction.php new file mode 100644 index 0000000000..7d71f32917 --- /dev/null +++ b/app/Http/RequestHandlers/SiteTagsAction.php @@ -0,0 +1,57 @@ +<?php + +/** + * webtrees: online genealogy + * Copyright (C) 2021 webtrees development team + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +declare(strict_types=1); + +namespace Fisharebest\Webtrees\Http\RequestHandlers; + +use Fisharebest\Webtrees\FlashMessages; +use Fisharebest\Webtrees\Gedcom; +use Fisharebest\Webtrees\I18N; +use Fisharebest\Webtrees\Site; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\ServerRequestInterface; +use Psr\Http\Server\RequestHandlerInterface; + +use function array_keys; +use function redirect; +use function route; + +/** + * Edit the tree preferences. + */ +class SiteTagsAction implements RequestHandlerInterface +{ + /** + * @param ServerRequestInterface $request + * + * @return ResponseInterface + */ + public function handle(ServerRequestInterface $request): ResponseInterface + { + $params = (array) $request->getParsedBody(); + + foreach (array_keys(Gedcom::HIDDEN_TAGS) as $setting) { + $value = (bool) ($params['HIDE_' . $setting] ?? false); + Site::setPreference('HIDE_' . $setting, (string) $value); + } + + FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); + + return redirect(route(ControlPanel::class)); + } +} diff --git a/app/Http/RequestHandlers/SiteTagsPage.php b/app/Http/RequestHandlers/SiteTagsPage.php new file mode 100644 index 0000000000..fb6e7a936d --- /dev/null +++ b/app/Http/RequestHandlers/SiteTagsPage.php @@ -0,0 +1,50 @@ +<?php + +/** + * webtrees: online genealogy + * Copyright (C) 2021 webtrees development team + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +declare(strict_types=1); + +namespace Fisharebest\Webtrees\Http\RequestHandlers; + +use Fisharebest\Webtrees\Http\ViewResponseTrait; +use Fisharebest\Webtrees\I18N; +use Fisharebest\Webtrees\Registry; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\ServerRequestInterface; +use Psr\Http\Server\RequestHandlerInterface; + +/** + * Edit the tree preferences. + */ +class SiteTagsPage implements RequestHandlerInterface +{ + use ViewResponseTrait; + + /** + * @param ServerRequestInterface $request + * + * @return ResponseInterface + */ + public function handle(ServerRequestInterface $request): ResponseInterface + { + $this->layout = 'layouts/administration'; + + return $this->viewResponse('admin/tags', [ + 'element_factory' => Registry::elementFactory(), + 'title' => I18N::translate('GEDCOM tags'), + ]); + } +} diff --git a/app/Http/Routes/WebRoutes.php b/app/Http/Routes/WebRoutes.php index dca3d1acf5..3e2f2039db 100644 --- a/app/Http/Routes/WebRoutes.php +++ b/app/Http/Routes/WebRoutes.php @@ -295,6 +295,8 @@ use Fisharebest\Webtrees\Http\RequestHandlers\TreePreferencesAction; use Fisharebest\Webtrees\Http\RequestHandlers\TreePreferencesPage; use Fisharebest\Webtrees\Http\RequestHandlers\TreePrivacyAction; use Fisharebest\Webtrees\Http\RequestHandlers\TreePrivacyPage; +use Fisharebest\Webtrees\Http\RequestHandlers\SiteTagsAction; +use Fisharebest\Webtrees\Http\RequestHandlers\SiteTagsPage; use Fisharebest\Webtrees\Http\RequestHandlers\UnconnectedAction; use Fisharebest\Webtrees\Http\RequestHandlers\UnconnectedPage; use Fisharebest\Webtrees\Http\RequestHandlers\UpgradeWizardConfirm; @@ -433,6 +435,8 @@ class WebRoutes $router->post(SitePreferencesAction::class, '/site-preferences'); $router->get(SiteRegistrationPage::class, '/site-registration'); $router->post(SiteRegistrationAction::class, '/site-registration'); + $router->get(SiteTagsPage::class, '/tags'); + $router->post(SiteTagsAction::class, '/tags'); $router->get(TreePageDefaultEdit::class, '/trees/default-blocks'); $router->post(TreePageDefaultUpdate::class, '/trees/default-blocks'); $router->get(MergeTreesPage::class, '/trees/merge'); |
