function elasticsearch_watchdog_build_filter_query in Elasticsearch Connector 7.2
Same name and namespace in other branches
- 7.5 modules/elasticsearch_watchdog/elasticsearch_watchdog.admin.inc \elasticsearch_watchdog_build_filter_query()
- 7 modules/elasticsearch_watchdog/elasticsearch_watchdog.admin.inc \elasticsearch_watchdog_build_filter_query()
Builds a filter for elasticsearch log administration filters based on session.
Return value
array An associative array with keys. Only filter for now 'filter'.
2 calls to elasticsearch_watchdog_build_filter_query()
- elasticsearch_watchdog_filter_delete_confirm_submit in modules/
elasticsearch_watchdog/ elasticsearch_watchdog.admin.inc - Form submission handler for confirm_form
- elasticsearch_watchdog_overview in modules/
elasticsearch_watchdog/ elasticsearch_watchdog.admin.inc - Page callback: Displays a listing of log messages.
File
- modules/
elasticsearch_watchdog/ elasticsearch_watchdog.admin.inc, line 519 - Created on Jan 06, 2014
Code
function elasticsearch_watchdog_build_filter_query() {
if (empty($_SESSION['elasticsearch_watchdog_overview_filter'])) {
return;
}
$filters = elasticsearch_watchdog_filters(FALSE);
$query_filter = array();
$query = array();
foreach ($_SESSION['elasticsearch_watchdog_overview_filter'] as $key => $filter) {
$has_value = FALSE;
$filter_where = array();
if (empty($filters[$key]['type'])) {
foreach ($filter as $value) {
$has_value = TRUE;
$filter_where[] = $value;
}
if ($has_value) {
$query_filter['and'][] = array(
'terms' => array(
$filters[$key]['elastic_key'] => $filter_where,
),
);
}
}
elseif ($filters[$key]['type'] == 'textfield' && !empty($filter) && is_scalar($filter)) {
$query['bool']['must'][] = array(
'match' => array(
$filters[$key]['elastic_key'] => $filter,
),
);
}
}
if (empty($query)) {
$query['match_all'] = array();
}
$result = array(
'query' => $query,
'filter' => $query_filter,
);
return $result;
}