Chris@0: root = $root; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function create(ContainerInterface $container) { Chris@0: return new static( Chris@0: $container->get('app.root') Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Returns a system batch page. Chris@0: * Chris@0: * @param \Symfony\Component\HttpFoundation\Request $request Chris@0: * The current request object. Chris@0: * Chris@0: * @return \Symfony\Component\HttpFoundation\Response|array Chris@0: * A \Symfony\Component\HttpFoundation\Response object or render array. Chris@0: * Chris@0: * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException Chris@0: */ Chris@0: public function batchPage(Request $request) { Chris@0: require_once $this->root . '/core/includes/batch.inc'; Chris@0: $output = _batch_page($request); Chris@0: Chris@0: if ($output === FALSE) { Chris@0: throw new AccessDeniedHttpException(); Chris@0: } Chris@0: elseif ($output instanceof Response) { Chris@0: return $output; Chris@0: } Chris@0: elseif (isset($output)) { Chris@0: $title = isset($output['#title']) ? $output['#title'] : NULL; Chris@0: $page = [ Chris@0: '#type' => 'page', Chris@0: '#title' => $title, Chris@0: '#show_messages' => FALSE, Chris@0: 'content' => $output, Chris@0: ]; Chris@0: Chris@0: // Also inject title as a page header (if available). Chris@0: if ($title) { Chris@0: $page['header'] = [ Chris@0: '#type' => 'page_title', Chris@0: '#title' => $title, Chris@0: ]; Chris@0: } Chris@0: Chris@0: return $page; Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * The _title_callback for the system.batch_page.normal route. Chris@0: * Chris@0: * @return string Chris@0: * The page title. Chris@0: */ Chris@0: public function batchPageTitle() { Chris@0: $current_set = _batch_current_set(); Chris@0: return !empty($current_set['title']) ? $current_set['title'] : ''; Chris@0: } Chris@0: Chris@0: }