public ContactController( IHostingEnvironment hostingEnvironment, IOptionsMonitor <BlogPostsSettings> blogPostsConfig, IOptions <EmailSettings> emailSettings, IOptions <GoogleRecaptchaSettings> googleRecaptchaSettings, IGoogleRecaptcha googleRecaptcha, IEmailSender emailSender) : base(hostingEnvironment) { _hostingEnvironment = hostingEnvironment; _blogPostsConfig = blogPostsConfig.CurrentValue; _emailSettings = emailSettings.Value; _emailSender = emailSender; _googleRecaptchaSettings = googleRecaptchaSettings.Value; _googleRecaptcha = googleRecaptcha; }
private static MvcHtmlString RenderDiv(string id, string errorClass, string errorMessage, GoogleRecaptchaSettings settings) { if (!settings.Enabled) { return(MvcHtmlString.Empty); } var recaptchaDiv = new TagBuilder("div"); recaptchaDiv.AddCssClass("g-recaptcha"); recaptchaDiv.AddCssClass("mb-3"); recaptchaDiv.Attributes["data-recaptcha-holder"] = "true"; recaptchaDiv.Attributes["data-sitekey"] = settings.SiteKey; id = id ?? Guid.NewGuid().ToString(); recaptchaDiv.Attributes["id"] = id; var message = new TagBuilder("span"); message.Attributes["data-recaptcha-message-for"] = id; message.AddCssClass(errorClass ?? "field-validation-error"); message.Attributes["data-error-message"] = errorMessage ?? "Please fill in the reCAPTCHA before submitting"; return(MvcHtmlString.Create(string.Concat(recaptchaDiv.ToString(), message.ToString()))); }
public GoogleRecaptchaFilter(GoogleRecaptchaSettings settings) { _settings = settings; }