I would like to extend the Gravatar support to also use Libravatar, a decentralized avatar service.
First step to extract Gravatar from core and put it into its own plugin. Later the Libravatar plugin can be done, too as a plugin.
$phost = substr($url,strpos($url,'@')+1);
$profile = 'http://' . $phost;
// fix nick character range
- $vcard = array('fn' => $name, 'nick' => $name, 'photo' => gravatar_img($url));
+ $vcard = array('fn' => $name, 'nick' => $name, 'photo' => avatar_img($url));
$notify = 'smtp ' . random_string();
$poll = 'email ' . random_string();
$priority = 0;
}
if((! $vcard['photo']) && strlen($email))
- $vcard['photo'] = gravatar_img($email);
+ $vcard['photo'] = avatar_img($email);
if($poll === $profile)
$lnk = $feed->get_permalink();
if(isset($lnk) && strlen($lnk))
}}
-if(! function_exists('gravatar_img')) {
-function gravatar_img($email) {
+if(! function_exists('avatar_img')) {
+function avatar_img($email) {
$size = 175;
$opt = 'identicon'; // psuedo-random geometric pattern if not found
$rating = 'pg';
$hash = md5(trim(strtolower($email)));
-
+
$url = 'http://www.gravatar.com/avatar/' . $hash . '.jpg'
. '?s=' . $size . '&d=' . $opt . '&r=' . $rating;
require_once('include/Photo.php');
if(($use_gravatar) && (! strlen($photo)))
- $photo = gravatar_img($email);
+ $photo = avatar_img($email);
$photo_failure = false;
$filename = basename($photo);
if($img->is_valid()) {
$img->scaleImageSquare(175);
-
+
$hash = photo_new_resource();
$r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4 );