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
2008-08-22 20:07:32 +02:00
2009-06-08 20:26:14 +02:00
// Pandora FMS - http://pandorafms.com
// ==================================================
2020-11-27 13:52:35 +01:00
// Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
2009-06-08 20:26:14 +02:00
// 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
2009-06-08 20:26:14 +02:00
// 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.
2009-06-08 20:26:14 +02:00
2009-08-14 Miguel de Dios <miguel.dedios@artica.es>
* godmode/agentes/agent_manager.php, godmode/agentes/massive_config.php,
godmode/alerts/alert_list.php, godmode/reporting/graph_builder.php,
godmode/reporting/map_builder.php, include/functions_db.php,
include/functions_html.php, operation/agentes/exportdata.php,
operation/agentes/ver_agente.php: very changes for add input text
autocomplete with ajax jquery for agent input in several forms. Add to form
this exportdata, graph_builder, map_builder.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1849 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-14 18:38:57 +02:00
/**
2019-01-30 16:18:44 +01:00
* @ package Include
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/ldap.php,
include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.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/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 or add the subpackage in phpdoc
comment blocks for to organize more the result phpdoc files. Start to
document undocument functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1882 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-26 17:37:47 +02:00
* @ 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
*/
2011-04-20 16:22:40 +02:00
if ( ! isset ( $config )) {
2019-01-30 16:18:44 +01:00
$working_dir = getcwd ();
$working_dir = str_replace ( '\\' , '/' , $working_dir );
2019-02-26 12:04:18 +01:00
// Windows compatibility.
2019-01-30 16:18:44 +01:00
$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 ;
2019-02-26 12:04:18 +01:00
// Skip config.php loading after load the first one.
2019-01-30 16:18:44 +01:00
} 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 ;
2019-02-26 12:04:18 +01:00
// Skip config.php loading after load the first one.
2019-01-30 16:18:44 +01:00
}
}
} 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' ;
2017-03-22 15:26:54 +01:00
}
2012-02-24 Miguel de Dios <miguel.dedios@artica.es>
* pandora_console/include/functions_ui.php: changed the source code into the
function "ui_get_full_url" for accept false for to return url with the home
url or with any string (as query) return url with the php file.
* pandora_console/include/functions_graph.php,
pandora_console/include/functions_html.php,
pandora_console/include/functions_events.php,
pandora_console/include/functions_reporting.php,
pandora_console/include/functions_api.php,
pandora_console/include/functions.php, pandora_console/index.php,
pandora_console/extensions/system_info.php,
pandora_console/operation/agentes/stat_win.php,
pandora_console/operation/menu.php,
pandora_console/operation/events/events_rss.php,
pandora_console/operation/events/events_marquee.php,
pandora_console/operation/events/events.php: change in more part of source
code to use "ui_get_full_url" instead the hard write method of $_SERVER
vars, now Pandora Console run fine (in all actions I hope) with web servers
in other ports instead the typical 80.
Merged from branch pandora_4.0
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@5646 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-02-24 14:48:46 +01:00
* include/functions_graph.php
include/functions_html.php
include/functions_messages.php
include/db/postgresql.php
include/db/mysql.php
include/db/oracle.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_gis.php
include/auth/ldap.php
include/auth/mysql.php
include/functions_networkmap.php
include/functions_network_components.php
include/ajax/skins.ajax.php
include/ajax/reporting.ajax.php
include/ajax/visual_console_builder.ajax.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_config.php
include/functions_api.php
include/help/en/help_timesource.php
include/help/es/help_timesource.php
include/help/ja/help_timesource.php
include/config_process.php
include/functions_ui.php
include/functions_custom_graphs.php
include/fgraph.php
include/functions_incidents.php
include/api.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/system_info.php
extensions/extension_uploader.php
extensions/pandora_logs.php
extensions/agents_modules.php
extensions/update_manager.php
extensions/ssh_console.php
extensions/dbmanager.php
extensions/vnc_view.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/users_connected.php
extensions/module_groups.php
extensions/update_manager/load_updatemanager.php
extensions/update_manager/lib/libupdate_manager_client.php
extensions/update_manager/lib/libupdate_manager.php
extensions/update_manager/lib/libupdate_manager_components.php
extensions/update_manager/lib/libupdate_manager_updates.php
extensions/update_manager/settings.php
extensions/update_manager/main.php
extensions/plugin_registration.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident_statistics.php
operation/search_modules.php
operation/visual_console/render_view.php
operation/visual_console/index.php
operation/extensions.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/alerts_status.php
operation/agentes/estado_generalagente.php
operation/agentes/custom_fields.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/gis_view.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/graphs.php
operation/agentes/agent_fields.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/search_graphs.php
operation/snmpconsole/snmp_view.php
operation/users/user_edit.php
operation/gis_maps/render_view.php
operation/gis_maps/ajax.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident_statistics.php
operation/events/event_statistics.php
operation/events/events_rss.php
operation/events/export_csv.php
operation/events/sound_events.php
operation/events/events_validate.php
operation/events/events_list.php
operation/events/events_marquee.php
operation/events/events.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/graph_viewer.php
operation/search_reports.php
operation/search_maps.php
operation/search_users.php
extras/pandora_diag.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/events/events.php
mobile/index.php
general/error_authconfig.php
general/links_menu.php
general/logon_ok.php
general/error_dbconfig.php
general/ui/agents_list.php
general/header.php
godmode/groups/modu_group_list.php
godmode/groups/configure_group.php
godmode/groups/configure_modu_group.php
godmode/groups/group_list.php
godmode/admin_access_logs.php
godmode/db/db_main.php
godmode/db/db_audit.php
godmode/db/db_sanity.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_event.php
godmode/db/db_purge.php
godmode/extensions.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/fields_manager.php
godmode/agentes/agent_conf_gis.php
godmode/agentes/module_manager_editor_prediction.php
godmode/agentes/module_manager.php
godmode/agentes/modificar_agente.php
godmode/agentes/configurar_agente.php
godmode/agentes/configure_field.php
godmode/agentes/module_manager_editor.php
godmode/agentes/planned_downtime.php
godmode/agentes/manage_config_remote.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/servers/manage_recontask_form.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/alert_compounds.php
godmode/alerts/alert_list.php
godmode/alerts/configure_alert_template.php
godmode/alerts/alert_templates.php
godmode/alerts/configure_alert_action.php
godmode/alerts/configure_alert_command.php
godmode/alerts/alert_actions.php
godmode/alerts/alert_list.builder.php
godmode/alerts/alert_commands.php
godmode/setup/file_manager.php
godmode/setup/os.list.php
godmode/setup/news.php
godmode/setup/gis_step_2.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/setup/os.php
godmode/setup/performance.php
godmode/setup/setup_auth.php
godmode/setup/gis.php
godmode/setup/os.builder.php
godmode/setup/setup_visuals.php
godmode/snmpconsole/snmp_alert.php
godmode/snmpconsole/snmp_filters.php
godmode/users/user_list.php
godmode/users/configure_profile.php
godmode/gis_maps/configure_gis_map.php
godmode/gis_maps/index.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_copy_modules.php
godmode/massive/massive_delete_agents.php
godmode/massive/massive_enable_disable_alerts.php
godmode/massive/massive_operations.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_action_alerts.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/massive/massive_standby_alerts.php
godmode/massive/massive_add_action_alerts.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/module_list.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_components_form_network.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/visual_console_builder.wizard.php
godmode/reporting/graph_builder.main.php
godmode/reporting/reporting_builder.list_items.php
godmode/reporting/visual_console_builder.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/reporting_builder.main.php
godmode/reporting/visual_console_builder.data.php
godmode/reporting/visual_console_builder.elements.php
godmode/reporting/graph_builder.php
godmode/reporting/visual_console_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/visual_console_builder.editor.php
godmode/reporting/reporting_builder.item_editor.php
godmode/reporting/map_builder.php
godmode/reporting/graphs.php
godmode/reporting/graph_builder.preview.php
include/functions_db.php: Added some includes and functions of this code have "db_" prefix.
* include/functions.php: Moved function check_login(), check_acl(),
dame_nombre_pluginid(), get_os_name() from functions_db.php to functions.php.
* include/functions_groups.php: Moved functions get_childrens(), safe_acl_group()
and get_parents(), give_disabled_group(), isAllGroups(), get_group_icon(), get_all_groups(),
get_id_groups_recursive(), get_user_groups_tree_recursive(), get_group_status(),
get_group_name(), get_group_users() from functions_db.php to this code.
* include/functions_profile.php: New library with profile functions. Moved functions
get_profile_name(), get_profiles(), create_user_profile(), delete_user_profile(),
delete_profile() from functions_db.php to this code. Added new parameter in function
get_profile() to retrieve profiles with filter conditions applied.
* include/functions_users.php: New library with users functions. Moved functions
get_users_info(), get_all_model_groups(), get_user_groups(), get_user_groups_tree(),
get_user_first_group(), user_access_to_agent() from funtions_db.php to this code.
* godmode/users/configure_user.php: Changed get_profile_filter() function to get_profile().
* include/functions_agents.php: Moved functions get_group_agents(), get_agent_modules(),
get_agent_module_id(), get_agent_id(), get_agent_name(), get_agent_modules_data_count(),
check_alert_fired(), get_agent_interval(), get_agent_os(), give_agentmodule_flag(),
agent_add_address(), agent_delete_address(), get_agent_address(), get_agent_with_ip(),
get_agent_addresses(), get_agent_status(), delete_agent(), get_agentmodule_group(),
get_agent_group() from functions_db.php to this code.
* include/functions_modules.php: Moved functions get_agentmodule(), get_agentmodule_id(),
get_agentmodule_is_init(), get_agent_modules_count(), get_module_type_name(),
get_module_type_icon(), get_agentmodule_agent(), get_agentmodule_agent_name(),
get_agentmodule_name(), get_agentmodule_type(), get_monitor_downs_in_period(),
get_monitor_last_down_timestamp_in_period(), get_monitors_in_group(),
get_monitors_in_agent(), get_monitors_down(), get_moduletype_name(),
get_moduletype_description(), get_moduletypes(), get_module_interval(), show_icon_type(),
give_modulecategory_name(),
give_agent_id_from_module_id(), get_module_status(), get_agent_module_last_value(),
get_previous_data(), get_agentmodule_modulegroup(), get_modulegroups(),
get_modulegroup_name() from functions_db.php to this code.
* include/functions_alerts.php: Moved functions get_alert_type(), get_agent_alert_fired(),
get_module_alert_fired(), get_alert_fires_in_period(), get_group_alerts(), get_alerts_fired(),
get_alert_last_fire_timestamp_in_period(), get_agentmodule_status(),
get_agentmodule_last_status() from functions_db.php to this code.
* include/functions_exportserver.php: Moved function dame_nombre_servidorexportacion()
from functions_db.php to this code.
* include/functions_events.php: Moved functions get_group_events(), get_agent_events(),
get_module_events() from functions_db.php to this code.
* include/functions_servers.php: Moved functions get_server_name(), show_server_type(),
check_server_status(), server_status() from functions_db.php to this code.
* include/functions_network_profiles.php: Moved function get_networkprofile_name()
from functions_db.php to this code.
* include/functions_visual_map.php: Moved functions get_layoutdata_x(), get_layoutdata_y()
from fucntions_db.php to this code.
* include/functions_io.php: Moved function __() from functions_db.php to this code.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4258 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-19 20:42:49 +02:00
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
2009-08-14 Miguel de Dios <miguel.dedios@artica.es>
* godmode/agentes/agent_manager.php, godmode/agentes/massive_config.php,
godmode/alerts/alert_list.php, godmode/reporting/graph_builder.php,
godmode/reporting/map_builder.php, include/functions_db.php,
include/functions_html.php, operation/agentes/exportdata.php,
operation/agentes/ver_agente.php: very changes for add input text
autocomplete with ajax jquery for agent input in several forms. Add to form
this exportdata, graph_builder, map_builder.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1849 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-14 18:38:57 +02:00
*/
2019-01-30 16:18:44 +01:00
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 " ;
2019-01-30 16:18:44 +01:00
print_r ( $var );
echo '</pre>' ;
}
2009-08-14 Miguel de Dios <miguel.dedios@artica.es>
* godmode/agentes/agent_manager.php, godmode/agentes/massive_config.php,
godmode/alerts/alert_list.php, godmode/reporting/graph_builder.php,
godmode/reporting/map_builder.php, include/functions_db.php,
include/functions_html.php, operation/agentes/exportdata.php,
operation/agentes/ver_agente.php: very changes for add input text
autocomplete with ajax jquery for agent input in several forms. Add to form
this exportdata, graph_builder, map_builder.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1849 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-14 18:38:57 +02:00
}
2019-01-30 16:18:44 +01:00
2015-03-09 20:20:37 +01:00
// Alias for "html_debug_print"
2019-01-30 16:18:44 +01:00
function html_debug ( $var , $file = '' , $oneline = false )
{
html_debug_print ( $var , $file , $oneline );
2018-09-20 16:00:08 +02:00
}
2019-01-30 16:18:44 +01:00
2018-09-20 16:00:08 +02:00
// Alias for "html_debug_print"
2019-01-30 16:18:44 +01:00
function hd ( $var , $file = '' , $oneline = false )
{
html_debug_print ( $var , $file , $oneline );
2015-03-09 20:20:37 +01:00
}
2019-01-30 16:18:44 +01:00
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 ();
}
2019-01-30 16:18:44 +01:00
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 );
}
2018-12-10 09:20:06 +01:00
}
2019-01-30 16:18:44 +01:00
function html_f2str ( $function , $params )
{
ob_start ();
call_user_func_array ( $function , $params );
return ob_get_clean ();
2009-12-22 13:56:46 +01:00
}
2019-01-30 16:18:44 +01:00
2013-02-18 19:10:53 +01:00
/**
* Print side layer
2019-01-30 16:18:44 +01:00
*
2013-02-18 19:10:53 +01:00
* @ params mixed Hash with all the params :
2019-01-30 16:18:44 +01:00
*
* position : left or right
2013-02-18 19:10:53 +01:00
* width : width of the layer
2019-01-30 16:18:44 +01:00
* 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
2013-02-18 19:10:53 +01:00
*
* @ return string HTML code if return parameter is true .
*/
2019-01-30 16:18:44 +01:00
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'>
2013-02-18 19:10:53 +01:00
<!--
2019-01-30 16:18:44 +01:00
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 ']."' );
2013-02-18 19:10:53 +01:00
//-->
</ script > " ;
2019-01-30 16:18:44 +01:00
echo $out_html . $out_js ;
2013-02-18 19:10:53 +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-01-30 16:18:44 +01:00
2009-07-22 17:26:31 +02:00
/**
* Prints an array of fields in a popup menu of a form .
2019-01-30 16:18:44 +01:00
*
* Based on choose_from_menu () from Moodle
*
2009-07-22 17:26:31 +02: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 )
* @ 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 .
*/
2019-01-30 16:18:44 +01:00
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 ;
2009-07-22 17:26:31 +02:00
}
2019-01-30 16:18:44 +01:00
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 .
2019-01-30 16:18:44 +01:00
*
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 .
2020-10-21 18:31:10 +02:00
* @ param integer $id_group Exclude group branch from id_group .
2020-09-11 14:34:41 +02:00
* @ 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 .
2020-09-29 15:48:20 +02:00
* @ 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 .
*/
2019-01-30 16:18:44 +01:00
function html_print_select_groups (
$id_user = false ,
$privilege = 'AR' ,
$returnAllGroup = true ,
2020-09-11 14:34:41 +02:00
$name = null ,
2019-01-30 16:18:44 +01:00
$selected = '' ,
$script = '' ,
$nothing = '' ,
$nothing_value = 0 ,
$return = false ,
$multiple = false ,
2020-09-11 14:34:41 +02:00
$sort = false ,
2019-01-30 16:18:44 +01:00
$class = '' ,
$disabled = false ,
$style = false ,
$option_style = false ,
$id_group = false ,
$keys_field = 'id_grupo' ,
$strict_user = false ,
$delete_groups = false ,
2019-04-22 17:46:04 +02:00
$include_groups = false ,
2019-04-24 12:32:33 +02:00
$size = false ,
2020-09-29 15:48:20 +02:00
$simple_multiple_options = false ,
$required = false
2019-01-30 16:18:44 +01:00
) {
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 ;
2019-01-30 16:18:44 +01:00
}
2020-09-11 14:34:41 +02:00
$name = 'group_select' . $idcounter [ $name ];
2019-01-30 16:18:44 +01:00
}
2020-10-27 16:03:35 +01:00
if ( $id_group !== false ) {
2020-10-21 18:31:10 +02:00
$children = groups_get_children ( $id_group );
foreach ( $children as $child ) {
$delete_groups [] = $child [ 'id_grupo' ];
}
$delete_groups [] = $id_group ;
}
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 ) {
2020-09-28 15:47:38 +02:00
$fields = [ $selected => groups_get_name ( null , true ) ];
2020-09-11 14:34:41 +02:00
}
} else {
foreach ( $selected as $k ) {
2020-10-20 18:06:05 +02:00
if ( $k === null || $k === '' ) {
continue ;
}
2020-10-20 17:47:35 +02:00
$fields [ $k ] = groups_get_name ( $k , $returnAllGroup );
2019-01-30 16:18:44 +01:00
}
2020-10-20 18:06:05 +02:00
if ( empty ( $fields ) === true && $returnAllGroup ) {
$fields [ 0 ] = groups_get_name ( null , true );
2019-01-30 16:18:44 +01:00
}
2020-09-11 14:34:41 +02:00
}
2019-01-30 16:18:44 +01:00
2020-10-08 16:41:26 +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 );
2019-01-30 16:18:44 +01:00
}
2020-09-11 14:34:41 +02:00
if ( is_array ( $include_groups ) === true ) {
$json_inclusions = json_encode ( $include_groups );
2019-01-30 16:18:44 +01:00
}
2020-09-28 16:02:54 +02:00
$output .= html_print_select (
2019-01-30 16:18:44 +01:00
$fields ,
$name ,
$selected ,
$script ,
$nothing ,
$nothing_value ,
$return ,
$multiple ,
2020-09-11 14:34:41 +02:00
$sort ,
2019-01-30 16:18:44 +01:00
$class ,
$disabled ,
$style ,
2019-04-22 17:46:04 +02:00
$option_style ,
2019-04-24 12:32:33 +02:00
$size ,
false ,
'' ,
false ,
2020-09-29 15:48:20 +02:00
$simple_multiple_options ,
$required
2019-01-30 16:18:44 +01:00
);
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 10 px center ;
background - size : 1 em ;
}
</ 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; ?>' ,
2020-09-11 14:53:29 +02:00
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 ();
2019-01-30 16:18:44 +01:00
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
2019-01-30 16:18:44 +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
/**
* Prints an array of fields in a popup menu of a form .
2019-01-30 16:18:44 +01:00
*
* 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
2012-12-05 Miguel de Dios <miguel.dedios@artica.es>
* extensions/update_manager/lib/libupdate_manager_client.php,
extensions/update_manager/lib/libupdate_manager.php,
operation/agentes/ver_agente.php,
operation/agentes/status_monitor.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/estado_agente.php,
operation/integria_incidents/incident.php,
operation/reporting/reporting_xml.php,
godmode/reporting/visual_console_builder.editor.js,
godmode/reporting/visual_console_builder.wizard.php,
godmode/reporting/visual_console_builder.elements.php,
include/functions_visual_map.php,
include/functions_visual_map_editor.php: uploaded the changes of
source code style previous to my next commit for to make the next
commit more easy.
* godmode/reporting/visual_console_builder.php: set empty string
for the new visualmap.
* include/ajax/visual_console_builder.ajax.php: fixed the regular
expresion to extract the url for the graph.
* include/functions_html.php: fixed into the function
"html_print_select_groups" lost code for to show the selectbox.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7230 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-12-05 15:20:47 +01:00
* 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 ) .
2019-01-30 16:18:44 +01:00
* @ param string $style The string of style .
* @ param mixed $size Max elements showed in the select or default ( size = 10 ) .
2008-12-16 11:20:33 +01:00
*
* @ 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-01-30 16:18:44 +01: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 = '' ,
2019-04-24 12:32:33 +02:00
$select_all = false ,
2020-09-29 15:48:20 +02:00
$simple_multiple_options = false ,
$required = false
2019-01-30 16:18:44 +01:00
) {
$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 . '"' ;
}
2019-04-24 12:32:33 +02:00
if ( ! empty ( $multiple )) {
if ( $size !== false ) {
$attributes .= ' multiple="multiple" size="' . $size . '"' ;
} else {
$attributes .= ' multiple="multiple" size="10"' ;
}
}
2019-04-22 17:46:04 +02:00
2019-04-24 12:32:33 +02:00
if ( $simple_multiple_options === true ) {
if ( $size !== false ) {
$attributes .= ' size="' . $size . '"' ;
} else {
$attributes .= ' size="10"' ;
}
}
2019-01-30 16:18:44 +01:00
if ( ! empty ( $class )) {
$attributes .= ' class="' . $class . '"' ;
}
if ( ! empty ( $disabled )) {
$attributes .= ' disabled="disabled"' ;
}
if ( $style === false ) {
$styleText = 'style=""' ;
} else {
$styleText = 'style="' . $style . '"' ;
}
2020-09-29 15:48:20 +02:00
if ( $required ) {
$required = 'required' ;
}
$output .= '<select ' . $required . ' id="' . $id . '" name="' . $name . '"' . $attributes . ' ' . $styleText . '>' ;
2019-01-30 16:18:44 +01:00
2020-05-14 17:42:58 +02:00
if ( $nothing !== false ) {
if ( $nothing != '' || empty ( $fields )) {
if ( $nothing == '' ) {
$nothing = __ ( 'None' );
}
2019-01-30 16:18:44 +01:00
2020-05-14 17:42:58 +02:00
$output .= '<option value="' . $nothing_value . '"' ;
2019-01-30 16:18:44 +01:00
2020-05-14 17:42:58 +02:00
if ( $nothing_value == $selected ) {
2019-01-30 16:18:44 +01:00
$output .= ' selected="selected"' ;
2020-05-14 17:42:58 +02:00
} else if ( is_array ( $selected )) {
if ( in_array ( $nothing_value , $selected )) {
$output .= ' selected="selected"' ;
}
2019-01-30 16:18:44 +01:00
}
2020-05-14 17:42:58 +02:00
$output .= '>' . $nothing . '</option>' ;
}
2019-01-30 16:18:44 +01:00
}
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 === '' ) {
2019-03-07 12:34:09 +01:00
$output .= '>None</option>' ;
2019-01-30 16:18:44 +01:00
} else {
$output .= '>' . $optlabel . '</option>' ;
}
}
if ( is_array ( $label )) {
$output .= '</optgroup>' ;
}
}
$output .= '</select>' ;
if ( $modal && ! enterprise_installed ()) {
$output .= "
2016-09-28 18:16:01 +02:00
< 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 >
2016-09-19 16:20:18 +02:00
" ;
2019-01-30 16:18:44 +01:00
}
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
}
2019-01-30 16:18:44 +01:00
2020-05-14 17:42:58 +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' );
}
2020-05-14 17:42:58 +02:00
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' ;
2020-05-14 17:42:58 +02:00
}
if ( empty ( $sections ) === true ) {
2020-05-20 19:04:42 +02:00
$sections = [];
}
2020-11-30 14:52:03 +01:00
if ( isset ( $sections [ 'filters' ]) === false ) {
2020-05-20 19:04:42 +02:00
$sections [ 'filters' ] = 1 ;
}
2020-11-30 14:52:03 +01:00
// Show/hide all left/rigth sfilters.
if ( isset ( $sections [ 'item-selected-filters' ]) === false ) {
$sections [ 'item-selected-filters' ] = 1 ;
}
if ( isset ( $sections [ 'item-available-filters' ]) === false ) {
$sections [ 'item-available-filters' ] = 1 ;
}
if ( isset ( $sections [ 'group-filter' ]) == false ) {
2020-05-20 19:04:42 +02:00
$sections [ 'group-filter' ] = 1 ;
}
2020-11-30 14:52:03 +01:00
if ( isset ( $sections [ 'item-available-filter' ]) === false ) {
2020-05-20 19:04:42 +02:00
$sections [ 'item-available-filter' ] = 1 ;
}
2020-11-30 14:52:03 +01:00
if ( isset ( $sections [ 'item-selected-filter' ]) === false ) {
2020-05-20 19:04:42 +02:00
$sections [ 'item-selected-filter' ] = 1 ;
2020-05-14 17:42:58 +02:00
}
2020-11-30 14:52:03 +01:00
if ( isset ( $group_filter ) === false ) {
2020-05-14 17:42:58 +02:00
$sections [ 'group-filter' ] = 0 ;
}
2020-11-30 14:52:03 +01:00
if ( isset ( $group_filter [ 'nothing' ]) === false ) {
$group_filter [ 'nothing' ] = '' ;
}
if ( isset ( $group_filter [ 'nothing_value' ]) === false ) {
$group_filter [ 'nothing_value' ] = 0 ;
}
2020-05-14 17:42:58 +02:00
// Main container.
2020-11-30 14:52:03 +01:00
$output = '<div class="multi-select flex-row-end ' . $class . '">' ;
2020-05-14 17:42:58 +02:00
// Left box.
$output .= '<div class="multi-select-container flex-column">' ;
2020-05-25 18:18:38 +02:00
$disable_filters = '' ;
2020-05-14 17:42:58 +02:00
// Filtering.
if ( isset ( $sections [ 'filters' ]) === true
&& $sections [ 'filters' ] === 1
2020-11-30 14:52:03 +01:00
&& $sections [ 'item-available-filters' ] === 1
2020-05-14 17:42:58 +02:00
) {
// 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 (
[
2020-11-30 14:52:03 +01:00
'input_class' => 'flex-row-vcenter' ,
2020-05-14 17:42:58 +02:00
'label' => __ ( 'Filter group' ),
'name' => 'id-group-available-select-' . $rid ,
'returnAllGroup' => true ,
'privilege' => 'AR' ,
'type' => 'select_groups' ,
'return' => true ,
'script' => $reload_content ,
2020-11-30 14:52:03 +01:00
'nothing' => $group_filter [ 'nothing' ],
'nothing_value' => $group_filter [ 'nothing_value' ],
2020-05-14 17:42:58 +02:00
]
);
$output .= html_print_input (
[
2020-11-30 14:52:03 +01:00
'label' => __ ( 'Group recursion' ),
'input_class' => 'flex-row-vcenter' ,
'name' => 'id-group-recursion-available-select-' . $rid ,
'id' => 'checkbox-id-group-recursion-available-select-' . $rid ,
'type' => 'switch' ,
'onchange' => $reload_content ,
'return' => true ,
2020-05-14 17:42:58 +02:00
]
);
$output .= '</div>' ;
$output .= '</div>' ;
2020-05-25 18:18:38 +02:00
$disable_filters = " disableFilters(' " . $rid . " ') " ;
2020-05-14 17:42:58 +02:00
}
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 ,
2020-05-14 17:42:58 +02:00
'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.
2020-05-14 17:42:58 +02:00
$output .= '<div class="multi-select-container flex-column">' ;
// Filtering.
if ( isset ( $sections [ 'filters' ]) === true
&& $sections [ 'filters' ] === 1
2020-11-30 14:52:03 +01:00
&& $sections [ 'item-selected-filters' ]
2020-05-14 17:42:58 +02:00
) {
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 (
[
2020-11-30 14:52:03 +01:00
'input_class' => 'flex-row-vcenter' ,
2020-05-14 17:42:58 +02:00
'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 (
[
2020-11-30 14:52:03 +01:00
'input_class' => 'flex-row-vcenter' ,
'label' => __ ( 'Group recursion' ),
'name' => 'id-group-recursion-selected-select-' . $rid ,
'type' => 'checkbox' ,
'script' => $reload_content ,
'return' => true ,
2020-05-14 17:42:58 +02:00
]
);
$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 ,
2020-11-30 14:52:03 +01:00
'input_class' => 'flex-row-vcenter filter w100p' ,
2020-05-14 17:42:58 +02:00
'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' ];
2021-01-15 13:52:31 +01:00
$return_all_group = isset ( $data [ 'mReturnAllGroup' ]) ? $data [ 'mReturnAllGroup' ] : true ;
2020-07-07 19:10:24 +02:00
// Group.
$output = '<div>' ;
$output .= html_print_input (
[
'label' => __ ( 'Group' ),
'name' => 'filtered-module-group-' . $uniqId ,
2021-01-15 13:52:31 +01:00
'returnAllGroup' => $return_all_group ,
2020-07-07 19:10:24 +02:00
'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 = [];
}
2021-01-15 13:52:31 +01:00
if ( $data [ 'mShowSelectedOtherGroups' ]) {
$selected_agents = explode ( ',' , $data [ 'mAgents' ]);
foreach ( $selected_agents as $agent_id ) {
if ( ! array_key_exists ( $agent_id , $agents )) {
$agents [ $agent_id ] = agents_get_alias ( $agent_id );
}
}
}
2020-07-07 19:10:24 +02:00
$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
);
2021-01-15 13:52:31 +01:00
if ( $data [ 'mShowSelectedOtherGroups' ]) {
$selected_modules_ids = explode ( ',' , $data [ 'mModules' ]);
foreach ( $selected_modules_ids as $id ) {
if ( ! array_key_exists ( $id , $all_modules )) {
$module_data = modules_get_agentmodule ( $id );
$all_modules [ $id ] = $module_data [ 'nombre' ];
}
}
}
2020-07-07 19:10:24 +02:00
$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 .
2019-01-30 16:18:44 +01:00
*
2008-12-16 11:20:33 +01:00
* The element will have an id like : " password- $value " . Based on choose_from_menu () from Moodle .
2019-01-30 16:18:44 +01:00
*
* @ 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 .
2020-10-26 13:37:05 +01:00
* @ param boolean $required Select is required or not .
2008-12-16 11:20:33 +01:00
*
* @ 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-01-30 16:18:44 +01: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 ,
2020-10-26 13:37:05 +01:00
$class = '' ,
$required = false
2019-01-30 16:18:44 +01:00
) {
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 ,
2019-01-30 16:18:44 +01:00
$disabled ,
$style ,
'' ,
2020-10-26 13:37:05 +01:00
$size ,
// Modal.
false ,
// Message.
'' ,
// Select_all.
false ,
// Simple_multiple_options.
false ,
// Required.
$required
2019-01-30 16:18:44 +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-01-30 16:18:44 +01: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' );
2019-12-05 17:41:44 +01:00
$default_module_custom_units = get_custom_module_units ();
$fields = array_merge ( $fields , $default_module_custom_units );
2019-01-30 16:18:44 +01:00
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 > " ;
2018-07-31 15:25:44 +02:00
2019-01-30 16:18:44 +01:00
$returnString = ob_get_clean ();
2018-07-31 15:25:44 +02:00
2019-01-30 16:18:44 +01:00
if ( $return ) {
return $returnString ;
} else {
echo $returnString ;
}
}
2017-06-30 14:18:23 +02:00
2018-07-31 15:25:44 +02:00
2019-01-30 16:18:44 +01:00
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'>
2015-02-09 19:34:36 +01:00
$ ( document ) . ready ( function () {
post_process_select_init ( '$uniq_name' );
post_process_select_events ( '$uniq_name' );
});
2018-07-31 15:25:44 +02:00
2015-02-09 19:34:36 +01:00
</ script > " ;
2018-07-31 15:25:44 +02:00
2019-01-30 16:18:44 +01:00
$returnString = ob_get_clean ();
2018-07-31 15:25:44 +02:00
2019-01-30 16:18:44 +01:00
if ( $return ) {
return $returnString ;
} else {
echo $returnString ;
}
2015-02-09 19:34:36 +01:00
}
2019-01-30 16:18:44 +01:00
2009-10-06 20:50:48 +02:00
/**
* Render a pair of select for times and text box for set the time more fine .
2019-01-30 16:18:44 +01:00
*
2020-01-16 13:50:39 +01:00
* @ 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 .
2009-10-06 20:50:48 +02:00
* @ return string HTML code if return parameter is true .
*/
2019-01-30 16:18:44 +01:00
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 = '' ,
2020-01-16 13:50:39 +01:00
$no_change = false ,
$allow_zero = false
2019-01-30 16:18:44 +01:00
) {
global $config ;
$admin = is_user_admin ( $config [ 'id_user' ]);
if ( $custom_fields ) {
$fields = $custom_fields ;
} else {
2020-01-16 13:50:39 +01:00
$fields = get_periods ( true , true , $allow_zero );
2019-01-30 16:18:44 +01:00
}
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 ;
}
}
}
}
2020-01-16 13:50:39 +01:00
// 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 )) {
2019-01-30 16:18:44 +01:00
$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.
2020-12-03 18:00:20 +01:00
echo '<div id="' . $uniq_name . '_default" style="width:auto;display:inline">' ;
2019-01-30 16:18:44 +01:00
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.
2019-01-30 16:18:44 +01:00
if ( $admin ) {
echo ' <a href="javascript:">' . html_print_image (
'images/pencil.png' ,
true ,
[
2019-03-15 10:52:46 +01:00
'class' => $uniq_name . '_toggler ' . $class ,
2019-01-30 16:18:44 +01:00
'alt' => __ ( 'Custom' ),
'title' => __ ( 'Custom' ),
2019-05-27 18:03:56 +02:00
'style' => 'width: 18px; margin-bottom: -5px;' . $style_icon ,
2019-01-30 16:18:44 +01:00
],
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;">' ;
2019-01-30 16:18:44 +01:00
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 ,
2019-01-30 16:18:44 +01:00
]
) . '</a>' ;
echo '</div>' ;
echo " <script type='text/javascript'>
2012-03-16 10:23:09 +01:00
$ ( 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."' );
2012-03-16 10:23:09 +01:00
});
2012-07-05 11:16:57 +02:00
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 ();
2012-07-05 11:16:57 +02:00
}
</ script > " ;
2019-01-30 16:18:44 +01:00
$returnString = ob_get_clean ();
if ( $return ) {
return $returnString ;
} else {
echo $returnString ;
}
2009-10-06 20:50:48 +02:00
}
2019-01-30 16:18:44 +01:00
2012-10-23 Ramon Novoa <rnovoa@artica.es>
* include/functions_cron.php: Added to repository. Cron related
functions.
* include/functions_html.php, pandoradb.sql,
pandoradb.postgreSQL.sql, pandoradb.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.mysql.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.postgreSQL.sql,
godmode/agentes/module_manager_editor_common.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/module_manager_editor.php: Added support for remote
cron modules.
* godmode/netflow/nf_item_list.php,
godmode/netflow/nf_report_item.php,
operation/netflow/nf_view.php,
include/functions_netflow.php: Added a description to report items.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7083 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-10-23 12:45:25 +02:00
/**
* Print selects to configure the cron of a module .
2019-01-30 16:18:44 +01:00
*
2012-10-23 Ramon Novoa <rnovoa@artica.es>
* include/functions_cron.php: Added to repository. Cron related
functions.
* include/functions_html.php, pandoradb.sql,
pandoradb.postgreSQL.sql, pandoradb.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.mysql.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.postgreSQL.sql,
godmode/agentes/module_manager_editor_common.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/module_manager_editor.php: Added support for remote
cron modules.
* godmode/netflow/nf_item_list.php,
godmode/netflow/nf_report_item.php,
operation/netflow/nf_view.php,
include/functions_netflow.php: Added a description to report items.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7083 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-10-23 12:45:25 +02:00
* @ 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 ) .
2016-02-05 09:53:45 +01:00
* @ param bool Print cron grayed
2019-01-30 16:18:44 +01:00
*
2012-10-23 Ramon Novoa <rnovoa@artica.es>
* include/functions_cron.php: Added to repository. Cron related
functions.
* include/functions_html.php, pandoradb.sql,
pandoradb.postgreSQL.sql, pandoradb.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.mysql.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.postgreSQL.sql,
godmode/agentes/module_manager_editor_common.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/module_manager_editor.php: Added support for remote
cron modules.
* godmode/netflow/nf_item_list.php,
godmode/netflow/nf_report_item.php,
operation/netflow/nf_view.php,
include/functions_netflow.php: Added a description to report items.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7083 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-10-23 12:45:25 +02:00
* @ return string HTML code if return parameter is true .
*/
2019-01-30 16:18:44 +01:00
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 ++ ) {
2019-01-30 16:18:44 +01:00
$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;' ;
}
2019-01-30 16:18:44 +01:00
}
// Month days
2019-11-20 17:20:17 +01:00
for ( $i = 1 ; $i <= 31 ; $i ++ ) {
2019-01-30 16:18:44 +01:00
$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 );
2019-01-30 16:18:44 +01:00
$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 );
2019-01-30 16:18:44 +01:00
$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 );
2012-10-23 Ramon Novoa <rnovoa@artica.es>
* include/functions_cron.php: Added to repository. Cron related
functions.
* include/functions_html.php, pandoradb.sql,
pandoradb.postgreSQL.sql, pandoradb.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.mysql.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.postgreSQL.sql,
godmode/agentes/module_manager_editor_common.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/module_manager_editor.php: Added support for remote
cron modules.
* godmode/netflow/nf_item_list.php,
godmode/netflow/nf_report_item.php,
operation/netflow/nf_view.php,
include/functions_netflow.php: Added a description to report items.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7083 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-10-23 12:45:25 +02:00
}
2019-01-30 16:18:44 +01:00
2020-06-22 14:06:13 +02:00
/**
* 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 . '" ' ;
2020-06-22 14:06:13 +02:00
$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 ;
}
2020-06-22 14:06:13 +02:00
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 15:43:31 +02:00
* Render an input text element . Extended version , use html_print_input_text () to simplify .
2019-01-30 16:18:44 +01:00
*
* @ 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 .
2008-12-16 11:20:33 +01:00
*
* @ 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 ,
2020-07-13 12:23:46 +02:00
$readonly ,
2020-03-26 12:29:38 +01:00
$script ,
$attributes ,
$return = false ,
$password = false ,
$function = '' ,
2020-07-13 12:23:46 +02:00
$autocomplete = 'off' ,
$disabled = false
2020-03-26 12:29:38 +01:00
) {
2019-01-30 16:18:44 +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 ) {
2019-01-30 16:18:44 +01:00
$size = 10 ;
}
++ $idcounter ;
$valid_attrs = [
'accept' ,
2020-03-26 12:29:38 +01:00
'autofocus' ,
2019-01-30 16:18:44 +01:00
'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' ,
2020-10-30 13:25:33 +01:00
'list' ,
2019-01-30 16:18:44 +01:00
];
2019-06-06 16:51:11 +02:00
$output = '<input ' . ( $password ? 'type="password" autocomplete="' . $autocomplete . '" ' : 'type="text" ' );
2019-01-30 16:18:44 +01:00
2020-07-13 12:23:46 +02:00
if ( $readonly && ( ! is_array ( $attributes ) || ! array_key_exists ( 'readonly' , $attributes ))) {
2019-01-30 16:18:44 +01:00
$output .= 'readonly="readonly" ' ;
}
2020-07-13 12:23:46 +02:00
if ( $disabled && ( ! is_array ( $attributes ) || ! array_key_exists ( 'disabled' , $attributes ))) {
$output .= 'disabled="disabled" ' ;
}
2019-01-30 16:18:44 +01:00
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.
2019-01-30 16:18:44 +01:00
$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
}
2019-01-30 16:18:44 +01:00
2013-02-26 17:10:02 +01:00
/**
* Render an input password element .
*
* The element will have an id like : " password- $name "
2019-01-30 16:18:44 +01:00
*
2013-02-26 17:10:02 +01:00
* @ param mixed parameters :
2019-01-30 16:18:44 +01:00
* - id : string
* - style : string
* - hidden : boolean
* - content : string
2013-02-26 17:10:02 +01:00
* @ param bool return or echo flag
*
* @ return string HTML code if return parameter is true .
*/
2019-01-30 16:18:44 +01:00
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' ,
2019-01-30 16:18:44 +01:00
];
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 ;
}
2013-02-26 17:10:02 +01:00
}
2020-11-06 12:38:06 +01:00
/**
* Render an anchor html element .
*
* @ param array $options Parameters
* - id : string
* - style : string
* - title : string
* - href : string .
* @ param boolean $return Return or echo flag .
*
* @ return string HTML code if return parameter is true .
*/
function html_print_anchor (
array $options ,
bool $return = false
) {
$output = '<a ' ;
// Valid attributes (invalid attributes get skipped).
$attrs = [
'id' ,
'style' ,
'class' ,
'title' ,
];
$output .= ( isset ( $options [ 'href' ]) === true ) ? 'href="' . io_safe_input_html ( $options [ 'href' ]) . '"' : ui_get_full_url ();
foreach ( $attrs as $attribute ) {
if ( isset ( $options [ $attribute ])) {
$output .= ' ' . $attribute . '="' . io_safe_input_html ( $options [ $attribute ]) . '"' ;
}
}
$output .= '>' ;
$output .= ( isset ( $options [ 'content' ]) === true ) ? io_safe_input_html ( $options [ 'content' ]) : '' ;
$output .= '</a>' ;
if ( $return === true ) {
return $output ;
} else {
echo $output ;
}
}
2008-08-21 23:07:20 +02:00
/**
2008-08-21 23:57:11 +02:00
* Render an input password element .
2008-12-16 11:20:33 +01:00
*
* The element will have an id like : " password- $name "
2019-01-30 16:18:44 +01:00
*
* @ 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 ) .
2008-12-16 11:20:33 +01:00
*
* @ return string HTML code if return parameter is true .
2008-08-21 23:07:20 +02:00
*/
2019-01-30 16:18:44 +01:00
function html_print_input_password (
$name ,
$value ,
$alt = '' ,
$size = 50 ,
$maxlength = 255 ,
$return = false ,
$disabled = false ,
$required = false ,
2019-06-06 16:51:11 +02:00
$class = '' ,
$autocomplete = 'off'
2019-01-30 16:18:44 +01:00
) {
if ( $maxlength == 0 ) {
$maxlength = 255 ;
}
2019-06-07 17:35:13 +02:00
if ( $size === false ) {
$size = false ;
} else if ( $size == 0 ) {
2019-01-30 16:18:44 +01:00
$size = 10 ;
}
$attr = [];
if ( $required ) {
$attr [ 'required' ] = 'required' ;
}
if ( $class ) {
$attr [ 'class' ] = $class ;
}
2019-09-24 11:25:53 +02:00
if ( $disabled === false ) {
// Trick to avoid password completion on most browsers.
if ( $autocomplete !== 'on' ) {
$disabled = true ;
$attr [ 'onfocus' ] = " this.removeAttribute('readonly'); " ;
}
}
2019-06-06 16:51:11 +02:00
return html_print_input_text_extended ( $name , $value , 'password-' . $name , $alt , $size , $maxlength , $disabled , '' , $attr , $return , true , '' , $autocomplete );
2008-08-21 23:07:20 +02:00
}
2019-01-30 16:18:44 +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
/**
2008-12-16 11:20:33 +01:00
* Render an input text element .
*
* The element will have an id like : " text- $name "
2019-01-30 16:18:44 +01:00
*
* @ 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 ) .
2008-12-16 11:20:33 +01:00
*
* @ 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 ,
2020-07-13 12:23:46 +02:00
$readonly = false ,
2020-03-26 12:29:38 +01:00
$required = false ,
$function = '' ,
$class = '' ,
$onChange = '' ,
$autocomplete = '' ,
2020-04-02 12:53:21 +02:00
$autofocus = false ,
2020-04-13 15:41:00 +02:00
$onKeyDown = '' ,
2020-05-14 17:42:58 +02:00
$formTo = '' ,
2020-07-13 12:23:46 +02:00
$onKeyUp = '' ,
2020-10-30 13:25:33 +01:00
$disabled = false ,
$list = ''
2020-03-26 12:29:38 +01:00
) {
2019-01-30 16:18:44 +01:00
if ( $maxlength == 0 ) {
$maxlength = 255 ;
}
2019-06-07 17:35:13 +02:00
if ( $size === false ) {
$size = false ;
} else if ( $size == 0 ) {
2019-01-30 16:18:44 +01:00
$size = 10 ;
}
$attr = [];
if ( $required ) {
$attr [ 'required' ] = 'required' ;
}
if ( $class != '' ) {
$attr [ 'class' ] = $class ;
}
if ( $onChange != '' ) {
$attr [ 'onchange' ] = $onChange ;
}
2020-04-02 12:53:21 +02:00
if ( $onKeyDown != '' ) {
$attr [ 'onkeydown' ] = $onKeyDown ;
}
2020-05-14 17:42:58 +02:00
if ( $onKeyUp != '' ) {
$attr [ 'onkeyup' ] = $onKeyUp ;
}
2019-01-30 16:18:44 +01:00
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-10-30 13:25:33 +01:00
if ( $list != '' ) {
$attr [ 'list' ] = $list ;
}
2020-03-26 12:29:38 +01:00
return html_print_input_text_extended (
$name ,
$value ,
'text-' . $name ,
$alt ,
$size ,
$maxlength ,
2020-07-13 12:23:46 +02:00
$readonly ,
2020-03-26 12:29:38 +01:00
'' ,
$attr ,
$return ,
false ,
2020-07-13 12:23:46 +02:00
$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-01-30 16:18:44 +01: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 ;
}
2008-10-22 14:01:36 +02:00
/**
* Render an input image element .
2008-12-16 11:20:33 +01:00
*
* The element will have an id like : " image- $name "
2019-01-30 16:18:44 +01:00
*
* @ 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 ) .
2008-12-16 11:20:33 +01:00
*
* @ return string HTML code if return parameter is true .
2008-10-22 14:01:36 +02:00
*/
2019-01-30 16:18:44 +01:00
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' ,
2019-01-30 16:18:44 +01:00
];
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-10-22 14:01:36 +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-01-30 16:18:44 +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
/**
* Render an input hidden element .
2008-12-16 11:20:33 +01:00
*
* The element will have an id like : " hidden- $name "
2019-01-30 16:18:44 +01:00
*
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 .
2008-12-16 11:20:33 +01:00
*
* @ 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 = ''
) {
2019-01-30 16:18:44 +01:00
if ( $class !== false ) {
$classText = 'class="' . $class . '"' ;
} else {
$classText = '' ;
}
2020-06-30 12:16:51 +02:00
if ( $attributes !== false ) {
$otherAttributes = $attributes ;
} else {
$otherAttributes = '' ;
}
2019-01-30 16:18:44 +01:00
$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 . '/>' ;
2019-01-30 16:18:44 +01:00
if ( $return ) {
return $output ;
}
echo $output ;
2012-09-12 17:53:58 +02:00
}
2019-01-30 16:18:44 +01:00
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 "
2019-01-30 16:18:44 +01:00
*
* @ 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 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
) {
2019-01-30 16:18:44 +01:00
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 .= ' />' ;
2019-01-30 16:18:44 +01:00
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
}
2019-01-30 16:18:44 +01:00
2018-12-10 09:20:06 +01:00
/**
* Render a color input element .
*
* The element will have an id like : " hidden- $name "
2019-01-30 16:18:44 +01:00
*
* @ 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 ) .
2018-12-10 09:20:06 +01:00
*
* @ 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 )
2019-01-30 16:18:44 +01:00
{
$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 . '"' ;
}
2019-01-30 16:18:44 +01:00
$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 ;
2018-12-10 09:20:06 +01:00
}
2019-01-30 16:18:44 +01:00
2008-12-16 11:20:33 +01:00
/**
* Render an submit input button element .
*
* The element will have an id like : " submit- $name "
2019-01-30 16:18:44 +01:00
*
* @ 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 ) .
2008-12-16 11:20:33 +01:00
*
* @ return string HTML code if return parameter is true .
*/
2019-01-30 16:18:44 +01:00
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
}
2019-01-30 16:18:44 +01:00
2008-12-16 11:20:33 +01:00
/**
* Render an submit input button element .
*
* The element will have an id like : " button- $name "
2019-01-30 16:18:44 +01:00
*
* @ 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 .
2008-12-16 11:20:33 +01:00
*
* @ return string HTML code if return parameter is true .
*/
2019-01-30 16:18:44 +01:00
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 .= "
2016-09-28 18:16:01 +02:00
< 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 >
" ;
2019-01-30 16:18:44 +01:00
}
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
}
2019-01-30 16:18:44 +01:00
2008-12-16 11:20:33 +01:00
/**
* Render an input textarea element .
*
* The element will have an id like : " textarea_ $name "
2019-01-30 16:18:44 +01:00
*
* @ 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 ) . *
2009-01-08 16:52:13 +01:00
*
2008-12-16 11:20:33 +01:00
* @ return string HTML code if return parameter is true .
*/
2020-07-13 12:23:46 +02:00
function html_print_textarea (
$name ,
$rows ,
$columns ,
$value = '' ,
$attributes = '' ,
$return = false ,
$class = '' ,
2020-09-23 14:07:23 +02:00
$disable = false ,
$id = false
2020-07-13 12:23:46 +02:00
) {
2020-04-20 15:19:28 +02:00
$disabled = ( $disable ) ? 'disabled' : '' ;
2020-09-23 14:07:23 +02:00
if ( $id === false ) {
$id = 'textarea_' . $name ;
}
$output = '<textarea id="' . $id . '" name="' . $name . '" cols="' . $columns . '" rows="' . $rows . '" ' . $attributes . ' class="' . $class . '" ' . $disabled . '>' ;
2019-01-30 16:18:44 +01:00
$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
}
2019-01-30 16:18:44 +01:00
2013-02-27 18:11:42 +01:00
/**
* Return a table parameters predefined
2019-01-30 16:18:44 +01:00
*
2013-02-27 18:11:42 +01:00
* @ param string model
2019-01-30 16:18:44 +01:00
* - Transparent : More basic template . No borders , all the columns with same width
2013-02-27 18:11:42 +01:00
* @ param int number of columns
2019-01-30 16:18:44 +01:00
*
* @ return object Table object
2013-02-27 18:11:42 +01:00
*/
2019-01-30 16:18:44 +01:00
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 ;
2013-02-27 18:11:42 +01:00
}
2019-01-30 16:18:44 +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
/**
* 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 :
2019-01-30 16:18:44 +01:00
* $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
2012-04-18 10:08:04 +02:00
* $table -> caption - Table title
2010-05-06 17:53:38 +02:00
* @ param bool Whether to return an output string or echo now
2008-12-16 11:20:33 +01:00
*
* @ 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-01-30 16:18:44 +01: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 ();
}
2019-01-30 16:18:44 +01:00
$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 = '' ;
}
2019-01-30 16:18:44 +01:00
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 ;
2019-01-30 16:18:44 +01:00
} else {
2019-10-23 19:50:57 +02:00
$output .= '<table ' . $table -> autosize . ' style="' . $styleTable . ' ' . $table -> tablealign ;
2019-01-30 16:18:44 +01:00
}
$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 " ;
}
2019-01-30 16:18:44 +01:00
}
$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
}
2010-02-15 14:07:52 +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-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 .
2008-12-16 11:20:33 +01:00
*
* @ 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
) {
2019-01-30 16:18:44 +01:00
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 );
}
2019-01-30 16:18:44 +01:00
$output .= ' id="' . $htmlid . '"' ;
if ( $value == $checkedvalue ) {
$output .= ' checked="checked"' ;
}
if ( $disabled ) {
$output .= ' disabled="disabled"' ;
}
if ( $script != '' ) {
$output .= ' onClick="' . $script . '"' ;
}
$output .= ' ' . $attributes ;
$output .= ' />' ;
2020-05-19 08:20:04 +02:00
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 " ;
}
2019-01-30 16:18:44 +01:00
}
if ( $modal && ! enterprise_installed ()) {
$output .= "
2016-09-28 18:16:01 +02:00
< 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 >
" ;
2019-01-30 16:18:44 +01:00
}
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
}
2019-01-30 16:18:44 +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
/**
* 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 ) .
2019-01-30 16:18:44 +01:00
* @ 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 ) .
2008-12-16 11:20:33 +01:00
*
* @ 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-01-30 16:18:44 +01: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
}
2019-01-30 16:18:44 +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
/**
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 .
2008-12-16 11:20:33 +01:00
*
* @ 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 = ''
) {
2019-01-30 16:18:44 +01:00
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 . '"' ;
2019-01-30 16:18:44 +01:00
}
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
}
2019-01-30 16:18:44 +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
/**
* 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 .
2008-12-16 11:20:33 +01:00
*
* @ 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
);
2019-01-30 16:18:44 +01:00
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
}
2019-01-30 16:18:44 +01:00
2019-01-17 17:28:23 +01: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 .
2019-01-17 17:28:23 +01:00
*
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 .
2019-01-17 17:28:23 +01:00
*
2020-06-30 12:16:51 +02:00
* @ return string Input html .
2019-01-17 17:28:23 +01:00
*/
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 = ''
) {
2019-02-06 16:11:46 +01:00
static $idcounter = [];
2020-06-30 12:16:51 +02:00
// If duplicate names exist, it will start numbering. Otherwise it won't.
2019-02-06 16:11:46 +01:00
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 ] : '' )
);
2019-02-06 16:11:46 +01:00
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"' : '' );
2019-02-06 16:11:46 +01:00
if ( $id == '' ) {
$output .= ' id="checkbox-' . $id_aux . '"' ;
} else {
2021-02-04 18:19:35 +01:00
$output .= ' id="' . $id . '"' ;
2019-02-06 16:11:46 +01:00
}
if ( $script != '' ) {
$output .= ' onclick="' . $script . '"' ;
}
if ( $disabled ) {
$output .= ' disabled="disabled"' ;
}
$output .= ' ' . $attributes ;
2019-02-26 12:04:18 +01:00
$output .= ' /><span class="p-slider"></span></label>' ;
2019-02-06 16:11:46 +01:00
$output .= " \n " ;
if ( $return === false ) {
echo $output ;
}
return $output ;
2019-01-17 17:28:23 +01:00
}
2019-02-06 16:11:46 +01:00
2019-01-17 17:28:23 +01:00
/**
2019-02-26 12:04:18 +01:00
* Render a checkbox button input switch type .
2019-01-17 17:28:23 +01:00
*
* @ 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 ) .
2019-02-06 16:11:46 +01:00
* @ param boolean $disabled Disable the button ( optional , button enabled by default ) .
2019-01-17 17:28:23 +01:00
*
* @ return string HTML code if return parameter is true .
*/
2019-02-06 16:11:46 +01:00
2019-02-26 12:04:18 +01:00
function html_print_checkbox_switch ( $name , $value , $checked = false , $return = false , $disabled = false , $script = '' , $disabled_hidden = false )
2019-02-06 16:11:46 +01:00
{
2019-02-26 12:04:18 +01:00
$output = html_print_checkbox_switch_extended ( $name , $value , ( bool ) $checked , $disabled , $script , '' , true );
2019-02-06 16:11:46 +01:00
if ( ! $disabled_hidden ) {
$output .= html_print_input_hidden ( $name . '_sent' , 1 , true );
}
if ( $return === false ) {
echo $output ;
}
return $output ;
2019-01-17 17:28:23 +01:00
}
2019-02-06 16:11:46 +01:00
2008-12-16 11:20:33 +01:00
/**
* Prints an image HTML element .
*
2019-03-07 15:10:38 +01:00
* @ 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 .
2019-01-30 16:18:44 +01:00
*
2008-12-16 11:20:33 +01:00
* @ return string HTML code if return parameter is true .
*/
2019-01-30 16:18:44 +01:00
function html_print_image (
$src ,
$return = false ,
$options = false ,
$return_src = false ,
$relative = false ,
$no_in_meta = false ,
$isExternalLink = false
) {
global $config ;
2019-03-07 15:10:38 +01:00
// If metaconsole is in use then don't use skins.
2019-01-30 16:18:44 +01:00
if ( ! is_metaconsole ()) {
2019-03-07 15:10:38 +01:00
// Checks if user's skin is available.
2019-01-30 16:18:44 +01:00
$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 ;
}
}
}
2019-03-07 15:10:38 +01:00
// If metaconsole is activated and image doesn't exists try to search on normal console.
2019-01-30 16:18:44 +01:00
if ( is_metaconsole ()) {
if ( ! $relative ) {
$working_dir = str_replace ( '\\' , '/' , getcwd ());
2019-03-07 15:10:38 +01:00
// Windows compatibility.
2019-01-30 16:18:44 +01:00
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 );
2019-01-30 16:18:44 +01:00
} 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 );
}
}
2019-03-07 15:10:38 +01:00
// Only return src field of image.
2019-01-30 16:18:44 +01:00
if ( $return_src ) {
if ( ! $return ) {
echo io_safe_input ( $src );
2019-03-07 15:10:38 +01:00
return null ;
2019-01-30 16:18:44 +01:00
}
return io_safe_input ( $src );
}
$output = '<img src="' . $src . '" ' ;
2019-03-07 15:10:38 +01:00
// Dont use safe_input here or the performance will dead.
2019-01-30 16:18:44 +01:00
$style = '' ;
if ( ! empty ( $options )) {
2019-03-07 15:10:38 +01:00
// Deprecated or value-less attributes.
2019-01-30 16:18:44 +01:00
if ( isset ( $options [ 'align' ])) {
$style .= 'align:' . $options [ 'align' ] . ';' ;
// Align is deprecated, use styles.
}
if ( isset ( $options [ 'border' ])) {
$style .= 'border:' . $options [ 'border' ] . 'px;' ;
2019-03-07 15:10:38 +01:00
// Border is deprecated, use styles.
2019-01-30 16:18:44 +01:00
}
if ( isset ( $options [ 'hspace' ])) {
$style .= 'margin-left:' . $options [ 'hspace' ] . 'px;' ;
2019-03-07 15:10:38 +01:00
// hspace is deprecated, use styles.
2019-01-30 16:18:44 +01:00
$style .= 'margin-right:' . $options [ 'hspace' ] . 'px;' ;
}
if ( isset ( $options [ 'ismap' ])) {
$output .= 'ismap="ismap" ' ;
2019-03-07 15:10:38 +01:00
// Defines the image as a server-side image map.
2019-01-30 16:18:44 +01:00
}
if ( isset ( $options [ 'vspace' ])) {
$style .= 'margin-top:' . $options [ 'vspace' ] . 'px;' ;
2019-03-07 15:10:38 +01:00
// hspace is deprecated, use styles.
2019-01-30 16:18:44 +01:00
$style .= 'margin-bottom:' . $options [ 'vspace' ] . 'px;' ;
}
if ( isset ( $options [ 'style' ])) {
$style .= $options [ 'style' ];
}
2019-03-07 15:10:38 +01:00
// If title is provided activate forced title.
2019-01-30 16:18:44 +01:00
if ( isset ( $options [ 'title' ]) && $options [ 'title' ] != '' ) {
if ( isset ( $options [ 'class' ])) {
$options [ 'class' ] .= ' forced_title' ;
} else {
$options [ 'class' ] = 'forced_title' ;
}
2019-03-07 15:10:38 +01:00
// New way to show the force_title (cleaner and better performance).
2019-01-30 16:18:44 +01:00
$output .= 'data-title="' . io_safe_input_html ( $options [ 'title' ]) . '" ' ;
$output .= 'data-use_title_for_force_title="1" ' ;
}
2019-03-07 15:10:38 +01:00
// Valid attributes (invalid attributes get skipped).
2019-01-30 16:18:44 +01:00
$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' ]);
2019-03-07 15:10:38 +01:00
// Set alt to title if it's not set.
2019-01-30 16:18:44 +01:00
}
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 ;
2008-12-16 11:20:33 +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
2019-01-30 16:18:44 +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 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 ) .
2019-01-30 16:18:44 +01:00
* @ 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
*/
2019-01-30 16:18:44 +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
}
2019-01-30 16:18:44 +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 ) .
2019-01-30 16:18:44 +01:00
* @ 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
*/
2019-01-30 16:18:44 +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
}
2010-08-12 13:09:45 +02:00
2019-01-30 16:18:44 +01:00
2010-08-12 13:09:45 +02: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 15:43:31 +02:00
function html_html2rgb ( $htmlcolor )
2010-08-12 13:09:45 +02:00
{
2019-01-30 16:18:44 +01:00
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 ;
}
2010-08-12 13:09:45 +02:00
}
2010-11-03 18:45:39 +01:00
2019-01-30 16:18:44 +01:00
2010-11-03 18:45:39 +01:00
/**
* Print a magic - ajax control to select the module .
2019-01-30 16:18:44 +01:00
*
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-01-30 16:18:44 +01:00
*
2019-06-07 17:35:13 +02:00
* And the formatted is the select item as string .
2019-01-30 16:18:44 +01:00
*
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 .
2019-01-30 16:18:44 +01:00
*
2010-11-03 18:45:39 +01:00
* @ return mixed If the $return is true , return the output as string .
*/
2019-01-30 16:18:44 +01:00
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'
2019-01-30 16:18:44 +01:00
) {
global $config ;
if ( $id_agents === false ) {
2019-04-09 09:51:03 +02:00
$agents = agents_get_agents ();
2019-01-30 16:18:44 +01:00
if ( $agents === false ) {
$agents = [];
}
$id_agents = [];
foreach ( $agents as $agent ) {
$id_agents [] = $agent [ 'id_agente' ];
}
} else {
if ( $ACL ) {
2019-04-09 09:51:03 +02:00
$agents = agents_get_agents ();
2019-01-30 16:18:44 +01:00
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 ,
2019-01-30 16:18:44 +01:00
100 ,
false ,
'' ,
[ 'style' => 'background: url(images/search_module.png) no-repeat right;' ]
);
html_print_input_hidden ( $name . '_hidden' , $id_agent_module );
2019-09-12 12:25:31 +02:00
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 );
2019-01-30 16:18:44 +01:00
?>
< 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 ;
}
2010-11-03 18:45:39 +01:00
}
2018-04-30 15:34:18 +02:00
2019-01-30 16:18:44 +01:00
2018-04-30 15:34:18 +02:00
/**
* @ param string Select form name
* @ param string Current selected value
*
* @ return string HTML code
*/
2019-01-30 16:18:44 +01:00
function html_print_timezone_select ( $name , $selected = '' )
{
2019-03-20 13:26:15 +01:00
$timezones_index = timezone_identifiers_list ();
$timezones = timezone_identifiers_list ();
$timezones = array_combine ( $timezones_index , $timezones );
2019-01-30 16:18:44 +01:00
return html_print_select ( $timezones , $name , $selected , '' , __ ( 'None' ), '' , true , false , false );
2018-04-30 15:34:18 +02:00
}
2019-01-30 16:18:44 +01:00
2018-08-13 12:41:09 +02:00
/**
* Enclose a text into a result_div
*
* @ param string Text to enclose
*
* @ return string Text inside the result_div
*/
2020-07-23 17:28:44 +02:00
function html_print_result_div ( $text )
2019-01-30 16:18:44 +01:00
{
$text = preg_replace ( '/</' , '<' , $text );
$text = preg_replace ( '/>/' , '>' , $text );
$text = preg_replace ( '/\n/i' , '<br>' , $text );
$text = preg_replace ( '/\s/i' , ' ' , $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 ;
2018-08-13 12:41:09 +02:00
}
2019-01-30 16:18:44 +01:00
2018-08-14 10:40:56 +02:00
/**
* 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 .
*/
2019-01-30 16:18:44 +01:00
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 , '' , '&' );
$params [ $order_tag ] = $down ;
$url_down = 'index.php?' . http_build_query ( $params , '' , '&' );
// Build the links
2019-06-03 19:13:29 +02:00
$out = ' <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>' ;
2018-08-14 10:40:56 +02:00
}
2018-09-13 15:19:08 +02:00
2019-01-30 16:18:44 +01:00
2018-09-13 15:19:08 +02:00
/**
* Print an input hidden with a new csrf token generated
*/
2019-01-30 16:18:44 +01:00
function html_print_csrf_hidden ()
{
html_print_input_hidden ( 'csrf_code' , generate_csrf_code ());
2018-09-13 15:19:08 +02:00
}
2019-01-30 16:18:44 +01:00
2018-09-13 15:19:08 +02:00
/**
* Print an error if csrf is incorrect
*/
2019-01-30 16:18:44 +01:00
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 ;
2018-09-13 15:19:08 +02:00
}
2019-02-26 12:04:18 +01:00
/**
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 ) .
2020-06-22 14:06:13 +02:00
* value : Check or not ( boolean ) .
* disabled : Enabled or disabled ( boolean ) .
2019-10-23 19:50:57 +02:00
*
* @ return string with HTML of button .
2019-02-26 12:04:18 +01:00
*/
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' : '' ;
2019-02-26 12:04:18 +01:00
// Only load the valid attributes.
$valid_attrs = [
'id' ,
'class' ,
'name' ,
'onclick' ,
2019-05-27 22:36:55 +02:00
'onchange' ,
2019-02-26 12:04:18 +01:00
];
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' ] = '' ;
}
2021-02-05 15:10:31 +01:00
$disabled_class = ( bool ) ( $attributes [ 'disabled' ]) ? ' p-slider-disabled' : '' ;
2020-04-02 10:37:59 +02:00
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 . " >
2020-04-02 10:37:59 +02:00
< span class = 'p-slider".$disabled_class."' ></ span >
2019-02-26 12:04:18 +01:00
</ label > " ;
}
2019-03-05 10:08:07 +01:00
/**
* 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 .
2019-03-07 15:10:38 +01:00
* @ param string $text Text of image .
2019-03-08 11:46:47 +01:00
* @ param string $style Additional style for the element .
2019-03-05 10:08:07 +01:00
*
* @ return string With HTML code .
*/
2019-03-08 11:46:47 +01:00
function html_print_link_with_params ( $text , $params = [], $type = 'text' , $style = '' )
2019-03-05 10:08:07 +01:00
{
$html = '<form method=post>' ;
2019-03-07 15:10:38 +01:00
switch ( $type ) {
case 'image' :
2019-03-08 11:46:47 +01:00
$html .= html_print_input_image ( $text , $text , $text , $style , true );
2019-03-07 15:10:38 +01:00
break ;
case 'text' :
default :
2019-03-08 11:46:47 +01:00
if ( ! empty ( $style )) {
$style = ' style="' . $style . '"' ;
}
$html .= html_print_submit_button (
$text ,
$text ,
false ,
'class="button-as-link"' . $style ,
true
);
2019-03-07 15:10:38 +01:00
break ;
}
2019-03-05 10:08:07 +01:00
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-11-03 17:15:01 +01:00
// If wrapper has attributes.
// TODO. There is possible improve this handle of attributes.
if ( isset ( $data [ 'wrapper_attributes' ])) {
$wrapper_attributes = $data [ 'wrapper_attributes' ];
} else {
$wrapper_attributes = '' ;
}
2020-01-09 12:07:19 +01:00
if ( isset ( $data [ 'wrapper' ]) === true ) {
2020-11-03 17:15:01 +01:00
$output = '<' . $data [ 'wrapper' ] . ' ' . $wrapper_attributes . ' id="wr_' . $data [ 'name' ] . '" ' ;
2020-01-09 12:07:19 +01:00
$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' ] : '' ),
2020-04-02 12:53:21 +02:00
(( isset ( $data [ 'autocomplete' ]) === true ) ? $data [ 'autocomplete' ] : '' ),
2020-05-14 17:42:58 +02:00
(( isset ( $data [ 'autofocus' ]) === true ) ? $data [ 'autofocus' ] : false ),
2020-04-13 15:41:00 +02:00
(( isset ( $data [ 'onKeyDown' ]) === true ) ? $data [ 'onKeyDown' ] : '' ),
2020-05-14 17:42:58 +02:00
(( isset ( $data [ 'form' ]) === true ) ? $data [ 'form' ] : '' ),
2020-10-30 13:25:33 +01:00
(( isset ( $data [ 'onKeyUp' ]) === true ) ? $data [ 'onKeyUp' ] : '' ),
(( isset ( $data [ 'disabled' ]) === true ) ? $data [ 'disabled' ] : false ),
(( isset ( $data [ 'list' ]) === true ) ? $data [ 'list' ] : '' )
2019-06-21 19:34:47 +02:00
);
break ;
2020-06-22 14:06:13 +02:00
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 ),
2020-10-26 13:37:05 +01:00
(( isset ( $data [ 'class' ]) === true ) ? $data [ 'class' ] : '' ),
(( isset ( $data [ 'required' ]) === true ) ? $data [ 'required' ] : false )
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 ),
2020-09-29 15:48:20 +02:00
(( 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' ] : '' ),
2020-09-23 14:07:23 +02:00
(( isset ( $data [ 'disabled' ]) === true ) ? $data [ 'disabled' ] : false ),
(( isset ( $data [ 'id' ]) === true ) ? $data [ 'id' ] : 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 ;
2020-06-22 14:06:13 +02:00
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
2020-02-13 09:55:49 +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 = '' ;
2020-02-13 09:55:49 +01:00
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 ) {
2021-01-21 14:42:43 +01:00
$string_filter = ' AND id_tipo_modulo = 25' ;
}
if ( isset ( $data [ 'filter_modules' ]) && ! empty ( $data [ 'filter_modules' ])) {
$string_filter = ' AND id_agente_modulo IN (' . implode ( ',' , $data [ 'filter_modules' ]) . ')' ;
2020-03-26 12:29:38 +01:00
}
2019-12-19 20:42:29 +01:00
$sql = sprintf (
' SELECT id_agente_modulo , nombre
FROM tagente_modulo
WHERE id_agente = % d
2020-02-13 09:55:49 +01:00
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 ;
2020-05-14 17:42:58 +02:00
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 ;
2020-10-30 13:25:33 +01:00
case 'datalist' :
$output .= html_print_datalist (
$data [ 'name' ],
$data [ 'value' ],
(( isset ( $data [ 'return' ]) === true ) ? $data [ 'return' ] : true )
);
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-09-17 13:38:17 +02:00
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 ;
}
2019-09-17 13:38:17 +02:00
/**
* 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
2019-09-17 13:38:17 +02:00
) {
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' ;
}
2019-09-17 13:38:17 +02:00
html_print_input_text_extended (
$name ,
$default ,
'text-' . $name ,
'' ,
$size ,
100 ,
2019-09-23 12:48:20 +02:00
$disable ,
2019-09-17 13:38:17 +02:00
'' ,
2019-09-23 12:48:20 +02:00
$attrs
2019-09-17 13:38:17 +02:00
);
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 );
2019-09-17 13:38:17 +02:00
$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-09-17 12:59:29 +02:00
}
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 ;
}
2020-10-30 13:25:33 +01:00
/**
* Create a datalist .
*
* @ param string $id Use custom id .
* @ param string $values Input values .
* @ param string $returnparam 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_datalist (
$id ,
$values ,
$return = false
) {
$result = '<datalist id="' . $id . '">' ;
foreach ( $values as $key => $value ) {
$result .= '<option value="' . $value . '">' ;
}
$result .= '</datalist>' ;
if ( $return ) {
return $result ;
} else {
echo $result ;
}
}