custom/plugins/CogiEtracker/src/CogiEtracker.php line 11

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Cogi\CogiEtracker;
  3. use Doctrine\DBAL\Connection;
  4. use Exception;
  5. use Shopware\Core\Framework\Plugin;
  6. use Shopware\Core\Framework\Plugin\Context\InstallContext;
  7. use Shopware\Core\Framework\Plugin\Context\UninstallContext;
  8. class CogiEtracker extends Plugin {
  9.     const SERVICEWORKER_CONTENT 'importScripts("https://api.signalize.com/sw.js");';
  10.     public function install(InstallContext $context): void {
  11.         // install signalise service worker file
  12.         file_put_contents('sw.js'self::SERVICEWORKER_CONTENTFILE_APPEND);
  13.     }
  14.     public function uninstall(UninstallContext $context): void
  15.     {
  16.         if ($context->keepUserData()) {
  17.             parent::uninstall($context);
  18.             return;
  19.         }
  20.         // delete service worker if its only signalise content
  21.         $filecontent file_get_contents('sw.js');
  22.         if($filecontent === self::SERVICEWORKER_CONTENT)
  23.             unlink('sw.js');
  24.         $connection $this->container->get(Connection::class);
  25.         $connection->executeStatement('DELETE FROM `system_config` WHERE `configuration_key` LIKE :name;', ['name' => '%CogiEtracker.config%']);
  26.     }
  27. }