From 19cd2960922e87beed19f0679f8f16157941cb63 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Mon, 24 Sep 2012 13:56:01 +0200 Subject: [PATCH] Fixing edit_user bug --- main/admin/user_list.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/main/admin/user_list.php b/main/admin/user_list.php index 0639db56f3..b25fcbd87e 100644 --- a/main/admin/user_list.php +++ b/main/admin/user_list.php @@ -460,7 +460,7 @@ function get_user_data($from, $number_of_items, $column, $direction) { } } // forget about the expiration date field - $users[] = array($user[0], $photo, $user[1],$user[2], $user[3], $user[4], $user[5], $user[6], $user[7], api_get_local_time($user[9])); + $users[] = array($user[0], $photo, $user[1],$user[2], $user[3], $user[4], $user[5], $user[6], $user[7], api_get_local_time($user[9]), $user[0]); } return $users; } @@ -491,12 +491,13 @@ function user_filter($name, $params, $row) { * @return string Some HTML-code with modify-buttons */ function modify_filter($user_id, $url_params, $row) { - global $charset, $_user, $_admins_list, $delete_user_available; - + global $charset, $_admins_list, $delete_user_available; $is_admin = in_array($user_id,$_admins_list); $statusname = api_get_status_langvars(); $user_is_anonymous = false; - if ($row['7'] == $statusname[ANONYMOUS]) { + $current_user_status_label = $row['7']; + + if ($current_user_status_label == $statusname[ANONYMOUS]) { $user_is_anonymous =true; } $result = ''; @@ -518,7 +519,7 @@ function modify_filter($user_id, $url_params, $row) { } //only allow platform admins to login_as, or session admins only for students (not teachers nor other admins) - if (api_is_platform_admin() || (api_is_session_admin() && $row['7'] == $statusname[STUDENT])) { + if (api_is_platform_admin() || (api_is_session_admin() && $current_user_status_label == $statusname[STUDENT])) { if (!$user_is_anonymous) { if (api_global_admin_can_edit_admin($user_id)) { $result .= ''.Display::return_icon('login_as.gif', get_lang('LoginAs')).'  '; @@ -533,7 +534,7 @@ function modify_filter($user_id, $url_params, $row) { $result .= Display::return_icon('login_as_na.gif', get_lang('LoginAs')).'  '; } - if ($row['7'] != $statusname[STUDENT]) { + if ($current_user_status_label != $statusname[STUDENT]) { $result .= Display::return_icon('statistics_na.gif', get_lang('Reporting')).'  '; } else { $result .= ''.Display::return_icon('statistics.gif', get_lang('Reporting')).'  '; @@ -562,11 +563,11 @@ function modify_filter($user_id, $url_params, $row) { $result .= ''.Display::return_icon('view_more_stats.gif', get_lang('AssignSessions')).'  '; }*/ } else { - if ($row['7'] == $statusname[DRH] || UserManager::is_admin($row[0])) { + if ($current_user_status_label == $statusname[DRH] || UserManager::is_admin($user_id)) { $result .= ''.Display::return_icon('user_subscribe_course.png', get_lang('AssignUsers'),'',ICON_SIZE_SMALL).''; $result .= ''.Display::return_icon('course_add.gif', get_lang('AssignCourses')).'  '; $result .= ''.Display::return_icon('view_more_stats.gif', get_lang('AssignSessions')).'  '; - } else if ($row['7'] == $statusname[SESSIONADMIN]) { + } else if ($current_user_status_label == $statusname[SESSIONADMIN]) { $result .= ''.Display::return_icon('view_more_stats.gif', get_lang('AssignSessions')).'  '; } } @@ -574,7 +575,7 @@ function modify_filter($user_id, $url_params, $row) { if (api_is_platform_admin()) { $result .= ' '.Display::return_icon('month.png', get_lang('FreeBusyCalendar'), array(), ICON_SIZE_SMALL).''; if ($delete_user_available) { - if ($row[0] != $_user['user_id'] && !$user_is_anonymous && api_global_admin_can_edit_admin($user_id)) { + if ($user_id != api_get_user_id() && !$user_is_anonymous && api_global_admin_can_edit_admin($user_id)) { // you cannot lock yourself out otherwise you could disable all the accounts including your own => everybody is locked out and nobody can change it anymore. $result .= ' '.Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL).''; } else {