<?php declare(strict_types = 1); namespace MailPoet\Captcha; if (!defined('ABSPATH')) exit; use MailPoetVendor\Gregwar\Captcha\PhraseBuilder; class CaptchaPhrase { private CaptchaSession $session; private PhraseBuilder $phraseBuilder; public function __construct( CaptchaSession $session, PhraseBuilder $phraseBuilder = null ) { $this->session = $session; $this->phraseBuilder = $phraseBuilder ?? new PhraseBuilder(); } public function createPhrase(string $sessionId): string { $storage = ['phrase' => $this->phraseBuilder->build()]; $this->session->setCaptchaHash($sessionId, $storage); return $storage['phrase']; } public function getPhrase(string $sessionId): ?string { $storage = $this->session->getCaptchaHash($sessionId); return (isset($storage['phrase']) && is_string($storage['phrase'])) ? $storage['phrase'] : null; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Validator | Folder | 0755 |
|
|
CaptchaConstants.php | File | 664 B | 0644 |
|
CaptchaFormRenderer.php | File | 8.26 KB | 0644 |
|
CaptchaHooks.php | File | 3 KB | 0644 |
|
CaptchaPhrase.php | File | 891 B | 0644 |
|
CaptchaRenderer.php | File | 2.35 KB | 0644 |
|
CaptchaSession.php | File | 1.63 KB | 0644 |
|
CaptchaUrlFactory.php | File | 1.88 KB | 0644 |
|
PageRenderer.php | File | 2.12 KB | 0644 |
|
ReCaptchaRenderer.php | File | 1.08 KB | 0644 |
|
ReCaptchaValidator.php | File | 1.67 KB | 0644 |
|
index.php | File | 6 B | 0644 |
|