'.__('metaconsole').''; } else { $url = __('any node'); } ui_print_warning_message( __( 'This node is configured with centralized mode. All profiles user information is read only. Go to %s to manage it.', $url ) ); return; } require_once 'include/functions_agents.php'; require_once 'include/functions_alerts.php'; require_once $config['homedir'].'/include/functions_profile.php'; if (is_ajax()) { $get_users = (bool) get_parameter('get_users'); if ($get_users) { $id_group = get_parameter('id_group'); $id_profile = get_parameter('id_profile'); $get_all_groups = get_parameter('get_all_groups', '0'); if ($get_all_groups !== '0') { $profile_data = db_get_all_rows_sql( 'SELECT * FROM tusuario_perfil WHERE `id_perfil` = "'.$id_profile[0].'" GROUP BY id_usuario' ); } else { if (strlen($id_profile[0]) > 0 && strlen($id_group[0]) > 0) { $profile_data = db_get_all_rows_filter( 'tusuario_perfil', [ 'id_perfil' => $id_profile[0], 'id_grupo' => $id_group[0], ] ); } } if (!users_is_admin()) { foreach ($profile_data as $user => $values) { if (users_is_admin($values['id_usuario'])) { unset($profile_data[$user]); } } } echo json_encode(index_array($profile_data, 'id_up', 'id_usuario')); return; } return; } $delete_profiles = (int) get_parameter('delete_profiles'); if ($delete_profiles) { $profiles_id = get_parameter('profiles_id', -1); $groups_id = get_parameter('groups_id', -1); $users = get_parameter('users_id', -1); if ($profiles_id == -1 || $groups_id == -1 || $users == -1) { $result = false; } else { foreach ($users as $user) { db_pandora_audit( AUDIT_LOG_USER_MANAGEMENT, 'Deleted profile for user '.io_safe_input($user) ); $result = profile_delete_user_profile_group($user, $profiles_id[0], $groups_id[0]); } } $info = [ 'Profiles' => implode(',', $profiles_id), 'Groups' => implode(',', $groups_id), 'Users' => implode(',', $users), ]; if ($result) { db_pandora_audit( AUDIT_LOG_MASSIVE_MANAGEMENT, 'Delete profile ', false, false, json_encode($info) ); } else { db_pandora_audit( AUDIT_LOG_MASSIVE_MANAGEMENT, 'Fail try to delete profile', false, false, json_encode($info) ); } ui_print_result_message( $result, __('Profiles deleted successfully'), __('Profiles cannot be deleted') ); } if ($table !== null) { html_print_table($table); } unset($table); $table = new stdClass(); $table->width = '100%'; $table->class = 'databox filters'; $table->data = []; $table->head = []; $table->align = []; $table->style = []; $table->head[0] = __('Profile name'); $table->head[1] = __('Group'); $table->head[2] = __('Users'); $table->align[2] = 'center'; $table->size[0] = '34%'; $table->size[1] = '33%'; $table->size[2] = '33%'; $data = []; $data[0] = '
'; $display_all_group = true; if (check_acl($config['id_user'], 0, 'PM')) { $data[0] .= html_print_select( profile_get_profiles(), 'profiles_id[]', '', '', '', '', true, false, false, '', false, 'width: 100%' ); } else { $group_um = users_get_groups_UM($config['id_user']); if (!isset($group_um[0])) { $display_all_group = false; } $data[0] .= html_print_select( profile_get_profiles( [ 'pandora_management' => '<> 1', 'db_management' => '<> 1', ] ), 'profiles_id[]', '', '', '', '', true, false, false, '', false, 'width: 100%' ); } $data[1] = html_print_select_groups( $config['id_user'], 'UM', $display_all_group, 'groups_id[]', '', '', '', '', true, false, false, '', false, 'width: 100%' ); $data[2] = ''; $users_profiles = ''; $users_order = [ 'field' => 'id_user', 'order' => 'ASC', ]; $data[2] .= html_print_select( [], 'users_id[]', '', '', '', '', true, true, true, '', false, 'width: 100%' ); array_push($table->data, $data); $table->data[1][0] = ''; $table->data[1][1] = html_print_label_input_block( __('Show all groups'), html_print_checkbox_switch( 'get_all_groups', 1, $get_all_groups, true, false, '', false, ' float-right' ), ['div_class' => 'center_align'] ); html_print_table($table); attachActionButton('delete_profiles', 'delete', $table->width, false, $SelectAction); echo '
'; unset($table); // TODO: Change to iu_print_error system. echo ''; ui_require_jquery_file('form'); ui_require_jquery_file('pandora.controls'); ?>