use OC\BackgroundJob\QueuedJob;
use OCP\IConfig;
-use OCP\ILogger;
+use Psr\Log\LoggerInterface;
class BackgroundCleanupUpdaterBackupsJob extends QueuedJob {
+ protected IConfig $config;
+ protected LoggerInterface $log;
- /** @var IConfig */
- protected $config;
- /** @var ILogger */
- protected $log;
-
- public function __construct(IConfig $config, ILogger $log) {
+ public function __construct(IConfig $config, LoggerInterface $log) {
$this->config = $config;
$this->log = $log;
}
/**
* This job cleans up all backups except the latest 3 from the updaters backup directory
- *
*/
public function run($arguments) {
$dataDir = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data');
use OCP\IUserManager;
class CheckForUserCertificates extends QueuedJob {
-
- /** @var IConfig */
- protected $config;
- /** @var IUserManager */
- private $userManager;
- /** @var IRootFolder */
- private $rootFolder;
+ protected IConfig $config;
+ private IUserManager $userManager;
+ private IRootFolder $rootFolder;
public function __construct(IConfig $config, IUserManager $userManager, IRootFolder $rootFolder) {
$this->config = $config;
use OCP\BackgroundJob\TimedJob;
class CleanupLoginFlowV2 extends TimedJob {
-
- /** @var LoginFlowV2Mapper */
- private $loginFlowV2Mapper;
+ private LoginFlowV2Mapper $loginFlowV2Mapper;
public function __construct(ITimeFactory $time, LoginFlowV2Mapper $loginFlowV2Mapper) {
parent::__construct($time);
use OCP\IUserManager;
class LookupServerSendCheckBackgroundJob extends QueuedJob {
-
- /** @var IConfig */
- protected $config;
- /** @var IUserManager */
- private $userManager;
+ protected IConfig $config;
+ private IUserManager $userManager;
public function __construct(IConfig $config, IUserManager $userManager) {
$this->config = $config;
use Symfony\Component\Console\Output\OutputInterface;
class Disable extends Command implements CompletionAwareInterface {
+ protected IAppManager $appManager;
+ protected int $exitCode = 0;
- /** @var IAppManager */
- protected $appManager;
-
- /** @var int */
- protected $exitCode = 0;
-
- /**
- * @param IAppManager $appManager
- */
public function __construct(IAppManager $appManager) {
parent::__construct();
$this->appManager = $appManager;
use Symfony\Component\Console\Output\OutputInterface;
class Enable extends Command implements CompletionAwareInterface {
+ protected IAppManager $appManager;
+ protected IGroupManager $groupManager;
+ protected int $exitCode = 0;
- /** @var IAppManager */
- protected $appManager;
-
- /** @var IGroupManager */
- protected $groupManager;
-
- /** @var int */
- protected $exitCode = 0;
-
- /**
- * @param IAppManager $appManager
- * @param IGroupManager $groupManager
- */
public function __construct(IAppManager $appManager, IGroupManager $groupManager) {
parent::__construct();
$this->appManager = $appManager;
use Symfony\Component\Console\Output\OutputInterface;
class ListApps extends Base {
+ protected IAppManager $manager;
- /** @var IAppManager */
- protected $manager;
-
- /**
- * @param IAppManager $manager
- */
public function __construct(IAppManager $manager) {
parent::__construct();
$this->manager = $manager;
use OC\Installer;
use OCP\App\IAppManager;
-use OCP\ILogger;
+use Psr\Log\LoggerInterface;
use Stecman\Component\Symfony\Console\BashCompletion\Completion\CompletionAwareInterface;
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext;
use Symfony\Component\Console\Command\Command;
use Throwable;
class Remove extends Command implements CompletionAwareInterface {
+ protected IAppManager $manager;
+ private Installer $installer;
+ private LoggerInterface $logger;
- /** @var IAppManager */
- protected $manager;
- /** @var Installer */
- private $installer;
- /** @var ILogger */
- private $logger;
-
- /**
- * @param IAppManager $manager
- * @param Installer $installer
- * @param ILogger $logger
- */
- public function __construct(IAppManager $manager, Installer $installer, ILogger $logger) {
+ public function __construct(IAppManager $manager, Installer $installer, LoggerInterface $logger) {
parent::__construct();
$this->manager = $manager;
$this->installer = $installer;
$output->writeln($appId . ' disabled');
} catch (Throwable $e) {
$output->writeln('<error>Error: ' . $e->getMessage() . '</error>');
- $this->logger->logException($e, [
+ $this->logger->error($e->getMessage(), [
'app' => 'CLI',
- 'level' => ILogger::ERROR
+ 'exception' => $e,
]);
return 1;
}
$result = $this->installer->removeApp($appId);
} catch (Throwable $e) {
$output->writeln('<error>Error: ' . $e->getMessage() . '</error>');
- $this->logger->logException($e, [
+ $this->logger->error($e->getMessage(), [
'app' => 'CLI',
- 'level' => ILogger::ERROR
+ 'exception' => $e,
]);
return 1;
}
use OC\Installer;
use OCP\App\IAppManager;
-use OCP\ILogger;
+use Psr\Log\LoggerInterface;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class Update extends Command {
+ protected IAppManager $manager;
+ private Installer $installer;
+ private LoggerInterface $logger;
- /** @var IAppManager */
- protected $manager;
- /** @var Installer */
- private $installer;
- /** @var ILogger */
- private $logger;
-
- /**
- * @param IAppManager $manager
- * @param Installer $installer
- */
- public function __construct(IAppManager $manager, Installer $installer, ILogger $logger) {
+ public function __construct(IAppManager $manager, Installer $installer, LoggerInterface $logger) {
parent::__construct();
$this->manager = $manager;
$this->installer = $installer;
try {
$result = $this->installer->updateAppstoreApp($appId, $input->getOption('allow-unstable'));
} catch (\Exception $e) {
- $this->logger->logException($e, ['message' => 'Failure during update of app "' . $appId . '"','app' => 'app:update']);
+ $this->logger->error('Failure during update of app "' . $appId . '"', [
+ 'app' => 'app:update',
+ 'exception' => $e,
+ ]);
$output->writeln('Error: ' . $e->getMessage());
$return = 1;
}
*/
abstract class Base extends Command {
abstract protected function getMode();
+ protected IConfig $config;
- /**
- * @var \OCP\IConfig
- */
- protected $config;
-
- /**
- * @param \OCP\IConfig $config
- */
public function __construct(IConfig $config) {
parent::__construct();
$this->config = $config;
use Symfony\Component\Console\Output\OutputInterface;
class Job extends Command {
- /** @var IJobList */
- protected $jobList;
- /** @var ILogger */
- protected $logger;
+ protected IJobList $jobList;
+ protected ILogger $logger;
public function __construct(IJobList $jobList,
ILogger $logger) {
public const OUTPUT_FORMAT_JSON = 'json';
public const OUTPUT_FORMAT_JSON_PRETTY = 'json_pretty';
- protected $defaultOutputFormat = self::OUTPUT_FORMAT_PLAIN;
-
- /** @var boolean */
- private $php_pcntl_signal = false;
-
- /** @var boolean */
- private $interrupted = false;
+ protected string $defaultOutputFormat = self::OUTPUT_FORMAT_PLAIN;
+ private bool $php_pcntl_signal = false;
+ private bool $interrupted = false;
protected function configure() {
$this
;
}
- /**
- * @param InputInterface $input
- * @param OutputInterface $output
- * @param array $items
- * @param string $prefix
- */
- protected function writeArrayInOutputFormat(InputInterface $input, OutputInterface $output, $items, $prefix = ' - ') {
+ protected function writeArrayInOutputFormat(InputInterface $input, OutputInterface $output, array $items, string $prefix = ' - ') {
switch ($input->getOption('output')) {
case self::OUTPUT_FORMAT_JSON:
$output->writeln(json_encode($items));
}
/**
- * @param InputInterface $input
- * @param OutputInterface $output
* @param mixed $item
*/
protected function writeMixedInOutputFormat(InputInterface $input, OutputInterface $output, $item) {
}
}
- protected function valueToString($value, $returnNull = true) {
+ protected function valueToString($value, bool $returnNull = true): ?string {
if ($value === false) {
return 'false';
} elseif ($value === true) {
use Symfony\Component\Console\Output\OutputInterface;
class Test extends Command {
-
- /** @var IEventDispatcher */
- private $eventDispatcher;
+ private IEventDispatcher $eventDispatcher;
public function __construct(IEventDispatcher $eventDispatcher) {
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class Check extends Base {
- /**
- * @var SystemConfig
- */
- private $config;
+ private SystemConfig $config;
public function __construct(SystemConfig $config) {
parent::__construct();
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext;
abstract class Base extends \OC\Core\Command\Base {
-
- /** * @var IConfig */
- protected $config;
+ protected IConfig $config;
/**
* @param string $argumentName
use Symfony\Component\Console\Output\OutputInterface;
class DeleteConfig extends Base {
- /** * @var IConfig */
- protected $config;
+ protected IConfig $config;
/**
* @param IConfig $config
use Symfony\Component\Console\Output\OutputInterface;
class GetConfig extends Base {
- /** * @var IConfig */
- protected $config;
+ protected IConfig $config;
- /**
- * @param IConfig $config
- */
public function __construct(IConfig $config) {
parent::__construct();
$this->config = $config;
use Symfony\Component\Console\Output\OutputInterface;
class SetConfig extends Base {
- /** * @var IConfig */
- protected $config;
+ protected IConfig $config;
- /**
- * @param IConfig $config
- */
public function __construct(IConfig $config) {
parent::__construct();
$this->config = $config;
use Symfony\Component\Console\Output\OutputInterface;
class Import extends Command implements CompletionAwareInterface {
- protected $validRootKeys = ['system', 'apps'];
+ protected array $validRootKeys = ['system', 'apps'];
+ protected IConfig $config;
- /** @var IConfig */
- protected $config;
-
- /**
- * @param IConfig $config
- */
public function __construct(IConfig $config) {
parent::__construct();
$this->config = $config;
use Symfony\Component\Console\Output\OutputInterface;
class ListConfigs extends Base {
- protected $defaultOutputFormat = self::OUTPUT_FORMAT_JSON_PRETTY;
+ protected string $defaultOutputFormat = self::OUTPUT_FORMAT_JSON_PRETTY;
+ protected SystemConfig $systemConfig;
+ protected IAppConfig $appConfig;
- /** * @var SystemConfig */
- protected $systemConfig;
-
- /** @var IAppConfig */
- protected $appConfig;
-
- /**
- * @param SystemConfig $systemConfig
- * @param IAppConfig $appConfig
- */
public function __construct(SystemConfig $systemConfig, IAppConfig $appConfig) {
parent::__construct();
$this->systemConfig = $systemConfig;
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext;
abstract class Base extends \OC\Core\Command\Base {
+ protected SystemConfig $systemConfig;
- /** @var SystemConfig */
- protected $systemConfig;
+ public function __construct(SystemConfig $systemConfig) {
+ parent::__construct();
+ $this->systemConfig = $systemConfig;
+ }
/**
* @param string $argumentName
use Symfony\Component\Console\Output\OutputInterface;
class DeleteConfig extends Base {
- /** * @var SystemConfig */
- protected $systemConfig;
-
- /**
- * @param SystemConfig $systemConfig
- */
public function __construct(SystemConfig $systemConfig) {
- parent::__construct();
- $this->systemConfig = $systemConfig;
+ parent::__construct($systemConfig);
}
protected function configure() {
use Symfony\Component\Console\Output\OutputInterface;
class GetConfig extends Base {
- /** * @var SystemConfig */
- protected $systemConfig;
-
- /**
- * @param SystemConfig $systemConfig
- */
public function __construct(SystemConfig $systemConfig) {
- parent::__construct();
- $this->systemConfig = $systemConfig;
+ parent::__construct($systemConfig);
}
protected function configure() {
use Symfony\Component\Console\Output\OutputInterface;
class SetConfig extends Base {
- /** * @var SystemConfig */
- protected $systemConfig;
-
- /**
- * @param SystemConfig $systemConfig
- */
public function __construct(SystemConfig $systemConfig) {
- parent::__construct();
- $this->systemConfig = $systemConfig;
+ parent::__construct($systemConfig);
}
protected function configure() {
* @package OC\Core\Command\Db
*/
class AddMissingColumns extends Command {
-
- /** @var Connection */
- private $connection;
-
- /** @var EventDispatcherInterface */
- private $dispatcher;
+ private Connection $connection;
+ private EventDispatcherInterface $dispatcher;
public function __construct(Connection $connection, EventDispatcherInterface $dispatcher) {
parent::__construct();
* @package OC\Core\Command\Db
*/
class AddMissingIndices extends Command {
-
- /** @var Connection */
- private $connection;
-
- /** @var EventDispatcherInterface */
- private $dispatcher;
+ private Connection $connection;
+ private EventDispatcherInterface $dispatcher;
public function __construct(Connection $connection, EventDispatcherInterface $dispatcher) {
parent::__construct();
* @package OC\Core\Command\Db
*/
class AddMissingPrimaryKeys extends Command {
-
- /** @var Connection */
- private $connection;
-
- /** @var EventDispatcherInterface */
- private $dispatcher;
+ private Connection $connection;
+ private EventDispatcherInterface $dispatcher;
public function __construct(Connection $connection, EventDispatcherInterface $dispatcher) {
parent::__construct();
use Symfony\Component\Console\Question\ConfirmationQuestion;
class ConvertFilecacheBigInt extends Command {
+ private Connection $connection;
- /** @var Connection */
- private $connection;
-
- /**
- * @param Connection $connection
- */
public function __construct(Connection $connection) {
$this->connection = $connection;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class ConvertMysqlToMB4 extends Command {
- /** @var IConfig */
- private $config;
-
- /** @var IDBConnection */
- private $connection;
-
- /** @var IURLGenerator */
- private $urlGenerator;
-
+ private IConfig $config;
+ private IDBConnection $connection;
+ private IURLGenerator $urlGenerator;
private LoggerInterface $logger;
public function __construct(
use function preg_quote;
class ConvertType extends Command implements CompletionAwareInterface {
- /**
- * @var \OCP\IConfig
- */
- protected $config;
-
- /**
- * @var \OC\DB\ConnectionFactory
- */
- protected $connectionFactory;
-
- /** @var array */
- protected $columnTypes;
+ protected IConfig $config;
+ protected ConnectionFactory $connectionFactory;
+ protected array $columnTypes;
- /**
- * @param \OCP\IConfig $config
- * @param \OC\DB\ConnectionFactory $connectionFactory
- */
public function __construct(IConfig $config, ConnectionFactory $connectionFactory) {
$this->config = $config;
$this->connectionFactory = $connectionFactory;
use Symfony\Component\Console\Output\OutputInterface;
class ExecuteCommand extends Command implements CompletionAwareInterface {
+ private Connection $connection;
+ private IConfig $config;
- /** @var Connection */
- private $connection;
-
- /** @var IConfig */
- private $config;
-
- /**
- * ExecuteCommand constructor.
- *
- * @param Connection $connection
- * @param IConfig $config
- */
public function __construct(Connection $connection, IConfig $config) {
$this->connection = $connection;
$this->config = $config;
}
';
- /** @var Connection */
- protected $connection;
+ protected Connection $connection;
+ protected IAppManager $appManager;
- /** @var IAppManager */
- protected $appManager;
-
- /**
- * @param Connection $connection
- * @param IAppManager $appManager
- */
public function __construct(Connection $connection, IAppManager $appManager) {
$this->connection = $connection;
$this->appManager = $appManager;
use Symfony\Component\Console\Output\OutputInterface;
class MigrateCommand extends Command implements CompletionAwareInterface {
+ private Connection $connection;
- /** @var Connection */
- private $connection;
-
- /**
- * @param Connection $connection
- */
public function __construct(Connection $connection) {
$this->connection = $connection;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class StatusCommand extends Command implements CompletionAwareInterface {
-
- /** @var Connection */
- private $connection;
+ private Connection $connection;
public function __construct(Connection $connection) {
$this->connection = $connection;
use Symfony\Component\Console\Question\ConfirmationQuestion;
class ChangeKeyStorageRoot extends Command {
+ protected View $rootView;
+ protected IUserManager $userManager;
+ protected IConfig $config;
+ protected Util $util;
+ protected QuestionHelper $questionHelper;
- /** @var View */
- protected $rootView;
-
- /** @var IUserManager */
- protected $userManager;
-
- /** @var IConfig */
- protected $config;
-
- /** @var Util */
- protected $util;
-
- /** @var QuestionHelper */
- protected $questionHelper;
-
- /**
- * @param View $view
- * @param IUserManager $userManager
- * @param IConfig $config
- * @param Util $util
- * @param QuestionHelper $questionHelper
- */
public function __construct(View $view, IUserManager $userManager, IConfig $config, Util $util, QuestionHelper $questionHelper) {
parent::__construct();
$this->rootView = $view;
use Symfony\Component\Console\Question\ConfirmationQuestion;
class DecryptAll extends Command {
+ protected IManager $encryptionManager;
+ protected IAppManager $appManager;
+ protected IConfig $config;
+ protected QuestionHelper $questionHelper;
+ protected bool $wasTrashbinEnabled;
+ protected bool $wasMaintenanceModeEnabled;
+ protected \OC\Encryption\DecryptAll $decryptAll;
- /** @var IManager */
- protected $encryptionManager;
-
- /** @var IAppManager */
- protected $appManager;
-
- /** @var IConfig */
- protected $config;
-
- /** @var QuestionHelper */
- protected $questionHelper;
-
- /** @var bool */
- protected $wasTrashbinEnabled;
-
- /** @var bool */
- protected $wasMaintenanceModeEnabled;
-
- /** @var \OC\Encryption\DecryptAll */
- protected $decryptAll;
-
- /**
- * @param IManager $encryptionManager
- * @param IAppManager $appManager
- * @param IConfig $config
- * @param \OC\Encryption\DecryptAll $decryptAll
- * @param QuestionHelper $questionHelper
- */
public function __construct(
IManager $encryptionManager,
IAppManager $appManager,
/**
* Set maintenance mode and disable the trashbin app
*/
- protected function forceMaintenanceAndTrashbin() {
+ protected function forceMaintenanceAndTrashbin(): void {
$this->wasTrashbinEnabled = $this->appManager->isEnabledForUser('files_trashbin');
$this->wasMaintenanceModeEnabled = $this->config->getSystemValueBool('maintenance');
$this->config->setSystemValue('maintenance', true);
/**
* Reset the maintenance mode and re-enable the trashbin app
*/
- protected function resetMaintenanceAndTrashbin() {
+ protected function resetMaintenanceAndTrashbin(): void {
$this->config->setSystemValue('maintenance', $this->wasMaintenanceModeEnabled);
if ($this->wasTrashbinEnabled) {
$this->appManager->enableApp('files_trashbin');
}
$this->resetMaintenanceAndTrashbin();
return 0;
- } else {
- $output->write('Enable server side encryption... ');
- $this->config->setAppValue('core', 'encryption_enabled', 'yes');
- $output->writeln('done.');
- $output->writeln('aborted');
- return 1;
}
+ $output->write('Enable server side encryption... ');
+ $this->config->setAppValue('core', 'encryption_enabled', 'yes');
+ $output->writeln('done.');
+ $output->writeln('aborted');
+ return 1;
} catch (\Exception $e) {
// enable server side encryption again if something went wrong
$this->config->setAppValue('core', 'encryption_enabled', 'yes');
use Symfony\Component\Console\Output\OutputInterface;
class Disable extends Command {
- /** @var IConfig */
- protected $config;
+ protected IConfig $config;
- /**
- * @param IConfig $config
- */
public function __construct(IConfig $config) {
parent::__construct();
$this->config = $config;
use Symfony\Component\Console\Output\OutputInterface;
class Enable extends Command {
- /** @var IConfig */
- protected $config;
+ protected IConfig $config;
+ protected IManager $encryptionManager;
- /** @var IManager */
- protected $encryptionManager;
-
- /**
- * @param IConfig $config
- * @param IManager $encryptionManager
- */
public function __construct(IConfig $config, IManager $encryptionManager) {
parent::__construct();
use Symfony\Component\Console\Question\ConfirmationQuestion;
class EncryptAll extends Command {
+ protected IManager $encryptionManager;
+ protected IAppManager $appManager;
+ protected IConfig $config;
+ protected QuestionHelper $questionHelper;
+ protected bool $wasTrashbinEnabled = false;
+ protected bool $wasMaintenanceModeEnabled;
- /** @var IManager */
- protected $encryptionManager;
-
- /** @var IAppManager */
- protected $appManager;
-
- /** @var IConfig */
- protected $config;
-
- /** @var QuestionHelper */
- protected $questionHelper;
-
- /** @var bool */
- protected $wasTrashbinEnabled;
-
- /** @var bool */
- protected $wasMaintenanceModeEnabled;
-
- /**
- * @param IManager $encryptionManager
- * @param IAppManager $appManager
- * @param IConfig $config
- * @param QuestionHelper $questionHelper
- */
public function __construct(
IManager $encryptionManager,
IAppManager $appManager,
/**
* Set maintenance mode and disable the trashbin app
*/
- protected function forceMaintenanceAndTrashbin() {
- $this->wasTrashbinEnabled = $this->appManager->isEnabledForUser('files_trashbin');
+ protected function forceMaintenanceAndTrashbin(): void {
+ $this->wasTrashbinEnabled = (bool)$this->appManager->isEnabledForUser('files_trashbin');
$this->wasMaintenanceModeEnabled = $this->config->getSystemValueBool('maintenance');
$this->config->setSystemValue('maintenance', true);
$this->appManager->disableApp('files_trashbin');
/**
* Reset the maintenance mode and re-enable the trashbin app
*/
- protected function resetMaintenanceAndTrashbin() {
+ protected function resetMaintenanceAndTrashbin(): void {
$this->config->setSystemValue('maintenance', $this->wasMaintenanceModeEnabled);
if ($this->wasTrashbinEnabled) {
$this->appManager->enableApp('files_trashbin');
}
$this->resetMaintenanceAndTrashbin();
- } else {
- $output->writeln('aborted');
- return 1;
+ return 0;
}
- return 0;
+ $output->writeln('aborted');
+ return 1;
}
}
use Symfony\Component\Console\Output\OutputInterface;
class ListModules extends Base {
- /** @var IManager */
- protected $encryptionManager;
+ protected IManager $encryptionManager;
+ protected IConfig $config;
- /** @var IConfig */
- protected $config;
-
- /**
- * @param IManager $encryptionManager
- * @param IConfig $config
- */
public function __construct(
IManager $encryptionManager,
IConfig $config
use Symfony\Component\Console\Output\OutputInterface;
class MigrateKeyStorage extends Command {
-
- /** @var View */
- protected $rootView;
-
- /** @var IUserManager */
- protected $userManager;
-
- /** @var IConfig */
- protected $config;
-
- /** @var Util */
- protected $util;
-
- /** @var QuestionHelper */
- protected $questionHelper;
- /**
- * @var ICrypto
- */
- private $crypto;
+ protected View $rootView;
+ protected IUserManager $userManager;
+ protected IConfig $config;
+ protected Util $util;
+ protected QuestionHelper $questionHelper;
+ private ICrypto $crypto;
public function __construct(View $view, IUserManager $userManager, IConfig $config, Util $util, ICrypto $crypto) {
parent::__construct();
}
/**
- * move keys to new key storage root
+ * Move keys to new key storage root
*
* @param string $root
* @param OutputInterface $output
* @return bool
* @throws \Exception
*/
- protected function updateKeys(string $root, OutputInterface $output) {
+ protected function updateKeys(string $root, OutputInterface $output): bool {
$output->writeln("Start to update the keys:");
$this->updateSystemKeys($root);
}
/**
- * move system key folder
- *
- * @param string $root
+ * Move system key folder
*/
- protected function updateSystemKeys($root) {
+ protected function updateSystemKeys(string $root): void {
if (!$this->rootView->is_dir($root . '/files_encryption')) {
return;
}
foreach ($listing as $node) {
if ($node['mimetype'] === 'httpd/unix-directory') {
- //ignore
- } else {
- $endsWith = function ($haystack, $needle) {
- $length = strlen($needle);
- if ($length === 0) {
- return true;
- }
+ continue;
+ }
- return (substr($haystack, -$length) === $needle);
- };
+ if ($node['name'] === 'fileKey' ||
+ str_ends_with($node['name'], '.privateKey') ||
+ str_ends_with($node['name'], '.publicKey') ||
+ str_ends_with($node['name'], '.shareKey')) {
+ $path = $folder . '/' . $node['name'];
- if ($node['name'] === 'fileKey' ||
- $endsWith($node['name'], '.privateKey') ||
- $endsWith($node['name'], '.publicKey') ||
- $endsWith($node['name'], '.shareKey')) {
- $path = $folder . '/' . $node['name'];
+ $content = $this->rootView->file_get_contents($path);
- $content = $this->rootView->file_get_contents($path);
-
- try {
- $this->crypto->decrypt($content);
- continue;
- } catch (\Exception $e) {
- // Ignore we now update the data.
- }
+ try {
+ $this->crypto->decrypt($content);
+ continue;
+ } catch (\Exception $e) {
+ // Ignore we now update the data.
+ }
- $data = [
- 'key' => base64_encode($content),
- 'uid' => $uid,
- ];
+ $data = [
+ 'key' => base64_encode($content),
+ 'uid' => $uid,
+ ];
- $enc = $this->crypto->encrypt(json_encode($data));
- $this->rootView->file_put_contents($path, $enc);
- }
+ $enc = $this->crypto->encrypt(json_encode($data));
+ $this->rootView->file_put_contents($path, $enc);
}
}
}
use Symfony\Component\Console\Output\OutputInterface;
class SetDefaultModule extends Command {
- /** @var IManager */
- protected $encryptionManager;
+ protected IManager $encryptionManager;
+ protected IConfig $config;
- /** @var IConfig */
- protected $config;
-
- /**
- * @param IManager $encryptionManager
- * @param IConfig $config
- */
public function __construct(
IManager $encryptionManager,
IConfig $config
use Symfony\Component\Console\Output\OutputInterface;
class ShowKeyStorageRoot extends Command {
+ protected Util $util;
- /** @var Util */
- protected $util;
-
- /**
- * @param Util $util
- */
public function __construct(Util $util) {
parent::__construct();
$this->util = $util;
use Symfony\Component\Console\Output\OutputInterface;
class Status extends Base {
- /** @var IManager */
- protected $encryptionManager;
+ protected IManager $encryptionManager;
- /**
- * @param IManager $encryptionManager
- */
public function __construct(IManager $encryptionManager) {
parent::__construct();
$this->encryptionManager = $encryptionManager;
use Symfony\Component\Console\Output\OutputInterface;
class Add extends Base {
- /** @var IGroupManager */
- protected $groupManager;
+ protected IGroupManager $groupManager;
- /**
- * @param IGroupManager $groupManager
- */
public function __construct(IGroupManager $groupManager) {
$this->groupManager = $groupManager;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class AddUser extends Base {
- /** @var IUserManager */
- protected $userManager;
- /** @var IGroupManager */
- protected $groupManager;
+ protected IUserManager $userManager;
+ protected IGroupManager $groupManager;
- /**
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- */
public function __construct(IUserManager $userManager, IGroupManager $groupManager) {
$this->userManager = $userManager;
$this->groupManager = $groupManager;
use Symfony\Component\Console\Output\OutputInterface;
class Delete extends Base {
- /** @var IGroupManager */
- protected $groupManager;
+ protected IGroupManager $groupManager;
- /**
- * @param IGroupManager $groupManager
- */
public function __construct(IGroupManager $groupManager) {
$this->groupManager = $groupManager;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class Info extends Base {
- /** @var IGroupManager */
- protected $groupManager;
+ protected IGroupManager $groupManager;
- /**
- * @param IGroupManager $groupManager
- */
public function __construct(IGroupManager $groupManager) {
$this->groupManager = $groupManager;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class ListCommand extends Base {
- /** @var IGroupManager */
- protected $groupManager;
+ protected IGroupManager $groupManager;
- /**
- * @param IGroupManager $groupManager
- */
public function __construct(IGroupManager $groupManager) {
$this->groupManager = $groupManager;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class RemoveUser extends Base {
- /** @var IUserManager */
- protected $userManager;
- /** @var IGroupManager */
- protected $groupManager;
+ protected IUserManager $userManager;
+ protected IGroupManager $groupManager;
- /**
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- */
public function __construct(IUserManager $userManager, IGroupManager $groupManager) {
$this->userManager = $userManager;
$this->groupManager = $groupManager;
* @package OC\Core\Command\Integrity
*/
class CheckApp extends Base {
-
- /**
- * @var Checker
- */
- private $checker;
+ private Checker $checker;
public function __construct(Checker $checker) {
parent::__construct();
* @package OC\Core\Command\Integrity
*/
class CheckCore extends Base {
- /**
- * @var Checker
- */
- private $checker;
+ private Checker $checker;
public function __construct(Checker $checker) {
parent::__construct();
* @package OC\Core\Command\Integrity
*/
class SignApp extends Command {
- /** @var Checker */
- private $checker;
- /** @var FileAccessHelper */
- private $fileAccessHelper;
- /** @var IURLGenerator */
- private $urlGenerator;
+ private Checker $checker;
+ private FileAccessHelper $fileAccessHelper;
+ private IURLGenerator $urlGenerator;
- /**
- * @param Checker $checker
- * @param FileAccessHelper $fileAccessHelper
- * @param IURLGenerator $urlGenerator
- */
public function __construct(Checker $checker,
FileAccessHelper $fileAccessHelper,
IURLGenerator $urlGenerator) {
* @package OC\Core\Command\Integrity
*/
class SignCore extends Command {
- /** @var Checker */
- private $checker;
- /** @var FileAccessHelper */
- private $fileAccessHelper;
+ private Checker $checker;
+ private FileAccessHelper $fileAccessHelper;
- /**
- * @param Checker $checker
- * @param FileAccessHelper $fileAccessHelper
- */
public function __construct(Checker $checker,
FileAccessHelper $fileAccessHelper) {
parent::__construct(null);
use Symfony\Component\Console\Output\OutputInterface;
class File extends Command implements Completion\CompletionAwareInterface {
-
- /** @var IConfig */
- protected $config;
+ protected IConfig $config;
public function __construct(IConfig $config) {
$this->config = $config;
public const DEFAULT_LOG_LEVEL = 2;
public const DEFAULT_TIMEZONE = 'UTC';
- /** @var IConfig */
- protected $config;
+ protected IConfig $config;
public function __construct(IConfig $config) {
$this->config = $config;
use Symfony\Component\Console\Output\OutputInterface;
class DataFingerprint extends Command {
-
- /** @var IConfig */
- protected $config;
- /** @var ITimeFactory */
- protected $timeFactory;
+ protected IConfig $config;
+ protected ITimeFactory $timeFactory;
public function __construct(IConfig $config,
ITimeFactory $timeFactory) {
use function get_class;
class Install extends Command {
-
- /** @var SystemConfig */
- private $config;
- /** @var IniGetWrapper */
- private $iniGetWrapper;
+ private SystemConfig $config;
+ private IniGetWrapper $iniGetWrapper;
public function __construct(SystemConfig $config, IniGetWrapper $iniGetWrapper) {
parent::__construct();
class UpdateDB extends Command {
public const DEFAULT_MIMETYPE = 'application/octet-stream';
- /** @var IMimeTypeDetector */
- protected $mimetypeDetector;
-
- /** @var IMimeTypeLoader */
- protected $mimetypeLoader;
+ protected IMimeTypeDetector $mimetypeDetector;
+ protected IMimeTypeLoader $mimetypeLoader;
public function __construct(
IMimeTypeDetector $mimetypeDetector,
use Symfony\Component\Console\Output\OutputInterface;
class UpdateJS extends Command {
-
- /** @var IMimeTypeDetector */
- protected $mimetypeDetector;
+ protected IMimeTypeDetector $mimetypeDetector;
public function __construct(
IMimeTypeDetector $mimetypeDetector
use Symfony\Component\Console\Output\OutputInterface;
class Mode extends Command {
-
- /** @var IConfig */
- protected $config;
+ protected IConfig $config;
public function __construct(IConfig $config) {
$this->config = $config;
use Symfony\Component\EventDispatcher\GenericEvent;
class Repair extends Command {
- /** @var \OC\Repair $repair */
- protected $repair;
- /** @var IConfig */
- protected $config;
- /** @var EventDispatcherInterface */
- private $dispatcher;
- /** @var ProgressBar */
- private $progress;
- /** @var OutputInterface */
- private $output;
- /** @var IAppManager */
- private $appManager;
+ protected \OC\Repair $repair;
+ protected IConfig $config;
+ private EventDispatcherInterface $dispatcher;
+ private ProgressBar $progress;
+ private OutputInterface $output;
+ private IAppManager $appManager;
- /**
- * @param \OC\Repair $repair
- * @param IConfig $config
- * @param EventDispatcherInterface $dispatcher
- * @param IAppManager $appManager
- */
public function __construct(\OC\Repair $repair, IConfig $config, EventDispatcherInterface $dispatcher, IAppManager $appManager) {
$this->repair = $repair;
$this->config = $config;
use Symfony\Component\Console\Output\OutputInterface;
class UpdateTheme extends UpdateJS {
-
- /** @var IMimeTypeDetector */
- protected $mimetypeDetector;
-
- /** @var ICacheFactory */
- protected $cacheFactory;
+ protected IMimeTypeDetector $mimetypeDetector;
+ protected ICacheFactory $cacheFactory;
public function __construct(
IMimeTypeDetector $mimetypeDetector,
use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
use OCP\IConfig;
-use OCP\ILogger;
use OCP\Lock\ILockingProvider;
use OCP\Lock\LockedException;
+use Psr\Log\LoggerInterface;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Helper\ProgressBar;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Question\ConfirmationQuestion;
class Repair extends Command {
- /** @var IConfig */
- protected $config;
- /** @var IRootFolder */
- private $rootFolder;
- /** @var ILogger */
- private $logger;
-
- /** @var bool */
- private $stopSignalReceived = false;
- /** @var int */
- private $memoryLimit;
- /** @var int */
- private $memoryTreshold;
- /** @var ILockingProvider */
- private $lockingProvider;
-
- public function __construct(IConfig $config, IRootFolder $rootFolder, ILogger $logger, IniGetWrapper $phpIni, ILockingProvider $lockingProvider) {
+ protected IConfig $config;
+ private IRootFolder $rootFolder;
+ private LoggerInterface $logger;
+ private bool $stopSignalReceived = false;
+ private int $memoryLimit;
+ private int $memoryTreshold;
+ private ILockingProvider $lockingProvider;
+
+ public function __construct(IConfig $config, IRootFolder $rootFolder, LoggerInterface $logger, IniGetWrapper $phpIni, ILockingProvider $lockingProvider) {
$this->config = $config;
$this->rootFolder = $rootFolder;
$this->logger = $logger;
$this->lockingProvider = $lockingProvider;
- $this->memoryLimit = $phpIni->getBytes('memory_limit');
+ $this->memoryLimit = (int)$phpIni->getBytes('memory_limit');
$this->memoryTreshold = $this->memoryLimit - 25 * 1024 * 1024;
parent::__construct();
$section1->writeln(" Delete preview/$name/$previewName", OutputInterface::VERBOSITY_VERBOSE);
$preview->delete();
} catch (\Exception $e) {
- $this->logger->logException($e, ['app' => 'core', 'message' => "Failed to delete preview at preview/$name/$previewName"]);
+ $this->logger->error("Failed to delete preview at preview/$name/$previewName", [
+ 'app' => 'core',
+ 'exception' => $e,
+ ]);
}
} else {
try {
$section1->writeln(" Move preview/$name/$previewName to preview/$newFoldername", OutputInterface::VERBOSITY_VERBOSE);
$preview->move("appdata_$instanceId/preview/$newFoldername/$previewName");
} catch (\Exception $e) {
- $this->logger->logException($e, ['app' => 'core', 'message' => "Failed to move preview from preview/$name/$previewName to preview/$newFoldername"]);
+ $this->logger->error("Failed to move preview from preview/$name/$previewName to preview/$newFoldername", [
+ 'app' => 'core',
+ 'exception' => $e,
+ ]);
}
}
}
}
}
-
+
if ($oldPreviewFolder->getDirectoryListing() === []) {
$section1->writeln(" Delete empty folder preview/$name", OutputInterface::VERBOSITY_VERBOSE);
if (!$dryMode) {
try {
$oldPreviewFolder->delete();
} catch (\Exception $e) {
- $this->logger->logException($e, ['app' => 'core', 'message' => "Failed to delete empty folder preview/$name"]);
+ $this->logger->error("Failed to delete empty folder preview/$name", [
+ 'app' => 'core',
+ 'exception' => $e,
+ ]);
}
}
}
use Symfony\Component\Console\Output\OutputInterface;
class ResetRenderedTexts extends Command {
-
- /** @var IDBConnection */
- protected $connection;
-
- /** @var IUserManager */
- protected $userManager;
-
- /** @var IAvatarManager */
- protected $avatarManager;
-
- /** @var Root */
- private $previewFolder;
-
- /** @var IMimeTypeLoader */
- private $mimeTypeLoader;
+ protected IDBConnection $connection;
+ protected IUserManager $userManager;
+ protected IAvatarManager $avatarManager;
+ private Root $previewFolder;
+ private IMimeTypeLoader $mimeTypeLoader;
public function __construct(IDBConnection $connection,
IUserManager $userManager,
use Symfony\Component\Console\Output\OutputInterface;
class ImportCertificate extends Base {
-
- /** @var ICertificateManager */
- protected $certificateManager;
+ protected ICertificateManager $certificateManager;
public function __construct(ICertificateManager $certificateManager) {
$this->certificateManager = $certificateManager;
use Symfony\Component\Console\Output\OutputInterface;
class ListCertificates extends Base {
-
- /** @var ICertificateManager */
- protected $certificateManager;
- /** @var IL10N */
- protected $l;
+ protected ICertificateManager $certificateManager;
+ protected IL10N $l;
public function __construct(ICertificateManager $certificateManager, IL10N $l) {
$this->certificateManager = $certificateManager;
use Symfony\Component\Console\Output\OutputInterface;
class RemoveCertificate extends Base {
-
- /** @var ICertificateManager */
- protected $certificateManager;
+ protected ICertificateManager $certificateManager;
public function __construct(ICertificateManager $certificateManager) {
$this->certificateManager = $certificateManager;
use Symfony\Component\Console\Output\OutputInterface;
class ResetBruteforceAttempts extends Base {
-
- /** @var Throttler */
- protected $throttler;
+ protected Throttler $throttler;
public function __construct(Throttler $throttler) {
$this->throttler = $throttler;
use Symfony\Component\Console\Output\OutputInterface;
class Status extends Base {
-
- /** @var IConfig */
- private $config;
- /** @var Defaults */
- private $themingDefaults;
+ private IConfig $config;
+ private Defaults $themingDefaults;
public function __construct(IConfig $config, Defaults $themingDefaults) {
parent::__construct('status');
use Symfony\Component\Console\Output\OutputInterface;
class Add extends Base {
-
- /** @var ISystemTagManager */
- protected $systemTagManager;
+ protected ISystemTagManager $systemTagManager;
public function __construct(ISystemTagManager $systemTagManager) {
$this->systemTagManager = $systemTagManager;
use Symfony\Component\Console\Output\OutputInterface;
class Delete extends Base {
-
- /** @var ISystemTagManager */
- protected $systemTagManager;
+ protected ISystemTagManager $systemTagManager;
public function __construct(ISystemTagManager $systemTagManager) {
$this->systemTagManager = $systemTagManager;
use Symfony\Component\Console\Output\OutputInterface;
class Edit extends Base {
+ protected ISystemTagManager $systemTagManager;
- /** @var ISystemTagManager */
- protected $systemTagManager;
-
- /**
- * @param ISystemTagManager $systemTagManager
- */
public function __construct(ISystemTagManager $systemTagManager) {
$this->systemTagManager = $systemTagManager;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class ListCommand extends Base {
-
- /** @var ISystemTagManager */
- protected $systemTagManager;
+ protected ISystemTagManager $systemTagManager;
public function __construct(ISystemTagManager $systemTagManager) {
$this->systemTagManager = $systemTagManager;
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext;
class Base extends \OC\Core\Command\Base {
-
- /** @var IUserManager */
- protected $userManager;
+ protected IUserManager $userManager;
/**
* Return possible values for the named option
use Symfony\Component\Console\Output\OutputInterface;
class Cleanup extends Base {
-
- /** @var IRegistry */
- private $registry;
+ private IRegistry $registry;
public function __construct(IRegistry $registry) {
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class Disable extends Base {
-
- /** @var ProviderManager */
- private $manager;
-
- /** @var IUserManager */
- protected $userManager;
+ private ProviderManager $manager;
public function __construct(ProviderManager $manager, IUserManager $userManager) {
parent::__construct('twofactorauth:disable');
use Symfony\Component\Console\Output\OutputInterface;
class Enable extends Base {
-
- /** @var ProviderManager */
- private $manager;
-
- /** @var IUserManager */
- protected $userManager;
+ private ProviderManager $manager;
public function __construct(ProviderManager $manager, IUserManager $userManager) {
parent::__construct('twofactorauth:enable');
use Symfony\Component\Console\Output\OutputInterface;
class Enforce extends Command {
-
- /** @var MandatoryTwoFactor */
- private $mandatoryTwoFactor;
+ private MandatoryTwoFactor $mandatoryTwoFactor;
public function __construct(MandatoryTwoFactor $mandatoryTwoFactor) {
parent::__construct();
return 0;
}
- /**
- * @param OutputInterface $output
- */
protected function writeEnforced(OutputInterface $output, EnforcementState $state) {
if (empty($state->getEnforcedGroups())) {
$message = 'Two-factor authentication is enforced for all users';
$output->writeln($message);
}
- /**
- * @param OutputInterface $output
- */
protected function writeNotEnforced(OutputInterface $output) {
$output->writeln('Two-factor authentication is not enforced');
}
use Symfony\Component\Console\Output\OutputInterface;
class State extends Base {
-
- /** @var IRegistry */
- private $registry;
+ private IRegistry $registry;
public function __construct(IRegistry $registry, IUserManager $userManager) {
parent::__construct('twofactorauth:state');
public const ERROR_INVALID_ARGUMENTS = 4;
public const ERROR_FAILURE = 5;
- /** @var IConfig */
- private $config;
-
- /** @var LoggerInterface */
- private $logger;
-
- /** @var Installer */
- private $installer;
+ private IConfig $config;
+ private LoggerInterface $logger;
+ private Installer $installer;
public function __construct(IConfig $config, LoggerInterface $logger, Installer $installer) {
parent::__construct();
use Symfony\Component\Console\Question\Question;
class Add extends Command {
- /** @var \OCP\IUserManager */
- protected $userManager;
+ protected IUserManager $userManager;
+ protected IGroupManager $groupManager;
- /** @var \OCP\IGroupManager */
- protected $groupManager;
-
- /**
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- */
public function __construct(IUserManager $userManager, IGroupManager $groupManager) {
parent::__construct();
$this->userManager = $userManager;
use Symfony\Component\Console\Question\Question;
class AddAppPassword extends Command {
-
- /** @var IUserManager */
- protected $userManager;
-
- /** @var IProvider */
- protected $tokenProvider;
-
- /** @var ISecureRandom */
- private $random;
-
- /** @var IEventDispatcher */
- private $eventDispatcher;
+ protected IUserManager $userManager;
+ protected IProvider $tokenProvider;
+ private ISecureRandom $random;
+ private IEventDispatcher $eventDispatcher;
public function __construct(IUserManager $userManager,
IProvider $tokenProvider,
use Symfony\Component\Console\Output\OutputInterface;
class Disable extends Base {
- /** @var IUserManager */
- protected $userManager;
+ protected IUserManager $userManager;
- /**
- * @param IUserManager $userManager
- */
public function __construct(IUserManager $userManager) {
$this->userManager = $userManager;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class Enable extends Base {
- /** @var IUserManager */
- protected $userManager;
+ protected IUserManager $userManager;
- /**
- * @param IUserManager $userManager
- */
public function __construct(IUserManager $userManager) {
$this->userManager = $userManager;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class Info extends Base {
- /** @var IUserManager */
- protected $userManager;
- /** @var IGroupManager */
- protected $groupManager;
+ protected IUserManager $userManager;
+ protected IGroupManager $groupManager;
- /**
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- */
public function __construct(IUserManager $userManager, IGroupManager $groupManager) {
$this->userManager = $userManager;
$this->groupManager = $groupManager;
use Symfony\Component\Console\Output\OutputInterface;
class LastSeen extends Base {
- /** @var IUserManager */
- protected $userManager;
+ protected IUserManager $userManager;
- /**
- * @param IUserManager $userManager
- */
public function __construct(IUserManager $userManager) {
$this->userManager = $userManager;
parent::__construct();
use Symfony\Component\Console\Output\OutputInterface;
class ListCommand extends Base {
+ protected IUserManager $userManager;
+ protected IGroupManager $groupManager;
- /** @var IUserManager */
- protected $userManager;
-
- /** @var IGroupManager */
- protected $groupManager;
-
- /**
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- */
public function __construct(IUserManager $userManager,
IGroupManager $groupManager) {
$this->userManager = $userManager;
class Report extends Command {
public const DEFAULT_COUNT_DIRS_MAX_USERS = 500;
- /** @var IUserManager */
- protected $userManager;
- /** @var IConfig */
- private $config;
+ protected IUserManager $userManager;
+ private IConfig $config;
public function __construct(IUserManager $userManager,
IConfig $config) {
use Symfony\Component\Console\Question\Question;
class ResetPassword extends Base {
-
- /** @var IUserManager */
- protected $userManager;
+ protected IUserManager $userManager;
public function __construct(IUserManager $userManager) {
$this->userManager = $userManager;
use Symfony\Component\Console\Output\OutputInterface;
class Setting extends Base {
- /** @var IUserManager */
- protected $userManager;
+ protected IUserManager $userManager;
+ protected IConfig $config;
- /** @var IConfig */
- protected $config;
-
- /**
- * @param IUserManager $userManager
- * @param IConfig $config
- */
public function __construct(IUserManager $userManager, IConfig $config) {
parent::__construct();
$this->userManager = $userManager;
use OCP\Security\ISecureRandom;
class AppPasswordController extends \OCP\AppFramework\OCSController {
-
- /** @var ISession */
- private $session;
-
- /** @var ISecureRandom */
- private $random;
-
- /** @var IProvider */
- private $tokenProvider;
-
- /** @var IStore */
- private $credentialStore;
-
- /** @var IEventDispatcher */
- private $eventDispatcher;
+ private ISession $session;
+ private ISecureRandom $random;
+ private IProvider $tokenProvider;
+ private IStore $credentialStore;
+ private IEventDispatcher $eventDispatcher;
public function __construct(string $appName,
IRequest $request,
/**
* @NoAdminRequired
*
- * @return DataResponse
* @throws OCSForbiddenException
*/
public function getAppPassword(): DataResponse {
/**
* @NoAdminRequired
- *
- * @return DataResponse
*/
- public function deleteAppPassword() {
+ public function deleteAppPassword(): DataResponse {
if (!$this->session->exists('app_password')) {
throw new OCSForbiddenException('no app password in use');
}
use OCP\Share\IShare;
class AutoCompleteController extends Controller {
- /** @var ISearch */
- private $collaboratorSearch;
-
- /** @var IManager */
- private $autoCompleteManager;
-
- /** @var IEventDispatcher */
- private $dispatcher;
+ private ISearch $collaboratorSearch;
+ private IManager $autoCompleteManager;
+ private IEventDispatcher $dispatcher;
public function __construct(string $appName,
IRequest $request,
/**
* @NoAdminRequired
- *
- * @param string $search
- * @param string $itemType
- * @param string $itemId
* @param string|null $sorter can be piped, top prio first, e.g.: "commenters|share-recipients"
- * @param array $shareTypes
- * @param int $limit
- * @return DataResponse
*/
- public function get($search, $itemType, $itemId, $sorter = null, $shareTypes = [IShare::TYPE_USER], $limit = 10): DataResponse {
+ public function get(string $search, ?string $itemType, ?string $itemId, ?string $sorter = null, array $shareTypes = [IShare::TYPE_USER], int $limit = 10): DataResponse {
// if enumeration/user listings are disabled, we'll receive an empty
// result from search() – thus nothing else to do here.
[$results,] = $this->collaboratorSearch->search($search, $shareTypes, false, $limit, 0);
return new DataResponse($results);
}
-
protected function prepareResultArray(array $results): array {
$output = [];
foreach ($results as $type => $subResult) {
use OCP\IAvatarManager;
use OCP\ICache;
use OCP\IL10N;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\IUserManager;
use OCP\IUserSession;
+use Psr\Log\LoggerInterface;
/**
* Class AvatarController
* @package OC\Core\Controller
*/
class AvatarController extends Controller {
-
- /** @var IAvatarManager */
- protected $avatarManager;
-
- /** @var ICache */
- protected $cache;
-
- /** @var IL10N */
- protected $l;
-
- /** @var IUserManager */
- protected $userManager;
-
- /** @var IUserSession */
- protected $userSession;
-
- /** @var IRootFolder */
- protected $rootFolder;
-
- /** @var ILogger */
- protected $logger;
-
- /** @var string */
- protected $userId;
-
- /** @var TimeFactory */
- protected $timeFactory;
-
- public function __construct($appName,
+ protected IAvatarManager $avatarManager;
+ protected ICache $cache;
+ protected IL10N $l;
+ protected IUserManager $userManager;
+ protected IUserSession $userSession;
+ protected IRootFolder $rootFolder;
+ protected LoggerInterface $logger;
+ protected ?string $userId;
+ protected TimeFactory $timeFactory;
+
+ public function __construct(string $appName,
IRequest $request,
IAvatarManager $avatarManager,
ICache $cache,
IL10N $l10n,
IUserManager $userManager,
IRootFolder $rootFolder,
- ILogger $logger,
- $userId,
+ LoggerInterface $logger,
+ ?string $userId,
TimeFactory $timeFactory) {
parent::__construct($appName, $request);
* @NoSameSiteCookieRequired
* @PublicPage
*
- * @param string $userId
- * @param int $size
* @return JSONResponse|FileDisplayResponse
*/
- public function getAvatar($userId, $size) {
+ public function getAvatar(string $userId, int $size) {
if ($size <= 64) {
if ($size !== 64) {
$this->logger->debug('Avatar requested in deprecated size ' . $size);
/**
* @NoAdminRequired
- *
- * @param string $path
- * @return JSONResponse
*/
- public function postAvatar($path) {
+ public function postAvatar(?string $path = null): JSONResponse {
$files = $this->request->getUploadedFile('files');
if (isset($path)) {
);
}
} catch (\Exception $e) {
- $this->logger->logException($e, ['app' => 'core']);
+ $this->logger->error($e->getMessage(), ['exception' => $e, 'app' => 'core']);
return new JSONResponse(['data' => ['message' => $this->l->t('An error occurred. Please contact your admin.')]], Http::STATUS_OK);
}
}
/**
* @NoAdminRequired
- *
- * @return JSONResponse
*/
- public function deleteAvatar() {
+ public function deleteAvatar(): JSONResponse {
try {
$avatar = $this->avatarManager->getAvatar($this->userId);
$avatar->remove();
return new JSONResponse();
} catch (\Exception $e) {
- $this->logger->logException($e, ['app' => 'core']);
+ $this->logger->error($e->getMessage(), ['exception' => $e, 'app' => 'core']);
return new JSONResponse(['data' => ['message' => $this->l->t('An error occurred. Please contact your admin.')]], Http::STATUS_BAD_REQUEST);
}
}
/**
* @NoAdminRequired
- *
- * @param array $crop
- * @return JSONResponse
*/
- public function postCroppedAvatar($crop) {
+ public function postCroppedAvatar(?array $crop = null): JSONResponse {
if (is_null($crop)) {
return new JSONResponse(['data' => ['message' => $this->l->t("No crop data provided")]],
Http::STATUS_BAD_REQUEST);
return new JSONResponse(['data' => ['message' => $this->l->t('Crop is not square')]],
Http::STATUS_BAD_REQUEST);
} catch (\Exception $e) {
- $this->logger->logException($e, ['app' => 'core']);
+ $this->logger->error($e->getMessage(), ['exception' => $e, 'app' => 'core']);
return new JSONResponse(['data' => ['message' => $this->l->t('An error occurred. Please contact your admin.')]], Http::STATUS_BAD_REQUEST);
}
}
use OCP\IRequest;
class CSRFTokenController extends Controller {
+ private CsrfTokenManager $tokenManager;
- /** @var CsrfTokenManager */
- private $tokenManager;
-
- /**
- * @param string $appName
- * @param IRequest $request
- * @param CsrfTokenManager $tokenManager
- */
public function __construct(string $appName, IRequest $request,
CsrfTokenManager $tokenManager) {
parent::__construct($appName, $request);
* @NoAdminRequired
* @NoCSRFRequired
* @PublicPage
- * @return JSONResponse
*/
public function index(): JSONResponse {
if (!$this->request->passesStrictCookieCheck()) {
use OCP\Session\Exceptions\SessionNotAvailableException;
class ClientFlowLoginController extends Controller {
- /** @var IUserSession */
- private $userSession;
- /** @var IL10N */
- private $l10n;
- /** @var Defaults */
- private $defaults;
- /** @var ISession */
- private $session;
- /** @var IProvider */
- private $tokenProvider;
- /** @var ISecureRandom */
- private $random;
- /** @var IURLGenerator */
- private $urlGenerator;
- /** @var ClientMapper */
- private $clientMapper;
- /** @var AccessTokenMapper */
- private $accessTokenMapper;
- /** @var ICrypto */
- private $crypto;
- /** @var IEventDispatcher */
- private $eventDispatcher;
+ private IUserSession $userSession;
+ private IL10N $l10n;
+ private Defaults $defaults;
+ private ISession $session;
+ private IProvider $tokenProvider;
+ private ISecureRandom $random;
+ private IURLGenerator $urlGenerator;
+ private ClientMapper $clientMapper;
+ private AccessTokenMapper $accessTokenMapper;
+ private ICrypto $crypto;
+ private IEventDispatcher $eventDispatcher;
public const STATE_NAME = 'client.flow.state.token';
- /**
- * @param string $appName
- * @param IRequest $request
- * @param IUserSession $userSession
- * @param IL10N $l10n
- * @param Defaults $defaults
- * @param ISession $session
- * @param IProvider $tokenProvider
- * @param ISecureRandom $random
- * @param IURLGenerator $urlGenerator
- * @param ClientMapper $clientMapper
- * @param AccessTokenMapper $accessTokenMapper
- * @param ICrypto $crypto
- * @param IEventDispatcher $eventDispatcher
- */
- public function __construct($appName,
+ public function __construct(string $appName,
IRequest $request,
IUserSession $userSession,
IL10N $l10n,
$this->eventDispatcher = $eventDispatcher;
}
- /**
- * @return string
- */
- private function getClientName() {
+ private function getClientName(): string {
$userAgent = $this->request->getHeader('USER_AGENT');
return $userAgent !== '' ? $userAgent : 'unknown';
}
- /**
- * @param string $stateToken
- * @return bool
- */
- private function isValidToken($stateToken) {
+ private function isValidToken(string $stateToken): bool {
$currentToken = $this->session->get(self::STATE_NAME);
- if (!is_string($stateToken) || !is_string($currentToken)) {
+ if (!is_string($currentToken)) {
return false;
}
return hash_equals($currentToken, $stateToken);
}
- /**
- * @return StandaloneTemplateResponse
- */
- private function stateTokenForbiddenResponse() {
+ private function stateTokenForbiddenResponse(): StandaloneTemplateResponse {
$response = new StandaloneTemplateResponse(
$this->appName,
'403',
* @NoAdminRequired
* @UseSession
*
- * @param string $stateToken
- * @param string $clientIdentifier
* @return Http\RedirectResponse|Response
*/
- public function generateAppPassword($stateToken,
- $clientIdentifier = '') {
+ public function generateAppPassword(string $stateToken,
+ string $clientIdentifier = '') {
if (!$this->isValidToken($stateToken)) {
$this->session->remove(self::STATE_NAME);
return $this->stateTokenForbiddenResponse();
/**
* @PublicPage
*/
- public function apptokenRedirect(string $stateToken, string $user, string $password) {
+ public function apptokenRedirect(string $stateToken, string $user, string $password): Response {
if (!$this->isValidToken($stateToken)) {
return $this->stateTokenForbiddenResponse();
}
public const TOKEN_NAME = 'client.flow.v2.login.token';
public const STATE_NAME = 'client.flow.v2.state.token';
- /** @var LoginFlowV2Service */
- private $loginFlowV2Service;
- /** @var IURLGenerator */
- private $urlGenerator;
- /** @var ISession */
- private $session;
- /** @var IUserSession */
- private $userSession;
- /** @var ISecureRandom */
- private $random;
- /** @var Defaults */
- private $defaults;
- /** @var string */
- private $userId;
- /** @var IL10N */
- private $l10n;
+ private LoginFlowV2Service $loginFlowV2Service;
+ private IURLGenerator $urlGenerator;
+ private IUserSession $userSession;
+ private ISession $session;
+ private ISecureRandom $random;
+ private Defaults $defaults;
+ private ?string $userId;
+ private IL10N $l10n;
public function __construct(string $appName,
IRequest $request,
use OCP\Collaboration\Resources\IManager;
use OCP\Collaboration\Resources\IResource;
use OCP\Collaboration\Resources\ResourceException;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\IUserSession;
+use Psr\Log\LoggerInterface;
class CollaborationResourcesController extends OCSController {
-
- /** @var IManager */
- private $manager;
- /** @var IUserSession */
- private $userSession;
- /** @var ILogger */
- private $logger;
+ private IManager $manager;
+ private IUserSession $userSession;
+ private LoggerInterface $logger;
public function __construct(
string $appName,
IRequest $request,
IManager $manager,
IUserSession $userSession,
- ILogger $logger
+ LoggerInterface $logger
) {
parent::__construct($appName, $request);
} catch (CollectionException $e) {
return new DataResponse([], Http::STATUS_NOT_FOUND);
} catch (Exception $e) {
- $this->logger->logException($e);
+ $this->logger->critical($e->getMessage(), ['exception' => $e, 'app' => 'core']);
return new DataResponse([], Http::STATUS_INTERNAL_SERVER_ERROR);
}
}
$result[] = $this->prepareCollection($collection);
} catch (CollectionException $e) {
} catch (Exception $e) {
- $this->logger->logException($e);
+ $this->logger->critical($e->getMessage(), ['exception' => $e, 'app' => 'core']);
}
}
$result[] = $this->prepareResource($resource);
} catch (ResourceException $e) {
} catch (Exception $e) {
- $this->logger->logException($e);
+ $this->logger->critical($e->getMessage(), ['exception' => $e, 'app' => 'core']);
}
}
use OCP\IRequest;
class CssController extends Controller {
-
- /** @var IAppData */
- protected $appData;
-
- /** @var ITimeFactory */
- protected $timeFactory;
+ protected IAppData $appData;
+ protected ITimeFactory $timeFactory;
public function __construct(string $appName,
IRequest $request,
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\FileDisplayResponse;
use OCP\IAvatarManager;
-use OCP\ILogger;
use OCP\IRequest;
+use Psr\Log\LoggerInterface;
/**
* This controller handles guest avatar requests.
*/
class GuestAvatarController extends Controller {
-
- /**
- * @var ILogger
- */
- private $logger;
-
- /**
- * @var IAvatarManager
- */
- private $avatarManager;
+ private LoggerInterface $logger;
+ private IAvatarManager $avatarManager;
/**
* GuestAvatarController constructor.
- *
- * @param $appName
- * @param IRequest $request
- * @param IAvatarManager $avatarManager
- * @param ILogger $logger
*/
public function __construct(
- $appName,
+ string $appName,
IRequest $request,
IAvatarManager $avatarManager,
- ILogger $logger
+ LoggerInterface $logger
) {
parent::__construct($appName, $request);
$this->avatarManager = $avatarManager;
* @param string $size The desired avatar size, e.g. 64 for 64x64px
* @return FileDisplayResponse|Http\Response
*/
- public function getAvatar($guestName, $size) {
+ public function getAvatar(string $guestName, string $size) {
$size = (int) $size;
if ($size <= 64) {
use OCP\Share\IShare;
class HoverCardController extends \OCP\AppFramework\OCSController {
+ private Manager $manager;
+ private IUserSession $userSession;
- /** @var Manager */
- private $manager;
-
- /** @var IUserSession */
- private $userSession;
-
- /**
- * @param IRequest $request
- * @param IUserSession $userSession
- * @param Manager $manager
- */
public function __construct(IRequest $request, IUserSession $userSession, Manager $manager) {
parent::__construct('core', $request);
$this->userSession = $userSession;
/**
* @NoAdminRequired
- *
- * @param string $userId
- * @return DataResponse
*/
public function getUser(string $userId): DataResponse {
$contact = $this->manager->findOne($this->userSession->getUser(), IShare::TYPE_USER, $userId);
use OCP\IRequest;
class JsController extends Controller {
-
- /** @var IAppData */
- protected $appData;
-
- /** @var ITimeFactory */
- protected $timeFactory;
+ protected IAppData $appData;
+ protected ITimeFactory $timeFactory;
public function __construct($appName, IRequest $request, Factory $appDataFactory, ITimeFactory $timeFactory) {
parent::__construct($appName, $request);
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IL10N;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\ISession;
use OCP\IURLGenerator;
public const LOGIN_MSG_INVALIDPASSWORD = 'invalidpassword';
public const LOGIN_MSG_USERDISABLED = 'userdisabled';
- /** @var IUserManager */
- private $userManager;
- /** @var IConfig */
- private $config;
- /** @var ISession */
- private $session;
+ private IUserManager $userManager;
+ private IConfig $config;
+ private ISession $session;
/** @var IUserSession|Session */
private $userSession;
- /** @var IURLGenerator */
- private $urlGenerator;
- /** @var ILogger */
- private $logger;
- /** @var Defaults */
- private $defaults;
- /** @var Throttler */
- private $throttler;
- /** @var Chain */
- private $loginChain;
- /** @var IInitialStateService */
- private $initialStateService;
- /** @var WebAuthnManager */
- private $webAuthnManager;
- /** @var IManager */
- private $manager;
- /** @var IL10N */
- private $l10n;
+ private IURLGenerator $urlGenerator;
+ private Defaults $defaults;
+ private Throttler $throttler;
+ private Chain $loginChain;
+ private IInitialStateService $initialStateService;
+ private WebAuthnManager $webAuthnManager;
+ private IManager $manager;
+ private IL10N $l10n;
public function __construct(?string $appName,
IRequest $request,
ISession $session,
IUserSession $userSession,
IURLGenerator $urlGenerator,
- ILogger $logger,
Defaults $defaults,
Throttler $throttler,
Chain $loginChain,
$this->session = $session;
$this->userSession = $userSession;
$this->urlGenerator = $urlGenerator;
- $this->logger = $logger;
$this->defaults = $defaults;
$this->throttler = $throttler;
$this->loginChain = $loginChain;
* @UseSession
* @BruteForceProtection(action=sudo)
*
- * @param string $password
- *
- * @return DataResponse
* @license GNU AGPL version 3 or any later version
*
*/
- public function confirmPassword($password) {
+ public function confirmPassword(string $password): DataResponse {
$loginName = $this->userSession->getLoginName();
$loginResult = $this->userManager->checkPassword($loginName, $password);
if ($loginResult === false) {
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IL10N;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\Mail\IMailer;
use OCP\Security\VerificationToken\InvalidTokenException;
use OCP\Security\VerificationToken\IVerificationToken;
+use Psr\Log\LoggerInterface;
use function array_filter;
use function count;
use function reset;
* @package OC\Core\Controller
*/
class LostController extends Controller {
- /** @var IURLGenerator */
- protected $urlGenerator;
- /** @var IUserManager */
- protected $userManager;
- /** @var Defaults */
- protected $defaults;
- /** @var IL10N */
- protected $l10n;
- /** @var string */
- protected $from;
- /** @var IManager */
- protected $encryptionManager;
- /** @var IConfig */
- protected $config;
- /** @var IMailer */
- protected $mailer;
- /** @var ILogger */
- private $logger;
- /** @var Manager */
- private $twoFactorManager;
- /** @var IInitialStateService */
- private $initialStateService;
- /** @var IVerificationToken */
- private $verificationToken;
+ protected IURLGenerator $urlGenerator;
+ protected IUserManager $userManager;
+ protected Defaults $defaults;
+ protected IL10N $l10n;
+ protected string $from;
+ protected IManager $encryptionManager;
+ protected IConfig $config;
+ protected IMailer $mailer;
+ private LoggerInterface $logger;
+ private Manager $twoFactorManager;
+ private IInitialStateService $initialStateService;
+ private IVerificationToken $verificationToken;
public function __construct(
- $appName,
+ string $appName,
IRequest $request,
IURLGenerator $urlGenerator,
IUserManager $userManager,
$defaultMailAddress,
IManager $encryptionManager,
IMailer $mailer,
- ILogger $logger,
+ LoggerInterface $logger,
Manager $twoFactorManager,
IInitialStateService $initialStateService,
IVerificationToken $verificationToken
*
* @PublicPage
* @NoCSRFRequired
- *
- * @param string $token
- * @param string $userId
- * @return TemplateResponse
*/
- public function resetform($token, $userId) {
+ public function resetform(string $token, string $userId): TemplateResponse {
try {
$this->checkPasswordResetToken($token, $userId);
} catch (\Exception $e) {
}
/**
- * @param string $token
- * @param string $userId
* @throws \Exception
*/
protected function checkPasswordResetToken(string $token, string $userId): void {
}
}
- /**
- * @param $message
- * @param array $additional
- * @return array
- */
- private function error($message, array $additional = []) {
+ private function error(string $message, array $additional = []): array {
return array_merge(['status' => 'error', 'msg' => $message], $additional);
}
- /**
- * @param array $data
- * @return array
- */
- private function success($data = []) {
+ private function success(array $data = []): array {
return array_merge($data, ['status' => 'success']);
}
* @PublicPage
* @BruteForceProtection(action=passwordResetEmail)
* @AnonRateThrottle(limit=10, period=300)
- *
- * @param string $user
- * @return JSONResponse
*/
- public function email($user) {
+ public function email(string $user): JSONResponse {
if ($this->config->getSystemValue('lost_password_link', '') !== '') {
return new JSONResponse($this->error($this->l10n->t('Password reset is disabled')));
}
// Ignore the error since we do not want to leak this info
$this->logger->warning('Could not send password reset email: ' . $e->getMessage());
} catch (\Exception $e) {
- $this->logger->logException($e);
+ $this->logger->error($e->getMessage(), ['exception' => $e]);
}
$response = new JSONResponse($this->success());
/**
* @PublicPage
- * @param string $token
- * @param string $userId
- * @param string $password
- * @param boolean $proceed
- * @return array
*/
- public function setPassword($token, $userId, $password, $proceed) {
+ public function setPassword(string $token, string $userId, string $password, bool $proceed): array {
if ($this->encryptionManager->isEnabled() && !$proceed) {
$encryptionModules = $this->encryptionManager->getEncryptionModules();
foreach ($encryptionModules as $module) {
}
/**
- * @param string $input
* @throws ResetPasswordException
* @throws \OCP\PreConditionNotMetException
*/
- protected function sendEmail($input) {
+ protected function sendEmail(string $input): void {
$user = $this->findUserByIdOrMail($input);
$email = $user->getEMailAddress();
$this->mailer->send($message);
} catch (\Exception $e) {
// Log the exception and continue
- $this->logger->logException($e);
+ $this->logger->error($e->getMessage(), ['app' => 'core', 'exception' => $e]);
}
}
/**
- * @param string $input
- * @return IUser
* @throws ResetPasswordException
*/
- protected function findUserByIdOrMail($input) {
+ protected function findUserByIdOrMail(string $input): IUser {
$user = $this->userManager->get($input);
if ($user instanceof IUser) {
if (!$user->isEnabled()) {
use OCP\IURLGenerator;
class NavigationController extends OCSController {
-
- /** @var INavigationManager */
- private $navigationManager;
-
- /** @var IURLGenerator */
- private $urlGenerator;
+ private INavigationManager $navigationManager;
+ private IURLGenerator $urlGenerator;
public function __construct(string $appName, IRequest $request, INavigationManager $navigationManager, IURLGenerator $urlGenerator) {
parent::__construct($appName, $request);
/**
* @NoAdminRequired
* @NoCSRFRequired
- *
- * @param bool $absolute
- * @return DataResponse
*/
public function getAppsNavigation(bool $absolute = false): DataResponse {
$navigation = $this->navigationManager->getAll();
/**
* @NoAdminRequired
* @NoCSRFRequired
- *
- * @param bool $absolute
- * @return DataResponse
*/
public function getSettingsNavigation(bool $absolute = false): DataResponse {
$navigation = $this->navigationManager->getAll('settings');
/**
* Generate an ETag for a list of navigation entries
- *
- * @param array $navigation
- * @return string
*/
private function generateETag(array $navigation): string {
foreach ($navigation as &$nav) {
/**
* Rewrite href attribute of navigation entries to an absolute URL
- *
- * @param array $navigation
- * @return array
*/
private function rewriteToAbsoluteUrls(array $navigation): array {
foreach ($navigation as &$entry) {
use OCP\L10N\IFactory;
class OCJSController extends Controller {
+ private JSConfigHelper $helper;
- /** @var JSConfigHelper */
- private $helper;
-
- /**
- * OCJSController constructor.
- *
- * @param string $appName
- * @param IRequest $request
- * @param IFactory $l10nFactory
- * @param Defaults $defaults
- * @param IAppManager $appManager
- * @param ISession $session
- * @param IUserSession $userSession
- * @param IConfig $config
- * @param IGroupManager $groupManager
- * @param IniGetWrapper $iniWrapper
- * @param IURLGenerator $urlGenerator
- * @param CapabilitiesManager $capabilitiesManager
- * @param IInitialStateService $initialStateService
- */
- public function __construct($appName,
+ public function __construct(string $appName,
IRequest $request,
IFactory $l10nFactory,
Defaults $defaults,
* @NoCSRFRequired
* @NoTwoFactorRequired
* @PublicPage
- *
- * @return DataDisplayResponse
*/
- public function getConfig() {
+ public function getConfig(): DataDisplayResponse {
$data = $this->helper->getConfig();
return new DataDisplayResponse($data, Http::STATUS_OK, ['Content-type' => 'text/javascript']);
use OCP\IUserSession;
class OCSController extends \OCP\AppFramework\OCSController {
+ private CapabilitiesManager $capabilitiesManager;
+ private IUserSession $userSession;
+ private IUserManager $userManager;
+ private Manager $keyManager;
- /** @var CapabilitiesManager */
- private $capabilitiesManager;
- /** @var IUserSession */
- private $userSession;
- /** @var IUserManager */
- private $userManager;
- /** @var Manager */
- private $keyManager;
-
- /**
- * OCSController constructor.
- *
- * @param string $appName
- * @param IRequest $request
- * @param CapabilitiesManager $capabilitiesManager
- * @param IUserSession $userSession
- * @param IUserManager $userManager
- * @param Manager $keyManager
- */
- public function __construct($appName,
+ public function __construct(string $appName,
IRequest $request,
CapabilitiesManager $capabilitiesManager,
IUserSession $userSession,
/**
* @PublicPage
- *
- * @return DataResponse
*/
- public function getConfig() {
+ public function getConfig(): DataResponse {
$data = [
'version' => '1.7',
'website' => 'Nextcloud',
/**
* @PublicPage
- *
- * @return DataResponse
*/
- public function getCapabilities() {
+ public function getCapabilities(): DataResponse {
$result = [];
[$major, $minor, $micro] = \OCP\Util::getVersion();
$result['version'] = [
/**
* @PublicPage
* @BruteForceProtection(action=login)
- *
- * @param string $login
- * @param string $password
- * @return DataResponse
*/
- public function personCheck($login = '', $password = '') {
+ public function personCheck(string $login = '', string $password = ''): DataResponse {
if ($login !== '' && $password !== '') {
if ($this->userManager->checkPassword($login, $password)) {
return new DataResponse([
/**
* @PublicPage
- *
- * @param string $cloudId
- * @return DataResponse
*/
- public function getIdentityProof($cloudId) {
+ public function getIdentityProof(string $cloudId): DataResponse {
$userObject = $this->userManager->get($cloudId);
if ($userObject !== null) {
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\Http\FileDisplayResponse;
-use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\File;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
use OCP\IRequest;
class PreviewController extends Controller {
+ private string $userId;
+ private IRootFolder $root;
+ private IPreview $preview;
- /** @var string */
- private $userId;
-
- /** @var IRootFolder */
- private $root;
-
- /** @var IPreview */
- private $preview;
-
- /**
- * PreviewController constructor.
- *
- * @param string $appName
- * @param IRequest $request
- * @param IPreview $preview
- * @param IRootFolder $root
- * @param string $userId
- * @param ITimeFactory $timeFactory
- */
public function __construct(string $appName,
IRequest $request,
IPreview $preview,
* @NoAdminRequired
* @NoCSRFRequired
*
- * @param string $file
- * @param int $x
- * @param int $y
- * @param bool $a
- * @param bool $forceIcon
- * @param string $mode
* @return DataResponse|FileDisplayResponse
*/
public function getPreview(
* @NoAdminRequired
* @NoCSRFRequired
*
- * @param int $fileId
- * @param int $x
- * @param int $y
- * @param bool $a
- * @param bool $forceIcon
- * @param string $mode
- *
* @return DataResponse|FileDisplayResponse
*/
public function getPreviewByFileId(
}
/**
- * @param Node $node
- * @param int $x
- * @param int $y
- * @param bool $a
- * @param bool $forceIcon
- * @param string $mode
* @return DataResponse|FileDisplayResponse
*/
private function fetchPreview(
use OC\Profile\ProfileManager;
class ProfileApiController extends OCSController {
-
- /** @var ProfileConfigMapper */
- private $configMapper;
-
- /** @var ProfileManager */
- private $profileManager;
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var IUserSession */
- private $userSession;
+ private ProfileConfigMapper $configMapper;
+ private ProfileManager $profileManager;
+ private IUserManager $userManager;
+ private IUserSession $userSession;
public function __construct(
IRequest $request,
use OCP\UserStatus\IManager as IUserStatusManager;
class ProfilePageController extends Controller {
-
- /** @var IInitialState */
- private $initialStateService;
-
- /** @var ProfileManager */
- private $profileManager;
-
- /** @var IShareManager */
- private $shareManager;
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var IUserSession */
- private $userSession;
-
- /** @var IUserStatusManager */
- private $userStatusManager;
+ private IInitialState $initialStateService;
+ private ProfileManager $profileManager;
+ private IShareManager $shareManager;
+ private IUserManager $userManager;
+ private IUserSession $userSession;
+ private IUserStatusManager $userStatusManager;
public function __construct(
$appName,
use OCP\IURLGenerator;
class RecommendedAppsController extends Controller {
-
- /** @var IURLGenerator */
- public $urlGenerator;
- /** @var IInitialStateService */
- private $initialStateService;
+ public IURLGenerator $urlGenerator;
+ private IInitialStateService $initialStateService;
public function __construct(IRequest $request,
IURLGenerator $urlGenerator,
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\ISearch;
use OCP\Search\Result;
+use Psr\Log\LoggerInterface;
class SearchController extends Controller {
-
- /** @var ISearch */
- private $searcher;
- /** @var ILogger */
- private $logger;
+ private ISearch $searcher;
+ private LoggerInterface $logger;
public function __construct(
string $appName,
IRequest $request,
ISearch $search,
- ILogger $logger
+ LoggerInterface $logger
) {
parent::__construct($appName, $request);
use OCP\ILogger;
class SetupController {
- /** @var Setup */
- protected $setupHelper;
- /** @var string */
- private $autoConfigFile;
+ protected Setup $setupHelper;
+ private string $autoConfigFile;
/**
* @param Setup $setupHelper
$this->setupHelper = $setupHelper;
}
- /**
- * @param $post
- */
- public function run($post) {
+ public function run(array $post): void {
// Check for autosetup:
$post = $this->loadAutoConfig($post);
$opts = $this->setupHelper->getSystemInfo();
\OC_Template::printGuestPage('', 'installation_forbidden');
}
- public function display($post) {
+ public function display($post): void {
$defaults = [
'adminlogin' => '',
'adminpass' => '',
exit();
}
- public function loadAutoConfig($post) {
+ public function loadAutoConfig(array $post): array {
if (file_exists($this->autoConfigFile)) {
\OCP\Util::writeLog('core', 'Autoconfig file found, setting up Nextcloud…', ILogger::INFO);
$AUTOCONFIG = [];
use OCP\Authentication\TwoFactorAuth\IProvider;
use OCP\Authentication\TwoFactorAuth\IProvidesCustomCSP;
use OCP\Authentication\TwoFactorAuth\TwoFactorException;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\ISession;
use OCP\IURLGenerator;
use OCP\IUserSession;
+use Psr\Log\LoggerInterface;
class TwoFactorChallengeController extends Controller {
+ private Manager $twoFactorManager;
+ private IUserSession $userSession;
+ private ISession $session;
+ private LoggerInterface $logger;
+ private IURLGenerator $urlGenerator;
- /** @var Manager */
- private $twoFactorManager;
-
- /** @var IUserSession */
- private $userSession;
-
- /** @var ISession */
- private $session;
-
- /** @var ILogger */
- private $logger;
-
- /** @var IURLGenerator */
- private $urlGenerator;
-
- /**
- * @param string $appName
- * @param IRequest $request
- * @param Manager $twoFactorManager
- * @param IUserSession $userSession
- * @param ISession $session
- * @param IURLGenerator $urlGenerator
- * @param ILogger $logger
- */
public function __construct($appName, IRequest $request, Manager $twoFactorManager, IUserSession $userSession,
- ISession $session, IURLGenerator $urlGenerator, ILogger $logger) {
+ ISession $session, IURLGenerator $urlGenerator, LoggerInterface $logger) {
parent::__construct($appName, $request);
$this->twoFactorManager = $twoFactorManager;
$this->userSession = $userSession;
* @NoAdminRequired
* @NoCSRFRequired
*/
- public function setupProviders() {
+ public function setupProviders(): StandaloneTemplateResponse {
$user = $this->userSession->getUser();
$setupProviders = $this->twoFactorManager->getLoginSetupProviders($user);
'logout_url' => $this->getLogoutUrl(),
];
- $response = new StandaloneTemplateResponse($this->appName, 'twofactorsetupselection', $data, 'guest');
- return $response;
+ return new StandaloneTemplateResponse($this->appName, 'twofactorsetupselection', $data, 'guest');
}
/**
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
class UnifiedSearchController extends OCSController {
-
- /** @var SearchComposer */
- private $composer;
-
- /** @var IUserSession */
- private $userSession;
-
- /** @var IRouter */
- private $router;
-
- /** @var IURLGenerator */
- private $urlGenerator;
+ private SearchComposer $composer;
+ private IUserSession $userSession;
+ private IRouter $router;
+ private IURLGenerator $urlGenerator;
public function __construct(IRequest $request,
IUserSession $userSession,
* @NoCSRFRequired
*
* @param string $from the url the user is currently at
- *
- * @return DataResponse
*/
public function getProviders(string $from = ''): DataResponse {
[$route, $parameters] = $this->getRouteInformation($from);
use OCP\IUserManager;
class UserController extends Controller {
- /**
- * @var IUserManager
- */
- protected $userManager;
+ protected IUserManager $userManager;
public function __construct($appName,
IRequest $request,
/**
* @PublicPage
* @NoCSRFRequired
- *
- * @return Response
*/
- public function get() {
+ public function get(): Response {
$resp = new Response();
$resp->setStatus(Http::STATUS_NO_CONTENT);
return $resp;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\ISession;
use OCP\Util;
+use Psr\Log\LoggerInterface;
use Webauthn\PublicKeyCredentialRequestOptions;
class WebAuthnController extends Controller {
private const WEBAUTHN_LOGIN = 'webauthn_login';
private const WEBAUTHN_LOGIN_UID = 'webauthn_login_uid';
- /** @var Manager */
- private $webAuthnManger;
+ private Manager $webAuthnManger;
+ private ISession $session;
+ private LoggerInterface $logger;
+ private WebAuthnChain $webAuthnChain;
- /** @var ISession */
- private $session;
-
- /** @var ILogger */
- private $logger;
-
- /** @var WebAuthnChain */
- private $webAuthnChain;
-
- public function __construct($appName, IRequest $request, Manager $webAuthnManger, ISession $session, ILogger $logger, WebAuthnChain $webAuthnChain) {
+ public function __construct($appName, IRequest $request, Manager $webAuthnManger, ISession $session, LoggerInterface $logger, WebAuthnChain $webAuthnChain) {
parent::__construct($appName, $request);
$this->webAuthnManger = $webAuthnManger;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
-use OCP\ILogger;
use OCP\Security\ICrypto;
use OCP\Security\ISecureRandom;
+use Psr\Log\LoggerInterface;
class LoginFlowV2Service {
-
- /** @var LoginFlowV2Mapper */
- private $mapper;
- /** @var ISecureRandom */
- private $random;
- /** @var ITimeFactory */
- private $time;
- /** @var IConfig */
- private $config;
- /** @var ICrypto */
- private $crypto;
- /** @var ILogger */
- private $logger;
- /** @var IProvider */
- private $tokenProvider;
+ private LoginFlowV2Mapper $mapper;
+ private ISecureRandom $random;
+ private ITimeFactory $time;
+ private IConfig $config;
+ private ICrypto $crypto;
+ private LoggerInterface $logger;
+ private IProvider $tokenProvider;
public function __construct(LoginFlowV2Mapper $mapper,
ISecureRandom $random,
ITimeFactory $time,
IConfig $config,
ICrypto $crypto,
- ILogger $logger,
+ LoggerInterface $logger,
IProvider $tokenProvider) {
$this->mapper = $mapper;
$this->random = $random;
$application->add(new OC\Core\Command\App\Install());
$application->add(new OC\Core\Command\App\GetPath());
$application->add(new OC\Core\Command\App\ListApps(\OC::$server->getAppManager()));
- $application->add(new OC\Core\Command\App\Remove(\OC::$server->getAppManager(), \OC::$server->query(\OC\Installer::class), \OC::$server->getLogger()));
+ $application->add(new OC\Core\Command\App\Remove(\OC::$server->getAppManager(), \OC::$server->query(\OC\Installer::class), \OC::$server->get(LoggerInterface::class)));
$application->add(\OC::$server->query(\OC\Core\Command\App\Update::class));
$application->add(\OC::$server->query(\OC\Core\Command\TwoFactorAuth\Cleanup::class));
* @package OC\AppFramework\Middleware\Security
*/
class BruteForceMiddleware extends Middleware {
- /** @var ControllerMethodReflector */
- private $reflector;
- /** @var Throttler */
- private $throttler;
- /** @var IRequest */
- private $request;
+ private ControllerMethodReflector $reflector;
+ private Throttler $throttler;
+ private IRequest $request;
- /**
- * @param ControllerMethodReflector $controllerMethodReflector
- * @param Throttler $throttler
- * @param IRequest $request
- */
public function __construct(ControllerMethodReflector $controllerMethodReflector,
Throttler $throttler,
IRequest $request) {
use OCP\Migration\IRepairStep;
class LookupServerSendCheck implements IRepairStep {
-
- /** @var IJobList */
- private $jobList;
-
- /** @var IConfig */
- private $config;
+ private IJobList $jobList;
+ private IConfig $config;
public function __construct(IJobList $jobList, IConfig $config) {
$this->jobList = $jobList;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
use OCP\IConfig;
-use OCP\ILogger;
use OCP\Lock\ILockingProvider;
use PHPUnit\Framework\MockObject\MockObject;
use Symfony\Component\Console\Formatter\OutputFormatterInterface;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Test\TestCase;
+use Psr\Log\LoggerInterface;
class RepairTest extends TestCase {
/** @var IConfig|MockObject */
private $config;
/** @var IRootFolder|MockObject */
private $rootFolder;
- /** @var ILogger|MockObject */
+ /** @var LoggerInterface|MockObject */
private $logger;
/** @var IniGetWrapper|MockObject */
private $iniGetWrapper;
->getMock();
$this->rootFolder = $this->getMockBuilder(IRootFolder::class)
->getMock();
- $this->logger = $this->getMockBuilder(ILogger::class)
+ $this->logger = $this->getMockBuilder(LoggerInterface::class)
->getMock();
$this->iniGetWrapper = $this->getMockBuilder(IniGetWrapper::class)
->getMock();
}
/**
- * @param $searchResults
- * @param $expected
- * @param $searchTerm
- * @param $itemType
- * @param $itemId
- * @param $sorter
* @dataProvider searchDataProvider
*/
- public function testGet($searchResults, $expected, $searchTerm, $itemType, $itemId, $sorter) {
+ public function testGet(array $searchResults, array $expected, string $searchTerm, ?string $itemType, ?string $itemId, ?string $sorter) {
$this->collaboratorSearch->expects($this->once())
->method('search')
->willReturn([$searchResults, false]);
use OCP\IAvatarManager;
use OCP\ICache;
use OCP\IL10N;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\IUser;
use OCP\IUserManager;
+use Psr\Log\LoggerInterface;
/**
* Class AvatarControllerTest
private $userManager;
/** @var IRootFolder|\PHPUnit\Framework\MockObject\MockObject */
private $rootFolder;
- /** @var ILogger|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */
private $logger;
/** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */
private $request;
$this->userManager = $this->getMockBuilder(IUserManager::class)->getMock();
$this->request = $this->getMockBuilder(IRequest::class)->getMock();
$this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->getMock();
- $this->logger = $this->getMockBuilder(ILogger::class)->getMock();
+ $this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
$this->timeFactory = $this->getMockBuilder('OC\AppFramework\Utility\TimeFactory')->getMock();
$this->avatarMock = $this->getMockBuilder('OCP\IAvatar')->getMock();
$this->avatarManager->method('getAvatar')->willReturn($this->avatarMock);
$this->logger->expects($this->once())
- ->method('logException')
- ->with(new \Exception("foo"));
+ ->method('error')
+ ->with('foo', ['exception' => new \Exception("foo"), 'app' => 'core']);
$expectedResponse = new Http\JSONResponse(['data' => ['message' => 'An error occurred. Please contact your admin.']], Http::STATUS_BAD_REQUEST);
$this->assertEquals($expectedResponse, $this->avatarController->deleteAvatar());
}
$userFolder->method('get')->willReturn($file);
$this->logger->expects($this->once())
- ->method('logException')
- ->with(new \Exception("foo"));
+ ->method('error')
+ ->with('foo', ['exception' => new \Exception("foo"), 'app' => 'core']);
$expectedResponse = new Http\JSONResponse(['data' => ['message' => 'An error occurred. Please contact your admin.']], Http::STATUS_OK);
$this->assertEquals($expectedResponse, $this->avatarController->postAvatar('avatar.jpg'));
}
$this->avatarManager->method('getAvatar')->willReturn($this->avatarMock);
$this->logger->expects($this->once())
- ->method('logException')
- ->with(new \Exception('foo'));
+ ->method('error')
+ ->with('foo', ['exception' => new \Exception("foo"), 'app' => 'core']);
$expectedResponse = new Http\JSONResponse(['data' => ['message' => 'An error occurred. Please contact your admin.']], Http::STATUS_BAD_REQUEST);
$this->assertEquals($expectedResponse, $this->avatarController->postCroppedAvatar(['x' => 0, 'y' => 0, 'w' => 10, 'h' => 11]));
}
use OCP\Files\SimpleFS\ISimpleFile;
use OCP\IAvatar;
use OCP\IAvatarManager;
-use OCP\ILogger;
use OCP\IRequest;
+use Psr\Log\LoggerInterface;
/**
* This class provides tests for the guest avatar controller.
private $file;
/**
- * @var ILogger|\PHPUnit\Framework\MockObject\MockObject
+ * @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject
*/
private $logger;
protected function setUp(): void {
parent::setUp();
- $this->logger = $this->getMockBuilder(ILogger::class)->getMock();
+ $this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
$this->request = $this->getMockBuilder(IRequest::class)->getMock();
$this->avatar = $this->getMockBuilder(IAvatar::class)->getMock();
$this->avatarManager = $this->getMockBuilder(IAvatarManager::class)->getMock();
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IL10N;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\ISession;
use OCP\IURLGenerator;
/** @var IURLGenerator|MockObject */
private $urlGenerator;
- /** @var ILogger|MockObject */
- private $logger;
-
/** @var Manager|MockObject */
private $twoFactorManager;
$this->session = $this->createMock(ISession::class);
$this->userSession = $this->createMock(Session::class);
$this->urlGenerator = $this->createMock(IURLGenerator::class);
- $this->logger = $this->createMock(ILogger::class);
$this->twoFactorManager = $this->createMock(Manager::class);
$this->defaults = $this->createMock(Defaults::class);
$this->throttler = $this->createMock(Throttler::class);
$this->session,
$this->userSession,
$this->urlGenerator,
- $this->logger,
$this->defaults,
$this->throttler,
$this->chain,
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IL10N;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\Mail\IMailer;
use OCP\Security\VerificationToken\InvalidTokenException;
use OCP\Security\VerificationToken\IVerificationToken;
+use Psr\Log\LoggerInterface;
/**
* Class LostControllerTest
private $encryptionManager;
/** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */
private $request;
- /** @var ILogger|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */
private $logger;
/** @var Manager|\PHPUnit\Framework\MockObject\MockObject */
private $twofactorManager;
$this->encryptionManager->expects($this->any())
->method('isEnabled')
->willReturn(true);
- $this->logger = $this->createMock(ILogger::class);
+ $this->logger = $this->createMock(LoggerInterface::class);
$this->twofactorManager = $this->createMock(Manager::class);
$this->initialStateService = $this->createMock(IInitialStateService::class);
$this->verificationToken = $this->createMock(IVerificationToken::class);
]);
$this->logger->expects($this->exactly(0))
- ->method('logException');
+ ->method('error');
$this->logger->expects($this->exactly(2))
->method('warning');
->will($this->throwException(new \Exception()));
$this->logger->expects($this->exactly(1))
- ->method('logException');
+ ->method('error');
$response = $this->lostController->email('ExistingUser');
$expectedResponse = new JSONResponse(['status' => 'success']);
->willReturn($user);
$this->logger->expects($this->exactly(0))
- ->method('logException');
+ ->method('error');
$this->logger->expects($this->once())
->method('warning');
->willReturn([$user1, $user2]);
$this->logger->expects($this->exactly(0))
- ->method('logException');
+ ->method('error');
$this->logger->expects($this->once())
->method('warning');
use OCP\Authentication\TwoFactorAuth\ILoginSetupProvider;
use OCP\Authentication\TwoFactorAuth\IProvider;
use OCP\Authentication\TwoFactorAuth\TwoFactorException;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\ISession;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IUserSession;
use OCP\Template;
+use Psr\Log\LoggerInterface;
use Test\TestCase;
class TwoFactorChallengeControllerTest extends TestCase {
/** @var IURLGenerator|\PHPUnit\Framework\MockObject\MockObject */
private $urlGenerator;
- /** @var ILogger|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */
private $logger;
/** @var TwoFactorChallengeController|\PHPUnit\Framework\MockObject\MockObject */
$this->userSession = $this->createMock(IUserSession::class);
$this->session = $this->createMock(ISession::class);
$this->urlGenerator = $this->createMock(IURLGenerator::class);
- $this->logger = $this->createMock(ILogger::class);
+ $this->logger = $this->createMock(LoggerInterface::class);
$this->controller = $this->getMockBuilder(TwoFactorChallengeController::class)
->setConstructorArgs([
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
-use OCP\ILogger;
use OCP\Security\ICrypto;
use OCP\Security\ISecureRandom;
+use PHPUnit\Framework\MockObject\MockObject;
+use Psr\Log\LoggerInterface;
use Test\TestCase;
/**
/** @var \OCP\Security\ICrypto */
private $crypto;
- /** @var \OCP\ILogger */
+ /** @var LoggerInterface|MockObject */
private $logger;
/** @var \OC\Core\Db\LoginFlowV2Mapper */
$this->mapper = $this->getMockBuilder(LoginFlowV2Mapper::class)
->disableOriginalConstructor()->getMock();
- $this->logger = $this->getMockBuilder(ILogger::class)
+ $this->logger = $this->getMockBuilder(LoggerInterface::class)
->disableOriginalConstructor()->getMock();
$this->tokenProvider = $this->getMockBuilder(IProvider::class)
private $throttler;
/** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */
private $request;
- /** @var BruteForceMiddleware */
- private $bruteForceMiddleware;
+ private BruteForceMiddleware $bruteForceMiddleware;
protected function setUp(): void {
parent::setUp();