/**
  * Checks if the given file can be read by this extractor
  *
  * @param FileInterface $file
  * @return bool
  */
 public function canExtractText(FileInterface $file)
 {
     $canExtract = false;
     if ($file->getMimeType() === 'text/plain') {
         $canExtract = true;
     }
     return $canExtract;
 }
 /**
  * Checks if the given file can be read by this extractor
  *
  * @param FileInterface $file
  * @return bool
  */
 public function canExtractText(FileInterface $file)
 {
     $canExtract = FALSE;
     if ($file->getMimeType() === 'text/plain') {
         $canExtract = TRUE;
     }
     return $canExtract;
 }
 /**
  * Render for given File(Reference) HTML output
  *
  * @param FileInterface $file
  * @param int|string $width TYPO3 known format; examples: 220, 200m or 200c
  * @param int|string $height TYPO3 known format; examples: 220, 200m or 200c
  * @param array $options controls = TRUE/FALSE (default TRUE), autoplay = TRUE/FALSE (default FALSE), loop = TRUE/FALSE (default FALSE)
  * @param bool $usedPathsRelativeToCurrentScript See $file->getPublicUrl()
  * @return string
  */
 public function render(FileInterface $file, $width, $height, array $options = array(), $usedPathsRelativeToCurrentScript = FALSE)
 {
     $additionalAttributes = array();
     if (!isset($options['controls']) || !empty($options['controls'])) {
         $additionalAttributes[] = 'controls';
     }
     if (!empty($options['autoplay'])) {
         $additionalAttributes[] = 'autoplay';
     }
     if (!empty($options['loop'])) {
         $additionalAttributes[] = 'loop';
     }
     return sprintf('<video width="%d" height="%d"%s><source src="%s" type="%s"></video>', (int) $width, (int) $height, empty($additionalAttributes) ? '' : ' ' . implode(' ', $additionalAttributes), htmlspecialchars($file->getPublicUrl($usedPathsRelativeToCurrentScript)), $file->getMimeType());
 }
 /**
  * Outputs file Contents,
  * clears output buffer first and sends headers accordingly.
  *
  * @param FileInterface $file
  * @param bool $asDownload If set Content-Disposition attachment is sent, inline otherwise
  * @param string $alternativeFilename the filename for the download (if $asDownload is set)
  * @param string $overrideMimeType If set this will be used as Content-Type header instead of the automatically detected mime type.
  * @return void
  */
 public function dumpFileContents(FileInterface $file, $asDownload = false, $alternativeFilename = null, $overrideMimeType = null)
 {
     $downloadName = $alternativeFilename ?: $file->getName();
     $contentDisposition = $asDownload ? 'attachment' : 'inline';
     header('Content-Disposition: ' . $contentDisposition . '; filename="' . $downloadName . '"');
     header('Content-Type: ' . ($overrideMimeType ?: $file->getMimeType()));
     header('Content-Length: ' . $file->getSize());
     // Cache-Control header is needed here to solve an issue with browser IE8 and lower
     // See for more information: http://support.microsoft.com/kb/323308
     header("Cache-Control: ''");
     header('Last-Modified: ' . gmdate('D, d M Y H:i:s', array_pop($this->driver->getFileInfoByIdentifier($file->getIdentifier(), array('mtime')))) . ' GMT', true, 200);
     ob_clean();
     flush();
     while (ob_get_level() > 0) {
         ob_end_clean();
     }
     $this->driver->dumpFileContents($file->getIdentifier());
 }
 /**
  * Check if given File(Reference) can be rendered
  *
  * @param FileInterface $file File of FileReference to render
  * @return bool
  */
 public function canRender(FileInterface $file)
 {
     return ($file->getMimeType() === 'video/vimeo' || $file->getExtension() === 'vimeo') && $this->getOnlineMediaHelper($file) !== false;
 }
 /**
  * Check if given File(Reference) can be rendered
  *
  * @param FileInterface $file File of FileReference to render
  * @return bool
  */
 public function canRender(FileInterface $file)
 {
     return ($file->getMimeType() === 'audio/soundcloud' || $file->getExtension() === 'soundcloud') && $this->getOnlineMediaHelper($file) !== false;
 }
Exemple #7
0
 /**
  * Render for given File(Reference) HTML output
  *
  * @param FileInterface $file
  * @param int|string $width TYPO3 known format; examples: 220, 200m or 200c
  * @param int|string $height TYPO3 known format; examples: 220, 200m or 200c
  * @param array $options controls = TRUE/FALSE (default TRUE), autoplay = TRUE/FALSE (default FALSE), loop = TRUE/FALSE (default FALSE)
  * @param bool $usedPathsRelativeToCurrentScript See $file->getPublicUrl()
  * @return string
  */
 public function render(FileInterface $file, $width, $height, array $options = [], $usedPathsRelativeToCurrentScript = false)
 {
     // If autoplay isn't set manually check if $file is a FileReference take autoplay from there
     if (!isset($options['autoplay']) && $file instanceof FileReference) {
         $autoplay = $file->getProperty('autoplay');
         if ($autoplay !== null) {
             $options['autoplay'] = $autoplay;
         }
     }
     $attributes = [];
     if ((int) $width > 0) {
         $attributes[] = 'width="' . (int) $width . '"';
     }
     if ((int) $height > 0) {
         $attributes[] = 'height="' . (int) $height . '"';
     }
     if (!isset($options['controls']) || !empty($options['controls'])) {
         $attributes[] = 'controls';
     }
     if (!empty($options['autoplay'])) {
         $attributes[] = 'autoplay';
     }
     if (!empty($options['muted'])) {
         $attributes[] = 'muted';
     }
     if (!empty($options['loop'])) {
         $attributes[] = 'loop';
     }
     foreach (['class', 'dir', 'id', 'lang', 'style', 'title', 'accesskey', 'tabindex', 'onclick'] as $key) {
         if (!empty($options[$key])) {
             $attributes[] = $key . '="' . htmlspecialchars($options[$key]) . '"';
         }
     }
     return sprintf('<video%s><source src="%s" type="%s"></video>', empty($attributes) ? '' : ' ' . implode(' ', $attributes), htmlspecialchars($file->getPublicUrl($usedPathsRelativeToCurrentScript)), $file->getMimeType());
 }
 /**
  * @param FileInterface $file
  * @return bool
  */
 public function canRender(FileInterface $file)
 {
     return TYPO3_MODE === 'FE' && in_array($file->getMimeType(), $this->possibleMimeTypes, true);
 }