Skip to content
Snippets Groups Projects
Commit c55a737b authored by Lukas Reschke's avatar Lukas Reschke Committed by GitHub
Browse files

Merge pull request #1734 from nextcloud/setvalue_opt

AllConfig setUserValue opt
parents 0923d266 6c5f7d58
No related branches found
No related tags found
No related merge requests found
......@@ -343,6 +343,10 @@ class MigrationTest extends \Test\TestCase {
unset($cache['files_encryption']);
$this->invokePrivate(\OC::$server->getAppConfig(), 'cache', [$cache]);
$cache = $this->invokePrivate($config, 'userCache');
unset($cache[self::TEST_ENCRYPTION_MIGRATION_USER1]);
$this->invokePrivate(\OC::$server->getAppConfig(), 'userCache', [$cache]);
// delete default values set by the encryption app during initialization
/** @var \OCP\IDBConnection $connection */
......
......@@ -215,6 +215,25 @@ class AllConfig implements \OCP\IConfig {
// TODO - FIXME
$this->fixDIInit();
if (isset($this->userCache[$userId][$appName][$key])) {
if ($this->userCache[$userId][$appName][$key] === (string)$value) {
return;
} else if ($preCondition !== null && $this->userCache[$userId][$appName][$key] !== (string)$preCondition) {
return;
} else {
$qb = $this->connection->getQueryBuilder();
$qb->update('preferences')
->set('configvalue', $qb->createNamedParameter($value))
->where($qb->expr()->eq('userid', $qb->createNamedParameter($userId)))
->andWhere($qb->expr()->eq('appid', $qb->createNamedParameter($appName)))
->andWhere($qb->expr()->eq('configkey', $qb->createNamedParameter($key)));
$qb->execute();
$this->userCache[$userId][$appName][$key] = $value;
return;
}
}
$preconditionArray = [];
if (isset($preCondition)) {
$preconditionArray = [
......
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