function StatusReportPage::preRenderGeneralInfo

Same name and namespace in other branches
  1. 9 core/modules/system/src/Element/StatusReportPage.php \Drupal\system\Element\StatusReportPage::preRenderGeneralInfo()
  2. 8.9.x core/modules/system/src/Element/StatusReportPage.php \Drupal\system\Element\StatusReportPage::preRenderGeneralInfo()
  3. 10 core/modules/system/src/Element/StatusReportPage.php \Drupal\system\Element\StatusReportPage::preRenderGeneralInfo()

#pre_render callback to get general info out of requirements.

File

core/modules/system/src/Element/StatusReportPage.php, line 34

Class

StatusReportPage
Creates status report page element.

Namespace

Drupal\system\Element

Code

public static function preRenderGeneralInfo($element) {
    $element['#general_info'] = [
        '#theme' => 'status_report_general_info',
    ];
    // Loop through requirements and pull out items.
    foreach ($element['#requirements'] as $key => $requirement) {
        switch ($key) {
            case 'cron':
                foreach ($requirement['description'] as &$description_elements) {
                    foreach ($description_elements as &$description_element) {
                        if (isset($description_element['#url']) && $description_element['#url']->getRouteName() == 'system.run_cron') {
                            $description_element['#attributes']['class'][] = 'button';
                            $description_element['#attributes']['class'][] = 'button--small';
                            $description_element['#attributes']['class'][] = 'button--primary';
                            $description_element['#attributes']['class'][] = 'system-status-general-info__run-cron';
                        }
                    }
                }
            // Intentional fall-through.
            case 'drupal':
            case 'webserver':
            case 'database_system':
            case 'database_system_version':
            case 'php':
            case 'php_memory_limit':
                $element['#general_info']['#' . $key] = $requirement;
                if (isset($requirement['severity']) && $requirement['severity'] < REQUIREMENT_WARNING) {
                    if (empty($requirement['severity']) || $requirement['severity'] == REQUIREMENT_OK) {
                        unset($element['#requirements'][$key]);
                    }
                }
                break;
        }
    }
    return $element;
}

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