public static string GetValue(this ReCaptchaLanguage cl, string key) { string value = ""; if (_find.TryGetValue(key, out value)) { return(value.TrimStart().TrimEnd().Trim()); } return(null); }
public static string GetLanguage(this ReCaptchaLanguage language) { if (language == ReCaptchaLanguage.Auto) { var newLanguage = GetLanguageByCulture(CultureInfo.CurrentUICulture); return(GetLanguage(newLanguage.GetValueOrDefault())); } var attribute = language.GetType().GetMember(language.ToString()).Select(m => m.GetCustomAttribute <LanguageAttribute>()).FirstOrDefault() ?? new LanguageAttribute(string.Empty); return(attribute.Value); }
private void Initialize(string publicKey, string secretKey, ReCaptchaLanguage? defaultLanguage = null) { if (string.IsNullOrWhiteSpace(publicKey)) { throw new ArgumentNullException("publicKey"); } if (string.IsNullOrWhiteSpace(secretKey)) { throw new ArgumentNullException("secretKey"); } if (defaultLanguage.HasValue) { _language = defaultLanguage.Value.GetLanguage(); } _configured = true; _secretKey = secretKey; _captchaDiv = string.Format("<div class='g-recaptcha' data-sitekey='{0}'></div><script src='https://www.google.com/recaptcha/api.js{{0}}'></script>", publicKey); }
public static IHtmlString GetCaptcha(ReCaptchaLanguage? language = null) { return _reCaptcha.GetCaptcha(language); }
public static void Configure(string publicKey, string secretKey, ReCaptchaLanguage? defaultLanguage = null) { _reCaptcha = new ReCaptchaObject(publicKey, secretKey, defaultLanguage); }
public static IHtmlString ReCaptchaScript(this HtmlHelper _helpers, Render render = Render.Onload, ReCaptchaLanguage language = ReCaptchaLanguage.Default, string onLoadCallBack = null) { TagBuilder tagDiv = new TagBuilder("script"); string url = ReConfigurationCaptcha.GetCaptchaApiUrl(); url = url + "?render=" + render.GetValueLower(); if (!string.IsNullOrEmpty(onLoadCallBack)) { url = url + "&onload=" + onLoadCallBack; } if (language != ReCaptchaLanguage.Default) { string valueHl = null; if (_find.TryGetValue(language.ToString(), out valueHl)) { url = url + "&hl=" + valueHl; } } tagDiv.Attributes.Add("src", url); return(new HtmlString(tagDiv.ToString().Replace("></", " async defer></"))); }
private string GetHlCode(ReCaptchaLanguage? language) { string strLang = language.HasValue ? language.Value.GetLanguage() : _language; return string.IsNullOrWhiteSpace(strLang) ? "" : "?hl=" + strLang; }
internal ReCaptchaObject(string publicKey, string secretKey, ReCaptchaLanguage? defaultLanguage = null) { Initialize(publicKey, secretKey, defaultLanguage); }
internal IHtmlString GetCaptcha(ReCaptchaLanguage? language) { CheckIfIamConfigured(); return new HtmlString(string.Format(_captchaDiv, GetHlCode(language))); }
public static string GetLanguage(this ReCaptchaLanguage language) { var attribute = language.GetType().GetMember(language.ToString()).Select(m => m.GetCustomAttribute <LanguageAttribute>()).FirstOrDefault() ?? new LanguageAttribute(string.Empty); return(attribute.Value); }