You are here

protected function SensorCoreRequirements::processRequirements in Monitoring 7

Sets sensor result status and status messages for the given requirements.

Parameters

SensorResultInterface $result: The result object to update.

array $requirements: Array of requirements to process.

1 call to SensorCoreRequirements::processRequirements()
SensorCoreRequirements::runSensor in lib/Drupal/monitoring/Sensor/Sensors/SensorCoreRequirements.php
Runs the sensor, updating $sensor_result.

File

lib/Drupal/monitoring/Sensor/Sensors/SensorCoreRequirements.php, line 96
Contains \Drupal\monitoring\Sensor\Sensors\SensorCoreRequirements.

Class

SensorCoreRequirements
Monitors a specific module hook_requirements.

Namespace

Drupal\monitoring\Sensor\Sensors

Code

protected function processRequirements(SensorResultInterface $result, $requirements) {
  $severity = $this
    ->getHighestSeverity($requirements);
  if ($severity == REQUIREMENT_ERROR) {
    $result
      ->setStatus(SensorResultInterface::STATUS_CRITICAL);
  }
  elseif ($severity == REQUIREMENT_WARNING) {
    $result
      ->setStatus(SensorResultInterface::STATUS_WARNING);
  }
  else {
    $result
      ->setStatus(SensorResultInterface::STATUS_OK);
  }
  if (!empty($requirements)) {
    foreach ($requirements as $requirement) {

      // Skip if we do not have the highest requirements severity.
      if (!isset($requirement['severity']) || $requirement['severity'] != $severity) {
        continue;
      }
      if (!empty($requirement['title'])) {
        $result
          ->addStatusMessage($requirement['title']);
      }
      if (!empty($requirement['description'])) {
        $result
          ->addStatusMessage($requirement['description']);
      }
      if (!empty($requirement['value'])) {
        $result
          ->addStatusMessage($requirement['value']);
      }
    }
  }
  else {
    $result
      ->addStatusMessage('Requirements check OK');
  }
}