port already approved bugfix to master, https://github.com/owncloud/core/pull/1479
This commit is contained in:
parent
2fdf8ff3e7
commit
9e08f85c5e
|
@ -721,6 +721,7 @@ class Share {
|
|||
}
|
||||
$items = array();
|
||||
$targets = array();
|
||||
$switchedItems = array();
|
||||
while ($row = $result->fetchRow()) {
|
||||
// Filter out duplicate group shares for users with unique targets
|
||||
if ($row['share_type'] == self::$shareTypeGroupUserUnique && isset($items[$row['parent']])) {
|
||||
|
@ -745,6 +746,7 @@ class Share {
|
|||
// Switch ids if sharing permission is granted on only one share to ensure correct parent is used if resharing
|
||||
if (~(int)$items[$id]['permissions'] & PERMISSION_SHARE && (int)$row['permissions'] & PERMISSION_SHARE) {
|
||||
$items[$row['id']] = $items[$id];
|
||||
$switchedItems[$id] = $row['id'];
|
||||
unset($items[$id]);
|
||||
$id = $row['id'];
|
||||
}
|
||||
|
@ -848,7 +850,11 @@ class Share {
|
|||
}
|
||||
}
|
||||
// Remove collection item
|
||||
unset($items[$row['id']]);
|
||||
$toRemove = $row['id'];
|
||||
if (array_key_exists($toRemove, $switchedItems)) {
|
||||
$toRemove = $switchedItems[$toRemove];
|
||||
}
|
||||
unset($items[$toRemove]);
|
||||
}
|
||||
}
|
||||
if (!empty($collectionItems)) {
|
||||
|
|
Loading…
Reference in New Issue