diff options
98 files changed, 306 insertions, 297 deletions
@@ -187,7 +187,7 @@ then a manual upgrade should be performed. [webtrees.net](https://webtrees.net/) 3. While you are in the middle of uploading the new files, a visitor to your site would encounter a mixture of new and old files. This - could cause unpredictable behaviour or errors. To prevent this, create the + could cause unpredictable behavior or errors. To prevent this, create the file **data/offline.txt**. While this file exists, visitors will see a “site unavailable - come back later” message. 4. Unzip the .ZIP file, and upload the files to your web server, overwriting the existing files. @@ -197,7 +197,7 @@ then a manual upgrade should be performed. ### Note for Macintosh users Step 4 assumes you are using a copy tool that **merges** directories rather than -replaces them. (**Merge** is standard behaviour on Windows and Linux.) If you use +replaces them. (**Merge** is standard behavior on Windows and Linux.) If you use the Macintosh Finder or other similar tool to perform step 3, it will **replace** your configuration, media and other directories with the empty/default ones from the installation. This would be very bad (but you did take a backup in step 1, diff --git a/app/Contracts/UserInterface.php b/app/Contracts/UserInterface.php index 46f8b9e3db..8293772bcc 100644 --- a/app/Contracts/UserInterface.php +++ b/app/Contracts/UserInterface.php @@ -20,7 +20,7 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Contracts; /** - * Behaviour required of a user object. + * behavior required of a user object. */ interface UserInterface { diff --git a/app/Functions/FunctionsExport.php b/app/Functions/FunctionsExport.php index 21134060f4..d6c899fcc1 100644 --- a/app/Functions/FunctionsExport.php +++ b/app/Functions/FunctionsExport.php @@ -59,7 +59,7 @@ class FunctionsExport do { // Split after $pos chars $pos = Gedcom::LINE_LENGTH; - // Split on a non-space (standard gedcom behaviour) + // Split on a non-space (standard gedcom behavior) while (mb_substr($line, $pos - 1, 1) === ' ') { --$pos; } diff --git a/app/Http/RequestHandlers/PasswordRequestPage.php b/app/Http/RequestHandlers/PasswordRequestPage.php index a8593266ff..61d244cb02 100644 --- a/app/Http/RequestHandlers/PasswordRequestPage.php +++ b/app/Http/RequestHandlers/PasswordRequestPage.php @@ -54,6 +54,6 @@ class PasswordRequestPage implements RequestHandlerInterface $title = I18N::translate('Request a new password'); - return $this->viewResponse('password-request-page', ['title' => $title, 'tree' => $tree instanceof Tree ? $tree->name() : null]); + return $this->viewResponse('password-request-page', ['title' => $title, 'tree' => $tree]); } } diff --git a/app/Http/RequestHandlers/PrivacyPolicy.php b/app/Http/RequestHandlers/PrivacyPolicy.php deleted file mode 100644 index 76ecdb663e..0000000000 --- a/app/Http/RequestHandlers/PrivacyPolicy.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php - -/** - * webtrees: online genealogy - * Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. - */ - -declare(strict_types=1); - -namespace Fisharebest\Webtrees\Http\RequestHandlers; - -use Fisharebest\Webtrees\Http\ViewResponseTrait; -use Fisharebest\Webtrees\I18N; -use Psr\Http\Message\ResponseInterface; -use Psr\Http\Message\ServerRequestInterface; -use Psr\Http\Server\RequestHandlerInterface; - -/** - * Show the privacy policy page. - */ -class PrivacyPolicy implements RequestHandlerInterface -{ - use ViewResponseTrait; - - /** - * @param ServerRequestInterface $request - * - * @return ResponseInterface - */ - public function handle(ServerRequestInterface $request): ResponseInterface - { - $tree = $request->getAttribute('tree'); - $title = I18N::translate('Privacy policy'); - - $uses_analytics = true; - - return $this->viewResponse('privacy-policy', [ - 'title' => $title, - 'tree' => $tree, - 'uses_analytics' => $uses_analytics, - ]); - } -} diff --git a/app/Http/Routes/WebRoutes.php b/app/Http/Routes/WebRoutes.php index 7520f7944b..c4187da0b9 100644 --- a/app/Http/Routes/WebRoutes.php +++ b/app/Http/Routes/WebRoutes.php @@ -487,7 +487,6 @@ class WebRoutes $router->get(RobotsTxt::class, '/robots.txt', RobotsTxt::class); $router->post(SelectTheme::class, '/theme/{theme}', SelectTheme::class); $router->get(VerifyEmail::class, '/verify', VerifyEmail::class); - $router->get(PrivacyPolicy::class, '/privacy-policy', PrivacyPolicy::class); $router->get(HomePage::class, '/', HomePage::class); // Legacy URLs from older software. diff --git a/app/Media.php b/app/Media.php index 1c5f46f3ae..00a08cee29 100644 --- a/app/Media.php +++ b/app/Media.php @@ -94,7 +94,7 @@ class Media extends GedcomRecord } } - // ... otherwise apply default behaviour + // ... otherwise apply default behavior return parent::canShowByType($access_level); } diff --git a/app/Module/BingWebmasterToolsModule.php b/app/Module/BingWebmasterToolsModule.php index eb57f0f82b..58efdd8420 100644 --- a/app/Module/BingWebmasterToolsModule.php +++ b/app/Module/BingWebmasterToolsModule.php @@ -50,6 +50,16 @@ class BingWebmasterToolsModule extends AbstractModule implements ModuleAnalytics } /** + * Is this a tracker, as opposed to just a site-verification. + * + * @return bool + */ + public function isTracker(): bool + { + return false; + } + + /** * Form fields to edit the parameters. * * @return string diff --git a/app/Module/GoogleWebmasterToolsModule.php b/app/Module/GoogleWebmasterToolsModule.php index 65ddf63605..8e2505c2b9 100644 --- a/app/Module/GoogleWebmasterToolsModule.php +++ b/app/Module/GoogleWebmasterToolsModule.php @@ -50,6 +50,16 @@ class GoogleWebmasterToolsModule extends AbstractModule implements ModuleAnalyti } /** + * Is this a tracker, as opposed to just a site-verification. + * + * @return bool + */ + public function isTracker(): bool + { + return false; + } + + /** * Form fields to edit the parameters. * * @return string diff --git a/app/Module/ModuleAnalyticsInterface.php b/app/Module/ModuleAnalyticsInterface.php index 3655e26952..08ba488ee9 100644 --- a/app/Module/ModuleAnalyticsInterface.php +++ b/app/Module/ModuleAnalyticsInterface.php @@ -58,6 +58,13 @@ interface ModuleAnalyticsInterface extends ModuleInterface public function analyticsSnippet(array $parameters): string; /** + * Is this a tracker, as opposed to just a site-verification. + * + * @return bool + */ + public function isTracker(): bool; + + /** * @param ServerRequestInterface $request * * @return ResponseInterface diff --git a/app/Module/ModuleAnalyticsTrait.php b/app/Module/ModuleAnalyticsTrait.php index 3227d51efb..7d890b2ee5 100644 --- a/app/Module/ModuleAnalyticsTrait.php +++ b/app/Module/ModuleAnalyticsTrait.php @@ -131,6 +131,16 @@ trait ModuleAnalyticsTrait abstract public function title(): string; /** + * Is this a tracker, as opposed to just a site-verification. + * + * @return bool + */ + public function isTracker(): bool + { + return true; + } + + /** * @param ServerRequestInterface $request * * @return ResponseInterface diff --git a/app/Module/CookieWarningModule.php b/app/Module/PrivacyPolicy.php index 83036b1607..877e20294e 100644 --- a/app/Module/CookieWarningModule.php +++ b/app/Module/PrivacyPolicy.php @@ -19,30 +19,41 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; +use Fisharebest\Webtrees\Contracts\UserInterface; use Fisharebest\Webtrees\I18N; use Fisharebest\Webtrees\Services\ModuleService; +use Fisharebest\Webtrees\Services\UserService; +use Fisharebest\Webtrees\Tree; +use Illuminate\Support\Collection; +use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; +use function assert; +use function view; + /** - * Class PoweredByWebtreesModule - show a cookie warning, to comply with the GDPR. + * Class PrivacyPolicy - to comply with the GDPR and similar local laws. */ -class CookieWarningModule extends AbstractModule implements ModuleFooterInterface +class PrivacyPolicy extends AbstractModule implements ModuleFooterInterface { use ModuleFooterTrait; - /** - * @var ModuleService - */ + /** @var ModuleService */ private $module_service; + /** @var UserService */ + private $user_service; + /** * Dependency injection. * * @param ModuleService $module_service + * @param UserService $user_service */ - public function __construct(ModuleService $module_service) + public function __construct(ModuleService $module_service, UserService $user_service) { $this->module_service = $module_service; + $this->user_service = $user_service; } /** @@ -53,7 +64,7 @@ class CookieWarningModule extends AbstractModule implements ModuleFooterInterfac public function title(): string { /* I18N: Name of a module */ - return I18N::translate('Cookie warning'); + return I18N::translate('Privacy policy'); } /** @@ -64,7 +75,7 @@ class CookieWarningModule extends AbstractModule implements ModuleFooterInterfac public function description(): string { /* I18N: Description of the “Cookie warning” module */ - return I18N::translate('Tell visitors why this site uses cookies.'); + return I18N::translate('Show a privacy policy.'); } /** @@ -86,40 +97,56 @@ class CookieWarningModule extends AbstractModule implements ModuleFooterInterfac */ public function getFooter(ServerRequestInterface $request): string { - if ($this->isCookieWarningAcknowledged()) { + $tree = $request->getAttribute('tree'); + + if ($tree === null) { return ''; } - if ($this->siteUsesAnalytics()) { - return view('modules/cookie-warning/footer'); - } + $user = $request->getAttribute('user'); + assert($user instanceof UserInterface); - return ''; + return view('modules/privacy-policy/footer', [ + 'tree' => $tree, + 'uses_analytics' => $this->analyticsModules($tree, $user)->isNotEmpty(), + ]); } /** - * @return bool + * @param ServerRequestInterface $request + * + * @return ResponseInterface */ - protected function isCookieWarningAcknowledged(): bool + public function getPageAction(ServerRequestInterface $request): ResponseInterface { - // We store acceptance of cookies in a .... cookie. - $request = app(ServerRequestInterface::class); + $tree = $request->getAttribute('tree'); + assert($tree instanceof Tree); - $cookies_ok = $request->getCookieParams()['cookie'] ?? ''; + $user = $request->getAttribute('user'); + assert($user instanceof UserInterface); - return $cookies_ok !== ''; + $title = I18N::translate('Privacy policy'); + + return $this->viewResponse('modules/privacy-policy/page', [ + 'administrators' => $this->user_service->administrators(), + 'analytics' => $this->analyticsModules($tree, $user), + 'title' => $title, + 'tree' => $tree, + ]); } /** - * @return bool + * @param Tree $tree + * @param UserInterface $user + * + * @return Collection */ - protected function siteUsesAnalytics(): bool + protected function analyticsModules(Tree $tree, UserInterface $user): Collection { return $this->module_service - ->findByInterface(ModuleAnalyticsInterface::class) + ->findByComponent(ModuleAnalyticsInterface::class, $tree, $user) ->filter(static function (ModuleAnalyticsInterface $module): bool { - return $module->analyticsCanShow(); - }) - ->isNotEmpty(); + return $module->isTracker(); + }); } } diff --git a/app/Note.php b/app/Note.php index 8445e6ae43..cd01e130f2 100644 --- a/app/Note.php +++ b/app/Note.php @@ -107,7 +107,7 @@ class Note extends GedcomRecord } } - // Apply default behaviour + // Apply default behavior return parent::canShowByType($access_level); } diff --git a/app/Services/ModuleService.php b/app/Services/ModuleService.php index 7a6a7b5139..e7e6981228 100644 --- a/app/Services/ModuleService.php +++ b/app/Services/ModuleService.php @@ -47,7 +47,6 @@ use Fisharebest\Webtrees\Module\CloudsTheme; use Fisharebest\Webtrees\Module\ColorsTheme; use Fisharebest\Webtrees\Module\CompactTreeChartModule; use Fisharebest\Webtrees\Module\ContactsFooterModule; -use Fisharebest\Webtrees\Module\CookieWarningModule; use Fisharebest\Webtrees\Module\CustomCssJsModule; use Fisharebest\Webtrees\Module\DeathReportModule; use Fisharebest\Webtrees\Module\DescendancyChartModule; @@ -174,6 +173,7 @@ use Fisharebest\Webtrees\Module\PedigreeReportModule; use Fisharebest\Webtrees\Module\PlaceHierarchyListModule; use Fisharebest\Webtrees\Module\PlacesModule; use Fisharebest\Webtrees\Module\PoweredByWebtreesModule; +use Fisharebest\Webtrees\Module\PrivacyPolicy; use Fisharebest\Webtrees\Module\RecentChangesModule; use Fisharebest\Webtrees\Module\RelatedIndividualsReportModule; use Fisharebest\Webtrees\Module\RelationshipsChartModule; @@ -280,7 +280,6 @@ class ModuleService 'colors' => ColorsTheme::class, 'compact-chart' => CompactTreeChartModule::class, 'contact-links' => ContactsFooterModule::class, - 'cookie-warning' => CookieWarningModule::class, 'custom-css-js' => CustomCssJsModule::class, 'death_report' => DeathReportModule::class, 'descendancy' => DescendancyModule::class, @@ -393,6 +392,7 @@ class ModuleService 'places' => PlacesModule::class, 'places_list' => PlaceHierarchyListModule::class, 'powered-by-webtrees' => PoweredByWebtreesModule::class, + 'privacy-policy' => PrivacyPolicy::class, 'random_media' => SlideShowModule::class, 'recent_changes' => RecentChangesModule::class, 'relationships_chart' => RelationshipsChartModule::class, diff --git a/app/Source.php b/app/Source.php index b6966c5b1c..fba2fbfea1 100644 --- a/app/Source.php +++ b/app/Source.php @@ -88,7 +88,7 @@ class Source extends GedcomRecord } } - // ... otherwise apply default behaviour + // ... otherwise apply default behavior return parent::canShowByType($access_level); } diff --git a/resources/css/clouds.css b/resources/css/clouds.css index e74240f184..b228272362 100755 --- a/resources/css/clouds.css +++ b/resources/css/clouds.css @@ -83,10 +83,7 @@ table { * | +---wt-page-options wt-page-options-xxxxx * | +---wt-page-content * +---wt-footers - * +---wt-footer wt-footer-contact - * +---wt-footer wt-footer-cookies - * +---wt-footer wt-footer-page-views - * +---wt-footer wt-footer-powered-by + * +---wt-footer wt-footer-xxxxx */ .wt-global { diff --git a/resources/css/colors.css b/resources/css/colors.css index a4b71a9dec..adef9c2911 100644 --- a/resources/css/colors.css +++ b/resources/css/colors.css @@ -110,10 +110,7 @@ table { * | +---wt-page-options wt-page-options-xxxxx * | +---wt-page-content * +---wt-footers - * +---wt-footer wt-footer-contact - * +---wt-footer wt-footer-cookies - * +---wt-footer wt-footer-page-views - * +---wt-footer wt-footer-powered-by + * +---wt-footer wt-footer-xxxxx */ .wt-global { diff --git a/resources/css/fab.css b/resources/css/fab.css index 8bdae631cd..02ae432416 100755 --- a/resources/css/fab.css +++ b/resources/css/fab.css @@ -79,10 +79,7 @@ table { * | +---wt-page-options wt-page-options-xxxxx * | +---wt-page-content * +---wt-footers - * +---wt-footer wt-footer-contact - * +---wt-footer wt-footer-cookies - * +---wt-footer wt-footer-page-views - * +---wt-footer wt-footer-powered-by + * +---wt-footer wt-footer-xxxxx */ .wt-global { diff --git a/resources/css/minimal.css b/resources/css/minimal.css index 5cbd5f930f..d77d68fcb6 100755 --- a/resources/css/minimal.css +++ b/resources/css/minimal.css @@ -79,10 +79,7 @@ table { * | +---wt-page-options wt-page-options-xxxxx * | +---wt-page-content * +---wt-footers - * +---wt-footer wt-footer-contact - * +---wt-footer wt-footer-cookies - * +---wt-footer wt-footer-page-views - * +---wt-footer wt-footer-powered-by + * +---wt-footer wt-footer-xxxxx */ .wt-global { diff --git a/resources/css/webtrees.css b/resources/css/webtrees.css index d19dc3b2ed..7d98b11ed9 100755 --- a/resources/css/webtrees.css +++ b/resources/css/webtrees.css @@ -85,10 +85,7 @@ table { * | +---wt-page-options wt-page-options-xxxxx * | +---wt-page-content * +---wt-footers - * +---wt-footer wt-footer-contact - * +---wt-footer wt-footer-cookies - * +---wt-footer wt-footer-page-views - * +---wt-footer wt-footer-powered-by + * +---wt-footer wt-footer-xxxxx */ .wt-global { diff --git a/resources/css/xenea.css b/resources/css/xenea.css index 2ea6715243..9ac89b98fd 100755 --- a/resources/css/xenea.css +++ b/resources/css/xenea.css @@ -80,10 +80,7 @@ table { * | +---wt-page-options wt-page-options-xxxxx * | +---wt-page-content * +---wt-footers - * +---wt-footer wt-footer-contact - * +---wt-footer wt-footer-cookies - * +---wt-footer wt-footer-page-views - * +---wt-footer wt-footer-powered-by + * +---wt-footer wt-footer-xxxxx */ .wt-global { diff --git a/resources/js/webtrees.js b/resources/js/webtrees.js index 21a4fce65e..cc6170501f 100644 --- a/resources/js/webtrees.js +++ b/resources/js/webtrees.js @@ -766,7 +766,7 @@ $(function () { }); }); -// Convert data-confirm and data-post-url attributes into useful behaviour. +// Convert data-confirm and data-post-url attributes into useful behavior. document.addEventListener("click", (event) => { const target = event.target.closest("a"); diff --git a/resources/lang/af/messages.po b/resources/lang/af/messages.po index b8a07af1a3..44a1c6d367 100644 --- a/resources/lang/af/messages.po +++ b/resources/lang/af/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "Hierdie webwerf is tydelik nie beskikbaar nie" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Hierdie webwerf gebruik koekies om meer van 'n gebruiker se gedrag te leer." #. I18N: %s is the name of a family tree diff --git a/resources/lang/ar/messages.po b/resources/lang/ar/messages.po index 8947c5374b..789208627d 100644 --- a/resources/lang/ar/messages.po +++ b/resources/lang/ar/messages.po @@ -14771,7 +14771,7 @@ msgid "This website is temporarily unavailable" msgstr "تصفح الموقع متوقف مؤقتاً" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "يستخدم هذا الموقع الكوكيز لمعرفة المزيد عن سلوك الزائر ." #. I18N: %s is the name of a family tree diff --git a/resources/lang/bg/messages.po b/resources/lang/bg/messages.po index 58e7539d25..522330fca4 100644 --- a/resources/lang/bg/messages.po +++ b/resources/lang/bg/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/bs/messages.po b/resources/lang/bs/messages.po index 7ce7a66155..a8fcdeeeef 100644 --- a/resources/lang/bs/messages.po +++ b/resources/lang/bs/messages.po @@ -14700,7 +14700,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/ca/messages.po b/resources/lang/ca/messages.po index ed270bea9f..d4b9fe273b 100644 --- a/resources/lang/ca/messages.po +++ b/resources/lang/ca/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "Lloc web indisponible temporalment" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Aquest lloc web fa servir galetes per conèixer com l'utilitzen els visitants." #. I18N: %s is the name of a family tree diff --git a/resources/lang/cs/messages.po b/resources/lang/cs/messages.po index 2c8a179780..d7d0da7bac 100644 --- a/resources/lang/cs/messages.po +++ b/resources/lang/cs/messages.po @@ -14695,7 +14695,7 @@ msgid "This website is temporarily unavailable" msgstr "Tyto stránky jsou dočasně nedostupné" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Tato webová stránka používá cookies, aby se poučila z chování návštěvníků." #. I18N: %s is the name of a family tree diff --git a/resources/lang/da/messages.po b/resources/lang/da/messages.po index 0fd12aeac9..0b0ec65b48 100644 --- a/resources/lang/da/messages.po +++ b/resources/lang/da/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "Dette websted er ikke tilgængeligt i øjeblikket" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Siden her bruger cookies." #. I18N: %s is the name of a family tree diff --git a/resources/lang/de/messages.po b/resources/lang/de/messages.po index 8a496abbac..be5d22946f 100644 --- a/resources/lang/de/messages.po +++ b/resources/lang/de/messages.po @@ -11068,7 +11068,7 @@ msgstr "Datenschutz" #: app/Http/RequestHandlers/PrivacyPolicy.php:43 msgid "Privacy policy" -msgstr "Datenschutzrichtlinie" +msgstr "Impressum" #. I18N: a restrction on viewing data #: resources/views/modals/restriction-fields.phtml:5 @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "Diese Webseite ist vorübergehend nicht verfügbar" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Diese Website verwendet Cookies um mehr über das Besucherverhalten zu erfahren." #. I18N: %s is the name of a family tree diff --git a/resources/lang/dv/messages.po b/resources/lang/dv/messages.po index d73c5bd99e..f8e003e8ad 100644 --- a/resources/lang/dv/messages.po +++ b/resources/lang/dv/messages.po @@ -14634,7 +14634,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/el/messages.po b/resources/lang/el/messages.po index 97b1b018d4..4b2f3bdac1 100644 --- a/resources/lang/el/messages.po +++ b/resources/lang/el/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/en-AU/messages.po b/resources/lang/en-AU/messages.po index dedd8340aa..0f47f01b24 100644 --- a/resources/lang/en-AU/messages.po +++ b/resources/lang/en-AU/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "This website is temporarily unavailable" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "This website uses cookies to learn about visitor behaviour." #. I18N: %s is the name of a family tree diff --git a/resources/lang/en-GB/messages.po b/resources/lang/en-GB/messages.po index c77c225dc4..563adc7812 100644 --- a/resources/lang/en-GB/messages.po +++ b/resources/lang/en-GB/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "This website is temporarily unavailable" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "This website uses cookies to learn about visitor behaviour." #. I18N: %s is the name of a family tree diff --git a/resources/lang/en-US/messages.po b/resources/lang/en-US/messages.po index b17eefd0da..a89e084e8b 100644 --- a/resources/lang/en-US/messages.po +++ b/resources/lang/en-US/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/es/messages.po b/resources/lang/es/messages.po index d730cb2385..db03474ee3 100644 --- a/resources/lang/es/messages.po +++ b/resources/lang/es/messages.po @@ -14667,7 +14667,7 @@ msgid "This website is temporarily unavailable" msgstr "Este sitio web no está disponible en este momento" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Este sitio utiliza cookies para aprender el comportamiento de sus visitantes." #. I18N: %s is the name of a family tree diff --git a/resources/lang/et/messages.po b/resources/lang/et/messages.po index b897f95b33..b93447cfe0 100644 --- a/resources/lang/et/messages.po +++ b/resources/lang/et/messages.po @@ -14667,7 +14667,7 @@ msgid "This website is temporarily unavailable" msgstr "Veebileht on ajutiselt kättesaamatu" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "See veebileht kasutab küpsiseid, püüdmaks mõista kasutaja käitumist ja vajadusi." #. I18N: %s is the name of a family tree diff --git a/resources/lang/fa/messages.po b/resources/lang/fa/messages.po index 8ffbc50b99..2d0a5b2223 100644 --- a/resources/lang/fa/messages.po +++ b/resources/lang/fa/messages.po @@ -14671,7 +14671,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/fi/messages.po b/resources/lang/fi/messages.po index 31d6f549a4..30d4373900 100644 --- a/resources/lang/fi/messages.po +++ b/resources/lang/fi/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "Tämä sivusto on tilapäisesti poissa käytöstä" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Tämä sivusto käyttää evästeitä oppiakseen kuinka vierailijat käyttäytyvät." #. I18N: %s is the name of a family tree diff --git a/resources/lang/fo/messages.po b/resources/lang/fo/messages.po index ffdf151aae..7a305f43c7 100644 --- a/resources/lang/fo/messages.po +++ b/resources/lang/fo/messages.po @@ -14665,7 +14665,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/fr-CA/messages.po b/resources/lang/fr-CA/messages.po index 48d12e5a77..ac4eeebcc8 100644 --- a/resources/lang/fr-CA/messages.po +++ b/resources/lang/fr-CA/messages.po @@ -14664,7 +14664,7 @@ msgid "This website is temporarily unavailable" msgstr "Ce site est momentanément indisponible" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Ce site utilise des mouchards pour connaître le comportement des visiteurs." #. I18N: %s is the name of a family tree diff --git a/resources/lang/fr/messages.po b/resources/lang/fr/messages.po index 26182d0ec3..fd5acef08f 100644 --- a/resources/lang/fr/messages.po +++ b/resources/lang/fr/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "Ce site est momentanément indisponible" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Ce site utilise des cookies pour connaître le comportement des visiteurs." #. I18N: %s is the name of a family tree diff --git a/resources/lang/gl/messages.po b/resources/lang/gl/messages.po index 67180af770..af33d6e55a 100644 --- a/resources/lang/gl/messages.po +++ b/resources/lang/gl/messages.po @@ -14675,7 +14675,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/he/messages.po b/resources/lang/he/messages.po index 35703d206f..dedc2f08c2 100644 --- a/resources/lang/he/messages.po +++ b/resources/lang/he/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "אתר האינטרנט הזה אינו זמין באופן זמני" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "אתר זה משתמש בעוגיות כדי ללמוד על התנהגות מבקרים." #. I18N: %s is the name of a family tree diff --git a/resources/lang/hr/messages.po b/resources/lang/hr/messages.po index f04ad50395..151cecef29 100644 --- a/resources/lang/hr/messages.po +++ b/resources/lang/hr/messages.po @@ -14693,7 +14693,7 @@ msgid "This website is temporarily unavailable" msgstr "Ove web stranice su privremeno nedostupne" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Ova web stranica koristi kolačiće da bi učila o ponašanju korisnika." #. I18N: %s is the name of a family tree diff --git a/resources/lang/hu/messages.po b/resources/lang/hu/messages.po index 539acd80e0..f8e8be35a6 100644 --- a/resources/lang/hu/messages.po +++ b/resources/lang/hu/messages.po @@ -14667,7 +14667,7 @@ msgid "This website is temporarily unavailable" msgstr "Ez a webhely ideiglenesen nem elérhető" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Ez a webhely sütiket használ, hogy látogatói viselkedéssel ismerkedjen." #. I18N: %s is the name of a family tree diff --git a/resources/lang/id/messages.po b/resources/lang/id/messages.po index 03394e2cfb..23d502441a 100644 --- a/resources/lang/id/messages.po +++ b/resources/lang/id/messages.po @@ -14641,7 +14641,7 @@ msgid "This website is temporarily unavailable" msgstr "Situs ini sementara tidak tersedia untuk umum" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Situs ini menggunakan pelacak untuk mempelajari perilaku pengunjung." #. I18N: %s is the name of a family tree diff --git a/resources/lang/is/messages.po b/resources/lang/is/messages.po index 6615dfd6dc..60759cbb07 100644 --- a/resources/lang/is/messages.po +++ b/resources/lang/is/messages.po @@ -14695,7 +14695,7 @@ msgid "This website is temporarily unavailable" msgstr "Þessi vefsíða er tímabundið óaðgengileg" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/it/messages.po b/resources/lang/it/messages.po index a9ceb46933..8a4482049d 100644 --- a/resources/lang/it/messages.po +++ b/resources/lang/it/messages.po @@ -14668,7 +14668,7 @@ msgid "This website is temporarily unavailable" msgstr "Questo sito è temporaneamente non disponibile" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/ja/messages.po b/resources/lang/ja/messages.po index d025cd192d..b2172bc807 100644 --- a/resources/lang/ja/messages.po +++ b/resources/lang/ja/messages.po @@ -14638,7 +14638,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/jv/messages.po b/resources/lang/jv/messages.po index b0cd807105..f843b11aab 100644 --- a/resources/lang/jv/messages.po +++ b/resources/lang/jv/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/ka/messages.po b/resources/lang/ka/messages.po index 4b7e2ad02b..98ddc443d9 100644 --- a/resources/lang/ka/messages.po +++ b/resources/lang/ka/messages.po @@ -14656,7 +14656,7 @@ msgid "This website is temporarily unavailable" msgstr "საიტი დროებით გამორთულია" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/kk/messages.po b/resources/lang/kk/messages.po index c6b19165f9..0799f36cf7 100644 --- a/resources/lang/kk/messages.po +++ b/resources/lang/kk/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "Бұл веб-сайт уақытша қолжетімсіз" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Бұл веб-сайт кукилерді келушілердің мінез-құлқы туралы білу үшін пайдаланады." #. I18N: %s is the name of a family tree diff --git a/resources/lang/ko/messages.po b/resources/lang/ko/messages.po index 98674d9d55..ed65b80103 100644 --- a/resources/lang/ko/messages.po +++ b/resources/lang/ko/messages.po @@ -14636,7 +14636,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/ln/messages.po b/resources/lang/ln/messages.po index 6c92b5211d..de804e8207 100644 --- a/resources/lang/ln/messages.po +++ b/resources/lang/ln/messages.po @@ -14758,7 +14758,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/lt/messages.po b/resources/lang/lt/messages.po index 431e77f2c5..c5fac1aebd 100644 --- a/resources/lang/lt/messages.po +++ b/resources/lang/lt/messages.po @@ -14692,7 +14692,7 @@ msgid "This website is temporarily unavailable" msgstr "Šis tinklapis laikinai nepasiekiamas" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/lv/messages.po b/resources/lang/lv/messages.po index 92387fe25e..be47ec8f71 100644 --- a/resources/lang/lv/messages.po +++ b/resources/lang/lv/messages.po @@ -14689,7 +14689,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/mi/messages.po b/resources/lang/mi/messages.po index ae6ae1c13a..c38e838c9e 100644 --- a/resources/lang/mi/messages.po +++ b/resources/lang/mi/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/mr/messages.po b/resources/lang/mr/messages.po index 4333de7584..663bfd550e 100644 --- a/resources/lang/mr/messages.po +++ b/resources/lang/mr/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/ms/messages.po b/resources/lang/ms/messages.po index 882e81ab27..a908a1c583 100644 --- a/resources/lang/ms/messages.po +++ b/resources/lang/ms/messages.po @@ -14643,7 +14643,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/nb/messages.po b/resources/lang/nb/messages.po index 28158cb27e..008b6c8555 100644 --- a/resources/lang/nb/messages.po +++ b/resources/lang/nb/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "Dette nettstedet er for øyeblikket ikke tilgjengelig" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Denne websiten bruker cookies for å forstå besøkerens adferd." #. I18N: %s is the name of a family tree diff --git a/resources/lang/ne/messages.po b/resources/lang/ne/messages.po index ee8ec35252..4412307093 100644 --- a/resources/lang/ne/messages.po +++ b/resources/lang/ne/messages.po @@ -14664,7 +14664,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/nl/messages.po b/resources/lang/nl/messages.po index fb07b44af7..fe59bcf80a 100644 --- a/resources/lang/nl/messages.po +++ b/resources/lang/nl/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "Deze website is tijdelijk niet beschikbaar" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Deze website gebruikt cookies om het gebruiksgemak en de prestaties van de website te verbeteren." #. I18N: %s is the name of a family tree diff --git a/resources/lang/nn/messages.po b/resources/lang/nn/messages.po index 37c2bc0628..5eab763828 100644 --- a/resources/lang/nn/messages.po +++ b/resources/lang/nn/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "Denne nettstaden er for augneblinken ikkje tilgjengeleg" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Denne nettstaden nyttar informasjonskapslar for å betre brukaropplevinga." #. I18N: %s is the name of a family tree diff --git a/resources/lang/oc/messages.po b/resources/lang/oc/messages.po index 5dcc171ee3..1db522ddb6 100644 --- a/resources/lang/oc/messages.po +++ b/resources/lang/oc/messages.po @@ -14891,7 +14891,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/pl/messages.po b/resources/lang/pl/messages.po index ca14ca071d..a5bc262b56 100644 --- a/resources/lang/pl/messages.po +++ b/resources/lang/pl/messages.po @@ -14693,7 +14693,7 @@ msgid "This website is temporarily unavailable" msgstr "Ta strona jest chwilowo niedostępna" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Ta strona internetowa używa plików cookies (tzw. ciasteczka) w celu monitorowania zachowania użytkowników." #. I18N: %s is the name of a family tree diff --git a/resources/lang/pt-BR/messages.po b/resources/lang/pt-BR/messages.po index c219153325..3eca6daf9a 100644 --- a/resources/lang/pt-BR/messages.po +++ b/resources/lang/pt-BR/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "Este site web está temporariamente indisponível" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Este site usa cookies para aprender sobre o comportamento do visitante." #. I18N: %s is the name of a family tree diff --git a/resources/lang/pt/messages.po b/resources/lang/pt/messages.po index 6c14983f33..f114073eda 100644 --- a/resources/lang/pt/messages.po +++ b/resources/lang/pt/messages.po @@ -14686,7 +14686,7 @@ msgid "This website is temporarily unavailable" msgstr "Este site web está temporariamente indisponível" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/ro/messages.po b/resources/lang/ro/messages.po index 4754a0d984..860d543e20 100644 --- a/resources/lang/ro/messages.po +++ b/resources/lang/ro/messages.po @@ -14702,7 +14702,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/ru/messages.po b/resources/lang/ru/messages.po index da9cf3bfe9..d3ddafc91a 100644 --- a/resources/lang/ru/messages.po +++ b/resources/lang/ru/messages.po @@ -14697,7 +14697,7 @@ msgid "This website is temporarily unavailable" msgstr "Сайт временно недоступен" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Данный сайт использует куки, чтобы запоминать предпочтения посетителя." #. I18N: %s is the name of a family tree diff --git a/resources/lang/sk/messages.po b/resources/lang/sk/messages.po index 0e99ca2619..fb848aeef2 100644 --- a/resources/lang/sk/messages.po +++ b/resources/lang/sk/messages.po @@ -14714,7 +14714,7 @@ msgid "This website is temporarily unavailable" msgstr "Táto stránka je dočasne nedostupná" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/sl/messages.po b/resources/lang/sl/messages.po index 12011ace54..a2037df24b 100644 --- a/resources/lang/sl/messages.po +++ b/resources/lang/sl/messages.po @@ -14728,7 +14728,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/sq/messages.po b/resources/lang/sq/messages.po index 65b31c5db1..d0f1dd9d4c 100644 --- a/resources/lang/sq/messages.po +++ b/resources/lang/sq/messages.po @@ -15815,7 +15815,7 @@ msgid "This website is temporarily unavailable" msgstr "Ky ueb sajt përkohësisht është i padisponueshëm" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Ky ueb sajt përdor kukit për të mësuar sjelljen e vizitorëve." # I18N: %s is the name of a family tree diff --git a/resources/lang/sr-Latn/messages.po b/resources/lang/sr-Latn/messages.po index e7cc245933..85081fc843 100644 --- a/resources/lang/sr-Latn/messages.po +++ b/resources/lang/sr-Latn/messages.po @@ -14693,7 +14693,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/sr/messages.po b/resources/lang/sr/messages.po index a7d457d23c..547793e54c 100644 --- a/resources/lang/sr/messages.po +++ b/resources/lang/sr/messages.po @@ -14693,7 +14693,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/su/messages.po b/resources/lang/su/messages.po index 75cfbaf1e9..aeb3ac9c1a 100644 --- a/resources/lang/su/messages.po +++ b/resources/lang/su/messages.po @@ -14658,7 +14658,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/sv/messages.po b/resources/lang/sv/messages.po index 1a6238f904..cc68429868 100644 --- a/resources/lang/sv/messages.po +++ b/resources/lang/sv/messages.po @@ -14666,7 +14666,7 @@ msgid "This website is temporarily unavailable" msgstr "Denna webbplats är otillgänglig för tillfället" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Denna webbplats använder cookies för att lära sig om besökarnas beteende." #. I18N: %s is the name of a family tree diff --git a/resources/lang/sw/messages.po b/resources/lang/sw/messages.po index 8e5b8ac3fb..161fade6d8 100644 --- a/resources/lang/sw/messages.po +++ b/resources/lang/sw/messages.po @@ -14683,7 +14683,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/ta/messages.po b/resources/lang/ta/messages.po index 6459bcd51d..53022aaf8f 100644 --- a/resources/lang/ta/messages.po +++ b/resources/lang/ta/messages.po @@ -14660,7 +14660,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/th/messages.po b/resources/lang/th/messages.po index b73f89fb5b..d8d2e536c6 100644 --- a/resources/lang/th/messages.po +++ b/resources/lang/th/messages.po @@ -14636,7 +14636,7 @@ msgid "This website is temporarily unavailable" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/tr/messages.po b/resources/lang/tr/messages.po index cfd4d19893..2be13a266f 100644 --- a/resources/lang/tr/messages.po +++ b/resources/lang/tr/messages.po @@ -14662,7 +14662,7 @@ msgid "This website is temporarily unavailable" msgstr "Bu web sitesi geçici olarak kullanılamıyor" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Bu web sitesi, ziyaretçi davranışı hakkında bilgi edinmek için çerezleri kullanır." #. I18N: %s is the name of a family tree diff --git a/resources/lang/tt/messages.po b/resources/lang/tt/messages.po index 806ca9c2ce..cd5ee304f8 100644 --- a/resources/lang/tt/messages.po +++ b/resources/lang/tt/messages.po @@ -14647,7 +14647,7 @@ msgid "This website is temporarily unavailable" msgstr "Сәхифә вакытлыча ябык" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/uk/messages.po b/resources/lang/uk/messages.po index 76b594c844..9a191ba52f 100644 --- a/resources/lang/uk/messages.po +++ b/resources/lang/uk/messages.po @@ -14699,7 +14699,7 @@ msgid "This website is temporarily unavailable" msgstr "Сайт тимчасово недоступний" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Даний сайт використовує куки, щоб вивчити поведінку користувача." #. I18N: %s is the name of a family tree diff --git a/resources/lang/vi/messages.po b/resources/lang/vi/messages.po index 612a7104f0..c5ee33435f 100644 --- a/resources/lang/vi/messages.po +++ b/resources/lang/vi/messages.po @@ -14687,7 +14687,7 @@ msgid "This website is temporarily unavailable" msgstr "Site hiện tạm thời không hoạt động" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "Trang web này sử dụng cookie để tìm hiểu về hành vi của khách truy cập." #. I18N: %s is the name of a family tree diff --git a/resources/lang/webtrees.pot b/resources/lang/webtrees.pot index ab0c7b85c5..70f479a027 100644 --- a/resources/lang/webtrees.pot +++ b/resources/lang/webtrees.pot @@ -18456,7 +18456,7 @@ msgid "Cookies" msgstr "" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #: resources/views/modules/custom-css-js/edit.phtml:16 diff --git a/resources/lang/yi/messages.po b/resources/lang/yi/messages.po index 61f12b72ef..7901bfc272 100644 --- a/resources/lang/yi/messages.po +++ b/resources/lang/yi/messages.po @@ -14673,7 +14673,7 @@ msgid "This website is temporarily unavailable" msgstr "דעם וועבזייַטל איז צייַטווייַליק נישט פאַראַנען" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "" #. I18N: %s is the name of a family tree diff --git a/resources/lang/zh-Hans/messages.po b/resources/lang/zh-Hans/messages.po index d02d0e2243..8fbb1da68c 100644 --- a/resources/lang/zh-Hans/messages.po +++ b/resources/lang/zh-Hans/messages.po @@ -15926,7 +15926,7 @@ msgid "This website is temporarily unavailable" msgstr "该网站暂时不可用" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "网站通过使用cookies来了解访客的行为。" # I18N: %s is the name of a family tree diff --git a/resources/lang/zh-Hant/messages.po b/resources/lang/zh-Hant/messages.po index eb483c555d..1aafd8d861 100644 --- a/resources/lang/zh-Hant/messages.po +++ b/resources/lang/zh-Hant/messages.po @@ -15911,7 +15911,7 @@ msgid "This website is temporarily unavailable" msgstr "該網站暫時不可用" #: resources/views/modules/cookie-warning/footer.phtml:6 -msgid "This website uses cookies to learn about visitor behaviour." +msgid "This website uses cookies to learn about visitor behavior." msgstr "網站通過使用cookies來了解訪客的行為。" # I18N: %s is the name of a family tree diff --git a/resources/views/modules/cookie-warning/footer.phtml b/resources/views/modules/cookie-warning/footer.phtml deleted file mode 100644 index 97336ac76d..0000000000 --- a/resources/views/modules/cookie-warning/footer.phtml +++ /dev/null @@ -1,12 +0,0 @@ -<?php use Fisharebest\Webtrees\I18N; ?> - -<div class="wt-footer wt-footer-cookies text-center py-2"> - <?= I18N::translate('Cookies') ?> - - - <?= I18N::translate('This website uses cookies to learn about visitor behaviour.') ?> - - <button class="btn btn-secondary" onclick="document.cookie='cookie=1'; this.parentNode.classList.add('d-none');"> - <?= I18N::translate('close') ?> - </button> -</div> - diff --git a/resources/views/modules/privacy-policy/footer.phtml b/resources/views/modules/privacy-policy/footer.phtml new file mode 100644 index 0000000000..0135f762a4 --- /dev/null +++ b/resources/views/modules/privacy-policy/footer.phtml @@ -0,0 +1,35 @@ +<?php + +use Fisharebest\Webtrees\I18N; +use Fisharebest\Webtrees\View; + +?> + +<div class="wt-footer wt-footer-privacy-policy text-center py-2"> + <a href="<?= e(route('module', ['module' => 'privacy-policy', 'action' => 'Page', 'tree' => $tree->name()])) ?>"> + <?= I18N::translate('Privacy policy') ?> + </a> + + <?php if ($uses_analytics): ?> + <div class="alert alert-info alert-dismissible fade" id="cookie-warning"> + <?= I18N::translate('This website uses cookies to learn about visitor behavior.') ?> + + <button type="button" id="cookie-warning-button" class="close" data-dismiss="alert" aria-label="<?= I18N::translate('close') ?>"> + <span aria-hidden="true">×</span> + </button> + </div> + <?php endif ?> +</div> + +<?php View::push('javascript') ?> +<script> + if (localStorage.getItem("cookie-warning") !== "ok") { + document.getElementById("cookie-warning").classList.add("show"); + } + document.getElementById("cookie-warning-button").addEventListener("click", function() { + localStorage.setItem("cookie-warning", "ok"); + }) +</script> +<?php View::endpush() ?> + + diff --git a/resources/views/modules/privacy-policy/page.phtml b/resources/views/modules/privacy-policy/page.phtml new file mode 100644 index 0000000000..8dabb3c2a7 --- /dev/null +++ b/resources/views/modules/privacy-policy/page.phtml @@ -0,0 +1,71 @@ +<?php use Fisharebest\Webtrees\I18N; ?> + +<h2><?= $title ?></h2> + +<h3><?= I18N::translate('Personal data') ?></h3> + +<ul> + <li> + <?= I18N::translate('This website processes personal data for the purpose of historical and genealogical research.') ?> + </li> + <li> + <?= I18N::translate('This research is a “legitimate interest” under article 6(f) of the EU General Data Protection Regulations.') ?> + </li> +</ul> + +<h3><?= I18N::translate('Cookies') ?></h3> + +<ul> + <li> + <?= I18N::translate('This website uses cookies to enable login sessions, and to remember preferences such as your chosen language.') ?> + </li> + <li> + <?= I18N::translate('These cookies are “essential”, and do not require consent.') ?> + </li> +</ul> + +<?php if ($analytics->isNotEmpty()): ?> + <h3><?= I18N::translate('Tracking and analytics') ?></h3> + + <ul> + <li> + <?= I18N::translate('This website uses third-party services to learn about visitor behavior.') ?> + <ul> + <?php foreach ($analytics as $module): ?> + <li> + <a href="<?= e($module->externalUrl()) ?>"><?= $module->title() ?></a> + </li> + <?php endforeach ?> + </ul> + </li> + + <li> + <?= I18N::translate('These services may use cookies or other tracking technology.') ?> + </li> + + <li> + <?= I18N::translate('You can opt out of tracking by setting the ”Do Not Track“ header in your browser preferences.') ?> + </li> + </ul> +<?php endif ?> + +<h3><?= I18N::translate('Data controller') ?></h3> + +<ul> + <li> + <?= I18N::translate('This website is operated by the following individuals.') ?> + + <ul> + <?php foreach ($administrators as $administrator): ?> + <li> + <?= e($administrator->realName()) ?> — + <a href="mailto:<?= e($administrator->email()) ?>"><?= e($administrator->email()) ?></a> + + + </li> + <?php endforeach ?> + </ul> + + </li> +</ul> + diff --git a/resources/views/privacy-policy.phtml b/resources/views/privacy-policy.phtml deleted file mode 100644 index a77daff71f..0000000000 --- a/resources/views/privacy-policy.phtml +++ /dev/null @@ -1,29 +0,0 @@ -<?php use Fisharebest\Webtrees\I18N; ?> - -<h2 class="wt-page-title"> - <?= $title ?> -</h2> - -<p> - <?= I18N::translate('The data in this website has been collected for the purposes of genealogical research.') ?> -</p> - -<h3> - <?= I18N::translate('Cookies') ?> -</h3> - -<p> - <?= I18N::translate('This site uses cookies to store your preferences on this site, such as the language you have selected.') ?> -</p> - -<h3> - <?= I18N::translate('Tracking and analytics') ?> -</h3> - -<?php if ($uses_analytics) : ?> -<p> - <?= I18N::translate('This site does not use any third-party tracking or analytics services.') ?> -</p> -<?php else : ?> -<?php endif ?> - diff --git a/tests/TestCase.php b/tests/TestCase.php index ea37da36c4..0f51325669 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -151,6 +151,7 @@ class TestCase extends \PHPUnit\Framework\TestCase * @param string[] $query * @param string[] $params * @param UploadedFileInterface[] $files + * @param string[] $attributes * * @return ServerRequestInterface */ @@ -158,7 +159,8 @@ class TestCase extends \PHPUnit\Framework\TestCase string $method = RequestMethodInterface::METHOD_GET, array $query = [], array $params = [], - array $files = [] + array $files = [], + array $attributes = [] ): ServerRequestInterface { /** @var ServerRequestFactoryInterface */ $server_request_factory = app(ServerRequestFactoryInterface::class); @@ -173,7 +175,16 @@ class TestCase extends \PHPUnit\Framework\TestCase ->withUploadedFiles($files) ->withAttribute('base_url', 'https://webtrees.test') ->withAttribute('client-ip', '127.0.0.1') - ->withAttribute('locale', new LocaleEnUs()); + ->withAttribute('locale', new LocaleEnUs()) + ->withAttribute('user', new GuestUser()); + + foreach ($attributes as $key => $value) { + $request = $request->withAttribute($key, $value); + + if ($key === 'tree') { + app()->instance(Tree::class, $value); + } + } app()->instance(ServerRequestInterface::class, $request); diff --git a/tests/app/Http/Controllers/CalendarControllerTest.php b/tests/app/Http/Controllers/CalendarControllerTest.php index c459029223..7f645ad8f3 100644 --- a/tests/app/Http/Controllers/CalendarControllerTest.php +++ b/tests/app/Http/Controllers/CalendarControllerTest.php @@ -19,8 +19,8 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\Controllers; +use Fig\Http\Message\RequestMethodInterface; use Fig\Http\Message\StatusCodeInterface; -use Fisharebest\Localization\Locale\LocaleEnUs; use Fisharebest\Webtrees\Services\CalendarService; use Fisharebest\Webtrees\Services\LocalizationService; use Fisharebest\Webtrees\TestCase; @@ -45,27 +45,20 @@ class CalendarControllerTest extends TestCase public function testCalendar(): void { $tree = $this->importTree('demo.ged'); - app()->instance(Tree::class, $tree); $calendar_service = new CalendarService(); - $localization_service = new LocalizationService(new LocaleEnUs()); + $localization_service = new LocalizationService(); $controller = new CalendarController($calendar_service, $localization_service); - $request = self::createRequest() - ->withAttribute('tree', $tree) - ->withAttribute('view', 'day'); + $request = self::createRequest(RequestMethodInterface::METHOD_GET, [], [], [], ['tree' => $tree, 'view' => 'day']); $response = $controller->calendar($request); $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); - $request = self::createRequest() - ->withAttribute('tree', $tree) - ->withAttribute('view', 'month'); + $request = self::createRequest(RequestMethodInterface::METHOD_GET, [], [], [], ['tree' => $tree, 'view' => 'month']); $response = $controller->page($request); $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); - $request = self::createRequest() - ->withAttribute('tree', $tree) - ->withAttribute('view', 'year'); + $request = self::createRequest(RequestMethodInterface::METHOD_GET, [], [], [], ['tree' => $tree, 'view' => 'year']); $response = $controller->page($request); $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); } diff --git a/tests/app/Http/RequestHandlers/LoginPageTest.php b/tests/app/Http/RequestHandlers/LoginPageTest.php index 45cad5e138..670b03f187 100644 --- a/tests/app/Http/RequestHandlers/LoginPageTest.php +++ b/tests/app/Http/RequestHandlers/LoginPageTest.php @@ -23,7 +23,6 @@ use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\Services\TreeService; use Fisharebest\Webtrees\TestCase; use Fisharebest\Webtrees\User; -use Fisharebest\Webtrees\View; /** * @covers \Fisharebest\Webtrees\Http\RequestHandlers\LoginPage diff --git a/tests/app/Http/RequestHandlers/PasswordResetPageTest.php b/tests/app/Http/RequestHandlers/PasswordResetPageTest.php index 6c853730d9..972684b48f 100644 --- a/tests/app/Http/RequestHandlers/PasswordResetPageTest.php +++ b/tests/app/Http/RequestHandlers/PasswordResetPageTest.php @@ -19,6 +19,7 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\ResetHandlers; +use Fig\Http\Message\RequestMethodInterface; use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\Http\RequestHandlers\PasswordResetPage; use Fisharebest\Webtrees\Services\UserService; @@ -41,7 +42,7 @@ class PasswordResetPageTest extends TestCase $user_service = $this->createMock(UserService::class); $user_service->expects($this->once())->method('findByToken')->willReturn($user); - $request = self::createRequest()->withAttribute('tree', null); + $request = self::createRequest(); $handler = new PasswordResetPage($user_service); $response = $handler->handle($request); diff --git a/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php b/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php deleted file mode 100644 index 2b154d762a..0000000000 --- a/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -/** - * webtrees: online genealogy - * Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. - */ - -declare(strict_types=1); - -namespace Fisharebest\Webtrees\Http\RequestHandlers; - -use Fig\Http\Message\StatusCodeInterface; -use Fisharebest\Webtrees\TestCase; - -/** - * @covers \Fisharebest\Webtrees\Http\RequestHandlers\PrivacyPolicy - */ -class PrivacyPolicyTest extends TestCase -{ - /** - * @return void - */ - public function testHandler(): void - { - $request = self::createRequest(); - $handler = new PrivacyPolicy(); - $response = $handler->handle($request); - - self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); - } -} diff --git a/tests/feature/IndividualListTest.php b/tests/feature/IndividualListTest.php index c001d3cf63..ec3200595a 100644 --- a/tests/feature/IndividualListTest.php +++ b/tests/feature/IndividualListTest.php @@ -21,11 +21,11 @@ namespace Fisharebest\Webtrees; use Fig\Http\Message\RequestMethodInterface; use Fig\Http\Message\StatusCodeInterface; -use Fisharebest\Localization\Locale\LocaleEnUs; use Fisharebest\Webtrees\Http\Controllers\ListController; use Fisharebest\Webtrees\Module\IndividualListModule; use Fisharebest\Webtrees\Services\IndividualListService; use Fisharebest\Webtrees\Services\LocalizationService; +use Psr\Http\Message\ServerRequestInterface; /** * Test the individual lists. @@ -43,39 +43,28 @@ class IndividualListTest extends TestCase public function testIndividualList(): void { $tree = $this->importTree('demo.ged'); - $user = Auth::user(); $list_module = new IndividualListModule(); - $localization_service = new LocalizationService(new LocaleEnUs()); + $localization_service = new LocalizationService(); $individual_list_service = new IndividualListService($localization_service, $tree); $controller = new ListController($individual_list_service, $localization_service); - $request = self::createRequest() - ->withAttribute('tree', $tree) - ->withAttribute('user', $user); + $request = self::createRequest(RequestMethodInterface::METHOD_GET, [], [], [], ['tree' => $tree]); $response = $controller->individualList($request, $list_module); $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); - $request = self::createRequest(RequestMethodInterface::METHOD_GET, ['alpha' => 'B']) - ->withAttribute('tree', $tree) - ->withAttribute('user', $user); + $request = self::createRequest(RequestMethodInterface::METHOD_GET, ['alpha' => 'B'], [], [], ['tree' => $tree]); $response = $controller->individualList($request, $list_module); $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); - $request = self::createRequest(RequestMethodInterface::METHOD_GET, ['alpha' => ',']) - ->withAttribute('tree', $tree) - ->withAttribute('user', $user); + $request = self::createRequest(RequestMethodInterface::METHOD_GET, ['alpha' => ','], [], [], ['tree' => $tree]); $response = $controller->individualList($request, $list_module); $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); - $request = self::createRequest(RequestMethodInterface::METHOD_GET, ['alpha' => '@']) - ->withAttribute('tree', $tree) - ->withAttribute('user', $tree); + $request = self::createRequest(RequestMethodInterface::METHOD_GET, ['alpha' => '@'], [], [], ['tree' => $tree]); $response = $controller->individualList($request, $list_module); $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); - $request = self::createRequest(RequestMethodInterface::METHOD_GET, ['surname' => 'BRAUN']) - ->withAttribute('tree', $tree) - ->withAttribute('user', $user); + $request = self::createRequest(RequestMethodInterface::METHOD_GET, ['surname' => 'BRAUN'], [], [], ['tree' => $tree]); $response = $controller->individualList($request, $list_module); $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); } |
