From 102120f105fd0f88349e3202024fca7c765e3587 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Schie=C3=9Fle?= <schiessle@owncloud.com>
Date: Wed, 20 Mar 2013 12:45:24 +0100
Subject: [PATCH] skip update if the recipient is the same user as the owner,
 otherwise we run in a infinite loop for group shares

---
 apps/files_sharing/lib/updater.php | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/apps/files_sharing/lib/updater.php b/apps/files_sharing/lib/updater.php
index 73e7808f24..221aaee542 100644
--- a/apps/files_sharing/lib/updater.php
+++ b/apps/files_sharing/lib/updater.php
@@ -38,10 +38,12 @@ class Shared_Updater {
 			while (!empty($users)) {
 				$reshareUsers = array();
 				foreach ($users as $user) {
-					$etag = \OC\Files\Filesystem::getETag('');
+                                    if ( $user !== $uidOwner ) {
+                                        $etag = \OC\Files\Filesystem::getETag('');
 					\OCP\Config::setUserValue($user, 'files_sharing', 'etag', $etag);
 					// Look for reshares
 					$reshareUsers = array_merge($reshareUsers, \OCP\Share::getUsersItemShared('file', $info['fileid'], $user, true));
+                                    }
 				}
 				$users = $reshareUsers;
 			}
@@ -88,10 +90,12 @@ class Shared_Updater {
 				while (!empty($users)) {
 					$reshareUsers = array();
 					foreach ($users as $user) {
-						$etag = \OC\Files\Filesystem::getETag('');
-						\OCP\Config::setUserValue($user, 'files_sharing', 'etag', $etag);
-						// Look for reshares
-						$reshareUsers = array_merge($reshareUsers, \OCP\Share::getUsersItemShared('file', $params['fileSource'], $user, true));
+                                            if ($user !== $uidOwner) {
+                                                $etag = \OC\Files\Filesystem::getETag('');
+                                                \OCP\Config::setUserValue($user, 'files_sharing', 'etag', $etag);
+                                                // Look for reshares
+                                                $reshareUsers = array_merge($reshareUsers, \OCP\Share::getUsersItemShared('file', $params['fileSource'], $user, true));
+                                            }
 					}
 					$users = $reshareUsers;
 				}
-- 
GitLab