mirror of https://github.com/MISP/MISP
chg: [eventFiltering] WIP - UI displays all elements
parent
494faf2745
commit
f8efffe830
|
@ -1047,10 +1047,10 @@ class EventsController extends AppController
|
||||||
$filters['distribution'] = array($filters['distribution']);
|
$filters['distribution'] = array($filters['distribution']);
|
||||||
}
|
}
|
||||||
$temp = implode('|', $filters['distribution']);
|
$temp = implode('|', $filters['distribution']);
|
||||||
$this->applyQueryString($event, $temp, 'distribution');
|
$this->__applyQueryString($event, $temp, 'distribution');
|
||||||
}
|
}
|
||||||
if (isset($filters['searchFor']) && $filters['searchFor'] !== '') {
|
if (isset($filters['searchFor']) && $filters['searchFor'] !== '') {
|
||||||
$this->applyQueryString($event, $filters['searchFor']);
|
$this->__applyQueryString($event, $filters['searchFor']);
|
||||||
$this->set('passedArgsArray', array('all' => $filters['searchFor']));
|
$this->set('passedArgsArray', array('all' => $filters['searchFor']));
|
||||||
}
|
}
|
||||||
$emptyEvent = (empty($event['Object']) && empty($event['Attribute']));
|
$emptyEvent = (empty($event['Object']) && empty($event['Attribute']));
|
||||||
|
@ -1137,6 +1137,8 @@ class EventsController extends AppController
|
||||||
$this->set('typeGroups', array_keys($this->Event->Attribute->typeGroupings));
|
$this->set('typeGroups', array_keys($this->Event->Attribute->typeGroupings));
|
||||||
$this->set('attributeFilter', isset($filters['attributeFilter']) ? $filters['attributeFilter'] : 'all');
|
$this->set('attributeFilter', isset($filters['attributeFilter']) ? $filters['attributeFilter'] : 'all');
|
||||||
$this->set('filters', $filters);
|
$this->set('filters', $filters);
|
||||||
|
$this->set('advancedFilteringActive', $this->__checkIfAdvancedFiltering($filters) ? 1 : 0);
|
||||||
|
$this->set('advancedFilteringRemovedElements', count($event['objects']));
|
||||||
$this->disableCache();
|
$this->disableCache();
|
||||||
$this->layout = 'ajax';
|
$this->layout = 'ajax';
|
||||||
$this->loadModel('Sighting');
|
$this->loadModel('Sighting');
|
||||||
|
@ -1278,7 +1280,7 @@ class EventsController extends AppController
|
||||||
$filters['distribution'] = array($filters['distribution']);
|
$filters['distribution'] = array($filters['distribution']);
|
||||||
}
|
}
|
||||||
$temp = implode('|', $filters['distribution']);
|
$temp = implode('|', $filters['distribution']);
|
||||||
$this->applyQueryString($event, $temp, 'distribution');
|
$this->__applyQueryString($event, $temp, 'distribution');
|
||||||
}
|
}
|
||||||
$params = $this->Event->rearrangeEventForView($event, $filters);
|
$params = $this->Event->rearrangeEventForView($event, $filters);
|
||||||
$this->params->params['paging'] = array($this->modelClass => $params);
|
$this->params->params['paging'] = array($this->modelClass => $params);
|
||||||
|
@ -1359,6 +1361,8 @@ class EventsController extends AppController
|
||||||
$this->set('orgTable', $orgTable);
|
$this->set('orgTable', $orgTable);
|
||||||
$this->set('currentUri', $attributeUri);
|
$this->set('currentUri', $attributeUri);
|
||||||
$this->set('filters', $filters);
|
$this->set('filters', $filters);
|
||||||
|
$this->set('advancedFilteringActive', $this->__checkIfAdvancedFiltering($filters) ? 1 : 0);
|
||||||
|
$this->set('advancedFilteringRemovedElements', count($event['objects']));
|
||||||
$this->set('mitreAttackGalaxyId', $this->Event->GalaxyCluster->Galaxy->getMitreAttackGalaxyId());
|
$this->set('mitreAttackGalaxyId', $this->Event->GalaxyCluster->Galaxy->getMitreAttackGalaxyId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1390,7 +1394,7 @@ class EventsController extends AppController
|
||||||
$conditions['includeAttachments'] = true;
|
$conditions['includeAttachments'] = true;
|
||||||
}
|
}
|
||||||
if (isset($this->params['named']['deleted'])) {
|
if (isset($this->params['named']['deleted'])) {
|
||||||
$conditions['deleted'] = $filters['deleted'] == 2 ? 0 : 1;
|
$conditions['deleted'] = $this->params['named']['deleted'] == 2 ? 0 : 1;
|
||||||
}
|
}
|
||||||
if (isset($this->params['named']['includeRelatedTags']) && $this->params['named']['includeRelatedTags']) {
|
if (isset($this->params['named']['includeRelatedTags']) && $this->params['named']['includeRelatedTags']) {
|
||||||
$conditions['includeRelatedTags'] = 1;
|
$conditions['includeRelatedTags'] = 1;
|
||||||
|
@ -1432,7 +1436,7 @@ class EventsController extends AppController
|
||||||
}
|
}
|
||||||
$event = $results[0];
|
$event = $results[0];
|
||||||
if (isset($this->params['named']['searchFor']) && $this->params['named']['searchFor'] !== '') {
|
if (isset($this->params['named']['searchFor']) && $this->params['named']['searchFor'] !== '') {
|
||||||
$this->applyQueryString($event, $this->params['named']['searchFor']);
|
$this->__applyQueryString($event, $this->params['named']['searchFor']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->_isRest()) {
|
if ($this->_isRest()) {
|
||||||
|
@ -1530,7 +1534,7 @@ class EventsController extends AppController
|
||||||
$this->redirect(array('controller' => 'events', 'action' => 'view', $eventId, true, $eventId));
|
$this->redirect(array('controller' => 'events', 'action' => 'view', $eventId, true, $eventId));
|
||||||
}
|
}
|
||||||
|
|
||||||
private function applyQueryString(&$event, $searchFor, $filterColumnsOverwrite=false) {
|
private function __applyQueryString(&$event, $searchFor, $filterColumnsOverwrite=false) {
|
||||||
// filtering on specific columns is specified
|
// filtering on specific columns is specified
|
||||||
if ($filterColumnsOverwrite !== false) {
|
if ($filterColumnsOverwrite !== false) {
|
||||||
$filterValue = array_map('trim', explode(",", $filterColumnsOverwrite));
|
$filterValue = array_map('trim', explode(",", $filterColumnsOverwrite));
|
||||||
|
@ -1578,6 +1582,24 @@ class EventsController extends AppController
|
||||||
$event['Object'] = array_values($event['Object']);
|
$event['Object'] = array_values($event['Object']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// look in the parameters if we are doing advanced filtering or not
|
||||||
|
private function __checkIfAdvancedFiltering($filters) {
|
||||||
|
$advancedFilteringActive = array_diff_key($filters, array('sort'=>0, 'direction'=>0, 'focus'=>0, 'extended'=>0, 'overrideLimit'=>0, 'filterColumnsOverwrite'=>0, 'attributeFilter'=>0));
|
||||||
|
if (count($advancedFilteringActive) > 0) {
|
||||||
|
if (
|
||||||
|
(isset($advancedFilteringActive['deleted']) && $advancedFilteringActive['deleted'] == 2)
|
||||||
|
|| (isset($advancedFilteringActive['includeRelatedTags']) && $advancedFilteringActive['includeRelatedTags'] == 2)
|
||||||
|
) {
|
||||||
|
$res = true;
|
||||||
|
} else {
|
||||||
|
$res = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$res = false;
|
||||||
|
}
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
|
||||||
private function __removeChildren(&$pivot, $id)
|
private function __removeChildren(&$pivot, $id)
|
||||||
{
|
{
|
||||||
if ($pivot['id'] == $id) {
|
if ($pivot['id'] == $id) {
|
||||||
|
|
|
@ -154,9 +154,12 @@
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<div id="show_context" title="<?php echo __('Show attribute context fields');?>" role="button" tabindex="0" aria-label="<?php echo __('Show attribute context fields');?>" class="attribute_filter_text" onClick="toggleContextFields();"><?php echo __('Context');?></div>
|
<div id="show_context" title="<?php echo __('Show attribute context fields');?>" role="button" tabindex="0" aria-label="<?php echo __('Show attribute context fields');?>" class="attribute_filter_text" onClick="toggleContextFields();"><?php echo __('Context');?></div>
|
||||||
<div id="show_correlating_tags" title="<?php echo __('Also display the tags derived from correlations');?>" role="button" tabindex="0" aria-label="<?php echo __('Also display the tags derived from correlations');?>" class="attribute_filter_text<?php if ($includeRelatedTags) echo '_active'; ?>" onClick="toggleBoolFilter('<?php echo $urlHere;?>', 'includeRelatedTags');"><?php echo __('Related Tags');?></div>
|
<div id="show_correlating_tags" title="<?php echo __('Also display the tags derived from correlations');?>" role="button" tabindex="0" aria-label="<?php echo __('Also display the tags derived from correlations');?>" class="attribute_filter_text<?php if ($includeRelatedTags) echo '_active'; ?>" onClick="toggleBoolFilter('<?php echo $urlHere;?>', 'includeRelatedTags');"><?php echo __('Related Tags');?></div>
|
||||||
<div class="attribute_filter_text btn-inverse btn" style="padding: 0px 6px;font-size: 12px;margin: 0px 2px;" onclick="triggerEventFilteringTool(this)">
|
<div class="attribute_filter_text btn-<?php echo ($advancedFilteringActive ? 'success' : 'inverse'); ?> btn" style="padding: 0px 6px;font-size: 12px;margin: 0px 2px;font-weight: bold;" onclick="triggerEventFilteringTool(this)">
|
||||||
<it class="fa fa-filter"></it>
|
<it class="fa fa-filter"></it>
|
||||||
<?php echo __('Filtering tool'); ?>
|
<?php echo __('Filtering tool'); ?>
|
||||||
|
<?php if($advancedFilteringActive): ?>
|
||||||
|
<span class="badge badge-warning" title="<?php echo h($advancedFilteringRemovedElements) . __(' element(s) passed the filtering')?>"><?php echo h($advancedFilteringRemovedElements) ?></span>
|
||||||
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div title="input filter" tabindex="0" aria-label="input filter" class="attribute_filter_text" style="padding-top:0px;">
|
<div title="input filter" tabindex="0" aria-label="input filter" class="attribute_filter_text" style="padding-top:0px;">
|
||||||
|
|
Loading…
Reference in New Issue