public function process($context, $url, array $configuration, ContentObjectRenderer $contentObjectRenderer, &$keepProcessing)
    {
        if (!$this->isEnabled($context, $configuration)) {
            return $url;
        }

        $this->contentObjectRenderer = $contentObjectRenderer;

        // Strip the absRefPrefix from the URLs.
        $urlPrefix = (string)$this->getTypoScriptFrontendController()->absRefPrefix;
        if ($urlPrefix !== '' && StringUtility::beginsWith($url, $urlPrefix)) {
            $url = substr($url, strlen($urlPrefix));
        }

        // Make sure the slashes in the file URL are not encoded.
        if ($context === UrlProcessorInterface::CONTEXT_FILE) {
            $url = str_replace('%2F', '/', rawurlencode(rawurldecode($url)));
        }

        $url = $this->build($url, isset($configuration['jumpurl.']) ? $configuration['jumpurl.'] : []);

        // Now add the prefix again if it was not added by a typolink call already.
        if ($urlPrefix !== '' && !StringUtility::beginsWith($url, $urlPrefix)) {
            $url = $urlPrefix . $url;
        }

        return $url;
    }
public function process($context, $url, array $configuration, ContentObjectRenderer $contentObjectRenderer, &$keepProcessing)
    {
        if (!$this->isEnabled($context, $configuration)) {
            return $url;
        }

        $this->contentObjectRenderer = $contentObjectRenderer;

        // Strip the absRefPrefix from the URLs.
        $urlPrefix = (string)$this->getTypoScriptFrontendController()->absRefPrefix;
        if ($urlPrefix !== '' && StringUtility::beginsWith($url, $urlPrefix)) {
            $url = substr($url, strlen($urlPrefix));
        }

        // Make sure the slashes in the file URL are not encoded.
        if ($context === UrlProcessorInterface::CONTEXT_FILE) {
            $url = str_replace('%2F', '/', rawurlencode(rawurldecode($url)));
        }

        $url = $this->build($url, isset($configuration['jumpurl.']) ? $configuration['jumpurl.'] : []);

        // Now add the prefix again if it was not added by a typolink call already.
        if ($urlPrefix !== '' && !StringUtility::beginsWith($url, $urlPrefix)) {
            $url = $urlPrefix . $url;
        }

        return $url;
    }
public function process ( $ context , $ url , array $ configuration , ContentObjectRenderer $ contentObjectRenderer , & $ keepProcessing ) { if ( ! $ this -> isEnabled ( $ context , $ configuration ) ) { return $ url ; } $ this -> contentObjectRenderer = $ contentObjectRenderer ; // Strip the absRefPrefix from the URLs. $ urlPrefix = ( string ) $ this -> getTypoScriptFrontendController ( ) -> absRefPrefix ; if ( $ urlPrefix !== '' && StringUtility :: beginsWith ( $ url , $ urlPrefix ) ) { $ url = substr ( $ url , strlen ( $ urlPrefix ) ) ; } // Make sure the slashes in the file URL are not encoded. if ( $ context === UrlProcessorInterface :: CONTEXT_FILE ) { $ url = str_replace ( '%2F' , '/' , rawurlencode ( rawurldecode ( $ url ) ) ) ; } $ url = $ this -> build ( $ url , isset ( $ configuration [ 'jumpurl.' ] ) ? $ configuration [ 'jumpurl.' ] : [ ] ) ; // Now add the prefix again if it was not added by a typolink call already. if ( $ urlPrefix !== '' && ! StringUtility :: beginsWith ( $ url , $ urlPrefix ) ) { $ url = $ urlPrefix . $ url ; } return $ url ; }
Generates the JumpURL for the given parameters.

@see \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::processUrlModifiers()
@param string $context The context in which the URL is generated (e.g. "typolink").
@param string $url The URL that should be processed.
@param array $configuration The link configuration.
@param \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $contentObjectRenderer The calling content object renderer.
@param bool $keepProcessing If this is set to FALSE no further hooks will be processed after the current one.
@return string
Generates the JumpURL for the given parameters .