don't get the config for the same mount multiple times

This commit is contained in:
Robin Appelman 2016-04-25 13:50:19 +02:00 committed by Vincent Petry
parent 5925ab99f8
commit d436326e19
No known key found for this signature in database
GPG Key ID: AF8F9EFC56562186
1 changed files with 11 additions and 2 deletions

View File

@ -322,10 +322,19 @@ class DBConfigService {
private function getMountsFromQuery(IQueryBuilder $query) {
$result = $query->execute();
$mounts = $result->fetchAll();
$uniqueMounts = [];
foreach ($mounts as $mount) {
$id = $mount['mount_id'];
if (!isset($uniqueMounts[$id])) {
$uniqueMounts[$id] = $mount;
}
}
$uniqueMounts = array_values($uniqueMounts);
$mountIds = array_map(function ($mount) {
return $mount['mount_id'];
}, $mounts);
}, $uniqueMounts);
$mountIds = array_values(array_unique($mountIds));
$applicable = $this->getApplicableForMounts($mountIds);
$config = $this->getConfigForMounts($mountIds);
@ -338,7 +347,7 @@ class DBConfigService {
$mount['config'] = $config;
$mount['options'] = $options;
return $mount;
}, $mounts, $applicable, $config, $options);
}, $uniqueMounts, $applicable, $config, $options);
}
/**