public function createUrl(\Twig_Environment $env, $value = null, $options = null)
    {
        $base = '';
        $baseurl = $env->getGlobals()['site']['baseurl'];
        $hash = md5($env->getGlobals()['site']['time']);
        $canonical = null;
        $addhash = true;

        if (isset($options['canonical'])) {
            $canonical = $options['canonical'];
        }
        if (is_bool($options)) { // backward compatibility
            $canonical = $options;
        }
        if (isset($options['addhash'])) {
            $addhash = $options['addhash'];
        }

        if ($env->getGlobals()['site']['canonicalurl'] === true || $canonical === true) {
            $base = rtrim($baseurl, '/');
        }
        if ($canonical === false) {
            $base = '';
        }

        if ($value instanceof Page) {
            $value = $value->getPermalink();
            if (false !== strpos($value, '.')) { // file URL (with a dot for extension)
                $url = $base.'/'.ltrim($value, '/');
            } else {
                $url = $base.'/'.ltrim(rtrim($value, '/').'/', '/');
            }
        } else {
            if (preg_match('~^(?:f|ht)tps?://~i', $value)) { // external URL
                $url = $value;
            } elseif (false !== strpos($value, '.')) { // file URL (with a dot for extension)
                $url = $base.'/'.ltrim($value, '/');
                if ($addhash) {
                    $url .= '?'.$hash;
                }
            } else {
                $value = $this->slugifyFilter($value);
                $url = $base.'/'.ltrim(rtrim($value, '/').'/', '/');
            }
        }

        return $url;
    }
public function createUrl(\Twig_Environment $env, $value = null, $options = null)
    {
        $base = '';
        $baseurl = $env->getGlobals()['site']['baseurl'];
        $hash = md5($env->getGlobals()['site']['time']);
        $canonical = null;
        $addhash = true;

        if (isset($options['canonical'])) {
            $canonical = $options['canonical'];
        }
        if (is_bool($options)) { // backward compatibility
            $canonical = $options;
        }
        if (isset($options['addhash'])) {
            $addhash = $options['addhash'];
        }

        if ($env->getGlobals()['site']['canonicalurl'] === true || $canonical === true) {
            $base = rtrim($baseurl, '/');
        }
        if ($canonical === false) {
            $base = '';
        }

        if ($value instanceof Page) {
            $value = $value->getPermalink();
            if (false !== strpos($value, '.')) { // file URL (with a dot for extension)
                $url = $base.'/'.ltrim($value, '/');
            } else {
                $url = $base.'/'.ltrim(rtrim($value, '/').'/', '/');
            }
        } else {
            if (preg_match('~^(?:f|ht)tps?://~i', $value)) { // external URL
                $url = $value;
            } elseif (false !== strpos($value, '.')) { // file URL (with a dot for extension)
                $url = $base.'/'.ltrim($value, '/');
                if ($addhash) {
                    $url .= '?'.$hash;
                }
            } else {
                $value = $this->slugifyFilter($value);
                $url = $base.'/'.ltrim(rtrim($value, '/').'/', '/');
            }
        }

        return $url;
    }
public function createUrl ( \ Twig_Environment $ env , $ value = null , $ options = null ) { $ base = '' ; $ baseurl = $ env -> getGlobals ( ) [ 'site' ] [ 'baseurl' ] ; $ hash = md5 ( $ env -> getGlobals ( ) [ 'site' ] [ 'time' ] ) ; $ canonical = null ; $ addhash = true ; if ( isset ( $ options [ 'canonical' ] ) ) { $ canonical = $ options [ 'canonical' ] ; } if ( is_bool ( $ options ) ) { // backward compatibility $ canonical = $ options ; } if ( isset ( $ options [ 'addhash' ] ) ) { $ addhash = $ options [ 'addhash' ] ; } if ( $ env -> getGlobals ( ) [ 'site' ] [ 'canonicalurl' ] === true || $ canonical === true ) { $ base = rtrim ( $ baseurl , '/' ) ; } if ( $ canonical === false ) { $ base = '' ; } if ( $ value instanceof Page ) { $ value = $ value -> getPermalink ( ) ; if ( false !== strpos ( $ value , '.' ) ) { // file URL (with a dot for extension) $ url = $ base . '/' . ltrim ( $ value , '/' ) ; } else { $ url = $ base . '/' . ltrim ( rtrim ( $ value , '/' ) . '/' , '/' ) ; } } else { if ( preg_match ( '~^(?:f|ht)tps?://~i' , $ value ) ) { // external URL $ url = $ value ; } elseif ( false !== strpos ( $ value , '.' ) ) { // file URL (with a dot for extension) $ url = $ base . '/' . ltrim ( $ value , '/' ) ; if ( $ addhash ) { $ url .= '?' . $ hash ; } } else { $ value = $ this -> slugifyFilter ( $ value ) ; $ url = $ base . '/' . ltrim ( rtrim ( $ value , '/' ) . '/' , '/' ) ; } } return $ url ; }
Create an URL.

$options[
'canonical' => null,
'addhash'   => true,
];

@param \Twig_Environment         $env
@param string|\PHPoole\Page\Page $value
@param array|null                $options

@return string
Create an URL .