/**
* @param Kimai_Database_Mysql $database
* @param array $kgaUser
* @param bool $viewOtherGroupsAllowed
* @return array
*/
function getProjectsData(Kimai_Database_Mysql $database, $kgaUser, $viewOtherGroupsAllowed)
{
if ($database->global_role_allows($kgaUser['globalRoleID'], 'core-project-otherGroup-view')) {
$projects = $database->get_projects();
} else {
$projects = $database->get_projects($kgaUser['groups']);
}
$result = array();
if ($projects !== null && is_array($projects)) {
foreach ($projects as $row => $project) {
$groupNames = array();
foreach ($database->project_get_groupIDs($project['projectID']) as $groupID) {
if (!$viewOtherGroupsAllowed && array_search($groupID, $kgaUser['groups']) === false) {
continue;
}
$data = $database->group_get_data($groupID);
$groupNames[] = $data['name'];
}
$projects[$row]['groups'] = implode(", ", $groupNames);
}
$result['projects'] = $projects;
}
return $result;
}