:r8rPr>r8r(rArPrCrrPrHrr(rLrPrOrrPrTrr(rXrPr[r(rPr`r(r(rdrPrgrxrPrlrxr(rprPrxrrPrrr(rrPrrrPrrr(rrPrrhrPrrhr(rrPrrrPrrr(rrPrrrPrrr(rrPrrXrPrrXr(rrPrrrPrrr(rrPr%rrPr)rr(r,rPr.rHrPr2rHr(r5rPr7rrPr;rr(r>rPr@rrPrDrr(rGrPrIr8rPrMr8r(rPrPrRrrPrVrr(rYrPr[rrPr_rr(rbrPrdr(rPrhr(r(rkrPrmrxrPrqrxr(rtrPrvrrPrzrr(r}rPrrrPrrr(rrPrrhrPrrhr(rrPrrrPrrr(rrPrrrPrrr(rrPrrXrPrrXr(rrPrrrPrrr(rrPrrrPrrr(rrPrrHrPrrHr(rrPrrrPrrr(rrPrrrPrrr(rrrrrrrrPrr0r8r r0 rr`rrhr@ r` rprpr rr rrrhrr rrprpr rr rrrhr(rrrrpr rrrr@rrrrrprpr@r rr rrrhrr`rrprprrrrrrHrr0rprpr@r rrPrPrr0rP*rrPr>rrPrrrrrrr rrrr rrrrr@rrrrrrrrrprrrr)r)rrXr`r@rprPrrxrrprrhrr`rhrHrHrطr rr0rзrhrr`rrXrrPrr(rȷrr`r@rrrrHrȷrxrprhr`rrrrr.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); } } } An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

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.