ソースを参照

Merge pull request #15020 from nextcloud/bugfix/noid/fix-too-many-event-triggers

Bugfix/noid/fix too many event triggers
tags/v16.0.0RC1
Morris Jobke 5年前
コミット
ccabc63a09
コミッターのメールアドレスに関連付けられたアカウントが存在しません
2個のファイルの変更6行の追加7行の削除
  1. 0
    5
      lib/private/Avatar/UserAvatar.php
  2. 6
    2
      lib/private/Server.php

+ 0
- 5
lib/private/Avatar/UserAvatar.php ファイルの表示

@@ -312,11 +312,6 @@ class UserAvatar extends Avatar {
* @throws \OCP\PreConditionNotMetException
*/
public function userChanged($feature, $oldValue, $newValue) {
// We only change the avatar on display name changes
if ($feature !== 'displayName') {
return;
}

// If the avatar is not generated (so an uploaded image) we skip this
if (!$this->folder->fileExists('generated')) {
return;

+ 6
- 2
lib/private/Server.php ファイルの表示

@@ -426,10 +426,9 @@ class Server extends ServerContainer implements IServerContainer {
$userSession->listen('\OC\User', 'logout', function () {
\OC_Hook::emit('OC_User', 'logout', array());
});
$userSession->listen('\OC\User', 'changeUser', function ($user, $feature, $value, $oldValue) use ($dispatcher) {
$userSession->listen('\OC\User', 'changeUser', function ($user, $feature, $value, $oldValue) {
/** @var $user \OC\User\User */
\OC_Hook::emit('OC_User', 'changeUser', array('run' => true, 'user' => $user, 'feature' => $feature, 'value' => $value, 'old_value' => $oldValue));
$dispatcher->dispatch('OCP\IUser::changeUser', new GenericEvent($user, ['feature' => $feature, 'oldValue' => $oldValue, 'value' => $value]));
});
return $userSession;
});
@@ -1257,6 +1256,11 @@ class Server extends ServerContainer implements IServerContainer {
$oldValue = $e->getArgument('oldValue');
$value = $e->getArgument('value');

// We only change the avatar on display name changes
if ($feature !== 'displayName') {
return;
}

try {
$avatar = $manager->getAvatar($user->getUID());
$avatar->userChanged($feature, $oldValue, $value);

読み込み中…
キャンセル
保存