/**
  * @test
  */
 public function createFolderCreatesNestedStructureEvenIfPartsAlreadyExist()
 {
     $this->addToMount(array('existingFolder' => array()));
     $this->initializeVfs();
     $mockedDriver = $this->createDriverMock(array('basePath' => $this->getMountRootUrl()), NULL, NULL);
     $this->prepareFixture(array(), TRUE, $mockedDriver);
     $rootFolder = $this->fixture->getFolder('/');
     $newFolder = $this->fixture->createFolder('existingFolder/someFolder', $rootFolder);
     $this->assertEquals('someFolder', $newFolder->getName());
     $this->assertFileExists($this->getUrlInMount('existingFolder/someFolder'));
 }
Пример #2
0
 /**
  * @test
  * @TODO: Rewrite or move to functional suite
  */
 public function createFolderCreatesNestedStructureEvenIfPartsAlreadyExist()
 {
     $this->markTestSkipped('This test does way to much and is mocked incomplete. Skipped for now.');
     $this->addToMount(array('existingFolder' => array()));
     $this->initializeVfs();
     $mockedDriver = $this->createDriverMock(array('basePath' => $this->getMountRootUrl()), null, null);
     $this->prepareSubject(array(), true, $mockedDriver);
     $rootFolder = $this->subject->getFolder('/');
     $newFolder = $this->subject->createFolder('existingFolder/someFolder', $rootFolder);
     $this->assertEquals('someFolder', $newFolder->getName());
     $this->assertFileExists($this->getUrlInMount('existingFolder/someFolder'));
 }
Пример #3
0
 /**
  * Set the storage and folder to use for the Plugins
  *
  * @throws \Exception
  * @throws \TYPO3\CMS\Core\Resource\Exception\InsufficientFolderAccessPermissionsException
  * @return void
  */
 protected function resolveStorageInformation()
 {
     $selectedFolderParts = explode(':', $this->settings['default']['folder']);
     $this->selectedStorage = $this->storageRepository->findByUid($selectedFolderParts[1]);
     $this->selectedFolder = $this->selectedStorage->getFolder($selectedFolderParts[2]);
 }
Пример #4
0
 /**
  * Return a new target folder when moving file from one storage to another.
  *
  * @param ResourceStorage $storage
  * @param File $file
  * @return \TYPO3\CMS\Core\Resource\Folder
  */
 public function getDefaultFolderInStorage(ResourceStorage $storage, File $file)
 {
     // default is the root level
     $folder = $storage->getRootLevelFolder();
     // Retrieve storage record and a possible configured mount point.
     $storageRecord = $storage->getStorageRecord();
     $mountPointIdentifier = $storageRecord['mount_point_file_type_' . $file->getType()];
     if ($mountPointIdentifier > 0) {
         // We don't have a Mount Point repository in FAL, so query the database directly.
         $record = $this->getDatabaseConnection()->exec_SELECTgetSingleRow('path', 'sys_filemounts', 'deleted = 0 AND uid = ' . $mountPointIdentifier);
         if (!empty($record['path'])) {
             $folder = $storage->getFolder($record['path']);
         }
     }
     return $folder;
 }