mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
fix: redirect to proper directory if file not found
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
parent
529bce24b4
commit
b05719c8e9
1 changed files with 14 additions and 1 deletions
|
|
@ -231,6 +231,19 @@ class ViewController extends Controller {
|
|||
$favElements['folders'] = [];
|
||||
}
|
||||
|
||||
// If the file doesn't exists in the folder and
|
||||
// exists in only one occurrence, redirect to that file
|
||||
// in the correct folder
|
||||
if ($fileid && $dir !== '') {
|
||||
$baseFolder = $this->rootFolder->getUserFolder($userId);
|
||||
$nodes = $baseFolder->getById((int) $fileid);
|
||||
$relativePath = dirname($baseFolder->getRelativePath($nodes[0]->getPath()));
|
||||
// If the requested path is different from the file path
|
||||
if (count($nodes) === 1 && $relativePath !== $dir) {
|
||||
return $this->redirectToFile((int) $fileid);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
// If view is files, we use the directory, otherwise we use the root storage
|
||||
$storageInfo = $this->getStorageInfo(($view === 'files' && $dir) ? $dir : '/');
|
||||
|
|
@ -380,7 +393,7 @@ class ViewController extends Controller {
|
|||
$uid = $this->userSession->getUser()->getUID();
|
||||
$baseFolder = $this->rootFolder->getUserFolder($uid);
|
||||
$nodes = $baseFolder->getById($fileId);
|
||||
$params = [];
|
||||
$params = ['view' => 'files'];
|
||||
|
||||
try {
|
||||
$this->redirectToFileIfInTrashbin($fileId);
|
||||
|
|
|
|||
Loading…
Reference in a new issue