Łukasz Gąsior
  • Home
  • now!
  • Blog
  • Po polsku
Social Links
Twitter
LinkedIn
Facebook
YouTube
Reddit
Instagram
GitHub
Medium
RSS
Łukasz Gąsior
  • Home
  • now!
  • Blog
  • Po polsku

Posts by tag

gravatar

1 post
  • Po polsku

Gravatar i ASP.NET

  • 2009-02-17
  • One comment

Korzystając z różnych portali w sieci staramy się być jednoznacznie identyfikowani – stosując ten sam nick, czy dodając awatara. Jednak posiadanie kont na wielu portalach znacznie utrudnia zarządzanie nimi (np. gdy postanowimy nasze zdjęcie uaktualnić lub usunąć).
Z pomocą przychodzi Gravatar (globally recognized avatar). Jest to taka globalna przechowalnia awatarów. System ten kojarzy awatary z adresami e-mail. Tak więc zakładając konto na jakimś portalu i podając naszego maila, portal ten może pobrać naszego gravatara. Jeżeli postanowimy uaktualnić zdjęcie – robimy to tylko w jednym miejscu.
Dodanie gravatara do naszej strony jest niezwykle proste i polega na stworzeniu odpowiedniego urla , który podajemy jako źródło dla obrazka.
Każdy url zaczyna się od adresu
> http://www.gravatar.com/avatar/
Następnie dodajemy adres e-mail shashowany algorytmem MD5
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802
Dodatkowo możemy podać kilka opcjonalnych parametrów:
s – rozmiar awatara w pikselach
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?s=80
r – “kategorię” awatara – pozwala na filtrowanie zawartości awatara
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?r=g
d – domyśne zdjęcie – wysyłane jeżeli dla danego adresu e-mail nie ma zarejestrowanego gravatara. Jako domyślne zdjęcie podajemy url konkretnego zdjęcia lub podajemy typ automatycznie wygenerowanego zdjęcia. Do wyboru mamy identicon, monsterid oraz wavatar.
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=http%3A%2F%2Fexample.com%2Fimages%2Fexample.jpg
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=identicon
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=monsterid
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=wavatar
Dodając naszego gravatara ustawiamy jego kategorię (oznaczoną literą). I tak:

  • G – może być wyświetlany na wszystkich stronach
  • PG – może zawierać nieprzyjemne treści
  • R – treści nieerotyczne, ale nie dla dzieci
  • X – dostępny na stronach z treścią erotyczną

A oto jak można wygenerować gravatara w C#:
[sourcecode language=”csharp”] protected string GetGravatarUrl(string email) {
var hash = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(email, "MD5");
var gravatarUrl = new StringBuilder();
gravatarUrl.Append("http://www.gravatar.com/avatar/");
gravatarUrl.Append(hash.ToLowerInvariant());
gravatarUrl.Append("?s=60");
gravatarUrl.Append("&r=g");
gravatarUrl.Append("&d=mavatar");
return gravatarUrl.ToString();
}
[/sourcecode] Z metody korzystamy w następujący sposób:
[sourcecode language=”xhtml”] <asp:DataList ID="dlUserList" runat="server">
<itemTemplate>
<img alt=&#039;<%# Eval("UserName") %>&#039; src="<%# GetGravatarUrl(Eval("EmailAddress")) %>" />
</itemTemplate>
</asp:DataList>
[/sourcecode] Można też skorzystać z gotowej kontrolki. Można ją pobrać pod adresem: http://www.freshclickmedia.com/wp-content/uploads/2008/02/gravatar.zip
Opis implementacji kontrolki: http://www.freshclickmedia.com/blog/2008/02/gravatar-aspnet-control/

Share
click & help!
Nakarm dziecko!
Follow me
RESHARPER ESSENTIALS
ReSharper Essentials
CODINGTV();
codingtv();
Twitter Feed
Categories
  • Azure Cloud (6)
  • Po polsku (104)
  • Windows (1)
Featured Posts
  • Azure Activity Log – Change History
    • 2020-09-29
  • Diagram Driven Cloud Infrastructure with Cloud Maker
    • 2020-09-22
  • Azure ARM template, but it is not JSON!
    • 2020-09-15
About
👍 Cloud | DevOps | Development | Technical Leadership | 📗Author of "ReSharper Essentials
© 2019 Łukasz Gąsior. All rights reserved.
hosted with ♥️ on webio | Polityka prywatności

Input your search keywords and press Enter.