source/Core/SeoEncoder.php
protected function _isFixed($sType, $sId, $iLang, $iShopId = null, $sParams = null, $blStrictParamsCheck = true)
    {
        if ($iShopId === null) {
            $iShopId = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId();
        }
        $iLang = (int) $iLang;

        if (!isset(self::$_aFixedCache[$sType][$iShopId][$sId][$iLang])) {
            $oDb = \OxidEsales\Eshop\Core\DatabaseProvider::getDb();

            $sQ = "SELECT `oxfixed`
                FROM `oxseo`
                WHERE `oxtype` = " . $oDb->quote($sType) . "
                   AND `oxobjectid` = " . $oDb->quote($sId) . "
                   AND `oxshopid` = " . $oDb->quote($iShopId) . "
                   AND `oxlang` = '{$iLang}'";

            $sParams = $sParams ? $oDb->quote($sParams) : "''";
            if ($sParams && $blStrictParamsCheck) {
                $sQ .= " AND `oxparams` = {$sParams}";
            } else {
                $sQ .= " ORDER BY `oxparams` ASC";
            }
            $sQ .= " LIMIT 1";

            self::$_aFixedCache[$sType][$iShopId][$sId][$iLang] = (bool) $oDb->getOne($sQ);
        }

        return self::$_aFixedCache[$sType][$iShopId][$sId][$iLang];
    }
protected function _isFixed($sType, $sId, $iLang, $iShopId = null, $sParams = null, $blStrictParamsCheck = true)
    {
        if ($iShopId === null) {
            $iShopId = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId();
        }
        $iLang = (int) $iLang;

        if (!isset(self::$_aFixedCache[$sType][$iShopId][$sId][$iLang])) {
            $oDb = \OxidEsales\Eshop\Core\DatabaseProvider::getDb();

            $sQ = "SELECT `oxfixed`
                FROM `oxseo`
                WHERE `oxtype` = " . $oDb->quote($sType) . "
                   AND `oxobjectid` = " . $oDb->quote($sId) . "
                   AND `oxshopid` = " . $oDb->quote($iShopId) . "
                   AND `oxlang` = '{$iLang}'";

            $sParams = $sParams ? $oDb->quote($sParams) : "''";
            if ($sParams && $blStrictParamsCheck) {
                $sQ .= " AND `oxparams` = {$sParams}";
            } else {
                $sQ .= " ORDER BY `oxparams` ASC";
            }
            $sQ .= " LIMIT 1";

            self::$_aFixedCache[$sType][$iShopId][$sId][$iLang] = (bool) $oDb->getOne($sQ);
        }

        return self::$_aFixedCache[$sType][$iShopId][$sId][$iLang];
    }
protected function _isFixed ( $ sType , $ sId , $ iLang , $ iShopId = null , $ sParams = null , $ blStrictParamsCheck = true ) { if ( $ iShopId === null ) { $ iShopId = \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) -> getShopId ( ) ; } $ iLang = ( int ) $ iLang ; if ( ! isset ( self :: $ _aFixedCache [ $ sType ] [ $ iShopId ] [ $ sId ] [ $ iLang ] ) ) { $ oDb = \ OxidEsales \ Eshop \ Core \ DatabaseProvider :: getDb ( ) ; $ sQ = "SELECT `oxfixed`
                FROM `oxseo`
                WHERE `oxtype` = " . $ oDb -> quote ( $ sType ) . "
                   AND `oxobjectid` = " . $ oDb -> quote ( $ sId ) . "
                   AND `oxshopid` = " . $ oDb -> quote ( $ iShopId ) . "
                   AND `oxlang` = '{$iLang}'" ; $ sParams = $ sParams ? $ oDb -> quote ( $ sParams ) : "''" ; if ( $ sParams && $ blStrictParamsCheck ) { $ sQ .= " AND `oxparams` = {$sParams}" ; } else { $ sQ .= " ORDER BY `oxparams` ASC" ; } $ sQ .= " LIMIT 1" ; self :: $ _aFixedCache [ $ sType ] [ $ iShopId ] [ $ sId ] [ $ iLang ] = ( bool ) $ oDb -> getOne ( $ sQ ) ; } return self :: $ _aFixedCache [ $ sType ] [ $ iShopId ] [ $ sId ] [ $ iLang ] ; }
check if seo url exist and is fixed

@param string $sType               object type
@param string $sId                 object identifier
@param int    $iLang               active language id
@param mixed  $iShopId             active shop id
@param string $sParams             additional seo params. optional (mostly used for db indexing)
@param bool   $blStrictParamsCheck strict parameters check

@access protected

@return bool
check if seo url exist and is fixed