Handle multiple avatar sizes
This commit is contained in:
@@ -35,6 +35,17 @@ class UserSession extends Base
|
|||||||
$this->sessionStorage->postAuthenticationValidated = false;
|
$this->sessionStorage->postAuthenticationValidated = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user properties
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getAll()
|
||||||
|
{
|
||||||
|
return $this->sessionStorage->user;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get user application role
|
* Get user application role
|
||||||
*
|
*
|
||||||
|
|||||||
64
app/Helper/AvatarHelper.php
Normal file
64
app/Helper/AvatarHelper.php
Normal file
@@ -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())
|
public function getFullname(array $user = array())
|
||||||
{
|
{
|
||||||
return $this->user->getFullname(empty($user) ? $this->sessionStorage->user : $user);
|
return $this->user->getFullname(empty($user) ? $this->userSession->getAll() : $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>';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ class HelperProvider implements ServiceProviderInterface
|
|||||||
$container['helper']->register('text', '\Kanboard\Helper\TextHelper');
|
$container['helper']->register('text', '\Kanboard\Helper\TextHelper');
|
||||||
$container['helper']->register('url', '\Kanboard\Helper\UrlHelper');
|
$container['helper']->register('url', '\Kanboard\Helper\UrlHelper');
|
||||||
$container['helper']->register('user', '\Kanboard\Helper\UserHelper');
|
$container['helper']->register('user', '\Kanboard\Helper\UserHelper');
|
||||||
|
$container['helper']->register('avatar', '\Kanboard\Helper\AvatarHelper');
|
||||||
|
|
||||||
$container['template'] = new Template($container['helper']);
|
$container['template'] = new Template($container['helper']);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<div class="comment <?= isset($preview) ? 'comment-preview' : '' ?>" id="comment-<?= $comment['id'] ?>">
|
<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">
|
<div class="comment-title">
|
||||||
<?php if (! empty($comment['username'])): ?>
|
<?php if (! empty($comment['username'])): ?>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<?= $this->dt->datetime($event['date_creation']) ?>
|
<?= $this->dt->datetime($event['date_creation']) ?>
|
||||||
</p>
|
</p>
|
||||||
<div class="activity-content">
|
<div class="activity-content">
|
||||||
<?= $this->user->avatar(
|
<?= $this->avatar->render(
|
||||||
$event['creator_id'],
|
$event['creator_id'],
|
||||||
$event['author_username'],
|
$event['author_username'],
|
||||||
$event['author_name'],
|
$event['author_name'],
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
|
||||||
<div class="dropdown">
|
<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>
|
<ul>
|
||||||
<li class="no-hover"><strong><?= $this->text->e($this->user->getFullname()) ?></strong></li>
|
<li class="no-hover"><strong><?= $this->text->e($this->user->getFullname()) ?></strong></li>
|
||||||
<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;
|
float: left;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar img,
|
.avatar-inline {
|
||||||
.avatar div {
|
display: inline-block;
|
||||||
|
margin-right: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-48 img,
|
||||||
|
.avatar-48 div {
|
||||||
border-radius: 30px;
|
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 {
|
.avatar-letter {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
line-height: 48px;
|
|
||||||
width: 48px;
|
|
||||||
font-size: 25px;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user