aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/file.php19
1 files changed, 9 insertions, 10 deletions
diff --git a/app/controllers/file.php b/app/controllers/file.php
index cd60699..83152e3 100644
--- a/app/controllers/file.php
+++ b/app/controllers/file.php
@@ -1973,11 +1973,6 @@ class FileController extends AuthenticatedController
if (!$folder || !$folder->isEditable($GLOBALS['user']->id)) {
throw new AccessDeniedException();
}
- $parent_folder = $folder->getParent();
- $folder_types = FileManager::getAvailableFolderTypes(
- $parent_folder ? $parent_folder->range_id : null,
- $GLOBALS['user']->id
- );
$this->name = Request::get('name', $folder->name);
$this->description = Request::get('description', $folder->description);
@@ -1986,13 +1981,16 @@ class FileController extends AuthenticatedController
$this->folder_types = [];
- if (!is_a($folder, 'VirtualFolderType') && $parent_folder) {
+ if (!is_a($folder, 'VirtualFolderType') && !is_a($folder, 'RootFolder')) {
+ $folder_types = FileManager::getAvailableFolderTypes(
+ $folder->range_id,
+ $GLOBALS['user']->id
+ );
foreach ($folder_types as $folder_type) {
$folder_type_instance = new $folder_type(
[
- 'range_id' => $parent_folder->range_id,
- 'range_type' => $parent_folder->range_type,
- 'parent_id' => $parent_folder->getId()
+ 'range_id' => $folder->range_id,
+ 'range_type' => $folder->range_type
]
);
$this->folder_types[] = [
@@ -2002,7 +2000,8 @@ class FileController extends AuthenticatedController
'icon' => $folder_type_instance->getIcon('clickable')
];
}
- } elseif (!$parent_folder) {
+ } else {
+ //It is a virtual folder or a root folder (folder without parent):
$this->folder_types[] = [
'class' => get_class($folder),
'instance' => $folder,