diff options
Diffstat (limited to 'lib/private/Share20/Manager.php')
-rw-r--r-- | lib/private/Share20/Manager.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php index b22bfbc3878..b8131425b4a 100644 --- a/lib/private/Share20/Manager.php +++ b/lib/private/Share20/Manager.php @@ -1395,7 +1395,13 @@ class Manager implements IManager { foreach ($tmp as $k => $v) { if (isset($al[$k])) { if (is_array($al[$k])) { - $al[$k] += $v; + if ($currentAccess) { + $al[$k] += $v; + } else { + $al[$k] = array_merge($al[$k], $v); + $al[$k] = array_unique($al[$k]); + $al[$k] = array_values($al[$k]); + } } else { $al[$k] = $al[$k] || $v; } |