HEX
Server: Apache/2
System: Linux s01 6.1.0-34-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.135-1 (2025-04-25) x86_64
User: beestg (1003)
PHP: 8.3.25
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/beestg/public_html/wp-content/plugins/mailpoet/lib/API/JSON/v1/Captcha.php
<?php declare(strict_types = 1);

namespace MailPoet\API\JSON\v1;

if (!defined('ABSPATH')) exit;


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);
  }
}