function audit_log_user_user_update in Audit Log 7
Implements hook_user_update().
File
- modules/
audit_log_user/ audit_log_user.module, line 96 - User related hook implemenations for the Audit log module.
Code
function audit_log_user_user_update(&$edit, $account, $category) {
// Check if the user was enabled or disabled.
if (isset($edit['status'])) {
if ($edit['original']->status != $edit['status']) {
$action = $edit['status'] ? 'user-unblocked' : 'user-blocked';
audit_log($account, 'user', $action, $account, NULL, REQUEST_TIME, array(
'message' => format_string('@action @name.', array(
'@name' => $account->name,
'@action' => $action,
)),
));
}
}
// Only run if the submission form in fact sent role info.
if (isset($edit['roles']) && is_array($edit['roles'])) {
// Check if any roles were removed.
$removed_roles = array_diff_key($edit['original']->roles, $edit['roles']);
if (!empty($removed_roles)) {
audit_log($account, 'user', 'roles-removed', $account, NULL, REQUEST_TIME, array(
'message' => implode(', ', $removed_roles),
));
}
// Check if any roles were added.
$added_keys = array_diff_key($edit['roles'], $edit['original']->roles);
if (!empty($added_keys)) {
$all_roles = user_roles();
$added_roles = array_intersect_key($all_roles, $added_keys);
audit_log($account, 'user', 'roles-added', $account, NULL, REQUEST_TIME, array(
'message' => implode(', ', $added_roles),
));
}
}
}