tags if (isset($command['description'])) { $command['description'] = io_safe_input(str_replace("\r\n","
", io_safe_output($command['description']))); } // Get the html rows of the fields form // Descriptions are stored in json $fields_descriptions = empty($command['fields_descriptions']) ? '' : json_decode(io_safe_output($command['fields_descriptions']), true); // Fields values are stored in json $fields_values = empty($command['fields_values']) ? '' : io_safe_output(json_decode($command['fields_values'], true)); $fields_rows = array(); for ($i = 1; $i <= 10; $i++) { $field_description = $fields_descriptions[$i - 1]; $field_value = $fields_values[$i - 1]; if (!empty($field_description)) { $fdesc = $field_description . '
' . sprintf(__('Field %s'), $i) . ''; } else { // If the macro hasn't description and doesnt appear in command, set with empty description to dont show it if (substr_count($command['command'], "_field" . $i . "_") > 0) { $fdesc = sprintf(__('Field %s'), $i); } else { $fdesc = ''; } } if (!empty($field_value)) { $field_value = io_safe_output($field_value); // HTML type if (preg_match ("/^_html_editor_$/i", $field_value)) { $editor_type_chkbx = "
"; $editor_type_chkbx .= __('Basic') . "  "; $editor_type_chkbx .= html_print_radio_button_extended ('editor_type_value_'.$i, 0, '', false, false, "removeTinyMCE('textarea_field".$i."_value')", '', true); $editor_type_chkbx .= "    "; $editor_type_chkbx .= __('Advanced') . "  "; $editor_type_chkbx .= html_print_radio_button_extended ('editor_type_value_'.$i, 0, '', true, false, "addTinyMCE('textarea_field".$i."_value')", '', true); $editor_type_chkbx .= "
"; $ffield = $editor_type_chkbx; $ffield .= html_print_textarea ('field'.$i.'_value', 1, 1, '', 'class="fields"', true); $editor_type_chkbx = "
"; $editor_type_chkbx .= __('Basic') . "  "; $editor_type_chkbx .= html_print_radio_button_extended ('editor_type_recovery_value_'.$i, 0, '', false, false, "removeTinyMCE('textarea_field".$i."_recovery_value')", '', true); $editor_type_chkbx .= "    "; $editor_type_chkbx .= __('Advanced') . "  "; $editor_type_chkbx .= html_print_radio_button_extended ('editor_type_recovery_value_'.$i, 0, '', true, false, "addTinyMCE('textarea_field".$i."_recovery_value')", '', true); $editor_type_chkbx .= "
"; $rfield = $editor_type_chkbx; $rfield .= html_print_textarea ('field'.$i.'_recovery_value', 1, 1, '', 'class="fields_recovery"', true); } // Select type else { $fields_value_select = array(); $fv = explode(';', $field_value); if (count($fv) > 1) { if (!empty($fv)) { foreach ($fv as $fv_option) { $fv_option = explode(',', $fv_option); if (empty($fv_option)) continue; if (!isset($fv_option[1])) $fv_option[1] = $fv_option[0]; $fields_value_select[$fv_option[0]] = $fv_option[1]; } } $ffield = html_print_select($fields_value_select, 'field'.$i.'_value', '', '', '', 0, true, false, false, 'fields'); $rfield = html_print_select($fields_value_select, 'field'.$i.'_recovery_value', '', '', '', 0, true, false, false, 'fields_recovery'); } else { $ffield = html_print_textarea ('field' . $i . '_value',1, 1, $fv[0], 'style="min-height:40px" class="fields"', true); $rfield = html_print_textarea ('field' . $i . '_recovery_value', 1, 1, $fv[0], 'style="min-height:40px" class="fields_recovery"', true); } } } else { $ffield = html_print_textarea ('field' . $i . '_value', 1, 1, '', 'style="min-height:40px" class="fields"', true); $rfield = html_print_textarea ( 'field' . $i . '_recovery_value', 1, 1, '', 'style="min-height:40px" class="fields_recovery"', true); } // The empty descriptions will be ignored if ($fdesc == '') { $fields_rows[$i] = ''; } else { $fields_rows[$i] = ''; $fields_rows[$i] .= '' . $fdesc . ''; $fields_rows[$i] .= '' . $ffield . ''; if ($get_recovery_fields) { $fields_rows[$i] .= '' . $rfield . ''; } $fields_rows[$i] .= ''; } } $command['fields_rows'] = $fields_rows; echo json_encode ($command); } return; } if ($update_command) { require_once("configure_alert_command.php"); return; } // Header if (defined('METACONSOLE')) alerts_meta_print_header(); else ui_print_page_header (__('Alerts').' » '.__('Alert commands'), "images/gm_alerts.png", false, "alerts_config", true); if ($create_command) { $name = (string) get_parameter ('name'); $command = (string) get_parameter ('command'); $description = (string) get_parameter ('description'); $fields_descriptions = array(); $fields_values = array(); $info_fields = ''; $values = array(); for ($i=1;$i<=10;$i++) { $fields_descriptions[] = (string) get_parameter ('field'.$i.'_description'); $fields_values[] = (string) get_parameter ('field'.$i.'_values'); $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['description'] = $description; $name_check = db_get_value ('name', 'talert_commands', 'name', $name); if (!$name_check) { $result = alerts_create_alert_command ($name, $command, $values); $info = 'Name: ' . $name . ' Command: ' . $command . ' Description: ' . $description. ' ' .$info_fields; } else { $result = ''; } if ($result) { db_pandora_audit("Command management", "Create alert command #" . $result, false, false, $info); } else { db_pandora_audit("Command management", "Fail try to create alert command", false, false); } ui_print_result_message ($result, __('Successfully created'), __('Could not be created')); } if ($delete_command) { $id = (int) get_parameter ('id'); // Internal commands cannot be deleted if (alerts_get_alert_command_internal ($id)) { db_pandora_audit("ACL Violation", "Trying to access Alert Management"); require ("general/noaccess.php"); return; } $result = alerts_delete_alert_command ($id); if ($result) { db_pandora_audit("Command management", "Delete alert command #" . $id); } else { db_pandora_audit("Command management", "Fail try to delete alert command #" . $id); } ui_print_result_message ($result, __('Successfully deleted'), __('Could not be deleted')); } $table->width = '98%'; if (defined('METACONSOLE')) $table->width = '100%'; $table->data = array (); $table->head = array (); $table->head[0] = __('Name'); $table->head[1] = __('ID'); $table->head[2] = __('Description'); $table->head[3] = __('Delete'); $table->style = array (); $table->style[0] = 'font-weight: bold'; $table->size = array (); $table->size[3] = '40px'; $table->align = array (); $table->align[3] = 'center'; $commands = db_get_all_rows_in_table ('talert_commands'); if ($commands === false) $commands = array (); foreach ($commands as $command) { $data = array (); $data[0] = ''; if (! $command['internal']) $data[0] .= ''. $command['name'].''; else $data[0] .= $command['name']; $data[0] .= ''; $data[1] = $command['id']; $data[2] = str_replace("\r\n","
", io_safe_output($command['description'])); $data[3] = ''; if (! $command['internal']) { $data[3] = ''. html_print_image("images/cross.png", true) . ''; } array_push ($table->data, $data); } if (isset($data)) { html_print_table ($table); } else { echo "
" . __('No alert commands configured') . "
"; } echo '
'; echo '
'; html_print_submit_button (__('Create'), 'create', false, 'class="sub next"'); html_print_input_hidden ('create_alert', 1); echo '
'; echo '
'; enterprise_hook('close_meta_frame'); ?>