. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; use Fisharebest\Webtrees\FlashMessages; use Fisharebest\Webtrees\I18N; use Fisharebest\Webtrees\Site; use Fisharebest\Webtrees\Validator; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; use function redirect; use function route; /** * Edit the site preferences. */ class SiteRegistrationAction implements RequestHandlerInterface { /** * @param ServerRequestInterface $request * * @return ResponseInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { $mode = Validator::parsedBody($request)->string('WELCOME_TEXT_AUTH_MODE'); $text = Validator::parsedBody($request)->string('WELCOME_TEXT_AUTH_MODE_4'); $allow_registration = Validator::parsedBody($request)->boolean('USE_REGISTRATION_MODULE'); $show_caution = Validator::parsedBody($request)->boolean('SHOW_REGISTER_CAUTION'); Site::setPreference('WELCOME_TEXT_AUTH_MODE', $mode); Site::setPreference('WELCOME_TEXT_AUTH_MODE_' . I18N::languageTag(), $text); Site::setPreference('USE_REGISTRATION_MODULE', (string) $allow_registration); Site::setPreference('SHOW_REGISTER_CAUTION', (string) $show_caution); FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); return redirect(route(ControlPanel::class)); } }