diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2019-09-04 13:36:08 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2019-09-04 13:46:25 +0200 |
commit | 3ce5d4e5450607b42da73f5c45a6fcd516fd9462 (patch) | |
tree | 6a10380f69fd2d107b45c1b99c15305bbff83a42 | |
parent | 0e19e55e242af3e665035f5928d293ed9addc4ed (diff) | |
download | nextcloud-server-3ce5d4e5450607b42da73f5c45a6fcd516fd9462.tar.gz nextcloud-server-3ce5d4e5450607b42da73f5c45a6fcd516fd9462.zip |
reduce adressbook change events and handling
... from four to one on avatar updates
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
-rw-r--r-- | apps/user_ldap/lib/User_Proxy.php | 2 | ||||
-rw-r--r-- | lib/private/Avatar/UserAvatar.php | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/apps/user_ldap/lib/User_Proxy.php b/apps/user_ldap/lib/User_Proxy.php index ccc82760b02..a3f9e67764e 100644 --- a/apps/user_ldap/lib/User_Proxy.php +++ b/apps/user_ldap/lib/User_Proxy.php @@ -253,7 +253,7 @@ class User_Proxy extends Proxy implements \OCP\IUserBackend, \OCP\UserInterface, * @return boolean either the user can or cannot */ public function canChangeAvatar($uid) { - return $this->handleRequest($uid, 'canChangeAvatar', array($uid)); + return $this->handleRequest($uid, 'canChangeAvatar', [$uid], true); } /** diff --git a/lib/private/Avatar/UserAvatar.php b/lib/private/Avatar/UserAvatar.php index 2db65634e8c..f96ec93d5d0 100644 --- a/lib/private/Avatar/UserAvatar.php +++ b/lib/private/Avatar/UserAvatar.php @@ -97,7 +97,7 @@ class UserAvatar extends Avatar { $this->validateAvatar($img); - $this->remove(); + $this->remove(true); $type = $this->getAvatarImageType($img); $file = $this->folder->newFile('avatar.' . $type); $file->putContent($data); @@ -193,7 +193,7 @@ class UserAvatar extends Avatar { * @throws \OCP\Files\NotPermittedException * @throws \OCP\PreConditionNotMetException */ - public function remove() { + public function remove(bool $silent = false) { $avatars = $this->folder->getDirectoryListing(); $this->config->setUserValue($this->user->getUID(), 'avatar', 'version', @@ -203,7 +203,9 @@ class UserAvatar extends Avatar { $avatar->delete(); } $this->config->setUserValue($this->user->getUID(), 'avatar', 'generated', 'true'); - $this->user->triggerChange('avatar', ''); + if(!$silent) { + $this->user->triggerChange('avatar', ''); + } } /** |