Files
piratepoet/mailpoet/lib/API/JSON/v1/Captcha.php
Mustapha Hadid df171fdcc7 Add JSON endpoint for CAPTCHA rendering
To be used inside WP/WC registration form to construct URL for CAPTCHA page.

[MAILPOET-6325]
2024-12-17 13:56:00 +02:00

34 lines
918 B
PHP

<?php declare(strict_types = 1);
namespace MailPoet\API\JSON\v1;
use MailPoet\API\JSON\Endpoint as APIEndpoint;
use MailPoet\Captcha\CaptchaSession;
use MailPoet\Captcha\CaptchaUrlFactory;
use MailPoet\Config\AccessControl;
class Captcha extends APIEndpoint {
private CaptchaSession $captchaSession;
private CaptchaUrlFactory $urlFactory;
public $permissions = [
'global' => AccessControl::NO_ACCESS_RESTRICTION,
];
public function __construct(
CaptchaSession $captchaSession,
CaptchaUrlFactory $urlFactory
) {
$this->captchaSession = $captchaSession;
$this->urlFactory = $urlFactory;
}
public function render(array $data = []) {
$sessionId = $this->captchaSession->generateSessionId();
$data = array_merge($data, ['captcha_session_id' => $sessionId]);
$captchaUrl = $this->urlFactory->getCaptchaUrl($data);
return $this->redirectResponse($captchaUrl);
}
}