summaryrefslogtreecommitdiffstatshomepage
path: root/core/modules/dblog/dblog.admin.inc
blob: 18c7663842d9fb6360fba7b8338e10b453239072 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

/**
 * @file
 */

use Drupal\Core\Logger\RfcLogLevel;

/**
 * Creates a list of database log administration filters that can be applied.
 *
 * @return array
 *   Associative array of filters. The top-level keys are used as the form
 *   element names for the filters, and the values are arrays with the following
 *   elements:
 *   - title: Title of the filter.
 *   - where: The filter condition.
 *   - options: Array of options for the select list for the filter.
 */
function dblog_filters(): array {
  $filters = [];

  foreach (_dblog_get_message_types() as $type) {
    // phpcs:ignore Drupal.Semantics.FunctionT.NotLiteralString
    $types[$type] = t($type);
  }

  if (!empty($types)) {
    $filters['type'] = [
      'title' => t('Type'),
      'field' => 'w.type',
      'options' => $types,
    ];
  }

  $filters['severity'] = [
    'title' => t('Severity'),
    'field' => 'w.severity',
    'options' => RfcLogLevel::getLevels(),
  ];

  return $filters;
}