diff options
author | Joas Schilling <coding@schilljs.com> | 2020-06-08 14:47:15 +0200 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2020-06-10 06:55:29 +0000 |
commit | c63039bb83e254f0085c34c1ce2fe04c9dd2d84c (patch) | |
tree | 7f4ce856e86381256e4cc2fe9a819e8444dca0a9 /apps/files_sharing | |
parent | f40f7abbafd8d5648df1b3cb42c7c3882f1a73f3 (diff) | |
download | nextcloud-server-c63039bb83e254f0085c34c1ce2fe04c9dd2d84c.tar.gz nextcloud-server-c63039bb83e254f0085c34c1ce2fe04c9dd2d84c.zip |
Always sort shares in a reliable way
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps/files_sharing')
-rw-r--r-- | apps/files_sharing/lib/MountProvider.php | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php index 43306fe2e7e..82d74479d4b 100644 --- a/apps/files_sharing/lib/MountProvider.php +++ b/apps/files_sharing/lib/MountProvider.php @@ -156,10 +156,12 @@ class MountProvider implements IMountProvider { // sort by stime, the super share will be based on the least recent share foreach ($tmp as &$tmp2) { @usort($tmp2, function ($a, $b) { - if ($a->getShareTime() <= $b->getShareTime()) { - return -1; + $aTime = $a->getShareTime()->getTimestamp(); + $bTime = $b->getShareTime()->getTimestamp(); + if ($aTime === $bTime) { + return $a->getId() < $b->getId() ? -1 : 1; } - return 1; + return $aTime < $bTime ? -1 : 1; }); $result[] = $tmp2; } |