From d40753604d05e22b894bc9bdddbf0ad11fe1b39c Mon Sep 17 00:00:00 2001 From: Kevin Hicks Date: Tue, 5 Jun 2018 16:34:27 -0500 Subject: [PATCH 1/2] Added support for https image url Added demo on example page --- .../Gravatar/Gravatar.aspx | 5 +++++ AjaxControlToolkit/Gravatar/Gravatar.cs | 22 ++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/AjaxControlToolkit.SampleSite/Gravatar/Gravatar.aspx b/AjaxControlToolkit.SampleSite/Gravatar/Gravatar.aspx index 11cd5f001..a0e590024 100644 --- a/AjaxControlToolkit.SampleSite/Gravatar/Gravatar.aspx +++ b/AjaxControlToolkit.SampleSite/Gravatar/Gravatar.aspx @@ -27,6 +27,11 @@ +
+
+ Displays gravatar for an email account using secure url: +
+ diff --git a/AjaxControlToolkit/Gravatar/Gravatar.cs b/AjaxControlToolkit/Gravatar/Gravatar.cs index 4f5149cdf..65819a05e 100644 --- a/AjaxControlToolkit/Gravatar/Gravatar.cs +++ b/AjaxControlToolkit/Gravatar/Gravatar.cs @@ -88,14 +88,30 @@ public GravatarRating Rating { set; } + private bool _secure = false; + /// + /// Url protocal to use that will determine base url for image. + /// Default value is false and uses the http url + /// + [Category("Behavior")] + [ExtenderControlProperty] + [Description("Url protocal, that will be by default.")] + [ClientPropertyName("secure")] + public bool Secure + { + get { return _secure; } + set { _secure = value; } + } + // This method renders 'src' attribute protected override void AddAttributesToRender(HtmlTextWriter writer) { base.AddAttributesToRender(writer); - writer.AddAttribute(HtmlTextWriterAttribute.Src, GetUrl(Email, Size, DefaultImage, Rating)); + writer.AddAttribute(HtmlTextWriterAttribute.Src, GetUrl(Email, Size, DefaultImage, Rating, Secure)); } - string GetUrl(string email, int? size, string defaultImage, GravatarRating rating) { - var url = new StringBuilder("http://www.gravatar.com/avatar/"); + string GetUrl(string email, int? size, string defaultImage, GravatarRating rating, bool secure) { + var base_url = (secure) ? "https://secure.gravatar.com/avatar/" : "http://www.gravatar.com/avatar/"; + var url = new StringBuilder(base_url); url.Append(GetHash(Email)); if(size == null) size = 80; From bd5058c3b1cf59d5d6b46df7650e1b58b8958944 Mon Sep 17 00:00:00 2001 From: Kevin Hicks Date: Wed, 6 Jun 2018 09:31:10 -0500 Subject: [PATCH 2/2] Updated PR to just always use secure url for gravatar image request --- .../Gravatar/Gravatar.aspx | 5 ----- AjaxControlToolkit/Gravatar/Gravatar.cs | 22 +++---------------- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/AjaxControlToolkit.SampleSite/Gravatar/Gravatar.aspx b/AjaxControlToolkit.SampleSite/Gravatar/Gravatar.aspx index a0e590024..11cd5f001 100644 --- a/AjaxControlToolkit.SampleSite/Gravatar/Gravatar.aspx +++ b/AjaxControlToolkit.SampleSite/Gravatar/Gravatar.aspx @@ -27,11 +27,6 @@ -
-
- Displays gravatar for an email account using secure url: -
-
diff --git a/AjaxControlToolkit/Gravatar/Gravatar.cs b/AjaxControlToolkit/Gravatar/Gravatar.cs index 65819a05e..fc1158619 100644 --- a/AjaxControlToolkit/Gravatar/Gravatar.cs +++ b/AjaxControlToolkit/Gravatar/Gravatar.cs @@ -88,30 +88,14 @@ public GravatarRating Rating { set; } - private bool _secure = false; - /// - /// Url protocal to use that will determine base url for image. - /// Default value is false and uses the http url - /// - [Category("Behavior")] - [ExtenderControlProperty] - [Description("Url protocal, that will be by default.")] - [ClientPropertyName("secure")] - public bool Secure - { - get { return _secure; } - set { _secure = value; } - } - // This method renders 'src' attribute protected override void AddAttributesToRender(HtmlTextWriter writer) { base.AddAttributesToRender(writer); - writer.AddAttribute(HtmlTextWriterAttribute.Src, GetUrl(Email, Size, DefaultImage, Rating, Secure)); + writer.AddAttribute(HtmlTextWriterAttribute.Src, GetUrl(Email, Size, DefaultImage, Rating)); } - string GetUrl(string email, int? size, string defaultImage, GravatarRating rating, bool secure) { - var base_url = (secure) ? "https://secure.gravatar.com/avatar/" : "http://www.gravatar.com/avatar/"; - var url = new StringBuilder(base_url); + string GetUrl(string email, int? size, string defaultImage, GravatarRating rating) { + var url = new StringBuilder("https://secure.gravatar.com/avatar/"); url.Append(GetHash(Email)); if(size == null) size = 80;