You are here

public function Analyzer::formatMessages in Views (for Drupal 7) 8.3

Formats the analyze result into a message string.

This is based upon the format of drupal_set_message which uses separate boxes for "ok", "warning" and "error".

File

lib/Drupal/views/Analyzer.php, line 71
Definition of Drupal\views\Analyzer.

Class

Analyzer
This tool is a small plugin manager to perform analysis on a view and report results to the user. This tool is meant to let modules that provide data to Views also help users properly use that data by detecting invalid configurations. Views itself…

Namespace

Drupal\views

Code

public function formatMessages(array $messages) {
  if (empty($messages)) {
    $messages = array(
      $this
        ->formatMessage(t('View analysis can find nothing to report.'), 'ok'),
    );
  }
  $types = array(
    'ok' => array(),
    'warning' => array(),
    'error' => array(),
  );
  foreach ($messages as $message) {
    if (empty($types[$message['type']])) {
      $types[$message['type']] = array();
    }
    $types[$message['type']][] = $message['message'];
  }
  $output = '';
  foreach ($types as $type => $messages) {
    $type .= ' messages';
    $message = '';
    if (count($messages) > 1) {
      $message = theme('item_list', array(
        'items' => $messages,
      ));
    }
    elseif ($messages) {
      $message = array_shift($messages);
    }
    if ($message) {
      $output .= "<div class=\"{$type}\">{$message}</div>";
    }
  }
  return $output;
}