![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Css/PreProcessor/File/Collector/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Css\PreProcessor\File\Collector; use Magento\Framework\View\Design\ThemeInterface; use Magento\Framework\View\File\CollectorInterface; use Magento\Framework\View\File\FileList\Factory; use Psr\Log\LoggerInterface; /** * Source of layout files aggregated from a theme and its parents according to merging and overriding conventions */ class Aggregated implements CollectorInterface { /** * @var Factory */ protected $fileListFactory; /** * @var \Magento\Framework\View\File\CollectorInterface */ protected $libraryFiles; /** * @var \Magento\Framework\View\File\CollectorInterface */ protected $baseFiles; /** * @var \Magento\Framework\View\File\CollectorInterface */ protected $overriddenBaseFiles; /** * @var LoggerInterface */ protected $logger; /** * @param Factory $fileListFactory * @param CollectorInterface $libraryFiles * @param CollectorInterface $baseFiles * @param CollectorInterface $overriddenBaseFiles * @param LoggerInterface $logger */ public function __construct( Factory $fileListFactory, CollectorInterface $libraryFiles, CollectorInterface $baseFiles, CollectorInterface $overriddenBaseFiles, LoggerInterface $logger ) { $this->fileListFactory = $fileListFactory; $this->libraryFiles = $libraryFiles; $this->baseFiles = $baseFiles; $this->overriddenBaseFiles = $overriddenBaseFiles; $this->logger = $logger; } /** * Retrieve files * * Aggregate source files from modules and a theme and its ancestors * * @param \Magento\Framework\View\Design\ThemeInterface $theme * @param string $filePath * @return \Magento\Framework\View\File[] * @throws \LogicException */ public function getFiles(ThemeInterface $theme, $filePath) { $list = $this->fileListFactory->create(\Magento\Framework\Css\PreProcessor\File\FileList\Collator::class); $list->add($this->libraryFiles->getFiles($theme, $filePath)); $list->add($this->baseFiles->getFiles($theme, $filePath)); foreach ($theme->getInheritedThemes() as $currentTheme) { $files = $this->overriddenBaseFiles->getFiles($currentTheme, $filePath); $list->replace($files); } $result = $list->getAll(); if (empty($result)) { $this->logger->notice( 'magento_import returns empty result by path ' . $filePath . ' for theme ' . $theme->getCode() ); } return $result; } }