1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.avatar.service;
35
36 import fr.paris.lutece.portal.service.util.AppPropertiesService;
37 import fr.paris.lutece.util.url.UrlItem;
38
39
40
41
42
43 public class GravatarProvider extends AbstractAvatarProvider
44 {
45 private static final String URL_GRAVATAR = "http://www.gravatar.com/avatar/";
46 private static final String PROPERTY_DEFAULT = "avatar.gravatar.default";
47 private static final String PROPERTY_URL_GRAVATAR = "avatar.gravatar.url";
48 private static final String PROPERTY_SIZE = "avatar.gravatar.size";
49 private static final String PROPERTY_RATING = "avatar.gravatar.rating";
50 private static final String PARAMETER_DEFAULT = "d";
51 private static final String PARAMETER_SIZE = "s";
52 private static final String PARAMETER_RATING = "r";
53 private static final String DEFAULT_AVATAR = "mm";
54
55
56
57
58 @Override
59 public String getAvatarUrl( String strAvatarId )
60 {
61 String strUrl;
62
63 String strHash = getHashFromEmail( strAvatarId );
64
65 String strUrlGravatar = AppPropertiesService.getProperty( PROPERTY_URL_GRAVATAR, URL_GRAVATAR );
66 String strDefault = AppPropertiesService.getProperty( PROPERTY_DEFAULT, DEFAULT_AVATAR );
67
68 UrlItem url = new UrlItem( strUrlGravatar + strHash );
69 url.addParameter( PARAMETER_DEFAULT, strDefault );
70
71 String strSize = AppPropertiesService.getProperty( PROPERTY_SIZE );
72
73 if ( ( strSize != null ) && !"".equals( strSize ) )
74 {
75 url.addParameter( PARAMETER_SIZE, strSize );
76 }
77
78 String strRating = AppPropertiesService.getProperty( PROPERTY_RATING );
79
80 if ( ( strRating != null ) && !"".equals( strRating ) )
81 {
82 url.addParameter( PARAMETER_RATING, strRating );
83 }
84
85 strUrl = url.getUrl( );
86
87 return strUrl;
88 }
89 }