Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Petry <vincent@nextcloud.com>2021-11-10 17:09:25 +0300
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2021-11-19 17:51:40 +0300
commit2b4badf768ec1a9cc9f246f3598a7396d7a52a26 (patch)
treef05cdb91501fc7a01ac6230e96ff2cdcd9a96884 /apps/files
parent787d7956cb3e559856d64cf9c21e748130d58c02 (diff)
Move storage encoding compatibility warning logic
The encoding check for file names is now happening the Scanner, and an event will be emitted only if the storage doesn't contain the encoding compatibility wrapper. The event is listened to by the occ scan command to be able to display a warning in case of file name mismatches when they have NFD encoding. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/lib/Command/Scan.php17
-rw-r--r--apps/files/lib/Command/ScanAppData.php17
2 files changed, 4 insertions, 30 deletions
diff --git a/apps/files/lib/Command/Scan.php b/apps/files/lib/Command/Scan.php
index 6a8697a5eaf..ff96fbf2dab 100644
--- a/apps/files/lib/Command/Scan.php
+++ b/apps/files/lib/Command/Scan.php
@@ -105,15 +105,6 @@ class Scan extends Base {
);
}
- public function checkScanWarning($fullPath, OutputInterface $output) {
- $normalizedPath = basename(\OC\Files\Filesystem::normalizePath($fullPath));
- $path = basename($fullPath);
-
- if ($normalizedPath !== $path) {
- $output->writeln("\t<error>Entry \"" . $fullPath . '" will not be accessible due to incompatible encoding</error>');
- }
- }
-
protected function scanFiles($user, $path, OutputInterface $output, $backgroundScan = false, $recursive = true, $homeOnly = false) {
$connection = $this->reconnectToDatabase($output);
$scanner = new \OC\Files\Utils\Scanner(
@@ -141,12 +132,8 @@ class Scan extends Base {
$output->writeln('Error while scanning, storage not available (' . $e->getMessage() . ')', OutputInterface::VERBOSITY_VERBOSE);
});
- $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function ($path) use ($output) {
- $this->checkScanWarning($path, $output);
- });
-
- $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function ($path) use ($output) {
- $this->checkScanWarning($path, $output);
+ $scanner->listen('\OC\Files\Utils\Scanner', 'normalizedNameMismatch', function ($fullPath) use ($output) {
+ $output->writeln("\t<error>Entry \"" . $fullPath . '" will not be accessible due to incompatible encoding</error>');
});
try {
diff --git a/apps/files/lib/Command/ScanAppData.php b/apps/files/lib/Command/ScanAppData.php
index 09153643727..59281b52bc4 100644
--- a/apps/files/lib/Command/ScanAppData.php
+++ b/apps/files/lib/Command/ScanAppData.php
@@ -73,15 +73,6 @@ class ScanAppData extends Base {
$this->addArgument('folder', InputArgument::OPTIONAL, 'The appdata subfolder to scan', '');
}
- public function checkScanWarning($fullPath, OutputInterface $output) {
- $normalizedPath = basename(\OC\Files\Filesystem::normalizePath($fullPath));
- $path = basename($fullPath);
-
- if ($normalizedPath !== $path) {
- $output->writeln("\t<error>Entry \"" . $fullPath . '" will not be accessible due to incompatible encoding</error>');
- }
- }
-
protected function scanFiles(OutputInterface $output, string $folder): int {
try {
$appData = $this->getAppDataFolder();
@@ -124,12 +115,8 @@ class ScanAppData extends Base {
$output->writeln('Error while scanning, storage not available (' . $e->getMessage() . ')', OutputInterface::VERBOSITY_VERBOSE);
});
- $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function ($path) use ($output) {
- $this->checkScanWarning($path, $output);
- });
-
- $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function ($path) use ($output) {
- $this->checkScanWarning($path, $output);
+ $scanner->listen('\OC\Files\Utils\Scanner', 'normalizedNameMismatch', function ($fullPath) use ($output) {
+ $output->writeln("\t<error>Entry \"" . $fullPath . '" will not be accessible due to incompatible encoding</error>');
});
try {