Returns the URI parts to the Entry up to but not including
the slug, based on the file location.

@return string
486523
protected function getUriPath()
    {
        $path = dirname($this->getPathFromContent());
        $parts = explode(DIRECTORY_SEPARATOR, $path);

        $uriParts = array_filter($parts, function ($dirname) {
            return false === $this->isTopLevel();
        });

        return trim(implode(DIRECTORY_SEPARATOR, $uriParts), DIRECTORY_SEPARATOR);
    }
257287
private function getParts($uri)
    {
        return ($parsed = parse_url($uri)) === false ? false : [
            'scheme' => isset($parsed['scheme']) ? $parsed['scheme'] . '://' : '',
            'host' => isset($parsed['host']) ? $parsed['host'] : $parsed['path'],
            'port' => isset($parsed['port']) ? ':' . $parsed['port'] : '',
        ];
    }
169597
public function getFullSlug() : string
    {
        $categories = Category::with('ancestors')->ancestorsAndSelf($this->category->id);

        $slug = "";

        foreach ($categories as $category) {
            $translation = $category->translations->where('locale', $this->locale)->first();
            $slug .= $translation->slug . '/';
        }

        $slug = substr($slug, 0, -1);

        return $slug;
    }
842700
public function getSlug() : ?string 
    {
        if ( ! $this->hasSlug()) {
            $this->setSlug($this->getDefaultSlug());
        }
        return $this->slug;
    }
979115
public function uri() {
		$uri = self::uriTrim();
		$webRoot = self::webRoot();
		$uri = str_replace($webRoot, '', $uri);
		$uri = trim($uri, '/');
		return $uri;
	}
1208597
private function compileUriRegEx()
    {
        $reg_start      = '/^';
        $scheme_part    = '(?:(?\'scheme\'[A-Za-z0-9][^\/\?#:]+):)?';
        $authority_part = '(?:(?:\/\/)(?\'authority\'[^\/]*))?';
        $path_part      = '(?\'path\'[^\?#]*)?';
        $query_part     = '(?:\?(?\'query\'[^#]*))?';
        $fragment_part  = '(?:#(?\'fragment\'.*))?';
        $reg_end        = '/';

        return $reg_start . $scheme_part . $authority_part . $path_part . $query_part . $fragment_part . $reg_end;
    }
62890
protected function getURI(): string
    {
        if (empty($this->baseUrl) || empty($this->uri)) {
            throw new Exception('Url or end point can not be null');
        }

        return $this->baseUrl . $this->uri;
    }
801835
public function getFullPath()
    {
        /** @var Uri $uri */
        $uri = $this->getUri();

        return rtrim($uri->getBasePath(), '/') . '/' . ltrim($uri->getPath(), '/');
    }
188986
public function getEntryUri()
    {
        $product = oxNew(\OxidEsales\Eshop\Application\Model\Article::class);

        if ($product->load($this->getEditObjectId())) {
            $seoEncoder = $this->_getEncoder();

            switch ($this->getActCatType()) {
                case 'oxvendor':
                    return $seoEncoder->getArticleVendorUri($product, $this->getEditLang());
                case 'oxmanufacturer':
                    return $seoEncoder->getArticleManufacturerUri($product, $this->getEditLang());
                default:
                    if ($this->getActCatId()) {
                        return $seoEncoder->getArticleUri($product, $this->getEditLang());
                    } else {
                        return $seoEncoder->getArticleMainUri($product, $this->getEditLang());
                    }
            }
        }
    }
582150
public function getNormalizeUri()
    {
        if (null === $this->getSite()) {
            return $this->getUrl();
        }

        return $this->getUrl().$this->getSite()->getDefaultExtension();
    }
480191
public function pathname()
    {
        $uri = $this->uri();

        // Strip the query string from the URI
        $uri = strstr($uri, '?', true) ?: $uri;

        return $uri;
    }
1309996
private static function _getBaseUri()
    {
        if (defined('MUNICIPIO_STYLEGUIDE_URI') && MUNICIPIO_STYLEGUIDE_URI != "") {
            $uri = MUNICIPIO_STYLEGUIDE_URI;
        } else {
            $uri = self::$_uri;
        }

        $uri = rtrim(apply_filters('Municipio/theme/styleguide_uri', $uri), '/');

        if (defined('STYLEGUIDE_VERSION') && STYLEGUIDE_VERSION != "") {
            $uri .= '/' . STYLEGUIDE_VERSION;
        }

        return $uri;
    }
621705
protected function getCurrentUri()
  {
    // Get the current Request URI and remove rewrite base path from it (= allows one to run the router in a sub folder)
    $uri = substr($_SERVER['REQUEST_URI'], strlen($this->getBasePath()));
    // Don't take query params into account on the URL
    if (strstr($uri, '?')) {
      $uri = substr($uri, 0, strpos($uri, '?'));
    }
    // Remove trailing slash + enforce a slash at the start
    return '/' . trim($uri, '/');
  }
205237
protected function getAdditionalUriData($uri)
    {
        if (strpos($uri, '?') !== false) {
            return substr($uri, strpos($uri, '?'));
        } else if (strpos($uri, '#') !== false) {
            return substr($uri, strpos($uri, '#'));
        }
        
        return '';
    }
148259
public function getEntryUri()
    {
        $oCategory = oxNew(\OxidEsales\Eshop\Application\Model\Category::class);
        if ($oCategory->load($this->getEditObjectId())) {
            return $this->_getEncoder()->getCategoryUri($oCategory, $this->getEditLang());
        }
    }
438653
public function getRequestUri()
    {
        if (isset($this->env['REQUEST_URI'])) {
            $uri = $this->env['REQUEST_URI'];
        } else {
            $uri = "/";
        }
        if (strstr($uri, "?")) {
            $uri = strstr($uri, "?", true);
        }
        return $uri;
    }
1248538
public function toUriString() : string
    {
        $uri = '';

        if (($scheme = $this->getScheme()) != '') {
            $uri .= $scheme . ':';
        }

        if (($authority = $this->getAuthority()) != '' || $scheme === 'file') {
            $uri .= '//' . $authority;
        }

        $uri .= $this->getPath();

        if (($query = $this->getQuery()) != '') {
            $uri .= '?' . $query;
        }

        if (($fragment = $this->getFragment()) != '') {
            $uri .= '#' . $fragment;
        }

        return $uri;
    }