diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-12-02 14:25:07 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-12-02 14:44:41 +0100 |
commit | 28ceab2f616d45a53dcc00c2cff53d5524bf0e9e (patch) | |
tree | 2c74c0dfb996625aad559e959c35860ba243770c | |
parent | f558ac7dd583c8135e40933e9e35d3505b9b6cb6 (diff) | |
download | nextcloud-server-28ceab2f616d45a53dcc00c2cff53d5524bf0e9e.tar.gz nextcloud-server-28ceab2f616d45a53dcc00c2cff53d5524bf0e9e.zip |
Fix endless recursion
-rw-r--r-- | apps/dav/lib/carddav/converter.php | 18 | ||||
-rw-r--r-- | lib/private/user/user.php | 16 | ||||
-rw-r--r-- | tests/lib/user/user.php | 2 |
3 files changed, 25 insertions, 11 deletions
diff --git a/apps/dav/lib/carddav/converter.php b/apps/dav/lib/carddav/converter.php index 67492378ade..56b73eba4c0 100644 --- a/apps/dav/lib/carddav/converter.php +++ b/apps/dav/lib/carddav/converter.php @@ -28,9 +28,10 @@ use Sabre\VObject\Property\Text; class Converter { - public function __construct() { - } - + /** + * @param IUser $user + * @return VCard + */ public function createCardFromUser(IUser $user) { $uid = $user->getUID(); @@ -60,6 +61,11 @@ class Converter { return $vCard; } + /** + * @param VCard $vCard + * @param IUser $user + * @return bool + */ public function updateCard(VCard $vCard, IUser $user) { $uid = $user->getUID(); $displayName = $user->getDisplayName(); @@ -105,6 +111,12 @@ class Converter { return $updated; } + /** + * @param VCard $vCard + * @param string $name + * @param string|IImage $newValue + * @return bool + */ private function propertyNeedsUpdate(VCard $vCard, $name, $newValue) { if (is_null($newValue)) { return false; diff --git a/lib/private/user/user.php b/lib/private/user/user.php index d60ffe95fc3..d1fa641504c 100644 --- a/lib/private/user/user.php +++ b/lib/private/user/user.php @@ -71,14 +71,14 @@ class User implements IUser { * @param string $uid * @param \OC_User_Interface $backend * @param \OC\Hooks\Emitter $emitter - * @param \OCP\IConfig $config + * @param IConfig|null $config + * @param IURLGenerator $urlGenerator */ - public function __construct($uid, $backend, $emitter = null, IConfig $config = null, $avatarManager = null, $urlGenerator = null) { + public function __construct($uid, $backend, $emitter = null, IConfig $config = null, $urlGenerator = null) { $this->uid = $uid; $this->backend = $backend; $this->emitter = $emitter; $this->config = $config; - $this->avatarManager = $avatarManager; $this->urlGenerator = $urlGenerator; if ($this->config) { $enabled = $this->config->getUserValue($uid, 'core', 'enabled', 'true'); @@ -88,9 +88,6 @@ class User implements IUser { $this->enabled = true; $this->lastLogin = \OC::$server->getConfig()->getUserValue($uid, 'login', 'lastLogin', 0); } - if (is_null($this->avatarManager)) { - $this->avatarManager = \OC::$server->getAvatarManager(); - } if (is_null($this->urlGenerator)) { $this->urlGenerator = \OC::$server->getURLGenerator(); } @@ -106,7 +103,7 @@ class User implements IUser { } /** - * get the displayname for the user, if no specific displayname is set it will fallback to the user id + * get the display name for the user, if no specific display name is set it will fallback to the user id * * @return string */ @@ -326,6 +323,11 @@ class User implements IUser { * @since 9.0.0 */ public function getAvatarImage($size) { + // delay the initialization + if (is_null($this->avatarManager)) { + $this->avatarManager = \OC::$server->getAvatarManager(); + } + $avatar = $this->avatarManager->getAvatar($this->uid); $image = $avatar->get(-1); if ($image) { diff --git a/tests/lib/user/user.php b/tests/lib/user/user.php index 134b79383ea..1f613edc4e6 100644 --- a/tests/lib/user/user.php +++ b/tests/lib/user/user.php @@ -475,7 +475,7 @@ class User extends \Test\TestCase { ->method('getAbsoluteURL') ->withAnyParameters() ->willReturn('http://localhost:8888/owncloud'); - $user = new \OC\User\User('foo', $backend, null, null, null, $urlGenerator); + $user = new \OC\User\User('foo', $backend, null, null, $urlGenerator); $this->assertEquals("foo@localhost:8888/owncloud", $user->getCloudId()); } } |