/** * Render the image(s) to HTML * * @return string */ public function render() { if (TYPO3_MODE === 'BE') { $this->simulateFrontendEnvironment(); } $pathinfo = pathinfo($this->arguments['src']); if ($pathinfo['filename'] === '*') { $images = $this->documentHead->getFilenamesOfType($pathinfo['dirname'], $pathinfo['extension']); } else { if ($this->arguments['path']) { $src = trim(trim($this->arguments['src']), ','); if (strlen($src) === 0) { return ''; } $images = explode(',', $src); // patch for CSV files missing relative pathnames and possible missing files foreach ($images as $k => $v) { $images[$k] = $this->arguments['path'] . $v; } } else { if (is_array($this->arguments['src'])) { $images = $this->arguments['src']; } else { $images = array(trim($this->arguments['src'], ', ')); } } } if ($this->arguments['sortBy'] !== NULL) { $images = $this->sortImages($images); } if ($this->arguments['limit'] > 0) { $images = array_slice($images, 0, $this->arguments['limit']); } if (count($images) === 0) { return ''; } // use altsrc for any image not present foreach ($images as $k => $v) { if (is_file(t3lib_div::getFileAbsFileName($v)) === FALSE) { $images[$k] = $this->arguments['altsrc']; } } $rendered = $this->renderImages($images); if (TYPO3_MODE === 'BE') { $this->resetFrontendEnvironment(); } return $rendered; }
/** * Get an array of all with extension $extension in $dir * * Remains as @api method but proxies to DocumentHead. Final location of * getFilenamesOfType($dir, $extension) may change but this method will remain. * * @param string $dir * @param string $type * @return array * @api */ public function getFilenamesOfType($dir, $extension = NULL) { return $this->documentHead->getFilenamesOfType($dir, $extension); }