diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2016-02-19 16:06:40 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2016-02-19 16:06:40 +0100 |
commit | b5281b61ed90d815deb8bdb4d94b53a0c3fc0e64 (patch) | |
tree | 366ee8cf6218f99fe0fa12d872c09be6eea55640 /lib | |
parent | 5b3a79a28bb5ac2bf6807b6c76d420e63febf64e (diff) | |
parent | 47d28155a8c07a208bf30f16a03efc2843dec408 (diff) | |
download | nextcloud-server-b5281b61ed90d815deb8bdb4d94b53a0c3fc0e64.tar.gz nextcloud-server-b5281b61ed90d815deb8bdb4d94b53a0c3fc0e64.zip |
Merge pull request #22410 from owncloud/fix_22119
Do not copy skeleton on avatar access
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/avatarmanager.php | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/private/avatarmanager.php b/lib/private/avatarmanager.php index b39f5495122..21f88b1fd3f 100644 --- a/lib/private/avatarmanager.php +++ b/lib/private/avatarmanager.php @@ -26,6 +26,7 @@ namespace OC; +use OCP\Files\Folder; use OCP\IAvatarManager; use OCP\IUserManager; use OCP\Files\IRootFolder; @@ -45,6 +46,13 @@ class AvatarManager implements IAvatarManager { /** @var IL10N */ private $l; + /** + * AvatarManager constructor. + * + * @param IUserManager $userManager + * @param IRootFolder $rootFolder + * @param IL10N $l + */ public function __construct( IUserManager $userManager, IRootFolder $rootFolder, @@ -57,7 +65,7 @@ class AvatarManager implements IAvatarManager { /** * return a user specific instance of \OCP\IAvatar * @see \OCP\IAvatar - * @param string $user the ownCloud user id + * @param string $userId the ownCloud user id * @return \OCP\IAvatar * @throws \Exception In case the username is potentially dangerous */ @@ -66,6 +74,16 @@ class AvatarManager implements IAvatarManager { if (is_null($user)) { throw new \Exception('user does not exist'); } - return new Avatar($this->rootFolder->getUserFolder($userId)->getParent(), $this->l, $user); + + /* + * Fix for #22119 + * Basically we do not want to copy the skeleton folder + */ + \OC\Files\Filesystem::initMountPoints($userId); + $dir = '/' . $userId; + /** @var Folder $folder */ + $folder = $this->rootFolder->get($dir); + + return new Avatar($folder, $this->l, $user); } } |