installation-bundle/src/Controller/InstallationController.php
private function importExampleWebsite(): ?RedirectResponse
    {
        $installTool = $this->container->get('contao.install_tool');
        $templates = $installTool->getTemplates();

        $this->context['templates'] = $templates;

        if ($installTool->getConfig('exampleWebsite')) {
            $this->context['import_date'] = date('Y-m-d H:i', $installTool->getConfig('exampleWebsite'));
        }

        $request = $this->container->get('request_stack')->getCurrentRequest();

        if (null === $request) {
            throw new \RuntimeException('The request stack did not contain a request');
        }

        if ('tl_template_import' !== $request->request->get('FORM_SUBMIT')) {
            return null;
        }

        $template = $request->request->get('template');

        if ('' === $template || !\in_array($template, $templates, true)) {
            $this->context['import_error'] = $this->trans('import_empty_source');

            return null;
        }

        try {
            $installTool->importTemplate($template, '1' === $request->request->get('preserve'));
        } catch (DBALException $e) {
            $installTool->persistConfig('exampleWebsite', null);
            $installTool->logException($e);

            $this->context['import_error'] = $this->trans('import_exception');

            return null;
        }

        $installTool->persistConfig('exampleWebsite', time());

        return $this->getRedirectResponse();
    }
private function importExampleWebsite(): ?RedirectResponse
    {
        $installTool = $this->container->get('contao.install_tool');
        $templates = $installTool->getTemplates();

        $this->context['templates'] = $templates;

        if ($installTool->getConfig('exampleWebsite')) {
            $this->context['import_date'] = date('Y-m-d H:i', $installTool->getConfig('exampleWebsite'));
        }

        $request = $this->container->get('request_stack')->getCurrentRequest();

        if (null === $request) {
            throw new \RuntimeException('The request stack did not contain a request');
        }

        if ('tl_template_import' !== $request->request->get('FORM_SUBMIT')) {
            return null;
        }

        $template = $request->request->get('template');

        if ('' === $template || !\in_array($template, $templates, true)) {
            $this->context['import_error'] = $this->trans('import_empty_source');

            return null;
        }

        try {
            $installTool->importTemplate($template, '1' === $request->request->get('preserve'));
        } catch (DBALException $e) {
            $installTool->persistConfig('exampleWebsite', null);
            $installTool->logException($e);

            $this->context['import_error'] = $this->trans('import_exception');

            return null;
        }

        $installTool->persistConfig('exampleWebsite', time());

        return $this->getRedirectResponse();
    }
private function importExampleWebsite ( ) : ? RedirectResponse { $ installTool = $ this -> container -> get ( 'contao.install_tool' ) ; $ templates = $ installTool -> getTemplates ( ) ; $ this -> context [ 'templates' ] = $ templates ; if ( $ installTool -> getConfig ( 'exampleWebsite' ) ) { $ this -> context [ 'import_date' ] = date ( 'Y-m-d H:i' , $ installTool -> getConfig ( 'exampleWebsite' ) ) ; } $ request = $ this -> container -> get ( 'request_stack' ) -> getCurrentRequest ( ) ; if ( null === $ request ) { throw new \ RuntimeException ( 'The request stack did not contain a request' ) ; } if ( 'tl_template_import' !== $ request -> request -> get ( 'FORM_SUBMIT' ) ) { return null ; } $ template = $ request -> request -> get ( 'template' ) ; if ( '' === $ template || ! \ in_array ( $ template , $ templates , true ) ) { $ this -> context [ 'import_error' ] = $ this -> trans ( 'import_empty_source' ) ; return null ; } try { $ installTool -> importTemplate ( $ template , '1' === $ request -> request -> get ( 'preserve' ) ) ; } catch ( DBALException $ e ) { $ installTool -> persistConfig ( 'exampleWebsite' , null ) ; $ installTool -> logException ( $ e ) ; $ this -> context [ 'import_error' ] = $ this -> trans ( 'import_exception' ) ; return null ; } $ installTool -> persistConfig ( 'exampleWebsite' , time ( ) ) ; return $ this -> getRedirectResponse ( ) ; }
Renders a form to import the example website.

@throws \RuntimeException
Renders a form to import the example website .