From b9bb0888422587a58221f103945105cba32e38e2 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 19 Mar 2016 12:17:34 -0400 Subject: Render default avatar provider when having no user linked --- app/Core/User/Avatar/AvatarManager.php | 26 ++++++++++++++++++++++++++ app/Helper/UserHelper.php | 7 ++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/app/Core/User/Avatar/AvatarManager.php b/app/Core/User/Avatar/AvatarManager.php index afaf79d2..71bd8aa5 100644 --- a/app/Core/User/Avatar/AvatarManager.php +++ b/app/Core/User/Avatar/AvatarManager.php @@ -61,4 +61,30 @@ class AvatarManager return ''; } + + /** + * Render default provider for unknown users (first provider registered) + * + * @access public + * @param integer $size + * @return string + */ + public function renderDefault($size) + { + if (count($this->providers) > 0) { + ksort($this->providers); + $provider = current($this->providers); + + $user = array( + 'id' => 0, + 'username' => '', + 'name' => '?', + 'email' => '', + ); + + return $provider->render($user, $size); + } + + return ''; + } } diff --git a/app/Helper/UserHelper.php b/app/Helper/UserHelper.php index 90f84033..c60c35c2 100644 --- a/app/Helper/UserHelper.php +++ b/app/Helper/UserHelper.php @@ -171,7 +171,12 @@ class UserHelper extends Base */ public function avatar($user_id, $username, $name, $email) { - $html = $this->avatarManager->render($user_id, $username, $name, $email, 48); + if (empty($user_id) && empty($username)) { + $html = $this->avatarManager->renderDefault(48); + } else { + $html = $this->avatarManager->render($user_id, $username, $name, $email, 48); + } + return '
'.$html.'
'; } } -- cgit v1.2.3