/** * Test if the default filters filter out hidden folders (like .htaccess) * * @test */ public function folderListingsDoNotContainHiddenFoldersByDefault() { $this->addToMount(array('someFolder' => array(), '.someHiddenFolder' => array())); $this->prepareFixture(); $this->fixture->resetFileAndFolderNameFiltersToDefault(); $folderList = $this->fixture->getFolderList('/'); $this->assertContains('someFolder', array_keys($folderList)); $this->assertNotContains('.someHiddenFolder', array_keys($folderList)); }
/** * Returns a list of all subfolders * * @return \TYPO3\CMS\Core\Resource\Folder[] */ public function getSubfolders() { $folderObjects = array(); $folderArray = $this->storage->getFolderList($this->identifier); if (count($folderArray) > 0) { /** @var $factory \TYPO3\CMS\Core\Resource\ResourceFactory */ $factory = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory'); // TODO this will not work with non-hierarchical storages // -> the identifier for subfolders is not composed of the // current item's identifier for these foreach ($folderArray as $folder) { $folderObjects[] = $factory->createFolderObject($this->storage, $this->identifier . $folder['name'] . '/', $folder['name']); } } return $folderObjects; }
/** * Returns a list of subfolders * * @param integer $start The item to start at * @param integer $numberOfItems The number of items to return * @param integer $filterMode The filter mode to use for the file list. * @return \TYPO3\CMS\Core\Resource\Folder[] */ public function getSubfolders($start = 0, $numberOfItems = 0, $filterMode = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS) { list($backedUpFilters, $useFilters) = $this->prepareFiltersInStorage($filterMode); $folderObjects = array(); $folderArray = $this->storage->getFolderList($this->identifier, $start, $numberOfItems, $useFilters); if (count($folderArray) > 0) { /** @var $factory \TYPO3\CMS\Core\Resource\ResourceFactory */ $factory = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory'); // TODO this will not work with non-hierarchical storages // -> the identifier for subfolders is not composed of the // current item's identifier for these foreach ($folderArray as $folder) { $folderObjects[$folder['name']] = $factory->createFolderObject($this->storage, $this->identifier . $folder['name'] . '/', $folder['name']); } } $this->restoreBackedUpFiltersInStorage($backedUpFilters); return $folderObjects; }