0) { $alert = alerts_get_alert_command($id); if ($alert['internal'] || !check_acl_restricted_all($config['id_user'], $alert['id_group'], 'PM')) { db_pandora_audit('ACL Violation', 'Trying to access Alert Management'); include 'general/noaccess.php'; exit; } } if ($update_command) { $alert = alerts_get_alert_command($id); $name = (string) get_parameter('name'); $command = (string) get_parameter('command'); $description = (string) get_parameter('description'); $id_group = (string) get_parameter('id_group', 0); $fields_descriptions = []; $fields_values = []; $fields_hidden = []; $info_fields = ''; $values = []; for ($i = 1; $i <= $config['max_macro_fields']; $i++) { $fields_descriptions[] = (string) get_parameter('field'.$i.'_description'); $fields_values[] = (string) get_parameter('field'.$i.'_values'); $fields_hidden[] = get_parameter('field'.$i.'_hide'); $info_fields .= ' Field'.$i.': '.$fields_values[($i - 1)]; } $values['fields_values'] = io_json_mb_encode($fields_values); $values['fields_descriptions'] = io_json_mb_encode($fields_descriptions); $values['fields_hidden'] = io_json_mb_encode($fields_hidden); $values['name'] = $name; $values['command'] = $command; $values['description'] = $description; $values['id_group'] = $id_group; // Only for Metaconsole. Save the previous name for synchronizing. if (is_metaconsole()) { $values['previous_name'] = db_get_value('name', 'talert_commands', 'id', $id); } // Check it the new name is used in the other command. $id_check = db_get_value('id', 'talert_commands', 'name', $name); if (($id_check != $id) && (!empty($id_check))) { $result = ''; } else { $result = alerts_update_alert_command($id, $values); if ($result) { $info = '{"Name":"'.$name.'","Command":"'.$command.'","Description":"'.$description.' '.$info_fields.'"}'; $alert['fields_values'] = io_json_mb_encode($fields_values); $alert['fields_descriptions'] = io_json_mb_encode($fields_descriptions); $alert['name'] = $name; $alert['command'] = $command; $alert['description'] = $description; $alert['id_group'] = $id_group; $alert['fields_hidden'] = io_json_mb_encode($fields_hidden); } } if ($result) { db_pandora_audit('Command management', 'Update alert command #'.$id, false, false, $info); } else { db_pandora_audit('Command management', 'Fail to update alert command #'.$id, false, false); } ui_print_result_message( $result, __('Successfully updated'), __('Could not be updated') ); } $name = ''; $command = ''; $description = ''; $fields_descriptions = ''; $fields_values = ''; $id_group = 0; if ($id) { if (!$result) { $alert = alerts_get_alert_command($id); } $name = $alert['name']; $command = $alert['command']; $description = $alert['description']; $id_group = $alert['id_group']; $fields_descriptions = $alert['fields_descriptions']; $fields_values = $alert['fields_values']; $fields_hidden = $alert['fields_hidden']; } if (empty($fields_descriptions) === false) { $fields_descriptions = json_decode($fields_descriptions, true); } if (empty($fields_values) === false) { $fields_values = json_decode($fields_values, true); } if (empty($fields_hidden) === false) { $fields_hidden = json_decode($fields_hidden, true); } $is_management_allowed = is_management_allowed(); if ($is_management_allowed === false) { ui_print_warning_message( __( 'This node is configured with centralized mode. All alert commands information is read only. Go to %s to manage it.', ''.__('metaconsole').'' ) ); } $table = new stdClass(); $table->width = '100%'; $table->class = 'databox filters'; if (is_metaconsole() === true) { $table->head[0] = ($id) ? __('Update Command') : __('Create Command'); $table->head_colspan[0] = 4; $table->headstyle[0] = 'text-align: center'; } $table->style = []; if (is_metaconsole() === false) { $table->style[0] = 'font-weight: bold'; $table->style[2] = 'font-weight: bold'; $table->style[4] = 'font-weight: bold'; } $table->size = []; $table->size[0] = '20%'; $table->data = []; $table->colspan['name'][1] = 3; $table->data['name'][0] = __('Name'); $table->data['name'][2] = html_print_input_text( 'name', $name, '', 35, 255, true, false, false, '', '', '', '', false, '', '', '', !$is_management_allowed ); $table->colspan['command'][1] = 3; $table->data['command'][0] = __('Command'); $table->data['command'][1] = html_print_textarea( 'command', 8, 30, $command, '', true, '', !$is_management_allowed ); $return_all_group = false; if (users_can_manage_group_all('LM') === true) { $return_all_group = true; } $table->colspan['group'][1] = 3; $table->data['group'][0] = __('Group'); $table->data['group'][1] = '