source/Core/SeoDecoder.php
public function decodeUrl($seoUrl)
    {
        $stringObject = getStr();
        $baseUrl = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopURL();
        if ($stringObject->strpos($seoUrl, $baseUrl) === 0) {
            $seoUrl = $stringObject->substr($seoUrl, $stringObject->strlen($baseUrl));
        }
        $seoUrl = rawurldecode($seoUrl);

        //extract page number from seo url
        list($seoUrl, $pageNumber) = $this->extractPageNumberFromSeoUrl($seoUrl);
        $shopId = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId();

        $key = $this->_getIdent($seoUrl);
        $urlParameters = false;

        $database = \OxidEsales\Eshop\Core\DatabaseProvider::getDb(\OxidEsales\Eshop\Core\DatabaseProvider::FETCH_MODE_ASSOC);
        $resultSet = $database->select("select oxstdurl, oxlang from oxseo where oxident=" . $database->quote($key) . " and oxshopid='$shopId' limit 1");
        if (!$resultSet->EOF) {
            // primary seo language changed ?
            $urlParameters = $this->parseStdUrl($resultSet->fields['oxstdurl']);
            $urlParameters['lang'] = $resultSet->fields['oxlang'];
        }
        if (is_array($urlParameters) && !is_null($pageNumber) && (1 < $pageNumber)) {
            $urlParameters['pgNr'] = $pageNumber;
        }

        return $urlParameters;
    }
public function decodeUrl($seoUrl)
    {
        $stringObject = getStr();
        $baseUrl = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopURL();
        if ($stringObject->strpos($seoUrl, $baseUrl) === 0) {
            $seoUrl = $stringObject->substr($seoUrl, $stringObject->strlen($baseUrl));
        }
        $seoUrl = rawurldecode($seoUrl);

        //extract page number from seo url
        list($seoUrl, $pageNumber) = $this->extractPageNumberFromSeoUrl($seoUrl);
        $shopId = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId();

        $key = $this->_getIdent($seoUrl);
        $urlParameters = false;

        $database = \OxidEsales\Eshop\Core\DatabaseProvider::getDb(\OxidEsales\Eshop\Core\DatabaseProvider::FETCH_MODE_ASSOC);
        $resultSet = $database->select("select oxstdurl, oxlang from oxseo where oxident=" . $database->quote($key) . " and oxshopid='$shopId' limit 1");
        if (!$resultSet->EOF) {
            // primary seo language changed ?
            $urlParameters = $this->parseStdUrl($resultSet->fields['oxstdurl']);
            $urlParameters['lang'] = $resultSet->fields['oxlang'];
        }
        if (is_array($urlParameters) && !is_null($pageNumber) && (1 < $pageNumber)) {
            $urlParameters['pgNr'] = $pageNumber;
        }

        return $urlParameters;
    }
public function decodeUrl ( $ seoUrl ) { $ stringObject = getStr ( ) ; $ baseUrl = \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) -> getShopURL ( ) ; if ( $ stringObject -> strpos ( $ seoUrl , $ baseUrl ) === 0 ) { $ seoUrl = $ stringObject -> substr ( $ seoUrl , $ stringObject -> strlen ( $ baseUrl ) ) ; } $ seoUrl = rawurldecode ( $ seoUrl ) ; //extract page number from seo url list ( $ seoUrl , $ pageNumber ) = $ this -> extractPageNumberFromSeoUrl ( $ seoUrl ) ; $ shopId = \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) -> getShopId ( ) ; $ key = $ this -> _getIdent ( $ seoUrl ) ; $ urlParameters = false ; $ database = \ OxidEsales \ Eshop \ Core \ DatabaseProvider :: getDb ( \ OxidEsales \ Eshop \ Core \ DatabaseProvider :: FETCH_MODE_ASSOC ) ; $ resultSet = $ database -> select ( "select oxstdurl, oxlang from oxseo where oxident=" . $ database -> quote ( $ key ) . " and oxshopid='$shopId' limit 1" ) ; if ( ! $ resultSet -> EOF ) { // primary seo language changed ? $ urlParameters = $ this -> parseStdUrl ( $ resultSet -> fields [ 'oxstdurl' ] ) ; $ urlParameters [ 'lang' ] = $ resultSet -> fields [ 'oxlang' ] ; } if ( is_array ( $ urlParameters ) && ! is_null ( $ pageNumber ) && ( 1 < $ pageNumber ) ) { $ urlParameters [ 'pgNr' ] = $ pageNumber ; } return $ urlParameters ; }
decodeUrl decodes given url into oxid eShop required parameters which are returned as array

@param string $seoUrl SEO url

@access        public
@return array || false
decodeUrl decodes given url into oxid eShop required parameters which are returned as array