getGroupMemberships() public method

Get the groups in which the user is a member in.
public getGroupMemberships ( integer $userId ) : array
$userId integer id of the user
return array list of group ids
Beispiel #1
0
/**
 * @param Kimai_Database_Mysql $database
 * @param array $kgaUser
 * @param bool $viewOtherGroupsAllowed
 * @return array
 */
function getEditUserList(Kimai_Database_Mysql $database, $kgaUser, $viewOtherGroupsAllowed)
{
    $users = array();
    $showDeletedUsers = get_cookie('adminPanel_extension_show_deleted_users', 0);
    if ($database->global_role_allows($kgaUser['globalRoleID'], 'core-user-otherGroup-view')) {
        $dbUsers = $database->get_users($showDeletedUsers);
    } else {
        $dbUsers = $database->get_users($showDeletedUsers, $kgaUser['groups']);
    }
    $roles = $database->global_roles();
    foreach ($dbUsers as $user) {
        $user['globalRoleName'] = 'Unknown (' . $user['globalRoleID'] . ')';
        foreach ($roles as $role) {
            if ($role['globalRoleID'] == $user['globalRoleID']) {
                $user['globalRoleName'] = $role['name'];
                break;
            }
        }
        $user['groups'] = array();
        $groups = $database->getGroupMemberships($user['userID']);
        if (is_array($groups)) {
            foreach ($groups as $group) {
                if (!$viewOtherGroupsAllowed && array_search($group, $kgaUser['groups']) === false) {
                    continue;
                }
                $groupData = $database->group_get_data($group);
                $user['groups'][] = $groupData['name'];
            }
        }
        $users[] = $user;
    }
    return $users;
}