Completed
Pull Request — stable10 (#5732)
by Morris
14:18
created
apps/files/ajax/getstoragestats.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
 $dir = '/';
27 27
 
28 28
 if (isset($_GET['dir'])) {
29
-	$dir = (string)$_GET['dir'];
29
+    $dir = (string)$_GET['dir'];
30 30
 }
31 31
 
32 32
 OCP\JSON::checkLoggedIn();
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
 
35 35
 // send back json
36 36
 try {
37
-	OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics($dir)));
37
+    OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics($dir)));
38 38
 } catch (\OCP\Files\NotFoundException $e) {
39
-	OCP\JSON::error(['data' => ['message' => 'Folder not found']]);
39
+    OCP\JSON::error(['data' => ['message' => 'Folder not found']]);
40 40
 }
Please login to merge, or discard this patch.
apps/files/ajax/download.php 1 patch
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
 $files_list = json_decode($files);
38 38
 // in case we get only a single file
39 39
 if (!is_array($files_list)) {
40
-	$files_list = array($files);
40
+    $files_list = array($files);
41 41
 }
42 42
 
43 43
 /**
@@ -46,9 +46,9 @@  discard block
 block discarded – undo
46 46
  * alphanumeric characters
47 47
  */
48 48
 if(isset($_GET['downloadStartSecret'])
49
-	&& !isset($_GET['downloadStartSecret'][32])
50
-	&& preg_match('!^[a-zA-Z0-9]+$!', $_GET['downloadStartSecret']) === 1) {
51
-	setcookie('ocDownloadStarted', $_GET['downloadStartSecret'], time() + 20, '/');
49
+    && !isset($_GET['downloadStartSecret'][32])
50
+    && preg_match('!^[a-zA-Z0-9]+$!', $_GET['downloadStartSecret']) === 1) {
51
+    setcookie('ocDownloadStarted', $_GET['downloadStartSecret'], time() + 20, '/');
52 52
 }
53 53
 
54 54
 $server_params = array( 'head' => \OC::$server->getRequest()->getMethod() == 'HEAD' );
@@ -57,7 +57,7 @@  discard block
 block discarded – undo
57 57
  * Http range requests support
58 58
  */
59 59
 if (isset($_SERVER['HTTP_RANGE'])) {
60
-	$server_params['range'] = \OC::$server->getRequest()->getHeader('Range');
60
+    $server_params['range'] = \OC::$server->getRequest()->getHeader('Range');
61 61
 }
62 62
 
63 63
 OC_Files::get($dir, $files_list, $server_params);
Please login to merge, or discard this patch.
apps/files/lib/App.php 1 patch
Indentation   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -27,22 +27,22 @@
 block discarded – undo
27 27
 namespace OCA\Files;
28 28
 
29 29
 class App {
30
-	/**
31
-	 * @var \OCP\INavigationManager
32
-	 */
33
-	private static $navigationManager;
30
+    /**
31
+     * @var \OCP\INavigationManager
32
+     */
33
+    private static $navigationManager;
34 34
 
35
-	/**
36
-	 * Returns the app's navigation manager
37
-	 *
38
-	 * @return \OCP\INavigationManager
39
-	 */
40
-	public static function getNavigationManager() {
41
-		// TODO: move this into a service in the Application class
42
-		if (self::$navigationManager === null) {
43
-			self::$navigationManager = new \OC\NavigationManager();
44
-		}
45
-		return self::$navigationManager;
46
-	}
35
+    /**
36
+     * Returns the app's navigation manager
37
+     *
38
+     * @return \OCP\INavigationManager
39
+     */
40
+    public static function getNavigationManager() {
41
+        // TODO: move this into a service in the Application class
42
+        if (self::$navigationManager === null) {
43
+            self::$navigationManager = new \OC\NavigationManager();
44
+        }
45
+        return self::$navigationManager;
46
+    }
47 47
 
48 48
 }
Please login to merge, or discard this patch.
apps/files/lib/Controller/SettingsController.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -29,23 +29,23 @@
 block discarded – undo
29 29
 use OCP\Util;
30 30
 
31 31
 class SettingsController extends Controller {
32
-	public function __construct($appName, IRequest $request) {
33
-		parent::__construct($appName, $request);
34
-	}
32
+    public function __construct($appName, IRequest $request) {
33
+        parent::__construct($appName, $request);
34
+    }
35 35
 
36
-	/**
37
-	 * @param string $maxUploadSize
38
-	 * @return JSONResponse
39
-	 */
40
-	public function setMaxUploadSize($maxUploadSize) {
41
-		$setMaxSize = \OC_Files::setUploadLimit(Util::computerFileSize($maxUploadSize));
36
+    /**
37
+     * @param string $maxUploadSize
38
+     * @return JSONResponse
39
+     */
40
+    public function setMaxUploadSize($maxUploadSize) {
41
+        $setMaxSize = \OC_Files::setUploadLimit(Util::computerFileSize($maxUploadSize));
42 42
 
43
-		if ($setMaxSize === false) {
44
-			return new JSONResponse([], Http::STATUS_BAD_REQUEST);
45
-		} else {
46
-			return new JSONResponse([
47
-				'maxUploadSize' => Util::humanFileSize($setMaxSize)
48
-			]);
49
-		}
50
-	}
43
+        if ($setMaxSize === false) {
44
+            return new JSONResponse([], Http::STATUS_BAD_REQUEST);
45
+        } else {
46
+            return new JSONResponse([
47
+                'maxUploadSize' => Util::humanFileSize($setMaxSize)
48
+            ]);
49
+        }
50
+    }
51 51
 }
Please login to merge, or discard this patch.
apps/files/lib/Command/DeleteOrphanedFiles.php 1 patch
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -35,51 +35,51 @@
 block discarded – undo
35 35
  */
36 36
 class DeleteOrphanedFiles extends Command {
37 37
 
38
-	const CHUNK_SIZE = 200;
38
+    const CHUNK_SIZE = 200;
39 39
 
40
-	/**
41
-	 * @var IDBConnection
42
-	 */
43
-	protected $connection;
40
+    /**
41
+     * @var IDBConnection
42
+     */
43
+    protected $connection;
44 44
 
45
-	public function __construct(IDBConnection $connection) {
46
-		$this->connection = $connection;
47
-		parent::__construct();
48
-	}
45
+    public function __construct(IDBConnection $connection) {
46
+        $this->connection = $connection;
47
+        parent::__construct();
48
+    }
49 49
 
50
-	protected function configure() {
51
-		$this
52
-			->setName('files:cleanup')
53
-			->setDescription('cleanup filecache');
54
-	}
50
+    protected function configure() {
51
+        $this
52
+            ->setName('files:cleanup')
53
+            ->setDescription('cleanup filecache');
54
+    }
55 55
 
56
-	public function execute(InputInterface $input, OutputInterface $output) {
57
-		$deletedEntries = 0;
56
+    public function execute(InputInterface $input, OutputInterface $output) {
57
+        $deletedEntries = 0;
58 58
 
59
-		$query = $this->connection->getQueryBuilder();
60
-		$query->select('fc.fileid')
61
-			->from('filecache', 'fc')
62
-			->where($query->expr()->isNull('s.numeric_id'))
63
-			->leftJoin('fc', 'storages', 's', $query->expr()->eq('fc.storage', 's.numeric_id'))
64
-			->setMaxResults(self::CHUNK_SIZE);
59
+        $query = $this->connection->getQueryBuilder();
60
+        $query->select('fc.fileid')
61
+            ->from('filecache', 'fc')
62
+            ->where($query->expr()->isNull('s.numeric_id'))
63
+            ->leftJoin('fc', 'storages', 's', $query->expr()->eq('fc.storage', 's.numeric_id'))
64
+            ->setMaxResults(self::CHUNK_SIZE);
65 65
 
66
-		$deleteQuery = $this->connection->getQueryBuilder();
67
-		$deleteQuery->delete('filecache')
68
-			->where($deleteQuery->expr()->eq('fileid', $deleteQuery->createParameter('objectid')));
66
+        $deleteQuery = $this->connection->getQueryBuilder();
67
+        $deleteQuery->delete('filecache')
68
+            ->where($deleteQuery->expr()->eq('fileid', $deleteQuery->createParameter('objectid')));
69 69
 
70
-		$deletedInLastChunk = self::CHUNK_SIZE;
71
-		while ($deletedInLastChunk === self::CHUNK_SIZE) {
72
-			$deletedInLastChunk = 0;
73
-			$result = $query->execute();
74
-			while ($row = $result->fetch()) {
75
-				$deletedInLastChunk++;
76
-				$deletedEntries += $deleteQuery->setParameter('objectid', (int) $row['fileid'])
77
-					->execute();
78
-			}
79
-			$result->closeCursor();
80
-		}
70
+        $deletedInLastChunk = self::CHUNK_SIZE;
71
+        while ($deletedInLastChunk === self::CHUNK_SIZE) {
72
+            $deletedInLastChunk = 0;
73
+            $result = $query->execute();
74
+            while ($row = $result->fetch()) {
75
+                $deletedInLastChunk++;
76
+                $deletedEntries += $deleteQuery->setParameter('objectid', (int) $row['fileid'])
77
+                    ->execute();
78
+            }
79
+            $result->closeCursor();
80
+        }
81 81
 
82
-		$output->writeln("$deletedEntries orphaned file cache entries deleted");
83
-	}
82
+        $output->writeln("$deletedEntries orphaned file cache entries deleted");
83
+    }
84 84
 
85 85
 }
Please login to merge, or discard this patch.
apps/files/lib/Command/Scan.php 1 patch
Indentation   +276 added lines, -276 removed lines patch added patch discarded remove patch
@@ -42,305 +42,305 @@
 block discarded – undo
42 42
 
43 43
 class Scan extends Base {
44 44
 
45
-	/** @var IUserManager $userManager */
46
-	private $userManager;
47
-	/** @var float */
48
-	protected $execTime = 0;
49
-	/** @var int */
50
-	protected $foldersCounter = 0;
51
-	/** @var int */
52
-	protected $filesCounter = 0;
45
+    /** @var IUserManager $userManager */
46
+    private $userManager;
47
+    /** @var float */
48
+    protected $execTime = 0;
49
+    /** @var int */
50
+    protected $foldersCounter = 0;
51
+    /** @var int */
52
+    protected $filesCounter = 0;
53 53
 
54
-	public function __construct(IUserManager $userManager) {
55
-		$this->userManager = $userManager;
56
-		parent::__construct();
57
-	}
54
+    public function __construct(IUserManager $userManager) {
55
+        $this->userManager = $userManager;
56
+        parent::__construct();
57
+    }
58 58
 
59
-	protected function configure() {
60
-		parent::configure();
59
+    protected function configure() {
60
+        parent::configure();
61 61
 
62
-		$this
63
-			->setName('files:scan')
64
-			->setDescription('rescan filesystem')
65
-			->addArgument(
66
-				'user_id',
67
-				InputArgument::OPTIONAL | InputArgument::IS_ARRAY,
68
-				'will rescan all files of the given user(s)'
69
-			)
70
-			->addOption(
71
-				'path',
72
-				'p',
73
-				InputArgument::OPTIONAL,
74
-				'limit rescan to this path, eg. --path="/alice/files/Music", the user_id is determined by the path and the user_id parameter and --all are ignored'
75
-			)
76
-			->addOption(
77
-				'quiet',
78
-				'q',
79
-				InputOption::VALUE_NONE,
80
-				'suppress any output'
81
-			)
82
-			->addOption(
83
-				'verbose',
84
-				'-v|vv|vvv',
85
-				InputOption::VALUE_NONE,
86
-				'verbose the output'
87
-			)
88
-			->addOption(
89
-				'all',
90
-				null,
91
-				InputOption::VALUE_NONE,
92
-				'will rescan all files of all known users'
93
-			)->addOption(
94
-				'unscanned',
95
-				null,
96
-				InputOption::VALUE_NONE,
97
-				'only scan files which are marked as not fully scanned'
98
-			);
99
-	}
62
+        $this
63
+            ->setName('files:scan')
64
+            ->setDescription('rescan filesystem')
65
+            ->addArgument(
66
+                'user_id',
67
+                InputArgument::OPTIONAL | InputArgument::IS_ARRAY,
68
+                'will rescan all files of the given user(s)'
69
+            )
70
+            ->addOption(
71
+                'path',
72
+                'p',
73
+                InputArgument::OPTIONAL,
74
+                'limit rescan to this path, eg. --path="/alice/files/Music", the user_id is determined by the path and the user_id parameter and --all are ignored'
75
+            )
76
+            ->addOption(
77
+                'quiet',
78
+                'q',
79
+                InputOption::VALUE_NONE,
80
+                'suppress any output'
81
+            )
82
+            ->addOption(
83
+                'verbose',
84
+                '-v|vv|vvv',
85
+                InputOption::VALUE_NONE,
86
+                'verbose the output'
87
+            )
88
+            ->addOption(
89
+                'all',
90
+                null,
91
+                InputOption::VALUE_NONE,
92
+                'will rescan all files of all known users'
93
+            )->addOption(
94
+                'unscanned',
95
+                null,
96
+                InputOption::VALUE_NONE,
97
+                'only scan files which are marked as not fully scanned'
98
+            );
99
+    }
100 100
 
101
-	public function checkScanWarning($fullPath, OutputInterface $output) {
102
-		$normalizedPath = basename(\OC\Files\Filesystem::normalizePath($fullPath));
103
-		$path = basename($fullPath);
101
+    public function checkScanWarning($fullPath, OutputInterface $output) {
102
+        $normalizedPath = basename(\OC\Files\Filesystem::normalizePath($fullPath));
103
+        $path = basename($fullPath);
104 104
 
105
-		if ($normalizedPath !== $path) {
106
-			$output->writeln("\t<error>Entry \"" . $fullPath . '" will not be accessible due to incompatible encoding</error>');
107
-		}
108
-	}
105
+        if ($normalizedPath !== $path) {
106
+            $output->writeln("\t<error>Entry \"" . $fullPath . '" will not be accessible due to incompatible encoding</error>');
107
+        }
108
+    }
109 109
 
110
-	protected function scanFiles($user, $path, $verbose, OutputInterface $output, $backgroundScan = false) {
111
-		$connection = $this->reconnectToDatabase($output);
112
-		$scanner = new \OC\Files\Utils\Scanner($user, $connection, \OC::$server->getLogger());
113
-		# check on each file/folder if there was a user interrupt (ctrl-c) and throw an exception
114
-		# printout and count
115
-		if ($verbose) {
116
-			$scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function ($path) use ($output) {
117
-				$output->writeln("\tFile   <info>$path</info>");
118
-				$this->filesCounter += 1;
119
-				if ($this->hasBeenInterrupted()) {
120
-					throw new \Exception('ctrl-c');
121
-				}
122
-			});
123
-			$scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function ($path) use ($output) {
124
-				$output->writeln("\tFolder <info>$path</info>");
125
-				$this->foldersCounter += 1;
126
-				if ($this->hasBeenInterrupted()) {
127
-					throw new \Exception('ctrl-c');
128
-				}
129
-			});
130
-			$scanner->listen('\OC\Files\Utils\Scanner', 'StorageNotAvailable', function (StorageNotAvailableException $e) use ($output) {
131
-				$output->writeln("Error while scanning, storage not available (" . $e->getMessage() . ")");
132
-			});
133
-		# count only
134
-		} else {
135
-			$scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function () use ($output) {
136
-				$this->filesCounter += 1;
137
-				if ($this->hasBeenInterrupted()) {
138
-					throw new \Exception('ctrl-c');
139
-				}
140
-			});
141
-			$scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function () use ($output) {
142
-				$this->foldersCounter += 1;
143
-				if ($this->hasBeenInterrupted()) {
144
-					throw new \Exception('ctrl-c');
145
-				}
146
-			});
147
-		}
148
-		$scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function($path) use ($output) {
149
-			$this->checkScanWarning($path, $output);
150
-		});
151
-		$scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function($path) use ($output) {
152
-			$this->checkScanWarning($path, $output);
153
-		});
110
+    protected function scanFiles($user, $path, $verbose, OutputInterface $output, $backgroundScan = false) {
111
+        $connection = $this->reconnectToDatabase($output);
112
+        $scanner = new \OC\Files\Utils\Scanner($user, $connection, \OC::$server->getLogger());
113
+        # check on each file/folder if there was a user interrupt (ctrl-c) and throw an exception
114
+        # printout and count
115
+        if ($verbose) {
116
+            $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function ($path) use ($output) {
117
+                $output->writeln("\tFile   <info>$path</info>");
118
+                $this->filesCounter += 1;
119
+                if ($this->hasBeenInterrupted()) {
120
+                    throw new \Exception('ctrl-c');
121
+                }
122
+            });
123
+            $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function ($path) use ($output) {
124
+                $output->writeln("\tFolder <info>$path</info>");
125
+                $this->foldersCounter += 1;
126
+                if ($this->hasBeenInterrupted()) {
127
+                    throw new \Exception('ctrl-c');
128
+                }
129
+            });
130
+            $scanner->listen('\OC\Files\Utils\Scanner', 'StorageNotAvailable', function (StorageNotAvailableException $e) use ($output) {
131
+                $output->writeln("Error while scanning, storage not available (" . $e->getMessage() . ")");
132
+            });
133
+        # count only
134
+        } else {
135
+            $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function () use ($output) {
136
+                $this->filesCounter += 1;
137
+                if ($this->hasBeenInterrupted()) {
138
+                    throw new \Exception('ctrl-c');
139
+                }
140
+            });
141
+            $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function () use ($output) {
142
+                $this->foldersCounter += 1;
143
+                if ($this->hasBeenInterrupted()) {
144
+                    throw new \Exception('ctrl-c');
145
+                }
146
+            });
147
+        }
148
+        $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function($path) use ($output) {
149
+            $this->checkScanWarning($path, $output);
150
+        });
151
+        $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function($path) use ($output) {
152
+            $this->checkScanWarning($path, $output);
153
+        });
154 154
 
155
-		try {
156
-			if ($backgroundScan) {
157
-				$scanner->backgroundScan($path);
158
-			}else {
159
-				$scanner->scan($path);
160
-			}
161
-		} catch (ForbiddenException $e) {
162
-			$output->writeln("<error>Home storage for user $user not writable</error>");
163
-			$output->writeln("Make sure you're running the scan command only as the user the web server runs as");
164
-		} catch (\Exception $e) {
165
-			if ($e->getMessage() !== 'ctrl-c') {
166
-				$output->writeln('<error>Exception while scanning: ' . $e->getMessage() . "\n" . $e->getTraceAsString() . '</error>');
167
-			}
168
-			return;
169
-		}
170
-	}
155
+        try {
156
+            if ($backgroundScan) {
157
+                $scanner->backgroundScan($path);
158
+            }else {
159
+                $scanner->scan($path);
160
+            }
161
+        } catch (ForbiddenException $e) {
162
+            $output->writeln("<error>Home storage for user $user not writable</error>");
163
+            $output->writeln("Make sure you're running the scan command only as the user the web server runs as");
164
+        } catch (\Exception $e) {
165
+            if ($e->getMessage() !== 'ctrl-c') {
166
+                $output->writeln('<error>Exception while scanning: ' . $e->getMessage() . "\n" . $e->getTraceAsString() . '</error>');
167
+            }
168
+            return;
169
+        }
170
+    }
171 171
 
172 172
 
173
-	protected function execute(InputInterface $input, OutputInterface $output) {
174
-		$inputPath = $input->getOption('path');
175
-		if ($inputPath) {
176
-			$inputPath = '/' . trim($inputPath, '/');
177
-			list (, $user,) = explode('/', $inputPath, 3);
178
-			$users = array($user);
179
-		} else if ($input->getOption('all')) {
180
-			$users = $this->userManager->search('');
181
-		} else {
182
-			$users = $input->getArgument('user_id');
183
-		}
173
+    protected function execute(InputInterface $input, OutputInterface $output) {
174
+        $inputPath = $input->getOption('path');
175
+        if ($inputPath) {
176
+            $inputPath = '/' . trim($inputPath, '/');
177
+            list (, $user,) = explode('/', $inputPath, 3);
178
+            $users = array($user);
179
+        } else if ($input->getOption('all')) {
180
+            $users = $this->userManager->search('');
181
+        } else {
182
+            $users = $input->getArgument('user_id');
183
+        }
184 184
 
185
-		# no messaging level option means: no full printout but statistics
186
-		# $quiet   means no print at all
187
-		# $verbose means full printout including statistics
188
-		# -q	-v	full	stat
189
-		#  0	 0	no	yes
190
-		#  0	 1	yes	yes
191
-		#  1	--	no	no  (quiet overrules verbose)
192
-		$verbose = $input->getOption('verbose');
193
-		$quiet = $input->getOption('quiet');
194
-		# restrict the verbosity level to VERBOSITY_VERBOSE
195
-		if ($output->getVerbosity()>OutputInterface::VERBOSITY_VERBOSE) {
196
-			$output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE);
197
-		}
198
-		if ($quiet) {
199
-			$verbose = false;
200
-		}
185
+        # no messaging level option means: no full printout but statistics
186
+        # $quiet   means no print at all
187
+        # $verbose means full printout including statistics
188
+        # -q	-v	full	stat
189
+        #  0	 0	no	yes
190
+        #  0	 1	yes	yes
191
+        #  1	--	no	no  (quiet overrules verbose)
192
+        $verbose = $input->getOption('verbose');
193
+        $quiet = $input->getOption('quiet');
194
+        # restrict the verbosity level to VERBOSITY_VERBOSE
195
+        if ($output->getVerbosity()>OutputInterface::VERBOSITY_VERBOSE) {
196
+            $output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE);
197
+        }
198
+        if ($quiet) {
199
+            $verbose = false;
200
+        }
201 201
 
202
-		# check quantity of users to be process and show it on the command line
203
-		$users_total = count($users);
204
-		if ($users_total === 0) {
205
-			$output->writeln("<error>Please specify the user id to scan, \"--all\" to scan for all users or \"--path=...\"</error>");
206
-			return;
207
-		} else {
208
-			if ($users_total > 1) {
209
-				$output->writeln("\nScanning files for $users_total users");
210
-			}
211
-		}
202
+        # check quantity of users to be process and show it on the command line
203
+        $users_total = count($users);
204
+        if ($users_total === 0) {
205
+            $output->writeln("<error>Please specify the user id to scan, \"--all\" to scan for all users or \"--path=...\"</error>");
206
+            return;
207
+        } else {
208
+            if ($users_total > 1) {
209
+                $output->writeln("\nScanning files for $users_total users");
210
+            }
211
+        }
212 212
 
213
-		$this->initTools();
213
+        $this->initTools();
214 214
 
215
-		$user_count = 0;
216
-		foreach ($users as $user) {
217
-			if (is_object($user)) {
218
-				$user = $user->getUID();
219
-			}
220
-			$path = $inputPath ? $inputPath : '/' . $user;
221
-			$user_count += 1;
222
-			if ($this->userManager->userExists($user)) {
223
-				# add an extra line when verbose is set to optical separate users
224
-				if ($verbose) {$output->writeln(""); }
225
-				$output->writeln("Starting scan for user $user_count out of $users_total ($user)");
226
-				# full: printout data if $verbose was set
227
-				$this->scanFiles($user, $path, $verbose, $output, $input->getOption('unscanned'));
228
-			} else {
229
-				$output->writeln("<error>Unknown user $user_count $user</error>");
230
-			}
231
-			# check on each user if there was a user interrupt (ctrl-c) and exit foreach
232
-			if ($this->hasBeenInterrupted()) {
233
-				break;
234
-			}
235
-		}
215
+        $user_count = 0;
216
+        foreach ($users as $user) {
217
+            if (is_object($user)) {
218
+                $user = $user->getUID();
219
+            }
220
+            $path = $inputPath ? $inputPath : '/' . $user;
221
+            $user_count += 1;
222
+            if ($this->userManager->userExists($user)) {
223
+                # add an extra line when verbose is set to optical separate users
224
+                if ($verbose) {$output->writeln(""); }
225
+                $output->writeln("Starting scan for user $user_count out of $users_total ($user)");
226
+                # full: printout data if $verbose was set
227
+                $this->scanFiles($user, $path, $verbose, $output, $input->getOption('unscanned'));
228
+            } else {
229
+                $output->writeln("<error>Unknown user $user_count $user</error>");
230
+            }
231
+            # check on each user if there was a user interrupt (ctrl-c) and exit foreach
232
+            if ($this->hasBeenInterrupted()) {
233
+                break;
234
+            }
235
+        }
236 236
 
237
-		# stat: printout statistics if $quiet was not set
238
-		if (!$quiet) {
239
-			$this->presentStats($output);
240
-		}
241
-	}
237
+        # stat: printout statistics if $quiet was not set
238
+        if (!$quiet) {
239
+            $this->presentStats($output);
240
+        }
241
+    }
242 242
 
243
-	/**
244
-	 * Initialises some useful tools for the Command
245
-	 */
246
-	protected function initTools() {
247
-		// Start the timer
248
-		$this->execTime = -microtime(true);
249
-		// Convert PHP errors to exceptions
250
-		set_error_handler([$this, 'exceptionErrorHandler'], E_ALL);
251
-	}
243
+    /**
244
+     * Initialises some useful tools for the Command
245
+     */
246
+    protected function initTools() {
247
+        // Start the timer
248
+        $this->execTime = -microtime(true);
249
+        // Convert PHP errors to exceptions
250
+        set_error_handler([$this, 'exceptionErrorHandler'], E_ALL);
251
+    }
252 252
 
253
-	/**
254
-	 * Processes PHP errors as exceptions in order to be able to keep track of problems
255
-	 *
256
-	 * @see https://secure.php.net/manual/en/function.set-error-handler.php
257
-	 *
258
-	 * @param int $severity the level of the error raised
259
-	 * @param string $message
260
-	 * @param string $file the filename that the error was raised in
261
-	 * @param int $line the line number the error was raised
262
-	 *
263
-	 * @throws \ErrorException
264
-	 */
265
-	public function exceptionErrorHandler($severity, $message, $file, $line) {
266
-		if (!(error_reporting() & $severity)) {
267
-			// This error code is not included in error_reporting
268
-			return;
269
-		}
270
-		throw new \ErrorException($message, 0, $severity, $file, $line);
271
-	}
253
+    /**
254
+     * Processes PHP errors as exceptions in order to be able to keep track of problems
255
+     *
256
+     * @see https://secure.php.net/manual/en/function.set-error-handler.php
257
+     *
258
+     * @param int $severity the level of the error raised
259
+     * @param string $message
260
+     * @param string $file the filename that the error was raised in
261
+     * @param int $line the line number the error was raised
262
+     *
263
+     * @throws \ErrorException
264
+     */
265
+    public function exceptionErrorHandler($severity, $message, $file, $line) {
266
+        if (!(error_reporting() & $severity)) {
267
+            // This error code is not included in error_reporting
268
+            return;
269
+        }
270
+        throw new \ErrorException($message, 0, $severity, $file, $line);
271
+    }
272 272
 
273
-	/**
274
-	 * @param OutputInterface $output
275
-	 */
276
-	protected function presentStats(OutputInterface $output) {
277
-		// Stop the timer
278
-		$this->execTime += microtime(true);
279
-		$output->writeln("");
273
+    /**
274
+     * @param OutputInterface $output
275
+     */
276
+    protected function presentStats(OutputInterface $output) {
277
+        // Stop the timer
278
+        $this->execTime += microtime(true);
279
+        $output->writeln("");
280 280
 
281
-		$headers = [
282
-			'Folders', 'Files', 'Elapsed time'
283
-		];
281
+        $headers = [
282
+            'Folders', 'Files', 'Elapsed time'
283
+        ];
284 284
 
285
-		$this->showSummary($headers, null, $output);
286
-	}
285
+        $this->showSummary($headers, null, $output);
286
+    }
287 287
 
288
-	/**
289
-	 * Shows a summary of operations
290
-	 *
291
-	 * @param string[] $headers
292
-	 * @param string[] $rows
293
-	 * @param OutputInterface $output
294
-	 */
295
-	protected function showSummary($headers, $rows, OutputInterface $output) {
296
-		$niceDate = $this->formatExecTime();
297
-		if (!$rows) {
298
-			$rows = [
299
-				$this->foldersCounter,
300
-				$this->filesCounter,
301
-				$niceDate,
302
-			];
303
-		}
304
-		$table = new Table($output);
305
-		$table
306
-			->setHeaders($headers)
307
-			->setRows([$rows]);
308
-		$table->render();
309
-	}
288
+    /**
289
+     * Shows a summary of operations
290
+     *
291
+     * @param string[] $headers
292
+     * @param string[] $rows
293
+     * @param OutputInterface $output
294
+     */
295
+    protected function showSummary($headers, $rows, OutputInterface $output) {
296
+        $niceDate = $this->formatExecTime();
297
+        if (!$rows) {
298
+            $rows = [
299
+                $this->foldersCounter,
300
+                $this->filesCounter,
301
+                $niceDate,
302
+            ];
303
+        }
304
+        $table = new Table($output);
305
+        $table
306
+            ->setHeaders($headers)
307
+            ->setRows([$rows]);
308
+        $table->render();
309
+    }
310 310
 
311 311
 
312
-	/**
313
-	 * Formats microtime into a human readable format
314
-	 *
315
-	 * @return string
316
-	 */
317
-	protected function formatExecTime() {
318
-		list($secs, $tens) = explode('.', sprintf("%.1f", ($this->execTime)));
312
+    /**
313
+     * Formats microtime into a human readable format
314
+     *
315
+     * @return string
316
+     */
317
+    protected function formatExecTime() {
318
+        list($secs, $tens) = explode('.', sprintf("%.1f", ($this->execTime)));
319 319
 
320
-		# if you want to have microseconds add this:   . '.' . $tens;
321
-		return date('H:i:s', $secs);
322
-	}
320
+        # if you want to have microseconds add this:   . '.' . $tens;
321
+        return date('H:i:s', $secs);
322
+    }
323 323
 
324
-	/**
325
-	 * @return \OCP\IDBConnection
326
-	 */
327
-	protected function reconnectToDatabase(OutputInterface $output) {
328
-		/** @var Connection | IDBConnection $connection*/
329
-		$connection = \OC::$server->getDatabaseConnection();
330
-		try {
331
-			$connection->close();
332
-		} catch (\Exception $ex) {
333
-			$output->writeln("<info>Error while disconnecting from database: {$ex->getMessage()}</info>");
334
-		}
335
-		while (!$connection->isConnected()) {
336
-			try {
337
-				$connection->connect();
338
-			} catch (\Exception $ex) {
339
-				$output->writeln("<info>Error while re-connecting to database: {$ex->getMessage()}</info>");
340
-				sleep(60);
341
-			}
342
-		}
343
-		return $connection;
344
-	}
324
+    /**
325
+     * @return \OCP\IDBConnection
326
+     */
327
+    protected function reconnectToDatabase(OutputInterface $output) {
328
+        /** @var Connection | IDBConnection $connection*/
329
+        $connection = \OC::$server->getDatabaseConnection();
330
+        try {
331
+            $connection->close();
332
+        } catch (\Exception $ex) {
333
+            $output->writeln("<info>Error while disconnecting from database: {$ex->getMessage()}</info>");
334
+        }
335
+        while (!$connection->isConnected()) {
336
+            try {
337
+                $connection->connect();
338
+            } catch (\Exception $ex) {
339
+                $output->writeln("<info>Error while re-connecting to database: {$ex->getMessage()}</info>");
340
+                sleep(60);
341
+            }
342
+        }
343
+        return $connection;
344
+    }
345 345
 
346 346
 }
Please login to merge, or discard this patch.
apps/files/lib/Capabilities.php 1 patch
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -34,29 +34,29 @@
 block discarded – undo
34 34
  * @package OCA\Files
35 35
  */
36 36
 class Capabilities implements ICapability {
37
-	/** @var IConfig */
38
-	protected $config;
37
+    /** @var IConfig */
38
+    protected $config;
39 39
 
40
-	/**
41
-	 * Capabilities constructor.
42
-	 *
43
-	 * @param IConfig $config
44
-	 */
45
-	public function __construct(IConfig $config) {
46
-		$this->config = $config;
47
-	}
40
+    /**
41
+     * Capabilities constructor.
42
+     *
43
+     * @param IConfig $config
44
+     */
45
+    public function __construct(IConfig $config) {
46
+        $this->config = $config;
47
+    }
48 48
 
49
-	/**
50
-	 * Return this classes capabilities
51
-	 *
52
-	 * @return array
53
-	 */
54
-	public function getCapabilities() {
55
-		return [
56
-			'files' => [
57
-				'bigfilechunking' => true,
58
-				'blacklisted_files' => $this->config->getSystemValue('blacklisted_files', ['.htaccess']),
59
-			],
60
-		];
61
-	}
49
+    /**
50
+     * Return this classes capabilities
51
+     *
52
+     * @return array
53
+     */
54
+    public function getCapabilities() {
55
+        return [
56
+            'files' => [
57
+                'bigfilechunking' => true,
58
+                'blacklisted_files' => $this->config->getSystemValue('blacklisted_files', ['.htaccess']),
59
+            ],
60
+        ];
61
+    }
62 62
 }
Please login to merge, or discard this patch.
apps/files/lib/BackgroundJob/CleanupFileLocks.php 1 patch
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -30,29 +30,29 @@
 block discarded – undo
30 30
  */
31 31
 class CleanupFileLocks extends TimedJob {
32 32
 
33
-	/**
34
-	 * Default interval in minutes
35
-	 *
36
-	 * @var int $defaultIntervalMin
37
-	 **/
38
-	protected $defaultIntervalMin = 5;
33
+    /**
34
+     * Default interval in minutes
35
+     *
36
+     * @var int $defaultIntervalMin
37
+     **/
38
+    protected $defaultIntervalMin = 5;
39 39
 
40
-	/**
41
-	 * sets the correct interval for this timed job
42
-	 */
43
-	public function __construct() {
44
-		$this->interval = $this->defaultIntervalMin * 60;
45
-	}
40
+    /**
41
+     * sets the correct interval for this timed job
42
+     */
43
+    public function __construct() {
44
+        $this->interval = $this->defaultIntervalMin * 60;
45
+    }
46 46
 
47
-	/**
48
-	 * Makes the background job do its work
49
-	 *
50
-	 * @param array $argument unused argument
51
-	 */
52
-	public function run($argument) {
53
-		$lockingProvider = \OC::$server->getLockingProvider();
54
-		if($lockingProvider instanceof DBLockingProvider) {
55
-			$lockingProvider->cleanExpiredLocks();
56
-		}
57
-	}
47
+    /**
48
+     * Makes the background job do its work
49
+     *
50
+     * @param array $argument unused argument
51
+     */
52
+    public function run($argument) {
53
+        $lockingProvider = \OC::$server->getLockingProvider();
54
+        if($lockingProvider instanceof DBLockingProvider) {
55
+            $lockingProvider->cleanExpiredLocks();
56
+        }
57
+    }
58 58
 }
Please login to merge, or discard this patch.
apps/files/lib/BackgroundJob/DeleteOrphanedItems.php 1 patch
Indentation   +118 added lines, -118 removed lines patch added patch discarded remove patch
@@ -32,123 +32,123 @@
 block discarded – undo
32 32
  */
33 33
 class DeleteOrphanedItems extends TimedJob {
34 34
 
35
-	const CHUNK_SIZE = 200;
36
-
37
-	/** @var \OCP\IDBConnection */
38
-	protected $connection;
39
-
40
-	/** @var \OCP\ILogger */
41
-	protected $logger;
42
-
43
-	/**
44
-	 * Default interval in minutes
45
-	 *
46
-	 * @var int $defaultIntervalMin
47
-	 **/
48
-	protected $defaultIntervalMin = 60;
49
-
50
-	/**
51
-	 * sets the correct interval for this timed job
52
-	 */
53
-	public function __construct() {
54
-		$this->interval = $this->defaultIntervalMin * 60;
55
-		$this->connection = \OC::$server->getDatabaseConnection();
56
-		$this->logger = \OC::$server->getLogger();
57
-	}
58
-
59
-	/**
60
-	 * Makes the background job do its work
61
-	 *
62
-	 * @param array $argument unused argument
63
-	 */
64
-	public function run($argument) {
65
-		$this->cleanSystemTags();
66
-		$this->cleanUserTags();
67
-		$this->cleanComments();
68
-		$this->cleanCommentMarkers();
69
-	}
70
-
71
-	/**
72
-	 * Deleting orphaned system tag mappings
73
-	 *
74
-	 * @param string $table
75
-	 * @param string $idCol
76
-	 * @param string $typeCol
77
-	 * @return int Number of deleted entries
78
-	 */
79
-	protected function cleanUp($table, $idCol, $typeCol) {
80
-		$deletedEntries = 0;
81
-
82
-		$query = $this->connection->getQueryBuilder();
83
-		$query->select('t1.' . $idCol)
84
-			->from($table, 't1')
85
-			->where($query->expr()->eq($typeCol, $query->expr()->literal('files')))
86
-			->andWhere($query->expr()->isNull('t2.fileid'))
87
-			->leftJoin('t1', 'filecache', 't2', $query->expr()->eq($query->expr()->castColumn('t1.' . $idCol, IQueryBuilder::PARAM_INT), 't2.fileid'))
88
-			->groupBy('t1.' . $idCol)
89
-			->setMaxResults(self::CHUNK_SIZE);
90
-
91
-		$deleteQuery = $this->connection->getQueryBuilder();
92
-		$deleteQuery->delete($table)
93
-			->where($deleteQuery->expr()->eq($idCol, $deleteQuery->createParameter('objectid')));
94
-
95
-		$deletedInLastChunk = self::CHUNK_SIZE;
96
-		while ($deletedInLastChunk === self::CHUNK_SIZE) {
97
-			$result = $query->execute();
98
-			$deletedInLastChunk = 0;
99
-			while ($row = $result->fetch()) {
100
-				$deletedInLastChunk++;
101
-				$deletedEntries += $deleteQuery->setParameter('objectid', (int) $row[$idCol])
102
-					->execute();
103
-			}
104
-			$result->closeCursor();
105
-		}
106
-
107
-		return $deletedEntries;
108
-	}
109
-
110
-	/**
111
-	 * Deleting orphaned system tag mappings
112
-	 *
113
-	 * @return int Number of deleted entries
114
-	 */
115
-	protected function cleanSystemTags() {
116
-		$deletedEntries = $this->cleanUp('systemtag_object_mapping', 'objectid', 'objecttype');
117
-		$this->logger->debug("$deletedEntries orphaned system tag relations deleted", ['app' => 'DeleteOrphanedItems']);
118
-		return $deletedEntries;
119
-	}
120
-
121
-	/**
122
-	 * Deleting orphaned user tag mappings
123
-	 *
124
-	 * @return int Number of deleted entries
125
-	 */
126
-	protected function cleanUserTags() {
127
-		$deletedEntries = $this->cleanUp('vcategory_to_object', 'objid', 'type');
128
-		$this->logger->debug("$deletedEntries orphaned user tag relations deleted", ['app' => 'DeleteOrphanedItems']);
129
-		return $deletedEntries;
130
-	}
131
-
132
-	/**
133
-	 * Deleting orphaned comments
134
-	 *
135
-	 * @return int Number of deleted entries
136
-	 */
137
-	protected function cleanComments() {
138
-		$deletedEntries = $this->cleanUp('comments', 'object_id', 'object_type');
139
-		$this->logger->debug("$deletedEntries orphaned comments deleted", ['app' => 'DeleteOrphanedItems']);
140
-		return $deletedEntries;
141
-	}
142
-
143
-	/**
144
-	 * Deleting orphaned comment read markers
145
-	 *
146
-	 * @return int Number of deleted entries
147
-	 */
148
-	protected function cleanCommentMarkers() {
149
-		$deletedEntries = $this->cleanUp('comments_read_markers', 'object_id', 'object_type');
150
-		$this->logger->debug("$deletedEntries orphaned comment read marks deleted", ['app' => 'DeleteOrphanedItems']);
151
-		return $deletedEntries;
152
-	}
35
+    const CHUNK_SIZE = 200;
36
+
37
+    /** @var \OCP\IDBConnection */
38
+    protected $connection;
39
+
40
+    /** @var \OCP\ILogger */
41
+    protected $logger;
42
+
43
+    /**
44
+     * Default interval in minutes
45
+     *
46
+     * @var int $defaultIntervalMin
47
+     **/
48
+    protected $defaultIntervalMin = 60;
49
+
50
+    /**
51
+     * sets the correct interval for this timed job
52
+     */
53
+    public function __construct() {
54
+        $this->interval = $this->defaultIntervalMin * 60;
55
+        $this->connection = \OC::$server->getDatabaseConnection();
56
+        $this->logger = \OC::$server->getLogger();
57
+    }
58
+
59
+    /**
60
+     * Makes the background job do its work
61
+     *
62
+     * @param array $argument unused argument
63
+     */
64
+    public function run($argument) {
65
+        $this->cleanSystemTags();
66
+        $this->cleanUserTags();
67
+        $this->cleanComments();
68
+        $this->cleanCommentMarkers();
69
+    }
70
+
71
+    /**
72
+     * Deleting orphaned system tag mappings
73
+     *
74
+     * @param string $table
75
+     * @param string $idCol
76
+     * @param string $typeCol
77
+     * @return int Number of deleted entries
78
+     */
79
+    protected function cleanUp($table, $idCol, $typeCol) {
80
+        $deletedEntries = 0;
81
+
82
+        $query = $this->connection->getQueryBuilder();
83
+        $query->select('t1.' . $idCol)
84
+            ->from($table, 't1')
85
+            ->where($query->expr()->eq($typeCol, $query->expr()->literal('files')))
86
+            ->andWhere($query->expr()->isNull('t2.fileid'))
87
+            ->leftJoin('t1', 'filecache', 't2', $query->expr()->eq($query->expr()->castColumn('t1.' . $idCol, IQueryBuilder::PARAM_INT), 't2.fileid'))
88
+            ->groupBy('t1.' . $idCol)
89
+            ->setMaxResults(self::CHUNK_SIZE);
90
+
91
+        $deleteQuery = $this->connection->getQueryBuilder();
92
+        $deleteQuery->delete($table)
93
+            ->where($deleteQuery->expr()->eq($idCol, $deleteQuery->createParameter('objectid')));
94
+
95
+        $deletedInLastChunk = self::CHUNK_SIZE;
96
+        while ($deletedInLastChunk === self::CHUNK_SIZE) {
97
+            $result = $query->execute();
98
+            $deletedInLastChunk = 0;
99
+            while ($row = $result->fetch()) {
100
+                $deletedInLastChunk++;
101
+                $deletedEntries += $deleteQuery->setParameter('objectid', (int) $row[$idCol])
102
+                    ->execute();
103
+            }
104
+            $result->closeCursor();
105
+        }
106
+
107
+        return $deletedEntries;
108
+    }
109
+
110
+    /**
111
+     * Deleting orphaned system tag mappings
112
+     *
113
+     * @return int Number of deleted entries
114
+     */
115
+    protected function cleanSystemTags() {
116
+        $deletedEntries = $this->cleanUp('systemtag_object_mapping', 'objectid', 'objecttype');
117
+        $this->logger->debug("$deletedEntries orphaned system tag relations deleted", ['app' => 'DeleteOrphanedItems']);
118
+        return $deletedEntries;
119
+    }
120
+
121
+    /**
122
+     * Deleting orphaned user tag mappings
123
+     *
124
+     * @return int Number of deleted entries
125
+     */
126
+    protected function cleanUserTags() {
127
+        $deletedEntries = $this->cleanUp('vcategory_to_object', 'objid', 'type');
128
+        $this->logger->debug("$deletedEntries orphaned user tag relations deleted", ['app' => 'DeleteOrphanedItems']);
129
+        return $deletedEntries;
130
+    }
131
+
132
+    /**
133
+     * Deleting orphaned comments
134
+     *
135
+     * @return int Number of deleted entries
136
+     */
137
+    protected function cleanComments() {
138
+        $deletedEntries = $this->cleanUp('comments', 'object_id', 'object_type');
139
+        $this->logger->debug("$deletedEntries orphaned comments deleted", ['app' => 'DeleteOrphanedItems']);
140
+        return $deletedEntries;
141
+    }
142
+
143
+    /**
144
+     * Deleting orphaned comment read markers
145
+     *
146
+     * @return int Number of deleted entries
147
+     */
148
+    protected function cleanCommentMarkers() {
149
+        $deletedEntries = $this->cleanUp('comments_read_markers', 'object_id', 'object_type');
150
+        $this->logger->debug("$deletedEntries orphaned comment read marks deleted", ['app' => 'DeleteOrphanedItems']);
151
+        return $deletedEntries;
152
+    }
153 153
 
154 154
 }
Please login to merge, or discard this patch.