From 2022d0805896106bd084ab755d57ea254283f4a7 Mon Sep 17 00:00:00 2001 From: toyomoyo Date: Thu, 18 Oct 2007 05:45:14 +0000 Subject: [PATCH] MDL-11241, adding logs for roles management --- admin/roles/assign.php | 11 +++++++++-- admin/roles/manage.php | 10 +++++++++- admin/roles/override.php | 2 ++ lib/accesslib.php | 7 +++++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/admin/roles/assign.php b/admin/roles/assign.php index bcf60486fcf..ca0d604caea 100755 --- a/admin/roles/assign.php +++ b/admin/roles/assign.php @@ -163,7 +163,9 @@ } } } - + + $rolename = get_field('role', 'name', 'id', $roleid); + add_to_log($course->id, 'role', 'assign', 'admin/roles/assign.php?contextid='.$context->id.'&roleid='.$roleid, $rolename, '', $USER->id); } else if ($remove and !empty($frm->removeselect) and confirm_sesskey()) { $sitecontext = get_context_instance(CONTEXT_SYSTEM); @@ -197,11 +199,16 @@ } } } - + + $rolename = get_field('role', 'name', 'id', $roleid); + add_to_log($course->id, 'role', 'unassign', 'admin/roles/assign.php?contextid='.$context->id.'&roleid='.$roleid, $rolename, '', $USER->id); } else if ($showall) { $searchtext = ''; $previoussearch = 0; } + + + } if ($context->contextlevel==CONTEXT_COURSE and $context->instanceid == SITEID) { diff --git a/admin/roles/manage.php b/admin/roles/manage.php index bf20749d875..51397078f6c 100755 --- a/admin/roles/manage.php +++ b/admin/roles/manage.php @@ -119,9 +119,12 @@ } if (empty($errors)) { + $rolename = get_field('role', 'name', 'id', $newroleid); + add_to_log(SITEID, 'role', 'add', 'admin/roles/manage.php?action=add', $rolename, '', $USER->id); redirect('manage.php'); } } + break; case 'edit': @@ -228,10 +231,11 @@ unassign_capability($lcap, $roleid); } } - + add_to_log(SITEID, 'role', 'edit', 'admin/roles/manage.php?action=edit&roleid='.$role->id, $role->name, '', $USER->id); redirect('manage.php'); } } + break; case 'delete': @@ -342,6 +346,8 @@ // dupilcate all the capabilities role_cap_duplicate($sourcerole, $newrole); } + $rolename = get_field('role', 'name', 'id', $newrole); + add_to_log(SITEID, 'role', 'duplicate', 'admin/roles/manage.php?roleid='.$newrole.'&action=duplicate', $rolename, '', $USER->id); redirect('manage.php'); break; @@ -352,6 +358,8 @@ if ($confirm and data_submitted() and confirm_sesskey()) { reset_role_capabilities($roleid); + $rolename = get_field('role', 'name', 'id', $roleid); + add_to_log(SITEID, 'role', 'reset', 'admin/roles/manage.php?roleid='.$roleid.'&action=reset', $rolename, '', $USER->id); redirect('manage.php?action=view&roleid='.$roleid); } else { diff --git a/admin/roles/override.php b/admin/roles/override.php index b031d785204..ee8b996b93c 100755 --- a/admin/roles/override.php +++ b/admin/roles/override.php @@ -130,6 +130,8 @@ } } } + $rolename = get_field('role', 'name', 'id', $roleid); + add_to_log($course->id, 'role', 'override', 'admin/roles/override.php?contextid='.$context->id.'&roleid='.$roleid, $rolename, '', $USER->id); redirect($baseurl); } diff --git a/lib/accesslib.php b/lib/accesslib.php index 08e4cb97f33..18c68a4d21e 100755 --- a/lib/accesslib.php +++ b/lib/accesslib.php @@ -2056,10 +2056,17 @@ function delete_role($roleid) { } // finally delete the role itself + // get this before the name is gone for logging + $rolename = get_field('role', 'name', 'id', $roleid); + if ($success and !delete_records('role', 'id', $roleid)) { debugging("Could not delete role record with ID $roleid!"); $success = false; } + + if ($success) { + add_to_log(SITEID, 'role', 'delete', 'admin/roles/action=delete&roleid='.$roleid, $rolename, '', $USER->id); + } return $success; }