summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/RegisterPage.php
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-12-22 21:15:47 +0000
committerGreg Roach <fisharebest@webtrees.net>2019-12-22 21:15:47 +0000
commit70ca9c9048575cc15d5ce70c697595af107ab972 (patch)
treed3d93e7f9a0d5e1a2f72265ce2eb3a9c1f59699f /app/Http/RequestHandlers/RegisterPage.php
parentdc6b8e0e34c11d8c180e3f025ad944f76f47e05d (diff)
downloadwebtrees-70ca9c9048575cc15d5ce70c697595af107ab972.tar.gz
webtrees-70ca9c9048575cc15d5ce70c697595af107ab972.tar.bz2
webtrees-70ca9c9048575cc15d5ce70c697595af107ab972.zip
Fix: #2901 - add captcha to deter spam messages/registrations
Diffstat (limited to 'app/Http/RequestHandlers/RegisterPage.php')
-rw-r--r--app/Http/RequestHandlers/RegisterPage.php22
1 files changed, 20 insertions, 2 deletions
diff --git a/app/Http/RequestHandlers/RegisterPage.php b/app/Http/RequestHandlers/RegisterPage.php
index b8aaca29bf..3ea6f8d9d3 100644
--- a/app/Http/RequestHandlers/RegisterPage.php
+++ b/app/Http/RequestHandlers/RegisterPage.php
@@ -20,17 +20,34 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees\Http\RequestHandlers;
use Fisharebest\Webtrees\Exceptions\HttpNotFoundException;
-use Fisharebest\Webtrees\Http\Controllers\AbstractBaseController;
+use Fisharebest\Webtrees\Http\ViewResponseTrait;
use Fisharebest\Webtrees\I18N;
+use Fisharebest\Webtrees\Services\CaptchaService;
use Fisharebest\Webtrees\Site;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
+use Psr\Http\Server\RequestHandlerInterface;
/**
* Show a registration page.
*/
-class RegisterPage extends AbstractBaseController
+class RegisterPage implements RequestHandlerInterface
{
+ use ViewResponseTrait;
+
+ /** @var CaptchaService */
+ private $captcha_service;
+
+ /**
+ * RegisterPage constructor.
+ *
+ * @param CaptchaService $captcha_service
+ */
+ public function __construct(CaptchaService $captcha_service)
+ {
+ $this->captcha_service = $captcha_service;
+ }
+
/**
* @param ServerRequestInterface $request
*
@@ -51,6 +68,7 @@ class RegisterPage extends AbstractBaseController
$title = I18N::translate('Request a new user account');
return $this->viewResponse('register-page', [
+ 'captcha' => $this->captcha_service->createCaptcha(),
'comments' => $comments,
'email' => $email,
'realname' => $realname,