Browse Source

Use the new function in user:setting occ command

 instead of direct database queries

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
tags/v24.0.0beta1
Côme Chilliet 2 years ago
parent
commit
b0e6a10263
No account linked to committer's email address
2 changed files with 8 additions and 22 deletions
  1. 7
    21
      core/Command/User/Setting.php
  2. 1
    1
      core/register_command.php

+ 7
- 21
core/Command/User/Setting.php View File

@@ -27,7 +27,6 @@ namespace OC\Core\Command\User;

use OC\Core\Command\Base;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IUser;
use OCP\IUserManager;
use Symfony\Component\Console\Input\InputArgument;
@@ -42,19 +41,14 @@ class Setting extends Base {
/** @var IConfig */
protected $config;

/** @var IDBConnection */
protected $connection;

/**
* @param IUserManager $userManager
* @param IConfig $config
* @param IDBConnection $connection
*/
public function __construct(IUserManager $userManager, IConfig $config, IDBConnection $connection) {
public function __construct(IUserManager $userManager, IConfig $config) {
parent::__construct();
$this->userManager = $userManager;
$this->config = $config;
$this->connection = $connection;
}

protected function configure() {
@@ -247,26 +241,18 @@ class Setting extends Base {
}

protected function getUserSettings($uid, $app) {
$query = $this->connection->getQueryBuilder();
$query->select('*')
->from('preferences')
->where($query->expr()->eq('userid', $query->createNamedParameter($uid)));

$settings = $this->config->getAllUserValues($uid);
if ($app !== '') {
$query->andWhere($query->expr()->eq('appid', $query->createNamedParameter($app)));
}

$result = $query->execute();
$settings = [];
while ($row = $result->fetch()) {
$settings[$row['appid']][$row['configkey']] = $row['configvalue'];
if (isset($settings[$app])) {
$settings = [$app => $settings[$app]];
} else {
$settings = [];
}
}

$user = $this->userManager->get($uid);
$settings['settings']['display_name'] = $user->getDisplayName();

$result->closeCursor();

return $settings;
}
}

+ 1
- 1
core/register_command.php View File

@@ -184,7 +184,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
$application->add(new OC\Core\Command\User\LastSeen(\OC::$server->getUserManager()));
$application->add(\OC::$server->get(\OC\Core\Command\User\Report::class));
$application->add(new OC\Core\Command\User\ResetPassword(\OC::$server->getUserManager()));
$application->add(new OC\Core\Command\User\Setting(\OC::$server->getUserManager(), \OC::$server->getConfig(), \OC::$server->getDatabaseConnection()));
$application->add(new OC\Core\Command\User\Setting(\OC::$server->getUserManager(), \OC::$server->getConfig()));
$application->add(new OC\Core\Command\User\ListCommand(\OC::$server->getUserManager(), \OC::$server->getGroupManager()));
$application->add(new OC\Core\Command\User\Info(\OC::$server->getUserManager(), \OC::$server->getGroupManager()));
$application->add(new OC\Core\Command\User\AddAppPassword(\OC::$server->get(\OCP\IUserManager::class), \OC::$server->get(\OC\Authentication\Token\IProvider::class), \OC::$server->get(\OCP\Security\ISecureRandom::class), \OC::$server->get(\OCP\Security\ICrypto::class)));

Loading…
Cancel
Save