From 2e320ceeadf5e134352a9bb83efff93964a40f81 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 19 Mar 2016 13:45:41 -0400 Subject: Handle multiple avatar sizes --- app/Core/User/UserSession.php | 11 ++++++ app/Helper/AvatarHelper.php | 64 ++++++++++++++++++++++++++++++++++ app/Helper/UserHelper.php | 23 +----------- app/ServiceProvider/HelperProvider.php | 1 + app/Template/comment/show.php | 2 +- app/Template/event/events.php | 2 +- app/Template/header.php | 2 +- 7 files changed, 80 insertions(+), 25 deletions(-) create mode 100644 app/Helper/AvatarHelper.php (limited to 'app') diff --git a/app/Core/User/UserSession.php b/app/Core/User/UserSession.php index 534e5192..e494e7b4 100644 --- a/app/Core/User/UserSession.php +++ b/app/Core/User/UserSession.php @@ -35,6 +35,17 @@ class UserSession extends Base $this->sessionStorage->postAuthenticationValidated = false; } + /** + * Get user properties + * + * @access public + * @return array + */ + public function getAll() + { + return $this->sessionStorage->user; + } + /** * Get user application role * diff --git a/app/Helper/AvatarHelper.php b/app/Helper/AvatarHelper.php new file mode 100644 index 00000000..c4e27ed9 --- /dev/null +++ b/app/Helper/AvatarHelper.php @@ -0,0 +1,64 @@ +avatarManager->renderDefault($size); + } else { + $html = $this->avatarManager->render($user_id, $username, $name, $email, $size); + } + + return '
'.$html.'
'; + } + + /** + * Render small user avatar + * + * @access public + * @param string $user_id + * @param string $username + * @param string $name + * @param string $email + * @return string + */ + public function small($user_id, $username, $name, $email, $css = '') + { + return $this->render($user_id, $username, $name, $email, $css, 20); + } + + /** + * Get a small avatar for the current user + * + * @access public + * @return string + */ + public function currentUserSmall($css = '') + { + $user = $this->userSession->getAll(); + return $this->small($user['id'], $user['username'], $user['name'], $user['email'], $css); + } +} diff --git a/app/Helper/UserHelper.php b/app/Helper/UserHelper.php index c60c35c2..ee7d8ba5 100644 --- a/app/Helper/UserHelper.php +++ b/app/Helper/UserHelper.php @@ -156,27 +156,6 @@ class UserHelper extends Base */ public function getFullname(array $user = array()) { - return $this->user->getFullname(empty($user) ? $this->sessionStorage->user : $user); - } - - /** - * Display avatar - * - * @access public - * @param string $user_id - * @param string $username - * @param string $name - * @param string $email - * @return string - */ - public function avatar($user_id, $username, $name, $email) - { - if (empty($user_id) && empty($username)) { - $html = $this->avatarManager->renderDefault(48); - } else { - $html = $this->avatarManager->render($user_id, $username, $name, $email, 48); - } - - return '
'.$html.'
'; + return $this->user->getFullname(empty($user) ? $this->userSession->getAll() : $user); } } diff --git a/app/ServiceProvider/HelperProvider.php b/app/ServiceProvider/HelperProvider.php index 42a0c85e..37be5a05 100644 --- a/app/ServiceProvider/HelperProvider.php +++ b/app/ServiceProvider/HelperProvider.php @@ -26,6 +26,7 @@ class HelperProvider implements ServiceProviderInterface $container['helper']->register('text', '\Kanboard\Helper\TextHelper'); $container['helper']->register('url', '\Kanboard\Helper\UrlHelper'); $container['helper']->register('user', '\Kanboard\Helper\UserHelper'); + $container['helper']->register('avatar', '\Kanboard\Helper\AvatarHelper'); $container['template'] = new Template($container['helper']); diff --git a/app/Template/comment/show.php b/app/Template/comment/show.php index ebf4142b..ce456c5d 100644 --- a/app/Template/comment/show.php +++ b/app/Template/comment/show.php @@ -1,6 +1,6 @@
- user->avatar($comment['user_id'], $comment['username'], $comment['name'], $comment['email']) ?> + avatar->render($comment['user_id'], $comment['username'], $comment['name'], $comment['email']) ?>
diff --git a/app/Template/event/events.php b/app/Template/event/events.php index 097da318..6bef8df4 100644 --- a/app/Template/event/events.php +++ b/app/Template/event/events.php @@ -17,7 +17,7 @@  dt->datetime($event['date_creation']) ?>

- user->avatar( + avatar->render( $event['creator_id'], $event['author_username'], $event['author_name'], diff --git a/app/Template/header.php b/app/Template/header.php index d891118c..a8fd47f2 100644 --- a/app/Template/header.php +++ b/app/Template/header.php @@ -58,7 +58,7 @@