From 113c339c41663c692eae809ada23c4057f9e3ff0 Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Sun, 30 Sep 2012 16:11:01 +0200
Subject: [PATCH] fix updating the filecache for when contents of a folder has
 changed

---
 lib/filecache/update.php | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/lib/filecache/update.php b/lib/filecache/update.php
index 2b64a2a90f..1b81f70d77 100644
--- a/lib/filecache/update.php
+++ b/lib/filecache/update.php
@@ -81,10 +81,13 @@ class OC_FileCache_Update{
 		$dh=$view->opendir($path.'/');
 		if($dh) {//check for changed/new files
 			while (($filename = readdir($dh)) !== false) {
-				if($filename != '.' and $filename != '..') {
+				if($filename != '.' and $filename != '..' and $filename != '') {
 					$file=$path.'/'.$filename;
-					if(self::hasUpdated($file, $root)) {
-						if($root===false) {//filesystem hooks are only valid for the default root
+					$isDir=$view->is_dir($file);
+					if(self::hasUpdated($file, $root, $isDir)) {
+						if($isDir){
+							self::updateFolder($file, $root);
+						}elseif($root===false) {//filesystem hooks are only valid for the default root
 							OC_Hook::emit('OC_Filesystem', 'post_write', array('path'=>$file));
 						}else{
 							self::update($file, $root);
@@ -136,7 +139,7 @@ class OC_FileCache_Update{
 	}
 
 	/**
-	 * update the filecache according to changes to the fileysystem
+	 * update the filecache according to changes to the filesystem
 	 * @param string path
 	 * @param string root (optional)
 	 */
@@ -211,4 +214,4 @@ class OC_FileCache_Update{
 		OC_FileCache::increaseSize(dirname($newPath), $oldSize, $root);
 		OC_FileCache::move($oldPath, $newPath);
 	}
-}
\ No newline at end of file
+}
-- 
GitLab