2012-11-05 13:41:13 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
// Pandora FMS - http://pandorafms.com
|
|
|
|
// ==================================================
|
|
|
|
// Copyright (c) 2005-2009 Artica Soluciones Tecnologicas
|
|
|
|
// Please see http://pandorafms.org for full contribution list
|
|
|
|
|
|
|
|
// This program is free software; you can redistribute it and/or
|
|
|
|
// modify it under the terms of the GNU General Public License
|
|
|
|
// as published by the Free Software Foundation for version 2.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU General Public License for more details.
|
|
|
|
|
|
|
|
include_once("include/functions_modules.php");
|
|
|
|
include_once("include/functions_events.php");
|
|
|
|
include_once ('include/functions_groups.php');
|
|
|
|
include_once ('include/functions_netflow.php');
|
|
|
|
|
|
|
|
//xml con los datos de un agente
|
|
|
|
function xml_file_agent_data ($agent_data = array(), $file_temp) {
|
|
|
|
$file = fopen($file_temp, 'a+');
|
2013-02-04 15:07:28 +01:00
|
|
|
|
2012-11-05 13:41:13 +01:00
|
|
|
$content_report = " <name>". $agent_data['nombre']."</name>\n";
|
|
|
|
$content_report .= " <description>". $agent_data['comentarios']."</description>\n";
|
|
|
|
$content_report .= " <main_ipaddress>".$agent_data['direccion']."</main_ipaddress>\n";
|
|
|
|
$content_report .= " <group>".$agent_data['id_grupo']."</group>\n";
|
|
|
|
$content_report .= " <interval>". $agent_data['intervalo']."</interval>\n";
|
|
|
|
|
|
|
|
$sql = "SELECT t1.description, t2.name
|
|
|
|
FROM tagent_custom_data t1, tagent_custom_fields t2
|
|
|
|
WHERE t1.id_agent=".$agent_data['id_agente']."
|
|
|
|
AND t1.id_field=t2.id_field";
|
|
|
|
$custom_fields = db_get_all_rows_sql($sql);
|
|
|
|
|
|
|
|
if ($custom_fields !== false) {
|
|
|
|
foreach ($custom_fields as $field) {
|
|
|
|
$field['name'] = io_safe_output($field['name']);
|
|
|
|
//remove blank
|
|
|
|
$field['name'] = preg_replace('/\s/', '_', $field['name']);
|
|
|
|
$content_report .= " <".$field['name'].">".$field['description']."</".$field['name'].">\n";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$content_report .= " <os_type>".$agent_data['id_os']."</os_type>\n";
|
|
|
|
$content_report .= " <parent>". agents_get_name ($agent_data['id_parent'])."</parent>\n";
|
|
|
|
$content_report .= " <extra_id>".$agent_data['id_extra']."</extra_id>\n";
|
|
|
|
$content_report .= " <disabled>".$agent_data['disabled']."</disabled>\n";
|
|
|
|
|
|
|
|
$result = fwrite($file, $content_report);
|
|
|
|
$position++;
|
2013-02-04 15:07:28 +01:00
|
|
|
|
2012-11-05 13:41:13 +01:00
|
|
|
fclose($file);
|
|
|
|
return $position;
|
|
|
|
}
|
|
|
|
|
|
|
|
//xml con los datos de módulos de un agente
|
|
|
|
function xml_file_agent_conf ($modules = array(), $file_temp, $position = 0, $id_agent) {
|
|
|
|
|
|
|
|
$file = fopen($file_temp, 'a+');
|
|
|
|
|
|
|
|
foreach ($modules as $module) {
|
|
|
|
|
|
|
|
$content_report = " <object id=\"$position\">\n";
|
2013-02-04 15:07:28 +01:00
|
|
|
|
2012-11-05 13:41:13 +01:00
|
|
|
$content_report .= " <name>".$module['nombre']."</name>\n";
|
|
|
|
$content_report .= " <id>".$module['id_agente_modulo']."</id>\n";
|
|
|
|
$content_report .= " <type>".$module['id_tipo_modulo']."</type>\n";
|
|
|
|
$content_report .= " <description>".$module['descripcion']."</description>\n";
|
|
|
|
$content_report .= " <extended_info>". $module['extended_info']."</extended_info>\n";
|
|
|
|
$content_report .= " <unit>". $module['unit']."</unit>\n";
|
|
|
|
$content_report .= " <max>". $module['max']."</max>\n";
|
|
|
|
$content_report .= " <min>".$module['min']."</min>\n";
|
|
|
|
$content_report .= " <interval>". $module['module_interval']."</interval>\n";
|
|
|
|
$content_report .= " <ff_interval>". $module['module_ff_interval']."</ff_interval>\n";
|
|
|
|
$content_report .= " <tcp_port>". $module['tcp_port']."</tcp_port>\n";
|
|
|
|
$content_report .= " <tcp_send>". $module['tcp_send']."</tcp_send>\n";
|
|
|
|
$content_report .= " <tcp_rcv>". $module['tcp_rcv']."</tcp_rcv>\n";
|
|
|
|
$content_report .= " <snmp_community>". $module['snmp_community']."</snmp_community>\n";
|
|
|
|
$content_report .= " <snmp_oid>".$module['snmp_oid']."</snmp_oid>\n";
|
|
|
|
$content_report .= " <ip>". $module['ip_target']."</ip>\n";
|
|
|
|
$content_report .= " <module_group>".$module['id_module_group']."</module_group>\n";
|
|
|
|
$content_report .= " <disabled>". $module['disabled']."</disabled>\n";
|
|
|
|
$content_report .= " <id_plugin>".$module['id_plugin']."</id_plugin>\n";
|
|
|
|
$content_report .= " <post_process>". $module['post_process']."</post_process>\n";
|
|
|
|
$content_report .= " <min_warning>". $module['min_warning']."</min_warning>\n";
|
|
|
|
$content_report .= " <max_warning>". $module['max_warning']."</max_warning>\n";
|
|
|
|
$content_report .= " <str_warning>". $module['str_warning']."</str_warning>\n";
|
|
|
|
$content_report .= " <min_critical>". $module['min_critical']."</min_critical>\n";
|
|
|
|
$content_report .= " <max_critical>".$module['max_critical']."</max_critical>\n";
|
|
|
|
$content_report .= " <str_critical>". $module['str_critical']."</str_critical>\n";
|
|
|
|
$content_report .= " <id_policy_module>". $module['id_policy_module']."</id_policy_module>\n";
|
|
|
|
$content_report .= " <wizard_level>".$module['wizard_level']."</wizard_level>\n";
|
|
|
|
$content_report .= " <critical_instructions>". $module['critical_instructions']."</critical_instructions>\n";
|
|
|
|
$content_report .= " <warning_instructions>". $module['warning_instructions']."</warning_instructions>\n";
|
|
|
|
$content_report .= " <unknown_instructions>".$module['unknown_instructions']."</unknown_instructions>\n";
|
|
|
|
|
|
|
|
$content_report .= " </object>\n";
|
|
|
|
|
|
|
|
$result = fwrite($file, $content_report);
|
|
|
|
$position++;
|
|
|
|
}
|
|
|
|
fclose($file);
|
2013-02-04 15:07:28 +01:00
|
|
|
|
2012-11-05 13:41:13 +01:00
|
|
|
return $position;
|
|
|
|
}
|
|
|
|
|
|
|
|
// xml eventos
|
|
|
|
function xml_file_event ($events = array(), $file_temp, $position = 0, $id_agent) {
|
|
|
|
|
|
|
|
$file = fopen($file_temp, 'a+');
|
2013-02-04 Miguel de Dios <miguel.dedios@artica.es>
* godmode/alerts/alert_list.list.php,
godmode/reporting/graph_builder.php, godmode/setup/news.php,
godmode/setup/setup_general.php, godmode/netflow/nf_edit_form.php,
godmode/db/db_purge.php, godmode/db/db_main.php,
godmode/extensions.php, include/functions_reporting.php,
operation/reporting/reporting_viewer.php: improved the source code
style.
* operation/reporting/reporting_xml.php, include/functions_xml.php:
fixed the output of xml when have some html entities that is not
as hexadecimal entities.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7564 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-02-04 10:21:27 +01:00
|
|
|
|
2012-11-05 13:41:13 +01:00
|
|
|
foreach ($events as $event) {
|
|
|
|
|
|
|
|
$content_report = " <object id=\"$position\">\n";
|
2013-02-04 Miguel de Dios <miguel.dedios@artica.es>
* godmode/alerts/alert_list.list.php,
godmode/reporting/graph_builder.php, godmode/setup/news.php,
godmode/setup/setup_general.php, godmode/netflow/nf_edit_form.php,
godmode/db/db_purge.php, godmode/db/db_main.php,
godmode/extensions.php, include/functions_reporting.php,
operation/reporting/reporting_viewer.php: improved the source code
style.
* operation/reporting/reporting_xml.php, include/functions_xml.php:
fixed the output of xml when have some html entities that is not
as hexadecimal entities.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7564 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-02-04 10:21:27 +01:00
|
|
|
$content_report .= " <event>" . io_safe_output($event['evento']) . "</event>\n";
|
|
|
|
$content_report .= " <event_type>" . $event['event_type'] . "</event_type>\n";
|
|
|
|
$content_report .= " <criticity>" . get_priority_name($event['criticity']) . "</criticity>\n";
|
|
|
|
$content_report .= " <count>" . $event['count_rep'] . "</count>\n";
|
|
|
|
$content_report .= " <timestamp>" . $event['time2'] . "</timestamp>\n";
|
|
|
|
$content_report .= " <module_name>" . io_safe_output(modules_get_agentmodule_name ($event['id_agentmodule'])) . "</module_name>\n";
|
|
|
|
$content_report .= " <agent_name>" . io_safe_output(agents_get_name ($id_agent)) . "</agent_name>\n";
|
2012-11-05 13:41:13 +01:00
|
|
|
|
|
|
|
if ($event['estado'] == 0)
|
|
|
|
$status = __('New');
|
|
|
|
else if ($event['estado'] == 1)
|
|
|
|
$status = __('Validated');
|
|
|
|
else if ($event['estado'] == 2)
|
|
|
|
$status = __('In process');
|
|
|
|
else
|
|
|
|
$status = "";
|
2013-02-04 Miguel de Dios <miguel.dedios@artica.es>
* godmode/alerts/alert_list.list.php,
godmode/reporting/graph_builder.php, godmode/setup/news.php,
godmode/setup/setup_general.php, godmode/netflow/nf_edit_form.php,
godmode/db/db_purge.php, godmode/db/db_main.php,
godmode/extensions.php, include/functions_reporting.php,
operation/reporting/reporting_viewer.php: improved the source code
style.
* operation/reporting/reporting_xml.php, include/functions_xml.php:
fixed the output of xml when have some html entities that is not
as hexadecimal entities.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7564 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-02-04 10:21:27 +01:00
|
|
|
|
|
|
|
$content_report .= " <event_status>".$status."</event_status>\n";
|
|
|
|
$content_report .= " <user_comment>".$event['user_comment']."</user_comment>\n";
|
|
|
|
$content_report .= " <tags>".$event['tags']."</tags>\n";
|
|
|
|
$content_report .= " <event_source>".$event['source']."</event_source>\n";
|
|
|
|
$content_report .= " <extra_id>".$event['id_extra']."</extra_id>\n";
|
|
|
|
$content_report .= " <user_validation>".$event['owner_user']."</user_validation>\n";
|
2012-11-05 13:41:13 +01:00
|
|
|
$content_report .= " </object>\n";
|
|
|
|
|
|
|
|
$result = fwrite($file, $content_report);
|
|
|
|
$position++;
|
|
|
|
|
|
|
|
}
|
|
|
|
fclose($file);
|
2013-02-04 15:07:28 +01:00
|
|
|
|
2012-11-05 13:41:13 +01:00
|
|
|
return $position;
|
|
|
|
}
|
|
|
|
|
|
|
|
//xml graph
|
|
|
|
function xml_file_graph ($data_module = array(), $file_temp, $position = 0) {
|
|
|
|
|
|
|
|
$file = fopen($file_temp, 'a+');
|
2013-02-04 Miguel de Dios <miguel.dedios@artica.es>
* godmode/alerts/alert_list.list.php,
godmode/reporting/graph_builder.php, godmode/setup/news.php,
godmode/setup/setup_general.php, godmode/netflow/nf_edit_form.php,
godmode/db/db_purge.php, godmode/db/db_main.php,
godmode/extensions.php, include/functions_reporting.php,
operation/reporting/reporting_viewer.php: improved the source code
style.
* operation/reporting/reporting_xml.php, include/functions_xml.php:
fixed the output of xml when have some html entities that is not
as hexadecimal entities.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7564 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-02-04 10:21:27 +01:00
|
|
|
|
2012-11-05 13:41:13 +01:00
|
|
|
foreach ($data_module as $data_m) {
|
|
|
|
|
|
|
|
$content_report = " <object id=\"$position\">\n";
|
|
|
|
$content_report .= " <timestamp>".date ('Y-m-d H:i:s', $data_m['utimestamp'])."</timestamp>\n";
|
|
|
|
$content_report .= " <utimestamp>".$data_m['utimestamp']."</utimestamp>\n";
|
|
|
|
$content_report .= " <data>".$data_m['datos']."</data>\n";
|
|
|
|
$content_report .= " </object>\n";
|
|
|
|
|
|
|
|
$result = fwrite($file, $content_report);
|
|
|
|
$position++;
|
|
|
|
}
|
|
|
|
|
|
|
|
fclose($file);
|
2013-02-04 15:07:28 +01:00
|
|
|
|
2012-11-05 13:41:13 +01:00
|
|
|
return $position;
|
|
|
|
}
|
|
|
|
?>
|