function DbUpdateController::requirements

Same name in other branches
  1. 9 core/modules/system/src/Controller/DbUpdateController.php \Drupal\system\Controller\DbUpdateController::requirements()
  2. 8.9.x core/modules/system/src/Controller/DbUpdateController.php \Drupal\system\Controller\DbUpdateController::requirements()
  3. 11.x core/modules/system/src/Controller/DbUpdateController.php \Drupal\system\Controller\DbUpdateController::requirements()

Renders a list of requirement errors or warnings.

Parameters

$severity: The severity of the message, as per RFC 3164.

array $requirements: The array of requirement values.

\Symfony\Component\HttpFoundation\Request $request: The current request.

Return value

array A render array.

1 call to DbUpdateController::requirements()
DbUpdateController::handle in core/modules/system/src/Controller/DbUpdateController.php
Returns a database update page.

File

core/modules/system/src/Controller/DbUpdateController.php, line 540

Class

DbUpdateController
Controller routines for database update routes.

Namespace

Drupal\system\Controller

Code

public function requirements($severity, array $requirements, Request $request) {
    $options = $severity == REQUIREMENT_WARNING ? [
        'continue' => 1,
    ] : [];
    // @todo Revisit once https://www.drupal.org/node/2548095 is in. Something
    // like Url::fromRoute('system.db_update')->setOptions() should then be
    // possible.
    $try_again_url = Url::fromUri($request->getUriForPath(''))
        ->setOptions([
        'query' => $options,
    ])
        ->toString(TRUE)
        ->getGeneratedUrl();
    $build['status_report'] = [
        '#type' => 'status_report',
        '#requirements' => $requirements,
        '#suffix' => $this->t('Check the messages and <a href=":url">try again</a>.', [
            ':url' => $try_again_url,
        ]),
    ];
    $build['#title'] = $this->t('Requirements problem');
    return $build;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.