/** * Returns Captcha-Image String * * @param Field $field * @return string image URL */ public function render(Field $field) { switch (TypoScriptUtility::getCaptchaExtensionFromSettings($this->settings)) { case 'captcha': $image = ExtensionManagementUtility::siteRelPath('captcha') . 'captcha/captcha.php'; break; default: /** @var CalculatingCaptchaService $captchaService */ $captchaService = $this->objectManager->get('In2code\\Powermail\\Domain\\Service\\CalculatingCaptchaService'); $image = $captchaService->render($field); } return $image; }
/** * Check if given string is correct * * @param string $value * @param Field $field * @return bool */ protected function validCodePreflight($value, $field) { switch (TypoScriptUtility::getCaptchaExtensionFromSettings($this->settings)) { case 'captcha': session_start(); $generatedCaptchaString = $_SESSION['tx_captcha_string']; if ($this->isClearSession()) { $_SESSION['tx_captcha_string'] = ''; } if (!empty($value) && $generatedCaptchaString === $value) { return true; } break; default: /** @var CalculatingCaptchaService $captchaService */ $captchaService = $this->objectManager->get('In2code\\Powermail\\Domain\\Service\\CalculatingCaptchaService'); if ($captchaService->validCode($value, $field, $this->isClearSession())) { return true; } } return false; }