mirror of https://github.com/MISP/MISP
new: [internal] filter "type" added for the internal fetcher
- appends email as a type if email-src/email-dst are foundpull/6208/head
parent
b14e5fbb0e
commit
6fe5732700
|
@ -1641,7 +1641,7 @@ class Event extends AppModel
|
|||
'Attribute' => array(
|
||||
'value' => array('function' => 'set_filter_value'),
|
||||
'category' => array('function' => 'set_filter_simple_attribute'),
|
||||
'type' => array('function' => 'set_filter_simple_attribute'),
|
||||
'type' => array('function' => 'set_filter_type'),
|
||||
'object_relation' => array('function' => 'set_filter_simple_attribute'),
|
||||
'tags' => array('function' => 'set_filter_tags', 'pop' => true),
|
||||
'ignore' => array('function' => 'set_filter_ignore'),
|
||||
|
@ -2718,6 +2718,36 @@ class Event extends AppModel
|
|||
return $conditions;
|
||||
}
|
||||
|
||||
public function set_filter_type(&$params, $conditions, $options)
|
||||
{
|
||||
if (!empty($params[$options['filter']])) {
|
||||
$params[$options['filter']] = $this->convert_filters($params[$options['filter']]);
|
||||
if (!empty(Configure::read('MISP.attribute_filters_block_only'))) {
|
||||
if ($options['context'] === 'Event' && !empty($params[$options['filter']]['OR'])) {
|
||||
unset($params[$options['filter']]['OR']);
|
||||
}
|
||||
}
|
||||
if (!empty($params[$options['filter']])) {
|
||||
foreach (['OR', 'NOT'] as $operator) {
|
||||
if (
|
||||
!empty($params[$options['filter']][$operator]) &&
|
||||
(
|
||||
in_array('email-src', $params[$options['filter']][$operator]) ||
|
||||
in_array('email-dst', $params[$options['filter']][$operator])
|
||||
) && (
|
||||
!in_array('email', $params[$options['filter']][$operator])
|
||||
)
|
||||
) {
|
||||
$params[$options['filter']][$operator][] = 'email';
|
||||
}
|
||||
}
|
||||
}
|
||||
$conditions = $this->generic_add_filter($conditions, $params[$options['filter']], 'Attribute.' . $options['filter']);
|
||||
}
|
||||
return $conditions;
|
||||
}
|
||||
|
||||
|
||||
public function set_filter_simple_attribute(&$params, $conditions, $options)
|
||||
{
|
||||
if (!empty($params[$options['filter']])) {
|
||||
|
|
Loading…
Reference in New Issue