コード例 #1
0
 /**
  * Updates the properties of a file object with some that are freshly
  * fetched from the driver.
  *
  * @param \TYPO3\CMS\Core\Resource\AbstractFile $file
  * @param string $identifier The identifier of the file. If set, this will overwrite the file object's identifier (use e.g. after moving a file)
  * @param \TYPO3\CMS\Core\Resource\ResourceStorage $storage
  * @return void
  */
 protected function updateFile(\TYPO3\CMS\Core\Resource\AbstractFile $file, $identifier = '', $storage = NULL)
 {
     if ($identifier === '') {
         $identifier = $file->getIdentifier();
     }
     $fileInfo = $this->driver->getFileInfoByIdentifier($identifier);
     // TODO extend mapping
     $newProperties = array('storage' => $fileInfo['storage'], 'identifier' => $fileInfo['identifier'], 'tstamp' => $fileInfo['mtime'], 'crdate' => $fileInfo['ctime'], 'mime_type' => $fileInfo['mimetype'], 'size' => $fileInfo['size'], 'name' => $fileInfo['name']);
     if ($storage !== NULL) {
         $newProperties['storage'] = $storage->getUid();
     }
     $file->updateProperties($newProperties);
     /** @var $fileRepository \TYPO3\CMS\Core\Resource\FileRepository */
     $fileRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\FileRepository');
     $fileRepository->update($file);
 }