public static function getThumbnailGeneratorClassNames($objectManager)
{
/** @var ReflectionService $reflectionService */
$reflectionService = $objectManager->get(ReflectionService::class);
$generatorClassNames = $reflectionService->getAllImplementationClassNamesForInterface(ThumbnailGeneratorInterface::class);
$configurationManager = $objectManager->get(ConfigurationManager::class);
$generatorOptions = $configurationManager->getConfiguration('Settings', 'Neos.Media.thumbnailGenerators');
$generators = array();
foreach ($generatorClassNames as $generatorClassName) {
if (isset($generatorOptions[$generatorClassName]['disable']) && $generatorOptions[$generatorClassName]['disable'] === true) {
continue;
}
if (isset($generatorOptions[$generatorClassName]['priority'])) {
$priority = $generatorOptions[$generatorClassName]['priority'];
} else {
$priority = $generatorClassName::getPriority();
}
$generators[] = array('priority' => (int) $priority, 'className' => $generatorClassName);
}
$sorter = new PositionalArraySorter($generators, 'priority');
return array_reverse($sorter->toArray());
}