0) {
ui_print_result_message ($return,
__('User info successfully updated'),
__('Error updating user info'));
}
$user_info = $upd_info;
}
// Prints action status for current message
if ($status != -1) {
ui_print_result_message ($status,
__('User info successfully updated'),
__('Error updating user info'));
}
$jump = " ";
$table = new stdClass();
$table->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 = array();
$data[0] = '' . __('User ID') . '';
$data[0] .= $jump . '' . $id . '';
$data[1] = '' . __('Full (display) name') . '';
$data[1] .= $jump . '' . html_print_input_text_extended ("fullname", $user_info["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 = array();
$data[0] = ''.__('E-mail').'';
$data[0] .= $jump .''. html_print_input_text_extended ("email", $user_info["email"], '', '', '25', '100', $view_mode, '', 'class="input"', true).'';
$data[1] = ''.__('Phone number').'';
$data[1] .= $jump . '
'.html_print_input_text_extended ("phone", $user_info["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 = array();
$data[0] = ''.__('New Password').'';
$data[0] .= $jump .''.html_print_input_text_extended ("password_new", "", '', '', '25', '45', $view_mode, '', 'class="input"', true, true).'';
$data[1] = ''.__('Password confirmation').'';
$data[1] .= $jump . ''.html_print_input_text_extended ("password_conf", "", '', '', '20', '45', $view_mode, '', 'class="input"', true, true).'';
$table->rowclass[] = '';
$table->rowstyle[] = 'font-weight: bold;';
$table->data[] = $data;
}
else {
$data = array();
$data[0] = ''.__('You can not change your password from Pandora FMS under the current authentication scheme').'';
$table->rowclass[] = '';
$table->rowstyle[] = '';
$table->colspan[count($table-data)][0] = 2;
$table->data[] = $data;
}
}
$data = array();
$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 = array(-1 => __('Default'),1 => __('Yes'),0 => __('No'));
$data[1] = ''.__('Interactive charts') . ui_print_help_tip(__('Whether to use Javascript or static PNG graphs'), true).'';
$data[1] .= $jump . ''. html_print_select($values, 'flash_charts', $user_info["flash_chart"], '', '', -1, true, false, false).'';
$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'];
if (!$meta) {
$data = array();
$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 = array (
'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 = array();
if ($dashboards === false) {
$dashboards = array('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 = array();
if ($layouts === false) {
$layouts_aux = array('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).'';
}
}
$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 = array();
$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["id_filter"], '', __('None'), NULL, true).'';
}// Newsletter
else if (license_free()) {
$data[1] = __('Newsletter Subscribed') . ':';
if ($user_info["middlename"]) {
$data[1] .= $jump . '' . __('Already subscribed to Pandora FMS newsletter') . "";
}
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 = array();
$autorefresh_list_out = array();
$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 = array();
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 = array();
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 = '';
$data[0] .= $table_ichanges;
//time autorefresh
$times = get_refresh_time_array();
$data[1] = ''.__('Time autorefresh').'';
$data[1] .= $jump . ''. 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 = array();
$data[0] = __('Comments');
$table->colspan[count($table->data)][0] = 3;
$table->rowclass[] = '';
$table->rowstyle[] = 'font-weight: bold;';
$table->data[] = $data;
$data = array();
$data[0] = ''.html_print_textarea("comments", 2, 60, $user_info["comments"], ($view_mode ? 'readonly="readonly"' : ''), true).'
';
$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 '';
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 = array ();
$table->head = array ();
$table->align = array ();
$table->style = array ();
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 = array();
$table->align[1] = 'left';
$table->data = array ();
$result = db_get_all_rows_field_filter ("tusuario_perfil", "id_usuario", $id);
if ($result === false) {
$result = array ();
}
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 ( array('no_close'=>true, 'message'=> __('This user doesn\'t have any assigned profile/group.') ) );
}
enterprise_hook('close_meta_frame');
?>