FluidTYPO3\Vhs\ViewHelpers\Media\SourceViewHelper::render PHP Method

render() public method

Render method
public render ( ) : string
return string
    public function render()
    {
        $src = $this->viewHelperVariableContainer->get(self::SCOPE, self::SCOPE_VARIABLE_SRC);
        if ('BE' === TYPO3_MODE) {
            $tsfeBackup = FrontendSimulationUtility::simulateFrontendEnvironment();
        }
        $setup = ['width' => $this->arguments['width'], 'height' => $this->arguments['height'], 'minW' => $this->arguments['minW'], 'minH' => $this->arguments['minH'], 'maxW' => $this->arguments['maxW'], 'maxH' => $this->arguments['maxH']];
        $quality = $this->arguments['quality'];
        $format = $this->arguments['format'];
        if (false === empty($format)) {
            $setup['ext'] = $format;
        }
        if (0 < intval($quality)) {
            $quality = MathUtility::forceIntegerInRange($quality, 10, 100, 75);
            $setup['params'] .= ' -quality ' . $quality;
        }
        if ('BE' === TYPO3_MODE && '../' === substr($src, 0, 3)) {
            $src = substr($src, 3);
        }
        $result = $this->contentObject->getImgResource($src, $setup);
        if ('BE' === TYPO3_MODE) {
            FrontendSimulationUtility::resetFrontendEnvironment($tsfeBackup);
        }
        $src = $this->preprocessSourceUri(rawurldecode($result[3]));
        if (null === $this->arguments['media']) {
            $this->viewHelperVariableContainer->addOrUpdate(self::SCOPE, self::SCOPE_VARIABLE_DEFAULT_SOURCE, $src);
        } else {
            $this->tag->addAttribute('media', $this->arguments['media']);
        }
        $this->tag->addAttribute('srcset', $src);
        return $this->tag->render();
    }