WIP: H&D: merge
Former-commit-id: c1e04b80a49fb0a9870676dc8f59732cd595fbc0
This commit is contained in:
parent
7df9d4f78b
commit
3995874176
|
@ -327,6 +327,93 @@ class HostDevices extends Wizard
|
||||||
*/
|
*/
|
||||||
public function parseNetScan()
|
public function parseNetScan()
|
||||||
{
|
{
|
||||||
|
if ($this->page == 0) {
|
||||||
|
// Error. Must not be here.
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate response from page 0. No, not a bug, we're always 1 page
|
||||||
|
// from 'validation' page.
|
||||||
|
if ($this->page == 1) {
|
||||||
|
$taskname = get_parameter('taskname', '');
|
||||||
|
$comment = get_parameter('comment', '');
|
||||||
|
$server_id = get_parameter('id_recon_server', '');
|
||||||
|
$network = get_parameter('name', '');
|
||||||
|
$id_group = get_parameter('id_group', '');
|
||||||
|
|
||||||
|
if ($taskname == '') {
|
||||||
|
$this->msg = __('You must provide a task name.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($server_id == '') {
|
||||||
|
$this->msg = __('You must select a Discovery Server.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($network == '') {
|
||||||
|
// XXX: Could be improved validating provided network.
|
||||||
|
$this->msg = __('You must provide a valid network.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($id_group == '') {
|
||||||
|
$this->msg = __('You must select a valid group.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assign fields.
|
||||||
|
$this->task['name'] = $taskname;
|
||||||
|
$this->task['description'] = $comment;
|
||||||
|
$this->task['subnet'] = $network;
|
||||||
|
$this->task['id_recon_server'] = $server_id;
|
||||||
|
// Disabled 2 Implies wizard non finished.
|
||||||
|
$this->task['disabled'] = 2;
|
||||||
|
|
||||||
|
$this->task['id_rt'] = 5;
|
||||||
|
|
||||||
|
if (!isset($this->task['id_rt'])) {
|
||||||
|
// Create.
|
||||||
|
$this->task['id_rt'] = db_process_sql_insert(
|
||||||
|
'trecon_task',
|
||||||
|
$this->task
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
// Update.
|
||||||
|
db_process_sql_update(
|
||||||
|
'trecon_task',
|
||||||
|
$this->task,
|
||||||
|
['id_rt' => $this->task['id_rt']]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate response from page 1.
|
||||||
|
if ($this->page == 2) {
|
||||||
|
$id_rt = get_parameter('task', -1);
|
||||||
|
|
||||||
|
$this->task = db_get_row(
|
||||||
|
'trecon_task',
|
||||||
|
'id_rt',
|
||||||
|
$id_rt
|
||||||
|
);
|
||||||
|
|
||||||
|
hd($this->task);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->page == 3) {
|
||||||
|
// Interval and schedules.
|
||||||
|
// By default manual if not defined.
|
||||||
|
$interval = get_parameter('interval', 0);
|
||||||
|
|
||||||
|
$this->task['interval_sweep'] = $interval;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -355,18 +442,83 @@ class HostDevices extends Wizard
|
||||||
$user_groups = users_get_groups(false, 'AW', true, false, null, 'id_grupo');
|
$user_groups = users_get_groups(false, 'AW', true, false, null, 'id_grupo');
|
||||||
$user_groups = array_keys($user_groups);
|
$user_groups = array_keys($user_groups);
|
||||||
|
|
||||||
if (isset($this->page) && $this->page == 1) {
|
if ($this->parseNetScan() === false) {
|
||||||
// Parse page 0 responses.
|
// Error.
|
||||||
$this->parseNetScan();
|
ui_print_error_message(
|
||||||
|
$this->msg
|
||||||
|
);
|
||||||
|
|
||||||
|
$form = [
|
||||||
|
'form' => [
|
||||||
|
'method' => 'POST',
|
||||||
|
'action' => '#',
|
||||||
|
],
|
||||||
|
'inputs' => [
|
||||||
|
[
|
||||||
|
'arguments' => [
|
||||||
|
'type' => 'hidden',
|
||||||
|
'name' => 'page',
|
||||||
|
'value' => ($this->page - 1),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'arguments' => [
|
||||||
|
'name' => 'submit',
|
||||||
|
'label' => __('Go back'),
|
||||||
|
'type' => 'submit',
|
||||||
|
'attributes' => 'class="sub cancel"',
|
||||||
|
'return' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->printForm($form);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($this->page) || $this->page == 0) {
|
if (isset($this->page)
|
||||||
// Interval.
|
&& $this->page != 0
|
||||||
$interv_manual = 0;
|
&& isset($this->task['id_rt']) === false
|
||||||
if ((int) $interval == 0) {
|
) {
|
||||||
$interv_manual = 1;
|
// Error.
|
||||||
}
|
ui_print_error_message(
|
||||||
|
__('Internal error, please re-run this wizard.')
|
||||||
|
);
|
||||||
|
|
||||||
|
$form = [
|
||||||
|
'form' => [
|
||||||
|
'method' => 'POST',
|
||||||
|
'action' => '#',
|
||||||
|
],
|
||||||
|
'inputs' => [
|
||||||
|
[
|
||||||
|
'arguments' => [
|
||||||
|
'type' => 'hidden',
|
||||||
|
'name' => 'page',
|
||||||
|
'value' => 0,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'arguments' => [
|
||||||
|
'name' => 'submit',
|
||||||
|
'label' => __('Go back'),
|
||||||
|
'type' => 'submit',
|
||||||
|
'attributes' => 'class="sub cancel"',
|
||||||
|
'return' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->printForm($form);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------.
|
||||||
|
// Page 0. wizard starts HERE.
|
||||||
|
// -------------------------------.
|
||||||
|
if (!isset($this->page) || $this->page == 0) {
|
||||||
if (isset($this->page) === false
|
if (isset($this->page) === false
|
||||||
|| $this->page == 0
|
|| $this->page == 0
|
||||||
) {
|
) {
|
||||||
|
@ -383,6 +535,17 @@ class HostDevices extends Wizard
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// Input task name.
|
||||||
|
$form['inputs'][] = [
|
||||||
|
'label' => '<b>'.__('Comment').'</b>',
|
||||||
|
'arguments' => [
|
||||||
|
'name' => 'comment',
|
||||||
|
'value' => '',
|
||||||
|
'type' => 'text',
|
||||||
|
'size' => 25,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
// Input Discovery Server.
|
// Input Discovery Server.
|
||||||
$form['inputs'][] = [
|
$form['inputs'][] = [
|
||||||
'label' => '<b>'.__('Discovery server').'</b>'.ui_print_help_tip(
|
'label' => '<b>'.__('Discovery server').'</b>'.ui_print_help_tip(
|
||||||
|
@ -419,38 +582,6 @@ class HostDevices extends Wizard
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
// Input interval.
|
|
||||||
$form['inputs'][] = [
|
|
||||||
'label' => '<b>'.__('Interval').'</b>'.ui_print_help_tip(
|
|
||||||
__('Manual interval means that it will be executed only On-demand'),
|
|
||||||
true
|
|
||||||
),
|
|
||||||
'arguments' => [
|
|
||||||
'type' => 'select',
|
|
||||||
'selected' => $interv_manual,
|
|
||||||
'fields' => [
|
|
||||||
0 => __('Defined'),
|
|
||||||
1 => __('Manual'),
|
|
||||||
],
|
|
||||||
'name' => 'interval_manual_defined',
|
|
||||||
'return' => true,
|
|
||||||
],
|
|
||||||
'extra' => '<span id="interval_manual_container">'.html_print_extended_select_for_time(
|
|
||||||
'interval',
|
|
||||||
$interval,
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'0',
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
).ui_print_help_tip(
|
|
||||||
__('The minimum recomended interval for Recon Task is 5 minutes'),
|
|
||||||
true
|
|
||||||
).'</span>',
|
|
||||||
];
|
|
||||||
|
|
||||||
// Input Group.
|
// Input Group.
|
||||||
$form['inputs'][] = [
|
$form['inputs'][] = [
|
||||||
'label' => '<b>'.__('Group').'</b>',
|
'label' => '<b>'.__('Group').'</b>',
|
||||||
|
@ -553,17 +684,19 @@ class HostDevices extends Wizard
|
||||||
'hidden' => 1,
|
'hidden' => 1,
|
||||||
'block_id' => 'snmp_extra',
|
'block_id' => 'snmp_extra',
|
||||||
'block_content' => [
|
'block_content' => [
|
||||||
'label' => __('SNMP version'),
|
[
|
||||||
'arguments' => [
|
'label' => __('SNMP version'),
|
||||||
'name' => 'auth_strings',
|
'arguments' => [
|
||||||
'fields' => [
|
'name' => 'auth_strings',
|
||||||
'1' => 'v. 1',
|
'fields' => [
|
||||||
'2c' => 'v. 2c',
|
'1' => 'v. 1',
|
||||||
'3' => 'v. 3',
|
'2c' => 'v. 2c',
|
||||||
|
'3' => 'v. 3',
|
||||||
|
],
|
||||||
|
'type' => 'select',
|
||||||
|
'script' => "\$('#snmp_options_v'+this.value).toggle()",
|
||||||
|
'return' => true,
|
||||||
],
|
],
|
||||||
'type' => 'select',
|
|
||||||
'script' => "\$('#snmp_options_v'+this.value).toggle()",
|
|
||||||
'return' => true,
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@ -572,13 +705,15 @@ class HostDevices extends Wizard
|
||||||
'hidden' => 1,
|
'hidden' => 1,
|
||||||
'block_id' => 'snmp_options_v1',
|
'block_id' => 'snmp_options_v1',
|
||||||
'block_content' => [
|
'block_content' => [
|
||||||
'label' => __('Community'),
|
[
|
||||||
'arguments' => [
|
'label' => __('Community'),
|
||||||
'name' => 'community',
|
'arguments' => [
|
||||||
'type' => 'text',
|
'name' => 'community',
|
||||||
'size' => 25,
|
'type' => 'text',
|
||||||
'return' => true,
|
'size' => 25,
|
||||||
|
'return' => true,
|
||||||
|
|
||||||
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue