2009-11-25 10:12:42 +01:00
|
|
|
|
<?php
|
2011-05-09 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* include/functions_graph.php
include/functions_html.php
include/functions_menu.php
include/graphs/fgraph.php
include/functions_messages.php
include/functions_modules.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_networkmap.php
include/functions_servers.php
include/functions_network_profiles.php
include/functions_network_components.php
include/functions_visual_map.php
include/ajax/visual_console_builder.ajax.php
include/ajax/agent.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_io.php
include/functions_api.php
include/functions_ui.php
include/fgraph.php
include/functions_incidents.php
include/functions.php
include/functions_agents.php
include/functions_db.php
include/functions_alerts.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/agents_modules.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/module_groups.php
extensions/plugin_registration.php
operation/incidents/incident.incident.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident.download_file.php
operation/incidents/incident.list.php
operation/search_modules.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/integria_incidents/incident.incident.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident.download_file.php
operation/integria_incidents/incident.list.php
operation/events/events_rss.php
operation/events/events_list.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/custom_reporting.php
operation/search_reports.php
operation/search_results.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/tactical.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/servers/view_servers.php
general/logon_ok.php
general/header.php
godmode/admin_access_logs.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_purge.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/module_manager.php
godmode/agentes/configurar_agente.php
godmode/agentes/module_manager_editor.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/menu.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/configure_alert_action.php
godmode/setup/os.list.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/users/user_list.php
godmode/users/configure_user.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/reporting_builder.item_editor.php: Functions in
functions_incidents.php, functions_io.php, functions_menu.php, functions_messages.php,
functions_modules.php, functions_network_components.php, functions_network_profiles.php,
functions_networkmap.php, functions_reporting.php, functions_reports.php,
functions_servers.php have "incidents_", "io_", "menu_", "messages_", "modules_",
"network_profiles_", "network_components_", "networkmap_", "reporting_", "reports_",
"servers_" prefixes respectively.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4326 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-05-09 19:30:55 +02:00
|
|
|
|
|
2023-06-08 13:19:01 +02:00
|
|
|
|
// Pandora FMS - https://pandorafms.com
|
2011-05-09 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* include/functions_graph.php
include/functions_html.php
include/functions_menu.php
include/graphs/fgraph.php
include/functions_messages.php
include/functions_modules.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_networkmap.php
include/functions_servers.php
include/functions_network_profiles.php
include/functions_network_components.php
include/functions_visual_map.php
include/ajax/visual_console_builder.ajax.php
include/ajax/agent.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_io.php
include/functions_api.php
include/functions_ui.php
include/fgraph.php
include/functions_incidents.php
include/functions.php
include/functions_agents.php
include/functions_db.php
include/functions_alerts.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/agents_modules.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/module_groups.php
extensions/plugin_registration.php
operation/incidents/incident.incident.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident.download_file.php
operation/incidents/incident.list.php
operation/search_modules.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/integria_incidents/incident.incident.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident.download_file.php
operation/integria_incidents/incident.list.php
operation/events/events_rss.php
operation/events/events_list.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/custom_reporting.php
operation/search_reports.php
operation/search_results.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/tactical.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/servers/view_servers.php
general/logon_ok.php
general/header.php
godmode/admin_access_logs.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_purge.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/module_manager.php
godmode/agentes/configurar_agente.php
godmode/agentes/module_manager_editor.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/menu.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/configure_alert_action.php
godmode/setup/os.list.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/users/user_list.php
godmode/users/configure_user.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/reporting_builder.item_editor.php: Functions in
functions_incidents.php, functions_io.php, functions_menu.php, functions_messages.php,
functions_modules.php, functions_network_components.php, functions_network_profiles.php,
functions_networkmap.php, functions_reporting.php, functions_reports.php,
functions_servers.php have "incidents_", "io_", "menu_", "messages_", "modules_",
"network_profiles_", "network_components_", "networkmap_", "reporting_", "reports_",
"servers_" prefixes respectively.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4326 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-05-09 19:30:55 +02:00
|
|
|
|
// ==================================================
|
2023-06-08 11:53:13 +02:00
|
|
|
|
// Copyright (c) 2005-2023 Pandora FMS
|
2023-06-08 13:19:01 +02:00
|
|
|
|
// Please see https://pandorafms.com/community/ for full contribution list
|
2011-05-09 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* include/functions_graph.php
include/functions_html.php
include/functions_menu.php
include/graphs/fgraph.php
include/functions_messages.php
include/functions_modules.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_networkmap.php
include/functions_servers.php
include/functions_network_profiles.php
include/functions_network_components.php
include/functions_visual_map.php
include/ajax/visual_console_builder.ajax.php
include/ajax/agent.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_io.php
include/functions_api.php
include/functions_ui.php
include/fgraph.php
include/functions_incidents.php
include/functions.php
include/functions_agents.php
include/functions_db.php
include/functions_alerts.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/agents_modules.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/module_groups.php
extensions/plugin_registration.php
operation/incidents/incident.incident.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident.download_file.php
operation/incidents/incident.list.php
operation/search_modules.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/integria_incidents/incident.incident.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident.download_file.php
operation/integria_incidents/incident.list.php
operation/events/events_rss.php
operation/events/events_list.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/custom_reporting.php
operation/search_reports.php
operation/search_results.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/tactical.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/servers/view_servers.php
general/logon_ok.php
general/header.php
godmode/admin_access_logs.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_purge.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/module_manager.php
godmode/agentes/configurar_agente.php
godmode/agentes/module_manager_editor.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/menu.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/configure_alert_action.php
godmode/setup/os.list.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/users/user_list.php
godmode/users/configure_user.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/reporting_builder.item_editor.php: Functions in
functions_incidents.php, functions_io.php, functions_menu.php, functions_messages.php,
functions_modules.php, functions_network_components.php, functions_network_profiles.php,
functions_networkmap.php, functions_reporting.php, functions_reports.php,
functions_servers.php have "incidents_", "io_", "menu_", "messages_", "modules_",
"network_profiles_", "network_components_", "networkmap_", "reporting_", "reports_",
"servers_" prefixes respectively.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4326 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-05-09 19:30:55 +02:00
|
|
|
|
// This program is free software; you can redistribute it and/or
|
|
|
|
|
// modify it under the terms of the GNU Lesser General Public License
|
|
|
|
|
// as published by the Free Software Foundation; 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.
|
|
|
|
|
|
|
|
|
|
/**
|
2019-01-30 16:18:44 +01:00
|
|
|
|
* @package Include
|
2011-05-09 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* include/functions_graph.php
include/functions_html.php
include/functions_menu.php
include/graphs/fgraph.php
include/functions_messages.php
include/functions_modules.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_networkmap.php
include/functions_servers.php
include/functions_network_profiles.php
include/functions_network_components.php
include/functions_visual_map.php
include/ajax/visual_console_builder.ajax.php
include/ajax/agent.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_io.php
include/functions_api.php
include/functions_ui.php
include/fgraph.php
include/functions_incidents.php
include/functions.php
include/functions_agents.php
include/functions_db.php
include/functions_alerts.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/agents_modules.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/module_groups.php
extensions/plugin_registration.php
operation/incidents/incident.incident.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident.download_file.php
operation/incidents/incident.list.php
operation/search_modules.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/integria_incidents/incident.incident.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident.download_file.php
operation/integria_incidents/incident.list.php
operation/events/events_rss.php
operation/events/events_list.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/custom_reporting.php
operation/search_reports.php
operation/search_results.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/tactical.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/servers/view_servers.php
general/logon_ok.php
general/header.php
godmode/admin_access_logs.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_purge.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/module_manager.php
godmode/agentes/configurar_agente.php
godmode/agentes/module_manager_editor.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/menu.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/configure_alert_action.php
godmode/setup/os.list.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/users/user_list.php
godmode/users/configure_user.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/reporting_builder.item_editor.php: Functions in
functions_incidents.php, functions_io.php, functions_menu.php, functions_messages.php,
functions_modules.php, functions_network_components.php, functions_network_profiles.php,
functions_networkmap.php, functions_reporting.php, functions_reports.php,
functions_servers.php have "incidents_", "io_", "menu_", "messages_", "modules_",
"network_profiles_", "network_components_", "networkmap_", "reporting_", "reports_",
"servers_" prefixes respectively.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4326 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-05-09 19:30:55 +02:00
|
|
|
|
* @subpackage Io
|
|
|
|
|
*/
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
2010-10-19 12:28:26 +02:00
|
|
|
|
/**
|
|
|
|
|
* Safe input function for array.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-19 12:28:26 +02:00
|
|
|
|
* @param mixed $item The item pass as reference of item.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-19 12:28:26 +02:00
|
|
|
|
* @return void
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_safe_input_array(&$item)
|
|
|
|
|
{
|
|
|
|
|
$item = io_safe_input($item);
|
2010-10-19 12:28:26 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
/**
|
2012-06-04 11:05:32 +02:00
|
|
|
|
* Scape in a string de reserved characters to use it
|
|
|
|
|
* into a regular expression
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2012-06-04 11:05:32 +02:00
|
|
|
|
* @param string String to be scaped
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2012-06-04 11:05:32 +02:00
|
|
|
|
* @return string Scaped string
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_safe_expreg($string)
|
|
|
|
|
{
|
|
|
|
|
// Scape regular expression characters
|
|
|
|
|
$string = str_replace('(', '\(', $string);
|
|
|
|
|
$string = str_replace(')', '\)', $string);
|
|
|
|
|
$string = str_replace('{', '\{', $string);
|
|
|
|
|
$string = str_replace('}', '\}', $string);
|
|
|
|
|
$string = str_replace('[', '\[', $string);
|
|
|
|
|
$string = str_replace(']', '\]', $string);
|
|
|
|
|
$string = str_replace('.', '\.', $string);
|
|
|
|
|
$string = str_replace('*', '\*', $string);
|
|
|
|
|
$string = str_replace('+', '\+', $string);
|
|
|
|
|
$string = str_replace('?', '\?', $string);
|
|
|
|
|
$string = str_replace('|', '\|', $string);
|
|
|
|
|
$string = str_replace('^', '\^', $string);
|
|
|
|
|
$string = str_replace('$', '\$', $string);
|
|
|
|
|
|
|
|
|
|
return $string;
|
2012-06-04 11:05:32 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
/**
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* Cleans a string by encoding to UTF-8 and replacing the HTML
|
2019-01-30 16:18:44 +01:00
|
|
|
|
* entities. UTF-8 is necessary for foreign chars like asian
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* and our databases are (or should be) UTF-8
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* @param mixed String or array of strings to be cleaned.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* @return mixed The cleaned string or array.
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_safe_input($value)
|
|
|
|
|
{
|
|
|
|
|
// Stop!! Are you sure to modify this critical code? Because the older
|
|
|
|
|
// versions are serius headache in many places of Pandora.
|
|
|
|
|
if (is_numeric($value)) {
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_array($value)) {
|
|
|
|
|
array_walk($value, 'io_safe_input_array');
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (! mb_check_encoding($value, 'UTF-8')) {
|
|
|
|
|
$value = utf8_encode($value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$valueHtmlEncode = htmlentities($value, ENT_QUOTES, 'UTF-8', true);
|
|
|
|
|
|
|
|
|
|
// Replace the character '\' for the equivalent html entitie
|
|
|
|
|
$valueHtmlEncode = str_replace('\\', '\', $valueHtmlEncode);
|
|
|
|
|
|
|
|
|
|
// First attempt to avoid SQL Injection based on SQL comments
|
|
|
|
|
// Specific for MySQL.
|
|
|
|
|
$valueHtmlEncode = str_replace('/*', '/*', $valueHtmlEncode);
|
|
|
|
|
$valueHtmlEncode = str_replace('*/', '*/', $valueHtmlEncode);
|
|
|
|
|
|
|
|
|
|
// Replace ( for the html entitie
|
|
|
|
|
$valueHtmlEncode = str_replace('(', '(', $valueHtmlEncode);
|
|
|
|
|
|
|
|
|
|
// Replace ( for the html entitie
|
|
|
|
|
$valueHtmlEncode = str_replace(')', ')', $valueHtmlEncode);
|
|
|
|
|
|
|
|
|
|
// Fixed the º character, because the Perl in the Pandora Server
|
|
|
|
|
// use the hex value instead the human readble.
|
|
|
|
|
// TICKET: #1495
|
|
|
|
|
$valueHtmlEncode = str_replace('º', 'º', $valueHtmlEncode);
|
|
|
|
|
|
|
|
|
|
// Fixed the ° character.
|
|
|
|
|
// TICKET: 1223
|
|
|
|
|
$valueHtmlEncode = str_replace('°', '°', $valueHtmlEncode);
|
|
|
|
|
|
2020-10-29 17:22:02 +01:00
|
|
|
|
// Fixed the ¿ charater.
|
|
|
|
|
$valueHtmlEncode = str_replace('¿', '¿', $valueHtmlEncode);
|
|
|
|
|
// Fixed the ¡ charater.
|
|
|
|
|
$valueHtmlEncode = str_replace('¡', '¡', $valueHtmlEncode);
|
|
|
|
|
// Fixed the € charater.
|
|
|
|
|
$valueHtmlEncode = str_replace('€', '€', $valueHtmlEncode);
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
// Replace some characteres for html entities
|
|
|
|
|
for ($i = 0; $i < 33; $i++) {
|
|
|
|
|
$valueHtmlEncode = str_ireplace(
|
|
|
|
|
chr($i),
|
|
|
|
|
io_ascii_to_html($i),
|
|
|
|
|
$valueHtmlEncode
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $valueHtmlEncode;
|
2009-11-25 10:12:42 +01:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
/**
|
2010-10-14 14:27:09 +02:00
|
|
|
|
* Cleans a string by encoding to UTF-8 and replacing the HTML
|
2019-01-30 16:18:44 +01:00
|
|
|
|
* entities for HTML only. UTF-8 is necessary for foreign chars
|
2010-10-14 14:27:09 +02:00
|
|
|
|
* like asian and our databases are (or should be) UTF-8
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-14 14:27:09 +02:00
|
|
|
|
* @param mixed String or array of strings to be cleaned.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-14 14:27:09 +02:00
|
|
|
|
* @return mixed The cleaned string or array.
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_safe_input_html($value)
|
|
|
|
|
{
|
|
|
|
|
// Stop!! Are you sure to modify this critical code? Because the older
|
|
|
|
|
// versions are serius headache in many places of Pandora.
|
|
|
|
|
if (is_numeric($value)) {
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_array($value)) {
|
|
|
|
|
array_walk($value, 'io_safe_input');
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (! mb_check_encoding($value, 'UTF-8')) {
|
|
|
|
|
$value = utf8_encode($value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $value;
|
2010-10-14 14:27:09 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
/**
|
2010-10-08 13:35:18 +02:00
|
|
|
|
* Convert ascii char to html entitines
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-08 13:35:18 +02:00
|
|
|
|
* @param int num of ascci char
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-08 13:35:18 +02:00
|
|
|
|
* @return string String of html entitie
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_ascii_to_html($num)
|
|
|
|
|
{
|
|
|
|
|
if ($num <= 15) {
|
|
|
|
|
return '�'.dechex($num).';';
|
|
|
|
|
} else {
|
|
|
|
|
return '&#x'.dechex($num).';';
|
|
|
|
|
}
|
2010-10-08 13:35:18 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
/**
|
2010-10-08 13:35:18 +02:00
|
|
|
|
* Convert hexadecimal html entity value to char
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-08 13:35:18 +02:00
|
|
|
|
* @param string String of html hexadecimal value
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-08 13:35:18 +02:00
|
|
|
|
* @return string String with char
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_html_to_ascii($hex)
|
|
|
|
|
{
|
|
|
|
|
$dec = hexdec($hex);
|
|
|
|
|
|
|
|
|
|
return chr($dec);
|
2010-10-08 13:35:18 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
2012-06-11 21:13:20 +02:00
|
|
|
|
/**
|
|
|
|
|
* Safe output function for array.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
|
|
|
|
* @param mixed $item The item pass as reference of item.
|
|
|
|
|
* @param mixed $key The key of array.
|
2012-06-11 21:13:20 +02:00
|
|
|
|
* @param boolean $utf8 The encoding.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2012-06-11 21:13:20 +02:00
|
|
|
|
* @return void
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_safe_output_array(&$item, $key=false, $utf8=true)
|
|
|
|
|
{
|
|
|
|
|
$item = io_safe_output($item, $utf8);
|
2012-06-11 21:13:20 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
2009-11-27 Sancho lerena <slerena@artica.es>
* operation/menu.php: User section has no ACL check, always can be seen.
* index.php: Added suppor for user-defined custom language (this code was
on my disk for 3 months, pending to be commited!).
* include/functions_db.php,
* include/functions_agents.php,
* godmode/alerts/alert_list.php,
* godmode/agentes/modificar_agente.php,
* godmode/agentes/configurar_agente.php: Added audit calls to several
management operations who don't have or have insufficient audit info.
* godmode/users/configure_user.php: Fixed several annoyings bugs. Added
custom language support, and added more audit info on management operations.
* godmode/users/user_list.php: More audit info.
* include/config_process.php: Add new debug option to render error log to
/pandora_console.log. Also set timezone if not defined (this makes warnings
on several PHP 5.x setups). Added user custom language support.
* include/functions_events.php: More audit info. Fixed problems with HTML
encoding render.
* functions_io.php: Some cleaning.
* include/functions_messages.php: Fixed problems with HTML
encoding render.
* functions_ui.php: Fixed problems with HTML encoding render in
print_string_substr() function.
* auth/mysql.php: is_user_admin() functions seems to be broken ¿?¿!. Fixed.
* styles/pandora.css: removed green colored left border in default style.
* message.php, incident*: Fixed problems with HTML encoding render.
* user.php: Better ACL check before let user to view/edit another user.
* user_edit: Removed some un-used form fields, some arrangements in layout,
and FIXED forever problems with password change (new code written).
* users/user_statistics.php: Now user can see its own audit records.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2139 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-11-27 21:02:12 +01:00
|
|
|
|
/**
|
2019-01-30 16:18:44 +01:00
|
|
|
|
* Convert the $value encode in html entity to clear char string. This function
|
2009-11-27 Sancho lerena <slerena@artica.es>
* operation/menu.php: User section has no ACL check, always can be seen.
* index.php: Added suppor for user-defined custom language (this code was
on my disk for 3 months, pending to be commited!).
* include/functions_db.php,
* include/functions_agents.php,
* godmode/alerts/alert_list.php,
* godmode/agentes/modificar_agente.php,
* godmode/agentes/configurar_agente.php: Added audit calls to several
management operations who don't have or have insufficient audit info.
* godmode/users/configure_user.php: Fixed several annoyings bugs. Added
custom language support, and added more audit info on management operations.
* godmode/users/user_list.php: More audit info.
* include/config_process.php: Add new debug option to render error log to
/pandora_console.log. Also set timezone if not defined (this makes warnings
on several PHP 5.x setups). Added user custom language support.
* include/functions_events.php: More audit info. Fixed problems with HTML
encoding render.
* functions_io.php: Some cleaning.
* include/functions_messages.php: Fixed problems with HTML
encoding render.
* functions_ui.php: Fixed problems with HTML encoding render in
print_string_substr() function.
* auth/mysql.php: is_user_admin() functions seems to be broken ¿?¿!. Fixed.
* styles/pandora.css: removed green colored left border in default style.
* message.php, incident*: Fixed problems with HTML encoding render.
* user.php: Better ACL check before let user to view/edit another user.
* user_edit: Removed some un-used form fields, some arrangements in layout,
and FIXED forever problems with password change (new code written).
* users/user_statistics.php: Now user can see its own audit records.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2139 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-11-27 21:02:12 +01:00
|
|
|
|
* should be called always to "clean" HTML encoded data; to render to a text
|
|
|
|
|
* plain ascii file, to render to console, or to put in any kind of data field
|
|
|
|
|
* who doesn't make the HTML render by itself.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2020-06-03 14:01:08 +02:00
|
|
|
|
* @param string|array $value String or array of strings to be cleaned.
|
|
|
|
|
* @param boolean $utf8 Flag, set the output encoding in utf8, by default true.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2021-03-24 12:43:51 +01:00
|
|
|
|
* @return mixed
|
2009-11-27 Sancho lerena <slerena@artica.es>
* operation/menu.php: User section has no ACL check, always can be seen.
* index.php: Added suppor for user-defined custom language (this code was
on my disk for 3 months, pending to be commited!).
* include/functions_db.php,
* include/functions_agents.php,
* godmode/alerts/alert_list.php,
* godmode/agentes/modificar_agente.php,
* godmode/agentes/configurar_agente.php: Added audit calls to several
management operations who don't have or have insufficient audit info.
* godmode/users/configure_user.php: Fixed several annoyings bugs. Added
custom language support, and added more audit info on management operations.
* godmode/users/user_list.php: More audit info.
* include/config_process.php: Add new debug option to render error log to
/pandora_console.log. Also set timezone if not defined (this makes warnings
on several PHP 5.x setups). Added user custom language support.
* include/functions_events.php: More audit info. Fixed problems with HTML
encoding render.
* functions_io.php: Some cleaning.
* include/functions_messages.php: Fixed problems with HTML
encoding render.
* functions_ui.php: Fixed problems with HTML encoding render in
print_string_substr() function.
* auth/mysql.php: is_user_admin() functions seems to be broken ¿?¿!. Fixed.
* styles/pandora.css: removed green colored left border in default style.
* message.php, incident*: Fixed problems with HTML encoding render.
* user.php: Better ACL check before let user to view/edit another user.
* user_edit: Removed some un-used form fields, some arrangements in layout,
and FIXED forever problems with password change (new code written).
* users/user_statistics.php: Now user can see its own audit records.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2139 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-11-27 21:02:12 +01:00
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_safe_output($value, $utf8=true)
|
2010-04-30 12:35:20 +02:00
|
|
|
|
{
|
2023-08-01 14:51:31 +02:00
|
|
|
|
if (empty($value) === true) {
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
if (is_numeric($value)) {
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_array($value)) {
|
|
|
|
|
array_walk($value, 'io_safe_output_array');
|
|
|
|
|
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (! mb_check_encoding($value, 'UTF-8')) {
|
|
|
|
|
$value = utf8_encode($value);
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-01 14:51:31 +02:00
|
|
|
|
// Replace the html entitie of ( for the char.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
$value = str_replace('(', '(', $value);
|
|
|
|
|
|
2023-08-01 14:51:31 +02:00
|
|
|
|
// Replace the html entitie of ) for the char.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
$value = str_replace(')', ')', $value);
|
|
|
|
|
|
2023-08-01 14:51:31 +02:00
|
|
|
|
// Replace the html entitie of < for the char.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
$value = str_replace('<', '<', $value);
|
|
|
|
|
|
2023-08-01 14:51:31 +02:00
|
|
|
|
// Replace the html entitie of > for the char.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
$value = str_replace('>', '>', $value);
|
|
|
|
|
|
|
|
|
|
if ($utf8) {
|
|
|
|
|
$value = html_entity_decode($value, ENT_QUOTES, 'UTF-8');
|
|
|
|
|
} else {
|
|
|
|
|
$value = html_entity_decode($value, ENT_QUOTES);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $value;
|
2009-11-27 Sancho lerena <slerena@artica.es>
* operation/menu.php: User section has no ACL check, always can be seen.
* index.php: Added suppor for user-defined custom language (this code was
on my disk for 3 months, pending to be commited!).
* include/functions_db.php,
* include/functions_agents.php,
* godmode/alerts/alert_list.php,
* godmode/agentes/modificar_agente.php,
* godmode/agentes/configurar_agente.php: Added audit calls to several
management operations who don't have or have insufficient audit info.
* godmode/users/configure_user.php: Fixed several annoyings bugs. Added
custom language support, and added more audit info on management operations.
* godmode/users/user_list.php: More audit info.
* include/config_process.php: Add new debug option to render error log to
/pandora_console.log. Also set timezone if not defined (this makes warnings
on several PHP 5.x setups). Added user custom language support.
* include/functions_events.php: More audit info. Fixed problems with HTML
encoding render.
* functions_io.php: Some cleaning.
* include/functions_messages.php: Fixed problems with HTML
encoding render.
* functions_ui.php: Fixed problems with HTML encoding render in
print_string_substr() function.
* auth/mysql.php: is_user_admin() functions seems to be broken ¿?¿!. Fixed.
* styles/pandora.css: removed green colored left border in default style.
* message.php, incident*: Fixed problems with HTML encoding render.
* user.php: Better ACL check before let user to view/edit another user.
* user_edit: Removed some un-used form fields, some arrangements in layout,
and FIXED forever problems with password change (new code written).
* users/user_statistics.php: Now user can see its own audit records.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2139 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-11-27 21:02:12 +01:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
2010-10-28 13:06:30 +02:00
|
|
|
|
/**
|
2019-01-30 16:18:44 +01:00
|
|
|
|
* Convert the $value encode in html entity to clear char string. This function
|
2010-10-28 13:06:30 +02:00
|
|
|
|
* should be called always to "clean" HTML encoded data; to render to a text
|
|
|
|
|
* plain ascii file, to render to console, or to put in any kind of data field
|
|
|
|
|
* who doesn't make the HTML render by itself.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2010-10-28 13:06:30 +02:00
|
|
|
|
* @param mixed String or array of strings to be cleaned.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
* @param boolean $utf8 Flag, set the output encoding in utf8, by default true.
|
|
|
|
|
*
|
2010-10-28 13:06:30 +02:00
|
|
|
|
* @return unknown_type
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_safe_output_html($value, $utf8=true)
|
2010-10-28 13:06:30 +02:00
|
|
|
|
{
|
2019-01-30 16:18:44 +01:00
|
|
|
|
if (is_numeric($value)) {
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_array($value)) {
|
|
|
|
|
array_walk($value, 'io_safe_output');
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Replace the html entitie of ( for the char
|
|
|
|
|
$value = str_replace('(', '(', $value);
|
|
|
|
|
|
|
|
|
|
// Replace the html entitie of ) for the char
|
|
|
|
|
$value = str_replace(')', ')', $value);
|
|
|
|
|
|
|
|
|
|
// Replace the <
|
|
|
|
|
$value = str_replace('<', '<', $value);
|
|
|
|
|
|
|
|
|
|
// Replace the <
|
|
|
|
|
$value = str_replace('>', '>', $value);
|
|
|
|
|
|
|
|
|
|
// Revert html entities to chars
|
|
|
|
|
for ($i = 0; $i < 33; $i++) {
|
|
|
|
|
$value = str_ireplace('&#x'.dechex($i).';', io_html_to_ascii(dechex($i)), $value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $value;
|
2010-10-28 13:06:30 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
/**
|
2011-05-09 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* include/functions_graph.php
include/functions_html.php
include/functions_menu.php
include/graphs/fgraph.php
include/functions_messages.php
include/functions_modules.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_networkmap.php
include/functions_servers.php
include/functions_network_profiles.php
include/functions_network_components.php
include/functions_visual_map.php
include/ajax/visual_console_builder.ajax.php
include/ajax/agent.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_io.php
include/functions_api.php
include/functions_ui.php
include/fgraph.php
include/functions_incidents.php
include/functions.php
include/functions_agents.php
include/functions_db.php
include/functions_alerts.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/agents_modules.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/module_groups.php
extensions/plugin_registration.php
operation/incidents/incident.incident.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident.download_file.php
operation/incidents/incident.list.php
operation/search_modules.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/integria_incidents/incident.incident.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident.download_file.php
operation/integria_incidents/incident.list.php
operation/events/events_rss.php
operation/events/events_list.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/custom_reporting.php
operation/search_reports.php
operation/search_results.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/tactical.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/servers/view_servers.php
general/logon_ok.php
general/header.php
godmode/admin_access_logs.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_purge.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/module_manager.php
godmode/agentes/configurar_agente.php
godmode/agentes/module_manager_editor.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/menu.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/configure_alert_action.php
godmode/setup/os.list.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/users/user_list.php
godmode/users/configure_user.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/reporting_builder.item_editor.php: Functions in
functions_incidents.php, functions_io.php, functions_menu.php, functions_messages.php,
functions_modules.php, functions_network_components.php, functions_network_profiles.php,
functions_networkmap.php, functions_reporting.php, functions_reports.php,
functions_servers.php have "incidents_", "io_", "menu_", "messages_", "modules_",
"network_profiles_", "network_components_", "networkmap_", "reporting_", "reports_",
"servers_" prefixes respectively.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4326 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-05-09 19:30:55 +02:00
|
|
|
|
* Use to clean HTML entities when get_parameter or io_safe_input functions dont work
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* @param string String to be cleaned
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* @return string Cleaned string
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function io_salida_limpia($string)
|
|
|
|
|
{
|
|
|
|
|
$quote_style = ENT_QUOTES;
|
|
|
|
|
static $trans;
|
|
|
|
|
|
|
|
|
|
if (! isset($trans)) {
|
|
|
|
|
$trans = get_html_translation_table(HTML_ENTITIES, $quote_style);
|
|
|
|
|
foreach ($trans as $key => $value) {
|
|
|
|
|
$trans[$key] = '&#'.ord($key).';';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// dont translate the '&' in case it is part of &xxx;
|
|
|
|
|
$trans[chr(38)] = '&';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// after the initial translation, _do_ map standalone "&" into "&"
|
|
|
|
|
return preg_replace(
|
|
|
|
|
'/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/',
|
|
|
|
|
'&',
|
|
|
|
|
strtr($string, $trans)
|
|
|
|
|
);
|
2009-11-25 10:12:42 +01:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
/**
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* Cleans a string by encoding to UTF-8 and replacing the HTML
|
|
|
|
|
* entities to their numeric counterparts (possibly double encoding)
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* @param mixed String or array of strings to be cleaned.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*
|
2009-11-25 10:12:42 +01:00
|
|
|
|
* @return mixed The cleaned string or array.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*/
|
|
|
|
|
function io_safe_output_xml($string)
|
|
|
|
|
{
|
|
|
|
|
if (is_numeric($string)) {
|
|
|
|
|
return $string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_array($string)) {
|
|
|
|
|
array_walk($string, 'io_safe_output_xml');
|
|
|
|
|
return $string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static $table;
|
|
|
|
|
static $replace;
|
|
|
|
|
|
|
|
|
|
if (empty($table)) {
|
|
|
|
|
$table = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES);
|
|
|
|
|
$replace = [];
|
|
|
|
|
|
|
|
|
|
foreach ($table as $key => $value) {
|
|
|
|
|
$table[$key] = '/'.$value.'/';
|
|
|
|
|
$char = htmlentities($key, ENT_QUOTES, 'UTF-8');
|
|
|
|
|
$replace[$char] = '&#'.ord($key).';';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// now perform a replacement using preg_replace
|
|
|
|
|
// each matched value in $table will be replaced with the corresponding value in $replace
|
|
|
|
|
return preg_replace($table, $replace, $string);
|
2009-11-25 10:12:42 +01:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
* include/functions_graph.php
include/functions_html.php
include/functions_messages.php
include/db/postgresql.php
include/db/mysql.php
include/db/oracle.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_gis.php
include/auth/ldap.php
include/auth/mysql.php
include/functions_networkmap.php
include/functions_network_components.php
include/ajax/skins.ajax.php
include/ajax/reporting.ajax.php
include/ajax/visual_console_builder.ajax.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_config.php
include/functions_api.php
include/help/en/help_timesource.php
include/help/es/help_timesource.php
include/help/ja/help_timesource.php
include/config_process.php
include/functions_ui.php
include/functions_custom_graphs.php
include/fgraph.php
include/functions_incidents.php
include/api.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/system_info.php
extensions/extension_uploader.php
extensions/pandora_logs.php
extensions/agents_modules.php
extensions/update_manager.php
extensions/ssh_console.php
extensions/dbmanager.php
extensions/vnc_view.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/users_connected.php
extensions/module_groups.php
extensions/update_manager/load_updatemanager.php
extensions/update_manager/lib/libupdate_manager_client.php
extensions/update_manager/lib/libupdate_manager.php
extensions/update_manager/lib/libupdate_manager_components.php
extensions/update_manager/lib/libupdate_manager_updates.php
extensions/update_manager/settings.php
extensions/update_manager/main.php
extensions/plugin_registration.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident_statistics.php
operation/search_modules.php
operation/visual_console/render_view.php
operation/visual_console/index.php
operation/extensions.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/alerts_status.php
operation/agentes/estado_generalagente.php
operation/agentes/custom_fields.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/gis_view.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/graphs.php
operation/agentes/agent_fields.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/search_graphs.php
operation/snmpconsole/snmp_view.php
operation/users/user_edit.php
operation/gis_maps/render_view.php
operation/gis_maps/ajax.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident_statistics.php
operation/events/event_statistics.php
operation/events/events_rss.php
operation/events/export_csv.php
operation/events/sound_events.php
operation/events/events_validate.php
operation/events/events_list.php
operation/events/events_marquee.php
operation/events/events.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/graph_viewer.php
operation/search_reports.php
operation/search_maps.php
operation/search_users.php
extras/pandora_diag.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/events/events.php
mobile/index.php
general/error_authconfig.php
general/links_menu.php
general/logon_ok.php
general/error_dbconfig.php
general/ui/agents_list.php
general/header.php
godmode/groups/modu_group_list.php
godmode/groups/configure_group.php
godmode/groups/configure_modu_group.php
godmode/groups/group_list.php
godmode/admin_access_logs.php
godmode/db/db_main.php
godmode/db/db_audit.php
godmode/db/db_sanity.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_event.php
godmode/db/db_purge.php
godmode/extensions.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/fields_manager.php
godmode/agentes/agent_conf_gis.php
godmode/agentes/module_manager_editor_prediction.php
godmode/agentes/module_manager.php
godmode/agentes/modificar_agente.php
godmode/agentes/configurar_agente.php
godmode/agentes/configure_field.php
godmode/agentes/module_manager_editor.php
godmode/agentes/planned_downtime.php
godmode/agentes/manage_config_remote.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/servers/manage_recontask_form.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/alert_compounds.php
godmode/alerts/alert_list.php
godmode/alerts/configure_alert_template.php
godmode/alerts/alert_templates.php
godmode/alerts/configure_alert_action.php
godmode/alerts/configure_alert_command.php
godmode/alerts/alert_actions.php
godmode/alerts/alert_list.builder.php
godmode/alerts/alert_commands.php
godmode/setup/file_manager.php
godmode/setup/os.list.php
godmode/setup/news.php
godmode/setup/gis_step_2.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/setup/os.php
godmode/setup/performance.php
godmode/setup/setup_auth.php
godmode/setup/gis.php
godmode/setup/os.builder.php
godmode/setup/setup_visuals.php
godmode/snmpconsole/snmp_alert.php
godmode/snmpconsole/snmp_filters.php
godmode/users/user_list.php
godmode/users/configure_profile.php
godmode/gis_maps/configure_gis_map.php
godmode/gis_maps/index.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_copy_modules.php
godmode/massive/massive_delete_agents.php
godmode/massive/massive_enable_disable_alerts.php
godmode/massive/massive_operations.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_action_alerts.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/massive/massive_standby_alerts.php
godmode/massive/massive_add_action_alerts.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/module_list.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_components_form_network.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/visual_console_builder.wizard.php
godmode/reporting/graph_builder.main.php
godmode/reporting/reporting_builder.list_items.php
godmode/reporting/visual_console_builder.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/reporting_builder.main.php
godmode/reporting/visual_console_builder.data.php
godmode/reporting/visual_console_builder.elements.php
godmode/reporting/graph_builder.php
godmode/reporting/visual_console_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/visual_console_builder.editor.php
godmode/reporting/reporting_builder.item_editor.php
godmode/reporting/map_builder.php
godmode/reporting/graphs.php
godmode/reporting/graph_builder.preview.php
include/functions_db.php: Added some includes and functions of this code have "db_" prefix.
* include/functions.php: Moved function check_login(), check_acl(),
dame_nombre_pluginid(), get_os_name() from functions_db.php to functions.php.
* include/functions_groups.php: Moved functions get_childrens(), safe_acl_group()
and get_parents(), give_disabled_group(), isAllGroups(), get_group_icon(), get_all_groups(),
get_id_groups_recursive(), get_user_groups_tree_recursive(), get_group_status(),
get_group_name(), get_group_users() from functions_db.php to this code.
* include/functions_profile.php: New library with profile functions. Moved functions
get_profile_name(), get_profiles(), create_user_profile(), delete_user_profile(),
delete_profile() from functions_db.php to this code. Added new parameter in function
get_profile() to retrieve profiles with filter conditions applied.
* include/functions_users.php: New library with users functions. Moved functions
get_users_info(), get_all_model_groups(), get_user_groups(), get_user_groups_tree(),
get_user_first_group(), user_access_to_agent() from funtions_db.php to this code.
* godmode/users/configure_user.php: Changed get_profile_filter() function to get_profile().
* include/functions_agents.php: Moved functions get_group_agents(), get_agent_modules(),
get_agent_module_id(), get_agent_id(), get_agent_name(), get_agent_modules_data_count(),
check_alert_fired(), get_agent_interval(), get_agent_os(), give_agentmodule_flag(),
agent_add_address(), agent_delete_address(), get_agent_address(), get_agent_with_ip(),
get_agent_addresses(), get_agent_status(), delete_agent(), get_agentmodule_group(),
get_agent_group() from functions_db.php to this code.
* include/functions_modules.php: Moved functions get_agentmodule(), get_agentmodule_id(),
get_agentmodule_is_init(), get_agent_modules_count(), get_module_type_name(),
get_module_type_icon(), get_agentmodule_agent(), get_agentmodule_agent_name(),
get_agentmodule_name(), get_agentmodule_type(), get_monitor_downs_in_period(),
get_monitor_last_down_timestamp_in_period(), get_monitors_in_group(),
get_monitors_in_agent(), get_monitors_down(), get_moduletype_name(),
get_moduletype_description(), get_moduletypes(), get_module_interval(), show_icon_type(),
give_modulecategory_name(),
give_agent_id_from_module_id(), get_module_status(), get_agent_module_last_value(),
get_previous_data(), get_agentmodule_modulegroup(), get_modulegroups(),
get_modulegroup_name() from functions_db.php to this code.
* include/functions_alerts.php: Moved functions get_alert_type(), get_agent_alert_fired(),
get_module_alert_fired(), get_alert_fires_in_period(), get_group_alerts(), get_alerts_fired(),
get_alert_last_fire_timestamp_in_period(), get_agentmodule_status(),
get_agentmodule_last_status() from functions_db.php to this code.
* include/functions_exportserver.php: Moved function dame_nombre_servidorexportacion()
from functions_db.php to this code.
* include/functions_events.php: Moved functions get_group_events(), get_agent_events(),
get_module_events() from functions_db.php to this code.
* include/functions_servers.php: Moved functions get_server_name(), show_server_type(),
check_server_status(), server_status() from functions_db.php to this code.
* include/functions_network_profiles.php: Moved function get_networkprofile_name()
from functions_db.php to this code.
* include/functions_visual_map.php: Moved functions get_layoutdata_x(), get_layoutdata_y()
from fucntions_db.php to this code.
* include/functions_io.php: Moved function __() from functions_db.php to this code.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4258 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-19 20:42:49 +02:00
|
|
|
|
/**
|
|
|
|
|
* Get a translated string
|
|
|
|
|
*
|
|
|
|
|
* @param string String to translate. It can have special format characters like
|
|
|
|
|
* a printf
|
|
|
|
|
* @param mixed Optional parameters to be replaced in string. Example:
|
|
|
|
|
* <code>
|
|
|
|
|
* echo __('Hello!');
|
|
|
|
|
* echo __('Hello, %s!', $user);
|
|
|
|
|
* </code>
|
|
|
|
|
*
|
|
|
|
|
* @return string The translated string. If not defined, the same string will be returned
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function __($string /*, variable arguments */)
|
|
|
|
|
{
|
|
|
|
|
global $l10n;
|
|
|
|
|
global $config;
|
|
|
|
|
static $extensions_cache = [];
|
|
|
|
|
|
|
|
|
|
if (isset($config['id_user'])) {
|
|
|
|
|
if (count($extensions_cache) > 0 && array_key_exists($config['id_user'], $extensions_cache)) {
|
|
|
|
|
$extensions = $extensions_cache[$config['id_user']];
|
|
|
|
|
} else {
|
|
|
|
|
$extensions = extensions_get_extensions();
|
|
|
|
|
$extensions_cache[$config['id_user']] = $extensions;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$extensions = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (empty($extensions)) {
|
|
|
|
|
$extensions = [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
|
|
if (defined('METACONSOLE')) {
|
|
|
|
|
enterprise_include_once('meta/include/functions_meta.php');
|
|
|
|
|
|
2022-01-13 12:43:55 +01:00
|
|
|
|
$tranlateString = call_user_func_array(
|
|
|
|
|
'meta_get_defined_translation',
|
|
|
|
|
array_values(func_get_args())
|
|
|
|
|
);
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
if ($tranlateString !== false) {
|
|
|
|
|
return $tranlateString;
|
|
|
|
|
}
|
|
|
|
|
} else if (enterprise_installed()
|
|
|
|
|
&& isset($config['translate_string_extension_installed'])
|
|
|
|
|
&& $config['translate_string_extension_installed'] == 1
|
|
|
|
|
&& array_key_exists('translate_string.php', $extensions)
|
|
|
|
|
) {
|
|
|
|
|
enterprise_include_once('extensions/translate_string/functions.php');
|
|
|
|
|
|
2022-01-13 12:43:55 +01:00
|
|
|
|
$tranlateString = call_user_func_array(
|
|
|
|
|
'get_defined_translation',
|
|
|
|
|
array_values(func_get_args())
|
|
|
|
|
);
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
|
|
if ($tranlateString !== false) {
|
|
|
|
|
return $tranlateString;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($string == '') {
|
|
|
|
|
return $string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (func_num_args() == 1) {
|
|
|
|
|
if (is_null($l10n)) {
|
|
|
|
|
return $string;
|
|
|
|
|
}
|
|
|
|
|
|
2019-12-03 13:05:33 +01:00
|
|
|
|
return str_replace('\'', '`', $l10n->translate($string));
|
2019-01-30 16:18:44 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$args = func_get_args();
|
|
|
|
|
$string = array_shift($args);
|
|
|
|
|
|
|
|
|
|
if (is_null($l10n)) {
|
|
|
|
|
return vsprintf($string, $args);
|
|
|
|
|
}
|
|
|
|
|
|
2019-12-03 13:05:33 +01:00
|
|
|
|
return vsprintf(str_replace('\'', '`', $l10n->translate($string)), $args);
|
* include/functions_graph.php
include/functions_html.php
include/functions_messages.php
include/db/postgresql.php
include/db/mysql.php
include/db/oracle.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_gis.php
include/auth/ldap.php
include/auth/mysql.php
include/functions_networkmap.php
include/functions_network_components.php
include/ajax/skins.ajax.php
include/ajax/reporting.ajax.php
include/ajax/visual_console_builder.ajax.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_config.php
include/functions_api.php
include/help/en/help_timesource.php
include/help/es/help_timesource.php
include/help/ja/help_timesource.php
include/config_process.php
include/functions_ui.php
include/functions_custom_graphs.php
include/fgraph.php
include/functions_incidents.php
include/api.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/system_info.php
extensions/extension_uploader.php
extensions/pandora_logs.php
extensions/agents_modules.php
extensions/update_manager.php
extensions/ssh_console.php
extensions/dbmanager.php
extensions/vnc_view.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/users_connected.php
extensions/module_groups.php
extensions/update_manager/load_updatemanager.php
extensions/update_manager/lib/libupdate_manager_client.php
extensions/update_manager/lib/libupdate_manager.php
extensions/update_manager/lib/libupdate_manager_components.php
extensions/update_manager/lib/libupdate_manager_updates.php
extensions/update_manager/settings.php
extensions/update_manager/main.php
extensions/plugin_registration.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident_statistics.php
operation/search_modules.php
operation/visual_console/render_view.php
operation/visual_console/index.php
operation/extensions.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/alerts_status.php
operation/agentes/estado_generalagente.php
operation/agentes/custom_fields.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/gis_view.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/graphs.php
operation/agentes/agent_fields.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/search_graphs.php
operation/snmpconsole/snmp_view.php
operation/users/user_edit.php
operation/gis_maps/render_view.php
operation/gis_maps/ajax.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident_statistics.php
operation/events/event_statistics.php
operation/events/events_rss.php
operation/events/export_csv.php
operation/events/sound_events.php
operation/events/events_validate.php
operation/events/events_list.php
operation/events/events_marquee.php
operation/events/events.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/graph_viewer.php
operation/search_reports.php
operation/search_maps.php
operation/search_users.php
extras/pandora_diag.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/events/events.php
mobile/index.php
general/error_authconfig.php
general/links_menu.php
general/logon_ok.php
general/error_dbconfig.php
general/ui/agents_list.php
general/header.php
godmode/groups/modu_group_list.php
godmode/groups/configure_group.php
godmode/groups/configure_modu_group.php
godmode/groups/group_list.php
godmode/admin_access_logs.php
godmode/db/db_main.php
godmode/db/db_audit.php
godmode/db/db_sanity.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_event.php
godmode/db/db_purge.php
godmode/extensions.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/fields_manager.php
godmode/agentes/agent_conf_gis.php
godmode/agentes/module_manager_editor_prediction.php
godmode/agentes/module_manager.php
godmode/agentes/modificar_agente.php
godmode/agentes/configurar_agente.php
godmode/agentes/configure_field.php
godmode/agentes/module_manager_editor.php
godmode/agentes/planned_downtime.php
godmode/agentes/manage_config_remote.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/servers/manage_recontask_form.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/alert_compounds.php
godmode/alerts/alert_list.php
godmode/alerts/configure_alert_template.php
godmode/alerts/alert_templates.php
godmode/alerts/configure_alert_action.php
godmode/alerts/configure_alert_command.php
godmode/alerts/alert_actions.php
godmode/alerts/alert_list.builder.php
godmode/alerts/alert_commands.php
godmode/setup/file_manager.php
godmode/setup/os.list.php
godmode/setup/news.php
godmode/setup/gis_step_2.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/setup/os.php
godmode/setup/performance.php
godmode/setup/setup_auth.php
godmode/setup/gis.php
godmode/setup/os.builder.php
godmode/setup/setup_visuals.php
godmode/snmpconsole/snmp_alert.php
godmode/snmpconsole/snmp_filters.php
godmode/users/user_list.php
godmode/users/configure_profile.php
godmode/gis_maps/configure_gis_map.php
godmode/gis_maps/index.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_copy_modules.php
godmode/massive/massive_delete_agents.php
godmode/massive/massive_enable_disable_alerts.php
godmode/massive/massive_operations.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_action_alerts.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/massive/massive_standby_alerts.php
godmode/massive/massive_add_action_alerts.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/module_list.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_components_form_network.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/visual_console_builder.wizard.php
godmode/reporting/graph_builder.main.php
godmode/reporting/reporting_builder.list_items.php
godmode/reporting/visual_console_builder.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/reporting_builder.main.php
godmode/reporting/visual_console_builder.data.php
godmode/reporting/visual_console_builder.elements.php
godmode/reporting/graph_builder.php
godmode/reporting/visual_console_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/visual_console_builder.editor.php
godmode/reporting/reporting_builder.item_editor.php
godmode/reporting/map_builder.php
godmode/reporting/graphs.php
godmode/reporting/graph_builder.preview.php
include/functions_db.php: Added some includes and functions of this code have "db_" prefix.
* include/functions.php: Moved function check_login(), check_acl(),
dame_nombre_pluginid(), get_os_name() from functions_db.php to functions.php.
* include/functions_groups.php: Moved functions get_childrens(), safe_acl_group()
and get_parents(), give_disabled_group(), isAllGroups(), get_group_icon(), get_all_groups(),
get_id_groups_recursive(), get_user_groups_tree_recursive(), get_group_status(),
get_group_name(), get_group_users() from functions_db.php to this code.
* include/functions_profile.php: New library with profile functions. Moved functions
get_profile_name(), get_profiles(), create_user_profile(), delete_user_profile(),
delete_profile() from functions_db.php to this code. Added new parameter in function
get_profile() to retrieve profiles with filter conditions applied.
* include/functions_users.php: New library with users functions. Moved functions
get_users_info(), get_all_model_groups(), get_user_groups(), get_user_groups_tree(),
get_user_first_group(), user_access_to_agent() from funtions_db.php to this code.
* godmode/users/configure_user.php: Changed get_profile_filter() function to get_profile().
* include/functions_agents.php: Moved functions get_group_agents(), get_agent_modules(),
get_agent_module_id(), get_agent_id(), get_agent_name(), get_agent_modules_data_count(),
check_alert_fired(), get_agent_interval(), get_agent_os(), give_agentmodule_flag(),
agent_add_address(), agent_delete_address(), get_agent_address(), get_agent_with_ip(),
get_agent_addresses(), get_agent_status(), delete_agent(), get_agentmodule_group(),
get_agent_group() from functions_db.php to this code.
* include/functions_modules.php: Moved functions get_agentmodule(), get_agentmodule_id(),
get_agentmodule_is_init(), get_agent_modules_count(), get_module_type_name(),
get_module_type_icon(), get_agentmodule_agent(), get_agentmodule_agent_name(),
get_agentmodule_name(), get_agentmodule_type(), get_monitor_downs_in_period(),
get_monitor_last_down_timestamp_in_period(), get_monitors_in_group(),
get_monitors_in_agent(), get_monitors_down(), get_moduletype_name(),
get_moduletype_description(), get_moduletypes(), get_module_interval(), show_icon_type(),
give_modulecategory_name(),
give_agent_id_from_module_id(), get_module_status(), get_agent_module_last_value(),
get_previous_data(), get_agentmodule_modulegroup(), get_modulegroups(),
get_modulegroup_name() from functions_db.php to this code.
* include/functions_alerts.php: Moved functions get_alert_type(), get_agent_alert_fired(),
get_module_alert_fired(), get_alert_fires_in_period(), get_group_alerts(), get_alerts_fired(),
get_alert_last_fire_timestamp_in_period(), get_agentmodule_status(),
get_agentmodule_last_status() from functions_db.php to this code.
* include/functions_exportserver.php: Moved function dame_nombre_servidorexportacion()
from functions_db.php to this code.
* include/functions_events.php: Moved functions get_group_events(), get_agent_events(),
get_module_events() from functions_db.php to this code.
* include/functions_servers.php: Moved functions get_server_name(), show_server_type(),
check_server_status(), server_status() from functions_db.php to this code.
* include/functions_network_profiles.php: Moved function get_networkprofile_name()
from functions_db.php to this code.
* include/functions_visual_map.php: Moved functions get_layoutdata_x(), get_layoutdata_y()
from fucntions_db.php to this code.
* include/functions_io.php: Moved function __() from functions_db.php to this code.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4258 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-19 20:42:49 +02:00
|
|
|
|
}
|
2009-11-27 Sancho lerena <slerena@artica.es>
* operation/menu.php: User section has no ACL check, always can be seen.
* index.php: Added suppor for user-defined custom language (this code was
on my disk for 3 months, pending to be commited!).
* include/functions_db.php,
* include/functions_agents.php,
* godmode/alerts/alert_list.php,
* godmode/agentes/modificar_agente.php,
* godmode/agentes/configurar_agente.php: Added audit calls to several
management operations who don't have or have insufficient audit info.
* godmode/users/configure_user.php: Fixed several annoyings bugs. Added
custom language support, and added more audit info on management operations.
* godmode/users/user_list.php: More audit info.
* include/config_process.php: Add new debug option to render error log to
/pandora_console.log. Also set timezone if not defined (this makes warnings
on several PHP 5.x setups). Added user custom language support.
* include/functions_events.php: More audit info. Fixed problems with HTML
encoding render.
* functions_io.php: Some cleaning.
* include/functions_messages.php: Fixed problems with HTML
encoding render.
* functions_ui.php: Fixed problems with HTML encoding render in
print_string_substr() function.
* auth/mysql.php: is_user_admin() functions seems to be broken ¿?¿!. Fixed.
* styles/pandora.css: removed green colored left border in default style.
* message.php, incident*: Fixed problems with HTML encoding render.
* user.php: Better ACL check before let user to view/edit another user.
* user_edit: Removed some un-used form fields, some arrangements in layout,
and FIXED forever problems with password change (new code written).
* users/user_statistics.php: Now user can see its own audit records.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2139 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-11-27 21:02:12 +01:00
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
2017-03-01 12:34:12 +01:00
|
|
|
|
/**
|
|
|
|
|
* Get a translated string for extension
|
|
|
|
|
*
|
|
|
|
|
* @param string String to translate. It can have special format characters like
|
|
|
|
|
* a printf
|
|
|
|
|
* @param mixed Optional parameters to be replaced in string. Example:
|
|
|
|
|
* <code>
|
|
|
|
|
* echo ___('Hello!');
|
|
|
|
|
* echo ___('Hello, %s!', $user);
|
|
|
|
|
* </code>
|
|
|
|
|
*
|
|
|
|
|
* @return string The translated string. If not defined, the same string will be returned
|
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
function ___($string /*, variable arguments */)
|
|
|
|
|
{
|
2017-03-01 12:34:12 +01:00
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
|
|
$trace = debug_backtrace();
|
2019-01-30 16:18:44 +01:00
|
|
|
|
foreach ($config['extensions'] as $extension) {
|
|
|
|
|
$extension_file = $extension['file'];
|
|
|
|
|
if (!isset($config['extensions'][$extension_file]['translate_function'])) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($trace as $item) {
|
|
|
|
|
if (pathinfo($item['file'], PATHINFO_BASENAME) == $extension_file) {
|
2022-01-13 12:43:55 +01:00
|
|
|
|
$tranlateString = call_user_func_array(
|
|
|
|
|
$config['extensions'][$extension_file]['translate_function'],
|
|
|
|
|
array_values(func_get_args())
|
|
|
|
|
);
|
2019-01-30 16:18:44 +01:00
|
|
|
|
if ($tranlateString !== false) {
|
|
|
|
|
return $tranlateString;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-03-01 12:34:12 +01:00
|
|
|
|
|
2022-01-13 12:43:55 +01:00
|
|
|
|
return call_user_func_array(
|
|
|
|
|
'__',
|
|
|
|
|
array_values(func_get_args())
|
|
|
|
|
);
|
2017-03-01 12:34:12 +01:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
2019-09-24 11:25:53 +02:00
|
|
|
|
/**
|
2013-10-14 01:13:23 +02:00
|
|
|
|
* json_encode for multibyte characters.
|
|
|
|
|
*
|
|
|
|
|
* @param string Text string to be encoded.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*/
|
|
|
|
|
function io_json_mb_encode($string, $encode_options=0)
|
|
|
|
|
{
|
|
|
|
|
$v = json_encode($string, $encode_options);
|
|
|
|
|
$v = preg_replace_callback(
|
|
|
|
|
"/\\\\u([0-9a-zA-Z]{4})/",
|
2021-06-01 12:12:07 +02:00
|
|
|
|
function ($matches) {
|
|
|
|
|
return mb_convert_encoding(
|
|
|
|
|
pack('H*', $matches[1]),
|
|
|
|
|
'UTF-8',
|
|
|
|
|
'UTF-16'
|
|
|
|
|
);
|
|
|
|
|
},
|
2019-01-30 16:18:44 +01:00
|
|
|
|
$v
|
|
|
|
|
);
|
|
|
|
|
$v = preg_replace('/\\\\\//', '/', $v);
|
|
|
|
|
return $v;
|
2013-10-14 01:13:23 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
2019-09-24 11:25:53 +02:00
|
|
|
|
/**
|
2019-01-30 16:18:44 +01:00
|
|
|
|
* Prepare the given password to be stored in the Pandora FMS Database,
|
2015-03-02 17:28:34 +01:00
|
|
|
|
* encrypting it if necessary.
|
|
|
|
|
*
|
|
|
|
|
* @param string password Password to be stored.
|
|
|
|
|
*
|
|
|
|
|
* @return string The processed password.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*/
|
|
|
|
|
function io_input_password($password)
|
|
|
|
|
{
|
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
|
|
enterprise_include_once('include/functions_crypto.php');
|
2019-09-24 11:25:53 +02:00
|
|
|
|
$ciphertext = enterprise_hook(
|
|
|
|
|
'openssl_encrypt_decrypt',
|
|
|
|
|
[
|
|
|
|
|
'encrypt',
|
|
|
|
|
io_safe_input($password),
|
|
|
|
|
]
|
|
|
|
|
);
|
2019-01-30 16:18:44 +01:00
|
|
|
|
if ($ciphertext === ENTERPRISE_NOT_HOOK) {
|
2019-09-24 11:25:53 +02:00
|
|
|
|
return io_safe_input($password);
|
2019-01-30 16:18:44 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $ciphertext;
|
2015-03-02 17:28:34 +01:00
|
|
|
|
}
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
2019-09-24 11:25:53 +02:00
|
|
|
|
/**
|
2018-10-04 11:43:08 +02:00
|
|
|
|
* Process the given password read from the Pandora FMS Database,
|
2015-03-02 17:28:34 +01:00
|
|
|
|
* decrypting it if necessary.
|
|
|
|
|
*
|
2022-01-04 17:52:56 +01:00
|
|
|
|
* @param string $password Password read from the DB.
|
|
|
|
|
* @param string $wrappedBy Wrap the password with the informed character.
|
2015-03-02 17:28:34 +01:00
|
|
|
|
*
|
|
|
|
|
* @return string The processed password.
|
2019-01-30 16:18:44 +01:00
|
|
|
|
*/
|
2022-01-04 17:52:56 +01:00
|
|
|
|
function io_output_password($password, $wrappedBy='')
|
2019-01-30 16:18:44 +01:00
|
|
|
|
{
|
|
|
|
|
global $config;
|
2015-03-02 17:28:34 +01:00
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
enterprise_include_once('include/functions_crypto.php');
|
2019-09-24 11:25:53 +02:00
|
|
|
|
$plaintext = enterprise_hook(
|
|
|
|
|
'openssl_encrypt_decrypt',
|
|
|
|
|
[
|
|
|
|
|
'decrypt',
|
|
|
|
|
$password,
|
|
|
|
|
]
|
|
|
|
|
);
|
|
|
|
|
|
2022-01-04 17:52:56 +01:00
|
|
|
|
$output = ($plaintext === ENTERPRISE_NOT_HOOK) ? $password : $plaintext;
|
2015-03-02 17:28:34 +01:00
|
|
|
|
|
2022-01-04 17:52:56 +01:00
|
|
|
|
return sprintf(
|
|
|
|
|
'%s%s%s',
|
|
|
|
|
$wrappedBy,
|
|
|
|
|
io_safe_output($output),
|
|
|
|
|
$wrappedBy
|
|
|
|
|
);
|
2015-03-02 17:28:34 +01:00
|
|
|
|
}
|
2021-04-05 17:55:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2021-04-06 10:36:43 +02:00
|
|
|
|
* Clean html tags symbols for prevent use JS
|
|
|
|
|
*
|
|
|
|
|
* @param string $string String for safe.
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
2021-04-05 17:55:46 +02:00
|
|
|
|
*/
|
|
|
|
|
function io_safe_html_tags(string $string)
|
|
|
|
|
{
|
2021-04-06 10:36:43 +02:00
|
|
|
|
// Must have safe output for work properly.
|
|
|
|
|
$string = io_safe_output($string);
|
|
|
|
|
if (strpos($string, '<') !== false && strpos($string, '>') !== false) {
|
2021-04-05 17:55:46 +02:00
|
|
|
|
$output = strstr($string, '<', true);
|
|
|
|
|
$tmpOutput = strstr($string, '<');
|
|
|
|
|
$output .= strstr(substr($tmpOutput, 1), '>', true);
|
|
|
|
|
$tmpOutput = strstr($string, '>');
|
|
|
|
|
$output .= substr($tmpOutput, 1);
|
2021-04-06 10:36:43 +02:00
|
|
|
|
// If the string still contains tags symbols.
|
|
|
|
|
if (strpos($string, '<') !== false && strpos($string, '>') !== false) {
|
|
|
|
|
$output = io_safe_html_tags($output);
|
2021-04-05 17:55:46 +02:00
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$output = $string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $output;
|
|
|
|
|
}
|
2021-07-06 07:40:40 +02:00
|
|
|
|
|
2021-07-12 12:27:10 +02:00
|
|
|
|
|
2021-07-06 07:40:40 +02:00
|
|
|
|
/**
|
|
|
|
|
* Execute io_safe_input againt each values in JSON.
|
|
|
|
|
*
|
|
|
|
|
* @param string json
|
|
|
|
|
*
|
|
|
|
|
* @return string json where each value is encoded
|
|
|
|
|
*/
|
|
|
|
|
function io_safe_input_json($json)
|
|
|
|
|
{
|
2021-07-12 12:27:10 +02:00
|
|
|
|
$output_json = '';
|
2021-07-06 07:40:40 +02:00
|
|
|
|
|
|
|
|
|
if (empty($json)) {
|
|
|
|
|
return $output_json;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$array_json = json_decode($json, true);
|
|
|
|
|
if (json_last_error() != JSON_ERROR_NONE) {
|
|
|
|
|
return $output_json;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($array_json as $key => $value) {
|
|
|
|
|
if (is_array($value)) {
|
|
|
|
|
$value_json = json_encode($value, JSON_UNESCAPED_UNICODE);
|
|
|
|
|
$array_json[$key] = json_decode(io_safe_input_json($value_json), true);
|
|
|
|
|
} else {
|
|
|
|
|
$array_json[$key] = io_safe_input($value);
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-07-12 12:27:10 +02:00
|
|
|
|
|
2021-07-06 07:40:40 +02:00
|
|
|
|
$output_json = json_encode($array_json, JSON_UNESCAPED_UNICODE);
|
|
|
|
|
|
|
|
|
|
return $output_json;
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-12 12:27:10 +02:00
|
|
|
|
|
2021-07-06 07:40:40 +02:00
|
|
|
|
/**
|
|
|
|
|
* Merge json value in $json_merge to $json
|
|
|
|
|
*
|
|
|
|
|
* @param string json to be merged.
|
|
|
|
|
* @param string json containing the values to merge.
|
2021-07-12 12:27:10 +02:00
|
|
|
|
* @param boolean limit the values to be merged to those with a key of 'value', true by default.
|
2021-07-06 07:40:40 +02:00
|
|
|
|
*
|
|
|
|
|
* @retrun string merged json
|
|
|
|
|
*
|
|
|
|
|
* e.g.)
|
|
|
|
|
* arg1 json: {"1":{"macro":"_field1_","desc":"DESCRIPTION","help":"HELP","value":"","hide":""}}
|
|
|
|
|
* arg2 json: {"1":{"value":"xxxx"}}
|
|
|
|
|
* -> return json: {"1":{"macro":"_field1_","desc":"DESCRIPTION","help":"HELP","value":"xxxx","hide":""}}
|
|
|
|
|
*/
|
|
|
|
|
function io_merge_json_value($json, $json_merge, $value_key_only=true)
|
|
|
|
|
{
|
2021-07-12 12:27:10 +02:00
|
|
|
|
$output_json = '';
|
2021-07-06 07:40:40 +02:00
|
|
|
|
|
|
|
|
|
$array_json = json_decode($json, true);
|
|
|
|
|
if (json_last_error() != JSON_ERROR_NONE) {
|
|
|
|
|
return $output_json;
|
|
|
|
|
}
|
2021-07-12 12:27:10 +02:00
|
|
|
|
|
2021-07-06 07:40:40 +02:00
|
|
|
|
$array_json_merge = json_decode($json_merge, true);
|
|
|
|
|
if (json_last_error() != JSON_ERROR_NONE) {
|
|
|
|
|
return $output_json;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($array_json_merge as $key => $value) {
|
|
|
|
|
if (is_array($value) && !empty($array_json[$key])) {
|
|
|
|
|
$merged_json = io_merge_json_value(
|
|
|
|
|
json_encode($array_json[$key], JSON_UNESCAPED_UNICODE),
|
|
|
|
|
json_encode($value, JSON_UNESCAPED_UNICODE),
|
2021-07-12 12:27:10 +02:00
|
|
|
|
$value_key_only
|
|
|
|
|
);
|
2021-07-06 07:40:40 +02:00
|
|
|
|
$array_json[$key] = json_decode($merged_json, true);
|
|
|
|
|
} else {
|
2021-07-12 12:27:10 +02:00
|
|
|
|
if (array_key_exists($key, $array_json)
|
|
|
|
|
&& ($value_key_only == false || $key == 'value')
|
|
|
|
|
) {
|
2021-07-06 07:40:40 +02:00
|
|
|
|
$array_json[$key] = $array_json_merge[$key];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-07-12 12:27:10 +02:00
|
|
|
|
|
2021-07-06 07:40:40 +02:00
|
|
|
|
$output_json = json_encode($array_json, JSON_UNESCAPED_UNICODE);
|
|
|
|
|
|
|
|
|
|
return $output_json;
|
|
|
|
|
}
|