Compare commits

..

1 Commits

Author SHA1 Message Date
jacobkarapatakis 2fb6afd181
Merge 37b418e0b3 into be64a186e0 2023-11-22 12:56:46 +02:00
1 changed files with 8 additions and 33 deletions

View File

@ -907,12 +907,6 @@ class MispConnector extends CommonConnectorTools
'reload_url' => '/localTools/action/' . h($params['connection']['id']) . '/organisationsAction', 'reload_url' => '/localTools/action/' . h($params['connection']['id']) . '/organisationsAction',
'popover_url' => '/localTools/action/' . h($params['connection']['id']) . '/fetchSelectedOrganisationsAction' 'popover_url' => '/localTools/action/' . h($params['connection']['id']) . '/fetchSelectedOrganisationsAction'
], ],
[
'text' => __('Fetch all organisations'),
'html' => '<i class="fas fa-download"></i> ',
'reload_url' => '/localTools/action/' . h($params['connection']['id']) . '/organisationsAction',
'popover_url' => '/localTools/action/' . h($params['connection']['id']) . '/fetchSelectedOrganisationsAction?ids=all'
],
[ [
'text' => __('Push organisations'), 'text' => __('Push organisations'),
'html' => '<i class="fas fa-upload"></i> ', 'html' => '<i class="fas fa-upload"></i> ',
@ -1196,42 +1190,23 @@ class MispConnector extends CommonConnectorTools
return [ return [
'data' => [ 'data' => [
'title' => __('Fetch organisations'), 'title' => __('Fetch organisations'),
'description' => is_array($ids) ? 'description' => __('Fetch and create/update the selected {0} organisations from MISP?', count($ids)),
__('Fetch and create/update the selected {0} organisations from MISP?', count($ids)) :
__('Fetch and create/update ALL organisations from MISP?'),
'submit' => [ 'submit' => [
'action' => $params['request']->getParam('action') 'action' => $params['request']->getParam('action')
], ],
'url' => is_array($ids) ? 'url' => ['controller' => 'localTools', 'action' => 'action', $params['connection']['id'], 'fetchSelectedOrganisationsAction']
['controller' => 'localTools', 'action' => 'action', $params['connection']['id'], 'fetchSelectedOrganisationsAction'] :
['controller' => 'localTools', 'action' => 'action', $params['connection']['id'], 'fetchSelectedOrganisationsAction?ids=all']
] ]
]; ];
} elseif ($params['request']->is(['post'])) { } elseif ($params['request']->is(['post'])) {
$successes = 0; $successes = 0;
$errors = 0; $errors = 0;
if (!is_array($ids) && $ids === 'all') { foreach ($ids as $id) {
$response = $this->getData('/organisations/index/scope:all', $params); $response = $this->getData('/organisations/view/' . $id, $params);
$result = $this->captureOrganisation($response->getJson()['Organisation']);
if ($response->getStatusCode() == 200) { if ($response->getStatusCode() == 200) {
$orgs = $response->getJson(); $successes++;
foreach ($orgs as $org) { } else {
$result = $this->captureOrganisation($org['Organisation']); $errors++;
if ($result) {
$successes++;
} else {
$errors++;
}
}
}
} else {
foreach ($ids as $id) {
$response = $this->getData('/organisations/view/' . $id, $params);
$result = $this->captureOrganisation($response->getJson()['Organisation']);
if ($response->getStatusCode() == 200) {
$successes++;
} else {
$errors++;
}
} }
} }
if ($successes) { if ($successes) {