コード例 #1
0
 /**
  * Getter function to return the folder where the files can
  * be processed. does not check for access rights here
  *
  * @todo check if we need to implement "is writable" capability
  * @return \TYPO3\CMS\Core\Resource\Folder the processing folder, can be empty as well, if the storage doesn't have a processing folder
  */
 public function getProcessingFolder()
 {
     if (!isset($this->processingFolder)) {
         $processingFolder = self::DEFAULT_ProcessingFolder;
         if (!empty($this->storageRecord['processingfolder'])) {
             $processingFolder = $this->storageRecord['processingfolder'];
         }
         $processingFolder = '/' . trim($processingFolder, '/') . '/';
         // this way, we also worry about deeplinked folders like typo3temp/_processed_
         if ($this->driver->folderExists($processingFolder) === FALSE) {
             $processingFolderParts = explode('/', $processingFolder);
             $parentFolder = $this->driver->getRootLevelFolder();
             foreach ($processingFolderParts as $folderPart) {
                 if (!$this->driver->folderExistsInFolder($folderPart, $parentFolder)) {
                     $parentFolder = $this->driver->createFolder($folderPart, $parentFolder);
                 } else {
                     $parentFolder = $parentFolder->getSubfolder($folderPart);
                 }
             }
         }
         $this->processingFolder = $this->driver->getFolder($processingFolder);
     }
     return $this->processingFolder;
 }