diff options
| author | Frederic Guillot <fred@kanboard.net> | 2016-03-04 20:10:34 -0500 |
|---|---|---|
| committer | Frederic Guillot <fred@kanboard.net> | 2016-03-04 20:10:34 -0500 |
| commit | 8f3e2b2e5c62a6130f6c8867ab335fb4c1a32c5c (patch) | |
| tree | ce28cdc2dba9c31560ef753ac1b4dc39d567b7a6 /app/Helper/User.php | |
| parent | f32507d423c46e8e9612b5239728e6c617e4cbcb (diff) | |
Helper refactoring
Diffstat (limited to 'app/Helper/User.php')
| -rw-r--r-- | app/Helper/User.php | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/app/Helper/User.php b/app/Helper/User.php deleted file mode 100644 index 29844dfb..00000000 --- a/app/Helper/User.php +++ /dev/null @@ -1,176 +0,0 @@ -<?php - -namespace Kanboard\Helper; - -/** - * User helpers - * - * @package helper - * @author Frederic Guillot - */ -class User extends \Kanboard\Core\Base -{ - /** - * Return true if the logged user as unread notifications - * - * @access public - * @return boolean - */ - public function hasNotifications() - { - return $this->userUnreadNotification->hasNotifications($this->userSession->getId()); - } - - /** - * Get initials from a user - * - * @access public - * @param string $name - * @return string - */ - public function getInitials($name) - { - $initials = ''; - - foreach (explode(' ', $name) as $string) { - $initials .= mb_substr($string, 0, 1); - } - - return mb_strtoupper($initials); - } - - /** - * Get user id - * - * @access public - * @return integer - */ - public function getId() - { - return $this->userSession->getId(); - } - - /** - * Check if the given user_id is the connected user - * - * @param integer $user_id User id - * @return boolean - */ - public function isCurrentUser($user_id) - { - return $this->userSession->getId() == $user_id; - } - - /** - * Return if the logged user is admin - * - * @access public - * @return boolean - */ - public function isAdmin() - { - return $this->userSession->isAdmin(); - } - - /** - * Get role name - * - * @access public - * @param string $role - * @return string - */ - public function getRoleName($role = '') - { - return $this->role->getRoleName($role ?: $this->userSession->getRole()); - } - - /** - * Check application access - * - * @param string $controller - * @param string $action - * @return bool - */ - public function hasAccess($controller, $action) - { - $key = 'app_access:'.$controller.$action; - $result = $this->memoryCache->get($key); - - if ($result === null) { - $result = $this->applicationAuthorization->isAllowed($controller, $action, $this->userSession->getRole()); - $this->memoryCache->set($key, $result); - } - - return $result; - } - - /** - * Check project access - * - * @param string $controller - * @param string $action - * @param integer $project_id - * @return bool - */ - public function hasProjectAccess($controller, $action, $project_id) - { - if ($this->userSession->isAdmin()) { - return true; - } - - if (! $this->hasAccess($controller, $action)) { - return false; - } - - $key = 'project_access:'.$controller.$action.$project_id; - $result = $this->memoryCache->get($key); - - if ($result === null) { - $role = $this->getProjectUserRole($project_id); - $result = $this->projectAuthorization->isAllowed($controller, $action, $role); - $this->memoryCache->set($key, $result); - } - - return $result; - } - - /** - * Get project role for the current user - * - * @access public - * @param integer $project_id - * @return string - */ - public function getProjectUserRole($project_id) - { - return $this->memoryCache->proxy($this->projectUserRole, 'getUserRole', $project_id, $this->userSession->getId()); - } - - /** - * Return the user full name - * - * @param array $user User properties - * @return string - */ - public function getFullname(array $user = array()) - { - return $this->user->getFullname(empty($user) ? $this->sessionStorage->user : $user); - } - - /** - * Display gravatar image - * - * @access public - * @param string $email - * @param string $alt - * @return string - */ - public function avatar($email, $alt = '') - { - if (! empty($email) && $this->config->get('integration_gravatar') == 1) { - return '<img class="avatar" src="https://www.gravatar.com/avatar/'.md5(strtolower($email)).'?s=25" alt="'.$this->helper->e($alt).'" title="'.$this->helper->e($alt).'">'; - } - - return ''; - } -} |
