protected function filterProjects(array &$projects, array $filters)
{
foreach ($filters as $filter => $value) {
switch ($filter) {
case 'host':
$projects = array_filter($projects, function (Project $project) use($value) {
return $value === parse_url($project->getUri(), PHP_URL_HOST);
});
break;
case 'title':
$projects = array_filter($projects, function (Project $project) use($value) {
return stripos($project->title, $value) !== false;
});
break;
case 'my':
$ownerUuid = $this->api()->getMyAccount()['uuid'];
$projects = array_filter($projects, function (Project $project) use($ownerUuid) {
return $project->owner === $ownerUuid;
});
break;
}
}
}