| | <?php |
| |
|
| | namespace Kanboard\Helper; |
| |
|
| | use Kanboard\Core\Base; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class UserHelper extends Base |
| | { |
| | public function getTheme() |
| | { |
| | return $this->userSession->getTheme(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function hasSubtaskListActivated() |
| | { |
| | return $this->userSession->hasSubtaskListActivated(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function hasNotifications() |
| | { |
| | return $this->userUnreadNotificationModel->hasNotifications($this->userSession->getId()); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getInitials($name) |
| | { |
| | $initials = ''; |
| |
|
| | foreach (explode(' ', $name, 2) as $string) { |
| | $initials .= mb_substr($string, 0, 1, 'UTF-8'); |
| | } |
| |
|
| | return mb_strtoupper($initials, 'UTF-8'); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getFullname(array $user = array()) |
| | { |
| | $user = empty($user) ? $this->userSession->getAll() : $user; |
| | return $user['name'] ?: $user['username']; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getId() |
| | { |
| | return $this->userSession->getId(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function isCurrentUser($user_id) |
| | { |
| | return $this->userSession->getId() == $user_id; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function isAdmin() |
| | { |
| | return $this->userSession->isAdmin(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getRoleName($role = '') |
| | { |
| | return $this->role->getRoleName($role ?: $this->userSession->getRole()); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getUsersGroupNames($userID) |
| | { |
| | $groupsList = array_column($this->groupMemberModel->getGroups($userID), 'name'); |
| | $limitedList = $groupsList; |
| | $total = count($groupsList); |
| |
|
| | if ($total > 0 && SHOW_GROUP_MEMBERSHIPS_IN_USERLIST_WITH_LIMIT > 0) { |
| | $limitedList = array_slice($groupsList, 0 , SHOW_GROUP_MEMBERSHIPS_IN_USERLIST_WITH_LIMIT); |
| | } |
| |
|
| | return [ |
| | 'full_list' => $groupsList, |
| | 'limited_list' => $limitedList, |
| | 'has_groups' => $total > 0, |
| | 'total' => $total, |
| | 'shown' => count($limitedList), |
| | ]; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function hasAccess($controller, $action) |
| | { |
| | if (! $this->userSession->isLogged()) { |
| | return false; |
| | } |
| |
|
| | $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; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function hasProjectAccess($controller, $action, $project_id) |
| | { |
| | $key = 'project_access:'.$controller.$action.$project_id; |
| | $result = $this->memoryCache->get($key); |
| |
|
| | if ($result === null) { |
| | $result = $this->helper->projectRole->checkProjectAccess($controller, $action, $project_id); |
| | $this->memoryCache->set($key, $result); |
| | } |
| |
|
| | return $result; |
| | } |
| | } |
| |
|