Neos\Neos\Setup\Step\SiteImportStep::importSite PHP Метод

importSite() публичный Метод

public importSite ( Neos\Form\Core\Model\FinisherContext $finisherContext ) : void
$finisherContext Neos\Form\Core\Model\FinisherContext
Результат void
    public function importSite(FinisherContext $finisherContext)
    {
        $formValues = $finisherContext->getFormRuntime()->getFormState()->getFormValues();
        if (isset($formValues['prune']) && intval($formValues['prune']) === 1) {
            $this->nodeDataRepository->removeAll();
            $this->workspaceRepository->removeAll();
            $this->domainRepository->removeAll();
            $this->siteRepository->removeAll();
            $this->persistenceManager->persistAll();
        }
        if (!empty($formValues['packageKey'])) {
            if ($this->packageManager->isPackageAvailable($formValues['packageKey'])) {
                throw new Exception(sprintf('The package key "%s" already exists.', $formValues['packageKey']), 1346759486);
            }
            $packageKey = $formValues['packageKey'];
            $siteName = $formValues['siteName'];
            $generatorService = $this->objectManager->get(\Neos\SiteKickstarter\Service\GeneratorService::class);
            $generatorService->generateSitePackage($packageKey, $siteName);
        } elseif (!empty($formValues['site'])) {
            $packageKey = $formValues['site'];
        }
        $this->deactivateOtherSitePackages($packageKey);
        $this->packageManager->activatePackage($packageKey);
        if (!empty($packageKey)) {
            try {
                $contentContext = $this->contextFactory->create(array('workspaceName' => 'live'));
                $this->siteImportService->importFromPackage($packageKey, $contentContext);
            } catch (\Exception $exception) {
                $finisherContext->cancel();
                $this->systemLogger->logException($exception);
                throw new SetupException(sprintf('Error: During the import of the "Sites.xml" from the package "%s" an exception occurred: %s', $packageKey, $exception->getMessage()), 1351000864);
            }
        }
    }