custom/plugins/S360MegaMenu/src/S360MegaMenu.php line 19

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace S360\MegaMenu;
  3. use Doctrine\DBAL\Connection;
  4. use S360\MegaMenu\Core\Content\MenuItem\DataAbstractionLayer\MenuItemIndexer;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Indexing\EntityIndexerRegistry;
  6. use Shopware\Core\Framework\Plugin;
  7. use Shopware\Core\Framework\Plugin\Context\ActivateContext;
  8. use Shopware\Core\Framework\Plugin\Context\UninstallContext;
  9. /**
  10.  * Class MegaMenu
  11.  *
  12.  * Base class of the MegaMenu Plugin by Solution 360 GmbH.
  13.  *
  14.  * @package S360\MegaMenu
  15.  */
  16. class S360MegaMenu extends Plugin
  17. {
  18.     public function activate(ActivateContext $activateContext): void
  19.     {
  20.         $registry $this->container->get(EntityIndexerRegistry::class);
  21.         $registry->sendIndexingMessage([MenuItemIndexer::INDEXER_NAME]);
  22.     }
  23.     public function uninstall(UninstallContext $uninstallContext): void
  24.     {
  25.         if ($uninstallContext->keepUserData()) {
  26.             return;
  27.         }
  28.         $this->removeUserData();
  29.     }
  30.     private function removeUserData(): void
  31.     {
  32.         /** @var Connection $connection */
  33.         $connection $this->container->get(Connection::class);
  34.         $connection->executeStatement('DROP TABLE IF EXISTS `s360_megamenu_menuitem_translation`');
  35.         $connection->executeStatement('DROP TABLE IF EXISTS `s360_megamenu_menuitem`');
  36.         $connection->executeStatement('DROP TABLE IF EXISTS `s360_megamenu_menu`');
  37.     }
  38. }