RecurringData.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Theme\Setup;
  7. use Magento\Framework\Indexer\IndexerRegistry;
  8. use Magento\Framework\Setup\InstallDataInterface;
  9. use Magento\Framework\Setup\ModuleContextInterface;
  10. use Magento\Framework\Setup\ModuleDataSetupInterface;
  11. use Magento\Theme\Model\Theme\Registration;
  12. use Magento\Theme\Model\Data\Design\Config;
  13. /**
  14. * Upgrade registered themes
  15. */
  16. class RecurringData implements InstallDataInterface
  17. {
  18. /**
  19. * Theme registration
  20. *
  21. * @var Registration
  22. */
  23. private $themeRegistration;
  24. /**
  25. * @var IndexerRegistry
  26. */
  27. private $indexerRegistry;
  28. /**
  29. * Init
  30. *
  31. * @param Registration $themeRegistration
  32. * @param IndexerRegistry $indexerRegistry
  33. */
  34. public function __construct(Registration $themeRegistration, IndexerRegistry $indexerRegistry)
  35. {
  36. $this->themeRegistration = $themeRegistration;
  37. $this->indexerRegistry = $indexerRegistry;
  38. }
  39. /**
  40. * {@inheritdoc}
  41. */
  42. public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
  43. {
  44. $indexer = $this->indexerRegistry->get(Config::DESIGN_CONFIG_GRID_INDEXER_ID);
  45. $indexer->reindexAll();
  46. $this->themeRegistration->register();
  47. }
  48. }