:r 8r Pr >r 8r (r Ar Pr Cr r Pr Hr r (r Lr Pr Or r Pr Tr r (r Xr Pr [r (r Pr `r (r (r dr Pr gr xr Pr lr xr (r pr Pr xr r Pr r r (r r Pr r r Pr r r (r r Pr r hr Pr r hr (r r Pr r r Pr r r (r r Pr r r Pr r r (r r Pr r Xr Pr r Xr (r r Pr r r Pr r r (r r Pr %r r Pr )r r (r ,r Pr .r Hr Pr 2r Hr (r 5r Pr 7r r Pr ;r r (r >r Pr @r r Pr Dr r (r Gr Pr Ir 8r Pr Mr 8r (r Pr Pr Rr r Pr Vr r (r Yr Pr [r r Pr _r r (r br Pr dr (r Pr hr (r (r kr Pr mr xr Pr qr xr (r tr Pr vr r Pr zr r (r }r Pr r r Pr r r (r r Pr r hr Pr r hr (r r Pr r r Pr r r (r r Pr r r Pr r r (r r Pr r Xr Pr r Xr (r r Pr r r Pr r r (r r Pr r r Pr r r (r r Pr r Hr Pr r Hr (r r Pr r r Pr r r (r r Pr r r Pr r r (r r r r r r r r Pr r 0r 8r r 0 r r `r r hr @r `r pr pr r r r r r hr r r r pr pr r r r r r hr (r r r r pr r r r r @r r r r r pr pr @r r r r r r hr r `r r pr pr r r r r r Hr r 0r pr pr @r r r Pr Pr r 0r P*r r Pr >r r Pr r r r r r r r r r r r r r r r @r r r r r r r r r pr r r r )r )r r Xr `r @r pr Pr r xr r pr r hr r `r hr Hr Hr طr r r 0r зr hr r `r r Xr r Pr r (r ȷr r `r @r r r r Hr ȷr xr pr hr `r r r r r .xml'); $loader->load('ApiClient/DependencyInjection/service.xml'); $loader->load('Config/DependencyInjection/controller.xml'); $loader->load('Config/DependencyInjection/service.xml'); $loader->load('DhlBcpConfigScraper/DependencyInjection/command.xml'); $loader->load('Installation/DependencyInjection/service.xml'); $loader->load('LocationFinder/DependencyInjection/controller.xml'); $loader->load('LocationFinder/DependencyInjection/service.xml'); $loader->load('PreferredDelivery/DependencyInjection/controller.xml'); $loader->load('PreferredDelivery/DependencyInjection/service.xml'); $loader->load('ReturnLabel/DependencyInjection/service.xml'); $loader->load('SalesChannelContext/DependencyInjection/model.xml'); $loader->load('SalesChannelContext/DependencyInjection/service.xml'); $containerBuilder->addCompilerPass(new CarrierAdapterRegistryCompilerPass()); } public function install(InstallContext $installContext): void { $this->loadDependenciesForSetup(); $this->executeMigrationsOfBundles(); BundleInstaller::createForContainerAndClass($this->container, self::class) ->install(self::ADDITIONAL_BUNDLES, $installContext); } public function update(UpdateContext $updateContext): void { $this->loadDependenciesForSetup(); $this->executeMigrationsOfBundles(); BundleInstaller::createForContainerAndClass($this->container, self::class) ->install(self::ADDITIONAL_BUNDLES, $updateContext); } private function executeMigrationsOfBundles(): void { // All the services required for migration execution are private in the DI-Container. As a workaround the // services are instantiated explicitly here. $db = $this->container->get(Connection::class); // See vendor/symfony/monolog-bundle/Resources/config/monolog.xml on how the logger is defined. $logger = new Logger('app'); $logger->useMicrosecondTimestamps($this->container->getParameter('monolog.use_microseconds')); $migrationCollectionLoader = new MigrationCollectionLoader($db, new MigrationRuntime($db, $logger)); $migrationSource = new MigrationSource('PickwareDhl'); foreach (self::ADDITIONAL_BUNDLES as $bundle) { $bundle::registerMigrations($migrationSource); } $migrationCollectionLoader->addSource($migrationSource); foreach ($migrationCollectionLoader->collectAll() as $migrationCollection) { $migrationCollection->sync(); $migrationCollection->migrateInPlace(); } } public function postInstall(InstallContext $installContext): void { PluginLifecycleErrorRecovery::createForContainer($this->container) ->recoverFromErrorsIn($this->handlePostInstall(...), $installContext); } private function handlePostInstall(InstallContext $installContext): void { PickwareDhlInstaller::initFromContainer($this->container)->postInstall($installContext); } public function postUpdate(UpdateContext $updateContext): void { PluginLifecycleErrorRecovery::createForContainer($this->container) ->recoverFromErrorsIn($this->handlePostUpdate(...), $updateContext); } private function handlePostUpdate(UpdateContext $updateContext): void { PickwareDhlInstaller::initFromContainer($this->container)->postUpdate($updateContext); if ($updateContext->getPlugin()->isActive()) { $this->container ->get('pickware_dhl.bundle_supporting_asset_service') ->copyAssetsFromBundle('PickwareShippingBundle'); BundleInstaller::createForContainerAndClass($this->container, self::class) ->onAfterActivate(self::ADDITIONAL_BUNDLES, $updateContext); } } public function uninstall(UninstallContext $uninstallContext): void { if ($uninstallContext->keepUserData()) { return; } $this->loadDependenciesForSetup(); DependencyAwareTableDropper::createForContainer($this->container)->dropTables([ 'pickware_dhl_sales_channel_api_context', // These are actually only tables from old plugin versions. We still remove them here just in case. 'pickware_dhl_carrier', 'pickware_dhl_document', 'pickware_dhl_document_page_format', 'pickware_dhl_document_shipment_mapping', 'pickware_dhl_document_tracking_code_mapping', 'pickware_dhl_document_type', 'pickware_dhl_shipment', 'pickware_dhl_shipment_order_delivery_mapping', 'pickware_dhl_shipment_order_mapping', 'pickware_dhl_shipping_method_config', 'pickware_dhl_tracking_code', ]); $this->container->get(Connection::class)->executeStatement( 'DELETE FROM system_config WHERE configuration_key LIKE :domain', ['domain' => DhlConfig::CONFIG_DOMAIN . '.%'], ); PickwareDhlInstaller::initFromContainer($this->container)->uninstall($uninstallContext); BundleInstaller::createForContainerAndClass($this->container, self::class)->uninstall($uninstallContext); } public function activate(ActivateContext $activateContext): void { $this->container->get('pickware_dhl.bundle_supporting_asset_service') ->copyAssetsFromBundle('PickwareShippingBundle'); BundleInstaller::createForContainerAndClass($this->container, self::class) ->onAfterActivate(self::ADDITIONAL_BUNDLES, $activateContext); } /** * Run the dependency loader for a setup step like install/update/uninstall * * When executing one of these steps but no Pickware plugin is activated, the dependency loader did never run until * the call of the corresponding method. You can trigger it with a call of this method. */ private function loadDependenciesForSetup(): void { if (isset($GLOBALS['PICKWARE_DEPENDENCY_LOADER'])) { $plugins = $this->container->get('kernel')->getPluginLoader()->getPluginInfos(); $projectDir = $this->container->getParameter('kernel.project_dir'); $GLOBALS['PICKWARE_DEPENDENCY_LOADER']->ensureLatestDependenciesOfPluginsLoaded($plugins, $projectDir); } } }
Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.