diff --git a/apps/user_ldap/lib/User/User.php b/apps/user_ldap/lib/User/User.php index 4ec7b27017..6117f34a0c 100644 --- a/apps/user_ldap/lib/User/User.php +++ b/apps/user_ldap/lib/User/User.php @@ -108,7 +108,6 @@ class User { * DB config keys for user preferences */ public const USER_PREFKEY_FIRSTLOGIN = 'firstLoginAccomplished'; - public const USER_PREFKEY_LASTREFRESH = 'lastFeatureRefresh'; /** * @brief constructor, make sure the subclasses call this one! @@ -150,32 +149,6 @@ class User { \OCP\Util::connectHook('OC_User', 'post_login', $this, 'handlePasswordExpiry'); } - /** - * @brief updates properties like email, quota or avatar provided by LDAP - * @return null - */ - public function update() { - if (is_null($this->dn)) { - return null; - } - - $hasLoggedIn = $this->config->getUserValue($this->uid, 'user_ldap', - self::USER_PREFKEY_FIRSTLOGIN, 0); - - if ($this->needsRefresh()) { - $this->updateEmail(); - $this->updateQuota(); - if ($hasLoggedIn !== 0) { - //we do not need to try it, when the user has not been logged in - //before, because the file system will not be ready. - $this->updateAvatar(); - //in order to get an avatar as soon as possible, mark the user - //as refreshed only when updating the avatar did happen - $this->markRefreshTime(); - } - } - } - /** * marks a user as deleted * @@ -196,7 +169,6 @@ class User { * @param array $ldapEntry the user entry as retrieved from LDAP */ public function processAttributes($ldapEntry) { - $this->markRefreshTime(); //Quota $attr = strtolower($this->connection->ldapQuotaAttribute); if (isset($ldapEntry[$attr])) { @@ -396,31 +368,6 @@ class User { $this->uid, 'user_ldap', self::USER_PREFKEY_FIRSTLOGIN, 1); } - /** - * @brief marks the time when user features like email have been updated - * @return null - */ - public function markRefreshTime() { - $this->config->setUserValue( - $this->uid, 'user_ldap', self::USER_PREFKEY_LASTREFRESH, time()); - } - - /** - * @brief checks whether user features needs to be updated again by - * comparing the difference of time of the last refresh to now with the - * desired interval - * @return bool - */ - private function needsRefresh() { - $lastChecked = $this->config->getUserValue($this->uid, 'user_ldap', - self::USER_PREFKEY_LASTREFRESH, 0); - - if ((time() - (int)$lastChecked) < (int)$this->config->getAppValue('user_ldap', 'updateAttributesInterval', 86400)) { - return false; - } - return true; - } - /** * Stores a key-value pair in relation to this user * diff --git a/apps/user_ldap/tests/User/UserTest.php b/apps/user_ldap/tests/User/UserTest.php index 373f5cc932..786fbb5838 100644 --- a/apps/user_ldap/tests/User/UserTest.php +++ b/apps/user_ldap/tests/User/UserTest.php @@ -824,57 +824,6 @@ class UserTest extends \Test\TestCase { $this->user->updateAvatar(); } - public function testUpdateBeforeFirstLogin() { - $this->config->expects($this->at(0)) - ->method('getUserValue') - ->with($this->equalTo($this->uid), $this->equalTo('user_ldap'), - $this->equalTo(User::USER_PREFKEY_FIRSTLOGIN), - $this->equalTo(0)) - ->willReturn(0); - $this->config->expects($this->at(1)) - ->method('getUserValue') - ->with($this->equalTo($this->uid), $this->equalTo('user_ldap'), - $this->equalTo(User::USER_PREFKEY_LASTREFRESH), - $this->equalTo(0)) - ->willReturn(0); - $this->config->expects($this->exactly(2)) - ->method('getUserValue'); - $this->config->expects($this->never()) - ->method('setUserValue'); - - $this->user->update(); - } - - public function testUpdateAfterFirstLogin() { - $this->config->expects($this->at(0)) - ->method('getUserValue') - ->with($this->equalTo($this->uid), $this->equalTo('user_ldap'), - $this->equalTo(User::USER_PREFKEY_FIRSTLOGIN), - $this->equalTo(0)) - ->willReturn(1); - $this->config->expects($this->at(1)) - ->method('getUserValue') - ->with($this->equalTo($this->uid), $this->equalTo('user_ldap'), - $this->equalTo(User::USER_PREFKEY_LASTREFRESH), - $this->equalTo(0)) - ->willReturn(0); - $this->config->expects($this->exactly(2)) - ->method('getUserValue'); - $this->config->expects($this->once()) - ->method('setUserValue') - ->with($this->equalTo($this->uid), $this->equalTo('user_ldap'), - $this->equalTo(User::USER_PREFKEY_LASTREFRESH), - $this->anything()) - ->willReturn(true); - - $this->connection->expects($this->any()) - ->method('resolveRule') - ->with('avatar') - ->willReturn(['jpegphoto', 'thumbnailphoto']); - - $this->user->update(); - } - public function extStorageHomeDataProvider() { return [ [ 'myFolder', null ], @@ -918,33 +867,6 @@ class UserTest extends \Test\TestCase { $this->assertSame($expected, $actual); } - public function testUpdateNoRefresh() { - $this->config->expects($this->at(0)) - ->method('getUserValue') - ->with($this->equalTo($this->uid), $this->equalTo('user_ldap'), - $this->equalTo(User::USER_PREFKEY_FIRSTLOGIN), - $this->equalTo(0)) - ->willReturn(1); - $this->config->expects($this->at(1)) - ->method('getUserValue') - ->with($this->equalTo($this->uid), $this->equalTo('user_ldap'), - $this->equalTo(User::USER_PREFKEY_LASTREFRESH), - $this->equalTo(0)) - ->willReturn(time() - 10); - $this->config->expects($this->once()) - ->method('getAppValue') - ->with($this->equalTo('user_ldap'), - $this->equalTo('updateAttributesInterval'), - $this->anything()) - ->willReturn(1800); - $this->config->expects($this->exactly(2)) - ->method('getUserValue'); - $this->config->expects($this->never()) - ->method('setUserValue'); - - $this->user->update(); - } - public function testMarkLogin() { $this->config->expects($this->once()) ->method('setUserValue') @@ -997,7 +919,6 @@ class UserTest extends \Test\TestCase { public function testProcessAttributes() { $requiredMethods = [ - 'markRefreshTime', 'updateQuota', 'updateEmail', 'composeAndStoreDisplayName',