id = 'user_form'; $table->width = '100%'; $table->cellspacing = 4; $table->cellpadding = 4; $table->class = 'databox filters'; if (defined('METACONSOLE')) { $table->head[0] = __('Edit my User'); $table->head_colspan[0] = 5; $table->headstyle[0] = 'text-align: center'; } $table->style[0] = 'min-width: 320px;width: 320px;margin-right:0px;padding-right:0px;'; $table->style[1] = 'min-width: 280px;width: 280px;margin-right:0px;padding-right:0px;'; $table->style[2] = 'min-width: 150px;width: 150px;margin-right:0px;margin-left:0px;padding-left:0px;padding-right:0px;'; $data = []; $data[0] = ''.__('User ID').''; $data[0] .= $jump.''.$id.''; $data[1] = ''.__('Full (display) name').''; $data[1] .= $jump.''; $data[1] .= html_print_input_text_extended( 'fullname', $user_info['fullname'], 'fullname', '', 20, 100, $view_mode, '', 'class="input"', true ).''; // Show "Picture" (in future versions, why not, allow users to upload it's own avatar here. if (is_user_admin($id)) { $data[2] = html_print_image('images/people_1.png', true); } else { $data[2] = html_print_image('images/people_2.png', true); } if ($view_mode === false) { $table->rowspan[0][2] = 3; } else { $table->rowspan[0][2] = 2; } $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;'; $table->data[] = $data; $data = []; $data[0] = ''.__('E-mail').''; $data[0] .= $jump.''.html_print_input_text_extended('email', $user_info['email'], 'email', '', '25', '100', $view_mode, '', 'class="input"', true).''; $data[1] = ''.__('Phone number').''; $data[1] .= $jump.'
'.html_print_input_text_extended('phone', $user_info['phone'], 'phone', '', '20', '30', $view_mode, '', 'class="input"', true).'
'; $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;'; $table->data[] = $data; if ($view_mode === false) { if ($config['user_can_update_password']) { $data = []; $data[0] = ''.__('New Password').''; $data[0] .= $jump.''.html_print_input_text_extended('password_new', '', 'password_new', '', '25', '45', $view_mode, '', 'class="input"', true, true).''; $data[1] = ''.__('Password confirmation').''; $data[1] .= $jump.''.html_print_input_text_extended('password_conf', '', 'password_conf', '', '20', '45', $view_mode, '', 'class="input"', true, true).''; $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;'; $table->data[] = $data; } else { $data = []; $data[0] = ''.__('You cannot change your password under the current authentication scheme').''; $table->rowclass[] = ''; $table->rowstyle[] = ''; $table->colspan[count($table - data)][0] = 2; $table->data[] = $data; } } $data = []; $data[0] = ''.__('Block size for pagination').ui_print_help_tip(__('If checkbox is clicked then block size global configuration is used'), true).''; if ($user_info['block_size'] == 0) { $block_size = $config['global_block_size']; } else { $block_size = $user_info['block_size']; } $data[0] .= $jump.''.html_print_input_text('block_size', $block_size, '', 5, 5, true).''; $data[0] .= $jump.''.html_print_checkbox('default_block_size', 1, $user_info['block_size'] == 0, true).''; $data[0] .= __('Default').' ('.$config['global_block_size'].')'; $values = [ -1 => __('Default'), 1 => __('Yes'), 0 => __('No'), ]; $data[2] = ''.__('Language').''; $data[2] .= $jump.html_print_select_from_sql( 'SELECT id_language, name FROM tlanguage', 'language', $user_info['language'], '', __('Default'), 'default', true, '', '', '', '', '', 10 ); $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;'; $table->data[] = $data; $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; } $usr_groups = (users_get_groups($config['id_user'], 'AR', $display_all_group)); $id_usr = $config['id_user']; $data = []; if (!$meta) { $data[0] = ''.__('Home screen').ui_print_help_tip(__('User can customize the home page. By default, will display \'Agent Detail\'. Example: Select \'Other\' and type sec=estado&sec2=operation/agentes/estado_agente to show agent detail view'), true).''; $values = [ 'Default' => __('Default'), 'Visual console' => __('Visual console'), 'Event list' => __('Event list'), 'Group view' => __('Group view'), 'Tactical view' => __('Tactical view'), 'Alert detail' => __('Alert detail'), 'Other' => __('Other'), ]; if (enterprise_installed()) { $values['Dashboard'] = __('Dashboard'); } $data[0] .= $jump.''.html_print_select($values, 'section', io_safe_output($user_info['section']), 'show_data_section();', '', -1, true, false, false).''; if (enterprise_installed()) { $dashboards = get_user_dashboards($config['id_user']); $dashboards_aux = []; if ($dashboards === false) { $dashboards = ['None' => 'None']; } else { foreach ($dashboards as $key => $dashboard) { $dashboards_aux[$dashboard['name']] = $dashboard['name']; } } $data[0] .= html_print_select($dashboards_aux, 'dashboard', $user_info['data_section'], '', '', '', true); } $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; } } $data[0] .= html_print_select($layouts_aux, 'visual_console', $user_info['data_section'], '', '', '', true); $data[0] .= html_print_input_text('data_section', $user_info['data_section'], '', 60, 255, true, false); // User only can change skins if has more than one group. $data[1] = ''; if (function_exists('skins_print_select')) { if (count($usr_groups) > 1) { $data[1] = ''.__('Skin').''; $data[1] .= $jump.''.skins_print_select($id_usr, 'skin', $user_info['id_skin'], '', __('None'), 0, true).''; } } } else { $data[0] = ''; $data[1] = ''; } $data[2] = ''.__('Timezone').''; $data[2] .= $jump.html_print_timezone_select('timezone', $user_info['timezone']); $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;'; $table->data[] = $data; // Double auth. $double_auth_enabled = (bool) db_get_value('id', 'tuser_double_auth', 'id_user', $config['id_user']); $data = []; if ($config['double_auth_enabled']) { $data[0] = ''.__('Double authentication').''; $data[0] .= $jump; $data[0] .= ''.html_print_checkbox('double_auth', 1, $double_auth_enabled, true).''; } if ($double_auth_enabled) { $data[0] .= $jump; $data[0] .= html_print_button(__('Show information'), 'show_info', false, 'javascript:show_double_auth_info();', '', true); } // Dialog. $data[0] .= '
'; if (check_acl($config['id_user'], 0, 'ER')) { $data[1] = ''.__('Event filter').''; $data[1] .= $jump.''.html_print_select_from_sql( 'SELECT id_filter, id_name FROM tevent_filter', 'event_filter', $user_info['default_event_filter'], '', __('None'), null, true ).''; } else if (license_free()) { $data[1] = __('Newsletter Subscribed').':'; if ($user_info['middlename']) { $data[1] .= $jump.''.__('Already subscribed to %s newsletter', get_product_name()).''; } else { $data[1] .= $jump.''.__('Subscribe to our newsletter').''; } $data[2] = __('Newsletter Reminder').' '; if ($user_info['firstname'] != 0) { $user_info['firstname'] = 1; } $data[2] .= html_print_checkbox('newsletter_reminder', 1, $user_info['firstname'], true); } else { $table->colspan[count($table->data)][0] = 3; } $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;'; $table->data[] = $data; $data = []; $autorefresh_list_out = []; if (is_metaconsole()) { $autorefresh_list_out['monitoring/tactical'] = 'tactical'; $autorefresh_list_out['monitoring/group_view'] = 'group_view'; } else { $autorefresh_list_out['operation/agentes/tactical'] = 'tactical'; $autorefresh_list_out['operation/agentes/group_view'] = 'group_view'; } $autorefresh_list_out['operation/agentes/estado_agente'] = 'agent_status'; $autorefresh_list_out['operation/agentes/alerts_status'] = 'alerts_status'; $autorefresh_list_out['operation/agentes/status_monitor'] = 'status_monitor'; $autorefresh_list_out['enterprise/operation/services/services'] = 'services'; $autorefresh_list_out['enterprise/dashboard/main_dashboard'] = 'main_dashboard'; $autorefresh_list_out['operation/reporting/graph_viewer'] = 'graph_viewer'; $autorefresh_list_out['operation/snmpconsole/snmp_view'] = 'snmp_view'; $autorefresh_list_out['operation/agentes/pandora_networkmap'] = 'networkmap'; $autorefresh_list_out['operation/visual_console/render_view'] = 'render_view'; $autorefresh_list_out['operation/events/events'] = 'events'; $autorefresh_list_out['enterprise/godmode/reporting/cluster_view'] = 'cluster_view'; if (!isset($autorefresh_list)) { $select = db_process_sql("SELECT autorefresh_white_list FROM tusuario WHERE id_user = '".$config['id_user']."'"); $autorefresh_list = json_decode($select[0]['autorefresh_white_list']); if ($autorefresh_list === null) { $autorefresh_list[0] = __('None'); } else { $aux = []; $count_autorefresh_list = count($autorefresh_list); for ($i = 0; $i < $count_autorefresh_list; $i++) { $aux[$autorefresh_list[$i]] = $autorefresh_list_out[$autorefresh_list[$i]]; unset($autorefresh_list_out[$autorefresh_list[$i]]); $autorefresh_list[$i] = $aux; } $autorefresh_list = $aux; } } else { if (($autorefresh_list[0] === '') || ($autorefresh_list[0] === '0')) { $autorefresh_list[0] = __('None'); } else { $aux = []; $count_autorefresh_list = count($autorefresh_list); for ($i = 0; $i < $count_autorefresh_list; $i++) { $aux[$autorefresh_list[$i]] = $autorefresh_list_out[$autorefresh_list[$i]]; unset($autorefresh_list_out[$autorefresh_list[$i]]); $autorefresh_list[$i] = $aux; } $autorefresh_list = $aux; } } $data[0] = _('Autorefresh').ui_print_help_tip( __('This will activate autorefresh in selected pages'), true ); $select_out = html_print_select( $autorefresh_list_out, 'autorefresh_list_out[]', '', '', '', '', true, true, true, '', false, 'width:200px' ); $arrows = ' '; $select_in = html_print_select( $autorefresh_list, 'autorefresh_list[]', '', '', '', '', true, true, true, '', false, 'width:200px' ); $table_ichanges = '
'.__('Full list of pages').' '.__('List of pages with autorefresh').'
'.$select_out.' '.html_print_image( 'images/darrowright.png', true, [ 'id' => 'right_autorefreshlist', 'alt' => __('Push selected pages into autorefresh list'), 'title' => __('Push selected pages into autorefresh list'), ] ).'

'.html_print_image( 'images/darrowleft.png', true, [ 'id' => 'left_autorefreshlist', 'alt' => __('Pop selected pages out of autorefresh list'), 'title' => __('Pop selected pages out of autorefresh list'), ] ).'
'.$select_in.'
'; $data[0] .= $table_ichanges; // Time autorefresh. $times = get_refresh_time_array(); $data[1] = ''.__('Time autorefresh'); $data[1] .= ui_print_help_tip( __('Interval of autorefresh of the elements, by default they are 30 seconds, needing to enable the autorefresh first'), true ).''; $data[1] .= $jump.''; $data[1] .= html_print_select( $times, 'time_autorefresh', $user_info['time_autorefresh'], '', '', '', true, false, false ).''; $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;vertical-align: top'; $table->data[] = $data; $data = []; $data[0] = __('Comments'); $table->colspan[count($table->data)][0] = 3; $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;'; $table->data[] = $data; $data = []; $data[0] = '
'; $data[0] .= html_print_textarea( 'comments', 2, 60, $user_info['comments'], (($view_mode) ? 'readonly="readonly"' : ''), true ); $data[0] .= '
'; $data[0] .= html_print_input_hidden('quick_language_change', 1, true); $table->colspan[count($table->data)][0] = 3; $table->rowclass[] = ''; $table->rowstyle[] = ''; $table->data[] = $data; echo '
'; html_print_table($table); echo '
'; if (!$config['user_can_update_info']) { echo ''.__('You can not change your user info under the current authentication scheme').''; } else { html_print_csrf_hidden(); html_print_submit_button(__('Update'), 'uptbutton', $view_mode, 'class="sub upd"'); } echo '
'; unset($table); if (!defined('METACONSOLE')) { echo '

'.__('Profiles/Groups assigned to this user').'

'; } $table = new stdClass(); $table->width = '100%'; $table->class = 'databox data'; if (defined('METACONSOLE')) { $table->width = '100%'; $table->class = 'databox data'; $table->title = __('Profiles/Groups assigned to this user'); $table->head_colspan[0] = 0; $table->headstyle[] = 'background-color: #82B93C'; $table->headstyle[] = 'background-color: #82B93C'; $table->headstyle[] = 'background-color: #82B93C'; } $table->data = []; $table->head = []; $table->align = []; $table->style = []; if (!defined('METACONSOLE')) { $table->style[0] = 'font-weight: bold'; $table->style[1] = 'font-weight: bold'; } $table->head[0] = __('Profile name'); $table->head[1] = __('Group'); $table->head[2] = __('Tags'); $table->align = []; $table->align[1] = 'left'; $table->data = []; $result = db_get_all_rows_field_filter('tusuario_perfil', 'id_usuario', $id); if ($result === false) { $result = []; } foreach ($result as $profile) { $data[0] = ''.profile_get_name($profile['id_perfil']).''; if ($config['show_group_name']) { $data[1] = ui_print_group_icon( $profile['id_grupo'], true ).' '; } else { $data[1] = ui_print_group_icon( $profile['id_grupo'], true ).' '.ui_print_truncate_text(groups_get_name($profile['id_grupo'], true), GENERIC_SIZE_TEXT).''; } $tags_ids = explode(',', $profile['tags']); $tags = tags_get_tags($tags_ids); $data[2] = tags_get_tags_formatted($tags); array_push($table->data, $data); } if (!empty($table->data)) { html_print_table($table); } else { ui_print_info_message(['no_close' => true, 'message' => __('This user doesn\'t have any assigned profile/group.') ]); } enterprise_hook('close_meta_frame'); ?>