From 5415e64cf3322d5e6833332ab679c19240502f58 Mon Sep 17 00:00:00 2001 From: Aleksey Bobkov Date: Thu, 12 Jan 2017 17:40:08 -0800 Subject: [PATCH] Added an option to suppress folders in the MediaLibrary::listFolderContents() calls. Fixes #2016 --- modules/cms/classes/MediaLibrary.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/cms/classes/MediaLibrary.php b/modules/cms/classes/MediaLibrary.php index 1626f8f12..3665e82c5 100644 --- a/modules/cms/classes/MediaLibrary.php +++ b/modules/cms/classes/MediaLibrary.php @@ -76,9 +76,10 @@ class MediaLibrary * Supported values are 'title', 'size', 'lastModified' (see SORT_BY_XXX class constants) and FALSE. * @param string $filter Determines the document type filtering preference. * Supported values are 'image', 'video', 'audio', 'document' (see FILE_TYPE_XXX constants of MediaLibraryItem class). + * @param boolean $ignoreFolders Determines whether folders should be suppressed in the result list. * @return array Returns an array of MediaLibraryItem objects. */ - public function listFolderContents($folder = '/', $sortBy = 'title', $filter = null) + public function listFolderContents($folder = '/', $sortBy = 'title', $filter = null, $ignoreFolders = false) { $folder = self::validatePath($folder); $fullFolderPath = $this->getMediaPath($folder); @@ -119,7 +120,12 @@ class MediaLibrary $this->filterItemList($folderContents['files'], $filter); - $folderContents = array_merge($folderContents['folders'], $folderContents['files']); + if (!$ignoreFolders) { + $folderContents = array_merge($folderContents['folders'], $folderContents['files']); + } + else { + $folderContents = $folderContents['files']; + } return $folderContents; }