2006-03-27 05:37:27 +02:00
< ? php
2008-08-22 20:07:32 +02:00
2009-06-08 20:21:21 +02:00
// Pandora FMS - http://pandorafms.com
// ==================================================
2010-03-02 18:19:44 +01:00
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
2009-06-08 20:21:21 +02:00
// Please see http://pandorafms.org for full contribution list
2006-07-11 16:14:09 +02:00
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
2008-08-22 20:07:32 +02:00
// as published by the Free Software Foundation for version 2.
2006-07-11 16:14:09 +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.
2006-03-27 05:37:27 +02:00
// Load global vars
2010-03-03 18:10:37 +01:00
global $config ;
2006-07-11 16:14:09 +02:00
2019-01-30 16:18:44 +01:00
check_login ();
2010-03-10 18:58:29 +01:00
2020-05-05 12:50:15 +02:00
require_once $config [ 'homedir' ] . '/vendor/autoload.php' ;
2020-03-26 12:29:38 +01:00
use PandoraFMS\Dashboard\Manager ;
2015-03-06 12:28:05 +01:00
enterprise_hook ( 'open_meta_frame' );
2019-01-30 16:18:44 +01:00
require_once $config [ 'homedir' ] . '/include/functions_profile.php' ;
require_once $config [ 'homedir' ] . '/include/functions_users.php' ;
require_once $config [ 'homedir' ] . '/include/functions_groups.php' ;
require_once $config [ 'homedir' ] . '/include/functions_visual_map.php' ;
require_once $config [ 'homedir' ] . '/include/functions_custom_fields.php' ;
2018-03-20 16:51:41 +01:00
enterprise_include_once ( 'include/functions_profile.php' );
* include/functions_graph.php
include/functions_html.php
include/functions_messages.php
include/db/postgresql.php
include/db/mysql.php
include/db/oracle.php
include/functions_reporting.php
include/functions_filemanager.php
include/functions_gis.php
include/auth/ldap.php
include/auth/mysql.php
include/functions_networkmap.php
include/functions_network_components.php
include/ajax/skins.ajax.php
include/ajax/reporting.ajax.php
include/ajax/visual_console_builder.ajax.php
include/ajax/alert_list.ajax.php
include/ajax/module.php
include/functions_config.php
include/functions_api.php
include/help/en/help_timesource.php
include/help/es/help_timesource.php
include/help/ja/help_timesource.php
include/config_process.php
include/functions_ui.php
include/functions_custom_graphs.php
include/fgraph.php
include/functions_incidents.php
include/api.php
include/functions_reports.php
include/functions_ui_renders.php
extensions/insert_data.php
extensions/system_info.php
extensions/extension_uploader.php
extensions/pandora_logs.php
extensions/agents_modules.php
extensions/update_manager.php
extensions/ssh_console.php
extensions/dbmanager.php
extensions/vnc_view.php
extensions/resource_registration.php
extensions/resource_exportation.php
extensions/users_connected.php
extensions/module_groups.php
extensions/update_manager/load_updatemanager.php
extensions/update_manager/lib/libupdate_manager_client.php
extensions/update_manager/lib/libupdate_manager.php
extensions/update_manager/lib/libupdate_manager_components.php
extensions/update_manager/lib/libupdate_manager_updates.php
extensions/update_manager/settings.php
extensions/update_manager/main.php
extensions/plugin_registration.php
operation/incidents/incident.php
operation/incidents/incident_detail.php
operation/incidents/incident_statistics.php
operation/search_modules.php
operation/visual_console/render_view.php
operation/visual_console/index.php
operation/extensions.php
operation/agentes/status_monitor.php
operation/agentes/export_csv.php
operation/agentes/estado_ultimopaquete.php
operation/agentes/datos_agente.php
operation/agentes/alerts_status.php
operation/agentes/estado_generalagente.php
operation/agentes/custom_fields.php
operation/agentes/estado_agente.php
operation/agentes/networkmap.topology.php
operation/agentes/networkmap.groups.php
operation/agentes/sla_view.php
operation/agentes/exportdata.php
operation/agentes/gis_view.php
operation/agentes/estado_monitores.php
operation/agentes/ver_agente.php
operation/agentes/graphs.php
operation/agentes/agent_fields.php
operation/agentes/tactical.php
operation/agentes/group_view.php
operation/agentes/networkmap.php
operation/agentes/stat_win.php
operation/servers/view_server.php
operation/servers/view_server_detail.php
operation/menu.php
operation/search_agents.php
operation/search_graphs.php
operation/snmpconsole/snmp_view.php
operation/users/user_edit.php
operation/gis_maps/render_view.php
operation/gis_maps/ajax.php
operation/integria_incidents/incident.php
operation/integria_incidents/incident_detail.php
operation/integria_incidents/incident_statistics.php
operation/events/event_statistics.php
operation/events/events_rss.php
operation/events/export_csv.php
operation/events/sound_events.php
operation/events/events_validate.php
operation/events/events_list.php
operation/events/events_marquee.php
operation/events/events.php
operation/search_alerts.php
operation/messages/message.php
operation/reporting/reporting_xml.php
operation/reporting/reporting_viewer.php
operation/reporting/graph_viewer.php
operation/search_reports.php
operation/search_maps.php
operation/search_users.php
extras/pandora_diag.php
mobile/operation/agents/monitor_status.php
mobile/operation/agents/view_agents.php
mobile/operation/agents/view_alerts.php
mobile/operation/agents/group_view.php
mobile/operation/events/events.php
mobile/index.php
general/error_authconfig.php
general/links_menu.php
general/logon_ok.php
general/error_dbconfig.php
general/ui/agents_list.php
general/header.php
godmode/groups/modu_group_list.php
godmode/groups/configure_group.php
godmode/groups/configure_modu_group.php
godmode/groups/group_list.php
godmode/admin_access_logs.php
godmode/db/db_main.php
godmode/db/db_audit.php
godmode/db/db_sanity.php
godmode/db/db_refine.php
godmode/db/db_info.php
godmode/db/db_event.php
godmode/db/db_purge.php
godmode/extensions.php
godmode/agentes/agent_template.php
godmode/agentes/module_manager_editor_common.php
godmode/agentes/fields_manager.php
godmode/agentes/agent_conf_gis.php
godmode/agentes/module_manager_editor_prediction.php
godmode/agentes/module_manager.php
godmode/agentes/modificar_agente.php
godmode/agentes/configurar_agente.php
godmode/agentes/configure_field.php
godmode/agentes/module_manager_editor.php
godmode/agentes/planned_downtime.php
godmode/agentes/manage_config_remote.php
godmode/agentes/agent_manager.php
godmode/servers/recon_script.php
godmode/servers/plugin.php
godmode/servers/manage_recontask.php
godmode/servers/modificar_server.php
godmode/servers/manage_recontask_form.php
godmode/alerts/alert_list.list.php
godmode/alerts/configure_alert_compound.php
godmode/alerts/alert_compounds.php
godmode/alerts/alert_list.php
godmode/alerts/configure_alert_template.php
godmode/alerts/alert_templates.php
godmode/alerts/configure_alert_action.php
godmode/alerts/configure_alert_command.php
godmode/alerts/alert_actions.php
godmode/alerts/alert_list.builder.php
godmode/alerts/alert_commands.php
godmode/setup/file_manager.php
godmode/setup/os.list.php
godmode/setup/news.php
godmode/setup/gis_step_2.php
godmode/setup/links.php
godmode/setup/setup.php
godmode/setup/os.php
godmode/setup/performance.php
godmode/setup/setup_auth.php
godmode/setup/gis.php
godmode/setup/os.builder.php
godmode/setup/setup_visuals.php
godmode/snmpconsole/snmp_alert.php
godmode/snmpconsole/snmp_filters.php
godmode/users/user_list.php
godmode/users/configure_profile.php
godmode/gis_maps/configure_gis_map.php
godmode/gis_maps/index.php
godmode/massive/massive_add_alerts.php
godmode/massive/massive_copy_modules.php
godmode/massive/massive_delete_agents.php
godmode/massive/massive_enable_disable_alerts.php
godmode/massive/massive_operations.php
godmode/massive/massive_delete_profiles.php
godmode/massive/massive_edit_agents.php
godmode/massive/massive_delete_action_alerts.php
godmode/massive/massive_delete_modules.php
godmode/massive/massive_add_profiles.php
godmode/massive/massive_delete_alerts.php
godmode/massive/massive_edit_modules.php
godmode/massive/massive_standby_alerts.php
godmode/massive/massive_add_action_alerts.php
godmode/modules/manage_network_components_form.php
godmode/modules/manage_nc_groups_form.php
godmode/modules/manage_network_templates.php
godmode/modules/module_list.php
godmode/modules/manage_network_components_form_common.php
godmode/modules/manage_network_components_form_network.php
godmode/modules/manage_network_templates_form.php
godmode/modules/manage_network_components_form_wmi.php
godmode/modules/manage_network_components.php
godmode/modules/manage_nc_groups.php
godmode/reporting/visual_console_builder.wizard.php
godmode/reporting/graph_builder.main.php
godmode/reporting/reporting_builder.list_items.php
godmode/reporting/visual_console_builder.php
godmode/reporting/reporting_builder.preview.php
godmode/reporting/reporting_builder.main.php
godmode/reporting/visual_console_builder.data.php
godmode/reporting/visual_console_builder.elements.php
godmode/reporting/graph_builder.php
godmode/reporting/visual_console_builder.preview.php
godmode/reporting/graph_builder.graph_editor.php
godmode/reporting/reporting_builder.php
godmode/reporting/visual_console_builder.editor.php
godmode/reporting/reporting_builder.item_editor.php
godmode/reporting/map_builder.php
godmode/reporting/graphs.php
godmode/reporting/graph_builder.preview.php
include/functions_db.php: Added some includes and functions of this code have "db_" prefix.
* include/functions.php: Moved function check_login(), check_acl(),
dame_nombre_pluginid(), get_os_name() from functions_db.php to functions.php.
* include/functions_groups.php: Moved functions get_childrens(), safe_acl_group()
and get_parents(), give_disabled_group(), isAllGroups(), get_group_icon(), get_all_groups(),
get_id_groups_recursive(), get_user_groups_tree_recursive(), get_group_status(),
get_group_name(), get_group_users() from functions_db.php to this code.
* include/functions_profile.php: New library with profile functions. Moved functions
get_profile_name(), get_profiles(), create_user_profile(), delete_user_profile(),
delete_profile() from functions_db.php to this code. Added new parameter in function
get_profile() to retrieve profiles with filter conditions applied.
* include/functions_users.php: New library with users functions. Moved functions
get_users_info(), get_all_model_groups(), get_user_groups(), get_user_groups_tree(),
get_user_first_group(), user_access_to_agent() from funtions_db.php to this code.
* godmode/users/configure_user.php: Changed get_profile_filter() function to get_profile().
* include/functions_agents.php: Moved functions get_group_agents(), get_agent_modules(),
get_agent_module_id(), get_agent_id(), get_agent_name(), get_agent_modules_data_count(),
check_alert_fired(), get_agent_interval(), get_agent_os(), give_agentmodule_flag(),
agent_add_address(), agent_delete_address(), get_agent_address(), get_agent_with_ip(),
get_agent_addresses(), get_agent_status(), delete_agent(), get_agentmodule_group(),
get_agent_group() from functions_db.php to this code.
* include/functions_modules.php: Moved functions get_agentmodule(), get_agentmodule_id(),
get_agentmodule_is_init(), get_agent_modules_count(), get_module_type_name(),
get_module_type_icon(), get_agentmodule_agent(), get_agentmodule_agent_name(),
get_agentmodule_name(), get_agentmodule_type(), get_monitor_downs_in_period(),
get_monitor_last_down_timestamp_in_period(), get_monitors_in_group(),
get_monitors_in_agent(), get_monitors_down(), get_moduletype_name(),
get_moduletype_description(), get_moduletypes(), get_module_interval(), show_icon_type(),
give_modulecategory_name(),
give_agent_id_from_module_id(), get_module_status(), get_agent_module_last_value(),
get_previous_data(), get_agentmodule_modulegroup(), get_modulegroups(),
get_modulegroup_name() from functions_db.php to this code.
* include/functions_alerts.php: Moved functions get_alert_type(), get_agent_alert_fired(),
get_module_alert_fired(), get_alert_fires_in_period(), get_group_alerts(), get_alerts_fired(),
get_alert_last_fire_timestamp_in_period(), get_agentmodule_status(),
get_agentmodule_last_status() from functions_db.php to this code.
* include/functions_exportserver.php: Moved function dame_nombre_servidorexportacion()
from functions_db.php to this code.
* include/functions_events.php: Moved functions get_group_events(), get_agent_events(),
get_module_events() from functions_db.php to this code.
* include/functions_servers.php: Moved functions get_server_name(), show_server_type(),
check_server_status(), server_status() from functions_db.php to this code.
* include/functions_network_profiles.php: Moved function get_networkprofile_name()
from functions_db.php to this code.
* include/functions_visual_map.php: Moved functions get_layoutdata_x(), get_layoutdata_y()
from fucntions_db.php to this code.
* include/functions_io.php: Moved function __() from functions_db.php to this code.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4258 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-19 20:42:49 +02:00
2013-04-22 12:31:20 +02:00
$meta = false ;
2019-01-30 16:18:44 +01:00
if ( enterprise_installed () && defined ( 'METACONSOLE' )) {
$meta = true ;
2013-04-22 12:31:20 +02:00
}
2019-01-30 16:18:44 +01:00
$isFunctionSkins = enterprise_include_once ( 'include/functions_skins.php' );
2011-04-25 11:41:35 +02:00
2019-01-30 16:18:44 +01:00
// Add the columns for the enterprise Pandora edition.
2011-05-10 17:53:43 +02:00
$enterprise_include = false ;
if ( ENTERPRISE_NOT_HOOK !== enterprise_include ( 'include/functions_policies.php' )) {
2019-01-30 16:18:44 +01:00
$enterprise_include = true ;
2011-05-10 17:53:43 +02:00
}
2019-01-30 16:18:44 +01:00
if ( $enterprise_include ) {
enterprise_include_once ( 'meta/include/functions_users_meta.php' );
}
2012-12-11 18:39:48 +01:00
2020-05-19 08:20:04 +02:00
if ( ! is_metaconsole ()) {
date_default_timezone_set ( 'UTC' );
include 'include/javascript/timezonepicker/includes/parser.inc' ;
// Read in options for map builder.
$bases = [
'gray' => 'Gray' ,
'blue-marble' => 'Blue marble' ,
'night-electric' => 'Night Electric' ,
'living' => 'Living Earth' ,
];
$local_file = 'include/javascript/timezonepicker/images/gray-400.png' ;
// Dimensions must always be exact since the imagemap does not scale.
$array_size = getimagesize ( $local_file );
$map_width = $array_size [ 0 ];
$map_height = $array_size [ 1 ];
$timezones = timezone_picker_parse_files (
$map_width ,
$map_height ,
'include/javascript/timezonepicker/tz_world.txt' ,
'include/javascript/timezonepicker/tz_islands.txt'
);
foreach ( $timezones as $timezone_name => $tz ) {
if ( $timezone_name == 'America/Montreal' ) {
$timezone_name = 'America/Toronto' ;
} else if ( $timezone_name == 'Asia/Chongqing' ) {
$timezone_name = 'Asia/Shanghai' ;
}
$area_data_timezone_polys .= '' ;
foreach ( $tz [ 'polys' ] as $coords ) {
$area_data_timezone_polys .= '<area data-timezone="' . $timezone_name . '" data-country="' . $tz [ 'country' ] . '" data-pin="' . implode ( ',' , $tz [ 'pin' ]) . '" data-offset="' . $tz [ 'offset' ] . '" shape="poly" coords="' . implode ( ',' , $coords ) . '" />' ;
}
$area_data_timezone_rects .= '' ;
foreach ( $tz [ 'rects' ] as $coords ) {
$area_data_timezone_rects .= '<area data-timezone="' . $timezone_name . '" data-country="' . $tz [ 'country' ] . '" data-pin="' . implode ( ',' , $tz [ 'pin' ]) . '" data-offset="' . $tz [ 'offset' ] . '" shape="rect" coords="' . implode ( ',' , $coords ) . '" />' ;
}
}
}
2010-03-10 18:58:29 +01:00
// This defines the working user. Beware with this, old code get confusses
// and operates with current logged user (dangerous).
2019-01-30 16:18:44 +01:00
$id = get_parameter ( 'id' , get_parameter ( 'id_user' , '' ));
// ID given as parameter
2012-12-11 18:39:48 +01:00
$pure = get_parameter ( 'pure' , 0 );
2010-03-10 18:58:29 +01:00
2019-01-30 16:18:44 +01:00
$user_info = get_user_info ( $id );
2020-09-09 14:32:02 +02:00
$is_err = false ;
2009-01-22 18:44:33 +01:00
2019-01-30 16:18:44 +01:00
if ( ! check_acl ( $config [ 'id_user' ], 0 , 'UM' )) {
db_pandora_audit (
'ACL Violation' ,
'Trying to access User Management'
);
include 'general/noaccess.php' ;
return ;
2008-08-11 Esteban Sanchez <estebans@artica.es>
* include/functions_db.php: Added __ as an alias of lang_string().
* include/functions_reporting_pdf.php,
include/functions_reporting.php, include/functions.php,
include/functions_visual_map.php, index.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/incidents/incident_note.php,
operation/incidents/incident_search.php,
operation/incidents/incident_statistics.php,
operation/snmpconsole/snmp_alert.php,
operation/snmpconsole/snmp_view.php, operation/users/user.php,
operation/users/user_edit.php, operation/users/user_statistics.php,
operation/events/event_statistics.php, operation/events/events.php,
operation/visual_console/render_view.php,
operation/visual_console/index.php, operation/extensions.php,
operation/agentes/estado_alertas.php,
operation/agentes/status_monitor.php,
operation/agentes/estado_grupo.php, operation/agentes/export_csv.php,
operation/agentes/datos_agente.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/estado_generalagente.php,
operation/agentes/estado_agente.php, operation/agentes/bulbs.php,
operation/agentes/status_events.php, operation/agentes/sla_view.php,
operation/agentes/exportdata.php,
operation/agentes/estado_monitores.php,
operation/agentes/ver_agente.php, operation/agentes/estadisticas.php,
operation/agentes/tactical.php, operation/agentes/networkmap.php,
operation/messages/message.php,
operation/reporting/reporting_viewer.php,
operation/reporting/graph_viewer.php,
operation/reporting/custom_reporting.php,
operation/servers/view_server.php,
operation/servers/view_server_detail.php, operation/menu.php,
reporting/fgraph.php, reporting/stat_win.php, ajax.php,
general/logoff.php, general/pandora_help.php, general/footer.php,
general/noaccess.php, general/logon_failed.php,
general/links_menu.php, general/login_page.php, general/logon_ok.php,
general/header.php, general/main_menu.php,
godmode/groups/configure_group.php, godmode/groups/group_list.php,
godmode/setup/news.php, godmode/setup/links.php,
godmode/setup/setup.php, godmode/users/user_list.php,
godmode/users/configure_user.php, godmode/profiles/profile_list.php,
godmode/admin_access_logs.php, godmode/db/db_info_data.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_network.php,
godmode/agentes/module_manager_editor_wmi.php,
godmode/agentes/alert_manager.php,
godmode/agentes/module_manager_editor_plugin.php,
godmode/agentes/module_manager_editor_prediction.php,
godmode/agentes/alert_manager_editor.php,
godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor_data.php,
godmode/agentes/module_manager.php,
godmode/agentes/modificar_agente.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/agent_disk_conf_editor.php,
godmode/agentes/planned_downtime.php,
godmode/agentes/manage_config_remote.php,
godmode/agentes/agent_manager.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_templates_form.php,
godmode/modules/manage_network_components_form_network.php,
godmode/modules/manage_network_components_form_wmi.php,
godmode/modules/manage_network_components.php,
godmode/modules/manage_nc_groups.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/map_builder.php,
godmode/reporting/graph_builder.php, godmode/servers/plugin.php,
godmode/servers/manage_recontask.php,
godmode/servers/modificar_server.php,
godmode/servers/manage_recontask_form.php,
godmode/alerts/modify_alert.php, godmode/alerts/configure_alert.php,
godmode/menu.php: Replaced $id_user with $config['id_user']. Use __a
instead of $lang_label to future use of gettext. Style
corrections.
* godmode/agentes/planned_downtime.php: Rewritten to use Pandora
functions and adopt the UI style. Replaced lang_string with __().
* pandoradb.sql: Fields in tplanned_downtime renamed to fit
guidelines.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1005 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-08-11 12:59:07 +02:00
}
2020-07-23 13:26:39 +02:00
if ( is_ajax ()) {
$delete_profile = ( bool ) get_parameter ( 'delete_profile' );
if ( $delete_profile ) {
$id2 = ( string ) get_parameter ( 'id_user' );
$id_up = ( int ) get_parameter ( 'id_user_profile' );
2019-01-30 16:18:44 +01:00
2020-07-23 13:26:39 +02:00
$perfilUser = db_get_row ( 'tusuario_perfil' , 'id_up' , $id_up );
$id_perfil = $perfilUser [ 'id_perfil' ];
$perfil = db_get_row ( 'tperfil' , 'id_perfil' , $id_perfil );
db_pandora_audit (
'User management' ,
2020-08-28 13:56:15 +02:00
'Deleted profile for user ' . io_safe_output ( $id2 ),
2020-07-23 13:26:39 +02:00
false ,
false ,
'The profile with id ' . $id_perfil . ' in the group ' . $perfilUser [ 'id_grupo' ]
);
$return = profile_delete_user_profile ( $id2 , $id_up );
ui_print_result_message (
$return ,
__ ( 'Successfully deleted' ),
__ ( 'Could not be deleted' )
);
$has_profile = db_get_row ( 'tusuario_perfil' , 'id_usuario' , $id2 );
if ( $has_profile == false ) {
$result = delete_user ( $id2 );
if ( $result ) {
db_pandora_audit (
'User management' ,
2020-08-28 13:56:15 +02:00
__ ( 'Deleted user %s' , io_safe_output ( $id_user ))
2020-07-23 13:26:39 +02:00
);
}
ui_print_result_message (
$result ,
__ ( 'Successfully deleted' ),
__ ( 'There was a problem deleting the user' )
);
// Delete the user in all the consoles
if ( defined ( 'METACONSOLE' )) {
$servers = metaconsole_get_servers ();
foreach ( $servers as $server ) {
// Connect to the remote console
metaconsole_connect ( $server );
// Delete the user
$result = delete_user ( $id_user );
if ( $result ) {
db_pandora_audit (
'User management' ,
2020-08-28 13:56:15 +02:00
__ ( 'Deleted user %s from metaconsole' , io_safe_output ( $id_user ))
2020-07-23 13:26:39 +02:00
);
}
// Restore the db connection
metaconsole_restore_db ();
// Log to the metaconsole too
if ( $result ) {
db_pandora_audit (
'User management' ,
__ ( 'Deleted user %s from %s' , io_safe_input ( $id_user ), io_safe_input ( $server [ 'server_name' ]))
);
}
ui_print_result_message (
$result ,
__ ( 'Successfully deleted from %s' , io_safe_input ( $server [ 'server_name' ])),
__ ( 'There was a problem deleting the user from %s' , io_safe_input ( $server [ 'server_name' ]))
);
}
}
}
return ;
2019-01-30 16:18:44 +01:00
}
2020-07-23 13:26:39 +02:00
}
2011-11-03 18:28:18 +01:00
2020-11-30 14:52:03 +01:00
2011-06-29 19:21:13 +02:00
$tab = get_parameter ( 'tab' , 'user' );
2020-05-19 08:20:04 +02:00
if ( $id ) {
$header_title = ' » ' . __ ( 'Update user' );
} else {
$header_title = ' » ' . __ ( 'Create user' );
}
2010-02-22 20:03:55 +01:00
// Header
2013-04-22 12:31:20 +02:00
if ( $meta ) {
2019-01-30 16:18:44 +01:00
user_meta_print_header ();
$sec = 'advanced' ;
} else {
$buttons = [
'user' => [
'active' => false ,
'text' => '<a href="index.php?sec=gusuarios&sec2=godmode/users/user_list&tab=user&pure=' . $pure . '">' . html_print_image ( 'images/gm_users.png' , true , [ 'title' => __ ( 'User management' )]) . '</a>' ,
],
'profile' => [
'active' => false ,
'text' => '<a href="index.php?sec=gusuarios&sec2=godmode/users/profile_list&tab=profile&pure=' . $pure . '">' . html_print_image ( 'images/profiles.png' , true , [ 'title' => __ ( 'Profile management' )]) . '</a>' ,
],
];
$buttons [ $tab ][ 'active' ] = true ;
2019-04-29 14:36:02 +02:00
ui_print_page_header (
2020-05-19 08:20:04 +02:00
__ ( 'User detail editor' ) . $header_title ,
2019-04-29 14:36:02 +02:00
'images/gm_users.png' ,
false ,
2020-05-29 11:37:06 +02:00
'' ,
2019-04-29 14:36:02 +02:00
true ,
$buttons
);
2019-01-30 16:18:44 +01:00
$sec = 'gusuarios' ;
2012-12-11 18:39:48 +01:00
}
2010-02-22 20:03:55 +01:00
2013-05-20 10:42:02 +02:00
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
if ( $config [ 'user_can_update_info' ]) {
2019-01-30 16:18:44 +01:00
$view_mode = false ;
} else {
$view_mode = true ;
2008-08-11 Esteban Sanchez <estebans@artica.es>
* include/functions_db.php: Added __ as an alias of lang_string().
* include/functions_reporting_pdf.php,
include/functions_reporting.php, include/functions.php,
include/functions_visual_map.php, index.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/incidents/incident_note.php,
operation/incidents/incident_search.php,
operation/incidents/incident_statistics.php,
operation/snmpconsole/snmp_alert.php,
operation/snmpconsole/snmp_view.php, operation/users/user.php,
operation/users/user_edit.php, operation/users/user_statistics.php,
operation/events/event_statistics.php, operation/events/events.php,
operation/visual_console/render_view.php,
operation/visual_console/index.php, operation/extensions.php,
operation/agentes/estado_alertas.php,
operation/agentes/status_monitor.php,
operation/agentes/estado_grupo.php, operation/agentes/export_csv.php,
operation/agentes/datos_agente.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/estado_generalagente.php,
operation/agentes/estado_agente.php, operation/agentes/bulbs.php,
operation/agentes/status_events.php, operation/agentes/sla_view.php,
operation/agentes/exportdata.php,
operation/agentes/estado_monitores.php,
operation/agentes/ver_agente.php, operation/agentes/estadisticas.php,
operation/agentes/tactical.php, operation/agentes/networkmap.php,
operation/messages/message.php,
operation/reporting/reporting_viewer.php,
operation/reporting/graph_viewer.php,
operation/reporting/custom_reporting.php,
operation/servers/view_server.php,
operation/servers/view_server_detail.php, operation/menu.php,
reporting/fgraph.php, reporting/stat_win.php, ajax.php,
general/logoff.php, general/pandora_help.php, general/footer.php,
general/noaccess.php, general/logon_failed.php,
general/links_menu.php, general/login_page.php, general/logon_ok.php,
general/header.php, general/main_menu.php,
godmode/groups/configure_group.php, godmode/groups/group_list.php,
godmode/setup/news.php, godmode/setup/links.php,
godmode/setup/setup.php, godmode/users/user_list.php,
godmode/users/configure_user.php, godmode/profiles/profile_list.php,
godmode/admin_access_logs.php, godmode/db/db_info_data.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_network.php,
godmode/agentes/module_manager_editor_wmi.php,
godmode/agentes/alert_manager.php,
godmode/agentes/module_manager_editor_plugin.php,
godmode/agentes/module_manager_editor_prediction.php,
godmode/agentes/alert_manager_editor.php,
godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor_data.php,
godmode/agentes/module_manager.php,
godmode/agentes/modificar_agente.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/agent_disk_conf_editor.php,
godmode/agentes/planned_downtime.php,
godmode/agentes/manage_config_remote.php,
godmode/agentes/agent_manager.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_templates_form.php,
godmode/modules/manage_network_components_form_network.php,
godmode/modules/manage_network_components_form_wmi.php,
godmode/modules/manage_network_components.php,
godmode/modules/manage_nc_groups.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/map_builder.php,
godmode/reporting/graph_builder.php, godmode/servers/plugin.php,
godmode/servers/manage_recontask.php,
godmode/servers/modificar_server.php,
godmode/servers/manage_recontask_form.php,
godmode/alerts/modify_alert.php, godmode/alerts/configure_alert.php,
godmode/menu.php: Replaced $id_user with $config['id_user']. Use __a
instead of $lang_label to future use of gettext. Style
corrections.
* godmode/agentes/planned_downtime.php: Rewritten to use Pandora
functions and adopt the UI style. Replaced lang_string with __().
* pandoradb.sql: Fields in tplanned_downtime renamed to fit
guidelines.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1005 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-08-11 12:59:07 +02:00
}
2019-01-30 16:18:44 +01:00
$new_user = ( bool ) get_parameter ( 'new_user' );
$create_user = ( bool ) get_parameter ( 'create_user' );
$add_profile = ( bool ) get_parameter ( 'add_profile' );
$update_user = ( bool ) get_parameter ( 'update_user' );
$status = get_parameter ( 'status' , - 1 );
2020-07-23 13:26:39 +02:00
$json_profile = get_parameter ( 'json_profile' , '' );
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
2011-08-30 17:21:40 +02:00
// Reset status var if current action is not update_user
2019-01-30 16:18:44 +01:00
if ( $new_user || $create_user || $add_profile
|| $delete_profile || $update_user
) {
$status = - 1 ;
2011-08-30 17:21:40 +02:00
}
2011-08-30 16:51:03 +02:00
2009-03-27 12:33:11 +01:00
if ( $new_user && $config [ 'admin_can_add_user' ]) {
2019-01-30 16:18:44 +01:00
$user_info = [];
$id = '' ;
$user_info [ 'fullname' ] = '' ;
$user_info [ 'firstname' ] = '' ;
$user_info [ 'lastname' ] = '' ;
$user_info [ 'email' ] = '' ;
$user_info [ 'phone' ] = '' ;
$user_info [ 'comments' ] = '' ;
$user_info [ 'is_admin' ] = 0 ;
$user_info [ 'language' ] = 'default' ;
$user_info [ 'timezone' ] = '' ;
$user_info [ 'not_login' ] = false ;
$user_info [ 'strict_acl' ] = false ;
$user_info [ 'session_time' ] = 0 ;
2019-07-09 14:08:06 +02:00
$user_info [ 'middlename' ] = 0 ;
2019-01-30 16:18:44 +01:00
if ( $isFunctionSkins !== ENTERPRISE_NOT_HOOK ) {
$user_info [ 'id_skin' ] = '' ;
}
$user_info [ 'section' ] = '' ;
$user_info [ 'data_section' ] = '' ;
// This attributes are inherited from global configuration
$user_info [ 'block_size' ] = $config [ 'block_size' ];
if ( enterprise_installed () && defined ( 'METACONSOLE' )) {
$user_info [ 'metaconsole_agents_manager' ] = 0 ;
$user_info [ 'metaconsole_assigned_server' ] = '' ;
$user_info [ 'metaconsole_access_node' ] = 0 ;
}
2019-05-27 18:49:47 +02:00
if ( $config [ 'ehorus_user_level_conf' ]) {
$user_info [ 'ehorus_user_level_user' ] = '' ;
$user_info [ 'ehorus_user_level_pass' ] = '' ;
2019-05-28 13:14:42 +02:00
$user_info [ 'ehorus_user_level_enabled' ] = true ;
2019-05-27 18:49:47 +02:00
}
2009-03-27 12:33:11 +01:00
}
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
if ( $create_user ) {
2019-01-30 16:18:44 +01:00
if ( ! $config [ 'admin_can_add_user' ]) {
ui_print_error_message ( __ ( 'The current authentication scheme doesn\'t support creating users on %s' , get_product_name ()));
return ;
}
if ( html_print_csrf_error ()) {
return ;
}
$user_is_admin = ( int ) get_parameter ( 'is_admin' , 0 );
$values = [];
$values [ 'id_user' ] = ( string ) get_parameter ( 'id_user' );
$values [ 'fullname' ] = ( string ) get_parameter ( 'fullname' );
$values [ 'firstname' ] = ( string ) get_parameter ( 'firstname' );
$values [ 'lastname' ] = ( string ) get_parameter ( 'lastname' );
$password_new = ( string ) get_parameter ( 'password_new' , '' );
$password_confirm = ( string ) get_parameter ( 'password_confirm' , '' );
$values [ 'email' ] = ( string ) get_parameter ( 'email' );
$values [ 'phone' ] = ( string ) get_parameter ( 'phone' );
2020-09-09 11:58:09 +02:00
$values [ 'comments' ] = io_safe_input ( strip_tags ( io_safe_output (( string ) get_parameter ( 'comments' ))));
2019-01-30 16:18:44 +01:00
$values [ 'is_admin' ] = $user_is_admin ;
$values [ 'language' ] = get_parameter ( 'language' , 'default' );
$values [ 'timezone' ] = ( string ) get_parameter ( 'timezone' );
$values [ 'default_event_filter' ] = ( int ) get_parameter ( 'default_event_filter' );
$values [ 'default_custom_view' ] = ( int ) get_parameter ( 'default_custom_view' );
$dashboard = get_parameter ( 'dashboard' , '' );
$visual_console = get_parameter ( 'visual_console' , '' );
if ( $isFunctionSkins !== ENTERPRISE_NOT_HOOK ) {
$values [ 'id_skin' ] = ( int ) get_parameter ( 'skin' , 0 );
}
$values [ 'block_size' ] = ( int ) get_parameter ( 'block_size' , $config [ 'block_size' ]);
$values [ 'section' ] = get_parameter ( 'section' );
if (( $values [ 'section' ] == 'Event list' ) || ( $values [ 'section' ] == 'Group view' ) || ( $values [ 'section' ] == 'Alert detail' ) || ( $values [ 'section' ] == 'Tactical view' ) || ( $values [ 'section' ] == 'Default' )) {
$values [ 'data_section' ] = '' ;
} else if ( $values [ 'section' ] == 'Dashboard' ) {
$values [ 'data_section' ] = $dashboard ;
} else if ( io_safe_output ( $values [ 'section' ]) == 'Visual console' ) {
$values [ 'data_section' ] = $visual_console ;
} else if ( $values [ 'section' ] == 'Other' || io_safe_output ( $values [ 'section' ]) == 'External link' ) {
$values [ 'data_section' ] = get_parameter ( 'data_section' );
}
if ( enterprise_installed ()) {
$values [ 'force_change_pass' ] = 1 ;
$values [ 'last_pass_change' ] = date ( 'Y/m/d H:i:s' , get_system_time ());
if ( defined ( 'METACONSOLE' )) {
$values [ 'metaconsole_access' ] = get_parameter ( 'metaconsole_access' , 'basic' );
$values [ 'metaconsole_agents_manager' ] = ( $user_is_admin == 1 ? 1 : get_parameter ( 'metaconsole_agents_manager' , '0' ));
$values [ 'metaconsole_assigned_server' ] = get_parameter ( 'metaconsole_assigned_server' , '' );
$values [ 'metaconsole_access_node' ] = ( $user_is_admin == 1 ? 1 : get_parameter ( 'metaconsole_access_node' , '0' ));
}
}
$values [ 'not_login' ] = ( bool ) get_parameter ( 'not_login' , false );
2019-07-09 14:08:06 +02:00
$values [ 'middlename' ] = get_parameter ( 'middlename' , 0 );
2019-01-30 16:18:44 +01:00
$values [ 'strict_acl' ] = ( bool ) get_parameter ( 'strict_acl' , false );
$values [ 'session_time' ] = ( int ) get_parameter ( 'session_time' , 0 );
2019-05-27 18:49:47 +02:00
// eHorus user level conf
if ( $config [ 'ehorus_user_level_conf' ]) {
2019-05-28 13:14:42 +02:00
$values [ 'ehorus_user_level_enabled' ] = ( bool ) get_parameter ( 'ehorus_user_level_enabled' , false );
if ( $values [ 'ehorus_user_level_enabled' ] === true ) {
$values [ 'ehorus_user_level_user' ] = ( string ) get_parameter ( 'ehorus_user_level_user' );
$values [ 'ehorus_user_level_pass' ] = ( string ) get_parameter ( 'ehorus_user_level_pass' );
} else {
$values [ 'ehorus_user_level_user' ] = null ;
$values [ 'ehorus_user_level_pass' ] = null ;
}
2019-05-27 18:49:47 +02:00
}
2019-05-28 13:14:42 +02:00
2019-01-30 16:18:44 +01:00
if ( $id == '' ) {
ui_print_error_message ( __ ( 'User ID cannot be empty' ));
2020-09-09 14:32:02 +02:00
$is_err = true ;
2019-01-30 16:18:44 +01:00
$user_info = $values ;
$password_new = '' ;
$password_confirm = '' ;
$new_user = true ;
2020-01-10 13:50:04 +01:00
} else if ( preg_match ( '/^\s+|\s+$/' , io_safe_output ( $id ))) {
ui_print_error_message ( __ ( 'Invalid user ID: leading or trailing blank spaces not allowed' ));
2020-09-09 14:32:02 +02:00
$is_err = true ;
2020-01-10 13:24:00 +01:00
$user_info = $values ;
$password_new = '' ;
$password_confirm = '' ;
$new_user = true ;
2019-01-30 16:18:44 +01:00
} else if ( $password_new == '' ) {
2020-09-09 14:32:02 +02:00
$is_err = true ;
2019-01-30 16:18:44 +01:00
ui_print_error_message ( __ ( 'Passwords cannot be empty' ));
$user_info = $values ;
$password_new = '' ;
$password_confirm = '' ;
$new_user = true ;
} else if ( $password_new != $password_confirm ) {
2020-09-09 14:32:02 +02:00
$is_err = true ;
2019-01-30 16:18:44 +01:00
ui_print_error_message ( __ ( 'Passwords didn\'t match' ));
$user_info = $values ;
$password_new = '' ;
$password_confirm = '' ;
$new_user = true ;
} else {
2020-03-31 15:12:39 +02:00
if (( ! is_user_admin ( $config [ 'id_user' ]) || $config [ 'enable_pass_policy_admin' ]) && $config [ 'enable_pass_policy' ]) {
$pass_ok = login_validate_pass ( $password_new , $id , true );
if ( $pass_ok != 1 ) {
ui_print_error_message ( $pass_ok );
} else {
2020-01-21 17:31:21 +01:00
$result = create_user ( $id , $password_new , $values );
2019-08-22 15:25:35 +02:00
}
2019-08-30 11:28:24 +02:00
} else {
$result = create_user ( $id , $password_new , $values );
2019-08-22 15:25:35 +02:00
}
2019-01-30 16:18:44 +01:00
$info = '{"Id_user":"' . $values [ 'id_user' ] . '","FullName":"' . $values [ 'fullname' ] . '","Firstname":"' . $values [ 'firstname' ] . '","Lastname":"' . $values [ 'lastname' ] . '","Email":"' . $values [ 'email' ] . '","Phone":"' . $values [ 'phone' ] . '","Comments":"' . $values [ 'comments' ] . '","Is_admin":"' . $values [ 'is_admin' ] . '","Language":"' . $values [ 'language' ] . '","Timezone":"' . $values [ 'timezone' ] . '","Block size":"' . $values [ 'block_size' ] . '"' ;
if ( $isFunctionSkins !== ENTERPRISE_NOT_HOOK ) {
$info .= ',"Skin":"' . $values [ 'id_skin' ] . '"}' ;
} else {
$info .= '}' ;
}
2019-08-22 15:25:35 +02:00
$can_create = false ;
2019-01-30 16:18:44 +01:00
if ( $result ) {
$res = save_pass_history ( $id , $password_new );
}
db_pandora_audit (
'User management' ,
2020-08-28 13:56:15 +02:00
'Created user ' . io_safe_output ( $id ),
2019-01-30 16:18:44 +01:00
false ,
false ,
$info
);
ui_print_result_message (
$result ,
__ ( 'Successfully created' ),
__ ( 'Could not be created' )
);
$password_new = '' ;
$password_confirm = '' ;
if ( $result ) {
if ( $values [ 'strict_acl' ]) {
if ( $values [ 'is_admin' ]) {
ui_print_info_message ( __ ( 'Strict ACL is not recommended for admin users because performance could be affected.' ));
}
}
$user_info = get_user_info ( $id );
$new_user = false ;
2020-07-23 13:26:39 +02:00
if ( ! empty ( $json_profile )) {
$json_profile = json_decode ( io_safe_output ( $json_profile ), true );
foreach ( $json_profile as $key => $profile ) {
if ( ! empty ( $profile )) {
$group2 = $profile [ 'group' ];
$profile2 = $profile [ 'profile' ];
$tags = $profile [ 'tags' ];
foreach ( $tags as $k => $tag ) {
if ( empty ( $tag )) {
unset ( $tags [ $k ]);
}
}
$tags = implode ( ',' , $tags );
$no_hierarchy = $profile [ 'hierarchy' ];
db_pandora_audit (
'User management' ,
2020-08-28 13:56:15 +02:00
'Added profile for user ' . io_safe_output ( $id2 ),
2020-07-23 13:26:39 +02:00
false ,
false ,
'Profile: ' . $profile2 . ' Group: ' . $group2 . ' Tags: ' . $tags
);
$result_profile = profile_create_user_profile ( $id , $profile2 , $group2 , false , $tags , $no_hierarchy );
ui_print_result_message (
$result_profile ,
__ ( 'Profile added successfully' ),
__ ( 'Profile cannot be added' )
);
}
}
}
2019-01-30 16:18:44 +01:00
} else {
$user_info = $values ;
$new_user = true ;
}
}
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
}
if ( $update_user ) {
2019-01-30 16:18:44 +01:00
if ( html_print_csrf_error ()) {
return ;
}
$values = [];
$values [ 'id_user' ] = ( string ) get_parameter ( 'id_user' );
$values [ 'fullname' ] = ( string ) get_parameter ( 'fullname' );
$values [ 'firstname' ] = ( string ) get_parameter ( 'firstname' );
$values [ 'lastname' ] = ( string ) get_parameter ( 'lastname' );
$values [ 'email' ] = ( string ) get_parameter ( 'email' );
$values [ 'phone' ] = ( string ) get_parameter ( 'phone' );
2020-09-09 11:58:09 +02:00
$values [ 'comments' ] = io_safe_input ( strip_tags ( io_safe_output (( string ) get_parameter ( 'comments' ))));
2019-01-30 16:18:44 +01:00
$values [ 'is_admin' ] = get_parameter ( 'is_admin' , 0 );
$values [ 'language' ] = ( string ) get_parameter ( 'language' );
$values [ 'timezone' ] = ( string ) get_parameter ( 'timezone' );
$values [ 'default_event_filter' ] = ( int ) get_parameter ( 'default_event_filter' );
$values [ 'default_custom_view' ] = ( int ) get_parameter ( 'default_custom_view' );
2019-07-09 14:08:06 +02:00
// eHorus user level conf.
2019-05-28 17:19:13 +02:00
$values [ 'ehorus_user_level_enabled' ] = ( bool ) get_parameter ( 'ehorus_user_level_enabled' , false );
$values [ 'ehorus_user_level_user' ] = ( string ) get_parameter ( 'ehorus_user_level_user' );
$values [ 'ehorus_user_level_pass' ] = ( string ) get_parameter ( 'ehorus_user_level_pass' );
2019-07-09 14:08:06 +02:00
$values [ 'middlename' ] = get_parameter ( 'middlename' , 0 );
2019-05-28 13:14:42 +02:00
2019-01-30 16:18:44 +01:00
$dashboard = get_parameter ( 'dashboard' , '' );
$visual_console = get_parameter ( 'visual_console' , '' );
if ( $isFunctionSkins !== ENTERPRISE_NOT_HOOK ) {
$values [ 'id_skin' ] = get_parameter ( 'skin' , 0 );
}
$values [ 'block_size' ] = get_parameter ( 'block_size' , $config [ 'block_size' ]);
$values [ 'section' ] = get_parameter ( 'section' );
if (( $values [ 'section' ] == 'Event list' ) || ( $values [ 'section' ] == 'Group view' ) || ( $values [ 'section' ] == 'Alert detail' ) || ( $values [ 'section' ] == 'Tactical view' ) || ( $values [ 'section' ] == 'Default' )) {
$values [ 'data_section' ] = '' ;
} else if ( $values [ 'section' ] == 'Dashboard' ) {
$values [ 'data_section' ] = $dashboard ;
} else if ( io_safe_output ( $values [ 'section' ]) == 'Visual console' ) {
$values [ 'data_section' ] = $visual_console ;
} else if ( $values [ 'section' ] == 'Other' || io_safe_output ( $values [ 'section' ]) == 'External link' ) {
$values [ 'data_section' ] = get_parameter ( 'data_section' );
}
if ( enterprise_installed () && defined ( 'METACONSOLE' )) {
$values [ 'metaconsole_access' ] = get_parameter ( 'metaconsole_access' );
$values [ 'metaconsole_agents_manager' ] = get_parameter ( 'metaconsole_agents_manager' , '0' );
$values [ 'metaconsole_assigned_server' ] = get_parameter ( 'metaconsole_assigned_server' , '' );
$values [ 'metaconsole_access_node' ] = get_parameter ( 'metaconsole_access_node' , '0' );
}
$values [ 'not_login' ] = ( bool ) get_parameter ( 'not_login' , false );
$values [ 'strict_acl' ] = ( bool ) get_parameter ( 'strict_acl' , false );
$values [ 'session_time' ] = ( int ) get_parameter ( 'session_time' , 0 );
$res1 = update_user ( $id , $values );
if ( $config [ 'user_can_update_password' ]) {
$password_new = ( string ) get_parameter ( 'password_new' , '' );
$password_confirm = ( string ) get_parameter ( 'password_confirm' , '' );
if ( $password_new != '' ) {
if ( $password_confirm == $password_new ) {
2020-05-19 15:58:41 +02:00
if (( ! is_user_admin ( $config [ 'id_user' ]) || $config [ 'enable_pass_policy_admin' ]) && $config [ 'enable_pass_policy' ]) {
2019-01-30 16:18:44 +01:00
$pass_ok = login_validate_pass ( $password_new , $id , true );
if ( $pass_ok != 1 ) {
ui_print_error_message ( $pass_ok );
} else {
$res2 = update_user_password ( $id , $password_new );
if ( $res2 ) {
db_process_sql_insert (
'tsesion' ,
[
'id_sesion' => '' ,
'id_usuario' => $id ,
'ip_origen' => $_SERVER [ 'REMOTE_ADDR' ],
'accion' => 'Password change' ,
'descripcion' => 'Access password updated' ,
'fecha' => date ( 'Y-m-d H:i:s' ),
'utimestamp' => time (),
]
);
$res3 = save_pass_history ( $id , $password_new );
}
ui_print_result_message (
$res1 || $res2 ,
__ ( 'User info successfully updated' ),
__ ( 'Error updating user info (no change?)' )
);
}
} else {
$res2 = update_user_password ( $id , $password_new );
if ( $res2 ) {
$res3 = save_pass_history ( $id , $password_new );
db_process_sql_insert (
'tsesion' ,
[
'id_sesion' => '' ,
'id_usuario' => $id ,
'ip_origen' => $_SERVER [ 'REMOTE_ADDR' ],
'accion' => 'Password change' ,
'descripcion' => 'Access password updated' ,
'fecha' => date ( 'Y-m-d H:i:s' ),
'utimestamp' => time (),
]
);
}
ui_print_result_message (
$res1 || $res2 ,
__ ( 'User info successfully updated' ),
__ ( 'Error updating user info (no change?)' )
);
}
} else {
db_process_sql_insert (
'tsesion' ,
[
'id_sesion' => '' ,
'id_usuario' => $id ,
'ip_origen' => $_SERVER [ 'REMOTE_ADDR' ],
'accion' => 'Password change' ,
'descripcion' => 'Access password update failed' ,
'fecha' => date ( 'Y-m-d H:i:s' ),
'utimestamp' => time (),
]
);
ui_print_error_message ( __ ( 'Passwords does not match' ));
}
} else {
$has_skin = false ;
$has_wizard = false ;
$info = '{"id_user":"' . $values [ 'id_user' ] . ' " ,
" FullName " : " '. $values['fullname'] .' " ,
" Firstname " : " '. $values['firstname'] .' " ,
" Lastname " : " '. $values['lastname'] .' " ,
" Email " : " '. $values['email'] .' " ,
" Phone " : " '. $values['phone'] .' " ,
" Comments " : " '. $values['comments'] .' " ,
" Is_admin " : " '. $values['is_admin'] .' " ,
" Language " : " '. $values['language'] .' " ,
" Timezone " : " '. $values['timezone'] .' " ,
" Block size " : " '. $values['block_size'] .' " ,
" Section " : " '. $values['section'] .' " ' ;
if ( $isFunctionSkins !== ENTERPRISE_NOT_HOOK ) {
$info .= ',"Skin":"' . $values [ 'id_skin' ] . '"' ;
$has_skin = true ;
}
if ( enterprise_installed () && defined ( 'METACONSOLE' )) {
$info .= ',"Wizard access":"' . $values [ 'metaconsole_access' ] . '"}' ;
$has_wizard = true ;
} else if ( $has_skin ) {
$info .= '}' ;
}
if ( ! $has_skin && ! $has_wizard ) {
$info .= '}' ;
}
db_pandora_audit (
'User management' ,
2020-08-28 13:56:15 +02:00
'Updated user ' . io_safe_output ( $id ),
2019-01-30 16:18:44 +01:00
false ,
false ,
$info
);
ui_print_result_message (
$res1 ,
__ ( 'User info successfully updated' ),
__ ( 'Error updating user info (no change?)' )
);
}
} else {
ui_print_result_message (
$res1 ,
__ ( 'User info successfully updated' ),
__ ( 'Error updating user info (no change?)' )
);
}
if ( $values [ 'strict_acl' ]) {
$count_groups = 0 ;
$count_tags = 0 ;
$profiles = db_get_all_rows_field_filter ( 'tusuario_perfil' , 'id_usuario' , $id );
if ( $profiles === false ) {
$profiles = [];
}
foreach ( $profiles as $profile ) {
$count_groups = ( $count_groups + 1 );
$arr_tags = explode ( ',' , $profile [ 'tags' ]);
$count_tags = ( $count_tags + count ( $arr_tags ));
}
if (( $count_groups > 3 ) && ( $count_tags > 10 )) {
ui_print_info_message ( __ ( 'Strict ACL is not recommended for this user. Performance could be affected.' ));
}
}
$user_info = $values ;
2011-08-30 17:21:40 +02:00
}
2012-08-20 Miguel de Dios <miguel.dedios@artica.es>
* index.php, extras/pandoradb_migrate_4.0.x_to_5.0.postgreSQL.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.mysql.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.oracle.sql,
general/login_page.php, general/logon_failed.php,
godmode/users/configure_user.php, include/api.php,
include/auth/mysql.php, pandoradb.sql, pandoradb.postgreSQL.sql,
pandoradb.oracle.sql: added the feature to set any user with
"not login" for only the user can work across the API.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6891 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-08-20 20:06:04 +02:00
if ( $status != - 1 ) {
2019-01-30 16:18:44 +01:00
ui_print_result_message (
$status ,
__ ( 'User info successfully updated' ),
__ ( 'Error updating user info (no change?)' )
);
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
}
2020-07-23 13:26:39 +02:00
if ( $add_profile && empty ( $json_profile )) {
2019-01-30 16:18:44 +01:00
$id2 = ( string ) get_parameter ( 'id' );
$group2 = ( int ) get_parameter ( 'assign_group' );
$profile2 = ( int ) get_parameter ( 'assign_profile' );
$tags = ( array ) get_parameter ( 'assign_tags' );
$no_hierarchy = ( int ) get_parameter ( 'no_hierarchy' , 0 );
foreach ( $tags as $k => $tag ) {
if ( empty ( $tag )) {
unset ( $tags [ $k ]);
}
}
$tags = implode ( ',' , $tags );
db_pandora_audit (
'User management' ,
2020-08-28 13:56:15 +02:00
'Added profile for user ' . io_safe_output ( $id2 ),
2019-01-30 16:18:44 +01:00
false ,
false ,
'Profile: ' . $profile2 . ' Group: ' . $group2 . ' Tags: ' . $tags
);
$return = profile_create_user_profile ( $id2 , $profile2 , $group2 , false , $tags , $no_hierarchy );
ui_print_result_message (
$return ,
__ ( 'Profile added successfully' ),
__ ( 'Profile cannot be added' )
);
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
}
2020-07-23 13:26:39 +02:00
if ( $values ) {
$user_info = $values ;
}
2019-01-30 16:18:44 +01:00
2020-07-23 13:26:39 +02:00
if ( ! users_is_admin () && $config [ 'id_user' ] != $id && ! $new_user ) {
$group_um = users_get_groups_UM ( $config [ 'id_user' ]);
if ( isset ( $group_um [ 0 ])) {
$group_um_string = implode ( ',' , array_keys ( users_get_groups ( $config [ 'id_user' ], 'um' , true )));
} else {
$group_um_string = implode ( ',' , array_keys ( $group_um ));
}
2019-01-30 16:18:44 +01:00
2020-07-23 13:26:39 +02:00
$sql = sprintf (
" SELECT tusuario_perfil.* FROM tusuario_perfil
INNER JOIN tperfil ON tperfil . id_perfil = tusuario_perfil . id_perfil
WHERE id_usuario like '%s' AND id_grupo IN ( % s ) AND user_management = 0 " ,
$id ,
$group_um_string
2019-01-30 16:18:44 +01:00
);
2020-07-23 13:26:39 +02:00
$result = db_get_all_rows_sql ( $sql );
if ( $result == false || $user_info [ 'is_admin' ]) {
db_pandora_audit (
'ACL Violation' ,
'Trying to access User Management'
);
include 'general/noaccess.php' ;
2008-08-11 Esteban Sanchez <estebans@artica.es>
* include/functions_db.php: Added __ as an alias of lang_string().
* include/functions_reporting_pdf.php,
include/functions_reporting.php, include/functions.php,
include/functions_visual_map.php, index.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/incidents/incident_note.php,
operation/incidents/incident_search.php,
operation/incidents/incident_statistics.php,
operation/snmpconsole/snmp_alert.php,
operation/snmpconsole/snmp_view.php, operation/users/user.php,
operation/users/user_edit.php, operation/users/user_statistics.php,
operation/events/event_statistics.php, operation/events/events.php,
operation/visual_console/render_view.php,
operation/visual_console/index.php, operation/extensions.php,
operation/agentes/estado_alertas.php,
operation/agentes/status_monitor.php,
operation/agentes/estado_grupo.php, operation/agentes/export_csv.php,
operation/agentes/datos_agente.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/estado_generalagente.php,
operation/agentes/estado_agente.php, operation/agentes/bulbs.php,
operation/agentes/status_events.php, operation/agentes/sla_view.php,
operation/agentes/exportdata.php,
operation/agentes/estado_monitores.php,
operation/agentes/ver_agente.php, operation/agentes/estadisticas.php,
operation/agentes/tactical.php, operation/agentes/networkmap.php,
operation/messages/message.php,
operation/reporting/reporting_viewer.php,
operation/reporting/graph_viewer.php,
operation/reporting/custom_reporting.php,
operation/servers/view_server.php,
operation/servers/view_server_detail.php, operation/menu.php,
reporting/fgraph.php, reporting/stat_win.php, ajax.php,
general/logoff.php, general/pandora_help.php, general/footer.php,
general/noaccess.php, general/logon_failed.php,
general/links_menu.php, general/login_page.php, general/logon_ok.php,
general/header.php, general/main_menu.php,
godmode/groups/configure_group.php, godmode/groups/group_list.php,
godmode/setup/news.php, godmode/setup/links.php,
godmode/setup/setup.php, godmode/users/user_list.php,
godmode/users/configure_user.php, godmode/profiles/profile_list.php,
godmode/admin_access_logs.php, godmode/db/db_info_data.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_network.php,
godmode/agentes/module_manager_editor_wmi.php,
godmode/agentes/alert_manager.php,
godmode/agentes/module_manager_editor_plugin.php,
godmode/agentes/module_manager_editor_prediction.php,
godmode/agentes/alert_manager_editor.php,
godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor_data.php,
godmode/agentes/module_manager.php,
godmode/agentes/modificar_agente.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/agent_disk_conf_editor.php,
godmode/agentes/planned_downtime.php,
godmode/agentes/manage_config_remote.php,
godmode/agentes/agent_manager.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_templates_form.php,
godmode/modules/manage_network_components_form_network.php,
godmode/modules/manage_network_components_form_wmi.php,
godmode/modules/manage_network_components.php,
godmode/modules/manage_nc_groups.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/map_builder.php,
godmode/reporting/graph_builder.php, godmode/servers/plugin.php,
godmode/servers/manage_recontask.php,
godmode/servers/modificar_server.php,
godmode/servers/manage_recontask_form.php,
godmode/alerts/modify_alert.php, godmode/alerts/configure_alert.php,
godmode/menu.php: Replaced $id_user with $config['id_user']. Use __a
instead of $lang_label to future use of gettext. Style
corrections.
* godmode/agentes/planned_downtime.php: Rewritten to use Pandora
functions and adopt the UI style. Replaced lang_string with __().
* pandoradb.sql: Fields in tplanned_downtime renamed to fit
guidelines.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1005 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-08-11 12:59:07 +02:00
2020-07-23 13:26:39 +02:00
return ;
}
2019-08-19 12:31:47 +02:00
}
2015-06-08 11:05:19 +02:00
if ( defined ( 'METACONSOLE' )) {
2019-01-30 16:18:44 +01:00
if ( $id ) {
2020-05-19 08:20:04 +02:00
echo '<div class="user_form_title">' . __ ( 'Update User' ) . '</div>' ;
2019-01-30 16:18:44 +01:00
} else {
2020-05-19 08:20:04 +02:00
echo '<div class="user_form_title">' . __ ( 'Create User' ) . '</div>' ;
2019-01-30 16:18:44 +01:00
}
2020-05-19 08:20:04 +02:00
}
2019-01-30 16:18:44 +01:00
2020-05-19 08:20:04 +02:00
if ( ! $new_user ) {
2020-05-29 11:37:06 +02:00
$user_id = '<div class="label_select_simple"><p class="edit_user_labels">' . __ ( 'User ID' ) . '</p>' ;
2020-05-19 08:20:04 +02:00
$user_id .= '<span>' . $id . '</span>' ;
$user_id .= html_print_input_hidden ( 'id_user' , $id , true );
$user_id .= '</div>' ;
} else {
$user_id = '<div class="label_select_simple">' . html_print_input_text_extended (
'id_user' ,
$id ,
'' ,
'' ,
20 ,
100 ,
! $new_user || $view_mode ,
'' ,
[
'class' => 'input_line user_icon_input' ,
'placeholder' => __ ( 'User ID' ),
],
true
) . '</div>' ;
2015-03-06 12:28:05 +01:00
}
2019-01-30 16:18:44 +01:00
2020-05-19 08:20:04 +02:00
if ( is_user_admin ( $id )) {
$avatar = html_print_image ( 'images/people_1.png' , true , [ 'class' => 'user_avatar' ]);
} else {
$avatar = html_print_image ( 'images/people_2.png' , true , [ 'class' => 'user_avatar' ]);
}
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
2020-05-19 08:20:04 +02:00
$full_name = ' <div class="label_select_simple">' . html_print_input_text_extended (
2019-01-30 16:18:44 +01:00
'fullname' ,
$user_info [ 'fullname' ],
2020-05-19 08:20:04 +02:00
'fullname' ,
2019-01-30 16:18:44 +01:00
'' ,
2020-05-19 08:20:04 +02:00
20 ,
100 ,
2019-01-30 16:18:44 +01:00
$view_mode ,
'' ,
2020-05-19 08:20:04 +02:00
[
'class' => 'input' ,
'placeholder' => __ ( 'Full (display) name' ),
],
2019-01-30 16:18:44 +01:00
true
2020-05-19 08:20:04 +02:00
) . '</div>' ;
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
2020-05-29 11:37:06 +02:00
$language = '<div class="label_select"><p class="edit_user_labels">' . __ ( 'Language' ) . '</p>' ;
2020-05-19 08:20:04 +02:00
$language .= html_print_select_from_sql (
2019-01-30 16:18:44 +01:00
'SELECT id_language, name FROM tlanguage' ,
'language' ,
$user_info [ 'language' ],
'' ,
__ ( 'Default' ),
'default' ,
true
2020-05-19 08:20:04 +02:00
) . '</div>' ;
2009-11-27 Sancho lerena <slerena@artica.es>
* operation/menu.php: User section has no ACL check, always can be seen.
* index.php: Added suppor for user-defined custom language (this code was
on my disk for 3 months, pending to be commited!).
* include/functions_db.php,
* include/functions_agents.php,
* godmode/alerts/alert_list.php,
* godmode/agentes/modificar_agente.php,
* godmode/agentes/configurar_agente.php: Added audit calls to several
management operations who don't have or have insufficient audit info.
* godmode/users/configure_user.php: Fixed several annoyings bugs. Added
custom language support, and added more audit info on management operations.
* godmode/users/user_list.php: More audit info.
* include/config_process.php: Add new debug option to render error log to
/pandora_console.log. Also set timezone if not defined (this makes warnings
on several PHP 5.x setups). Added user custom language support.
* include/functions_events.php: More audit info. Fixed problems with HTML
encoding render.
* functions_io.php: Some cleaning.
* include/functions_messages.php: Fixed problems with HTML
encoding render.
* functions_ui.php: Fixed problems with HTML encoding render in
print_string_substr() function.
* auth/mysql.php: is_user_admin() functions seems to be broken ¿?¿!. Fixed.
* styles/pandora.css: removed green colored left border in default style.
* message.php, incident*: Fixed problems with HTML encoding render.
* user.php: Better ACL check before let user to view/edit another user.
* user_edit: Removed some un-used form fields, some arrangements in layout,
and FIXED forever problems with password change (new code written).
* users/user_statistics.php: Now user can see its own audit records.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2139 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-11-27 21:02:12 +01:00
2020-05-19 08:20:04 +02:00
2020-05-29 11:37:06 +02:00
$timezone = '<div class="label_select"><p class="edit_user_labels">' . __ ( 'Timezone' ) . ui_print_help_tip ( __ ( 'The timezone must be that of the associated server.' ), true ) . '</p>' ;
2020-05-19 08:20:04 +02:00
$timezone .= html_print_timezone_select ( 'timezone' , $user_info [ 'timezone' ]) . '</div>' ;
2018-06-11 16:40:10 +02:00
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
if ( $config [ 'user_can_update_password' ]) {
2020-05-19 08:20:04 +02:00
$new_pass = '<div class="label_select_simple"><span>' . html_print_input_text_extended (
2019-01-30 16:18:44 +01:00
'password_new' ,
'' ,
2020-05-19 08:20:04 +02:00
'password_new' ,
2019-01-30 16:18:44 +01:00
'' ,
2020-05-19 08:20:04 +02:00
'25' ,
'45' ,
2019-01-30 16:18:44 +01:00
$view_mode ,
'' ,
2020-05-19 08:20:04 +02:00
[
'class' => 'input' ,
'placeholder' => __ ( 'Password' ),
],
2019-01-30 16:18:44 +01:00
true ,
true
2020-05-19 08:20:04 +02:00
) . '</span></div>' ;
$new_pass_confirm = '<div class="label_select_simple"><span>' . html_print_input_text_extended (
2019-01-30 16:18:44 +01:00
'password_confirm' ,
'' ,
2020-05-19 08:20:04 +02:00
'password_conf' ,
2019-01-30 16:18:44 +01:00
'' ,
2020-05-19 08:20:04 +02:00
'20' ,
'45' ,
2019-01-30 16:18:44 +01:00
$view_mode ,
'' ,
2020-05-19 08:20:04 +02:00
[
'class' => 'input' ,
'placeholder' => __ ( 'Password confirmation' ),
],
2019-01-30 16:18:44 +01:00
true ,
true
2020-05-19 08:20:04 +02:00
) . '</span></div>' ;
2019-01-30 16:18:44 +01:00
}
$own_info = get_user_info ( $config [ 'id_user' ]);
2020-05-29 11:37:06 +02:00
$global_profile = '<div class="label_select_simple user_global_profile" ><span class="input_label" style="margin:0;">' . __ ( 'Global Profile' ) . '</span>' ;
2020-05-19 08:20:04 +02:00
$global_profile .= '<div class="switch_radio_button">' ;
2020-07-23 13:26:39 +02:00
if ( users_is_admin ()) {
$global_profile .= html_print_radio_button_extended (
'is_admin' ,
1 ,
[
'label' => __ ( 'Administrator' ),
'help_tip' => __ ( 'This user has permissions to manage all. An admin user should not requiere additional group permissions, except for using Enterprise ACL.' ),
],
$user_info [ 'is_admin' ],
false ,
'' ,
'' ,
true
);
}
2020-05-19 08:20:04 +02:00
$global_profile .= html_print_radio_button_extended (
'is_admin' ,
0 ,
[
'label' => __ ( 'Standard User' ),
'help_tip' => __ ( 'This user has separated permissions to view data in his group agents, create incidents belong to his groups, add notes in another incidents, create personal assignments or reviews and other tasks, on different profiles' ),
],
$user_info [ 'is_admin' ],
false ,
'' ,
'' ,
true
);
$global_profile .= '</div></div>' ;
2009-01-22 18:44:33 +01:00
2020-05-19 08:20:04 +02:00
$email = '<div class="label_select_simple">' . html_print_input_text_extended (
2019-01-30 16:18:44 +01:00
'email' ,
$user_info [ 'email' ],
2020-05-19 08:20:04 +02:00
'email' ,
2019-01-30 16:18:44 +01:00
'' ,
2020-05-19 08:20:04 +02:00
'25' ,
'100' ,
2019-01-30 16:18:44 +01:00
$view_mode ,
'' ,
2020-05-19 08:20:04 +02:00
[
'class' => 'input input_line email_icon_input' ,
'placeholder' => __ ( 'E-mail' ),
],
2019-01-30 16:18:44 +01:00
true
2020-05-19 08:20:04 +02:00
) . '</div>' ;
2008-06-09 19:51:18 +02:00
2020-05-19 08:20:04 +02:00
$phone = '<div class="label_select_simple">' . html_print_input_text_extended (
2019-01-30 16:18:44 +01:00
'phone' ,
$user_info [ 'phone' ],
2020-05-19 08:20:04 +02:00
'phone' ,
2019-01-30 16:18:44 +01:00
'' ,
2020-05-19 08:20:04 +02:00
'20' ,
'30' ,
2019-01-30 16:18:44 +01:00
$view_mode ,
'' ,
2020-05-19 08:20:04 +02:00
[
'class' => 'input input_line phone_icon_input' ,
'placeholder' => __ ( 'Phone number' ),
],
2019-01-30 16:18:44 +01:00
true
2020-05-19 08:20:04 +02:00
) . '</div>' ;
2008-08-12 16:41:53 +02:00
2020-05-29 11:37:06 +02:00
$comments = '<p class="edit_user_labels">' . __ ( 'Comments' ) . '</p>' ;
2020-05-19 08:20:04 +02:00
$comments .= html_print_textarea (
2019-01-30 16:18:44 +01:00
'comments' ,
2 ,
65 ,
$user_info [ 'comments' ],
( $view_mode ? 'readonly="readonly"' : '' ),
true
);
// If we want to create a new user, skins displayed are the skins of the creator's group. If we want to update, skins displayed are the skins of the modified user.
$own_info = get_user_info ( $config [ 'id_user' ]);
if ( $own_info [ 'is_admin' ] || check_acl ( $config [ 'id_user' ], 0 , 'PM' )) {
$display_all_group = true ;
} else {
$display_all_group = false ;
}
2011-03-01 16:47:48 +01:00
2012-08-17 17:28:55 +02:00
if ( $new_user ) {
2019-01-30 16:18:44 +01:00
$usr_groups = ( users_get_groups ( $config [ 'id_user' ], 'AR' , $display_all_group ));
$id_usr = $config [ 'id_user' ];
} else {
$usr_groups = ( users_get_groups ( $id , 'AR' , $display_all_group ));
$id_usr = $id ;
2011-02-14 10:08:41 +01:00
}
2013-04-24 16:27:24 +02:00
if ( ! $meta ) {
2019-01-30 16:18:44 +01:00
// User only can change skins if has more than one group
if ( count ( $usr_groups ) > 1 ) {
if ( $isFunctionSkins !== ENTERPRISE_NOT_HOOK ) {
2020-05-29 11:37:06 +02:00
$skin = '<div class="label_select"><p class="edit_user_labels">' . __ ( 'Skin' ) . '</p>' ;
2020-05-19 08:20:04 +02:00
$skin .= skins_print_select ( $id_usr , 'skin' , $user_info [ 'id_skin' ], '' , __ ( 'None' ), 0 , true ) . '</div>' ;
2019-01-30 16:18:44 +01:00
}
}
2011-02-14 10:08:41 +01:00
}
2019-01-30 16:18:44 +01:00
if ( $meta ) {
$array_filters = get_filters_custom_fields_view ( 0 , true );
2020-05-19 08:20:04 +02:00
$search_custom_fields_view = '<div class="label_select"><p class="edit_user_labels">' . __ ( 'Search custom field view' ) . ' ' . ui_print_help_tip ( __ ( 'Load by default the selected view in custom field view' ), true ) . '</p>' ;
$search_custom_fields_view .= html_print_select (
2019-01-30 16:18:44 +01:00
$array_filters ,
'default_custom_view' ,
$user_info [ 'default_custom_view' ],
'' ,
__ ( 'None' ),
0 ,
true ,
false ,
true ,
'' ,
false
2020-05-19 08:20:04 +02:00
) . '</div>' ;
2019-01-30 16:18:44 +01:00
}
$values = [
- 1 => __ ( 'Use global conf' ),
1 => __ ( 'Yes' ),
0 => __ ( 'No' ),
];
2020-05-19 08:20:04 +02:00
$home_screen = '<div class="label_select"><p class="edit_user_labels">' . __ ( 'Home screen' ) . ui_print_help_tip ( __ ( 'User can customize the home page. By default, will display \'Agent Detail\'. Example: Select \'Other\' and type index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=1 to show agent detail view' ), true ) . '</p>' ;
;
2019-01-30 16:18:44 +01:00
$values = [
'Default' => __ ( 'Default' ),
'Visual console' => __ ( 'Visual console' ),
'Event list' => __ ( 'Event list' ),
'Group view' => __ ( 'Group view' ),
'Tactical view' => __ ( 'Tactical view' ),
'Alert detail' => __ ( 'Alert detail' ),
'External link' => __ ( 'External link' ),
'Other' => __ ( 'Other' ),
];
2020-03-26 12:29:38 +01:00
if ( ! is_metaconsole ()) {
2019-01-30 16:18:44 +01:00
$values [ 'Dashboard' ] = __ ( 'Dashboard' );
2017-04-06 16:17:54 +02:00
}
2019-01-30 16:18:44 +01:00
2019-05-27 18:49:47 +02:00
2020-05-19 08:20:04 +02:00
$home_screen .= html_print_select ( $values , 'section' , io_safe_output ( $user_info [ 'section' ]), 'show_data_section();' , '' , - 1 , true , false , false ) . '</div>' ;
2017-04-06 16:17:54 +02:00
2019-01-30 16:18:44 +01:00
2020-03-26 12:29:38 +01:00
$dashboards = Manager :: getDashboards ( - 1 , - 1 );
$dashboards_aux = [];
if ( $dashboards === false ) {
$dashboards = [ 'None' => 'None' ];
} else {
foreach ( $dashboards as $key => $dashboard ) {
$dashboards_aux [ $dashboard [ 'id' ]] = $dashboard [ 'name' ];
}
2017-04-06 16:17:54 +02:00
}
2020-05-19 08:20:04 +02:00
$home_screen .= html_print_select ( $dashboards_aux , 'dashboard' , $user_info [ 'data_section' ], '' , '' , '' , true );
2020-03-26 12:29:38 +01:00
2019-01-30 16:18:44 +01:00
$layouts = visual_map_get_user_layouts ( $config [ 'id_user' ], true );
$layouts_aux = [];
2017-04-06 16:17:54 +02:00
if ( $layouts === false ) {
2019-01-30 16:18:44 +01:00
$layouts_aux = [ 'None' => 'None' ];
} else {
foreach ( $layouts as $layout ) {
$layouts_aux [ $layout ] = $layout ;
}
2017-04-06 16:17:54 +02:00
}
2020-05-19 08:20:04 +02:00
$home_screen .= html_print_select ( $layouts_aux , 'visual_console' , $user_info [ 'data_section' ], '' , '' , '' , true );
$home_screen .= html_print_input_text ( 'data_section' , $user_info [ 'data_section' ], '' , 60 , 255 , true , false );
2019-01-30 16:18:44 +01:00
2020-05-19 08:20:04 +02:00
$size_pagination = '<div class="label_select_simple"><p class="edit_user_labels">' . __ ( 'Block size for pagination' ) . '</p>' ;
$size_pagination .= html_print_input_text ( 'block_size' , $user_info [ 'block_size' ], '' , 5 , 5 , true ) . '</div>' ;
2011-03-01 16:47:48 +01:00
2012-08-17 17:28:55 +02:00
if ( $id == $config [ 'id_user' ]) {
2020-05-19 08:20:04 +02:00
$language .= html_print_input_hidden ( 'quick_language_change' , 1 , true );
2011-07-26 12:32:13 +02:00
}
2013-01-23 15:20:54 +01:00
if ( enterprise_installed () && defined ( 'METACONSOLE' )) {
2019-01-30 16:18:44 +01:00
$user_info_metaconsole_access = 'only_console' ;
if ( isset ( $user_info [ 'metaconsole_access' ])) {
$user_info_metaconsole_access = $user_info [ 'metaconsole_access' ];
}
2020-05-19 08:20:04 +02:00
$meta_access = '<div class="label_select"><p class="edit_user_labels">' . __ ( 'Metaconsole access' ) . ' ' . ui_print_help_icon ( 'meta_access' , true ) . '</p>' ;
2019-01-30 16:18:44 +01:00
$metaconsole_accesses = [
'basic' => __ ( 'Basic' ),
'advanced' => __ ( 'Advanced' ),
];
2020-05-19 08:20:04 +02:00
$meta_access .= html_print_select (
2019-01-30 16:18:44 +01:00
$metaconsole_accesses ,
'metaconsole_access' ,
$user_info_metaconsole_access ,
'' ,
'' ,
- 1 ,
true ,
false ,
false
2020-05-19 08:20:04 +02:00
) . '</div>' ;
2012-07-06 11:11:10 +02:00
}
2020-05-19 08:20:04 +02:00
$not_login = '<div class="label_select_simple"><p class="edit_user_labels">' . __ ( 'Not Login' ) . '</p>' ;
$not_login .= ui_print_help_tip ( __ ( 'The user with not login set only can access to API.' ), true );
$not_login .= html_print_checkbox_switch ( 'not_login' , 1 , $user_info [ 'not_login' ], true ) . '</div>' ;
2012-08-20 Miguel de Dios <miguel.dedios@artica.es>
* index.php, extras/pandoradb_migrate_4.0.x_to_5.0.postgreSQL.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.mysql.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.oracle.sql,
general/login_page.php, general/logon_failed.php,
godmode/users/configure_user.php, include/api.php,
include/auth/mysql.php, pandoradb.sql, pandoradb.postgreSQL.sql,
pandoradb.oracle.sql: added the feature to set any user with
"not login" for only the user can work across the API.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6891 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-08-20 20:06:04 +02:00
2020-05-19 08:20:04 +02:00
$session_time = '<div class="label_select_simple"><p class="edit_user_labels">' . __ ( 'Session Time' );
$session_time .= ui_print_help_tip ( __ ( 'This is defined in minutes, If you wish a permanent session should putting -1 in this field.' ), true ) . '</p>' ;
$session_time .= html_print_input_text ( 'session_time' , $user_info [ 'session_time' ], '' , 5 , 5 , true . false , false , '' , 'class="input_line_small"' ) . '</div>' ;
2017-04-05 17:44:24 +02:00
$event_filter_data = db_get_all_rows_sql ( 'SELECT id_name, id_filter FROM tevent_filter' );
2019-01-30 16:18:44 +01:00
if ( $event_filter_data === false ) {
$event_filter_data = [];
}
$event_filter = [];
2017-04-05 17:44:24 +02:00
$event_filter [ 0 ] = __ ( 'None' );
foreach ( $event_filter_data as $filter ) {
2019-01-30 16:18:44 +01:00
$event_filter [ $filter [ 'id_filter' ]] = $filter [ 'id_name' ];
2017-04-05 17:44:24 +02:00
}
2019-01-30 16:18:44 +01:00
2020-05-19 08:20:04 +02:00
$default_event_filter = '<div class="label_select"><p class="edit_user_labels">' . __ ( 'Default event filter' ) . '</p>' ;
$default_event_filter .= html_print_select ( $event_filter , 'default_event_filter' , $user_info [ 'default_event_filter' ], '' , '' , __ ( 'None' ), true , false , false ) . '</div>' ;
2019-01-30 16:18:44 +01:00
2020-05-19 08:20:04 +02:00
$newsletter = '<div class="label_select_simple"><p class="edit_user_labels">' . __ ( 'Disabled newsletter' ) . '</p>' ;
2019-07-09 14:08:06 +02:00
if ( $user_info [ 'middlename' ] >= 0 ) {
$middlename = false ;
} else {
$middlename = true ;
}
2020-05-19 08:20:04 +02:00
$newsletter .= html_print_checkbox_switch (
2019-07-09 14:08:06 +02:00
'middlename' ,
- 1 ,
$middlename ,
true
2020-05-19 08:20:04 +02:00
) . '</div>' ;
2019-07-09 14:08:06 +02:00
2019-05-27 18:49:47 +02:00
if ( $config [ 'ehorus_user_level_conf' ]) {
2020-05-19 08:20:04 +02:00
$ehorus = '<div class="label_select_simple"><p class="edit_user_labels">' . __ ( 'eHorus user access enabled' ) . '</p>' ;
$ehorus .= html_print_checkbox_switch ( 'ehorus_user_level_enabled' , 1 , $user_info [ 'ehorus_user_level_enabled' ], true ) . '</div>' ;
$ehorus .= '<div class="user_edit_ehorus_outer">' ;
$ehorus .= '<div class="label_select_simple user_edit_ehorus_inner"><p class="edit_user_labels">' . __ ( 'eHorus user' ) . '</p>' ;
$ehorus .= html_print_input_text ( 'ehorus_user_level_user' , $user_info [ 'ehorus_user_level_user' ], '' , 15 , 45 , true ) . '</div>' ;
$ehorus .= '<div class="label_select_simple user_edit_ehorus_inner"><p class="edit_user_labels">' . __ ( 'eHorus password' ) . '</p>' ;
$ehorus .= html_print_input_password ( 'ehorus_user_level_pass' , io_output_password ( $user_info [ 'ehorus_user_level_pass' ]), '' , 15 , 45 , true ) . '</div>' ;
$ehorus .= '</div>' ;
2019-05-27 18:49:47 +02:00
}
2020-10-06 17:02:58 +02:00
$double_auth_enabled = ( bool ) db_get_value ( 'id' , 'tuser_double_auth' , 'id_user' , $id );
if ( $config [ 'double_auth_enabled' ] && check_acl ( $config [ 'id_user' ], 0 , 'PM' )) {
$double_authentication = '<div class="label_select_simple"><p class="edit_user_labels">' . __ ( 'Double authentication' ) . '</p>' ;
if (( $config [ '2FA_all_users' ] == '' && ! $double_auth_enabled )
|| ( $config [ 'double_auth_enabled' ] == '' && $double_auth_enabled )
|| check_acl ( $config [ 'id_user' ], 0 , 'PM' )
) {
$double_authentication .= html_print_checkbox_switch ( 'double_auth' , 1 , $double_auth_enabled , true );
}
// Dialog.
$double_authentication .= '<div id="dialog-double_auth" style="display:none"><div id="dialog-double_auth-container"></div></div>' ;
}
if ( $double_auth_enabled && $config [ 'double_auth_enabled' ] && $config [ '2FA_all_users' ] != '' ) {
$double_authentication .= html_print_button ( __ ( 'Show information' ), 'show_info' , false , 'javascript:show_double_auth_info();' , '' , true );
}
if ( isset ( $double_authentication )) {
$double_authentication .= '</div>' ;
}
2019-05-27 18:49:47 +02:00
2019-01-30 16:18:44 +01:00
if ( $meta ) {
enterprise_include_once ( 'include/functions_metaconsole.php' );
2020-05-19 08:20:04 +02:00
$metaconsole_agents_manager = '<div class="label_select_simple" id="metaconsole_agents_manager_div"><p class="edit_user_labels">' . __ ( 'Enable agents managment' ) . '</p>' ;
$metaconsole_agents_manager .= html_print_checkbox_switch ( 'metaconsole_agents_manager' , 1 , $user_info [ 'metaconsole_agents_manager' ], true ) . '</div>' ;
2019-01-30 16:18:44 +01:00
2020-05-19 08:20:04 +02:00
$metaconsole_assigned_server = '<div class="label_select" id="metaconsole_assigned_server_div"><p class="edit_user_labels">' . __ ( 'Assigned node' ) . ui_print_help_tip ( __ ( 'Server where the agents created of this user will be placed' ), true ) . '</p>' ;
2019-01-30 16:18:44 +01:00
$servers = metaconsole_get_servers ();
$servers_for_select = [];
foreach ( $servers as $server ) {
$servers_for_select [ $server [ 'id' ]] = $server [ 'server_name' ];
}
2020-05-19 08:20:04 +02:00
$metaconsole_assigned_server .= html_print_select ( $servers_for_select , 'metaconsole_assigned_server' , $user_info [ 'metaconsole_assigned_server' ], '' , '' , - 1 , true , false , false ) . '</div>' ;
$metaconsole_access_node = '<div class="label_select_simple" id="metaconsole_access_node_div"><p class="edit_user_labels">' . __ ( 'Enable node access' ) . ui_print_help_tip ( __ ( 'With this option enabled, the user will can access to nodes console' ), true ) . '</p>' ;
$metaconsole_access_node .= html_print_checkbox ( 'metaconsole_access_node' , 1 , $user_info [ 'metaconsole_access_node' ], true ) . '</div>' ;
2013-04-22 12:31:20 +02:00
}
2020-09-18 09:40:26 +02:00
echo '<form id="user_profile_form" name="user_profile_form" method="post" autocomplete="off" action="#">' ;
2008-08-11 Esteban Sanchez <estebans@artica.es>
* include/functions_db.php: Added __ as an alias of lang_string().
* include/functions_reporting_pdf.php,
include/functions_reporting.php, include/functions.php,
include/functions_visual_map.php, index.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/incidents/incident_note.php,
operation/incidents/incident_search.php,
operation/incidents/incident_statistics.php,
operation/snmpconsole/snmp_alert.php,
operation/snmpconsole/snmp_view.php, operation/users/user.php,
operation/users/user_edit.php, operation/users/user_statistics.php,
operation/events/event_statistics.php, operation/events/events.php,
operation/visual_console/render_view.php,
operation/visual_console/index.php, operation/extensions.php,
operation/agentes/estado_alertas.php,
operation/agentes/status_monitor.php,
operation/agentes/estado_grupo.php, operation/agentes/export_csv.php,
operation/agentes/datos_agente.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/estado_generalagente.php,
operation/agentes/estado_agente.php, operation/agentes/bulbs.php,
operation/agentes/status_events.php, operation/agentes/sla_view.php,
operation/agentes/exportdata.php,
operation/agentes/estado_monitores.php,
operation/agentes/ver_agente.php, operation/agentes/estadisticas.php,
operation/agentes/tactical.php, operation/agentes/networkmap.php,
operation/messages/message.php,
operation/reporting/reporting_viewer.php,
operation/reporting/graph_viewer.php,
operation/reporting/custom_reporting.php,
operation/servers/view_server.php,
operation/servers/view_server_detail.php, operation/menu.php,
reporting/fgraph.php, reporting/stat_win.php, ajax.php,
general/logoff.php, general/pandora_help.php, general/footer.php,
general/noaccess.php, general/logon_failed.php,
general/links_menu.php, general/login_page.php, general/logon_ok.php,
general/header.php, general/main_menu.php,
godmode/groups/configure_group.php, godmode/groups/group_list.php,
godmode/setup/news.php, godmode/setup/links.php,
godmode/setup/setup.php, godmode/users/user_list.php,
godmode/users/configure_user.php, godmode/profiles/profile_list.php,
godmode/admin_access_logs.php, godmode/db/db_info_data.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_network.php,
godmode/agentes/module_manager_editor_wmi.php,
godmode/agentes/alert_manager.php,
godmode/agentes/module_manager_editor_plugin.php,
godmode/agentes/module_manager_editor_prediction.php,
godmode/agentes/alert_manager_editor.php,
godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor_data.php,
godmode/agentes/module_manager.php,
godmode/agentes/modificar_agente.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/agent_disk_conf_editor.php,
godmode/agentes/planned_downtime.php,
godmode/agentes/manage_config_remote.php,
godmode/agentes/agent_manager.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_templates_form.php,
godmode/modules/manage_network_components_form_network.php,
godmode/modules/manage_network_components_form_wmi.php,
godmode/modules/manage_network_components.php,
godmode/modules/manage_nc_groups.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/map_builder.php,
godmode/reporting/graph_builder.php, godmode/servers/plugin.php,
godmode/servers/manage_recontask.php,
godmode/servers/modificar_server.php,
godmode/servers/manage_recontask_form.php,
godmode/alerts/modify_alert.php, godmode/alerts/configure_alert.php,
godmode/menu.php: Replaced $id_user with $config['id_user']. Use __a
instead of $lang_label to future use of gettext. Style
corrections.
* godmode/agentes/planned_downtime.php: Rewritten to use Pandora
functions and adopt the UI style. Replaced lang_string with __().
* pandoradb.sql: Fields in tplanned_downtime renamed to fit
guidelines.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1005 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-08-11 12:59:07 +02:00
2009-01-22 18:44:33 +01:00
2020-05-19 08:20:04 +02:00
if ( ! $id ) {
$user_id_update_view = $user_id ;
$user_id_create = '' ;
} else {
$user_id_update_view = '' ;
$user_id_create = $user_id ;
}
if ( is_metaconsole ()) {
$access_or_pagination = $meta_access ;
} else {
$access_or_pagination = $size_pagination ;
}
2020-09-09 14:32:02 +02:00
if ( $id != '' && ! $is_err ) {
$div_user_info = '<div class="edit_user_info_left">' . $avatar . $user_id_create . ' </ div >
< div class = " edit_user_info_right " > '.$user_id_update_view.$full_name.$new_pass.$new_pass_confirm.$global_profile.' </ div > ' ;
} else {
$div_user_info = '<div class="edit_user_info_left">' . $avatar . ' </ div >
< div class = " edit_user_info_right " > '.$user_id_create.$user_id_update_view.$full_name.$new_pass.$new_pass_confirm.$global_profile.' </ div > ' ;
}
2020-05-19 08:20:04 +02:00
echo ' < div id = " user_form " >
< div class = " user_edit_first_row " >
2020-09-09 14:32:02 +02:00
< div class = " edit_user_info white_box " > '.$div_user_info.' </ div >
2020-05-29 11:37:06 +02:00
< div class = " edit_user_autorefresh white_box " >< p style = " font-weight:bold; " > Extra info </ p > '.$email.$phone.$not_login.$session_time.' </ div >
2020-05-19 08:20:04 +02:00
</ div >
< div class = " user_edit_second_row white_box " >
2020-10-06 17:02:58 +02:00
< div class = " edit_user_options " > '.$language.$access_or_pagination.$skin.$home_screen.$default_event_filter.$newsletter.$double_authentication.' </ div >
2020-05-19 08:20:04 +02:00
< div class = " edit_user_timezone " > ' . $timezone ;
if ( ! is_metaconsole ()) {
echo ' < div id = " timezone-picker " >
< img id = " timezone-image " src = " '. $local_file .' " width = " '. $map_width .' " height = " '. $map_height .' " usemap = " #timezone-map " />
< img class = " timezone-pin " src = " include/javascript/timezonepicker/images/pin.png " style = " padding-top: 4px; " />
< map name = " timezone-map " id = " timezone-map " > '.$area_data_timezone_polys.$area_data_timezone_rects.' </ map >
</ div > ' ;
} else {
echo $search_custom_fields_view . $metaconsole_agents_manager . $metaconsole_assigned_server . $metaconsole_access_node ;
}
2020-07-23 13:26:39 +02:00
echo ' </ div >
</ div >
2020-05-19 08:20:04 +02:00
< div class = " user_edit_third_row white_box " >
< div class = " edit_user_comments " > '.$comments.' </ div >
</ div > ' ;
2020-07-23 13:26:39 +02:00
if ( ! empty ( $ehorus )) {
echo '<div class="user_edit_third_row white_box">' . $ehorus . '</div>' ;
}
echo '</div>' ;
2020-05-19 08:20:04 +02:00
echo '<div style="width: 100%" class="action-buttons">' ;
2018-09-13 15:19:08 +02:00
if ( $config [ 'admin_can_add_user' ]) {
2019-01-30 16:18:44 +01:00
html_print_csrf_hidden ();
if ( $new_user ) {
html_print_input_hidden ( 'create_user' , 1 );
} else {
html_print_input_hidden ( 'update_user' , 1 );
}
2009-01-22 18:44:33 +01:00
}
2019-01-30 16:18:44 +01:00
2020-09-18 09:40:26 +02:00
echo '</div>' ;
2020-07-23 13:26:39 +02:00
html_print_input_hidden ( 'json_profile' , '' );
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
echo '</form>' ;
2020-09-14 17:48:38 +02:00
profile_print_profile_table ( $id );
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
echo '<br />' ;
2009-01-22 18:44:33 +01:00
2020-09-18 09:40:26 +02:00
echo '<div style="width: 100%" class="action-buttons">' ;
if ( $config [ 'admin_can_add_user' ]) {
if ( $new_user ) {
html_print_submit_button ( __ ( 'Create' ), 'crtbutton' , false , 'class="sub wand" form="user_profile_form"' );
} else {
html_print_submit_button ( __ ( 'Update' ), 'uptbutton' , false , 'class="sub upd" form="user_profile_form"' );
}
}
echo '</div>' ;
echo '</div>' ;
2013-05-20 10:42:02 +02:00
enterprise_hook ( 'close_meta_frame' );
2020-07-23 13:26:39 +02:00
$delete_image = html_print_input_image ( 'del' , 'images/cross.png' , 1 , '' , true , [ 'onclick' => 'delete_profile(event, this)' ]);
2020-05-19 08:20:04 +02:00
if ( ! is_metaconsole ()) {
?>
< style >
/* Styles for timezone map */
#timezone-picker div.timezone-picker {
margin : 0 auto ;
}
</ style >
< script language = " javascript " type = " text/javascript " >
$ ( document ) . ready ( function () {
// Set up the picker to update target timezone and country select lists.
$ ( '#timezone-image' ) . timezonePicker ({
target : '#timezone' ,
});
// Optionally an auto-detect button to trigger JavaScript geolocation.
$ ( '#timezone-detect' ) . click ( function () {
$ ( '#timezone-image' ) . timezonePicker ( 'detectLocation' );
});
});
</ script >
< ? php
// Include OpenLayers and timezone user map library.
echo '<script type="text/javascript" src="' . ui_get_full_url ( 'include/javascript/timezonepicker/lib/jquery.timezone-picker.min.js' ) . '"></script>' . " \n \t " ;
echo '<script type="text/javascript" src="' . ui_get_full_url ( 'include/javascript/timezonepicker/lib/jquery.maphilight.min.js' ) . '"></script>' . " \n \t " ;
// Closes no meta condition.
}
2013-03-14 17:52:05 +01:00
?>
2013-04-22 12:31:20 +02:00
< script type = " text/javascript " >
2020-07-23 13:26:39 +02:00
var json_profile = $ ( '#hidden-json_profile' );
2013-04-22 12:31:20 +02:00
/* <![CDATA[ */
$ ( document ) . ready ( function () {
2020-10-06 17:02:58 +02:00
$ ( " input#checkbox-double_auth " ) . change ( function ( e ) {
e . preventDefault ();
if ( this . checked ) {
show_double_auth_activation ();
} else {
show_double_auth_deactivation ();
}
});
2019-01-30 16:18:44 +01:00
$ ( 'input:radio[name="is_admin"]' ) . change ( function () {
2020-05-19 08:20:04 +02:00
if ( $ ( '#radiobtn0002' ) . prop ( 'checked' )) {
$ ( '#metaconsole_agents_manager_div' ) . show ();
$ ( '#metaconsole_access_node_div' ) . show ();
2020-07-23 13:26:39 +02:00
if ( $ ( '#checkbox-metaconsole_agents_manager' ) . prop ( 'checked' )) {
2020-05-19 08:20:04 +02:00
$ ( '#metaconsole_assigned_server_div' ) . show ();
2019-01-30 16:18:44 +01:00
}
}
else {
2020-05-19 08:20:04 +02:00
$ ( '#metaconsole_agents_manager_div' ) . hide ();
$ ( '#metaconsole_access_node_div' ) . hide ();
$ ( '#metaconsole_assigned_server_div' ) . hide ();
2019-01-30 16:18:44 +01:00
}
});
2020-05-19 08:20:04 +02:00
$ ( '#checkbox-metaconsole_agents_manager' ) . change ( function () {
2019-01-30 16:18:44 +01:00
if ( $ ( '#checkbox-metaconsole_agents_manager' ) . prop ( 'checked' )) {
2020-05-19 08:20:04 +02:00
$ ( '#metaconsole_assigned_server_div' ) . show ();
2019-01-30 16:18:44 +01:00
}
2020-05-19 08:20:04 +02:00
else {
$ ( '#metaconsole_assigned_server_div' ) . hide ();
2019-01-30 16:18:44 +01:00
}
});
$ ( 'input:radio[name="is_admin"]' ) . trigger ( 'change' );
$ ( '#checkbox-metaconsole_agents_manager' ) . trigger ( 'change' );
show_data_section ();
2019-05-28 13:14:42 +02:00
$ ( '#checkbox-ehorus_user_level_enabled' ) . change ( function () {
2019-05-27 18:49:47 +02:00
switch_ehorus_conf ();
});
2019-05-28 13:14:42 +02:00
$ ( '#checkbox-ehorus_user_level_enabled' ) . trigger ( 'change' );
2019-05-27 18:49:47 +02:00
2020-07-23 13:26:39 +02:00
var img_delete = '<?php echo $delete_image; ?>' ;
2020-09-23 11:36:15 +02:00
var id_user = '<?php echo io_safe_output($id); ?>' ;
2020-10-22 09:53:59 +02:00
var is_metaconsole = '<?php echo $meta; ?>' ;
2020-07-23 13:26:39 +02:00
var data = [];
$ ( 'input:image[name="add"]' ) . click ( function ( e ) {
e . preventDefault ();
var profile = $ ( '#assign_profile' ) . val ();
var profile_text = $ ( '#assign_profile option:selected' ) . text ();
var group = $ ( '#assign_group' ) . val ();
var group_text = $ ( '#assign_group option:selected' ) . text ();
var tags = $ ( '#assign_tags' ) . val ();
var tags_text = $ ( '#assign_tags option:selected' ) . toArray () . map ( item => item . text ) . join ();
if ( $ ( '#checkbox-no_hierarchy' ) . is ( ':checked' )) {
var hierarchy = 1 ;
var hierarchy_text = '<?php echo __(' yes '); ?>' ;
} else {
var hierarchy = 0 ;
var hierarchy_text = '<?php echo __(' no '); ?>' ;
}
if ( profile === '0' || group === '-1' ) {
alert ( '<?php echo __(' please select profile and group '); ?>' );
return ;
}
if ( id_user === '' ) {
let new_json = `{"profile":${profile},"group":${group},"tags":[${tags}],"hierarchy":${hierarchy}}` ;
data . push ( new_json );
json_profile . val ( '[' + data + ']' );
$ ( '#table_profiles tr:last' ) . before (
` < tr >
< td > $ { profile_text } </ td >
< td > $ { group_text } </ td >
< td > $ { tags_text } </ td >
< td > $ { hierarchy_text } </ td >
< td > $ { img_delete } </ td >
</ tr > `
);
} else {
this . form . submit ();
}
});
$ ( 'input:image[name="del"]' ) . click ( function ( e ) {
e . preventDefault ();
var rows = $ ( " #table_profiles tr " ) . length ;
2020-10-22 09:53:59 +02:00
if (( is_metaconsole === '1' && rows <= 4 ) || ( is_metaconsole === '' && rows <= 3 )) {
2020-09-14 17:42:04 +02:00
if ( ! confirm ( '<?php echo __(' Deleting last profile will delete this user '); ?>' + '. ' + '<?php echo __(' Are you sure ? '); ?>' )) {
2020-07-23 13:26:39 +02:00
return ;
}
}
var id_user_profile = $ ( this ) . siblings ();
id_user_profile = id_user_profile [ 1 ] . value ;
var row = $ ( this ) . closest ( 'tr' );
var params = [];
params . push ( " delete_profile=1 " );
params . push ( " id_user= " + id_user );
params . push ( " id_user_profile= " + id_user_profile );
params . push ( " page=godmode/users/configure_user " );
jQuery . ajax ({
data : params . join ( " & " ),
type : 'POST' ,
url : action = " <?php echo ui_get_full_url('ajax.php', false, false, false); ?> " ,
success : function ( data ) {
row . remove ();
var rows = $ ( " #table_profiles tr " ) . length ;
2020-10-22 09:53:59 +02:00
if (( is_metaconsole === '1' && rows <= 3 ) || ( is_metaconsole === '' && rows <= 2 )) {
2020-07-23 13:26:39 +02:00
window . location . replace ( " <?php echo ui_get_full_url('index.php?sec=gusuarios&sec2=godmode/users/user_list&tab=user&pure=0', false, false, false); ?> " );
}
}
});
});
2020-11-03 10:14:17 +01:00
function checkProfiles ( e ) {
2020-07-23 13:26:39 +02:00
e . preventDefault ();
2020-10-22 13:35:42 +02:00
if ( $ ( 'input[name="is_admin"]:checked' ) . val () == 1 ) {
// Admin does not require profiles.
$ ( '#user_profile_form' ) . submit ();
2020-07-23 13:26:39 +02:00
} else {
2020-11-03 10:08:23 +01:00
if ( $ ( '#table_profiles tbody' ) . children () . length == 1 ) {
confirmDialog ({
2020-11-03 10:11:18 +01:00
title : " <?php echo __('Warning'); ?> " ,
2020-11-03 10:08:23 +01:00
message : " <?php echo __('User will be created without profiles assigned and won \ 't be able to log in, are you sure?'); ?> " ,
onAccept : function () {
$ ( '#user_profile_form' ) . submit ();
}
});
} else {
$ ( '#user_profile_form' ) . submit ();
}
2020-07-23 13:26:39 +02:00
}
2020-11-03 10:14:17 +01:00
}
$ ( '#submit-crtbutton' ) . click ( function ( e ) {
checkProfiles ( e );
});
$ ( '#submit-uptbutton' ) . click ( function ( e ) {
checkProfiles ( e );
2020-07-23 13:26:39 +02:00
});
2013-04-22 12:31:20 +02:00
});
2017-04-06 16:17:54 +02:00
2020-07-23 13:26:39 +02:00
function delete_profile ( event , btn ) {
event . preventDefault ();
var row = btn . parentNode . parentNode ;
var position = row . rowIndex ;
row . parentNode . removeChild ( row );
var json = json_profile . val ();
var test = JSON . parse ( json );
delete test [ position - 1 ];
json_profile . val ( JSON . stringify ( test ));
}
2017-04-06 16:17:54 +02:00
function show_data_section () {
2019-01-30 16:18:44 +01:00
section = $ ( " #section " ) . val ();
switch ( section ) {
case < ? php echo " ' " . 'Dashboard' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " none " );
$ ( " #dashboard " ) . css ( " display " , " " );
$ ( " #visual_console " ) . css ( " display " , " none " );
break ;
case < ? php echo " ' " . 'Visual console' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " none " );
$ ( " #dashboard " ) . css ( " display " , " none " );
$ ( " #visual_console " ) . css ( " display " , " " );
break ;
case < ? php echo " ' " . 'Event list' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " none " );
$ ( " #dashboard " ) . css ( " display " , " none " );
$ ( " #visual_console " ) . css ( " display " , " none " );
break ;
case < ? php echo " ' " . 'Group view' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " none " );
$ ( " #dashboard " ) . css ( " display " , " none " );
$ ( " #visual_console " ) . css ( " display " , " none " );
break ;
case < ? php echo " ' " . 'Tactical view' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " none " );
$ ( " #dashboard " ) . css ( " display " , " none " );
$ ( " #visual_console " ) . css ( " display " , " none " );
break ;
case < ? php echo " ' " . 'Alert detail' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " none " );
$ ( " #dashboard " ) . css ( " display " , " none " );
$ ( " #visual_console " ) . css ( " display " , " none " );
break ;
case < ? php echo " ' " . 'External link' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " " );
$ ( " #dashboard " ) . css ( " display " , " none " );
$ ( " #visual_console " ) . css ( " display " , " none " );
break ;
case < ? php echo " ' " . 'Other' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " " );
$ ( " #dashboard " ) . css ( " display " , " none " );
$ ( " #visual_console " ) . css ( " display " , " none " );
break ;
case < ? php echo " ' " . 'Default' . " ' " ; ?> :
$ ( " #text-data_section " ) . css ( " display " , " none " );
$ ( " #dashboard " ) . css ( " display " , " none " );
$ ( " #visual_console " ) . css ( " display " , " none " );
break ;
}
2017-04-06 16:17:54 +02:00
}
2019-05-27 18:49:47 +02:00
function switch_ehorus_conf ()
{
2019-05-28 13:14:42 +02:00
if ( ! $ ( '#checkbox-ehorus_user_level_enabled' ) . prop ( 'checked' ))
2019-05-27 18:49:47 +02:00
{
2020-05-19 08:20:04 +02:00
$ ( " .user_edit_ehorus_outer " ) . hide ();
2019-05-27 18:49:47 +02:00
} else
{
2020-05-19 08:20:04 +02:00
$ ( " .user_edit_ehorus_outer " ) . show ();
2019-05-27 18:49:47 +02:00
}
}
2020-10-06 17:02:58 +02:00
function show_double_auth_info () {
var userID = '<?php echo io_safe_output($id); ?>' ;
var $loadingSpinner = $ ( " <img src= \" <?php echo $config['homeurl'] ; ?>/images/spinner.gif \" /> " );
var $dialogContainer = $ ( " div#dialog-double_auth-container " );
$dialogContainer . html ( $loadingSpinner );
console . log ( userID );
// Load the info page
var request = $ . ajax ({
url : " <?php echo ui_get_full_url('ajax.php', false, false, false); ?> " ,
type : 'POST' ,
dataType : 'html' ,
data : {
page : 'include/ajax/double_auth.ajax' ,
id_user : userID ,
get_double_auth_data_page : 1 ,
FA_forced : 1 ,
containerID : $dialogContainer . prop ( 'id' )
},
complete : function ( xhr , textStatus ) {
},
success : function ( data , textStatus , xhr ) {
// isNaN = is not a number
if ( isNaN ( data )) {
$dialogContainer . html ( data );
}
// data is a number, convert it to integer to do the compare
else if ( Number ( data ) === - 1 ) {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('Authentication error').'</div></b>'; ?> " );
}
else {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('Error').'</div></b>'; ?> " );
}
},
error : function ( xhr , textStatus , errorThrown ) {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('There was an error loading the data').'</div></b>'; ?> " );
}
});
$ ( " div#dialog-double_auth " )
. css ( 'display' , 'block' )
. append ( $dialogContainer )
. dialog ({
resizable : true ,
draggable : true ,
modal : true ,
title : " <?php echo __('Double autentication information'); ?> " ,
overlay : {
opacity : 0.5 ,
background : " black "
},
width : 400 ,
height : 375 ,
close : function ( event , ui ) {
// Abort the ajax request
if ( typeof request != 'undefined' )
request . abort ();
// Remove the contained html
$dialogContainer . empty ();
}
})
. show ();
}
function show_double_auth_activation () {
var userID = '<?php echo io_safe_output($id); ?>' ;
var $loadingSpinner = $ ( " <img src= \" <?php echo $config['homeurl'] ; ?>/images/spinner.gif \" /> " );
var $dialogContainer = $ ( " div#dialog-double_auth-container " );
$dialogContainer . html ( $loadingSpinner );
// Load the info page
var request = $ . ajax ({
url : " <?php echo ui_get_full_url('ajax.php', false, false, false); ?> " ,
type : 'POST' ,
dataType : 'html' ,
data : {
page : 'include/ajax/double_auth.ajax' ,
id_user : userID ,
FA_forced : 1 ,
get_double_auth_info_page : 1 ,
containerID : $dialogContainer . prop ( 'id' )
},
complete : function ( xhr , textStatus ) {
},
success : function ( data , textStatus , xhr ) {
// isNaN = is not a number
if ( isNaN ( data )) {
$dialogContainer . html ( data );
}
// data is a number, convert it to integer to do the compare
else if ( Number ( data ) === - 1 ) {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('Authentication error').'</div></b>'; ?> " );
}
else {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('Error').'</div></b>'; ?> " );
}
},
error : function ( xhr , textStatus , errorThrown ) {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('There was an error loading the data').'</div></b>'; ?> " );
}
});
$ ( " div#dialog-double_auth " ) . dialog ({
resizable : true ,
draggable : true ,
modal : true ,
title : " <?php echo __('Double autentication activation'); ?> " ,
overlay : {
opacity : 0.5 ,
background : " black "
},
width : 500 ,
height : 400 ,
close : function ( event , ui ) {
// Abort the ajax request
if ( typeof request != 'undefined' )
request . abort ();
// Remove the contained html
$dialogContainer . empty ();
document . location . reload ();
}
})
. show ();
}
function show_double_auth_deactivation () {
var userID = '<?php echo io_safe_output($id); ?>' ;
console . log ( userID );
var $loadingSpinner = $ ( " <img src= \" <?php echo $config['homeurl'] ; ?>/images/spinner.gif \" /> " );
var $dialogContainer = $ ( " div#dialog-double_auth-container " );
var message = " <p><?php echo __('Are you sure?').'<br>'.__('The double authentication will be deactivated'); ?></p> " ;
var $button = $ ( " <input type= \" button \" value= \" <?php echo __('Deactivate'); ?> \" /> " );
$dialogContainer
. empty ()
. append ( message )
. append ( $button );
var request ;
$button . click ( function ( e ) {
e . preventDefault ();
$dialogContainer . html ( $loadingSpinner );
// Deactivate the double auth
request = $ . ajax ({
url : " <?php echo ui_get_full_url('ajax.php', false, false, false); ?> " ,
type : 'POST' ,
dataType : 'json' ,
data : {
page : 'include/ajax/double_auth.ajax' ,
id_user : userID ,
FA_forced : 1 ,
deactivate_double_auth : 1
},
complete : function ( xhr , textStatus ) {
},
success : function ( data , textStatus , xhr ) {
console . log ( data );
if ( data === - 1 ) {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('Authentication error').'</div></b>'; ?> " );
}
else if ( data ) {
$dialogContainer . html ( " <?php echo '<b><div class= \" green \" >'.__('The double autentication was deactivated successfully').'</div></b>'; ?> " );
}
else {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('There was an error deactivating the double autentication').'</div></b>'; ?> " );
}
},
error : function ( xhr , textStatus , errorThrown ) {
$dialogContainer . html ( " <?php echo '<b><div class= \" red \" >'.__('There was an error deactivating the double autentication').'</div></b>'; ?> " );
}
});
});
$ ( " div#dialog-double_auth " ) . dialog ({
resizable : true ,
draggable : true ,
modal : true ,
title : " <?php echo __('Double autentication activation'); ?> " ,
overlay : {
opacity : 0.5 ,
background : " black "
},
width : 300 ,
height : 150 ,
close : function ( event , ui ) {
// Abort the ajax request
if ( typeof request != 'undefined' )
request . abort ();
// Remove the contained html
$dialogContainer . empty ();
document . location . reload ();
}
})
. show ();
}
2013-04-22 12:31:20 +02:00
/* ]]> */
</ script >