mirror of https://github.com/MISP/MISP
chg: [internal] Update correlations in one query
Before, for every event saving action, four queries for updating correlations were generatedpull/5948/head
parent
d379a16666
commit
4a090f9c00
|
@ -634,19 +634,24 @@ class Event extends AppModel
|
|||
public function afterSave($created, $options = array())
|
||||
{
|
||||
if (!Configure::read('MISP.completely_disable_correlation') && !$created) {
|
||||
$this->Correlation = ClassRegistry::init('Correlation');
|
||||
$db = $this->getDataSource();
|
||||
|
||||
$updateCorrelation = array();
|
||||
if (isset($this->data['Event']['date'])) {
|
||||
$this->Correlation->updateAll(array('Correlation.date' => $db->value($this->data['Event']['date'])), array('Correlation.event_id' => intval($this->data['Event']['id'])));
|
||||
$updateCorrelation['Correlation.date'] = $db->value($this->data['Event']['date']);
|
||||
}
|
||||
if (isset($this->data['Event']['info'])) {
|
||||
$this->Correlation->updateAll(array('Correlation.info' => $db->value($this->data['Event']['info'])), array('Correlation.event_id' => intval($this->data['Event']['id'])));
|
||||
$updateCorrelation['Correlation.info'] = $db->value($this->data['Event']['info']);
|
||||
}
|
||||
if (isset($this->data['Event']['distribution'])) {
|
||||
$this->Correlation->updateAll(array('Correlation.distribution' => $db->value($this->data['Event']['distribution'])), array('Correlation.event_id' => intval($this->data['Event']['id'])));
|
||||
$updateCorrelation['Correlation.distribution'] = $db->value($this->data['Event']['distribution']);
|
||||
}
|
||||
if (isset($this->data['Event']['sharing_group_id'])) {
|
||||
$this->Correlation->updateAll(array('Correlation.sharing_group_id' => $db->value($this->data['Event']['sharing_group_id'])), array('Correlation.event_id' => intval($this->data['Event']['id'])));
|
||||
$updateCorrelation['Correlation.sharing_group_id'] = $db->value($this->data['Event']['sharing_group_id']);
|
||||
}
|
||||
if (!empty($updateCorrelation)) {
|
||||
$this->Correlation = ClassRegistry::init('Correlation');
|
||||
$this->Correlation->updateAll($updateCorrelation, array('Correlation.event_id' => intval($this->data['Event']['id'])));
|
||||
}
|
||||
}
|
||||
if (empty($this->data['Event']['unpublishAction']) && empty($this->data['Event']['skip_zmq']) && Configure::read('Plugin.ZeroMQ_enable') && Configure::read('Plugin.ZeroMQ_event_notifications_enable')) {
|
||||
|
|
Loading…
Reference in New Issue