(int)config('v2board.email_verify', 0) ? 1 : 0 ]); } public function sendEmailVerify(CommSendEmailVerify $request) { if ((int)config('v2board.recaptcha_enable', 0)) { $recaptcha = new ReCaptcha(config('v2board.recaptcha_key')); $recaptchaResp = $recaptcha->verify($request->input('recaptcha_data')); if (!$recaptchaResp->isSuccess()) { abort(500, __('Invalid code is incorrect')); } } $email = $request->input('email'); if (Cache::get(CacheKey::get('LAST_SEND_EMAIL_VERIFY_TIMESTAMP', $email))) { abort(500, __('Email verification code has been sent, please request again later')); } $code = rand(100000, 999999); $subject = config('v2board.app_name', 'V2Board') . __('Email verification code'); SendEmailJob::dispatch([ 'email' => $email, 'subject' => $subject, 'template_name' => 'verify', 'template_value' => [ 'name' => config('v2board.app_name', 'V2Board'), 'code' => $code, 'url' => config('v2board.app_url') ] ]); Cache::put(CacheKey::get('EMAIL_VERIFY_CODE', $email), $code, 300); Cache::put(CacheKey::get('LAST_SEND_EMAIL_VERIFY_TIMESTAMP', $email), time(), 60); return response([ 'data' => true ]); } public function pv(Request $request) { $inviteCode = InviteCode::where('code', $request->input('invite_code'))->first(); if ($inviteCode) { $inviteCode->pv = $inviteCode->pv + 1; $inviteCode->save(); } return response([ 'data' => true ]); } private function getEmailSuffix() { $suffix = config('v2board.email_whitelist_suffix', Dict::EMAIL_WHITELIST_SUFFIX_DEFAULT); if (!is_array($suffix)) { return preg_split('/,/', $suffix); } return $suffix; } }