public function generateUrl($parameters, $target = null)
    {
        $parameters = $this->parametersConverter
                           ->convertServerToClientParameters($parameters);

        $parameters = $this->encodingConverter != null ? $this->encodingConverter->encodeClientUrlData($parameters) : $parameters;

        if (!is_string($target))
            $target = $this->requestParser->getRequestTarget();

        if ($parameters->offsetExists('seoPath')) {
            $seoPath = $parameters['seoPath'];
            $parameters->offsetUnset('seoPath');
            $seoPathPosition = strrpos($target, "/s/");
            if ($seoPathPosition > -1) {
                $target = substr($target, 0, $seoPathPosition);    
            }            
            $url = rtrim($target, '/') . '/s' . urldecode($seoPath) . '?' . $parameters->toPhpQueryString();
        } else {    
            $url = $target . '?' . $parameters->toPhpQueryString();
        }
        return $url;
    }
public function generateUrl($parameters, $target = null)
    {
        $parameters = $this->parametersConverter
                           ->convertServerToClientParameters($parameters);

        $parameters = $this->encodingConverter != null ? $this->encodingConverter->encodeClientUrlData($parameters) : $parameters;

        if (!is_string($target))
            $target = $this->requestParser->getRequestTarget();

        if ($parameters->offsetExists('seoPath')) {
            $seoPath = $parameters['seoPath'];
            $parameters->offsetUnset('seoPath');
            $seoPathPosition = strrpos($target, "/s/");
            if ($seoPathPosition > -1) {
                $target = substr($target, 0, $seoPathPosition);    
            }            
            $url = rtrim($target, '/') . '/s' . urldecode($seoPath) . '?' . $parameters->toPhpQueryString();
        } else {    
            $url = $target . '?' . $parameters->toPhpQueryString();
        }
        return $url;
    }
public function generateUrl ( $ parameters , $ target = null ) { $ parameters = $ this -> parametersConverter -> convertServerToClientParameters ( $ parameters ) ; $ parameters = $ this -> encodingConverter != null ? $ this -> encodingConverter -> encodeClientUrlData ( $ parameters ) : $ parameters ; if ( ! is_string ( $ target ) ) $ target = $ this -> requestParser -> getRequestTarget ( ) ; if ( $ parameters -> offsetExists ( 'seoPath' ) ) { $ seoPath = $ parameters [ 'seoPath' ] ; $ parameters -> offsetUnset ( 'seoPath' ) ; $ seoPathPosition = strrpos ( $ target , "/s/" ) ; if ( $ seoPathPosition > - 1 ) { $ target = substr ( $ target , 0 , $ seoPathPosition ) ; } $ url = rtrim ( $ target , '/' ) . '/s' . urldecode ( $ seoPath ) . '?' . $ parameters -> toPhpQueryString ( ) ; } else { $ url = $ target . '?' . $ parameters -> toPhpQueryString ( ) ; } return $ url ; }
Generates a link to be used on the page that leads to the client from a
set of server parameters. Note that the link will still be UTF-8 encoded.
If the page uses a different encoding, conversion to that encoding has to
be done when actually rendering the string to the page.

TODO: Should the signature be more similar to that of \Server\UrlBuilder?

@param FACTFinder\Util\Parameters $parameters The server parameters that
should be retrieved when the link is followed.
@param string $target An optional request target. If omitted, the target
of the current request will be used. For instance, this parameter
can be used if a product detail page needs a different target.

@return string
Generates a link to be used on the page that leads to the client from a set of server parameters . Note that the link will still be UTF - 8 encoded . If the page uses a different encoding conversion to that encoding has to be done when actually rendering the string to the page .