pandorafms/pandora_console/include/functions_html.php

4897 lines
149 KiB
PHP
Raw Normal View History

2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2011 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +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
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
// 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.
/**
* @package Include
* @subpackage HTML
2009-08-24 Miguel de Dios <miguel.dedios@artica.es> * include/functions_menu.php, include/functions_html.php, include/functions_events.php, include/functions_messages.php, include/functions_modules.php, include/functions_exportserver.php, include/functions_reporting.php, include/functions_filemanager.php, include/pchart_graph.php, include/pandora_graph.php, include/auth/dev.php, include/auth/ldap.php, include/auth/mysql.php, include/config.inc.php, include/functions_networkmap.php, include/functions_servers.php, include/FusionCharts/FusionCharts_Gen.php, include/FusionCharts/FusionCharts.php, include/functions_network_profiles.php, include/gettext.php, include/functions_network_components.php, include/functions_visual_map.php, include/fgraph2.php, include/Image/image_functions.php, include/functions_config.php, include/help/en/help_plugin_parameters.php, include/help/en/help_snmpcommunity.php, include/help/en/help_wmiquery.php, include/help/en/help_postprocess.php, include/help/en/help_prediction_source_module.php, include/help/en/help_date_format.php, include/help/en/help_recontask.php, include/help/en/help_alert-matches.php, include/help/en/help_tcp_send.php, include/help/en/help_wmifield.php, include/help/en/help_duplicateconfig.php, include/help/en/help_agent_status.php, include/help/en/help_manage_alerts.php, include/help/en/help_wmikey.php, include/help/en/help_alert_type.php, include/help/en/help_network_component.php, include/help/en/help_time_stamp-comparation.php, include/help/en/help_eventview.php, include/help/en/help_timesource.php, include/help/en/help_alert_validation.php, include/help/en/help_map_builder.php, include/help/en/help_alert_recovery.php, include/help/en/help_module_type.php, include/help/en/help_planned_downtime.php, include/help/en/help_serverlag.php, include/help/en/help_alerts.php, include/help/en/help_snmpwalk.php, include/help/en/help_module_definition.php, include/help/en/help_plugin_definition.php, include/help/en/help_wminamespace.php, include/help/en/help_snmpoid.php include/help/en/help_manageconfig.php, include/help/es/help_alert_validation.php, include/help/es/help_plugin_parameters.php, include/help/es/help_snmpcommunity.php, include/help/es/help_wmiquery.php, include/help/es/help_map_builder.php, include/help/es/help_postprocess.php, include/help/es/help_date_format.php, include/help/es/help_alert_recovery.php, include/help/es/help_prediction_source_module.php, include/help/es/help_module_type.php, include/help/es/help_planned_downtime.php, include/help/es/help_alert-matches.php, include/help/es/help_recontask.php, include/help/es/help_alerts.php, include/help/es/help_serverlag.php, include/help/es/help_snmpwalk.php, include/help/es/help_module_definition.php, include/help/es/help_tcp_send.php, include/help/es/help_duplicateconfig.php, include/help/es/help_wmifield.php, include/help/es/help_manage_alerts.php, include/help/es/help_wmikey.php, include/help/es/help_plugin_definition.php, include/help/es/help_alert_type.php, include/help/es/help_snmpoid.php, include/help/es/help_wminamespace.php, include/help/es/help_network_component.php, include/help/es/help_time_stamp-comparation.php, include/help/es/help_manageconfig.php, include/help/es/help_timesource.php, include/config_process.php, include/functions_ui.php, include/htmlawed.php, include/functions_custom_graphs.php, include/fgraph.php, include/functions_incidents.php, include/functions.php, include/functions_agents.php, include/functions_db.php, include/functions_themes.php, include/streams.php, include/functions_fsgraph.php, include/functions_alerts.php, include/functions_reports.php, include/functions_extensions.php, include/functions_ui_renders.php: change comments blocks for delete the warnings to construct phpDoc Files, give a struct and order in the phpDoc files. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-25 19:39:28 +02:00
*/
if (!isset($config)) {
$working_dir = getcwd();
$working_dir = str_replace('\\', '/', $working_dir);
// Windows compatibility.
$levels = substr_count($working_dir, '/');
for ($i = 0; $i < $levels; $i++) {
if (file_exists(str_repeat('../', $i).'config.php')) {
include_once str_repeat('../', $i).'config.php';
break;
// Skip config.php loading after load the first one.
} else if (file_exists(str_repeat('../', $i).'include/config.php')) {
// For path from the enterprise structure dirs.
include_once str_repeat('../', $i).'include/config.php';
break;
// Skip config.php loading after load the first one.
}
}
} else {
include_once $config['homedir'].'/include/functions.php';
include_once $config['homedir'].'/include/functions_users.php';
include_once $config['homedir'].'/include/functions_groups.php';
include_once $config['homedir'].'/include/functions_ui.php';
}
* 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-08-24 Miguel de Dios <miguel.dedios@artica.es> * include/functions_menu.php, include/functions_html.php, include/functions_events.php, include/functions_messages.php, include/functions_modules.php, include/functions_exportserver.php, include/functions_reporting.php, include/functions_filemanager.php, include/pchart_graph.php, include/pandora_graph.php, include/auth/dev.php, include/auth/ldap.php, include/auth/mysql.php, include/config.inc.php, include/functions_networkmap.php, include/functions_servers.php, include/FusionCharts/FusionCharts_Gen.php, include/FusionCharts/FusionCharts.php, include/functions_network_profiles.php, include/gettext.php, include/functions_network_components.php, include/functions_visual_map.php, include/fgraph2.php, include/Image/image_functions.php, include/functions_config.php, include/help/en/help_plugin_parameters.php, include/help/en/help_snmpcommunity.php, include/help/en/help_wmiquery.php, include/help/en/help_postprocess.php, include/help/en/help_prediction_source_module.php, include/help/en/help_date_format.php, include/help/en/help_recontask.php, include/help/en/help_alert-matches.php, include/help/en/help_tcp_send.php, include/help/en/help_wmifield.php, include/help/en/help_duplicateconfig.php, include/help/en/help_agent_status.php, include/help/en/help_manage_alerts.php, include/help/en/help_wmikey.php, include/help/en/help_alert_type.php, include/help/en/help_network_component.php, include/help/en/help_time_stamp-comparation.php, include/help/en/help_eventview.php, include/help/en/help_timesource.php, include/help/en/help_alert_validation.php, include/help/en/help_map_builder.php, include/help/en/help_alert_recovery.php, include/help/en/help_module_type.php, include/help/en/help_planned_downtime.php, include/help/en/help_serverlag.php, include/help/en/help_alerts.php, include/help/en/help_snmpwalk.php, include/help/en/help_module_definition.php, include/help/en/help_plugin_definition.php, include/help/en/help_wminamespace.php, include/help/en/help_snmpoid.php include/help/en/help_manageconfig.php, include/help/es/help_alert_validation.php, include/help/es/help_plugin_parameters.php, include/help/es/help_snmpcommunity.php, include/help/es/help_wmiquery.php, include/help/es/help_map_builder.php, include/help/es/help_postprocess.php, include/help/es/help_date_format.php, include/help/es/help_alert_recovery.php, include/help/es/help_prediction_source_module.php, include/help/es/help_module_type.php, include/help/es/help_planned_downtime.php, include/help/es/help_alert-matches.php, include/help/es/help_recontask.php, include/help/es/help_alerts.php, include/help/es/help_serverlag.php, include/help/es/help_snmpwalk.php, include/help/es/help_module_definition.php, include/help/es/help_tcp_send.php, include/help/es/help_duplicateconfig.php, include/help/es/help_wmifield.php, include/help/es/help_manage_alerts.php, include/help/es/help_wmikey.php, include/help/es/help_plugin_definition.php, include/help/es/help_alert_type.php, include/help/es/help_snmpoid.php, include/help/es/help_wminamespace.php, include/help/es/help_network_component.php, include/help/es/help_time_stamp-comparation.php, include/help/es/help_manageconfig.php, include/help/es/help_timesource.php, include/config_process.php, include/functions_ui.php, include/htmlawed.php, include/functions_custom_graphs.php, include/fgraph.php, include/functions_incidents.php, include/functions.php, include/functions_agents.php, include/functions_db.php, include/functions_themes.php, include/streams.php, include/functions_fsgraph.php, include/functions_alerts.php, include/functions_reports.php, include/functions_extensions.php, include/functions_ui_renders.php: change comments blocks for delete the warnings to construct phpDoc Files, give a struct and order in the phpDoc files. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-25 19:39:28 +02:00
/**
* Prints the print_r with < pre > tags
*/
function html_debug_print($var, $file='', $oneline=false)
{
$more_info = '';
if (is_string($var)) {
$more_info = 'size: '.strlen($var);
} else if (is_bool($var)) {
$more_info = 'val: '.($var ? 'true' : 'false');
} else if (is_null($var)) {
$more_info = 'is null';
} else if (is_array($var)) {
$more_info = count($var);
}
if ($file === true) {
$file = '/tmp/logDebug';
}
if ($oneline && is_string($var)) {
$var = preg_replace("/[\t|\n| ]+/", ' ', $var);
}
if (strlen($file) > 0) {
$f = fopen($file, 'a');
ob_start();
echo date('Y/m/d H:i:s').' ('.gettype($var).') '.$more_info."\n";
print_r($var);
echo "\n\n";
$output = ob_get_clean();
fprintf($f, '%s', $output);
fclose($f);
} else {
2019-07-02 14:17:53 +02:00
echo '<pre style="z-index: 10000; background: #fff; padding: 1em;">'.date('Y/m/d H:i:s').' ('.gettype($var).') '.$more_info."\n";
print_r($var);
echo '</pre>';
}
}
// Alias for "html_debug_print"
function html_debug($var, $file='', $oneline=false)
{
html_debug_print($var, $file, $oneline);
}
// Alias for "html_debug_print"
function hd($var, $file='', $oneline=false)
{
html_debug_print($var, $file, $oneline);
}
2019-09-03 12:40:16 +02:00
/**
* Encapsulation (ob) for debug print function.
*
* @param mixed $var Variable to be dumped.
* @param string $file Target file path.
* @param boolean $oneline Show in oneline.
*
* @return string Dump string.
*/
function obhd($var, $file='', $oneline=false)
{
ob_start();
hd($var, $file, $oneline);
return ob_get_clean();
}
function debug()
{
$args_num = func_num_args();
$arg_list = func_get_args();
for ($i = 0; $i < $args_num; $i++) {
html_debug_print($arg_list[$i], true);
}
}
function html_f2str($function, $params)
{
ob_start();
call_user_func_array($function, $params);
return ob_get_clean();
}
/**
* Print side layer
*
* @params mixed Hash with all the params:
*
* position: left or right
* width: width of the layer
* height: height of the layer
* icon_closed: icon showed when layer is hidden
* icon_open: icon showed when layer is showed
* top_text: text over the content
* body_text: content of layer
* bottom_text: text under the contet
*
* @return string HTML code if return parameter is true.
*/
function html_print_side_layer($params)
{
global $config;
// Check mandatory values, if any of them is missed, return ''
$mandatory = [
'icon_closed',
'body_text',
];
foreach ($mandatory as $man) {
if (!isset($params[$man])) {
return '';
}
}
// Set default values if not setted
$defaults = [
'position' => 'left',
'width' => '400',
'height' => '97%',
'top_text' => '',
'bottom_text' => '',
'top' => '0',
'autotop' => '',
'right' => '0',
'autoright' => '',
'vertical_mode' => 'out',
'icon_width' => 50,
'icon_height' => 50,
'icon_open' => $params['icon_closed'],
];
foreach ($defaults as $token => $value) {
if (!isset($params[$token])) {
$params[$token] = $value;
}
}
// z-index is 1 because 2 made the calendar show under the side_layer
switch ($params['position']) {
case 'left':
$round_class = 'menu_sidebar_radius_right';
$body_float = 'left';
$button_float = 'right';
break;
case 'right':
$round_class = 'menu_sidebar_radius_left';
$body_float = 'right';
$button_float = 'left';
break;
case 'bottom':
$round_class = 'menu_sidebar_radius_left menu_sidebar_radius_right';
$body_float = 'right';
$button_float = 'left';
break;
}
$out_html = '<div id="side_layer" class="menu_sidebar '.$round_class.'" style="display:none; z-index:1; overflow: hidden; height: '.$params['height'].'; width: '.$params['width'].';">';
$table = new stdClass();
$table->id = 'side_layer_layout';
$table->width = $params['width'].'px';
$table->cellspacing = 2;
$table->cellpadding = 2;
$table->class = 'none';
$top = '<div id="side_top_text" style="width: 100%";">'.$params['top_text'].'</div>';
$button = '<div id="show_menu" style="vertical-align: middle; position: relative; width: '.$params['icon_width'].'px; padding-right: 17px; text-align: right; height: '.$params['icon_height'].'px;">';
// Use the no_meta parameter because this image is only in the base console
$button .= html_print_image(
$params['position'] == 'left' ? $params['icon_open'] : $params['icon_closed'],
true,
['id' => 'graph_menu_arrow'],
false,
false,
true
);
$button .= '</div>';
$body = '<div id="side_body_text" style="width: 100%;">'.$params['body_text'].'</div>';
$bottom = '<div id="side_bottom_text" style="text-align: '.$params['position'].';">'.$params['bottom_text'].'</div>';
switch ($params['position']) {
case 'left':
$table->size[1] = '15%';
$table->data[0][0] = $top;
$table->data[0][1] = '';
$table->rowclass[0] = '';
$table->data[1][0] = $body;
$table->data[1][1] = $button;
$table->rowclass[1] = '';
$table->data[2][0] = $bottom;
$table->data[2][1] = '';
$table->rowclass[2] = '';
break;
case 'right':
$table->size[0] = '15%';
$table->data[0][0] = '';
$table->data[0][1] = $top;
$table->rowclass[0] = '';
$table->data[1][0] = $button;
$table->data[1][1] = $body;
$table->rowclass[1] = '';
$table->data[2][0] = '';
$table->data[2][1] = $bottom;
$table->rowclass[2] = '';
break;
case 'bottom':
$table->data[0][0] = $button;
$table->cellstyle[0][0] = 'text-align: center;';
$table->rowclass[0] = '';
$table->data[1][0] = $top;
$table->rowclass[1] = '';
$table->data[2][0] = $body;
$table->rowclass[2] = '';
$table->data[3][0] = $bottom;
$table->rowclass[3] = '';
break;
}
$out_html .= html_print_table($table, true);
$out_html .= '</div>';
$out_js = "<script type='text/javascript'>
<!--
hidded_sidebar('".$params['position']."', ".$params['width'].", '".$params['height']."', ".$params['icon_width'].",
'".$params['top']."', '".$params['autotop']."', '".$params['right']."',
'".$params['autoright']."', '".$params['icon_closed']."', '".$params['icon_open']."', '".$config['homeurl']."'
, '".$params['vertical_mode']."');
//-->
</script>";
echo $out_html.$out_js;
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
* Prints an array of fields in a popup menu of a form.
*
* Based on choose_from_menu() from Moodle
*
* @param array Array with dropdown values. Example: $fields["value"] = "label"
* @param string Select form name
* @param variant Current selected value. Can be a single value or an
* array of selected values (in combination with multiple)
* @param string Javascript onChange code.
* @param string Label when nothing is selected.
* @param variant Value when nothing is selected
* @param bool Whether to return an output string or echo now (optional, echo by default).
* @param bool Set the input to allow multiple selections (optional, single selection by default).
* @param bool Whether to sort the options or not (optional, unsorted by default).
*
* @return string HTML code if return parameter is true.
*/
function html_print_select_style($fields, $name, $selected='', $style='', $script='', $nothing='', $nothing_value=0, $return=false, $multiple=false, $sort=true, $class='', $disabled=false)
{
$output = "\n";
static $idcounter = [];
// If duplicate names exist, it will start numbering. Otherwise it won't
if (isset($idcounter[$name])) {
$idcounter[$name]++;
} else {
$idcounter[$name] = 0;
}
$id = preg_replace('/[^a-z0-9\:\;\-\_]/i', '', $name.($idcounter[$name] ? $idcounter[$name] : ''));
$attributes = '';
if (!empty($script)) {
$attributes .= ' onchange="'.$script.'"';
}
if (!empty($multiple)) {
$attributes .= ' multiple="multiple" size="10"';
}
if (!empty($class)) {
$attributes .= ' class="'.$class.'"';
}
if (!empty($disabled)) {
$attributes .= ' disabled="disabled"';
}
$output .= '<select style="'.$style.'" id="'.$id.'" name="'.$name.'"'.$attributes.'>';
if ($nothing != '' || empty($fields)) {
if ($nothing == '') {
$nothing = __('None');
}
$output .= '<option value="'.$nothing_value.'"';
if ($nothing_value == $selected) {
$output .= ' selected="selected"';
}
$output .= '>'.$nothing.'</option>';
}
if (!empty($fields)) {
if ($sort !== false) {
asort($fields);
}
foreach ($fields as $value => $label) {
$output .= '<option value="'.$value.'"';
if (is_array($selected) && in_array($value, $selected)) {
$output .= ' selected="selected"';
} else if (is_numeric($value) && is_numeric($selected) && $value == $selected) {
// This fixes string ($value) to int ($selected) comparisons
$output .= ' selected="selected"';
} else if ($value === $selected) {
// Needs type comparison otherwise if $selected = 0 and $value = "string" this would evaluate to true
$output .= ' selected="selected"';
}
if ($label === '') {
$output .= '>'.$value.'</option>';
} else {
$output .= '>'.$label.'</option>';
}
}
}
$output .= '</select>';
if ($return) {
return $output;
}
echo $output;
}
2010-07-15 Miguel de Dios <miguel.dedios@artica.es> * include/functions_html.php: added the function "print_select_groups" to print the field select box for groups with tree style. * include/functions_db.php: in function "get_user_groups" added test to false value in parameter $privilege for get all groups without ACL test. Fixed in function "get_user_groups_tree" the call to "get_user_groups" with the correct parameters. * operation/incidents/incident.php, operation/incidents/incident_detail.php, operation/events/events.php, operation/agentes/status_monitor.php, operation/agentes/estado_agente.php, operation/agentes/alerts_status.functions.php, operation/agentes/exportdata.php, operation/agentes/networkmap.php, operation/messages/message.php, general/ui/agents_list.php, godmode/groups/configure_group.php, godmode/groups/group_list.php, godmode/agentes/massive_add_alerts.php, godmode/agentes/massive_delete_agents.php, godmode/agentes/massive_config.php, godmode/agentes/massive_delete_action_alerts.php, godmode/agentes/massive_delete_alerts.php, godmode/agentes/modificar_agente.php, godmode/agentes/massive_delete_modules.php, godmode/agentes/massive_add_action_alerts.php, godmode/agentes/planned_downtime.php, godmode/agentes/manage_config_remote.php, godmode/agentes/agent_manager.php, godmode/servers/manage_recontask_form.php, godmode/alerts/configure_alert_compound.php, godmode/alerts/alert_compounds.php, godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/setup/gis_step_2.php, godmode/users/configure_user.php, godmode/gis_maps/configure_gis_map.php, godmode/reporting/graph_builder.main.php, godmode/reporting/reporting_builder.main.php, godmode/reporting/visual_console_builder.data.php: changed the fields select box of group to tree style select box for groups. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3009 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2010-07-15 17:20:43 +02:00
/**
2020-09-11 14:34:41 +02:00
* Print or return selector for groups.
*
2020-09-11 14:34:41 +02:00
* @param string $id_user User id.
* @param string $privilege The privilege to evaluate.
* @param boolean $returnAllGroup Flag the return group, (true).
* @param boolean $name Name of input field.
* @param array $selected Array with dropdown values. Example:
* $fields["value"] = "label".
* @param string $script Javascript onChange code.
* @param mixed $nothing Label when nothing is selected.
* @param array $nothing_value Value when nothing is selected.
* @param string $return Return string or dump to output.
* @param boolean $multiple Enable multiple select.
* @param mixed $sort Sort values or not (default false).
* @param boolean $class CSS classes to apply.
* @param boolean $disabled Disabled or enabled.
* @param boolean $style CSS inline style.
* @param string $option_style CSS inline style in array format.
* @param array $id_group Groups to be manually added.
* @param string $keys_field Field to be used as array key, (id).
* @param boolean $strict_user Strict.
* @param array $delete_groups Remove groups from select.
* @param array $include_groups Add groups to select.
* @param string $size Style, size (width) of element.
* @param boolean $simple_multiple_options Discovery simple multiple inputs.
* @param boolean $required Required input.
2010-07-15 Miguel de Dios <miguel.dedios@artica.es> * include/functions_html.php: added the function "print_select_groups" to print the field select box for groups with tree style. * include/functions_db.php: in function "get_user_groups" added test to false value in parameter $privilege for get all groups without ACL test. Fixed in function "get_user_groups_tree" the call to "get_user_groups" with the correct parameters. * operation/incidents/incident.php, operation/incidents/incident_detail.php, operation/events/events.php, operation/agentes/status_monitor.php, operation/agentes/estado_agente.php, operation/agentes/alerts_status.functions.php, operation/agentes/exportdata.php, operation/agentes/networkmap.php, operation/messages/message.php, general/ui/agents_list.php, godmode/groups/configure_group.php, godmode/groups/group_list.php, godmode/agentes/massive_add_alerts.php, godmode/agentes/massive_delete_agents.php, godmode/agentes/massive_config.php, godmode/agentes/massive_delete_action_alerts.php, godmode/agentes/massive_delete_alerts.php, godmode/agentes/modificar_agente.php, godmode/agentes/massive_delete_modules.php, godmode/agentes/massive_add_action_alerts.php, godmode/agentes/planned_downtime.php, godmode/agentes/manage_config_remote.php, godmode/agentes/agent_manager.php, godmode/servers/manage_recontask_form.php, godmode/alerts/configure_alert_compound.php, godmode/alerts/alert_compounds.php, godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/setup/gis_step_2.php, godmode/users/configure_user.php, godmode/gis_maps/configure_gis_map.php, godmode/reporting/graph_builder.main.php, godmode/reporting/reporting_builder.main.php, godmode/reporting/visual_console_builder.data.php: changed the fields select box of group to tree style select box for groups. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3009 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2010-07-15 17:20:43 +02:00
*
* @return string HTML code if return parameter is true.
*/
function html_print_select_groups(
$id_user=false,
$privilege='AR',
$returnAllGroup=true,
2020-09-11 14:34:41 +02:00
$name=null,
$selected='',
$script='',
$nothing='',
$nothing_value=0,
$return=false,
$multiple=false,
2020-09-11 14:34:41 +02:00
$sort=false,
$class='',
$disabled=false,
$style=false,
$option_style=false,
$id_group=false,
$keys_field='id_grupo',
$strict_user=false,
$delete_groups=false,
$include_groups=false,
$size=false,
$simple_multiple_options=false,
$required=false
) {
2020-09-28 16:02:54 +02:00
$output = '';
if (is_ajax()) {
$output .= '<script src="';
2020-10-02 14:00:04 +02:00
$output .= ui_get_full_url(
'include/javascript/select2.min.js',
false,
false,
false
);
2020-09-28 16:02:54 +02:00
$output .= '" type="text/javascript"></script>';
$output .= '<link rel="stylesheet" href="';
2020-10-02 14:00:04 +02:00
$output .= ui_get_full_url(
'include/styles/select2.min.css',
false,
false,
false
);
2020-09-28 16:02:54 +02:00
$output .= '"/>';
} else {
ui_require_css_file('select2.min');
ui_require_javascript_file('select2.min');
}
2020-09-11 14:34:41 +02:00
if ($name === null) {
static $idcounter = [];
if (isset($idcounter[$name]) === true) {
$idcounter[$name]++;
} else {
$idcounter[$name] = 0;
}
2020-09-11 14:34:41 +02:00
$name = 'group_select'.$idcounter[$name];
}
2020-09-11 14:34:41 +02:00
$fields = [];
// Preload selector.
if (is_array($selected) === false) {
if (empty($selected) === false) {
$fields = [ $selected => groups_get_name($selected) ];
2020-09-29 14:22:58 +02:00
} else if ($returnAllGroup === true && $multiple === false) {
$fields = [ $selected => groups_get_name(null, true) ];
2020-09-11 14:34:41 +02:00
}
} else {
foreach ($selected as $k) {
$fields[$k] = groups_get_name($k);
}
2020-09-11 14:34:41 +02:00
}
if (empty($nothing) === false) {
$fields[$nothing_value] = $nothing;
$include_groups[$nothing_value] = $nothing;
}
2020-09-11 14:34:41 +02:00
if (is_array($delete_groups) === true) {
$json_exclusions = json_encode($delete_groups);
}
2020-09-11 14:34:41 +02:00
if (is_array($include_groups) === true) {
$json_inclusions = json_encode($include_groups);
}
2020-09-28 16:02:54 +02:00
$output .= html_print_select(
$fields,
$name,
$selected,
$script,
$nothing,
$nothing_value,
$return,
$multiple,
2020-09-11 14:34:41 +02:00
$sort,
$class,
$disabled,
$style,
$option_style,
$size,
false,
'',
false,
$simple_multiple_options,
$required
);
2020-09-11 14:34:41 +02:00
if (empty($size) === true) {
$size = '100%';
}
ob_start();
?>
<style type="text/css">
.select2-search__field {
background: url('<?php echo ui_get_full_url('images/zoom.png'); ?>') no-repeat;
background-position: right 10px center;
background-size: 1em;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
$('select[name="<?php echo $name; ?>"]').each(
function() {
$(this).select2({
2020-09-29 14:22:58 +02:00
multiple: <?php echo ($multiple) ? 'true' : 'false'; ?>,
placeholder: "<?php echo __('Please select...'); ?>",
2020-09-11 14:34:41 +02:00
debug: 0,
width: '<?php echo $size; ?>',
templateResult: function(node) {
if (!node.id) {
return node.text;
}
return $('<span style="padding-left:' + (5 * node.level) + 'px;">' + node.text + '</span>');
},
ajax: {
delay: 500,
method: 'post',
url: '<?php echo ui_get_full_url('ajax.php'); ?>',
dataType: 'json',
data: function (params) {
var query = {
search: params.term,
page: 'include/ajax/group',
method: 'getGroupsForSelect',
2020-09-30 17:47:44 +02:00
id_user: '<?php echo $id_user; ?>',
privilege: '<?php echo $privilege; ?>',
2020-09-11 14:34:41 +02:00
exclusions: '<?php echo $json_exclusions; ?>',
inclusions: '<?php echo $json_inclusions; ?>',
step: params.page || 1,
2020-09-11 14:34:41 +02:00
strict: "<?php echo $strict_user; ?>",
2020-09-11 15:30:18 +02:00
returnAllGroup: <?php echo (int) $returnAllGroup; ?>
2020-09-11 14:34:41 +02:00
}
return query;
}
}
});
}
);
2020-09-29 14:22:58 +02:00
<?php
if (empty($fields) === true) {
?>
$('select[name="<?php echo $name; ?>"]').val(null).trigger("change");
2020-09-30 17:47:44 +02:00
$('select[name="<?php echo $name; ?>"] option[value=""]').each(function() {
$(this).remove();
});
2020-09-29 14:22:58 +02:00
<?php
}
?>
2020-09-11 14:34:41 +02:00
});
</script>
<?php
$output .= ob_get_clean();
if ($return) {
return $output;
} else {
echo $output;
}
2010-07-15 Miguel de Dios <miguel.dedios@artica.es> * include/functions_html.php: added the function "print_select_groups" to print the field select box for groups with tree style. * include/functions_db.php: in function "get_user_groups" added test to false value in parameter $privilege for get all groups without ACL test. Fixed in function "get_user_groups_tree" the call to "get_user_groups" with the correct parameters. * operation/incidents/incident.php, operation/incidents/incident_detail.php, operation/events/events.php, operation/agentes/status_monitor.php, operation/agentes/estado_agente.php, operation/agentes/alerts_status.functions.php, operation/agentes/exportdata.php, operation/agentes/networkmap.php, operation/messages/message.php, general/ui/agents_list.php, godmode/groups/configure_group.php, godmode/groups/group_list.php, godmode/agentes/massive_add_alerts.php, godmode/agentes/massive_delete_agents.php, godmode/agentes/massive_config.php, godmode/agentes/massive_delete_action_alerts.php, godmode/agentes/massive_delete_alerts.php, godmode/agentes/modificar_agente.php, godmode/agentes/massive_delete_modules.php, godmode/agentes/massive_add_action_alerts.php, godmode/agentes/planned_downtime.php, godmode/agentes/manage_config_remote.php, godmode/agentes/agent_manager.php, godmode/servers/manage_recontask_form.php, godmode/alerts/configure_alert_compound.php, godmode/alerts/alert_compounds.php, godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/setup/gis_step_2.php, godmode/users/configure_user.php, godmode/gis_maps/configure_gis_map.php, godmode/reporting/graph_builder.main.php, godmode/reporting/reporting_builder.main.php, godmode/reporting/visual_console_builder.data.php: changed the fields select box of group to tree style select box for groups. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3009 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2010-07-15 17:20:43 +02:00
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
* Prints an array of fields in a popup menu of a form.
*
* Based on choose_from_menu() from Moodle
*
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
* @param array Array with dropdown values. Example: $fields["value"] = "label"
* @param string Select form name
* @param variant Current selected value. Can be a single value or an
* array of selected values (in combination with multiple)
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
* @param string Javascript onChange code.
* @param string Label when nothing is selected.
* @param variant Value when nothing is selected
* @param bool Whether to return an output string or echo now (optional, echo by default).
* @param bool Set the input to allow multiple selections (optional, single selection by default).
* @param bool Whether to sort the options or not (optional, unsorted by default).
* @param string $style The string of style.
* @param mixed $size Max elements showed in the select or default (size=10).
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
function html_print_select(
$fields,
$name,
$selected='',
$script='',
$nothing='',
$nothing_value=0,
$return=false,
$multiple=false,
$sort=true,
$class='',
$disabled=false,
$style=false,
$option_style=false,
$size=false,
$modal=false,
$message='',
$select_all=false,
$simple_multiple_options=false,
$required=false
) {
$output = "\n";
static $idcounter = [];
// If duplicate names exist, it will start numbering. Otherwise it won't
if (isset($idcounter[$name])) {
$idcounter[$name]++;
} else {
$idcounter[$name] = 0;
}
$id = preg_replace('/[^a-z0-9\:\;\-\_]/i', '', $name.($idcounter[$name] ? $idcounter[$name] : ''));
$attributes = '';
if (!empty($script)) {
$attributes .= ' onchange="'.$script.'"';
}
if (!empty($multiple)) {
if ($size !== false) {
$attributes .= ' multiple="multiple" size="'.$size.'"';
} else {
$attributes .= ' multiple="multiple" size="10"';
}
}
if ($simple_multiple_options === true) {
if ($size !== false) {
$attributes .= ' size="'.$size.'"';
} else {
$attributes .= ' size="10"';
}
}
if (!empty($class)) {
$attributes .= ' class="'.$class.'"';
}
if (!empty($disabled)) {
$attributes .= ' disabled="disabled"';
}
if ($style === false) {
$styleText = 'style=""';
} else {
$styleText = 'style="'.$style.'"';
}
if ($required) {
$required = 'required';
}
$output .= '<select '.$required.' id="'.$id.'" name="'.$name.'"'.$attributes.' '.$styleText.'>';
if ($nothing !== false) {
if ($nothing != '' || empty($fields)) {
if ($nothing == '') {
$nothing = __('None');
}
$output .= '<option value="'.$nothing_value.'"';
if ($nothing_value == $selected) {
$output .= ' selected="selected"';
} else if (is_array($selected)) {
if (in_array($nothing_value, $selected)) {
$output .= ' selected="selected"';
}
}
$output .= '>'.$nothing.'</option>';
}
}
if (is_array($fields) && !empty($fields)) {
if ($sort !== false) {
// Sorting the fields in natural way and case insensitive preserving keys
$first_elem = reset($fields);
if (!is_array($first_elem)) {
uasort($fields, 'strnatcasecmp');
}
}
$lastopttype = '';
foreach ($fields as $value => $label) {
$optlabel = $label;
if (is_array($label)) {
if (isset($label['optgroup'])) {
if ($label['optgroup'] != $lastopttype) {
if ($lastopttype != '') {
$output .= '</optgroup>';
}
$output .= '<optgroup label="'.$label['optgroup'].'">';
$lastopttype = $label['optgroup'];
}
}
$optlabel = $label['name'];
}
$output .= '<option ';
if ($select_all) {
$output .= 'selected ';
}
$output .= 'value="'.$value.'"';
if (is_array($selected) && in_array($value, $selected)) {
$output .= ' selected="selected"';
} else if (is_numeric($value) && is_numeric($selected)
&& $value == $selected
) {
// This fixes string ($value) to int ($selected) comparisons
$output .= ' selected="selected"';
} else if ($value === $selected) {
// Needs type comparison otherwise if $selected = 0 and $value = "string" this would evaluate to true
$output .= ' selected="selected"';
}
if (is_array($option_style)
&& in_array($value, array_keys($option_style))
) {
$output .= ' style="'.$option_style[$value].'"';
}
if ($optlabel === '') {
$output .= '>None</option>';
} else {
$output .= '>'.$optlabel.'</option>';
}
}
if (is_array($label)) {
$output .= '</optgroup>';
}
}
$output .= '</select>';
if ($modal && !enterprise_installed()) {
$output .= "
<div id='".$message."' class='publienterprise' title='Community version' style='display:inline;position:relative;top:10px;left:0px;margin-top: -2px !important; margin-left: 2px !important;'><img data-title='Enterprise version' class='img_help forced_title' data-use_title_for_force_title='1' src='images/alert_enterprise.png'></div>
";
}
if ($return) {
return $output;
}
echo $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
/**
* Generates a multiselect component with filters.
*
* @param array $available Available.
* @param array $selected Selected.
* @param string $name Custom identifier (optional).
* @param string $class Custom class for main container (optional).
* @param boolean $return Dump to output or only return.
* @param array $group_filter Ajax information to reload content while
* using different group filter (if enabled). Uses:
* [
* page => 'your/controller/php',
* method => 'yourMethodName'
* ]
* Ensure you return data in json format as:
* {id:label,id2:label2...}
* Provided by caller.
* @param array $texts Texts.
* @param array $sections Enables or disables sub-components.
*
* @return string HTML code with component.
*/
function html_print_select_multiple_filtered(
array $available,
array $selected,
?string $name=null,
string $class='',
bool $return=true,
array $group_filter=[],
array $texts=[],
array $sections=[]
) {
ui_require_css_file('multiselect_filtered');
2020-07-17 10:33:40 +02:00
if (is_ajax() === true) {
ui_require_javascript_file('multiselect_filtered', 'include/javascript/', true);
} else {
ui_require_javascript_file('multiselect_filtered');
}
if (empty($name) === true) {
$rid = uniqid();
} else {
$rid = $name;
}
if (empty($texts) === true) {
2020-05-20 19:04:42 +02:00
$texts = [];
}
if (empty($texts['filter-item']) === true) {
$texts['filter-item'] = 'Filter agent alias';
}
if (empty($texts['title-add']) === true) {
$texts['title-add'] = 'Add selected';
}
if (empty($texts['title-del']) === true) {
$texts['title-del'] = 'Remove selected';
}
if (empty($texts['title-left']) === true) {
$texts['title-left'] = 'Available items';
}
if (empty($texts['title-right']) === true) {
$texts['title-right'] = 'Selected items';
}
if (empty($sections) === true) {
2020-05-20 19:04:42 +02:00
$sections = [];
}
if (empty($sections['filters']) === true) {
$sections['filters'] = 1;
}
if (empty($sections['group-filter']) === true) {
$sections['group-filter'] = 1;
}
if (empty($sections['item-available-filter']) === true) {
$sections['item-available-filter'] = 1;
}
if (empty($sections['item-selected-filter']) === true) {
$sections['item-selected-filter'] = 1;
}
if (empty($group_filter) === true) {
$sections['group-filter'] = 0;
}
// Main container.
2020-07-07 19:10:24 +02:00
$output = '<div class="multi-select flex-row-vcenter '.$class.'">';
// Left box.
$output .= '<div class="multi-select-container flex-column">';
2020-05-25 18:18:38 +02:00
$disable_filters = '';
// Filtering.
if (isset($sections['filters']) === true
&& $sections['filters'] === 1
) {
// Filtering.
if (isset($sections['group-filter']) === true
&& $sections['group-filter'] === 1
) {
$output .= '<div class="filter">';
$output .= '<div class="group-filter flex-row-vcenter">';
$reload_content = "reloadContent('".$rid."'";
$reload_content .= ", '".ui_get_full_url('ajax.php')."'";
$reload_content .= ", '".base64_encode(
json_encode($group_filter)
)."'";
$reload_content .= ", 'left'";
$reload_content .= ", '".__('None')."')";
$output .= html_print_input(
[
'label' => __('Filter group'),
'name' => 'id-group-available-select-'.$rid,
'returnAllGroup' => true,
'privilege' => 'AR',
'type' => 'select_groups',
'return' => true,
'script' => $reload_content,
]
);
$output .= html_print_input(
[
'label' => __('Group recursion'),
'name' => 'id-group-recursion-available-select-'.$rid,
'type' => 'checkbox',
'script' => $reload_content,
'return' => true,
]
);
$output .= '</div>';
$output .= '</div>';
2020-05-25 18:18:38 +02:00
$disable_filters = "disableFilters('".$rid."')";
}
if (isset($sections['item-available-filter']) === true
&& $sections['item-available-filter'] === 1
) {
$output .= '<div class="item-filter flex-row-vcenter">';
$output .= html_print_input(
[
'style' => 'display:none;',
'name' => 'tmp-available-select-'.$rid,
'type' => 'select',
'nothing' => false,
'return' => true,
]
);
$f = "filterAvailableItems(this.value,'".$rid."','".__('None')."')";
$output .= html_print_input(
[
'label' => __($texts['filter-item']),
'name' => 'filter-item-available-'.$rid,
'onKeyUp' => $f,
'input_class' => 'filter w100p',
'size' => 20,
'type' => 'text',
'return' => true,
]
);
$output .= '</div>';
}
}
$output .= '<span class="title">'.$texts['title-left'].'</span>';
// Selector boxes.
$output .= html_print_input(
[
'type' => 'select',
'fields' => $available,
'name' => 'available-select-'.$rid.'[]',
'selected' => '',
2020-05-25 18:18:38 +02:00
'script' => $disable_filters,
'nothing' => '',
'nothing_value' => 0,
'return' => true,
'multiple' => true,
'sort' => true,
'class' => 'select-multiple',
'disabled' => false,
'style' => false,
'option_style' => false,
'size' => false,
'modal' => false,
'message' => '',
'select_all' => false,
'simple_multiple_options' => false,
]
);
$output .= '</div>';
// Middle buttons actions.
$add = "addItems('".$rid."','".__('None')."'); return false";
$del = "removeItems('".$rid."','".__('None')."'); return false";
$output .= '<div class="arrows-container flex-column">';
$output .= html_print_input(
[
'type' => 'image',
'src' => 'images/darrowright.png',
'return' => true,
'options' => [
'title' => $texts['title-add'],
'onclick' => $add,
],
]
);
$output .= html_print_input(
[
'type' => 'image',
'src' => 'images/darrowleft.png',
'return' => true,
'options' => [
'title' => $texts['title-del'],
'onclick' => $del,
],
]
);
$output .= '</div>';
2020-07-07 19:10:24 +02:00
// Right box.
$output .= '<div class="multi-select-container flex-column">';
// Filtering.
if (isset($sections['filters']) === true
&& $sections['filters'] === 1
) {
if (isset($sections['group-filter']) === true
&& $sections['group-filter'] === 1
) {
$output .= '<div class="filter">';
$output .= '<div class="group-filter flex-row-vcenter">';
$reload_content = "reloadContent('".$rid."'";
$reload_content .= ", '".ui_get_full_url('ajax.php')."'";
$reload_content .= ", '".base64_encode(
json_encode($group_filter)
)."'";
$reload_content .= ", 'right'";
$reload_content .= ", '".__('None')."')";
$output .= html_print_input(
[
'label' => __('Filter group'),
'name' => 'id-group-selected-select-'.$rid,
'returnAllGroup' => true,
'privilege' => 'AR',
'type' => 'select_groups',
'return' => true,
'script' => $reload_content,
]
);
$output .= html_print_input(
[
'label' => __('Group recursion'),
'name' => 'id-group-recursion-selected-select-'.$rid,
'type' => 'checkbox',
'script' => $reload_content,
'return' => true,
]
);
$output .= '</div>';
$output .= '</div>';
}
// Filtering.
if (isset($sections['item-selected-filter']) === true
&& $sections['item-selected-filter'] === 1
) {
$output .= '<div class="item-filter flex-row-vcenter">';
$output .= html_print_input(
[
'style' => 'display:none;',
'name' => 'tmp-selected-select-'.$rid,
'type' => 'select',
'nothing' => false,
'return' => true,
]
);
$f = "filterSelectedItems(this.value,'".$rid."','".__('None')."')";
$output .= html_print_input(
[
'label' => __($texts['filter-item']),
'name' => 'filter-item-selected-'.$rid,
'onKeyUp' => $f,
'input_class' => 'filter w100p',
'size' => 20,
'type' => 'text',
'return' => true,
]
);
$output .= '</div>';
}
}
$output .= '<span class="title">'.$texts['title-right'].'</span>';
$output .= html_print_input(
[
'type' => 'select',
'fields' => $selected,
'name' => 'selected-select-'.$rid.'[]',
'selected' => '',
'script' => '',
'nothing' => '',
'nothing_value' => 0,
'return' => true,
'multiple' => true,
'sort' => true,
'class' => 'select-multiple',
'disabled' => false,
'style' => false,
'option_style' => false,
'size' => false,
'modal' => false,
'message' => '',
'select_all' => true,
'simple_multiple_options' => false,
]
);
$output .= '</div>';
// Close main.
$output .= '</div>';
if ($return === false) {
echo $output;
}
return $output;
}
2020-07-07 19:10:24 +02:00
/**
* Form multiple inputs for slect groups.
*
* @param array $data Data inputs.
*
* @return string Html output.
*/
function html_print_select_multiple_modules_filtered(array $data):string
{
if (is_ajax() === true) {
ui_require_javascript_file(
'multiselect_filtered',
'include/javascript/',
true
);
} else {
ui_require_javascript_file('multiselect_filtered');
}
$uniqId = $data['uniqId'];
// Group.
$output = '<div>';
$output .= html_print_input(
[
'label' => __('Group'),
'name' => 'filtered-module-group-'.$uniqId,
'returnAllGroup' => true,
'privilege' => 'AR',
'type' => 'select_groups',
'return' => true,
'script' => 'fmAgentChange(\''.$uniqId.'\')',
'selected' => $data['mGroup'],
]
);
// Recursion.
$output .= html_print_input(
[
'label' => __('Recursion'),
'type' => 'switch',
'name' => 'filtered-module-recursion-'.$uniqId,
'value' => (empty($data['mRecursion']) === true) ? false : true,
'checked' => (empty($data['mRecursion']) === true) ? false : true,
'return' => true,
'id' => 'filtered-module-recursion-'.$uniqId,
'onchange' => 'fmAgentChange(\''.$uniqId.'\')',
]
);
// Groups module.
$module_groups = db_get_all_rows_sql(
'SELECT * FROM tmodule_group ORDER BY name'
);
$module_groups = array_reduce(
$module_groups,
function ($carry, $item) {
$carry[$item['id_mg']] = $item['name'];
return $carry;
}
);
$output .= html_print_input(
[
'label' => __('Module group'),
'type' => 'select',
'fields' => $module_groups,
'name' => 'filtered-module-module-group-'.$uniqId,
'selected' => $data['mModuleGroup'],
'return' => true,
'nothing' => __('All'),
'nothing_value' => 0,
'script' => 'fmModuleChange(\''.$uniqId.'\')',
]
);
$output .= '</div>';
$output .= '<div>';
// Agent.
$agents = agents_get_group_agents($data['mGroup']);
if ((empty($agents)) === true || $agents == -1) {
$agents = [];
}
$output .= html_print_input(
[
'label' => __('Agents'),
'type' => 'select',
'fields' => $agents,
'name' => 'filtered-module-agents-'.$uniqId,
'selected' => explode(',', $data['mAgents']),
'return' => true,
'multiple' => true,
'style' => 'min-width: 200px;max-width:200px;',
'script' => 'fmModuleChange(\''.$uniqId.'\')',
]
);
// Show common modules.
$selection = [
0 => __('Show common modules'),
1 => __('Show all modules'),
];
$output .= html_print_input(
[
'label' => __('Show common modules'),
'type' => 'select',
'fields' => $selection,
'name' => 'filtered-module-show-common-modules-'.$uniqId,
'selected' => $data['mShowCommonModules'],
'return' => true,
'script' => 'fmModuleChange(\''.$uniqId.'\')',
]
);
$all_modules = select_modules_for_agent_group(
$data['mModuleGroup'],
explode(',', $data['mAgents']),
$data['mShowCommonModules'],
false
);
$output .= html_print_input(
[
'label' => __('Modules'),
'type' => 'select',
'fields' => $all_modules,
'name' => 'filtered-module-modules-'.$uniqId,
'selected' => explode(',', $data['mModules']),
'return' => true,
'multiple' => true,
'style' => 'min-width: 200px;max-width:200px;',
]
);
$output .= '</div>';
if ($data['return'] === false) {
echo $output;
}
return $output;
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
* Prints an array of fields in a popup menu of a form based on a SQL query.
* The first and second columns of the query will be used.
*
* The element will have an id like: "password-$value". Based on choose_from_menu() from Moodle.
*
* @param string $sql SQL sentence, the first field will be the identifier of the option.
* The second field will be the shown value in the dropdown.
* @param string $name Select form name
* @param string $selected Current selected value.
* @param string $script Javascript onChange code.
* @param string $nothing Label when nothing is selected.
* @param string $nothing_value Value when nothing is selected
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param boolean $multiple Whether to allow multiple selections or not. Single by default
* @param boolean $sort Whether to sort the options or not. Sorted by default.
* @param boolean $disabled if it's true, disable the select.
* @param string $style The string of style.
* @param mixed $size Max elements showed in select or default (size=10)
* @param integer $truncante_size Truncate size of the element, by default is set to GENERIC_SIZE_TEXT constant
2020-04-07 18:50:56 +02:00
* @param integer $class Class to apply.
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
function html_print_select_from_sql(
$sql,
$name,
$selected='',
$script='',
$nothing='',
$nothing_value='0',
$return=false,
$multiple=false,
$sort=true,
$disabled=false,
$style=false,
$size=false,
2020-04-07 18:50:56 +02:00
$trucate_size=GENERIC_SIZE_TEXT,
$class=''
) {
global $config;
$fields = [];
$result = db_get_all_rows_sql($sql);
if ($result === false) {
$result = [];
}
foreach ($result as $row) {
$id = array_shift($row);
$value = array_shift($row);
$fields[$id] = ui_print_truncate_text(
$value,
$trucate_size,
false,
true,
false
);
}
return html_print_select(
$fields,
$name,
$selected,
$script,
$nothing,
$nothing_value,
$return,
$multiple,
$sort,
2020-04-07 18:50:56 +02:00
$class,
$disabled,
$style,
'',
$size
);
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
function html_print_extended_select_for_unit(
$name,
$selected='',
$script='',
$nothing='',
$nothing_value='0',
$size=false,
$return=false,
$select_style=false,
$unique_name=true,
$disabled=false,
$no_change=0
) {
global $config;
// $fields = post_process_get_custom_values();
$fields['_timeticks_'] = 'Timeticks';
$fields['none'] = __('none');
$default_module_custom_units = get_custom_module_units();
$fields = array_merge($fields, $default_module_custom_units);
if ($no_change != 0) {
$fields[-1] = __('No change');
}
// $selected_float = (float)$selected;
// $found = false;
//
// if (array_key_exists($selected, $fields))
// $found = true;
//
// if (!$found) {
// $fields[$selected] = floatval($selected);
// }
if ($unique_name === true) {
$uniq_name = uniqid($name);
} else {
$uniq_name = $name;
}
ob_start();
echo '<div id="'.$uniq_name.'_default" style="width:100%;display:inline;">';
html_print_select(
$fields,
$uniq_name.'_select',
$selected,
''.$script,
$nothing,
$nothing_value,
false,
false,
false,
'',
$disabled,
'font-size: xx-small;'.$select_style
);
echo ' <a href="javascript:">'.html_print_image(
'images/pencil.png',
true,
[
'class' => $uniq_name.'_toggler',
'alt' => __('Custom'),
'title' => __('Custom'),
'style' => 'width: 18px;',
]
).'</a>';
echo '</div>';
echo '<div id="'.$uniq_name.'_manual" style="width:100%;display:inline;">';
html_print_input_text($uniq_name.'_text', $selected, '', 20);
html_print_input_hidden($name, $selected, false, $uniq_name);
echo ' <a href="javascript:">'.html_print_image(
'images/default_list.png',
true,
[
'class' => $uniq_name.'_toggler',
'alt' => __('List'),
'title' => __('List'),
'style' => 'width: 18px;',
]
).'</a>';
echo '</div>';
echo "<script type='text/javascript'>
2017-09-14 12:10:41 +02:00
$(document).ready (function () {
post_process_select_init_unit('$uniq_name','$selected');
post_process_select_events_unit('$uniq_name','$selected');
});
</script>";
$returnString = ob_get_clean();
if ($return) {
return $returnString;
} else {
echo $returnString;
}
}
function html_print_extended_select_for_post_process(
$name,
$selected='',
$script='',
$nothing='',
$nothing_value='0',
$size=false,
$return=false,
$select_style=false,
$unique_name=true,
$disabled=false,
$no_change=0
) {
global $config;
include_once $config['homedir'].'/include/functions_post_process.php';
$fields = post_process_get_custom_values();
if ($no_change != 0) {
$fields[-1] = __('No change');
}
$selected_float = (float) $selected;
$found = false;
if ($selected) {
if (array_key_exists(number_format($selected, 14, '.', ','), $fields)) {
$found = true;
}
}
if (!$found) {
$fields[$selected] = floatval($selected);
}
if ($unique_name === true) {
$uniq_name = uniqid($name);
} else {
$uniq_name = $name;
}
ob_start();
echo '<div id="'.$uniq_name.'_default" style="width:100%;display:inline;">';
html_print_select(
$fields,
$uniq_name.'_select',
$selected,
''.$script,
$nothing,
$nothing_value,
false,
false,
false,
'',
$disabled,
'font-size: xx-small;'.$select_style
);
echo ' <a href="javascript:">'.html_print_image(
'images/pencil.png',
true,
[
'class' => $uniq_name.'_toggler',
'alt' => __('Custom'),
'title' => __('Custom'),
'style' => 'width: 18px;',
]
).'</a>';
echo '</div>';
echo '<div id="'.$uniq_name.'_manual" style="width:100%;display:inline;">';
html_print_input_text($uniq_name.'_text', $selected, '', 20);
html_print_input_hidden($name, $selected, false, $uniq_name);
echo ' <a href="javascript:">'.html_print_image(
'images/default_list.png',
true,
[
'class' => $uniq_name.'_toggler',
'alt' => __('List'),
'title' => __('List'),
'style' => 'width: 18px;',
]
).'</a>';
echo '</div>';
echo "<script type='text/javascript'>
$(document).ready (function () {
post_process_select_init('$uniq_name');
post_process_select_events('$uniq_name');
});
</script>";
$returnString = ob_get_clean();
if ($return) {
return $returnString;
} else {
echo $returnString;
}
}
/**
* Render a pair of select for times and text box for set the time more fine.
*
* @param string $name Select form name
* @param variant $selected Current selected value. Can be a single value or an array of selected values (in combination with multiple)
* @param string $script Javascript onChange (select) code.
* @param string $nothing Label when nothing is selected.
* @param variant $nothing_value Value when nothing is selected
* @param integer $size Size of the input.
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param boolean $select_style Wherter to assign to combo a unique name (to have more than one on same page, like dashboard)
* @param boolean $unique_name
* @param string $class
* @param boolean $readonly
* @param string $custom_fields
* @param string $style_icon
* @param boolean $no_change
* @param boolean $allow_zero Allow the use of the value zero.
* @return string HTML code if return parameter is true.
*/
function html_print_extended_select_for_time(
$name,
$selected='',
$script='',
$nothing='',
$nothing_value='0',
$size=false,
$return=false,
$select_style=false,
$unique_name=true,
$class='',
$readonly=false,
$custom_fields=false,
$style_icon='',
$no_change=false,
$allow_zero=false
) {
global $config;
$admin = is_user_admin($config['id_user']);
if ($custom_fields) {
$fields = $custom_fields;
} else {
$fields = get_periods(true, true, $allow_zero);
}
if ($no_change) {
$fields['-2'] = __('No change');
}
if (! $selected) {
foreach ($fields as $t_key => $t_value) {
if ($t_key != -1) {
if ($nothing == '') {
// -1 means 'custom'
$selected = $t_key;
break;
} else {
$selected = $nothing;
break;
}
}
}
}
// Allow the use of the value zero.
if ($allow_zero === true) {
$selected_zero = true;
} else {
$selected_zero = ($selected != 0) ? true : false;
}
if (($selected !== false) && (!isset($fields[$selected]) && $selected_zero)) {
$fields[$selected] = human_time_description_raw($selected, true);
}
$units = [
1 => __('seconds'),
SECONDS_1MINUTE => __('minutes'),
SECONDS_1HOUR => __('hours'),
SECONDS_1DAY => __('days'),
SECONDS_1WEEK => __('weeks'),
SECONDS_1MONTH => __('months'),
SECONDS_1YEAR => __('years'),
];
if ($unique_name === true) {
$uniq_name = uniqid($name);
} else {
$uniq_name = $name;
}
if ($readonly) {
$readonly = true;
}
ob_start();
2020-05-26 11:26:49 +02:00
// Use the no_meta parameter because this image is only in the base console.
echo '<div id="'.$uniq_name.'_default" style="width:100%;display:inline">';
html_print_select(
$fields,
$uniq_name.'_select',
$selected,
''.$script,
$nothing,
$nothing_value,
false,
false,
false,
$class,
$readonly,
'font-size: xx-small;'.$select_style
);
2020-05-26 11:26:49 +02:00
// The advanced control is only for admins.
if ($admin) {
echo ' <a href="javascript:">'.html_print_image(
'images/pencil.png',
true,
[
'class' => $uniq_name.'_toggler '.$class,
'alt' => __('Custom'),
'title' => __('Custom'),
2019-05-27 18:03:56 +02:00
'style' => 'width: 18px; margin-bottom: -5px;'.$style_icon,
],
false,
false,
true
).'</a>';
}
echo '</div>';
2020-05-26 11:26:49 +02:00
echo '<div id="'.$uniq_name.'_manual" style="width:100%;display:inline;">';
html_print_input_text($uniq_name.'_text', $selected, '', $size, 255, false, $readonly, false, '', $class);
html_print_input_hidden($name, $selected, false, $uniq_name);
html_print_select(
$units,
$uniq_name.'_units',
1,
''.$script,
$nothing,
$nothing_value,
false,
false,
false,
$class,
$readonly,
'font-size: xx-small;'.$select_style
);
echo ' <a href="javascript:">'.html_print_image(
'images/default_list.png',
true,
[
'class' => $uniq_name.'_toggler',
'alt' => __('List'),
'title' => __('List'),
2019-05-27 18:03:56 +02:00
'style' => 'width: 18px;margin-bottom: -5px;'.$style_icon,
]
).'</a>';
echo '</div>';
echo "<script type='text/javascript'>
$(document).ready (function () {
2020-05-26 11:26:49 +02:00
period_select_init('".$uniq_name."', ".(($allow_zero) ? 'true' : 'null').");
period_select_events('".$uniq_name."');
});
function period_select_".$name."_update(seconds) {
$('#text-".$uniq_name."_text').val(seconds);
adjustTextUnits('".$uniq_name."');
calculateSeconds('".$uniq_name."');
2020-05-26 11:26:49 +02:00
$('#".$uniq_name."_manual').show();
$('#".$uniq_name."_default').hide();
}
</script>";
$returnString = ob_get_clean();
if ($return) {
return $returnString;
} else {
echo $returnString;
}
}
/**
* Print selects to configure the cron of a module.
*
* @param string Run hour.
* @param string Run minute.
* @param string Run day of the month.
* @param string Run month.
* @param string Run day of the week.
* @param bool Whether to return an output string or echo now (optional, echo by default).
* @param bool Print cron grayed
*
* @return string HTML code if return parameter is true.
*/
function html_print_extended_select_for_cron($hour='*', $minute='*', $mday='*', $month='*', $wday='*', $return=false, $disabled=false, $to=false)
{
// Hours
for ($i = 0; $i < 24; $i++) {
$hours[$i] = $i;
}
// Minutes
2019-11-18 15:28:34 +01:00
for ($i = 0; $i < 60; $i++) {
$minutes[$i] = $i;
2019-11-18 15:28:34 +01:00
// If minute is not a multiple of 5, then add style to option in order to hide it from minute select but still is a valid value that input can adopt. We want this in case a value that is not a multiple of 5 is entered in module's data configuration.
if (($i % 5) != 0) {
$minutes_hidden_options[$i] = 'display: none;';
}
}
// Month days
2019-11-20 17:20:17 +01:00
for ($i = 1; $i <= 31; $i++) {
$mdays[$i] = $i;
}
// Months
for ($i = 1; $i <= 12; $i++) {
$months[$i] = date('F', mktime(0, 0, 0, $i, 1));
}
// Days of the week
$wdays = [
__('Sunday'),
__('Monday'),
__('Tuesday'),
__('Wednesday'),
__('Thursday'),
__('Friday'),
__('Saturday'),
];
// Print selectors
$table = new stdClass();
$table->id = 'cron';
$table->width = '100%';
$table->class = 'databox data';
$table->head[0] = __('Hour');
$table->head[1] = __('Minute');
$table->head[2] = __('Month day');
$table->head[3] = __('Month');
$table->head[4] = __('Week day');
if ($to) {
$table->data[0][0] = html_print_select($hours, 'hour_to', $hour, '', __('Any'), '*', true, false, false, '', $disabled);
2019-11-18 15:28:34 +01:00
$table->data[0][1] = html_print_select($minutes, 'minute_to', $minute, '', __('Any'), '*', true, false, false, '', $disabled, false, $minutes_hidden_options);
$table->data[0][2] = html_print_select($mdays, 'mday_to', $mday, '', __('Any'), '*', true, false, false, '', $disabled);
$table->data[0][3] = html_print_select($months, 'month_to', $month, '', __('Any'), '*', true, false, false, '', $disabled);
$table->data[0][4] = html_print_select($wdays, 'wday_to', $wday, '', __('Any'), '*', true, false, false, '', $disabled);
} else {
$table->data[0][0] = html_print_select($hours, 'hour_from', $hour, '', __('Any'), '*', true, false, false, '', $disabled);
2019-11-18 15:28:34 +01:00
$table->data[0][1] = html_print_select($minutes, 'minute_from', $minute, '', __('Any'), '*', true, false, false, '', $disabled, false, $minutes_hidden_options);
$table->data[0][2] = html_print_select($mdays, 'mday_from', $mday, '', __('Any'), '*', true, false, false, '', $disabled);
$table->data[0][3] = html_print_select($months, 'month_from', $month, '', __('Any'), '*', true, false, false, '', $disabled);
$table->data[0][4] = html_print_select($wdays, 'wday_from', $wday, '', __('Any'), '*', true, false, false, '', $disabled);
}
return html_print_table($table, $return);
}
/**
* Prints an input slide.
*
* @param string $name Name.
* @param integer $value Value.
* @param string $id Id.
* @param boolean $return Return.
* @param integer $min Min.
* @param integer $max Max.
* @param integer $step Step.
* @param string $class Class.
* @param string $oninput Oninput.
*
* @return string HTML code for input.
*/
function html_print_input_range(
$name,
$value,
$id='',
$return=true,
$min=0,
$max=100,
$step=1,
$class='',
$oninput=''
) {
$output = '<input type="range" ';
if (isset($value) === true) {
$output .= ' value="'.$value.'" ';
}
2020-07-07 11:54:55 +02:00
$output .= ' name="'.$name.'" ';
$output .= ' id="'.$id.'" ';
$output .= ' min="'.$min.'" ';
$output .= ' max="'.$max.'" ';
$output .= ' step="'.$step.'" ';
$output .= ' class="'.$class.'" ';
$output .= ' oninput="'.$oninput.'" ';
$output .= ' />';
2020-07-07 11:54:55 +02:00
if ($return === false) {
echo $return;
}
return $output;
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
2011-04-27 Juan Manuel Ramon <juanmanuel.ramon@artica.es> * include/functions_graph.php include/functions_users.php include/functions_events.php include/functions_html.php include/functions_menu.php include/styles/pandora.css include/graphs/functions_pchart.php include/functions_messages.php include/functions_exportserver.php include/functions_modules.php include/functions_reporting.php include/functions_filemanager.php include/functions_groups.php include/functions_gis.php include/functions_networkmap.php include/functions_servers.php include/functions_network_components.php include/functions_visual_map.php include/ajax/skins.ajax.php include/ajax/visual_console_builder.ajax.php include/help/en/help_gis_map_builder.php include/help/en/help_agent_status.php include/help/en/help_eventview.php include/help/en/help_configure_gis_map.php include/help/en/help_cascade_protection.php include/help/en/help_setup_gis_index.php include/help/es/help_gis_map_builder.php include/help/es/help_agent_status.php include/help/es/help_eventview.php include/help/es/help_configure_gis_map.php include/help/es/help_cascade_protection.php include/help/ja/help_gis_map_builder.php include/help/ja/help_agent_status.php include/help/ja/help_eventview.php include/help/ja/help_configure_gis_map.php include/help/ja/help_cascade_protection.php include/help/ja/help_setup_gis_index.php include/functions_ui.php include/functions_incidents.php include/functions.php include/functions_agents.php include/functions_db.php include/functions_fsgraph.php include/functions_extensions.php include/functions_ui_renders.php extensions/insert_data.php extensions/system_info.php extensions/extension_uploader.php extensions/agents_modules.php extensions/dbmanager.php extensions/resource_registration.php extensions/resource_exportation.php extensions/users_connected.php extensions/module_groups.php extensions/update_manager/settings.php extensions/update_manager/main.php operation/incidents/incident.incident.php operation/incidents/incident.php operation/incidents/incident.files.php operation/incidents/incident.tracking.php operation/incidents/incident_detail.php operation/incidents/incident.workunits.php operation/incidents/incident.list.php operation/search_modules.php operation/extensions.php operation/visual_console/render_view.php operation/visual_console/index.php operation/agentes/status_monitor.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/alerts_status.functions.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/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/search_agents.php operation/search_graphs.php operation/snmpconsole/snmp_view.php operation/users/user_edit.php operation/integria_incidents/incident.incident.php operation/integria_incidents/incident.php operation/integria_incidents/incident.files.php operation/integria_incidents/incident.tracking.php operation/integria_incidents/incident_detail.php operation/integria_incidents/incident.workunits.php operation/integria_incidents/incident.list.php operation/gis_maps/render_view.php operation/gis_maps/ajax.php operation/gis_maps/index.php operation/events/export_csv.php operation/events/sound_events.php operation/events/events_validate.php operation/events/events_list.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/reporting/custom_reporting.php operation/search_reports.php operation/search_maps.php operation/search_results.php operation/search_users.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/events/events.php mobile/operation/servers/view_servers.php mobile/include/user.class.php general/pandora_help.php general/noaccess.php general/login_page.php general/logon_ok.php general/logoff.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/extensions.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/agentes/agent_template.php godmode/agentes/module_manager_editor_common.php godmode/agentes/module_manager_editor_network.php godmode/agentes/fields_manager.php godmode/agentes/module_manager_editor_wmi.php godmode/agentes/module_manager_editor_plugin.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/snmpconsole/snmp_alert.php godmode/snmpconsole/snmp_filters.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/users/user_list.php godmode/users/configure_user.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/modules/manage_network_components_form_plugin.php godmode/reporting/reporting_builder.list_items.php godmode/reporting/graph_builder.main.php godmode/reporting/visual_console_builder.wizard.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/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: Now functions on functions_html.php, functions_gis.php, functions_filemanager.php, functions_exportserver.php have "html_", "gis_", "filemanager_" and "exportserver_" prefix respectively. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4281 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-27 15:43:31 +02:00
* Render an input text element. Extended version, use html_print_input_text() to simplify.
*
* @param string $name Input name.
* @param string $value Input value.
* @param string $id Input HTML id.
* @param string $alt Do not use, invalid for text and password. Use html_print_input_image
* @param integer $size Size of the input.
* @param integer $maxlength Maximum length allowed.
* @param boolean $disabled Disable the button (optional, button enabled by default).
* @param mixed $script JavaScript to attach to this. It is array the index is event to set a script, it is only string for "onkeyup" event.
* @param mixed $attributes Attributes to add to this tag. Should be an array for correction.
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param boolean $password Whether it is a password input or not. Not password by default.
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
2020-03-26 12:29:38 +01:00
function html_print_input_text_extended(
$name,
$value,
$id,
$alt,
$size,
$maxlength,
$readonly,
2020-03-26 12:29:38 +01:00
$script,
$attributes,
$return=false,
$password=false,
$function='',
$autocomplete='off',
$disabled=false
2020-03-26 12:29:38 +01:00
) {
static $idcounter = 0;
if ($maxlength == 0) {
$maxlength = 255;
}
2019-06-07 17:35:13 +02:00
if ($size === false) {
$size = '';
} else if ($size == 0) {
$size = 10;
}
++$idcounter;
$valid_attrs = [
'accept',
2020-03-26 12:29:38 +01:00
'autofocus',
'disabled',
'maxlength',
'name',
'readonly',
'placeholder',
'size',
'value',
'accesskey',
'class',
'dir',
'id',
'lang',
'style',
'tabindex',
'title',
'xml:lang',
'onfocus',
'onblur',
'onselect',
'onchange',
'onclick',
'ondblclick',
'onmousedown',
'onmouseup',
'onmouseover',
'onmousemove',
'onmouseout',
'onkeypress',
'onkeydown',
'onkeyup',
'required',
'autocomplete',
2020-04-13 15:41:00 +02:00
'form',
];
$output = '<input '.($password ? 'type="password" autocomplete="'.$autocomplete.'" ' : 'type="text" ');
if ($readonly && (!is_array($attributes) || !array_key_exists('readonly', $attributes))) {
$output .= 'readonly="readonly" ';
}
if ($disabled && (!is_array($attributes) || !array_key_exists('disabled', $attributes))) {
$output .= 'disabled="disabled" ';
}
if (is_array($attributes)) {
foreach ($attributes as $attribute => $attr_value) {
if (! in_array($attribute, $valid_attrs)) {
continue;
}
$output .= $attribute.'="'.$attr_value.'" ';
}
} else {
$output .= trim($attributes).' ';
$attributes = [];
}
if (!empty($alt)) {
$output .= 'alt="'.$alt.'" ';
}
2020-03-26 12:29:38 +01:00
// Attributes specified by function call.
$attrs = [
'name' => 'unnamed',
'value' => '',
'id' => 'text-'.sprintf('%04d', $idcounter),
'size' => '',
'maxlength' => '',
];
foreach ($attrs as $attribute => $default) {
if (array_key_exists($attribute, $attributes)) {
continue;
} //end if
/*
* Remember, this next code have a $$ that for example there is a var as
* $a = 'john' then $$a is a var $john .
*
* In this case is use for example for $name and $atribute = 'name' .
*
*/
// Exact operator because we want to show "0" on the value
if ($attribute !== '') {
$output .= $attribute.'="'.$$attribute.'" ';
} else if ($default != '') {
$output .= $attribute.'="'.$default.'" ';
}
}
if (!empty($script)) {
if (is_string($script)) {
$code = $script;
$script = [];
$script['onkeyup'] = $code;
}
foreach ($script as $event => $code) {
$output .= ' '.$event.'="'.$code.'" ';
}
}
$output .= $function.'/>';
if (!$return) {
echo $output;
}
return $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
/**
* Render an input password element.
*
* The element will have an id like: "password-$name"
*
* @param mixed parameters:
* - id: string
* - style: string
* - hidden: boolean
* - content: string
* @param bool return or echo flag
*
* @return string HTML code if return parameter is true.
*/
function html_print_div($options, $return=false)
{
$output = '<div';
// Valid attributes (invalid attributes get skipped)
$attrs = [
'id',
'style',
'class',
2020-06-30 12:16:51 +02:00
'title',
];
if (isset($options['hidden'])) {
if (isset($options['style'])) {
$options['style'] .= 'display:none;';
} else {
$options['style'] = 'display:none;';
}
}
foreach ($attrs as $attribute) {
if (isset($options[$attribute])) {
$output .= ' '.$attribute.'="'.io_safe_input_html($options[$attribute]).'"';
}
}
$output .= '>';
$output .= isset($options['content']) ? $options['content'] : '';
$output .= '</div>';
if ($return) {
return $output;
} else {
echo $output;
}
}
/**
* Render an input password element.
*
* The element will have an id like: "password-$name"
*
* @param string $name Input name.
* @param string $value Input value.
* @param string $alt Alternative HTML string (optional).
* @param integer $size Size of the input (optional).
* @param integer $maxlength Maximum length allowed (optional).
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param boolean $disabled Disable the button (optional, button enabled by default).
*
* @return string HTML code if return parameter is true.
*/
function html_print_input_password(
$name,
$value,
$alt='',
$size=50,
$maxlength=255,
$return=false,
$disabled=false,
$required=false,
$class='',
$autocomplete='off'
) {
if ($maxlength == 0) {
$maxlength = 255;
}
2019-06-07 17:35:13 +02:00
if ($size === false) {
$size = false;
} else if ($size == 0) {
$size = 10;
}
$attr = [];
if ($required) {
$attr['required'] = 'required';
}
if ($class) {
$attr['class'] = $class;
}
if ($disabled === false) {
// Trick to avoid password completion on most browsers.
if ($autocomplete !== 'on') {
$disabled = true;
$attr['onfocus'] = "this.removeAttribute('readonly');";
}
}
return html_print_input_text_extended($name, $value, 'password-'.$name, $alt, $size, $maxlength, $disabled, '', $attr, $return, true, '', $autocomplete);
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
* Render an input text element.
*
* The element will have an id like: "text-$name"
*
* @param string $name Input name.
* @param string $value Input value.
* @param string $alt Alternative HTML string (invalid - not used).
* @param integer $size Size of the input (optional).
* @param integer $maxlength Maximum length allowed (optional).
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param boolean $disabled Disable the button (optional, button enabled by default).
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
2020-03-26 12:29:38 +01:00
function html_print_input_text(
$name,
$value,
$alt='',
$size=50,
$maxlength=255,
$return=false,
$readonly=false,
2020-03-26 12:29:38 +01:00
$required=false,
$function='',
$class='',
$onChange='',
$autocomplete='',
$autofocus=false,
2020-04-13 15:41:00 +02:00
$onKeyDown='',
$formTo='',
$onKeyUp='',
$disabled=false
2020-03-26 12:29:38 +01:00
) {
if ($maxlength == 0) {
$maxlength = 255;
}
2019-06-07 17:35:13 +02:00
if ($size === false) {
$size = false;
} else if ($size == 0) {
$size = 10;
}
$attr = [];
if ($required) {
$attr['required'] = 'required';
}
if ($class != '') {
$attr['class'] = $class;
}
if ($onChange != '') {
$attr['onchange'] = $onChange;
}
if ($onKeyDown != '') {
$attr['onkeydown'] = $onKeyDown;
}
if ($onKeyUp != '') {
$attr['onkeyup'] = $onKeyUp;
}
if ($autocomplete !== '') {
$attr['autocomplete'] = $autocomplete;
}
2020-03-26 12:29:38 +01:00
if ($autofocus === true) {
$attr['autofocus'] = $autofocus;
}
2020-04-13 15:41:00 +02:00
if ($formTo != '') {
$attr['form'] = $formTo;
}
2020-03-26 12:29:38 +01:00
return html_print_input_text_extended(
$name,
$value,
'text-'.$name,
$alt,
$size,
$maxlength,
$readonly,
2020-03-26 12:29:38 +01:00
'',
$attr,
$return,
false,
$function,
'off',
$disabled
2020-03-26 12:29:38 +01:00
);
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
2019-10-24 17:42:37 +02:00
/**
* Render an input email element.
*
* @param array $settings Array with attributes input.
* only name is necessary.
*
* @return string Html input.
*/
function html_print_input_email(array $settings):string
{
// TODO: const.
$valid_attrs = [
'accept',
'disabled',
'maxlength',
'name',
'readonly',
'placeholder',
'size',
'value',
'accesskey',
'class',
'dir',
'id',
'lang',
'style',
'tabindex',
'title',
'xml:lang',
'onfocus',
'onblur',
'onselect',
'onchange',
'onclick',
'ondblclick',
'onmousedown',
'onmouseup',
'onmouseover',
'onmousemove',
'onmouseout',
'onkeypress',
'onkeydown',
'onkeyup',
'required',
'pattern',
'autocomplete',
];
$output = '';
if (isset($settings) === true && is_array($settings) === true) {
// Check Name is necessary.
if (isset($settings['name']) === true) {
$output = '<input type="email" ';
// Check Max length.
if (isset($settings['maxlength']) === false) {
$settings['maxlength'] = 255;
}
// Check Size.
if (isset($settings['size']) === false
|| $settings['size'] === 0
) {
$settings['size'] = 255;
}
foreach ($settings as $attribute => $attr_value) {
// Check valid attribute.
if (in_array($attribute, $valid_attrs) === false) {
continue;
}
$output .= $attribute.'="'.$attr_value.'" ';
}
$output .= $function.'/>';
}
}
return $output;
}
2019-11-12 13:16:25 +01:00
/**
* Render an input number element.
*
* @param array $settings Array with attributes input.
* only name is necessary.
*
* @return string
*/
function html_print_input_number(array $settings):string
{
// TODO: const.
$valid_attrs = [
'accept',
'disabled',
'maxlength',
'name',
'readonly',
'placeholder',
'size',
'value',
'accesskey',
'class',
'dir',
'id',
'lang',
'style',
'tabindex',
'title',
'xml:lang',
'onfocus',
'onblur',
'onselect',
'onchange',
'onclick',
'ondblclick',
'onmousedown',
'onmouseup',
'onmouseover',
'onmousemove',
'onmouseout',
'onkeypress',
'onkeydown',
'onkeyup',
'required',
'pattern',
'autocomplete',
2020-01-23 19:54:47 +01:00
'min',
'max',
2020-03-26 12:29:38 +01:00
'step',
2019-11-12 13:16:25 +01:00
];
$output = '';
if (isset($settings) === true && is_array($settings) === true) {
// Check Name is necessary.
if (isset($settings['name']) === true) {
$output = '<input type="number" ';
// Check Max length.
if (isset($settings['maxlength']) === false) {
$settings['maxlength'] = 255;
}
foreach ($settings as $attribute => $attr_value) {
// Check valid attribute.
if (in_array($attribute, $valid_attrs) === false) {
continue;
}
$output .= $attribute.'="'.$attr_value.'" ';
}
$output .= $function.'/>';
}
}
return $output;
}
/**
* Render an input image element.
*
* The element will have an id like: "image-$name"
*
* @param string $name Input name.
* @param string $src Image source.
* @param string $value Input value.
* @param string $style HTML style property.
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
*
* @return string HTML code if return parameter is true.
*/
function html_print_input_image($name, $src, $value, $style='', $return=false, $options=false)
{
global $config;
static $idcounter = 0;
++$idcounter;
// Checks if user's skin is available
$isFunctionSkins = enterprise_include_once('include/functions_skins.php');
if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) {
$skin_path = enterprise_hook('skins_get_image_path', [$src]);
if ($skin_path) {
$src = $skin_path;
}
}
// If metaconsole is activated and image doesn't exists try to search on normal console
if (is_metaconsole()) {
if (false === @file_get_contents($src, 0, null, 0, 1)) {
$src = '../../'.$src;
}
}
// path to image
$src = ui_get_full_url($src);
$output = '<input id="image-'.$name.$idcounter.'" src="'.$src.'" style="'.$style.'" name="'.$name.'" type="image"';
// Valid attributes (invalid attributes get skipped)
$attrs = [
'alt',
'accesskey',
'lang',
'tabindex',
'title',
'xml:lang',
'onclick',
'ondblclick',
'onmousedown',
'onmouseup',
'onmouseover',
'onmousemove',
'onmouseout',
'onkeypress',
'onkeydown',
'onkeyup',
2019-08-10 02:13:01 +02:00
'class',
];
foreach ($attrs as $attribute) {
if (isset($options[$attribute])) {
$output .= ' '.$attribute.'="'.io_safe_input_html($options[$attribute]).'"';
}
}
$output .= ' value="'.$value.'" />';
if ($return) {
return $output;
}
echo $output;
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
* Render an input hidden element.
*
* The element will have an id like: "hidden-$name"
*
2020-06-30 12:16:51 +02:00
* @param string $name Input name.
* @param string $value Input value.
* @param boolean $return Whether to return an output string or echo now
* (optional, echo by default).
* @param string $class Set the class of input.
* @param string $attributes String with the needed attributes to add.
* @param string $id Specific id.
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
2020-06-30 12:16:51 +02:00
function html_print_input_hidden(
$name,
$value,
$return=false,
$class=false,
$attributes=false,
$id=''
) {
if ($class !== false) {
$classText = 'class="'.$class.'"';
} else {
$classText = '';
}
2020-06-30 12:16:51 +02:00
if ($attributes !== false) {
$otherAttributes = $attributes;
} else {
$otherAttributes = '';
}
$separator = '"';
if (is_string($value)) {
if (strstr($value, '"')) {
$separator = "'";
}
}
2020-06-30 12:16:51 +02:00
$idInput = 'hidden-'.$name;
if (empty($id) === false) {
$idInput = $id;
}
$output = '<input id="'.$idInput.'" name="'.$name.'" type="hidden" '.$classText.' value='.$separator.$value.$separator.' '.$otherAttributes.'/>';
if ($return) {
return $output;
}
echo $output;
2012-09-12 Miguel de Dios <miguel.dedios@artica.es> * extensions/insert_data.php, operation/incidents/incident_detail.php: started to use the new function "ui_print_agent_autocomplete_input" to make more easy (and standar) the autocomplete agent input. * godmode/agentes/agent_manager.php: erased unused source code for old ajax call, and started to use the new function "ui_print_agent_autocomplete_input" to make more easy (and standar) the autocomplete agent input. * operation/agentes/exportdata.php: erased duplicated source code for call ajax, and rewrote some javascript to use same page to ajax. * godmode/alerts/alert_list.builder.php, godmode/events/event_edit_filter.php, godmode/reporting/visual_console_builder.editor.js: rewrote some javascript to use same page to ajax. * include/ajax/agent.php: cleaned source code style. * include/functions_ui.php: removed the old unused code as the functions "ui_print_ui_agents_list" and "ui_popup_help". And added the first version of "ui_print_agent_autocomplete_input", and this function maybe will be changing for a some time. * include/functions_html.php: into the function "html_print_input_text_extended" added code to use the $alt parameter (never it have been used before) and added the function "html_print_input_hidden_extended" with more parameters than the simple "html_print_input_hidden" function. * include/javascript/pandora.js: marked as Deprecated the function "agent_module_autocomplete". git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6965 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-09-12 17:53:58 +02:00
}
2012-09-12 Miguel de Dios <miguel.dedios@artica.es> * extensions/insert_data.php, operation/incidents/incident_detail.php: started to use the new function "ui_print_agent_autocomplete_input" to make more easy (and standar) the autocomplete agent input. * godmode/agentes/agent_manager.php: erased unused source code for old ajax call, and started to use the new function "ui_print_agent_autocomplete_input" to make more easy (and standar) the autocomplete agent input. * operation/agentes/exportdata.php: erased duplicated source code for call ajax, and rewrote some javascript to use same page to ajax. * godmode/alerts/alert_list.builder.php, godmode/events/event_edit_filter.php, godmode/reporting/visual_console_builder.editor.js: rewrote some javascript to use same page to ajax. * include/ajax/agent.php: cleaned source code style. * include/functions_ui.php: removed the old unused code as the functions "ui_print_ui_agents_list" and "ui_popup_help". And added the first version of "ui_print_agent_autocomplete_input", and this function maybe will be changing for a some time. * include/functions_html.php: into the function "html_print_input_text_extended" added code to use the $alt parameter (never it have been used before) and added the function "html_print_input_hidden_extended" with more parameters than the simple "html_print_input_hidden" function. * include/javascript/pandora.js: marked as Deprecated the function "agent_module_autocomplete". git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6965 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-09-12 17:53:58 +02:00
/**
* Render an input hidden element. Extended version, use html_print_input_hidden() to simplify.
*
* The element will have an id like: "hidden-$name"
*
* @param string $name Input name.
* @param string $value Input value.
* @param string $id Input value.
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param string $class Set the class of input.
2019-11-21 12:42:06 +01:00
* @param boolean $quotes Use simple quotes or double quotes.
2012-09-12 Miguel de Dios <miguel.dedios@artica.es> * extensions/insert_data.php, operation/incidents/incident_detail.php: started to use the new function "ui_print_agent_autocomplete_input" to make more easy (and standar) the autocomplete agent input. * godmode/agentes/agent_manager.php: erased unused source code for old ajax call, and started to use the new function "ui_print_agent_autocomplete_input" to make more easy (and standar) the autocomplete agent input. * operation/agentes/exportdata.php: erased duplicated source code for call ajax, and rewrote some javascript to use same page to ajax. * godmode/alerts/alert_list.builder.php, godmode/events/event_edit_filter.php, godmode/reporting/visual_console_builder.editor.js: rewrote some javascript to use same page to ajax. * include/ajax/agent.php: cleaned source code style. * include/functions_ui.php: removed the old unused code as the functions "ui_print_ui_agents_list" and "ui_popup_help". And added the first version of "ui_print_agent_autocomplete_input", and this function maybe will be changing for a some time. * include/functions_html.php: into the function "html_print_input_text_extended" added code to use the $alt parameter (never it have been used before) and added the function "html_print_input_hidden_extended" with more parameters than the simple "html_print_input_hidden" function. * include/javascript/pandora.js: marked as Deprecated the function "agent_module_autocomplete". git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6965 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-09-12 17:53:58 +02:00
*
* @return string HTML code if return parameter is true.
*/
2019-11-21 12:42:06 +01:00
function html_print_input_hidden_extended(
$name,
$value,
$id,
$return=false,
$class=false,
$quotes=false
) {
if ($class !== false) {
$classText = 'class="'.$class.'"';
} else {
$classText = '';
}
if (empty($id)) {
$ouput_id = 'hidden-'.$name;
} else {
$ouput_id = $id;
}
2019-11-21 12:42:06 +01:00
$quote = '"';
if ($quotes === true) {
$quote = "'";
}
$output = '<input id='.$quote.''.$ouput_id.''.$quote.' ';
$output .= ' name='.$quote.''.$name.''.$quote.' ';
$output .= ' type='.$quote.'hidden'.$quote.' '.$classText;
$output .= ' value='.$quote.''.$value.''.$quote.'';
$output .= ' />';
if ($return) {
return $output;
}
echo $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
/**
* Render a color input element.
*
* The element will have an id like: "hidden-$name"
*
* @param string $name Input name.
* @param integer $value Input value. Decimal representation of the color's hexadecimal value.
* @param string $class Set the class of input.
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
*
* @return string HTML code if return parameter is true.
*/
2020-01-22 12:48:31 +01:00
function html_print_input_color($name, $value, $id='', $class=false, $return=false)
{
$attr_type = 'type="color"';
2020-01-22 12:48:31 +01:00
if (empty($id) === true) {
$attr_id = 'id="color-'.htmlspecialchars($name, ENT_QUOTES).'"';
} else {
$attr_id = 'id="'.$id.'"';
}
$attr_name = 'name="'.htmlspecialchars($name, ENT_QUOTES).'"';
$attr_value = 'value="'.htmlspecialchars($value, ENT_QUOTES).'"';
$attr_class = 'class="'.($class !== false ? htmlspecialchars($class, ENT_QUOTES) : '').'"';
$output = '<input '.$attr_type.' '.$attr_id.' '.$attr_name.' '.$attr_value.' '.$attr_class.' />';
if ($return) {
return $output;
}
echo $output;
}
/**
* Render an submit input button element.
*
* The element will have an id like: "submit-$name"
*
* @param string $label Input label.
* @param string $name Input name.
* @param boolean $disabled Whether to disable by default or not. Enabled by default.
* @param array $attributes Additional HTML attributes.
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
*
* @return string HTML code if return parameter is true.
*/
function html_print_submit_button($label='OK', $name='', $disabled=false, $attributes='', $return=false)
{
if (!$name) {
$name = 'unnamed';
}
if (is_array($attributes)) {
$attr_array = $attributes;
$attributes = '';
foreach ($attr_array as $attribute => $value) {
$attributes .= $attribute.'="'.$value.'" ';
}
}
$output = '<input type="submit" id="submit-'.$name.'" name="'.$name.'" value="'.$label.'" '.$attributes;
if ($disabled) {
$output .= ' disabled="disabled"';
}
$output .= ' />';
if (!$return) {
echo $output;
}
return $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
/**
* Render an submit input button element.
*
* The element will have an id like: "button-$name"
*
* @param string $label Input label.
* @param string $name Input name.
* @param boolean $disabled Whether to disable by default or not. Enabled by default.
* @param string $script JavaScript to attach
* @param string $attributes Additional HTML attributes.
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param boolean $imageButton Set the button as a image button without text, by default is false.
*
* @return string HTML code if return parameter is true.
*/
function html_print_button($label='OK', $name='', $disabled=false, $script='', $attributes='', $return=false, $imageButton=false, $modal=false, $message='')
{
$output = '';
$alt = $title = '';
if ($imageButton) {
$alt = $title = $label;
$label = '';
}
$output .= '<input title="'.$title.'" alt="'.$alt.'" type="button" id="button-'.$name.'" name="'.$name.'" value="'.$label.'" onClick="'.$script.'" '.$attributes;
if ($disabled) {
$output .= ' disabled';
}
$output .= ' />';
if ($modal && !enterprise_installed()) {
$output .= "
<div id='".$message."' class='publienterprise' title='Community version' style='display:inline;position:relative;top:10px;left:0px;margin-top: -2px !important; margin-left: 2px !important;'><img data-title='Enterprise version' class='img_help forced_title' data-use_title_for_force_title='1' src='images/alert_enterprise.png'></div>
";
}
if ($return) {
return $output;
}
echo $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
/**
* Render an input textarea element.
*
* The element will have an id like: "textarea_$name"
*
* @param string $name Input name.
* @param integer $rows How many rows (height)
* @param integer $columns How many columns (width)
* @param string $value Text in the textarea
* @param string $attributes Additional attributes
* @param boolean $return Whether to return an output string or echo now (optional, echo by default). *
*
* @return string HTML code if return parameter is true.
*/
function html_print_textarea(
$name,
$rows,
$columns,
$value='',
$attributes='',
$return=false,
$class='',
$disable=false
) {
2020-04-20 15:19:28 +02:00
$disabled = ($disable) ? 'disabled' : '';
$output = '<textarea id="textarea_'.$name.'" name="'.$name.'" cols="'.$columns.'" rows="'.$rows.'" '.$attributes.' class="'.$class.'" '.$disabled.'>';
$output .= ($value);
$output .= '</textarea>';
if ($return) {
return $output;
}
echo $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
/**
* Return a table parameters predefined
*
* @param string model
* - Transparent: More basic template. No borders, all the columns with same width
* @param int number of columns
*
* @return object Table object
*/
function html_get_predefined_table($model='transparent', $columns=4)
{
$width_percent = (100 / $columns);
switch ($model) {
case 'transparent':
default:
$table = new stdClass();
$table->class = 'none';
$table->cellpadding = 0;
$table->cellspacing = 0;
$table->head = [];
$table->data = [];
$table->style = array_fill(0, 4, 'text-align:center; width: '.$width_percent.'%;');
$table->width = '100%';
}
return $table;
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
* Print a nicely formatted table. Code taken from moodle.
*
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
* @param object Object with several properties:
* $table->head - An array of heading names.
* $table->head_colspan - An array of colspans of each head column.
* $table->headstyle - An array of styles of each head column.
* $table->align - An array of column alignments
* $table->valign - An array of column alignments
* $table->size - An array of column sizes
* $table->wrap - An array of "nowrap"s or nothing
* $table->style - An array of personalized style for each column.
* $table->rowid - An array of personalized ids of each row.
* $table->rowstyle - An array of personalized style of each row.
* $table->rowclass - An array of personalized classes of each row (odd-evens classes will be ignored).
* $table->colspan - An array of colspans of each column.
* $table->rowspan - An array of rowspans of each column.
* $table->data[] - An array of arrays containing the data.
* $table->width - A percentage of the page
* $table->border - Border of the table.
* $table->tablealign - Align the whole table (float left or right)
* $table->cellpadding - Padding on each cell
* $table->cellspacing - Spacing between cells
* $table->cellstyle - Style of a cell
* $table->cellclass - Class of a cell
* $table->class - CSS table class
* $table->id - Table ID (useful in JavaScript)
* $table->headclass[] - An array of classes for each heading
* $table->title - Title of the table is a single string that will be on top of the table in the head spanning the whole table
* $table->titlestyle - Title style
* $table->titleclass - Title class
* $table->styleTable - Table style
2019-10-23 19:50:57 +02:00
* $table->autosize - Autosize
* $table->caption - Table title
* @param bool Whether to return an output string or echo now
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
function html_print_table(&$table, $return=false)
{
$output = '';
static $table_count = 0;
2020-03-26 17:05:19 +01:00
if (!isset($table)) {
$table = new StdClass();
}
$table_count++;
if (isset($table->align)) {
foreach ($table->align as $key => $aa) {
if ($aa) {
$align[$key] = ' text-align:'.$aa.';';
} else {
$align[$key] = '';
}
}
}
if (isset($table->valign)) {
foreach ($table->valign as $key => $aa) {
if ($aa) {
$valign[$key] = ' vertical-align:'.$aa.';';
} else {
$valign[$key] = '';
}
}
}
if (isset($table->size)) {
foreach ($table->size as $key => $ss) {
if ($ss) {
$size[$key] = ' width:'.$ss.';';
} else {
$size[$key] = '';
}
}
}
if (isset($table->style)) {
foreach ($table->style as $key => $st) {
if ($st) {
$style[$key] = ' '.$st.';';
} else {
$style[$key] = '';
}
}
}
$styleTable = '';
if (isset($table->styleTable)) {
$styleTable = $table->styleTable;
}
if (isset($table->rowid)) {
foreach ($table->rowid as $key => $id) {
$rowid[$key] = $id;
}
}
if (isset($table->rowstyle)) {
foreach ($table->rowstyle as $key => $st) {
$rowstyle[$key] = ' '.$st.';';
}
}
if (isset($table->rowclass)) {
foreach ($table->rowclass as $key => $class) {
$rowclass[$key] = $class;
}
}
if (isset($table->colspan)) {
foreach ($table->colspan as $keyrow => $cspan) {
foreach ($cspan as $key => $span) {
$colspan[$keyrow][$key] = ' colspan="'.$span.'"';
}
}
}
if (isset($table->cellstyle)) {
foreach ($table->cellstyle as $keyrow => $cstyle) {
foreach ($cstyle as $key => $cst) {
$cellstyle[$keyrow][$key] = $cst;
}
}
}
if (isset($table->cellclass)) {
foreach ($table->cellclass as $keyrow => $cclass) {
foreach ($cclass as $key => $ccl) {
$cellclass[$keyrow][$key] = $ccl;
}
}
}
if (isset($table->rowspan)) {
foreach ($table->rowspan as $keyrow => $rspan) {
foreach ($rspan as $key => $span) {
$rowspan[$keyrow][$key] = ' rowspan="'.$span.'"';
}
}
}
if (empty($table->width)) {
// $table->width = '80%';
}
2019-10-23 19:50:57 +02:00
if (isset($table->autosize) === true) {
$table->autosize = 'autosize = "1"';
} else {
$table->autosize = '';
}
if (empty($table->border)) {
if (empty($table)) {
$table = new stdClass();
}
$table->border = '0';
}
if (empty($table->tablealign) || (($table->tablealign != 'left') && ($table->tablealign != 'right'))) {
$table->tablealign = '"';
} else {
$table->tablealign = 'float:'.$table->tablealign.';"';
// Align is deprecated. Use float instead
}
if (!isset($table->cellpadding)) {
$table->cellpadding = '4';
}
if (!isset($table->cellspacing)) {
$table->cellspacing = '4';
}
if (empty($table->class)) {
$table->class = 'databox';
}
if (empty($table->titlestyle)) {
$table->titlestyle = 'text-align:center;';
}
$tableid = empty($table->id) ? 'table'.$table_count : $table->id;
if (!empty($table->width)) {
2019-10-23 19:50:57 +02:00
$output .= '<table '.$table->autosize.' style="width:'.$table->width.'; '.$styleTable.' '.$table->tablealign;
} else {
2019-10-23 19:50:57 +02:00
$output .= '<table '.$table->autosize.' style="'.$styleTable.' '.$table->tablealign;
}
$output .= ' cellpadding="'.$table->cellpadding.'" cellspacing="'.$table->cellspacing.'"';
$output .= ' border="'.$table->border.'" class="'.$table->class.'" id="'.$tableid.'">';
$countcols = 0;
if (!empty($table->caption)) {
$output .= '<caption style="text-align: left"><h4>'.$table->caption.'</h4></caption>';
}
if (!empty($table->head)) {
$countcols = count($table->head);
$output .= '<thead><tr>';
if (isset($table->title)) {
$output .= '<th colspan="'.$countcols.'"';
if (isset($table->titlestyle)) {
$output .= ' style="'.$table->titlestyle.'"';
}
if (isset($table->titleclass)) {
$output .= ' class="'.$table->titleclass.'"';
}
$output .= '>'.$table->title.'</th></tr><tr>';
}
foreach ($table->head as $key => $heading) {
if (!isset($size[$key])) {
$size[$key] = '';
}
if (!isset($align[$key])) {
$align[$key] = '';
}
if (!isset($table->headclass[$key])) {
$table->headclass[$key] = 'header c'.$key;
}
if (isset($table->head_colspan[$key])) {
$headColspan = 'colspan = "'.$table->head_colspan[$key].'"';
} else {
$headColspan = '';
}
if (isset($table->headstyle[$key])) {
$headStyle = ' style = "'.$table->headstyle[$key].'" ';
} else {
$headStyle = '';
}
$output .= '<th class="'.$table->headclass[$key].'" '.$headColspan.$headStyle.' scope="col">'.$heading.'</th>';
}
$output .= '</tr></thead>'."\n";
}
$output .= '<tbody>'."\n";
if (!empty($table->data)) {
$oddeven = 1;
foreach ($table->data as $keyrow => $row) {
if (!isset($rowstyle[$keyrow])) {
$rowstyle[$keyrow] = '';
}
if (!isset($rowid[$keyrow])) {
$rowid[$keyrow] = $tableid.'-'.$keyrow;
}
$oddeven = $oddeven ? 0 : 1;
$class = 'datos'.($oddeven ? '' : '2');
if (isset($rowclass[$keyrow])) {
$class = $rowclass[$keyrow];
}
$output .= '<tr id="'.$rowid[$keyrow].'" style="'.$rowstyle[$keyrow].'" class="'.$class.'">'."\n";
// Special separator rows
if ($row == 'hr' and $countcols) {
$output .= '<td colspan="'.$countcols.'"><div class="tabledivider"></div></td>';
continue;
}
if (!is_array($row)) {
$row = (array) $row;
}
// It's a normal row
foreach ($row as $key => $item) {
if (!isset($size[$key])) {
$size[$key] = '';
}
if (!isset($cellstyle[$keyrow][$key])) {
$cellstyle[$keyrow][$key] = '';
}
if (!isset($cellclass[$keyrow][$key])) {
$cellclass[$keyrow][$key] = '';
}
if (!isset($colspan[$keyrow][$key])) {
$colspan[$keyrow][$key] = '';
}
if (!isset($rowspan[$keyrow][$key])) {
$rowspan[$keyrow][$key] = '';
}
if (!isset($align[$key])) {
$align[$key] = '';
}
if (!isset($valign[$key])) {
$valign[$key] = '';
}
if (!isset($wrap[$key])) {
$wrap[$key] = '';
}
if (!isset($style[$key])) {
$style[$key] = '';
}
2020-06-15 16:57:19 +02:00
if ($class === 'datos5' && $key === 1) {
2020-07-16 15:57:28 +02:00
$output .= '<td id="'.$tableid.'-'.$keyrow.'-'.$key.'" style="'.$cellstyle[$keyrow][$key].$style[$key].$valign[$key].$align[$key].$size[$key].$wrap[$key].$colspan[$keyrow][$key].' '.$rowspan[$keyrow][$key].' class="'.$class.' '.$cellclass[$keyrow][$key].'">'.$item.'</td>'."\n";
2020-06-15 16:57:19 +02:00
} else {
$output .= '<td id="'.$tableid.'-'.$keyrow.'-'.$key.'" style="'.$cellstyle[$keyrow][$key].$style[$key].$valign[$key].$align[$key].$size[$key].$wrap[$key].'" '.$colspan[$keyrow][$key].' '.$rowspan[$keyrow][$key].' class="'.$class.' '.$cellclass[$keyrow][$key].'">'.$item.'</td>'."\n";
}
}
$output .= '</tr>'."\n";
}
}
$output .= '</tbody></table>'."\n";
if ($return) {
return $output;
}
echo $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
2019-11-07 17:26:32 +01:00
* Render a radio button input. Extended version, use html_print_input()
* to simplify.
*
* @param string $name Input name.
* @param string $value Input value.
* @param string $label Set the button to be marked (optional, unmarked by default).
* @param string $checkedvalue Checked value.
* @param string $disabled Disable the button (optional, button enabled by default).
* @param string $script Script to execute when onClick event is triggered (optional).
* @param string $attributes Optional HTML attributes. It's a free string which will be inserted tag, use it carefully (optional).
* @param string $returnparam Whether to return an output string or echo now (optional, echo by default).
* @param string $modalparam Modal param.
* @param string $message Message.
* @param string $id Use custom id.
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
2019-11-07 17:26:32 +01:00
function html_print_radio_button_extended(
$name,
$value,
$label,
$checkedvalue,
$disabled,
$script,
$attributes,
$return=false,
$modal=false,
$message='visualmodal',
$id=null
) {
static $idcounter = 0;
$output = '';
$output = '<input type="radio" name="'.$name.'" value="'.$value.'"';
2019-11-07 17:26:32 +01:00
if (empty($id) === false) {
$htmlid = $id;
} else {
$htmlid = 'radiobtn'.sprintf('%04d', ++$idcounter);
}
$output .= ' id="'.$htmlid.'"';
if ($value == $checkedvalue) {
$output .= ' checked="checked"';
}
if ($disabled) {
$output .= ' disabled="disabled"';
}
if ($script != '') {
$output .= ' onClick="'.$script.'"';
}
$output .= ' '.$attributes;
$output .= ' />';
if (is_array($label)) {
if (!empty($label)) {
$output .= '<label for="'.$htmlid.'" title="'.$label['help_tip'].'">'.$label['label'].'</label>'."\n";
}
} else {
if ($label != '') {
$output .= '<label for="'.$htmlid.'">'.$label.'</label>'."\n";
}
}
if ($modal && !enterprise_installed()) {
$output .= "
<div id='".$message."' class='publienterprise' title='Community version' style='display:inline;position:relative;top:10px;left:0px;margin-top: -2px !important; margin-left: 2px !important;'><img data-title='Enterprise version' class='img_help forced_title' data-use_title_for_force_title='1' src='images/alert_enterprise.png'></div>
";
}
if ($return) {
return $output;
}
echo $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
* Render a radio button input.
*
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
* @param string Input name.
* @param string Input value.
* @param string Label to add after the radio button (optional).
* @param string Checked and selected value, the button will be selected if it matches $value (optional).
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
* @param bool Whether to return an output string or echo now (optional, echo by default).
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
function html_print_radio_button($name, $value, $label='', $checkedvalue='', $return=false, $disabled=false)
{
$output = html_print_radio_button_extended($name, $value, $label, $checkedvalue, $disabled, '', '', true);
if ($return) {
return $output;
}
echo $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
2011-04-27 Juan Manuel Ramon <juanmanuel.ramon@artica.es> * include/functions_graph.php include/functions_users.php include/functions_events.php include/functions_html.php include/functions_menu.php include/styles/pandora.css include/graphs/functions_pchart.php include/functions_messages.php include/functions_exportserver.php include/functions_modules.php include/functions_reporting.php include/functions_filemanager.php include/functions_groups.php include/functions_gis.php include/functions_networkmap.php include/functions_servers.php include/functions_network_components.php include/functions_visual_map.php include/ajax/skins.ajax.php include/ajax/visual_console_builder.ajax.php include/help/en/help_gis_map_builder.php include/help/en/help_agent_status.php include/help/en/help_eventview.php include/help/en/help_configure_gis_map.php include/help/en/help_cascade_protection.php include/help/en/help_setup_gis_index.php include/help/es/help_gis_map_builder.php include/help/es/help_agent_status.php include/help/es/help_eventview.php include/help/es/help_configure_gis_map.php include/help/es/help_cascade_protection.php include/help/ja/help_gis_map_builder.php include/help/ja/help_agent_status.php include/help/ja/help_eventview.php include/help/ja/help_configure_gis_map.php include/help/ja/help_cascade_protection.php include/help/ja/help_setup_gis_index.php include/functions_ui.php include/functions_incidents.php include/functions.php include/functions_agents.php include/functions_db.php include/functions_fsgraph.php include/functions_extensions.php include/functions_ui_renders.php extensions/insert_data.php extensions/system_info.php extensions/extension_uploader.php extensions/agents_modules.php extensions/dbmanager.php extensions/resource_registration.php extensions/resource_exportation.php extensions/users_connected.php extensions/module_groups.php extensions/update_manager/settings.php extensions/update_manager/main.php operation/incidents/incident.incident.php operation/incidents/incident.php operation/incidents/incident.files.php operation/incidents/incident.tracking.php operation/incidents/incident_detail.php operation/incidents/incident.workunits.php operation/incidents/incident.list.php operation/search_modules.php operation/extensions.php operation/visual_console/render_view.php operation/visual_console/index.php operation/agentes/status_monitor.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/alerts_status.functions.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/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/search_agents.php operation/search_graphs.php operation/snmpconsole/snmp_view.php operation/users/user_edit.php operation/integria_incidents/incident.incident.php operation/integria_incidents/incident.php operation/integria_incidents/incident.files.php operation/integria_incidents/incident.tracking.php operation/integria_incidents/incident_detail.php operation/integria_incidents/incident.workunits.php operation/integria_incidents/incident.list.php operation/gis_maps/render_view.php operation/gis_maps/ajax.php operation/gis_maps/index.php operation/events/export_csv.php operation/events/sound_events.php operation/events/events_validate.php operation/events/events_list.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/reporting/custom_reporting.php operation/search_reports.php operation/search_maps.php operation/search_results.php operation/search_users.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/events/events.php mobile/operation/servers/view_servers.php mobile/include/user.class.php general/pandora_help.php general/noaccess.php general/login_page.php general/logon_ok.php general/logoff.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/extensions.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/agentes/agent_template.php godmode/agentes/module_manager_editor_common.php godmode/agentes/module_manager_editor_network.php godmode/agentes/fields_manager.php godmode/agentes/module_manager_editor_wmi.php godmode/agentes/module_manager_editor_plugin.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/snmpconsole/snmp_alert.php godmode/snmpconsole/snmp_filters.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/users/user_list.php godmode/users/configure_user.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/modules/manage_network_components_form_plugin.php godmode/reporting/reporting_builder.list_items.php godmode/reporting/graph_builder.main.php godmode/reporting/visual_console_builder.wizard.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/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: Now functions on functions_html.php, functions_gis.php, functions_filemanager.php, functions_exportserver.php have "html_", "gis_", "filemanager_" and "exportserver_" prefix respectively. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4281 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-27 15:43:31 +02:00
* Render a checkbox button input. Extended version, use html_print_checkbox() to simplify.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*
2019-11-22 20:49:46 +01:00
* @param string $name Input name.
* @param string $value Input value.
* @param string $checked Set the button to be marked (optional, unmarked by default).
* @param boolean $disabled Disable the button (optional, button enabled by default).
* @param string $script Script to execute when onClick event is triggered (optional).
* @param string $attributes Optional HTML attributes. It's a free string which will be inserted into the HTML tag, use it carefully (optional).
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param string $id Custom id.
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
2019-11-22 20:49:46 +01:00
function html_print_checkbox_extended(
$name,
$value,
$checked,
$disabled,
$script,
$attributes,
$return=false,
$id=''
) {
static $idcounter = [];
// If duplicate names exist, it will start numbering. Otherwise it won't
if (isset($idcounter[$name])) {
$idcounter[$name]++;
} else {
$idcounter[$name] = 0;
}
$id_aux = preg_replace('/[^a-z0-9\:\;\-\_]/i', '', $name.($idcounter[$name] ? $idcounter[$name] : ''));
$output = '<input name="'.$name.'" type="checkbox" value="'.$value.'" '.($checked ? 'checked="checked"' : '');
if ($id == '') {
$output .= ' id="checkbox-'.$id_aux.'"';
} else {
2019-11-22 20:49:46 +01:00
$output .= ' id="'.$id.'"';
}
if ($script != '') {
$output .= ' onclick="'.$script.'"';
}
if ($disabled) {
$output .= ' disabled="disabled"';
}
$output .= ' '.$attributes;
$output .= ' />';
$output .= "\n";
if ($return === false) {
echo $output;
}
return $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
/**
* Render a checkbox button input.
*
2019-11-22 20:49:46 +01:00
* @param string $name Input name.
* @param string $value Input value.
* @param string $checked Set the button to be marked (optional, unmarked by default).
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param boolean $disabled Disable the button (optional, button enabled by default).
* @param string $script Script.
* @param string $disabled_hidden Disabled_hidden.
* @param string $attributes Extra attributes.
* @param string $id Custom ID.
*
* @return string HTML code if return parameter is true.
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
*/
2019-11-22 20:49:46 +01:00
function html_print_checkbox(
$name,
$value,
$checked=false,
$return=false,
$disabled=false,
$script='',
$disabled_hidden=false,
$attributes='',
$id=''
) {
$output = html_print_checkbox_extended(
$name,
$value,
(bool) $checked,
$disabled,
$script,
$attributes,
true,
$id
);
if (!$disabled_hidden) {
$output .= html_print_input_hidden($name.'_sent', 1, true);
}
if ($return === false) {
echo $output;
}
return $output;
2008-06-15 Esteban Sanchez <estebans@artica.es> * include/functions_html.php: Added to repository. Implements HTML functions. * reporting/fgraph.php: Many style correction fixes, including those regardings tabs and blank spaces, variable names and indentation levels for checkings. Improved dame_fecha(). Added date support to graphic_combined_module(), grafico_modulo_sparse(). The selection of the graphic to show based on parameters has been replaced by a switch. The parameters are parsed with get_parameter() * include/functions_db.php: Style correction of tabs and blanks spaces. Use Pandora database functions on simple querying functions such as dame_perfil(), give_disabled_group(), dame_grupo(), give_note_author(), dame_agente_id(), dame_agente_modulo_id() and many more, there are a lot more to change. Function comprueba_admin() renamed to check_admin (wrap created for old function). Added some checks to get_db_value(), get_db_row() so the SQL is build based on the parameter types. Added get_db_all_rows_sqlfree(), get_db_all_rows_in_table(), get_db_all_rows_field_filter(), get_db_all_fields_in_table(). Added date support to return_moduledata_avg_value(), return_moduledata_max_value(), return_moduledata_min_value(). Added function return_moduledata_sum_value() to get the sum of the values in a module. * include/functions.php: If input is numeric on safe_input, do not clean it, since it's safe by itself. Use mysql_escape_string() on salida_sql(). Added get_report_types(), get_report_name(), get_report_type_data_source() relatives to reports. Added also is_module_data(), is_module_proc(), is_module_inc(), is_module_data_string() to know if a module is from a type. Replaced form_priority() with get_event_types() so the caller of this function will print the select (using print_select). * operation/events/events.php: Replaced form_priorit() with get_event_types(). * ChangeLog: Tab style correction with previous commit. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-16 12:45:08 +02:00
}
/**
2020-06-30 12:16:51 +02:00
* Render a checkbox button input switch type.
* Extended version, use html_print_checkbox_switch() to simplify.
*
2020-06-30 12:16:51 +02:00
* @param string $name Input name.
* @param integer $value Input value.
* @param integer $checked Input checked.
* @param boolean $disabled Disable the button (optional,
* button enabled by default).
* @param string $script Script to execute when onClick event
* is triggered (optional).
* @param string $attributes Optional HTML attributes.
* It's a free string which will be.
* @param boolean $return Whether to return an output string or echo now
* (optional, echo by default).
* @param string $id Input id.
* @param string $classParent Class for label.
*
2020-06-30 12:16:51 +02:00
* @return string Input html.
*/
2020-06-30 12:16:51 +02:00
function html_print_checkbox_switch_extended(
$name,
$value,
$checked,
$disabled=false,
$script='',
$attributes='',
$return=false,
$id='',
$classParent=''
) {
static $idcounter = [];
2020-06-30 12:16:51 +02:00
// If duplicate names exist, it will start numbering. Otherwise it won't.
if (isset($idcounter[$name])) {
$idcounter[$name]++;
} else {
$idcounter[$name] = 0;
}
2020-06-30 12:16:51 +02:00
$id_aux = preg_replace(
'/[^a-z0-9\:\;\-\_]/i',
'',
$name.($idcounter[$name] ? $idcounter[$name] : '')
);
2020-06-30 12:16:51 +02:00
$output = '<label class="p-switch '.$classParent.'">';
$output .= '<input name="'.$name.'" type="checkbox" value="'.$value.'" '.($checked ? 'checked="checked"' : '');
if ($id == '') {
$output .= ' id="checkbox-'.$id_aux.'"';
} else {
$output .= ' '.$id.'"';
}
if ($script != '') {
$output .= ' onclick="'.$script.'"';
}
if ($disabled) {
$output .= ' disabled="disabled"';
}
$output .= ' '.$attributes;
$output .= ' /><span class="p-slider"></span></label>';
$output .= "\n";
if ($return === false) {
echo $output;
}
return $output;
}
/**
* Render a checkbox button input switch type.
*
* @param string Input name.
* @param string Input value.
* @param string Set the button to be marked (optional, unmarked by default).
* @param bool Whether to return an output string or echo now (optional, echo by default).
* @param boolean $disabled Disable the button (optional, button enabled by default).
*
* @return string HTML code if return parameter is true.
*/
function html_print_checkbox_switch($name, $value, $checked=false, $return=false, $disabled=false, $script='', $disabled_hidden=false)
{
$output = html_print_checkbox_switch_extended($name, $value, (bool) $checked, $disabled, $script, '', true);
if (!$disabled_hidden) {
$output .= html_print_input_hidden($name.'_sent', 1, true);
}
if ($return === false) {
echo $output;
}
return $output;
}
/**
* Prints an image HTML element.
*
* @param string $src Image source filename.
* @param boolean $return Whether to return or print.
* @param array $options Array with optional HTML options to set.
* At this moment, the following options are supported:
* align, border, hspace, ismap, vspace, style, title, height,
* longdesc, usemap, width, id, class, lang, xml:lang, onclick,
* ondblclick, onmousedown, onmouseup, onmouseover, onmousemove,
* onmouseout, onkeypress, onkeydown, onkeyup, pos_tree, alt.
* @param boolean $return_src Whether to return src field of image
* ('images/*.*') or complete html img tag ('<img src="..." alt="...">').
* @param boolean $relative Whether to use relative path to image or not
* (i.e. $relative= true : /pandora/<img_src>).
* @param boolean $no_in_meta Do not show on metaconsole folder at first. Go
* directly to the node.
* @param boolean $isExternalLink Do not shearch for images in Pandora.
*
* @return string HTML code if return parameter is true.
*/
function html_print_image(
$src,
$return=false,
$options=false,
$return_src=false,
$relative=false,
$no_in_meta=false,
$isExternalLink=false
) {
global $config;
// If metaconsole is in use then don't use skins.
if (!is_metaconsole()) {
// Checks if user's skin is available.
$isFunctionSkins = enterprise_include_once('include/functions_skins.php');
if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) {
$skin_path = enterprise_hook('skins_get_image_path', [$src]);
if ($skin_path) {
$src = $skin_path;
}
}
}
// If metaconsole is activated and image doesn't exists try to search on normal console.
if (is_metaconsole()) {
if (!$relative) {
$working_dir = str_replace('\\', '/', getcwd());
// Windows compatibility.
if ($no_in_meta) {
$src = '../../'.$src;
} else if (strstr($working_dir, 'enterprise/meta') === false) {
if ($src[0] !== '/') {
$src = '/'.$src;
}
if (!is_readable($working_dir.'/enterprise/meta'.$src)) {
if ($isExternalLink) {
2019-09-05 11:58:15 +02:00
$src = ui_get_full_url($src, false, false, false);
} else {
$src = ui_get_full_url('../..'.$src);
}
} else {
$src = ui_get_full_url($src);
}
} else {
if ($src[0] !== '/') {
$src = '/'.$src;
}
if (is_readable($working_dir.$src)) {
$src = ui_get_full_url($src);
} else if (!is_readable($src)) {
$src = ui_get_full_url('../../'.$src);
}
}
} else {
$src = '../../'.$src;
}
} else {
if (!$relative) {
$src_tmp = $src;
$src = ui_get_full_url($src);
}
}
// Only return src field of image.
if ($return_src) {
if (!$return) {
echo io_safe_input($src);
return null;
}
return io_safe_input($src);
}
$output = '<img src="'.$src.'" ';
// Dont use safe_input here or the performance will dead.
$style = '';
if (!empty($options)) {
// Deprecated or value-less attributes.
if (isset($options['align'])) {
$style .= 'align:'.$options['align'].';';
// Align is deprecated, use styles.
}
if (isset($options['border'])) {
$style .= 'border:'.$options['border'].'px;';
// Border is deprecated, use styles.
}
if (isset($options['hspace'])) {
$style .= 'margin-left:'.$options['hspace'].'px;';
// hspace is deprecated, use styles.
$style .= 'margin-right:'.$options['hspace'].'px;';
}
if (isset($options['ismap'])) {
$output .= 'ismap="ismap" ';
// Defines the image as a server-side image map.
}
if (isset($options['vspace'])) {
$style .= 'margin-top:'.$options['vspace'].'px;';
// hspace is deprecated, use styles.
$style .= 'margin-bottom:'.$options['vspace'].'px;';
}
if (isset($options['style'])) {
$style .= $options['style'];
}
// If title is provided activate forced title.
if (isset($options['title']) && $options['title'] != '') {
if (isset($options['class'])) {
$options['class'] .= ' forced_title';
} else {
$options['class'] = 'forced_title';
}
// New way to show the force_title (cleaner and better performance).
$output .= 'data-title="'.io_safe_input_html($options['title']).'" ';
$output .= 'data-use_title_for_force_title="1" ';
}
// Valid attributes (invalid attributes get skipped).
$attrs = [
'height',
'longdesc',
'usemap',
'width',
'id',
'class',
'lang',
'xml:lang',
'onclick',
'ondblclick',
'onmousedown',
'onmouseup',
'onmouseover',
'onmousemove',
'onmouseout',
'onkeypress',
'onkeydown',
'onkeyup',
'pos_tree',
];
foreach ($attrs as $attribute) {
if (isset($options[$attribute])) {
$output .= $attribute.'="'.io_safe_input_html($options[$attribute]).'" ';
}
}
} else {
$options = [];
}
if (!isset($options['alt']) && isset($options['title'])) {
$options['alt'] = io_safe_input_html($options['title']);
// Set alt to title if it's not set.
}
if (!empty($style)) {
$output .= 'style="'.$style.'" ';
}
if (isset($options['alt'])) {
$output .= 'alt="'.io_safe_input_html($options['alt']).'" />';
} else {
$output .= '/>';
}
if (!$return) {
echo $output;
}
return $output;
}
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
/**
2011-04-27 Juan Manuel Ramon <juanmanuel.ramon@artica.es> * include/functions_graph.php include/functions_users.php include/functions_events.php include/functions_html.php include/functions_menu.php include/styles/pandora.css include/graphs/functions_pchart.php include/functions_messages.php include/functions_exportserver.php include/functions_modules.php include/functions_reporting.php include/functions_filemanager.php include/functions_groups.php include/functions_gis.php include/functions_networkmap.php include/functions_servers.php include/functions_network_components.php include/functions_visual_map.php include/ajax/skins.ajax.php include/ajax/visual_console_builder.ajax.php include/help/en/help_gis_map_builder.php include/help/en/help_agent_status.php include/help/en/help_eventview.php include/help/en/help_configure_gis_map.php include/help/en/help_cascade_protection.php include/help/en/help_setup_gis_index.php include/help/es/help_gis_map_builder.php include/help/es/help_agent_status.php include/help/es/help_eventview.php include/help/es/help_configure_gis_map.php include/help/es/help_cascade_protection.php include/help/ja/help_gis_map_builder.php include/help/ja/help_agent_status.php include/help/ja/help_eventview.php include/help/ja/help_configure_gis_map.php include/help/ja/help_cascade_protection.php include/help/ja/help_setup_gis_index.php include/functions_ui.php include/functions_incidents.php include/functions.php include/functions_agents.php include/functions_db.php include/functions_fsgraph.php include/functions_extensions.php include/functions_ui_renders.php extensions/insert_data.php extensions/system_info.php extensions/extension_uploader.php extensions/agents_modules.php extensions/dbmanager.php extensions/resource_registration.php extensions/resource_exportation.php extensions/users_connected.php extensions/module_groups.php extensions/update_manager/settings.php extensions/update_manager/main.php operation/incidents/incident.incident.php operation/incidents/incident.php operation/incidents/incident.files.php operation/incidents/incident.tracking.php operation/incidents/incident_detail.php operation/incidents/incident.workunits.php operation/incidents/incident.list.php operation/search_modules.php operation/extensions.php operation/visual_console/render_view.php operation/visual_console/index.php operation/agentes/status_monitor.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/alerts_status.functions.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/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/search_agents.php operation/search_graphs.php operation/snmpconsole/snmp_view.php operation/users/user_edit.php operation/integria_incidents/incident.incident.php operation/integria_incidents/incident.php operation/integria_incidents/incident.files.php operation/integria_incidents/incident.tracking.php operation/integria_incidents/incident_detail.php operation/integria_incidents/incident.workunits.php operation/integria_incidents/incident.list.php operation/gis_maps/render_view.php operation/gis_maps/ajax.php operation/gis_maps/index.php operation/events/export_csv.php operation/events/sound_events.php operation/events/events_validate.php operation/events/events_list.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/reporting/custom_reporting.php operation/search_reports.php operation/search_maps.php operation/search_results.php operation/search_users.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/events/events.php mobile/operation/servers/view_servers.php mobile/include/user.class.php general/pandora_help.php general/noaccess.php general/login_page.php general/logon_ok.php general/logoff.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/extensions.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/agentes/agent_template.php godmode/agentes/module_manager_editor_common.php godmode/agentes/module_manager_editor_network.php godmode/agentes/fields_manager.php godmode/agentes/module_manager_editor_wmi.php godmode/agentes/module_manager_editor_plugin.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/snmpconsole/snmp_alert.php godmode/snmpconsole/snmp_filters.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/users/user_list.php godmode/users/configure_user.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/modules/manage_network_components_form_plugin.php godmode/reporting/reporting_builder.list_items.php godmode/reporting/graph_builder.main.php godmode/reporting/visual_console_builder.wizard.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/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: Now functions on functions_html.php, functions_gis.php, functions_filemanager.php, functions_exportserver.php have "html_", "gis_", "filemanager_" and "exportserver_" prefix respectively. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4281 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-27 15:43:31 +02:00
* Render an input text element. Extended version, use html_print_input_text() to simplify.
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
*
* @param string Input name.
* @param bool Whether to return an output string or echo now (optional, echo by default).
* @param array An array with optional HTML parameters.
* Key size: HTML size attribute.
* Key disabled: Whether to disable the input or not.
* Key class: HTML class
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
*/
function html_print_input_file($name, $return=false, $options=false)
{
$output = '';
$output .= '<input type="file" value="" name="'.$name.'" id="file-'.$name.'" ';
if ($options) {
if (isset($options['size'])) {
$output .= 'size="'.$options['size'].'"';
}
if (isset($options['disabled'])) {
$output .= 'disabled="disabled"';
}
if (isset($options['class'])) {
$output .= 'class="'.$options['class'].'"';
}
}
$output .= ' />';
if ($return) {
return $output;
}
echo $output;
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
}
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
/**
* Render a label for a input elemennt.
*
* @param string Label text.
* @param string Input id to refer.
* @param bool Whether to return an output string or echo now (optional, echo by default).
* @param array An array with optional HTML parameters.
* Key html: Extra HTML to add after the label.
* Key class: HTML class
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
*/
function html_print_label($text, $id, $return=false, $options=false)
{
$output = '';
$output .= '<label id="label-'.$id.'" ';
if ($options) {
if (isset($options['class'])) {
$output .= 'class="'.$options['class'].'" ';
}
if (isset($options['style'])) {
$output .= 'style="'.$options['style'].'" ';
}
}
$output .= 'for="'.$id.'" >';
$output .= $text;
$output .= '</label>';
if ($options) {
if (isset($options['html'])) {
$output .= $options['html'];
}
}
if ($return) {
return $output;
}
echo $output;
2009-01-12 Esteban Sanchez <estebans@artica.es> * godmode/agentes/alert_manager.php: Complete rewritten of the alert system when assigned alerts to an agent. * pandoradb.sql: New tables for alert system. These are: talert_commands, talert_actions, talert_templates, talert_template_modules, talert_template_module_actions. No migration tool is available yet. * godmode/alerts/configure_alert_template.php, godmode/alerts/configure_alert_action.php, godmode/alerts/alert_templates.php, godmode/alerts/configure_alert_command.php, godmode/alerts/alert_actions.php: Added to repository. Administration interface to new alert system. * godmode/alerts/modify_alert.php: Deleted from repository. * godmode/setup/setup.php: Added an example of the date format. Main table has now percentage width. * godmode/menu.php, operation/menu.php: Added new alert options. Removed refr value when it's not neccesary. * include/styles/pandora.css: Added width to textarea elements. Style correction and cleanup. Tables doesn't have a odd-even pattern, but the hovered row now changes its colour. New styles for alert pages. * include/functions_custom_graphs.php: Added to repository. custom graphs functions moved here. * include/functions_incidents.php, include/functions_events.php: Moved to LGPL. Style comment corrections. * include/functions_html.php: Documentation style correction. Added print_input_file() and print_label(). * include/functions_ui.php: Doc style correction. * operation/reporting/graph_viewer.php: Include new function file with custom graphs. Use generic functions. * index.php: Unset pass from POST and REQUEST arrays. * include/functions_db.php: Some documentation updated to new format. Added format_array_to_update_sql() to generate SQL sentences for updates. Style correction. * godmode/agentes/configurar_agente.php: Variables renamed to have a meaning. * extensions/update_manager/main.php: Mark an string translatable. * extensions/update_manager/lib/libupdate_manager_client.php, godmode/alerts/configure_alert.php, include/functions.php, godmode/agentes/module_manager.php, operation/agentes/networkmap.php, operation/reporting/reporting_viewer.php, godmode/agentes/manage_config.php: Style correction. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
}
/**
* Convert a html color like #FF00FF into the rgb values like (255,0,255).
*
* @param string color in format #FFFFFF, FFFFFF, #FFF or FFF
*/
2011-04-27 Juan Manuel Ramon <juanmanuel.ramon@artica.es> * include/functions_graph.php include/functions_users.php include/functions_events.php include/functions_html.php include/functions_menu.php include/styles/pandora.css include/graphs/functions_pchart.php include/functions_messages.php include/functions_exportserver.php include/functions_modules.php include/functions_reporting.php include/functions_filemanager.php include/functions_groups.php include/functions_gis.php include/functions_networkmap.php include/functions_servers.php include/functions_network_components.php include/functions_visual_map.php include/ajax/skins.ajax.php include/ajax/visual_console_builder.ajax.php include/help/en/help_gis_map_builder.php include/help/en/help_agent_status.php include/help/en/help_eventview.php include/help/en/help_configure_gis_map.php include/help/en/help_cascade_protection.php include/help/en/help_setup_gis_index.php include/help/es/help_gis_map_builder.php include/help/es/help_agent_status.php include/help/es/help_eventview.php include/help/es/help_configure_gis_map.php include/help/es/help_cascade_protection.php include/help/ja/help_gis_map_builder.php include/help/ja/help_agent_status.php include/help/ja/help_eventview.php include/help/ja/help_configure_gis_map.php include/help/ja/help_cascade_protection.php include/help/ja/help_setup_gis_index.php include/functions_ui.php include/functions_incidents.php include/functions.php include/functions_agents.php include/functions_db.php include/functions_fsgraph.php include/functions_extensions.php include/functions_ui_renders.php extensions/insert_data.php extensions/system_info.php extensions/extension_uploader.php extensions/agents_modules.php extensions/dbmanager.php extensions/resource_registration.php extensions/resource_exportation.php extensions/users_connected.php extensions/module_groups.php extensions/update_manager/settings.php extensions/update_manager/main.php operation/incidents/incident.incident.php operation/incidents/incident.php operation/incidents/incident.files.php operation/incidents/incident.tracking.php operation/incidents/incident_detail.php operation/incidents/incident.workunits.php operation/incidents/incident.list.php operation/search_modules.php operation/extensions.php operation/visual_console/render_view.php operation/visual_console/index.php operation/agentes/status_monitor.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/alerts_status.functions.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/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/search_agents.php operation/search_graphs.php operation/snmpconsole/snmp_view.php operation/users/user_edit.php operation/integria_incidents/incident.incident.php operation/integria_incidents/incident.php operation/integria_incidents/incident.files.php operation/integria_incidents/incident.tracking.php operation/integria_incidents/incident_detail.php operation/integria_incidents/incident.workunits.php operation/integria_incidents/incident.list.php operation/gis_maps/render_view.php operation/gis_maps/ajax.php operation/gis_maps/index.php operation/events/export_csv.php operation/events/sound_events.php operation/events/events_validate.php operation/events/events_list.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/reporting/custom_reporting.php operation/search_reports.php operation/search_maps.php operation/search_results.php operation/search_users.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/events/events.php mobile/operation/servers/view_servers.php mobile/include/user.class.php general/pandora_help.php general/noaccess.php general/login_page.php general/logon_ok.php general/logoff.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/extensions.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/agentes/agent_template.php godmode/agentes/module_manager_editor_common.php godmode/agentes/module_manager_editor_network.php godmode/agentes/fields_manager.php godmode/agentes/module_manager_editor_wmi.php godmode/agentes/module_manager_editor_plugin.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/snmpconsole/snmp_alert.php godmode/snmpconsole/snmp_filters.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/users/user_list.php godmode/users/configure_user.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/modules/manage_network_components_form_plugin.php godmode/reporting/reporting_builder.list_items.php godmode/reporting/graph_builder.main.php godmode/reporting/visual_console_builder.wizard.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/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: Now functions on functions_html.php, functions_gis.php, functions_filemanager.php, functions_exportserver.php have "html_", "gis_", "filemanager_" and "exportserver_" prefix respectively. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4281 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-27 15:43:31 +02:00
function html_html2rgb($htmlcolor)
{
if ($htmlcolor[0] == '#') {
$htmlcolor = substr($htmlcolor, 1);
}
if (strlen($htmlcolor) == 6) {
$r = hexdec($htmlcolor[0].$htmlcolor[1]);
$g = hexdec($htmlcolor[2].$htmlcolor[3]);
$b = hexdec($htmlcolor[4].$htmlcolor[5]);
return [
$r,
$g,
$b,
];
} else if (strlen($htmlcolor) == 3) {
$r = hexdec($htmlcolor[0].$htmlcolor[0]);
$g = hexdec($htmlcolor[1].$htmlcolor[1]);
$b = hexdec($htmlcolor[2].$htmlcolor[2]);
return [
$r,
$g,
$b,
];
} else {
return false;
}
}
/**
* Print a magic-ajax control to select the module.
*
2019-06-07 17:35:13 +02:00
* @param string $name The name of ajax control, by default is "module".
* @param string $default The default value to show in the ajax control.
* @param array $id_agents The array list of id agents as array(1,2,3), by default is false and the function use all agents (if the ACL desactive).
* @param boolean $ACL Filter the agents by the ACL list of user.
* @param string $scriptResult The source code of script to call, by default is
* empty. And the example is:
* function (e, data, formatted) {
* ...
* }
*
2019-06-07 17:35:13 +02:00
* And the formatted is the select item as string.
*
2019-06-07 17:35:13 +02:00
* @param array $filter Other filter of modules.
* @param boolean $return If it is true return a string with the output instead to echo the output.
* @param integer $id_agent_module Id agent module.
* @param string $size Size.
*
* @return mixed If the $return is true, return the output as string.
*/
function html_print_autocomplete_modules(
$name='module',
$default='',
$id_agents=false,
$ACL=true,
$scriptResult='',
$filter=[],
$return=false,
2019-06-07 17:35:13 +02:00
$id_agent_module=0,
$size='30'
) {
global $config;
if ($id_agents === false) {
$agents = agents_get_agents();
if ($agents === false) {
$agents = [];
}
$id_agents = [];
foreach ($agents as $agent) {
$id_agents[] = $agent['id_agente'];
}
} else {
if ($ACL) {
$agents = agents_get_agents();
if ($agents === false) {
$agents = [];
}
$id_agentsACL = [];
foreach ($agents as $agent) {
if (array_search($agent['id_agente'], $id_agents) !== false) {
$id_agentsACL[] = $agent['id_agente'];
}
}
$id_agents = $id_agentsACL;
}
}
ob_start();
html_print_input_text_extended(
$name,
$default,
'text-'.$name,
'',
2019-06-07 17:35:13 +02:00
$size,
100,
false,
'',
['style' => 'background: url(images/search_module.png) no-repeat right;']
);
html_print_input_hidden($name.'_hidden', $id_agent_module);
if (!is_metaconsole()) {
ui_print_help_tip(__('Type at least two characters to search the module.'), false);
}
$javascript_ajax_page = ui_get_full_url('ajax.php', false, false, false);
?>
<script type="text/javascript">
function escapeHTML (str)
{
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
return div.innerHTML;
}
$(document).ready (function () {
$("#text-<?php echo $name; ?>").autocomplete({
minLength: 2,
source: function( request, response ) {
var term = request.term; //Word to search
data_params = {
page: "include/ajax/module",
q: term,
search_modules: 1,
id_agents: '<?php echo json_encode($id_agents); ?>',
other_filter: '<?php echo json_encode($filter); ?>'
};
jQuery.ajax ({
data: data_params,
async: false,
type: "POST",
url: action="<?php echo $javascript_ajax_page; ?>",
timeout: 10000,
dataType: "json",
success: function (data) {
temp = [];
$.each(data, function (id, module) {
temp.push({
'value' : id,
'label' : module});
});
response(temp);
}
});
},
change: function( event, ui ) {
if (!ui.item)
$("input[name='<?php echo $name; ?>_hidden']")
.val(0);
return false;
},
select: function( event, ui ) {
$("input[name='<?php echo $name; ?>_hidden']")
.val(ui.item.value);
$("#text-<?php echo $name; ?>").val( ui.item.label );
return false;
}
}
);
});
</script>
<?php
$output = ob_get_clean();
if ($return) {
return $output;
} else {
echo $output;
}
}
/**
* @param string Select form name
* @param string Current selected value
*
* @return string HTML code
*/
function html_print_timezone_select($name, $selected='')
{
$timezones_index = timezone_identifiers_list();
$timezones = timezone_identifiers_list();
$timezones = array_combine($timezones_index, $timezones);
return html_print_select($timezones, $name, $selected, '', __('None'), '', true, false, false);
}
/**
* Enclose a text into a result_div
*
* @param string Text to enclose
*
* @return string Text inside the result_div
*/
function html_print_result_div($text)
{
$text = preg_replace('/</', '&lt;', $text);
$text = preg_replace('/>/', '&gt;', $text);
$text = preg_replace('/\n/i', '<br>', $text);
$text = preg_replace('/\s/i', '&nbsp;', $text);
$enclose = "<div id='result_div' style='width: 100%; height: 100%; overflow: auto; padding: 10px; font-size: 14px; line-height: 16px; font-family: mono,monospace; text-align: left'>";
$enclose .= $text;
$enclose .= '</div>';
return $enclose;
}
/**
* Print order arrows links
*
* @param array Base tags to build url
* @param string Order key to add to URL
* @param string Value to sort ascendent
* @param string Value to sort descendent
*
* @return string HTML code to display both arrows.
*/
function html_print_sort_arrows($params, $order_tag, $up='up', $down='down')
{
// Build the queries
$params[$order_tag] = $up;
$url_up = 'index.php?'.http_build_query($params, '', '&amp;');
$params[$order_tag] = $down;
$url_down = 'index.php?'.http_build_query($params, '', '&amp;');
// Build the links
2019-06-03 19:13:29 +02:00
$out = '&nbsp;<a href="'.$url_up.'">';
$out .= html_print_image('images/sort_up_black.png', true);
$out .= '</a><a href="'.$url_down.'">';
$out .= html_print_image('images/sort_down_black.png', true).'</a>';
}
/**
* Print an input hidden with a new csrf token generated
*/
function html_print_csrf_hidden()
{
html_print_input_hidden('csrf_code', generate_csrf_code());
}
/**
* Print an error if csrf is incorrect
*/
function html_print_csrf_error()
{
if (validate_csrf_code()) {
return false;
}
ui_print_error_message(
__(
'%s cannot verify the origin of the request. Try again, please.',
get_product_name()
)
);
return true;
}
/**
2019-10-23 19:50:57 +02:00
* Print an swith button.
*
* @param array $attributes Valid params.
* name: Usefull to handle in forms.
* value: If is checked or not.
* disabled: Disabled. Cannot be pressed.
* id: Optional id for the switch.
* class: Additional classes (string).
* value: Check or not (boolean).
* disabled: Enabled or disabled (boolean).
2019-10-23 19:50:57 +02:00
*
* @return string with HTML of button.
*/
function html_print_switch($attributes=[])
{
$html_expand = '';
// Check the load values on status.
2019-10-23 19:50:57 +02:00
$html_expand .= (bool) ($attributes['value']) ? ' checked' : '';
$html_expand .= (bool) ($attributes['disabled']) ? ' disabled' : '';
// Only load the valid attributes.
$valid_attrs = [
'id',
'class',
'name',
'onclick',
2019-05-27 22:36:55 +02:00
'onchange',
];
foreach ($valid_attrs as $va) {
if (!isset($attributes[$va])) {
continue;
}
$html_expand .= ' '.$va.'="'.$attributes[$va].'"';
}
2019-05-27 22:36:55 +02:00
if (!isset($attributes['style'])) {
$attributes['style'] = '';
}
$disabled_class .= (bool) ($attributes['disabled']) ? ' p-slider-disabled' : '';
2019-05-27 22:36:55 +02:00
return "<label class='p-switch' style='".$attributes['style']."'>
2019-10-23 19:50:57 +02:00
<input type='checkbox' ".$html_expand.">
<span class='p-slider".$disabled_class."'></span>
</label>";
}
/**
* Print a link with post params.The component is really a form with a button
* with some inputs hidden.
*
* @param string $text Text to show.
* @param array $params Params to be written like inputs hidden.
* @param string $text Text of image.
* @param string $style Additional style for the element.
*
* @return string With HTML code.
*/
function html_print_link_with_params($text, $params=[], $type='text', $style='')
{
$html = '<form method=post>';
switch ($type) {
case 'image':
$html .= html_print_input_image($text, $text, $text, $style, true);
break;
case 'text':
default:
if (!empty($style)) {
$style = ' style="'.$style.'"';
}
$html .= html_print_submit_button(
$text,
$text,
false,
'class="button-as-link"'.$style,
true
);
break;
}
foreach ($params as $param => $value) {
$html .= html_print_input_hidden($param, $value, true);
}
$html .= '</form>';
return $html;
2019-06-07 17:35:13 +02:00
}
2019-06-21 19:34:47 +02:00
/**
* Print input using functions html lib.
*
2019-07-10 23:59:09 +02:00
* @param array $data Input definition.
* @param string $wrapper Wrapper 'div' or 'li'.
* @param boolean $input_only Return or print only input or also label.
2019-06-21 19:34:47 +02:00
*
* @return string HTML code for desired input.
*/
2019-07-10 23:59:09 +02:00
function html_print_input($data, $wrapper='div', $input_only=false)
2019-06-21 19:34:47 +02:00
{
if (is_array($data) === false) {
return '';
}
$output = '';
2019-07-10 23:59:09 +02:00
if ($data['label'] && $input_only === false) {
$output = '<'.$wrapper.' id="'.$wrapper.'-'.$data['name'].'" ';
2019-06-21 23:51:22 +02:00
$output .= ' class="'.$data['input_class'].'">';
2019-06-21 19:34:47 +02:00
$output .= '<label class="'.$data['label_class'].'">';
$output .= $data['label'];
$output .= '</label>';
if (!$data['return']) {
echo $output;
}
}
2020-01-09 12:07:19 +01:00
if (isset($data['wrapper']) === true) {
$output = '<'.$data['wrapper'].' id="wr_'.$data['name'].'" ';
$output .= ' class="'.$data['input_class'].'">';
}
2019-06-21 19:34:47 +02:00
switch ($data['type']) {
case 'text':
$output .= html_print_input_text(
$data['name'],
$data['value'],
((isset($data['alt']) === true) ? $data['alt'] : ''),
((isset($data['size']) === true) ? $data['size'] : 50),
((isset($data['maxlength']) === true) ? $data['maxlength'] : 255),
((isset($data['return']) === true) ? $data['return'] : true),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['required']) === true) ? $data['required'] : false),
((isset($data['function']) === true) ? $data['function'] : ''),
((isset($data['class']) === true) ? $data['class'] : ''),
((isset($data['onChange']) === true) ? $data['onChange'] : ''),
((isset($data['autocomplete']) === true) ? $data['autocomplete'] : ''),
((isset($data['autofocus']) === true) ? $data['autofocus'] : false),
2020-04-13 15:41:00 +02:00
((isset($data['onKeyDown']) === true) ? $data['onKeyDown'] : ''),
((isset($data['form']) === true) ? $data['form'] : ''),
((isset($data['onKeyUp']) === true) ? $data['onKeyUp'] : '')
2019-06-21 19:34:47 +02:00
);
break;
case 'range':
$output .= html_print_input_range(
$data['name'],
$data['value'],
(isset($data['id']) ? $data['id'] : ''),
(isset($data['return']) ? $data['return'] : true),
(isset($data['min']) ? $data['min'] : 0),
(isset($data['max']) ? $data['max'] : 100),
(isset($data['step']) ? $data['step'] : 1),
(isset($data['class']) ? $data['class'] : ''),
(isset($data['oninput']) ? $data['oninput'] : '')
);
break;
2019-06-21 19:34:47 +02:00
case 'image':
$output .= html_print_input_image(
$data['name'],
$data['src'],
$data['value'],
((isset($data['style']) === true) ? $data['style'] : ''),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['options']) === true) ? $data['options'] : false)
);
break;
case 'text_extended':
$output .= html_print_input_text_extended(
$data['name'],
$data['value'],
$data['id'],
$data['alt'],
$data['size'],
$data['maxlength'],
$data['disabled'],
$data['script'],
$data['attributes'],
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['password']) === true) ? $data['password'] : false),
((isset($data['function']) === true) ? $data['function'] : '')
);
break;
case 'password':
$output .= html_print_input_password(
$data['name'],
$data['value'],
((isset($data['alt']) === true) ? $data['alt'] : ''),
((isset($data['size']) === true) ? $data['size'] : 50),
((isset($data['maxlength']) === true) ? $data['maxlength'] : 255),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['required']) === true) ? $data['required'] : false),
2019-08-10 02:13:01 +02:00
((isset($data['class']) === true) ? $data['class'] : ''),
((isset($data['autocomplete']) === true) ? $data['autocomplete'] : 'off')
2019-06-21 19:34:47 +02:00
);
break;
2019-10-24 17:42:37 +02:00
case 'email':
$output .= html_print_input_email($data);
break;
2019-11-12 13:16:25 +01:00
case 'number':
$output .= html_print_input_number($data);
break;
2019-06-21 19:34:47 +02:00
case 'hidden':
$output .= html_print_input_hidden(
$data['name'],
$data['value'],
((isset($data['return']) === true) ? $data['return'] : false),
2020-06-30 12:16:51 +02:00
((isset($data['class']) === true) ? $data['class'] : false),
false,
((isset($data['id']) === true) ? $data['id'] : '')
2019-06-21 19:34:47 +02:00
);
break;
case 'hidden_extended':
$output .= html_print_input_hidden_extended(
$data['name'],
$data['value'],
$data['id'],
((isset($data['return']) === true) ? $data['return'] : false),
2019-11-21 12:42:06 +01:00
((isset($data['class']) === true) ? $data['class'] : false),
((isset($data['quotes']) === true) ? $data['quotes'] : false)
2019-06-21 19:34:47 +02:00
);
break;
case 'color':
$output .= html_print_input_color(
$data['name'],
$data['value'],
2020-01-22 12:48:31 +01:00
$data['id'],
2019-06-21 19:34:47 +02:00
((isset($data['class']) === true) ? $data['class'] : false),
((isset($data['return']) === true) ? $data['return'] : false)
);
break;
case 'file':
$output .= html_print_input_file(
$data['name'],
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['options']) === true) ? $data['options'] : false)
);
break;
case 'select':
$output .= html_print_select(
$data['fields'],
$data['name'],
((isset($data['selected']) === true) ? $data['selected'] : ''),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['nothing']) === true) ? $data['nothing'] : ''),
((isset($data['nothing_value']) === true) ? $data['nothing_value'] : 0),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['multiple']) === true) ? $data['multiple'] : false),
((isset($data['sort']) === true) ? $data['sort'] : true),
((isset($data['class']) === true) ? $data['class'] : ''),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['style']) === true) ? $data['style'] : false),
((isset($data['option_style']) === true) ? $data['option_style'] : false),
((isset($data['size']) === true) ? $data['size'] : false),
((isset($data['modal']) === true) ? $data['modal'] : false),
((isset($data['message']) === true) ? $data['message'] : ''),
((isset($data['select_all']) === true) ? $data['select_all'] : false)
);
break;
case 'select_from_sql':
$output .= html_print_select_from_sql(
$data['sql'],
$data['name'],
((isset($data['selected']) === true) ? $data['selected'] : ''),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['nothing']) === true) ? $data['nothing'] : ''),
((isset($data['nothing_value']) === true) ? $data['nothing_value'] : '0'),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['multiple']) === true) ? $data['multiple'] : false),
((isset($data['sort']) === true) ? $data['sort'] : true),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['style']) === true) ? $data['style'] : false),
((isset($data['size']) === true) ? $data['size'] : false),
2020-04-07 18:50:56 +02:00
((isset($data['trucate_size']) === true) ? $data['trucate_size'] : GENERIC_SIZE_TEXT),
((isset($data['class']) === true) ? $data['class'] : '')
2019-06-21 19:34:47 +02:00
);
break;
case 'select_groups':
$output .= html_print_select_groups(
((isset($data['id_user']) === true) ? $data['id_user'] : false),
((isset($data['privilege']) === true) ? $data['privilege'] : 'AR'),
((isset($data['returnAllGroup']) === true) ? $data['returnAllGroup'] : true),
$data['name'],
((isset($data['selected']) === true) ? $data['selected'] : ''),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['nothing']) === true) ? $data['nothing'] : ''),
((isset($data['nothing_value']) === true) ? $data['nothing_value'] : 0),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['multiple']) === true) ? $data['multiple'] : false),
((isset($data['sort']) === true) ? $data['sort'] : true),
((isset($data['class']) === true) ? $data['class'] : ''),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['style']) === true) ? $data['style'] : false),
((isset($data['option_style']) === true) ? $data['option_style'] : false),
((isset($data['id_group']) === true) ? $data['id_group'] : false),
((isset($data['keys_field']) === true) ? $data['keys_field'] : 'id_grupo'),
((isset($data['strict_user']) === true) ? $data['strict_user'] : false),
((isset($data['delete_groups']) === true) ? $data['delete_groups'] : false),
((isset($data['include_groups']) === true) ? $data['include_groups'] : false),
((isset($data['size']) === true) ? $data['size'] : false),
((isset($data['simple_multiple_options']) === true) ? $data['simple_multiple_options'] : false),
((isset($data['required']) === true) ? $data['required'] : false)
2019-06-21 19:34:47 +02:00
);
break;
2020-07-03 17:52:44 +02:00
case 'select_metaconsole_nodes':
$output .= html_print_select_from_sql(
'SELECT `id`, `server_name` FROM `tmetaconsole_setup`',
$data['name'],
((isset($data['selected']) === true) ? $data['selected'] : ''),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['nothing']) === true) ? $data['nothing'] : ''),
((isset($data['nothing_value']) === true) ? $data['nothing_value'] : '0'),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['multiple']) === true) ? $data['multiple'] : false),
((isset($data['sort']) === true) ? $data['sort'] : true),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['style']) === true) ? $data['style'] : false),
((isset($data['size']) === true) ? $data['size'] : false),
((isset($data['trucate_size']) === true) ? $data['trucate_size'] : GENERIC_SIZE_TEXT),
((isset($data['class']) === true) ? $data['class'] : '')
);
break;
2020-06-30 12:16:51 +02:00
case 'select_for_unit':
$output .= html_print_extended_select_for_unit(
$data['name'],
((isset($data['selected']) === true) ? $data['selected'] : ''),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['nothing']) === true) ? $data['nothing'] : ''),
((isset($data['nothing_value']) === true) ? $data['nothing_value'] : '0'),
((isset($data['size']) === true) ? $data['size'] : false),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['select_style']) === true) ? $data['select_style'] : false),
((isset($data['unique_name']) === true) ? $data['unique_name'] : true),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
2020-07-03 17:52:44 +02:00
((isset($data['no_change']) === true) ? $data['no_change'] : 0)
2020-06-30 12:16:51 +02:00
);
2019-06-21 19:34:47 +02:00
case 'submit':
2019-11-12 13:16:25 +01:00
$width = (isset($data['width']) === true) ? 'width: '.$data['width'] : 'width: 100%';
$output .= '<'.$wrapper.' class="action-buttons" style="'.$width.'">'.html_print_submit_button(
2019-06-21 19:34:47 +02:00
((isset($data['label']) === true) ? $data['label'] : 'OK'),
((isset($data['name']) === true) ? $data['name'] : ''),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['attributes']) === true) ? $data['attributes'] : ''),
((isset($data['return']) === true) ? $data['return'] : false)
2019-07-10 23:59:09 +02:00
).'</'.$wrapper.'>';
2019-06-21 19:34:47 +02:00
break;
case 'checkbox':
$output .= html_print_checkbox(
$data['name'],
$data['value'],
((isset($data['checked']) === true) ? $data['checked'] : false),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['script']) === true) ? $data['script'] : ''),
2019-11-22 20:49:46 +01:00
((isset($data['disabled_hidden']) === true) ? $data['disabled_hidden'] : false),
((isset($data['attributes']) === true) ? $data['attributes'] : ''),
((isset($data['id']) === true) ? $data['id'] : '')
2019-06-21 19:34:47 +02:00
);
break;
case 'switch':
$output .= html_print_switch($data);
break;
case 'interval':
$output .= html_print_extended_select_for_time(
$data['name'],
2020-06-24 18:01:34 +02:00
((isset($data['value']) === true) ? $data['value'] : $data['selected']),
2019-06-21 19:34:47 +02:00
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['nothing']) === true) ? $data['nothing'] : ''),
((isset($data['nothing_value']) === true) ? $data['nothing_value'] : 0),
((isset($data['size']) === true) ? $data['size'] : false),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['style']) === true) ? $data['selected'] : false),
((isset($data['unique']) === true) ? $data['unique'] : false)
);
break;
case 'textarea':
$output .= html_print_textarea(
$data['name'],
$data['rows'],
$data['columns'],
((isset($data['value']) === true) ? $data['value'] : ''),
((isset($data['attributes']) === true) ? $data['attributes'] : ''),
((isset($data['return']) === true) ? $data['return'] : false),
2020-07-13 14:06:52 +02:00
((isset($data['class']) === true) ? $data['class'] : ''),
((isset($data['disabled']) === true) ? $data['disabled'] : false)
2019-06-21 19:34:47 +02:00
);
2019-07-10 23:59:09 +02:00
break;
case 'button':
$output .= html_print_button(
((isset($data['label']) === true) ? $data['label'] : 'OK'),
((isset($data['name']) === true) ? $data['name'] : ''),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['attributes']) === true) ? $data['attributes'] : ''),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['imageButton']) === true) ? $data['imageButton'] : false),
((isset($data['modal']) === true) ? $data['modal'] : false),
((isset($data['message']) === true) ? $data['message'] : '')
);
break;
2019-06-21 19:34:47 +02:00
2019-11-07 17:26:32 +01:00
case 'radio_button':
$output .= html_print_radio_button_extended(
$data['name'],
$data['value'],
$data['label'],
((isset($data['checkedvalue']) === true) ? $data['checkedvalue'] : 1),
((isset($data['disabled']) === true) ? $data['disabled'] : ''),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['attributes']) === true) ? $data['attributes'] : true),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['modal']) === true) ? $data['modal'] : false),
((isset($data['message']) === true) ? $data['message'] : 'visualmodal'),
((isset($data['id']) === true) ? $data['id'] : null)
);
2019-11-07 19:39:50 +01:00
break;
case 'email':
$output .= html_print_input_email($data);
break;
2019-11-07 17:26:32 +01:00
2019-11-12 13:16:25 +01:00
case 'multicheck':
$output .= html_print_input_multicheck($data);
break;
case 'agent_autocomplete':
// Direct assignment of parameters.
$output .= ui_print_agent_autocomplete_input($data);
break;
2019-12-18 17:36:01 +01:00
case 'autocomplete_agent':
2019-12-19 20:42:29 +01:00
$agent_name = '';
if (isset($data['id_agent_hidden']) === true
&& empty($data['id_agent_hidden']) === false
) {
2019-12-18 17:36:01 +01:00
if (is_metaconsole() === true) {
2019-12-19 20:42:29 +01:00
$connection = metaconsole_get_connection_by_id(
$data['server_id_hidden']
2019-12-18 17:36:01 +01:00
);
2019-12-19 20:42:29 +01:00
$agent_name = '';
if (metaconsole_load_external_db($connection) == NOERR) {
$agent_name = db_get_value_filter(
'alias',
'tagente',
['id_agente' => $data['id_agent_hidden']]
);
}
2019-12-18 17:36:01 +01:00
2019-12-19 20:42:29 +01:00
// Append server name.
if (!empty($agent_name)) {
$agent_name .= ' ('.$connection['server_name'].')';
}
2019-12-18 17:36:01 +01:00
2019-12-19 20:42:29 +01:00
// Restore db connection.
metaconsole_restore_db();
2019-12-18 17:36:01 +01:00
} else {
2019-12-19 20:42:29 +01:00
$agent_name = agents_get_alias($data['id_agent_hidden']);
2019-12-18 17:36:01 +01:00
}
}
$params = [];
2020-07-01 20:50:07 +02:00
$params['disabled'] = $data['disabled'];
2019-12-18 17:36:01 +01:00
$params['return'] = $data['return'];
$params['show_helptip'] = false;
$params['input_name'] = $data['name'];
$params['value'] = $agent_name;
$params['javascript_is_function_select'] = true;
2019-12-19 20:42:29 +01:00
if (isset($data['get_only_string_modules']) === true
&& $data['get_only_string_modules'] === true
) {
$params['get_only_string_modules'] = $data['get_only_string_modules'];
}
2019-12-19 20:42:29 +01:00
if (isset($data['module_input']) === true
&& $data['module_input'] === true
) {
$params['selectbox_id'] = $data['module_name'];
$params['add_none_module'] = $data['module_none'];
}
2020-03-26 12:29:38 +01:00
if (isset($data['size']) === true) {
$params['size'] = $data['size'];
}
if (isset($data['from_wux']) === true
&& $data['from_wux'] === true
) {
$params['from_wux'] = 1;
}
2019-12-18 17:36:01 +01:00
$params['use_hidden_input_idagent'] = true;
$params['hidden_input_idagent_id'] = 'hidden-'.$data['name_agent_hidden'];
2019-12-19 20:42:29 +01:00
if (is_metaconsole()) {
2019-12-18 17:36:01 +01:00
$params['use_input_id_server'] = true;
2019-12-19 20:42:29 +01:00
$params['input_id_server_id'] = 'hidden-'.$data['name_server_hidden'];
2019-12-18 17:36:01 +01:00
$params['metaconsole_enabled'] = true;
2019-12-19 20:42:29 +01:00
}
2019-12-18 17:36:01 +01:00
$output .= html_print_input_hidden(
$data['name_agent_hidden'],
$data['id_agent_hidden'],
$data['return']
);
2019-12-19 20:42:29 +01:00
2019-12-18 17:36:01 +01:00
$output .= html_print_input_hidden(
$data['name_server_hidden'],
$data['server_id_hidden'],
$data['return']
);
2019-12-19 20:42:29 +01:00
2019-12-18 17:36:01 +01:00
$output .= ui_print_agent_autocomplete_input($params);
break;
2019-12-19 20:42:29 +01:00
case 'autocomplete_module':
// Module.
2020-01-23 17:52:59 +01:00
if (($data['agent_id'] === false
|| empty($data['agent_id']) === true)
&& (isset($data['selected']) === false
|| $data['selected'] === 0)
) {
2019-12-19 20:42:29 +01:00
$fields = [
0 => __('Select an Agent first'),
];
} else {
2020-07-07 19:10:24 +02:00
$string_filter = '';
if ($data['get_only_string_modules'] === true) {
$string_filter = 'AND id_tipo_modulo IN (17,23,3,10,33,36)';
}
2020-03-26 12:29:38 +01:00
if ($data['from_wux'] === true) {
$string_filter = ' AND id_tipo_modulo = 25 ';
}
2019-12-19 20:42:29 +01:00
$sql = sprintf(
'SELECT id_agente_modulo, nombre
FROM tagente_modulo
WHERE id_agente = %d
AND delete_pending = 0 %s',
$data['agent_id'],
$string_filter
2019-12-19 20:42:29 +01:00
);
if (is_metaconsole() === true) {
2020-01-23 17:52:59 +01:00
$connection = metaconsole_get_connection_by_id(
2019-12-19 20:42:29 +01:00
$data['metaconsole_id']
);
if (metaconsole_load_external_db($connection) == NOERR) {
$modules_agent = db_get_all_rows_sql($sql);
if ($modules_agent === false) {
$modules_agent = [];
}
}
// Restore db connection.
metaconsole_restore_db();
} else {
$modules_agent = db_get_all_rows_sql($sql);
}
$fields = [];
if (isset($modules_agent) === true
&& is_array($modules_agent) === true
) {
$fields = array_reduce(
$modules_agent,
function ($carry, $item) {
$carry[$item['id_agente_modulo']] = $item['nombre'];
return $carry;
},
[]
);
}
}
$output .= html_print_select(
$fields,
$data['name'],
((isset($data['selected']) === true) ? $data['selected'] : ''),
((isset($data['script']) === true) ? $data['script'] : ''),
((isset($data['nothing']) === true) ? $data['nothing'] : ''),
((isset($data['nothing_value']) === true) ? $data['nothing_value'] : 0),
((isset($data['return']) === true) ? $data['return'] : false),
((isset($data['multiple']) === true) ? $data['multiple'] : false),
((isset($data['sort']) === true) ? $data['sort'] : true),
((isset($data['class']) === true) ? $data['class'] : ''),
((isset($data['disabled']) === true) ? $data['disabled'] : false),
((isset($data['style']) === true) ? $data['style'] : false),
((isset($data['option_style']) === true) ? $data['option_style'] : false),
((isset($data['size']) === true) ? $data['size'] : false),
((isset($data['modal']) === true) ? $data['modal'] : false),
((isset($data['message']) === true) ? $data['message'] : ''),
((isset($data['select_all']) === true) ? $data['select_all'] : false)
);
break;
case 'select_multiple_filtered':
$output .= html_print_select_multiple_filtered(
$data['available'],
$data['selected'],
((isset($data['name']) === true) ? $data['name'] : null),
((isset($data['class']) === true) ? $data['class'] : ''),
((isset($data['return']) === true) ? $data['return'] : true),
((isset($data['group_filter']) === true) ? $data['group_filter'] : []),
((isset($data['texts']) === true) ? $data['texts'] : []),
((isset($data['sections']) === true) ? $data['sections'] : [])
);
break;
2020-07-07 19:10:24 +02:00
case 'select_multiple_modules_filtered':
$output .= html_print_select_multiple_modules_filtered($data);
break;
2019-06-21 19:34:47 +02:00
default:
// Ignore.
break;
}
2020-01-09 12:07:19 +01:00
if (isset($data['wrapper']) === true) {
$output .= '</'.$data['wrapper'].'>';
}
2019-07-10 23:59:09 +02:00
if ($data['label'] && $input_only === false) {
$output .= '</'.$wrapper.'>';
2019-06-21 19:34:47 +02:00
if (!$data['return']) {
2019-07-10 23:59:09 +02:00
echo '</'.$wrapper.'>';
2019-06-21 19:34:47 +02:00
}
}
return $output;
}
2019-11-12 13:16:25 +01:00
/**
* Print all checkbox in the same row.
*
* @param array $data Array with attributes input.
* only name is necessary.
*
* @return string
*/
function html_print_input_multicheck(array $data):string
{
$html = '';
if (isset($data['data']) === true && is_array($data['data']) === true) {
foreach ($data['data'] as $key => $value) {
$html .= $value;
$html .= html_print_checkbox(
'days_week_'.$key,
1,
$data['checked'][$key],
true
);
}
}
return $html;
}
/**
* Print an autocomplete input filled out with Integria IMS users.
*
* @param string $name The name of ajax control, by default is "users".
* @param string $default The default value to show in the ajax control.
* @param boolean $return If it is true return a string with the output instead to echo the output.
* @param string $size Size.
*
* @return mixed If the $return is true, return the output as string.
*/
function html_print_autocomplete_users_from_integria(
$name='users',
$default='',
$return=false,
2019-09-23 12:48:20 +02:00
$size='30',
$disable=false,
$required=false
) {
global $config;
ob_start();
2019-09-23 12:48:20 +02:00
$attrs = ['style' => 'background: url(images/user_green.png) no-repeat right;'];
if ($required) {
$attrs['required'] = 'required';
}
html_print_input_text_extended(
$name,
$default,
'text-'.$name,
'',
$size,
100,
2019-09-23 12:48:20 +02:00
$disable,
'',
2019-09-23 12:48:20 +02:00
$attrs
);
html_print_input_hidden($name.'_hidden', $id_agent_module);
2019-09-23 12:48:20 +02:00
2019-09-26 09:44:58 +02:00
ui_print_help_tip(__('Type at least two characters to search the user.'), false);
$javascript_ajax_page = ui_get_full_url('ajax.php', false, false, false, false);
?>
<script type="text/javascript">
function escapeHTML (str)
{
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
return div.innerHTML;
}
$(document).ready (function () {
$("#text-<?php echo $name; ?>").autocomplete({
minLength: 2,
source: function( request, response ) {
var term = request.term; //Word to search
data_params = {
page: "include/ajax/integria_incidents.ajax",
search_term: term,
get_users: 1,
};
jQuery.ajax ({
data: data_params,
async: false,
type: "POST",
url: action="<?php echo $javascript_ajax_page; ?>",
timeout: 10000,
dataType: "json",
success: function (data) {
temp = [];
$.each(data, function (id, module) {
temp.push({
'value' : id,
'label' : module});
});
response(temp);
}
});
},
change: function( event, ui ) {
if (!ui.item)
$("input[name='<?php echo $name; ?>_hidden']")
.val(0);
return false;
},
select: function( event, ui ) {
$("input[name='<?php echo $name; ?>_hidden']")
.val(ui.item.value);
$("#text-<?php echo $name; ?>").val( ui.item.label );
return false;
}
}
);
});
</script>
<?php
$output = ob_get_clean();
if ($return) {
return $output;
} else {
echo $output;
}
}
2019-12-17 10:57:19 +01:00
function html_print_tabs(array $tabs)
{
$result = '<div id="html-tabs">';
$result .= '<ul class="">';
foreach ($tabs as $key => $value) {
$result .= "<li><a href='".$value['href']."' id='".$value['id']."'>";
$result .= html_print_image(
'images/'.$value['img'],
true
);
$result .= '<span>'.$value['name'].'</span>';
$result .= '</a></li>';
}
$result .= '</ul>';
$result .= '</div>';
return $result;
}