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

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Cbax\ModulLexicon;
  3. use Shopware\Core\Framework\Plugin;
  4. use Shopware\Core\Framework\Plugin\Context\InstallContext;
  5. use Shopware\Core\Framework\Plugin\Context\UninstallContext;
  6. use Shopware\Core\Framework\Plugin\Context\ActivateContext;
  7. use Shopware\Core\Framework\Plugin\Context\DeactivateContext;
  8. use Shopware\Core\Framework\Plugin\Context\UpdateContext;
  9. use Cbax\ModulLexicon\Bootstrap\DefaultConfig;
  10. use Cbax\ModulLexicon\Bootstrap\Database;
  11. use Cbax\ModulLexicon\Bootstrap\Updater;
  12. use Symfony\Component\Config\FileLocator;
  13. use Symfony\Component\DependencyInjection\ContainerBuilder;
  14. use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
  15. class CbaxModulLexicon extends Plugin
  16. {
  17.     public function install(InstallContext $context): void
  18.     {
  19.         parent::install($context);
  20.         $db = new Database();
  21.         $db->updateDatabaseTables($this->container);
  22.     }
  23.     public function update(UpdateContext $context): void
  24.     {
  25.         $db = new Database();
  26.         $db->updateDatabaseTables($this->container);
  27.         $builder = new DefaultConfig();
  28.         $builder->activate($this->container);
  29.         $update = new Updater();
  30.         $update->updateScheduledTask($this->container$context);
  31.         parent::update($context);
  32.     }
  33.     public function uninstall(UninstallContext $context): void
  34.     {
  35.         parent::uninstall($context);
  36.         if ($context->keepUserData()) {
  37.             return;
  38.         }
  39.         // Datenbank Tabellen löschen (erst wenn keepUserData funktioniert)
  40.         $db = new Database();
  41.         //$db->removeDatabaseTables($this->container);
  42.     }
  43.     public function activate(ActivateContext $context): void
  44.     {
  45.         $builder = new DefaultConfig();
  46.         $builder->activate($this->container);
  47.         parent::activate($context);
  48.     }
  49.     public function deactivate(DeactivateContext $context): void
  50.     {
  51.         parent::deactivate($context);
  52.     }
  53.     /**
  54.      * Load services.xml to add cms data resolver services
  55.      * @param ContainerBuilder $container
  56.      * @throws \Exception
  57.      */
  58.     public function build(ContainerBuilder $container): void
  59.     {
  60.         parent::build($container);
  61.         $loader = new XmlFileLoader($container, new FileLocator($this->getPath() . '/Core/Content/DependencyInjection'));
  62.         $loader->load('services.xml');
  63.     }
  64. }