mirror of https://github.com/MISP/MISP
Merge branch 'master' into develop
Conflicts: app/Controller/ServersController.phppull/63/head
commit
957b3e27b8
|
@ -365,10 +365,6 @@ class EventsController extends AppController {
|
|||
// LATER do this with $this->validator()->remove('event_id');
|
||||
unset($this->Event->Attribute->validate['event_id']);
|
||||
unset($this->Event->Attribute->validate['value']['unique']); // otherwise gives bugs because event_id is not set
|
||||
|
||||
// thing a 'pull from server' sets ServersController.php:176
|
||||
// Event.info is appended from the publishing side, given the need to have Server.url
|
||||
$data['Event']['private'] = true;
|
||||
}
|
||||
|
||||
if (isset($data['Event']['uuid'])) { // TODO here we should start RESTful dialog
|
||||
|
@ -408,9 +404,7 @@ class EventsController extends AppController {
|
|||
if ($this->Event->saveAssociated($data, array('validate' => true, 'fieldList' => $fieldList))) {
|
||||
if (!empty($data['Event']['published']) && 1 == $data['Event']['published']) {
|
||||
// call __sendAlertEmail if published was set in the request
|
||||
if (!$fromXml) {
|
||||
$this->__sendAlertEmail($this->Event->getId());
|
||||
}
|
||||
$this->__sendAlertEmail($this->Event->getId());
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
|
@ -595,7 +589,9 @@ class EventsController extends AppController {
|
|||
private function __deleteEventFromServers($uuid) {
|
||||
// get a list of the servers
|
||||
$this->loadModel('Server');
|
||||
$servers = $this->Server->find('all', array());
|
||||
$servers = $this->Server->find('all', array(
|
||||
'conditions' => array('Server.push' => true)
|
||||
));
|
||||
|
||||
// iterate over the servers and upload the event
|
||||
if(empty($servers))
|
||||
|
@ -822,7 +818,7 @@ class EventsController extends AppController {
|
|||
} catch (Exception $e){
|
||||
// catch errors like expired PGP keys
|
||||
$this->log($e->getMessage());
|
||||
return $e->getMessage();
|
||||
// no need to return here, as we want to send out mails to the other users if GPG encryption fails for a single user
|
||||
}
|
||||
// If you wish to send multiple emails using a loop, you'll need
|
||||
// to reset the email fields using the reset method of the Email component.
|
||||
|
@ -973,6 +969,7 @@ class EventsController extends AppController {
|
|||
} catch (Exception $e){
|
||||
// catch errors like expired PGP keys
|
||||
$this->log($e->getMessage());
|
||||
// no need to return here, as we want to send out mails to the other users if GPG encryption fails for a single user
|
||||
}
|
||||
} else {
|
||||
$bodyEncSig = $bodySigned;
|
||||
|
|
|
@ -237,7 +237,15 @@ class ServersController extends AppController {
|
|||
} else {
|
||||
$event['Event']['private'] = true;
|
||||
}
|
||||
$event['Event']['info'] .= "\n Imported from " . $this->Server->data['Server']['url'];
|
||||
|
||||
// check if the event already exist (using the uuid)
|
||||
$existingEventCount = $this->Event->find('count', array('conditions' => array('Event.uuid' => $event['Event']['uuid'])));
|
||||
if ($existingEventCount == 0) {
|
||||
// add data for newly imported events
|
||||
$event['Event']['private'] = true;
|
||||
$event['Event']['info'] .= "\n Imported from " . $this->Server->data['Server']['url'];
|
||||
}
|
||||
|
||||
$eventsController = new EventsController();
|
||||
try {
|
||||
$result = $eventsController->_add($event, $this->Auth, $fromXml = true, $this->Server->data['Server']['organization']);
|
||||
|
|
|
@ -588,11 +588,19 @@ class Event extends AppModel {
|
|||
}
|
||||
|
||||
$eventIds = array();
|
||||
foreach ($eventArray['response']['Event'] as &$event) {
|
||||
if (1 != $event['published']) {
|
||||
continue; // do not keep non-published events
|
||||
// different actions if it's only 1 event or more
|
||||
// only one event.
|
||||
if (isset($eventArray['response']['Event']['id'])) {
|
||||
$eventIds[] = $eventArray['response']['Event']['id'];
|
||||
}
|
||||
else {
|
||||
// multiple events, iterate over the array
|
||||
foreach ($eventArray['response']['Event'] as &$event) {
|
||||
if (1 != $event['published']) {
|
||||
continue; // do not keep non-published events
|
||||
}
|
||||
$eventIds[] = $event['id'];
|
||||
}
|
||||
$eventIds[] = $event['id'];
|
||||
}
|
||||
return $eventIds;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue