From 4c4b1e4c2d7a5ffa2131646d70c495b51b5c9013 Mon Sep 17 00:00:00 2001
From: Michael Gapczynski <GapczynskiM@gmail.com>
Date: Wed, 24 Aug 2011 11:59:03 -0400
Subject: [PATCH] Clear the folder size cache for the 'Shared' folder when a
 new item is shared

---
 apps/files_sharing/lib_share.php | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/apps/files_sharing/lib_share.php b/apps/files_sharing/lib_share.php
index dd73a20051..c862f505e4 100644
--- a/apps/files_sharing/lib_share.php
+++ b/apps/files_sharing/lib_share.php
@@ -66,7 +66,8 @@ class OC_Share {
 					throw new Exception("This item is already shared with ".$uid);
 				}
 				// Check if the target already exists for the user, if it does append a number to the name
-				$target = "/".$uid."/files/Shared/".basename($source);
+				$sharedFolder = "/".$uid."/files/Shared";
+				$target = $sharedFolder."/".basename($source);
 				if (self::getSource($target)) {
 					if ($pos = strrpos($target, ".")) {
 						$name = substr($target, 0, $pos);
@@ -87,6 +88,9 @@ class OC_Share {
 					$uid = $uid."@".$gid;
 				}
 				$query->execute(array($uid_owner, $uid, $source, $target, $permissions));
+				// Clear the folder size cache for the 'Shared' folder
+				$clearFolderSize = OC_DB::prepare("DELETE FROM *PREFIX*foldersize WHERE path = ?");
+				$clearFolderSize->execute(array($sharedFolder));
 			}
 		}
 	}
-- 
GitLab