$id)); //Deactivate shorcut var if ($shortcut_value == 1) { db_process_sql_update('tusuario', array('shortcut' => 0), array('id_user' => $id)); } // Activate shortcut var else { db_process_sql_update('tusuario', array('shortcut' => 1), array('id_user' => $id)); } } return; } // Header if ($meta) { user_meta_print_header(); $url = 'index.php?sec=advanced&sec2=advanced/users_setup&tab=user_edit'; } else { ui_print_page_header (__('User detail editor'), "images/op_workspace.png", false, "", false, ""); $url = 'index.php?sec=workspace&sec2=operation/users/user_edit'; } enterprise_hook('open_meta_frame'); // Update user info if (isset ($_GET["modified"]) && !$view_mode) { $upd_info = array (); $upd_info["fullname"] = get_parameter_post ("fullname", $user_info["fullname"]); $upd_info["firstname"] = get_parameter_post ("firstname", $user_info["firstname"]); $upd_info["lastname"] = get_parameter_post ("lastname", $user_info["lastname"]); $password_new = get_parameter_post ("password_new", ""); $password_confirm = get_parameter_post ("password_conf", ""); $upd_info["email"] = get_parameter_post ("email", $user_info["email"]); $upd_info["phone"] = get_parameter_post ("phone", $user_info["phone"]); $upd_info["comments"] = get_parameter_post ("comments", $user_info["comments"]); $upd_info["language"] = get_parameter_post ("language", $user_info["language"]); $upd_info["id_skin"] = get_parameter ("skin", $user_info["id_skin"]); $upd_info["block_size"] = get_parameter ("block_size", $config["block_size"]); $default_block_size = get_parameter ("default_block_size", 0); if($default_block_size) { $upd_info["block_size"] = 0; } $upd_info["flash_chart"] = get_parameter ("flash_charts", $config["flash_charts"]); $upd_info["shortcut"] = get_parameter ("shortcut_bar", 0); $upd_info["section"] = get_parameter ("section", $user_info["section"]); $upd_info["data_section"] = get_parameter ("data_section", ''); $dashboard = get_parameter('dashboard', ''); $visual_console = get_parameter('visual_console', ''); $is_admin = db_get_value('is_admin', 'tusuario', 'id_user', $id); $section = io_safe_output($upd_info["section"]); if (($section == 'Event list') || ($section == 'Group view') || ($section == 'Alert detail') || ($section == 'Tactical view') || ($section == 'Default')) { $upd_info["data_section"] = ''; } else if ($section == 'Dashboard') { $upd_info["data_section"] = $dashboard; } else if ($section == 'Visual console') { $upd_info["data_section"] = $visual_console; } if (!empty ($password_new)) { if ($config["user_can_update_password"] && $password_confirm == $password_new) { if ((!$is_admin || $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 { $return = update_user_password ($id, $password_new); if ($return) { $return2 = save_pass_history($id, $password_new); } ui_print_result_message ($return, __('Password successfully updated'), __('Error updating passwords: %s', $config['auth_error'])); } } else { $return = update_user_password ($id, $password_new); ui_print_result_message ($return, __('Password successfully updated'), __('Error updating passwords: %s', $config['auth_error'])); } } elseif ($password_new !== "NON-INIT") { ui_print_error_message (__('Passwords didn\'t match or other problem encountered while updating passwords')); } } // No need to display "error" here, because when no update is needed (no changes in data) // SQL function returns 0 (FALSE), but is not an error, just no change. Previous error // message could be confussing to the user. $return = update_user ($id, $upd_info); if ($return > 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')); } $table->id = 'user_form'; $table->width = '98%'; $table->cellspacing = 4; $table->cellpadding = 4; $table->class = 'vertical_fields'; $table->style[2] = 'width: 175px;'; $data = array(); $data[0] = '' . __('User ID') . ''; $data[0] .= '

' . $id . ''; $data[1] = '' . __('Full (display) name') . ''; $data[1] .= '
' . html_print_input_text_extended ("fullname", $user_info["fullname"], '', '', 40, 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] .= '
' . html_print_input_text_extended ("email", $user_info["email"], '', '', '40', '100', $view_mode, '', 'class="input"', true); $data[1] = __('Phone number'); $data[1] .= '
' . html_print_input_text_extended ("phone", $user_info["phone"], '', '', '40', '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] .= '
' . html_print_input_text_extended ("password_new", "", '', '', '40', '25', $view_mode, '', 'class="input"', true, true); $data[1] = __('Password confirmation'); $data[1] .= '
' . html_print_input_text_extended ("password_conf", "", '', '', '40', '25', $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] .= '
' . html_print_input_text ('block_size', $block_size, '', 5, 5, true); $data[0] .= '
' . 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] .= '
' . html_print_select($values, 'flash_charts', $user_info["flash_chart"], '', '', -1, true, false, false); $data[2] = __('Language'); $data[2] .= '
' . html_print_select_from_sql ('SELECT id_language, name FROM tlanguage', 'language', $user_info["language"], '', __('Default'), 'default', true); $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] = __('Shortcut bar') . ui_print_help_tip(__('This will activate a shortcut bar with alerts, events, messages... information'), true); $data[0] .= '
' . html_print_checkbox('shortcut_bar', 1, $user_info["shortcut"], true); $data[1] = __('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'), 'Dashboard'=>__('Dashboard'), '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[1] .= '
' . 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[1] .= 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[1] .= html_print_select ($layouts_aux, 'visual_console', $user_info["data_section"], '', '', '', true); $data[1] .= 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[2] = ''; if (function_exists('skins_print_select')) { if (count($usr_groups) > 1) { $data[2] = __('Skin'); $data[2] .= '
' . skins_print_select($id_usr,'skin', $user_info['id_skin'], '', __('None'), 0, true); } } $table->rowclass[] = ''; $table->rowstyle[] = 'font-weight: bold;'; $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 '
'; html_print_table($table); echo '
'; if (!$config["user_can_update_info"]) { echo ''.__('You can not change your user info from Pandora FMS under the current authentication scheme').''; } else { html_print_submit_button (__('Update'), 'uptbutton', $view_mode, 'class="sub upd"'); } echo '
'; unset($table); echo '

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

'; $table->width = '98%'; $table->data = array (); $table->head = array (); $table->align = array (); $table->style = array (); $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] = 'center'; $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"]).''; $data[1] = ui_print_group_icon ($profile["id_grupo"], true).' '; $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 { echo '
'.__('This user doesn\'t have any assigned profile/group').'
'; } enterprise_hook('close_meta_frame'); ?>