From fedb3641f9cdd0358951e6b794f5d3cb6d6465cb Mon Sep 17 00:00:00 2001
From: Michael Gapczynski <mtgap@owncloud.com>
Date: Fri, 24 Aug 2012 10:43:42 -0400
Subject: [PATCH] Determine if reshare needs to be checked

---
 core/ajax/share.php | 10 +++++++---
 core/js/share.js    |  6 +++++-
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/core/ajax/share.php b/core/ajax/share.php
index 04294a36ac..806ca9fb98 100644
--- a/core/ajax/share.php
+++ b/core/ajax/share.php
@@ -56,9 +56,13 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
 			}
 			break;
 		case 'getItem':
-			if (isset($_GET['itemType']) && isset($_GET['itemSource']) && isset($_GET['checkShares'])) {
-				$reshare = OCP\Share::getItemSharedWithBySource($_GET['itemType'], $_GET['itemSource'], OCP\Share::FORMAT_NONE, null, true);
-				if ($_GET['checkShares'] == "true") {
+			if (isset($_GET['itemType']) && isset($_GET['itemSource']) && isset($_GET['checkReshare']) && isset($_GET['checkShares'])) {
+				if ($_GET['checkReshare'] == 'true') {
+					$reshare = OCP\Share::getItemSharedWithBySource($_GET['itemType'], $_GET['itemSource'], OCP\Share::FORMAT_NONE, null, true);
+				} else {
+					$reshare = false;
+				}
+				if ($_GET['checkShares'] == 'true') {
 					$shares = OCP\Share::getItemShared($_GET['itemType'], $_GET['itemSource']);
 				} else {
 					$shares = false;
diff --git a/core/js/share.js b/core/js/share.js
index 810a4e7c0a..b246849b47 100644
--- a/core/js/share.js
+++ b/core/js/share.js
@@ -32,6 +32,7 @@ OC.Share={
 	},
 	loadItem:function(itemType, itemSource) {
 		var data = '';
+		var checkReshare = true;
 		// Switch file sources to path to check if status is set
 		if (itemType == 'file' || itemType == 'folder') {
 			var filename = $('tr').filterAttr('data-id', String(itemSource)).data('file');
@@ -40,6 +41,9 @@ OC.Share={
 			} else {
 				var item = $('#dir').val() + '/' + filename;
 			}
+			if (item.substring(0, 8) != '/Shared/') {
+				checkReshare = false;
+			}
 		} else {
 			var item = itemSource;
 		}
@@ -48,7 +52,7 @@ OC.Share={
 		} else {
 			checkShares = true;
 		}
-		$.ajax({type: 'GET', url: OC.filePath('core', 'ajax', 'share.php'), data: { fetch: 'getItem', itemType: itemType, itemSource: itemSource, checkShares: checkShares }, async: false, success: function(result) {
+		$.ajax({type: 'GET', url: OC.filePath('core', 'ajax', 'share.php'), data: { fetch: 'getItem', itemType: itemType, itemSource: itemSource, checkReshare: checkReshare, checkShares: checkShares }, async: false, success: function(result) {
 			if (result && result.status === 'success') {
 				data = result.data;
 			} else {
-- 
GitLab