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;
 }
Ejemplo n.º 2
0
        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;
 }