getLanguageService(); $extractors = $this->extractorRegistry->getExtractors(); if ($extractors !== []) { $bullets = []; foreach ($extractors as $extractor) { $bullets[] = sprintf( '
  • %s%s
  • ', get_class($extractor), sprintf( $lang->sL('LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.fileStorageExtraction.registeredExtractors.extractor'), $this->formatExtractorClassName($extractor), $extractor->getPriority() ), $this->getBackendUser()->shallDisplayDebugInformation() ? (' [' . get_class($extractor) . ']') : '' ); } $html = '
    ' . htmlspecialchars($lang->sL('LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.fileStorageExtraction.registeredExtractors.with_extractors')) . '
    '; } else { $html = '
    ' . htmlspecialchars($lang->sL('LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.fileStorageExtraction.registeredExtractors.without_extractors')) . '/div>'; } $resultArray['html'] = '
    ' . htmlspecialchars($lang->sL('LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.fileStorageExtraction.registeredExtractors')) . ' ' . $html . '
    '; return $resultArray; } /** * Since the class name can be very long considering the namespace, only take the final * part for better readability. The FQN of the class will be displayed as tooltip. */ private function formatExtractorClassName(ExtractorInterface $extractor): string { $extractorParts = explode('\\', get_class($extractor)); return (string)array_pop($extractorParts); } }