Handle multiple avatar sizes
This commit is contained in:
parent
fe85d83621
commit
2e320ceead
|
|
@ -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
|
||||
*
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Helper;
|
||||
|
||||
use Kanboard\Core\Base;
|
||||
|
||||
/**
|
||||
* Avatar Helper
|
||||
*
|
||||
* @package helper
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class AvatarHelper extends Base
|
||||
{
|
||||
/**
|
||||
* Render user avatar
|
||||
*
|
||||
* @access public
|
||||
* @param string $user_id
|
||||
* @param string $username
|
||||
* @param string $name
|
||||
* @param string $email
|
||||
* @param string $css
|
||||
* @param int $size
|
||||
* @return string
|
||||
*/
|
||||
public function render($user_id, $username, $name, $email, $css = 'avatar-left', $size = 48)
|
||||
{
|
||||
if (empty($user_id) && empty($username)) {
|
||||
$html = $this->avatarManager->renderDefault($size);
|
||||
} else {
|
||||
$html = $this->avatarManager->render($user_id, $username, $name, $email, $size);
|
||||
}
|
||||
|
||||
return '<div class="avatar avatar-'.$size.' '.$css.'">'.$html.'</div>';
|
||||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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 '<div class="avatar">'.$html.'</div>';
|
||||
return $this->user->getFullname(empty($user) ? $this->userSession->getAll() : $user);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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']);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<div class="comment <?= isset($preview) ? 'comment-preview' : '' ?>" id="comment-<?= $comment['id'] ?>">
|
||||
|
||||
<?= $this->user->avatar($comment['user_id'], $comment['username'], $comment['name'], $comment['email']) ?>
|
||||
<?= $this->avatar->render($comment['user_id'], $comment['username'], $comment['name'], $comment['email']) ?>
|
||||
|
||||
<div class="comment-title">
|
||||
<?php if (! empty($comment['username'])): ?>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<?= $this->dt->datetime($event['date_creation']) ?>
|
||||
</p>
|
||||
<div class="activity-content">
|
||||
<?= $this->user->avatar(
|
||||
<?= $this->avatar->render(
|
||||
$event['creator_id'],
|
||||
$event['author_username'],
|
||||
$event['author_name'],
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
<?php endif ?>
|
||||
|
||||
<div class="dropdown">
|
||||
<a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-user fa-fw"></i><i class="fa fa-caret-down"></i></a>
|
||||
<a href="#" class="dropdown-menu dropdown-menu-link-icon"><?= $this->avatar->currentUserSmall('avatar-inline') ?><i class="fa fa-caret-down"></i></a>
|
||||
<ul>
|
||||
<li class="no-hover"><strong><?= $this->text->e($this->user->getFullname()) ?></strong></li>
|
||||
<li>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,17 +1,40 @@
|
|||
.avatar {
|
||||
.avatar img {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.avatar-left {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.avatar img,
|
||||
.avatar div {
|
||||
.avatar-inline {
|
||||
display: inline-block;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.avatar-48 img,
|
||||
.avatar-48 div {
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
.avatar-48 .avatar-letter {
|
||||
line-height: 48px;
|
||||
width: 48px;
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
.avatar-20 img,
|
||||
.avatar-20 div {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.avatar-20 .avatar-letter {
|
||||
line-height: 20px;
|
||||
width: 20px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.avatar-letter {
|
||||
color: #fff;
|
||||
line-height: 48px;
|
||||
width: 48px;
|
||||
font-size: 25px;
|
||||
text-align: center;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue