Skip to content
Snippets Groups Projects
Commit 28ceab2f authored by Thomas Müller's avatar Thomas Müller
Browse files

Fix endless recursion

parent f558ac7d
No related branches found
No related tags found
No related merge requests found
...@@ -28,9 +28,10 @@ use Sabre\VObject\Property\Text; ...@@ -28,9 +28,10 @@ use Sabre\VObject\Property\Text;
class Converter { class Converter {
public function __construct() { /**
} * @param IUser $user
* @return VCard
*/
public function createCardFromUser(IUser $user) { public function createCardFromUser(IUser $user) {
$uid = $user->getUID(); $uid = $user->getUID();
...@@ -60,6 +61,11 @@ class Converter { ...@@ -60,6 +61,11 @@ class Converter {
return $vCard; return $vCard;
} }
/**
* @param VCard $vCard
* @param IUser $user
* @return bool
*/
public function updateCard(VCard $vCard, IUser $user) { public function updateCard(VCard $vCard, IUser $user) {
$uid = $user->getUID(); $uid = $user->getUID();
$displayName = $user->getDisplayName(); $displayName = $user->getDisplayName();
...@@ -105,6 +111,12 @@ class Converter { ...@@ -105,6 +111,12 @@ class Converter {
return $updated; return $updated;
} }
/**
* @param VCard $vCard
* @param string $name
* @param string|IImage $newValue
* @return bool
*/
private function propertyNeedsUpdate(VCard $vCard, $name, $newValue) { private function propertyNeedsUpdate(VCard $vCard, $name, $newValue) {
if (is_null($newValue)) { if (is_null($newValue)) {
return false; return false;
......
...@@ -71,14 +71,14 @@ class User implements IUser { ...@@ -71,14 +71,14 @@ class User implements IUser {
* @param string $uid * @param string $uid
* @param \OC_User_Interface $backend * @param \OC_User_Interface $backend
* @param \OC\Hooks\Emitter $emitter * @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->uid = $uid;
$this->backend = $backend; $this->backend = $backend;
$this->emitter = $emitter; $this->emitter = $emitter;
$this->config = $config; $this->config = $config;
$this->avatarManager = $avatarManager;
$this->urlGenerator = $urlGenerator; $this->urlGenerator = $urlGenerator;
if ($this->config) { if ($this->config) {
$enabled = $this->config->getUserValue($uid, 'core', 'enabled', 'true'); $enabled = $this->config->getUserValue($uid, 'core', 'enabled', 'true');
...@@ -88,9 +88,6 @@ class User implements IUser { ...@@ -88,9 +88,6 @@ class User implements IUser {
$this->enabled = true; $this->enabled = true;
$this->lastLogin = \OC::$server->getConfig()->getUserValue($uid, 'login', 'lastLogin', 0); $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)) { if (is_null($this->urlGenerator)) {
$this->urlGenerator = \OC::$server->getURLGenerator(); $this->urlGenerator = \OC::$server->getURLGenerator();
} }
...@@ -106,7 +103,7 @@ class User implements IUser { ...@@ -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 * @return string
*/ */
...@@ -326,6 +323,11 @@ class User implements IUser { ...@@ -326,6 +323,11 @@ class User implements IUser {
* @since 9.0.0 * @since 9.0.0
*/ */
public function getAvatarImage($size) { public function getAvatarImage($size) {
// delay the initialization
if (is_null($this->avatarManager)) {
$this->avatarManager = \OC::$server->getAvatarManager();
}
$avatar = $this->avatarManager->getAvatar($this->uid); $avatar = $this->avatarManager->getAvatar($this->uid);
$image = $avatar->get(-1); $image = $avatar->get(-1);
if ($image) { if ($image) {
......
...@@ -475,7 +475,7 @@ class User extends \Test\TestCase { ...@@ -475,7 +475,7 @@ class User extends \Test\TestCase {
->method('getAbsoluteURL') ->method('getAbsoluteURL')
->withAnyParameters() ->withAnyParameters()
->willReturn('http://localhost:8888/owncloud'); ->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()); $this->assertEquals("foo@localhost:8888/owncloud", $user->getCloudId());
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment