vendor/store.shopware.com/coewishlistsw6/src/CoeWishlistSw6.php line 19

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace CoeWishlistSw6;
  3. use CoeWishlistSw6\Core\Content\Wishlist\Aggregate\WishlistNoteDefinition;
  4. use CoeWishlistSw6\Core\Content\Wishlist\Aggregate\WishlistNoteEntity;
  5. use CoeWishlistSw6\Core\Content\Wishlist\WishlistDefinition;
  6. use CoeWishlistSw6\Storefront\Seo\SeoUrlRoute\WishlistSeoUrlRoute;
  7. use Doctrine\DBAL\Connection;
  8. use Shopware\Core\Framework\Plugin;
  9. use Shopware\Core\Framework\Plugin\Context\UninstallContext;
  10. use Shopware\Core\Framework\Plugin\Context\InstallContext;
  11. /**
  12.  * Class CoeWishlistSw6
  13.  * @package CoeWishlistSw6
  14.  * @author Jeffry Block <jeffry.block@codeenterprise.de>
  15.  */
  16. class CoeWishlistSw6 extends Plugin
  17. {
  18.     /**
  19.      * @param InstallContext $context
  20.      * @author Jeffry Block <jeffry.block@codeenterprise.de>
  21.      * @throws \Shopware\Core\Framework\DataAbstractionLayer\Exception\InconsistentCriteriaIdsException
  22.      */
  23.     public function install(InstallContext $context): void
  24.     {
  25.         parent::install($context);
  26.     }
  27.     /**
  28.      * @param UninstallContext $context
  29.      * @author Jeffry Block <jeffry.block@codeenterprise.de>
  30.      */
  31.     public function uninstall(UninstallContext $context): void
  32.     {
  33.         parent::uninstall($context);
  34.         if ($context->keepUserData()) {
  35.             return;
  36.         }
  37.         /** @var Connection $con */
  38.         $con $this->container->get("Doctrine\DBAL\Connection");
  39.         $classNames = [
  40.             WishlistNoteDefinition::ENTITY_NAME,
  41.             WishlistDefinition::ENTITY_NAME,
  42.         ];
  43.         foreach ($classNames as $className) {
  44.             $con->executeStatement(\sprintf('DROP TABLE IF EXISTS `%s`'$className));
  45.         }
  46.         $con->executeStatement(sprintf("DELETE FROM seo_url_template WHERE entity_name='%s'"WishlistDefinition::ENTITY_NAME));
  47.         $con->executeStatement(sprintf("DELETE FROM seo_url WHERE route_name='%s'"WishlistSeoUrlRoute::ROUTE_NAME));
  48.     }
  49. }