custom/plugins/SwagB2bPlatform/SwagB2bPlatform/SwagB2bPlatform.php line 19

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace SwagB2bPlatform;
  3. use Shopware\B2B\Common\B2BContainerBuilder;
  4. use Shopware\B2B\Common\Version\ShopwareVersion;
  5. use Shopware\Core\Framework\Plugin;
  6. use Shopware\Core\Framework\Plugin\Context\InstallContext;
  7. use Shopware\Core\Framework\Plugin\Context\UpdateContext;
  8. use SwagB2bPlatform\Resources\DependencyInjection\SwagB2bPlatformAdministrationConfiguration;
  9. use SwagB2bPlatform\Resources\DependencyInjection\SwagB2bPlatformApiConfiguration;
  10. use SwagB2bPlatform\Resources\DependencyInjection\SwagB2bPlatformFrontendConfiguration;
  11. use Symfony\Component\DependencyInjection\ContainerBuilder;
  12. use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
  13. use Symfony\Component\Routing\RouteCollectionBuilder;
  14. use function file_exists;
  15. if (ShopwareVersion::isSymfony5()) {
  16.     class SwagB2bPlatform extends Plugin
  17.     {
  18.         public static function isPackage(): bool
  19.         {
  20.             return file_exists(self::getPackageVendorAutoload());
  21.         }
  22.         public static function getPackageVendorAutoload(): string
  23.         {
  24.             return __DIR__ '/../vendor/autoload.php';
  25.         }
  26.         /**
  27.          * @return string[]
  28.          */
  29.         public static function getMigrationPaths(): array
  30.         {
  31.             if (self::isPackage()) {
  32.                 return [
  33.                     __DIR__ '/Resources/Migration',
  34.                 ];
  35.             }
  36.             return [
  37.                 __DIR__ '/../../components/SwagB2bPlatform/Resources/Migration',
  38.             ];
  39.         }
  40.         public function install(InstallContext $context): void
  41.         {
  42.             (new SetUp($this->container))->setUp(self::getMigrationPaths());
  43.         }
  44.         public function update(UpdateContext $context): void
  45.         {
  46.             (new SetUp($this->container))->setUp(self::getMigrationPaths());
  47.         }
  48.         public function build(ContainerBuilder $container): void
  49.         {
  50.             parent::build($container);
  51.             $containerBuilder B2BContainerBuilder::create();
  52.             $containerBuilder->addConfiguration(new SwagB2bPlatformFrontendConfiguration());
  53.             $containerBuilder->addConfiguration(new SwagB2bPlatformAdministrationConfiguration());
  54.             $containerBuilder->addConfiguration(new SwagB2bPlatformApiConfiguration());
  55.             $containerBuilder->registerConfigurations($container);
  56.         }
  57.         public function configureRoutes(RoutingConfigurator $routesstring $environment): void
  58.         {
  59.             parent::configureRoutes($routes$environment);
  60.             $routes->import('.''b2b');
  61.         }
  62.         protected function getServicesFilePath(): string
  63.         {
  64.             return 'Resources/config/services.xml';
  65.         }
  66.     }
  67. } else {
  68.     class SwagB2bPlatform extends Plugin
  69.     {
  70.         public static function isPackage(): bool
  71.         {
  72.             return file_exists(self::getPackageVendorAutoload());
  73.         }
  74.         public static function getPackageVendorAutoload(): string
  75.         {
  76.             return __DIR__ '/../vendor/autoload.php';
  77.         }
  78.         /**
  79.          * @return string[]
  80.          */
  81.         public static function getMigrationPaths(): array
  82.         {
  83.             if (self::isPackage()) {
  84.                 return [
  85.                     __DIR__ '/Resources/Migration',
  86.                 ];
  87.             }
  88.             return [
  89.                 __DIR__ '/../../components/SwagB2bPlatform/Resources/Migration',
  90.             ];
  91.         }
  92.         public function install(InstallContext $context): void
  93.         {
  94.             (new SetUp($this->container))->setUp(self::getMigrationPaths());
  95.         }
  96.         public function update(UpdateContext $context): void
  97.         {
  98.             (new SetUp($this->container))->setUp(self::getMigrationPaths());
  99.         }
  100.         public function build(ContainerBuilder $container): void
  101.         {
  102.             parent::build($container);
  103.             $containerBuilder B2BContainerBuilder::create();
  104.             $containerBuilder->addConfiguration(new SwagB2bPlatformFrontendConfiguration());
  105.             $containerBuilder->addConfiguration(new SwagB2bPlatformAdministrationConfiguration());
  106.             $containerBuilder->addConfiguration(new SwagB2bPlatformApiConfiguration());
  107.             $containerBuilder->registerConfigurations($container);
  108.         }
  109.         public function configureRoutes(RouteCollectionBuilder $routesstring $environment): void
  110.         {
  111.             parent::configureRoutes($routes$environment);
  112.             $routes->import('.'null'b2b');
  113.         }
  114.         protected function getServicesFilePath(): string
  115.         {
  116.             return 'Resources/config/services.xml';
  117.         }
  118.     }
  119. }
  120. if (SwagB2bPlatform::isPackage()) {
  121.     require_once SwagB2bPlatform::getPackageVendorAutoload();
  122. }