Neos\Media\Domain\Strategy\ThumbnailGeneratorStrategy::getThumbnailGeneratorClassNames PHP Method

getThumbnailGeneratorClassNames() public static method

Returns all class names implementing the ThumbnailGeneratorInterface.
public static getThumbnailGeneratorClassNames ( Neos\Flow\ObjectManagement\ObjectManagerInterface $objectManager ) : Neos\Media\Domain\Model\ThumbnailGenerator\ThumbnailGeneratorInterface[]
$objectManager Neos\Flow\ObjectManagement\ObjectManagerInterface
return Neos\Media\Domain\Model\ThumbnailGenerator\ThumbnailGeneratorInterface[]
    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());
    }