sogo/UI/WebServerResources/js/Common/Gravatar.service.js
2015-09-04 09:09:43 -04:00

41 lines
1.1 KiB
JavaScript

/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
(function() {
'use strict';
/**
* Gravatar - A service to build the Gravatar URL for an email address
* @memberof SOGo.Common
* @param {string} email
* @param {number} [size] - the size of the image
* @ngInject
*/
function Gravatar() {
return function(email, size) {
var x, y, hash, s = size;
if (!email) {
return '';
}
x = email.indexOf('<');
if (x >= 0) {
y = email.indexOf('>', x);
if (y > x)
email = email.substring(x+1,y);
}
if (!size) {
s = 48; // default to 48 pixels
}
hash = email.md5();
return 'https://www.gravatar.com/avatar/' + hash + '?s=' + s + '&d=404';
//return 'https://www.gravatar.com/avatar/' + hash + '?s=' + s + '&d=retro';
// return 'https://www.gravatar.com/avatar/' + hash + '?s=' + s + '&d=identicon';
// return 'https://www.gravatar.com/avatar/' + hash + '?s=' + s + '&d=wavatar';
};
}
angular
.module('SOGo.Common')
.factory('Gravatar', Gravatar);
})();