/** * get captcha image and store key to session * @param \Base $f3 */ public function getCaptcha(\Base $f3) { $data = $f3->get('POST'); $return = (object) []; $return->error = []; // check if reason for captcha generation is valid if (isset($data['reason']) && in_array($data['reason'], self::$captchaReason)) { $reason = $data['reason']; $im = imagecreatetruecolor(1, 1); $colorText = imagecolorallocate($im, 102, 200, 79); $colorBG = imagecolorallocate($im, 49, 51, 53); $img = new \Image(); $imgDump = $img->captcha('fonts/oxygen-bold-webfont.ttf', 14, 6, $reason, '', $colorText, $colorBG)->dump(); $return->img = $f3->base64($imgDump, 'image/png'); } else { $captchaError = (object) []; $captchaError->type = 'error'; $captchaError->message = 'Could not create captcha image'; $return->error[] = $captchaError; } echo json_encode($return); }