summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2016-02-19 16:06:40 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2016-02-19 16:06:40 +0100
commitb5281b61ed90d815deb8bdb4d94b53a0c3fc0e64 (patch)
tree366ee8cf6218f99fe0fa12d872c09be6eea55640 /lib
parent5b3a79a28bb5ac2bf6807b6c76d420e63febf64e (diff)
parent47d28155a8c07a208bf30f16a03efc2843dec408 (diff)
downloadnextcloud-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.php22
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);
}
}