pandorafms/pandora_console/godmode/users/configure_user.php

1977 lines
66 KiB
PHP
Raw Normal View History

<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
2020-11-27 13:52:35 +01:00
// Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation for version 2.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// Load global vars
global $config;
check_login();
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');
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';
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
$meta = false;
if (enterprise_installed() && defined('METACONSOLE')) {
$meta = true;
}
$isFunctionSkins = enterprise_include_once('include/functions_skins.php');
// Add the columns for the enterprise Pandora edition.
$enterprise_include = false;
if (ENTERPRISE_NOT_HOOK !== enterprise_include('include/functions_policies.php')) {
$enterprise_include = true;
}
if ($enterprise_include) {
enterprise_include_once('meta/include/functions_users_meta.php');
}
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).'" />';
}
}
}
// This defines the working user. Beware with this, old code get confusses
// and operates with current logged user (dangerous).
$id = get_parameter('id', get_parameter('id_user', ''));
// ID given as parameter
$pure = get_parameter('pure', 0);
$user_info = get_user_info($id);
2020-09-09 14:32:02 +02:00
$is_err = false;
if (! check_acl($config['id_user'], 0, 'UM')) {
db_pandora_audit(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_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');
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(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_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);
$user_is_global_admin = users_is_admin($id2);
if ($has_profile === false && $user_is_global_admin === false) {
2020-07-23 13:26:39 +02:00
$result = delete_user($id2);
if ($result) {
db_pandora_audit(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_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(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_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(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_USER_MANAGEMENT,
2020-07-23 13:26:39 +02:00
__('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;
}
2020-07-23 13:26:39 +02:00
}
2020-11-30 14:52:03 +01:00
$tab = get_parameter('tab', 'user');
if ($id) {
$header_title = ' &raquo; '.__('Update user');
} else {
$header_title = ' &raquo; '.__('Create user');
}
// Header
if ($meta) {
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/user.png',
true,
[
'title' => __('User management'),
'class' => 'invert_filter',
]
).'</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'),
'class' => 'invert_filter',
]
).'</a>',
],
];
$buttons[$tab]['active'] = true;
ui_print_page_header(
__('User detail editor').$header_title,
'images/gm_users.png',
false,
'',
true,
$buttons
);
$sec = 'gusuarios';
}
2013-05-20 Sergio Martin <sergio.martin@artica.es> * include/functions_html.php include/styles/pandora.css include/functions_visual_map.php include/functions_agents.php include/languages/util-bzr-update include/languages/util-generate-tarball include/languages/util-all include/languages/util-create-po include/languages/util-README include/languages/util-update-po include/languages/util-create-template include/languages/util-compile-mo include/constants.php operation/tree.php operation/visual_console/render_view.php operation/users/user_edit.php operation/events/events.build_table.php operation/events/events_list.php operation/events/events.php operation/agentes/status_monitor.php images/status_sets/faces/severity_warning_pixel.png images/status_sets/faces/agent_critical_ball.png images/status_sets/faces/severity_major_pixel.png images/status_sets/faces/module_warning_ball.png images/status_sets/faces/module_ok_ball.png images/status_sets/faces/agent_no_data_ball.png images/status_sets/faces/severity_minor_pixel.png images/status_sets/faces/agent_ok_ball.png images/status_sets/faces/severity_normal_pixel.png images/status_sets/faces/server_down_ball.png images/status_sets/faces/alert_not_fired_ball.png images/status_sets/faces/severity_informational_pixel.png images/status_sets/faces/agent_down_ball.png.png images/status_sets/faces/module_no_data_ball.png images/status_sets/faces/alert_fired_ball.png images/status_sets/faces/agent_warning_ball.png images/status_sets/faces/severity_maintenance_pixel.png images/status_sets/faces/agent_no_monitors_ball.png images/status_sets/faces/agent_down_ball.png images/status_sets/faces/severity_critical_pixel.png images/status_sets/faces/alert_disabled_ball.png images/status_sets/faces/module_critical_ball.png images/status_sets/faces/server_ok_ball.png images/status_sets/color_text/severity_informational.png images/status_sets/color_text/module_critical.png images/status_sets/color_text/server_ok.png images/status_sets/color_text/alert_not_fired.png images/status_sets/color_text/severity_warning_pixel.png images/status_sets/color_text/agent_critical_ball.png images/status_sets/color_text/severity_major_pixel.png images/status_sets/color_text/module_warning_ball.png images/status_sets/color_text/module_unknown.png images/status_sets/color_text/module_ok_ball.png images/status_sets/color_text/module_alertsfired.png images/status_sets/color_text/module_no_data.png images/status_sets/color_text/severity_maintenance.png images/status_sets/color_text/agent_no_data_ball.png images/status_sets/color_text/severity_minor_pixel.png images/status_sets/color_text/alert_fired.png images/status_sets/color_text/agent_ok_ball.png images/status_sets/color_text/severity_normal_pixel.png images/status_sets/color_text/agent_no_data.png images/status_sets/color_text/severity_critical.png images/status_sets/color_text/agent_no_monitors.png images/status_sets/color_text/agent_ok.png images/status_sets/color_text/server_down_ball.png images/status_sets/color_text/alert_not_fired_ball.png images/status_sets/color_text/severity_informational_pixel.png images/status_sets/color_text/server_down.png images/status_sets/color_text/alert_disabled.png images/status_sets/color_text/module_unknown_ball.png images/status_sets/color_text/severity_warning.png images/status_sets/color_text/severity_major.png images/status_sets/color_text/module_no_data_ball.png images/status_sets/color_text/agent_critical.png images/status_sets/color_text/module_warning.png images/status_sets/color_text/alert_fired_ball.png images/status_sets/color_text/agent_warning_ball.png images/status_sets/color_text/severity_maintenance_pixel.png images/status_sets/color_text/module_ok.png images/status_sets/color_text/agent_no_monitors_ball.png images/status_sets/color_text/severity_minor.png images/status_sets/color_text/agent_down_ball.png images/status_sets/color_text/severity_normal.png images/status_sets/color_text/agent_warning.png images/status_sets/color_text/agent_down.png images/status_sets/color_text/severity_critical_pixel.png images/status_sets/color_text/alert_disabled_ball.png images/status_sets/color_text/module_critical_ball.png images/status_sets/color_text/server_ok_ball.png images/status_sets/default/severity_informational.png images/status_sets/default/module_critical.png images/status_sets/default/server_ok.png images/status_sets/default/alert_not_fired.png images/status_sets/default/severity_warning_pixel.png images/status_sets/default/agent_critical_ball.png images/status_sets/default/severity_major_pixel.png images/status_sets/default/module_warning_ball.png images/status_sets/default/module_unknown.png images/status_sets/default/module_ok_ball.png images/status_sets/default/module_alertsfired.png images/status_sets/default/module_no_data.png images/status_sets/default/severity_maintenance.png images/status_sets/default/agent_no_data_ball.png images/status_sets/default/severity_minor_pixel.png images/status_sets/default/alert_fired.png images/status_sets/default/agent_ok_ball.png images/status_sets/default/severity_normal_pixel.png images/status_sets/default/agent_no_data.png images/status_sets/default/severity_critical.png images/status_sets/default/agent_no_monitors.png images/status_sets/default/agent_ok.png images/status_sets/default/server_down_ball.png images/status_sets/default/alert_not_fired_ball.png images/status_sets/default/severity_informational_pixel.png images/status_sets/default/server_down.png images/status_sets/default/alert_disabled.png images/status_sets/default/severity_warning.png images/status_sets/default/severity_major.png images/status_sets/default/module_no_data_ball.png images/status_sets/default/agent_critical.png images/status_sets/default/module_warning.png images/status_sets/default/alert_fired_ball.png images/status_sets/default/agent_warning_ball.png images/status_sets/default/severity_maintenance_pixel.png images/status_sets/default/module_ok.png images/status_sets/default/agent_no_monitors_ball.png images/status_sets/default/alert_disabled_square.png images/status_sets/default/severity_minor.png images/status_sets/default/agent_down_ball.png images/status_sets/default/severity_normal.png images/status_sets/default/agent_warning.png images/status_sets/default/agent_down.png images/status_sets/default/severity_critical_pixel.png images/status_sets/default/alert_disabled_ball.png images/status_sets/default/module_critical_ball.png images/status_sets/default/server_ok_ball.png godmode/groups/configure_group.php godmode/groups/group_list.php godmode/servers/plugin.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_commands.php godmode/users/user_list.php godmode/users/profile_list.php godmode/users/configure_user.php godmode/users/configure_profile.php godmode/modules/manage_network_components_form_common.php godmode/modules/manage_network_components.php godmode/modules/manage_nc_groups.php godmode/reporting/visual_console_builder.php godmode/reporting/visual_console_builder.data.php godmode/reporting/reporting_builder.php godmode/reporting/visual_console_builder.editor.php godmode/tag/tag.php godmode/category/category.php: Visual changes in icons and colors. Add visual layers for metaconsole git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@8160 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
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']) {
$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
}
$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
// Reset status var if current action is not update_user
if ($new_user || $create_user || $add_profile
|| $delete_profile || $update_user
) {
$status = -1;
}
if ($new_user && $config['admin_can_add_user']) {
$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['local_user'] = false;
$user_info['strict_acl'] = false;
$user_info['session_time'] = 0;
2019-07-09 14:08:06 +02:00
$user_info['middlename'] = 0;
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() && is_metaconsole() === true) {
$user_info['metaconsole_agents_manager'] = 0;
$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'] = '';
$user_info['ehorus_user_level_enabled'] = true;
2019-05-27 18:49:47 +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 ($create_user) {
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;
}
2022-06-27 16:48:00 +02:00
$user_is_admin = (get_parameter('is_admin', 0) === 0) ? 0 : 1;
2022-03-03 16:35:31 +01:00
if (users_is_admin() === false && $user_is_admin !== 0) {
db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION,
2022-03-10 07:57:34 +01:00
'Trying to create with administrator privileges to user by non administrator user '.$config['id_user']
2022-03-03 16:35:31 +01:00
);
include 'general/noaccess.php';
exit;
}
$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'))));
$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_access_node'] = ($user_is_admin == 1 ? 1 : get_parameter('metaconsole_access_node', '0'));
}
}
$values['not_login'] = (bool) get_parameter('not_login', false);
$values['local_user'] = (bool) get_parameter('local_user', false);
2019-07-09 14:08:06 +02:00
$values['middlename'] = get_parameter('middlename', 0);
$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']) {
$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
}
if ($id == '') {
ui_print_error_message(__('User ID cannot be empty'));
2020-09-09 14:32:02 +02:00
$is_err = true;
$user_info = $values;
$password_new = '';
$password_confirm = '';
$new_user = true;
} 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;
$user_info = $values;
$password_new = '';
$password_confirm = '';
$new_user = true;
} else if ($password_new == '') {
2020-09-09 14:32:02 +02:00
$is_err = true;
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;
ui_print_error_message(__('Passwords didn\'t match'));
$user_info = $values;
$password_new = '';
$password_confirm = '';
$new_user = true;
} else {
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
}
$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;
if ($result) {
$res = save_pass_history($id, $password_new);
} else {
$is_err = true;
$user_info = $values;
$password_new = '';
$password_confirm = '';
$new_user = true;
}
db_pandora_audit(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_USER_MANAGEMENT,
2020-08-28 13:56:15 +02:00
'Created user '.io_safe_output($id),
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(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_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')
);
}
}
}
} 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) {
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'))));
2022-06-27 16:48:00 +02:00
$values['is_admin'] = (get_parameter('is_admin', 0) === 0) ? 0 : 1;
$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
2022-03-03 16:35:31 +01:00
if (users_is_admin() === false && (bool) $values['is_admin'] !== false) {
db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION,
2022-03-10 07:57:34 +01:00
'Trying to add administrator privileges to user by non administrator user '.$config['id_user']
2022-03-03 16:35:31 +01:00
);
include 'general/noaccess.php';
exit;
}
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);
$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_access_node'] = get_parameter('metaconsole_access_node', '0');
}
$values['not_login'] = (bool) get_parameter('not_login', false);
$values['local_user'] = (bool) get_parameter('local_user', 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', '');
2020-12-02 16:29:45 +01:00
$own_password_confirm = (string) get_parameter('own_password_confirm', '');
if ($password_new != '') {
2020-12-02 16:29:45 +01:00
$correct_password = false;
$user_credentials_check = process_user_login($config['id_user'], $own_password_confirm, true);
if ($user_credentials_check !== false) {
$correct_password = true;
}
if ($password_confirm == $password_new) {
2020-12-02 16:29:45 +01:00
if ($correct_password === true || is_user_admin($config['id_user'])) {
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 {
$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&#x20;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) {
2020-12-02 16:29:45 +01:00
$res3 = save_pass_history($id, $password_new);
db_process_sql_insert(
'tsesion',
[
'id_sesion' => '',
'id_usuario' => $id,
'ip_origen' => $_SERVER['REMOTE_ADDR'],
'accion' => 'Password&#x20;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 {
2020-12-02 16:29:45 +01:00
if ($own_password_confirm === '') {
ui_print_error_message(__('Password of the active user is required to perform password change'));
} else {
ui_print_error_message(__('Password of active user is not correct'));
}
}
} else {
db_process_sql_insert(
'tsesion',
[
'id_sesion' => '',
'id_usuario' => $id,
'ip_origen' => $_SERVER['REMOTE_ADDR'],
'accion' => 'Password&#x20;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(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_USER_MANAGEMENT,
2020-08-28 13:56:15 +02:00
'Updated user '.io_safe_output($id),
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;
}
if ($status != -1) {
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)) {
$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(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_USER_MANAGEMENT,
2020-08-28 13:56:15 +02:00
'Added profile for user '.io_safe_output($id2),
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;
}
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));
}
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
2020-12-01 08:46:09 +01:00
WHERE id_usuario like '%s' AND id_grupo IN (%s) AND user_management = 1",
$config['id_user'],
2020-07-23 13:26:39 +02:00
$group_um_string
);
2020-07-23 13:26:39 +02:00
$result = db_get_all_rows_sql($sql);
2020-12-01 08:46:09 +01:00
if ($result == false && $user_info['is_admin'] == false) {
2020-07-23 13:26:39 +02:00
db_pandora_audit(
2022-01-20 10:55:23 +01:00
AUDIT_LOG_ACL_VIOLATION,
2020-07-23 13:26:39 +02:00
'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')) {
if ($id) {
echo '<div class="user_form_title">'.__('Update User').'</div>';
} else {
echo '<div class="user_form_title">'.__('Create User').'</div>';
}
}
if (!$new_user) {
2020-12-09 15:23:16 +01:00
$user_id = '<div class="label_select_simple"><p class="edit_user_labels">'.__('User ID').': </p>';
$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,
2022-06-03 12:25:24 +02:00
255,
!$new_user || $view_mode,
'',
[
'class' => 'input_line user_icon_input',
'placeholder' => __('User ID'),
],
true
).'</div>';
2015-03-06 12:28:05 +01: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
$full_name = ' <div class="label_select_simple">'.html_print_input_text_extended(
'fullname',
$user_info['fullname'],
'fullname',
'',
20,
100,
$view_mode,
'',
[
'class' => 'input',
'placeholder' => __('Full (display) name'),
],
true
).'</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
$language = '<div class="label_select"><p class="edit_user_labels">'.__('Language').'</p>';
$language .= html_print_select_from_sql(
'SELECT id_language, name FROM tlanguage',
'language',
$user_info['language'],
'',
__('Default'),
'default',
true
).'</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
$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>';
$timezone .= html_print_timezone_select('timezone', $user_info['timezone']).'</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
if ($config['user_can_update_password']) {
$new_pass = '<div class="label_select_simple"><span>'.html_print_input_text_extended(
'password_new',
'',
'password_new',
'',
'25',
'45',
$view_mode,
'',
[
'class' => 'input',
'placeholder' => __('Password'),
],
true,
true
).'</span></div>';
$new_pass_confirm = '<div class="label_select_simple"><span>'.html_print_input_text_extended(
'password_confirm',
'',
'password_conf',
'',
'20',
'45',
$view_mode,
'',
[
'class' => 'input',
'placeholder' => __('Password confirmation'),
],
true,
true
).'</span></div>';
2020-12-02 16:29:45 +01:00
if (!is_user_admin($config['id_user'])) {
$own_pass_confirm = '<div class="label_select_simple"><span>'.html_print_input_text_extended(
'own_password_confirm',
'',
'own_password_confirm',
'',
'20',
'45',
$view_mode,
'',
[
'class' => 'input',
'placeholder' => __('Own password confirmation'),
],
true,
true
).'</span></div>';
}
}
2022-06-27 16:48:00 +02:00
if (users_is_admin() === true) {
$global_profile = '<div class="label_select_simple" style="display: flex;align-items: center;">';
$global_profile .= '<p class="edit_user_labels" style="margin-top: 0;">'.__('Administrator user').'</p>';
$global_profile .= html_print_checkbox_switch(
2020-07-23 13:26:39 +02:00
'is_admin',
2022-06-27 16:48:00 +02:00
0,
2020-07-23 13:26:39 +02:00
$user_info['is_admin'],
2022-06-27 16:48:00 +02:00
true
);
$global_profile .= '</div>';
} else {
$global_profile = html_print_input_hidden(
'is_admin_sent',
0,
2020-07-23 13:26:39 +02:00
true
);
}
$email = '<div class="label_select_simple">'.html_print_input_text_extended(
'email',
$user_info['email'],
'email',
'',
'25',
'100',
$view_mode,
'',
[
2021-07-12 10:58:51 +02:00
'class' => 'input input_line email_icon_input',
'placeholder' => __('E-mail'),
],
true
).'</div>';
$phone = '<div class="label_select_simple">'.html_print_input_text_extended(
'phone',
$user_info['phone'],
'phone',
'',
'20',
'30',
$view_mode,
'',
[
'class' => 'input input_line phone_icon_input',
'placeholder' => __('Phone number'),
],
true
).'</div>';
$comments = '<p class="edit_user_labels">'.__('Comments').'</p>';
$comments .= html_print_textarea(
'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;
}
if ($new_user) {
$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;
}
if (!$meta) {
// User only can change skins if has more than one group
if (count($usr_groups) > 1) {
if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) {
$skin = '<div class="label_select"><p class="edit_user_labels">'.__('Skin').'</p>';
$skin .= skins_print_select($id_usr, 'skin', $user_info['id_skin'], '', __('None'), 0, true).'</div>';
}
}
}
if ($meta) {
$array_filters = get_filters_custom_fields_view(0, true);
$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(
$array_filters,
'default_custom_view',
$user_info['default_custom_view'],
'',
__('None'),
0,
true,
false,
true,
'',
false
).'</div>';
}
$values = [
-1 => __('Use global conf'),
1 => __('Yes'),
0 => __('No'),
];
$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>';
;
$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()) {
$values['Dashboard'] = __('Dashboard');
}
2019-05-27 18:49:47 +02:00
$home_screen .= html_print_select(
$values,
'section',
io_safe_output($user_info['section']),
'show_data_section();',
'',
-1,
true,
false,
false
).'</div>';
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'];
}
}
2021-04-13 15:37:44 +02:00
$home_screen .= '<div id="show_db" style="display: none; width: 100%;">';
$home_screen .= html_print_select($dashboards_aux, 'dashboard', $user_info['data_section'], '', '', '', true);
2021-04-13 15:37:44 +02:00
$home_screen .= '</div>';
2020-03-26 12:29:38 +01:00
$layouts = visual_map_get_user_layouts($config['id_user'], true);
$layouts_aux = [];
if ($layouts === false) {
$layouts_aux = ['None' => 'None'];
} else {
foreach ($layouts as $layout) {
$layouts_aux[$layout] = $layout;
}
}
2021-04-13 15:37:44 +02:00
$home_screen .= '<div id="show_vc" style="display: none; width: 100%;">';
$home_screen .= html_print_select(
$layouts_aux,
'visual_console',
$user_info['data_section'],
'',
'',
'',
true
);
2021-04-13 15:37:44 +02:00
$home_screen .= '</div>';
$home_screen .= html_print_input_text(
'data_section',
$user_info['data_section'],
'',
60,
255,
true,
false
);
$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>';
if ($id == $config['id_user']) {
$language .= html_print_input_hidden(
'quick_language_change',
1,
true
);
}
if (enterprise_installed() && defined('METACONSOLE')) {
$user_info_metaconsole_access = 'only_console';
if (isset($user_info['metaconsole_access'])) {
$user_info_metaconsole_access = $user_info['metaconsole_access'];
}
2020-12-09 16:39:00 +01:00
// TODO review help tips on meta.
$meta_access = '<div class="label_select"><p class="edit_user_labels">'.__('Metaconsole access').' './* ui_print_help_icon('meta_access', true). */'</p>';
$metaconsole_accesses = [
'basic' => __('Basic'),
'advanced' => __('Advanced'),
];
$meta_access .= html_print_select(
$metaconsole_accesses,
'metaconsole_access',
$user_info_metaconsole_access,
'',
'',
-1,
true,
false,
false
).'</div>';
}
$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>';
$local_user = '<div class="label_select_simple"><p class="edit_user_labels">'.__('Local user').'</p>';
$local_user .= ui_print_help_tip(
__('The user with local authentication enabled will always use local authentication.'),
true
);
$local_user .= html_print_checkbox_switch(
'local_user',
1,
$user_info['local_user'],
true
).'</div>';
$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>';
$user_groups = implode(',', array_keys((users_get_groups($id, 'AR', $display_all_group))));
2021-10-07 14:09:02 +02:00
2022-03-11 15:42:06 +01:00
if (empty($user_groups) === false) {
$event_filter_data = db_get_all_rows_sql('SELECT id_name, id_filter FROM tevent_filter WHERE id_group_filter IN ('.$user_groups.')');
if ($event_filter_data === false) {
$event_filter_data = [];
}
} else {
$event_filter_data = [];
}
2022-03-11 15:42:06 +01:00
$event_filter = [];
$event_filter[0] = __('None');
foreach ($event_filter_data as $filter) {
$event_filter[$filter['id_filter']] = $filter['id_name'];
}
$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-05-27 18:49:47 +02:00
if ($config['ehorus_user_level_conf']) {
$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')
) {
2021-03-02 13:24:03 +01:00
if ($new_user === false) {
$double_authentication .= html_print_checkbox_switch('double_auth', 1, $double_auth_enabled, true);
} else {
$double_authentication .= ui_print_help_tip(__('User must be created before activating double authentication.'), true);
}
2020-10-06 17:02:58 +02:00
}
// Dialog.
$double_authentication .= '<div id="dialog-double_auth" class="invisible"><div id="dialog-double_auth-container"></div></div>';
2020-10-06 17:02:58 +02:00
}
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
);
2020-10-06 17:02:58 +02:00
}
if (isset($double_authentication)) {
$double_authentication .= '</div>';
}
2019-05-27 18:49:47 +02:00
if ($meta) {
enterprise_include_once('include/functions_metaconsole.php');
$access_node = db_get_value('metaconsole_access_node', 'tusuario', 'id_user', $id);
$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>';
$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,
$access_node,
true
).'</div>';
}
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
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>
2020-12-02 16:29:45 +01:00
<div class="edit_user_info_right">'.$user_id_update_view.$full_name.$new_pass.$new_pass_confirm.$own_pass_confirm.$global_profile.'</div>';
2020-09-09 14:32:02 +02:00
} 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>';
}
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>
<div class="edit_user_autorefresh white_box"><p class="bolder">Extra info</p>'.$email.$phone.$not_login.$local_user.$session_time.'</div>
</div>
<div class="user_edit_second_row white_box">
<div class="edit_user_options">'.$language.$access_or_pagination.$skin.$home_screen.$default_event_filter.$double_authentication.'</div>
<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" class="pdd_t_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_access_node;
}
2020-07-23 13:26:39 +02:00
echo '</div>
</div>
<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>';
echo '<div class="action-buttons w100p">';
if ($config['admin_can_add_user']) {
html_print_csrf_hidden();
if ($new_user) {
html_print_input_hidden('create_user', 1);
} else {
html_print_input_hidden('update_user', 1);
}
}
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 />';
echo '<div class="action-buttons w100p">';
2020-09-18 09:40:26 +02:00
if ($config['admin_can_add_user']) {
if ($new_user) {
html_print_submit_button(
__('Create'),
'crtbutton',
false,
'class="sub wand" form="user_profile_form"'
);
2020-09-18 09:40:26 +02:00
} else {
html_print_submit_button(
__('Update'),
'uptbutton',
false,
'class="sub upd" form="user_profile_form"'
);
2020-09-18 09:40:26 +02:00
}
}
echo '</div>';
echo '</div>';
2013-05-20 Sergio Martin <sergio.martin@artica.es> * include/functions_html.php include/styles/pandora.css include/functions_visual_map.php include/functions_agents.php include/languages/util-bzr-update include/languages/util-generate-tarball include/languages/util-all include/languages/util-create-po include/languages/util-README include/languages/util-update-po include/languages/util-create-template include/languages/util-compile-mo include/constants.php operation/tree.php operation/visual_console/render_view.php operation/users/user_edit.php operation/events/events.build_table.php operation/events/events_list.php operation/events/events.php operation/agentes/status_monitor.php images/status_sets/faces/severity_warning_pixel.png images/status_sets/faces/agent_critical_ball.png images/status_sets/faces/severity_major_pixel.png images/status_sets/faces/module_warning_ball.png images/status_sets/faces/module_ok_ball.png images/status_sets/faces/agent_no_data_ball.png images/status_sets/faces/severity_minor_pixel.png images/status_sets/faces/agent_ok_ball.png images/status_sets/faces/severity_normal_pixel.png images/status_sets/faces/server_down_ball.png images/status_sets/faces/alert_not_fired_ball.png images/status_sets/faces/severity_informational_pixel.png images/status_sets/faces/agent_down_ball.png.png images/status_sets/faces/module_no_data_ball.png images/status_sets/faces/alert_fired_ball.png images/status_sets/faces/agent_warning_ball.png images/status_sets/faces/severity_maintenance_pixel.png images/status_sets/faces/agent_no_monitors_ball.png images/status_sets/faces/agent_down_ball.png images/status_sets/faces/severity_critical_pixel.png images/status_sets/faces/alert_disabled_ball.png images/status_sets/faces/module_critical_ball.png images/status_sets/faces/server_ok_ball.png images/status_sets/color_text/severity_informational.png images/status_sets/color_text/module_critical.png images/status_sets/color_text/server_ok.png images/status_sets/color_text/alert_not_fired.png images/status_sets/color_text/severity_warning_pixel.png images/status_sets/color_text/agent_critical_ball.png images/status_sets/color_text/severity_major_pixel.png images/status_sets/color_text/module_warning_ball.png images/status_sets/color_text/module_unknown.png images/status_sets/color_text/module_ok_ball.png images/status_sets/color_text/module_alertsfired.png images/status_sets/color_text/module_no_data.png images/status_sets/color_text/severity_maintenance.png images/status_sets/color_text/agent_no_data_ball.png images/status_sets/color_text/severity_minor_pixel.png images/status_sets/color_text/alert_fired.png images/status_sets/color_text/agent_ok_ball.png images/status_sets/color_text/severity_normal_pixel.png images/status_sets/color_text/agent_no_data.png images/status_sets/color_text/severity_critical.png images/status_sets/color_text/agent_no_monitors.png images/status_sets/color_text/agent_ok.png images/status_sets/color_text/server_down_ball.png images/status_sets/color_text/alert_not_fired_ball.png images/status_sets/color_text/severity_informational_pixel.png images/status_sets/color_text/server_down.png images/status_sets/color_text/alert_disabled.png images/status_sets/color_text/module_unknown_ball.png images/status_sets/color_text/severity_warning.png images/status_sets/color_text/severity_major.png images/status_sets/color_text/module_no_data_ball.png images/status_sets/color_text/agent_critical.png images/status_sets/color_text/module_warning.png images/status_sets/color_text/alert_fired_ball.png images/status_sets/color_text/agent_warning_ball.png images/status_sets/color_text/severity_maintenance_pixel.png images/status_sets/color_text/module_ok.png images/status_sets/color_text/agent_no_monitors_ball.png images/status_sets/color_text/severity_minor.png images/status_sets/color_text/agent_down_ball.png images/status_sets/color_text/severity_normal.png images/status_sets/color_text/agent_warning.png images/status_sets/color_text/agent_down.png images/status_sets/color_text/severity_critical_pixel.png images/status_sets/color_text/alert_disabled_ball.png images/status_sets/color_text/module_critical_ball.png images/status_sets/color_text/server_ok_ball.png images/status_sets/default/severity_informational.png images/status_sets/default/module_critical.png images/status_sets/default/server_ok.png images/status_sets/default/alert_not_fired.png images/status_sets/default/severity_warning_pixel.png images/status_sets/default/agent_critical_ball.png images/status_sets/default/severity_major_pixel.png images/status_sets/default/module_warning_ball.png images/status_sets/default/module_unknown.png images/status_sets/default/module_ok_ball.png images/status_sets/default/module_alertsfired.png images/status_sets/default/module_no_data.png images/status_sets/default/severity_maintenance.png images/status_sets/default/agent_no_data_ball.png images/status_sets/default/severity_minor_pixel.png images/status_sets/default/alert_fired.png images/status_sets/default/agent_ok_ball.png images/status_sets/default/severity_normal_pixel.png images/status_sets/default/agent_no_data.png images/status_sets/default/severity_critical.png images/status_sets/default/agent_no_monitors.png images/status_sets/default/agent_ok.png images/status_sets/default/server_down_ball.png images/status_sets/default/alert_not_fired_ball.png images/status_sets/default/severity_informational_pixel.png images/status_sets/default/server_down.png images/status_sets/default/alert_disabled.png images/status_sets/default/severity_warning.png images/status_sets/default/severity_major.png images/status_sets/default/module_no_data_ball.png images/status_sets/default/agent_critical.png images/status_sets/default/module_warning.png images/status_sets/default/alert_fired_ball.png images/status_sets/default/agent_warning_ball.png images/status_sets/default/severity_maintenance_pixel.png images/status_sets/default/module_ok.png images/status_sets/default/agent_no_monitors_ball.png images/status_sets/default/alert_disabled_square.png images/status_sets/default/severity_minor.png images/status_sets/default/agent_down_ball.png images/status_sets/default/severity_normal.png images/status_sets/default/agent_warning.png images/status_sets/default/agent_down.png images/status_sets/default/severity_critical_pixel.png images/status_sets/default/alert_disabled_ball.png images/status_sets/default/module_critical_ball.png images/status_sets/default/server_ok_ball.png godmode/groups/configure_group.php godmode/groups/group_list.php godmode/servers/plugin.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_commands.php godmode/users/user_list.php godmode/users/profile_list.php godmode/users/configure_user.php godmode/users/configure_profile.php godmode/modules/manage_network_components_form_common.php godmode/modules/manage_network_components.php godmode/modules/manage_nc_groups.php godmode/reporting/visual_console_builder.php godmode/reporting/visual_console_builder.data.php godmode/reporting/reporting_builder.php godmode/reporting/visual_console_builder.editor.php godmode/tag/tag.php godmode/category/category.php: Visual changes in icons and colors. Add visual layers for metaconsole git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@8160 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-05-20 10:42:02 +02:00
enterprise_hook('close_meta_frame');
$delete_image = html_print_input_image(
'del',
'images/cross.png',
1,
'',
true,
[
'onclick' => 'delete_profile(event, this)',
'class' => 'invert_filter',
]
);
2020-07-23 13:26:39 +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.
}
?>
<script type="text/javascript">
2020-07-23 13:26:39 +02:00
var json_profile = $('#hidden-json_profile');
/* <![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();
}
});
2020-10-06 17:02:58 +02:00
2022-06-27 16:48:00 +02:00
$('#checkbox-is_admin').change(function() {
2022-07-06 09:49:39 +02:00
if ($('#checkbox-is_admin').is(':checked') == true) {
$('#metaconsole_agents_manager_div').hide();
$('#metaconsole_access_node_div').hide();
$('#metaconsole_assigned_server_div').hide();
} else {
$('#metaconsole_agents_manager_div').show();
$('#metaconsole_access_node_div').show();
2022-07-06 09:49:39 +02:00
if ($('#checkbox-metaconsole_agents_manager').prop('checked')) {
$('#metaconsole_assigned_server_div').show();
}
}
});
2022-06-27 16:48:00 +02:00
$('#checkbox-metaconsole_agents_manager').change(function() {
if($('#checkbox-metaconsole_agents_manager').prop('checked')) {
$('#metaconsole_assigned_server_div').show();
2022-06-27 16:48:00 +02:00
} else {
$('#metaconsole_assigned_server_div').hide();
}
});
2022-06-27 16:48:00 +02:00
$('#checkbox-is_admin').trigger('change');
$('#checkbox-metaconsole_agents_manager').trigger('change');
show_data_section();
$('#checkbox-ehorus_user_level_enabled').change(function () {
2019-05-27 18:49:47 +02:00
switch_ehorus_conf();
});
$('#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; ?>';
var user_is_global_admin = '<?php echo users_is_admin($id); ?>';
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;
if (((is_metaconsole === '1' && rows <= 4) || (is_metaconsole === '' && rows <= 3)) && user_is_global_admin !== '1') {
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;
if (is_metaconsole === '' && rows <= 2 && user_is_global_admin !== '1') {
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); ?>");
} else if (is_metaconsole === '1' && rows <= 3 && user_is_global_admin !== '1') {
window.location.replace("<?php echo ui_get_full_url('index.php?sec=advanced&sec2=advanced/users_setup', false, false, true); ?>");
2020-07-23 13:26:39 +02:00
}
}
});
});
function checkProfiles(e) {
2020-07-23 13:26:39 +02:00
e.preventDefault();
2022-06-27 16:48:00 +02:00
if ($('#checkbox-is_admin').is(':checked') == true) {
// Admin does not require profiles.
$('#user_profile_form').submit();
2020-07-23 13:26:39 +02:00
} else {
if ($('#table_profiles tbody').children().length == 1) {
confirmDialog({
2020-11-03 10:11:18 +01:00
title: "<?php echo __('Warning'); ?>",
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
}
}
$('#submit-crtbutton').click(function (e) {
checkProfiles(e);
});
$('#submit-uptbutton').click(function (e) {
checkProfiles(e);
2020-07-23 13:26:39 +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));
}
function show_data_section () {
section = $("#section").val();
switch (section) {
case <?php echo "'".'Dashboard'."'"; ?>:
$("#text-data_section").css("display", "none");
$("#dashboard").css("display", "");
$("#visual_console").css("display", "none");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "none");
$("#show_db").css("display", "inline-grid");
break;
case <?php echo "'".'Visual console'."'"; ?>:
$("#text-data_section").css("display", "none");
$("#dashboard").css("display", "none");
$("#visual_console").css("display", "");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "inline-grid");
$("#show_db").css("display", "none");
break;
case <?php echo "'".'Event list'."'"; ?>:
$("#text-data_section").css("display", "none");
$("#dashboard").css("display", "none");
$("#visual_console").css("display", "none");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "none");
$("#show_db").css("display", "none");
break;
case <?php echo "'".'Group view'."'"; ?>:
$("#text-data_section").css("display", "none");
$("#dashboard").css("display", "none");
$("#visual_console").css("display", "none");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "none");
$("#show_db").css("display", "none");
break;
case <?php echo "'".'Tactical view'."'"; ?>:
$("#text-data_section").css("display", "none");
$("#dashboard").css("display", "none");
$("#visual_console").css("display", "none");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "none");
$("#show_db").css("display", "none");
break;
case <?php echo "'".'Alert detail'."'"; ?>:
$("#text-data_section").css("display", "none");
$("#dashboard").css("display", "none");
$("#visual_console").css("display", "none");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "none");
$("#show_db").css("display", "none");
break;
case <?php echo "'".'External link'."'"; ?>:
$("#text-data_section").css("display", "");
$("#dashboard").css("display", "none");
$("#visual_console").css("display", "none");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "none");
$("#show_db").css("display", "none");
break;
case <?php echo "'".'Other'."'"; ?>:
$("#text-data_section").css("display", "");
$("#dashboard").css("display", "none");
$("#visual_console").css("display", "none");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "none");
$("#show_db").css("display", "none");
break;
case <?php echo "'".'Default'."'"; ?>:
$("#text-data_section").css("display", "none");
$("#dashboard").css("display", "none");
$("#visual_console").css("display", "none");
2021-04-13 15:37:44 +02:00
$("#show_vc").css("display", "none");
$("#show_db").css("display", "none");
break;
}
}
2019-05-27 18:49:47 +02:00
function switch_ehorus_conf()
{
if(!$('#checkbox-ehorus_user_level_enabled').prop('checked'))
2019-05-27 18:49:47 +02:00
{
$(".user_edit_ehorus_outer").hide();
2019-05-27 18:49:47 +02:00
}else
{
$(".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);
// 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,
2021-03-02 13:24:03 +01:00
id_user_auth: userID,
2020-10-06 17:02:58 +02:00
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");
2021-03-02 13:24:03 +01:00
// Uncheck until completed successfully.
$("input#checkbox-double_auth").prop( "checked", false );
2020-10-06 17:02:58 +02:00
$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,
2021-03-02 13:24:03 +01:00
id_user_auth: userID,
2020-10-06 17:02:58 +02:00
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();
}
})
.show();
}
function show_double_auth_deactivation () {
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");
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'); ?>\" />");
2021-03-02 13:24:03 +01:00
// Prevent switch deactivaction until proceess is done
$("input#checkbox-double_auth").prop( "checked", true );
2020-10-06 17:02:58 +02:00
$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) {
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>'; ?>");
2021-03-02 13:24:03 +01:00
$("input#checkbox-double_auth").prop( "checked", false );
2020-10-06 17:02:58 +02:00
}
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();
}
})
.show();
}
/* ]]> */
</script>