/**
  * 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;
 }