<?php declare(strict_types=1);
namespace S360\MegaMenu;
use Doctrine\DBAL\Connection;
use S360\MegaMenu\Core\Content\MenuItem\DataAbstractionLayer\MenuItemIndexer;
use Shopware\Core\Framework\DataAbstractionLayer\Indexing\EntityIndexerRegistry;
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\ActivateContext;
use Shopware\Core\Framework\Plugin\Context\UninstallContext;
/**
* Class MegaMenu
*
* Base class of the MegaMenu Plugin by Solution 360 GmbH.
*
* @package S360\MegaMenu
*/
class S360MegaMenu extends Plugin
{
public function activate(ActivateContext $activateContext): void
{
$registry = $this->container->get(EntityIndexerRegistry::class);
$registry->sendIndexingMessage([MenuItemIndexer::INDEXER_NAME]);
}
public function uninstall(UninstallContext $uninstallContext): void
{
if ($uninstallContext->keepUserData()) {
return;
}
$this->removeUserData();
}
private function removeUserData(): void
{
/** @var Connection $connection */
$connection = $this->container->get(Connection::class);
$connection->executeStatement('DROP TABLE IF EXISTS `s360_megamenu_menuitem_translation`');
$connection->executeStatement('DROP TABLE IF EXISTS `s360_megamenu_menuitem`');
$connection->executeStatement('DROP TABLE IF EXISTS `s360_megamenu_menu`');
}
}