25     private $storeManager;
    32     private $themeProvider;
    52         $this->themeProvider = $themeProvider;
    66         foreach ($themePaths as $themePath) {
    67             $theme = $this->themeProvider->getThemeByFullPath($themePath);
    68             $themesById[
$theme->getId()] = $themePath;
    70         $configData = $this->configData
    72             ->addFieldToFilter(
'path', DesignInterface::XML_PATH_THEME_ID)
    73             ->addFieldToFilter(
'value', [
'in' => array_keys($themesById)]);
    74         foreach ($configData as 
$row) {
    75             switch (
$row[
'scope']) {
    77                     $messages[] = 
'<error>' . $themesById[
$row[
'value']] . 
' is in use in default config' . 
'</error>';
    80                     $messages[] = 
'<error>' . $themesById[
$row[
'value']] . 
' is in use in website '    81                         . $this->storeManager->getWebsite(
$row[
'scope_id'])->getName() . 
'</error>';
    84                     $messages[] = 
'<error>' . $themesById[
$row[
'value']] . 
' is in use in store '    85                         . $this->storeManager->getStore(
$row[
'scope_id'])->getName() . 
'</error>';
 
__construct(StoreManagerInterface $storeManager, ThemeProviderInterface $themeProvider, ValueInterface $configData)
validateIsThemeInUse($themePaths)