mirror of https://github.com/MISP/MISP
fix: [workflows] Clean up and removed unused code
parent
510e682b20
commit
b8a9bedcbc
|
@ -1,51 +0,0 @@
|
|||
<?php
|
||||
App::uses('BackgroundJobsTool', 'Tools');
|
||||
require_once 'AppShell.php';
|
||||
|
||||
/**
|
||||
* @property Job $Job
|
||||
* @property User $User
|
||||
*/
|
||||
class ModuleShell extends AppShell
|
||||
{
|
||||
public $uses = array('Module', 'User', 'Job', 'Server');
|
||||
|
||||
public function execute_action_module()
|
||||
{
|
||||
if (!isset($this->args[0]) || empty($this->args[1]) || empty($this->args[2])) {
|
||||
die('Usage: ' . $this->Server->command_line_functions['console_automation_tasks']['data']['Execute Action Module'] . PHP_EOL);
|
||||
}
|
||||
|
||||
$userId = $this->args[0];
|
||||
$data = $this->args[1];
|
||||
if (!empty($this->args[2])) {
|
||||
$jobId = $this->args[2];
|
||||
} else {
|
||||
$jobId = $this->Job->createJob(null, Job::WORKER_PRIO, 'execute_action_module', 'Module: ' . $data["module"], 'Executing...');
|
||||
}
|
||||
$this->Job->read(null, $jobId);
|
||||
$result = $this->Module->executeAction($data);
|
||||
if (empty($result['data']) || !empty($result['error'])) {
|
||||
$message = empty($result['error']) ? __('Execution failed for module %s.', $data['module']) : $result['error'];
|
||||
$this->Job->saveStatus($jobId, false, $message);
|
||||
} else {
|
||||
$message = 'Job done.';
|
||||
$this->Job->saveStatus($jobId, true, $message);
|
||||
$this->Job->saveProgress($jobId, $message, 100);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $userId
|
||||
* @return array
|
||||
*/
|
||||
private function getUser($userId)
|
||||
{
|
||||
$user = $this->User->getAuthUser($userId);
|
||||
if (empty($user)) {
|
||||
$this->error('User ID do not match an existing user.');
|
||||
}
|
||||
return $user;
|
||||
}
|
||||
|
||||
}
|
|
@ -393,90 +393,4 @@ class Module extends AppModel
|
|||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function executeActions($type, $user, $input, $logData, &$error = null)
|
||||
{
|
||||
$modules = $this->getEnabledModules($user, null, $moduleFamily = 'Action');
|
||||
$sorted_modules = [];
|
||||
if (empty($modules) || !is_array($modules)) {
|
||||
return true;
|
||||
}
|
||||
foreach ($modules['modules'] as $k => &$module) {
|
||||
if (!in_array($type, $module['mispattributes']['hooks'])) {
|
||||
//unset($modules['modules'][$k]);
|
||||
continue;
|
||||
}
|
||||
$settingPath = 'Plugin.' . $module['name'] . '_';
|
||||
$module['weight'] = Configure::check($settingPath . 'weight') ? Configure::read($settingPath . 'weight') : 0;
|
||||
$module['filters'] = Configure::check($settingPath . 'filters') ? json_decode(Configure::read($settingPath . 'filters'), true) : [];
|
||||
foreach ($module['meta']['config'] as $settingName => $settingData) {
|
||||
$module['config'][$settingName] = Configure::check($settingPath . $settingName) ? Configure::read($settingPath . $settingName) : $settingData['value'];
|
||||
}
|
||||
$sorted_modules[$module['weight']][] = $module;
|
||||
}
|
||||
krsort($sorted_modules);
|
||||
foreach ($sorted_modules as $weight => $modules) {
|
||||
foreach ($modules as $module) {
|
||||
$data = [
|
||||
'module' => $module['name'],
|
||||
'config' => empty($module['config']) ? [] : $module['config'],
|
||||
'data' => $input
|
||||
];
|
||||
if (empty($module['mispattributes']['blocking'])) {
|
||||
$this->enqueueAction($data, $user);
|
||||
return true;
|
||||
} else {
|
||||
$result = $this->executeAction($data);
|
||||
if (empty($result['data']) || !empty($result['error'])) {
|
||||
$error = empty($result['error']) ? __('Execution failed for module %s.', $module['name']) : $result['error'];
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function enqueueAction($data, $user)
|
||||
{
|
||||
/** @var Job $job */
|
||||
$job = ClassRegistry::init('Job');
|
||||
$jobId = $job->createJob($user, Job::WORKER_PRIO, 'execute_action_module', 'Module: ' . $data["module"], 'Executing...');
|
||||
$args = [
|
||||
'execute_action_module',
|
||||
$user['id'],
|
||||
$data,
|
||||
$jobId
|
||||
];
|
||||
$this->getBackgroundJobsTool()->enqueue(
|
||||
BackgroundJobsTool::PRIO_QUEUE,
|
||||
BackgroundJobsTool::CMD_MODULE,
|
||||
$args,
|
||||
true,
|
||||
$jobId
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
||||
public function executeAction($data)
|
||||
{
|
||||
$result = $this->queryModuleServer($data, false, 'Action');
|
||||
if (!empty($result['error'])) {
|
||||
$this->loadLog()->createLogEntry(
|
||||
'SYSTEM',
|
||||
'warning',
|
||||
empty($logData['model']) ? 'Module' : $logData['model'],
|
||||
empty($logData['id']) ? 0 : $logData['id'],
|
||||
sprintf(
|
||||
'Executing %s action module on failed.',
|
||||
$type
|
||||
),
|
||||
sprintf(
|
||||
'Returned error: %s',
|
||||
$result['error']
|
||||
)
|
||||
);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7167,13 +7167,6 @@ class Server extends AppModel
|
|||
'test' => 'testBool',
|
||||
'type' => 'boolean'
|
||||
),
|
||||
// 'Workflow_triggers_publish' => array(
|
||||
// 'level' => 1,
|
||||
// 'description' => __('Enable/disable the `publish` trigger'),
|
||||
// 'value' => false,
|
||||
// 'test' => 'testBool',
|
||||
// 'type' => 'boolean'
|
||||
// ),
|
||||
'Cortex_services_url' => array(
|
||||
'level' => 1,
|
||||
'description' => __('The url used to access Cortex. By default, it is accessible at http://cortex-url'),
|
||||
|
|
|
@ -140,4 +140,4 @@ class WorkflowBlueprint extends AppModel
|
|||
$mermaid = MermaidFlowchartTool::mermaid($workflowBlueprintData);
|
||||
return $mermaid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -235,4 +235,4 @@ class WorkflowBaseLogicModule extends WorkflowBaseModule
|
|||
|
||||
class WorkflowBaseActionModule extends WorkflowBaseModule
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,4 +16,4 @@ class Module_publish extends WorkflowBaseTriggerModule
|
|||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue