From a24bfae49eb5348a3de1a9e01987de33614d4f99 Mon Sep 17 00:00:00 2001 From: Mario Rimann <mario.rimann@typo3.org> Date: Wed, 18 Dec 2013 10:17:30 +0100 Subject: [PATCH] [BUGFIX] File browser fails on inexistent expandFolder If a user browsed to a directory "foo" and re-opens the file- browser later, the same directory is shown expanded. In case the directory has been moved/renamed/deleted in the meantime, the user gets an exception due to the inexistent directory. This change just adds a try/catch block around to handle that situation. Change-Id: I39aab6be46aec1d3f1f365e5d5f5455aca9b3aa2 Resolves: #50266 Releases: 6.2, 6.1, 6.0 Reviewed-on: https://review.typo3.org/26466 Reviewed-by: Markus Klein Tested-by: Markus Klein Reviewed-by: Pascal Maechler Reviewed-by: Wouter Wolters Tested-by: Wouter Wolters Reviewed-by: Steffen Ritter Tested-by: Steffen Ritter --- .../recordlist/Classes/Browser/ElementBrowser.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/recordlist/Classes/Browser/ElementBrowser.php b/typo3/sysext/recordlist/Classes/Browser/ElementBrowser.php index 27ce173ef4c9..12a2049177e3 100644 --- a/typo3/sysext/recordlist/Classes/Browser/ElementBrowser.php +++ b/typo3/sysext/recordlist/Classes/Browser/ElementBrowser.php @@ -1193,7 +1193,15 @@ class ElementBrowser { // Create upload/create folder forms, if a path is given if ($this->expandFolder) { $this->selectedFolder = FALSE; - $fileOrFolderObject = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($this->expandFolder); + + // try to fetch the folder the user had open the last time he browsed files + // fallback to the default folder in case the last used folder is not existing + try { + $fileOrFolderObject = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($this->expandFolder); + } catch (\TYPO3\CMS\Core\Resource\Exception\ResourceDoesNotExistException $inexistentFolderException) { + // we're just catching the exception here, nothing to be done if folder does not exist + }; + if ($fileOrFolderObject instanceof \TYPO3\CMS\Core\Resource\Folder) { // It's a folder $this->selectedFolder = $fileOrFolderObject; -- GitLab