- $emailHash = md5(strtolower(trim($user->email)));
- $url = 'https://www.gravatar.com/avatar/' . $emailHash . '?s=' . $size . '&d=identicon';
+ if (!is_string($gravatarUrl) || empty($gravatarUrl)) {
+ $gravatarUrl = 'https://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon';
+ }
+ $email = strtolower(trim($user->email));
+ $gravatarUrl = str_replace('%{hash}', md5($email), $gravatarUrl);
+ $gravatarUrl = str_replace('%{size}', $size, $gravatarUrl);
+ $gravatarUrl = str_replace('%{email}', urlencode($email), $gravatarUrl);