function SvgExtractor::discoverIcons
Overrides IconExtractorInterface::discoverIcons
File
-
core/
lib/ Drupal/ Core/ Theme/ Plugin/ IconExtractor/ SvgExtractor.php, line 39
Class
- SvgExtractor
- Plugin implementation of the icon_extractor.
Namespace
Drupal\Core\Theme\Plugin\IconExtractorCode
public function discoverIcons() : array {
// Check is included in getFilesFromSources(), but we need to disallow
// remote sources before.
$this->checkRequiredConfigSources();
$this->configuration['config']['sources'] = array_filter($this->configuration['config']['sources'], function ($source) {
return empty(parse_url($source, PHP_URL_SCHEME));
});
if (empty($this->configuration['config']['sources'])) {
return [];
}
$files = $this->getFilesFromSources();
if (empty($files)) {
return [];
}
$icons = [];
foreach ($files as $file) {
if (!isset($file['absolute_path']) || empty($file['absolute_path'])) {
continue;
}
$id = IconDefinition::createIconId($this->configuration['id'], $file['icon_id']);
$icons[$id] = [
'absolute_path' => $file['absolute_path'],
'source' => $file['source'],
'group' => $file['group'] ?? NULL,
];
}
return $icons;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.