these code bits were part of old logic that was already refactored out
- only references were in unit tests Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
parent
55bad53353
commit
303bac6c75
|
@ -108,7 +108,6 @@ class User {
|
||||||
* DB config keys for user preferences
|
* DB config keys for user preferences
|
||||||
*/
|
*/
|
||||||
public const USER_PREFKEY_FIRSTLOGIN = 'firstLoginAccomplished';
|
public const USER_PREFKEY_FIRSTLOGIN = 'firstLoginAccomplished';
|
||||||
public const USER_PREFKEY_LASTREFRESH = 'lastFeatureRefresh';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief constructor, make sure the subclasses call this one!
|
* @brief constructor, make sure the subclasses call this one!
|
||||||
|
@ -150,32 +149,6 @@ class User {
|
||||||
\OCP\Util::connectHook('OC_User', 'post_login', $this, 'handlePasswordExpiry');
|
\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
|
* marks a user as deleted
|
||||||
*
|
*
|
||||||
|
@ -196,7 +169,6 @@ class User {
|
||||||
* @param array $ldapEntry the user entry as retrieved from LDAP
|
* @param array $ldapEntry the user entry as retrieved from LDAP
|
||||||
*/
|
*/
|
||||||
public function processAttributes($ldapEntry) {
|
public function processAttributes($ldapEntry) {
|
||||||
$this->markRefreshTime();
|
|
||||||
//Quota
|
//Quota
|
||||||
$attr = strtolower($this->connection->ldapQuotaAttribute);
|
$attr = strtolower($this->connection->ldapQuotaAttribute);
|
||||||
if (isset($ldapEntry[$attr])) {
|
if (isset($ldapEntry[$attr])) {
|
||||||
|
@ -396,31 +368,6 @@ class User {
|
||||||
$this->uid, 'user_ldap', self::USER_PREFKEY_FIRSTLOGIN, 1);
|
$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
|
* Stores a key-value pair in relation to this user
|
||||||
*
|
*
|
||||||
|
|
|
@ -824,57 +824,6 @@ class UserTest extends \Test\TestCase {
|
||||||
$this->user->updateAvatar();
|
$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() {
|
public function extStorageHomeDataProvider() {
|
||||||
return [
|
return [
|
||||||
[ 'myFolder', null ],
|
[ 'myFolder', null ],
|
||||||
|
@ -918,33 +867,6 @@ class UserTest extends \Test\TestCase {
|
||||||
$this->assertSame($expected, $actual);
|
$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() {
|
public function testMarkLogin() {
|
||||||
$this->config->expects($this->once())
|
$this->config->expects($this->once())
|
||||||
->method('setUserValue')
|
->method('setUserValue')
|
||||||
|
@ -997,7 +919,6 @@ class UserTest extends \Test\TestCase {
|
||||||
|
|
||||||
public function testProcessAttributes() {
|
public function testProcessAttributes() {
|
||||||
$requiredMethods = [
|
$requiredMethods = [
|
||||||
'markRefreshTime',
|
|
||||||
'updateQuota',
|
'updateQuota',
|
||||||
'updateEmail',
|
'updateEmail',
|
||||||
'composeAndStoreDisplayName',
|
'composeAndStoreDisplayName',
|
||||||
|
|
Loading…
Reference in New Issue