MDL-76842 auth_lti: don't update the user unless data has changed
When receiving data from the LTI launch, or service call, only update the user record when we know something has changed. This prevents the creation of many \core\event\user_updated events.
This commit is contained in:
+5
-1
@@ -380,7 +380,11 @@ class auth_plugin_lti extends \auth_plugin_base {
|
||||
'lastname' => $userdata['family_name'] ?? $iss,
|
||||
'email' => $email
|
||||
];
|
||||
user_update_user($update);
|
||||
$userfieldstocompare = array_intersect_key((array) $user, $update);
|
||||
|
||||
if (!empty(array_diff($update, $userfieldstocompare))) {
|
||||
user_update_user($update); // Only update if there's a change.
|
||||
}
|
||||
|
||||
if (!empty($userdata['picture'])) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user