diff options
author | Thomas Mueller <thomas.mueller@tmit.eu> | 2013-02-12 00:32:38 +0100 |
---|---|---|
committer | Thomas Mueller <thomas.mueller@tmit.eu> | 2013-02-12 00:32:38 +0100 |
commit | 76b31f870cf78aa8882761d954554fecb92e6211 (patch) | |
tree | 9c89430fe00983e94cc8864a12cd05242741d4c3 /lib/files/cache | |
parent | 0c31c3cc3a928e8ca9272d32d68163c0700697ea (diff) | |
parent | fb23ac3ce2e0b3f002f036e55e516b672f088dc0 (diff) | |
download | nextcloud-server-76b31f870cf78aa8882761d954554fecb92e6211.tar.gz nextcloud-server-76b31f870cf78aa8882761d954554fecb92e6211.zip |
Merge branch 'master' into master-sqlserver
Diffstat (limited to 'lib/files/cache')
-rw-r--r-- | lib/files/cache/scanner.php | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php index 8d504af6163..5a9a119458e 100644 --- a/lib/files/cache/scanner.php +++ b/lib/files/cache/scanner.php @@ -97,7 +97,7 @@ class Scanner { if ($this->storage->is_dir($path) && ($dh = $this->storage->opendir($path))) { \OC_DB::beginTransaction(); while ($file = readdir($dh)) { - if ($file !== '.' and $file !== '..') { + if (!$this->isIgnoredFile($file)) { $child = ($path) ? $path . '/' . $file : $file; $data = $this->scanFile($child); if ($data) { @@ -133,12 +133,28 @@ class Scanner { } return $size; } + + /** + * @brief check if the file should be ignored when scanning + * NOTE: files with a '.part' extension are ignored as well! + * prevents unfinished put requests to be scanned + * @param String $file + * @return boolean + */ + private function isIgnoredFile($file) { + if ($file === '.' || $file === '..' + || pathinfo($file,PATHINFO_EXTENSION) === 'part') + { + return true; + } + return false; + } /** * walk over any folders that are not fully scanned yet and scan them */ public function backgroundScan() { - while ($path = $this->cache->getIncomplete()) { + while (($path = $this->cache->getIncomplete()) !== false) { $this->scan($path); $this->cache->correctFolderSize($path); } |