20 $oObject =
oxNew( $sType );
21 if ( $oObject->load( $this->getEditObjectId() ) ) {
22 $oOtherLang = $oObject->getAvailableInLangs();
23 if ( !isset( $oOtherLang[$iLang] ) ) {
26 $this->_aViewData[
'edit'] = $oObject;
33 foreach ( $aLangs as $sLangId => $sLanguage ) {
34 $oLang =
new stdClass();
35 $oLang->sLangDesc = $sLanguage;
36 $oLang->selected = ( $sLangId == $iLang );
37 $this->_aViewData[
'otherlang'][$sLangId] = clone $oLang;
40 return 'object_seo.tpl';
53 $iShopId = $this->
getConfig()->getShopId();
57 if ( !isset( $aSeoData[
'oxfixed'] ) ) {
58 $aSeoData[
'oxfixed'] = 0;
65 $oEncoder->markAsExpired($sOxid, $iShopId, 1, $iLang, $sParams);
68 $oEncoder->addSeoEntry( $sOxid, $iShopId, $iLang, $this->
_getStdUrl( $sOxid ),
70 trim( $aSeoData[
'oxkeywords'] ), trim( $aSeoData[
'oxdescription'] ), $this->
processParam( $aSeoData[
'oxparams'] ),
true, $this->
_getAltSeoEntryId() );
84 if (isset($aSeoData[
'oxparams'])) {
85 if (preg_match(
'/([a-z]*#)?(?<objectseo>[a-z0-9]+)(#[0-9])?/i', $aSeoData[
'oxparams'], $aMatches)) {
86 $sQuotedObjectSeoId =
oxDb::getDb()->quote($aMatches[
'objectseo']);
87 $sParams =
"oxparams = {$sQuotedObjectSeoId}";
123 $iShopId = $this->
getConfig()->getShopId();
125 $sQ =
"select oxfixed from oxseo where
126 oxseo.oxobjectid = ".oxDb::getDb()->quote( $this->
getEditObjectId() ).
" and
127 oxseo.oxshopid = '{$iShopId}' and oxseo.oxlang = {$iLang} and oxparams = '' ";
128 return (
bool)
oxDb::getDb()->getOne( $sQ,
false,
false );
150 $oObject =
oxNew( $sType );
151 if ( $oObject->load( $sOxid ) ) {
152 return $oObject->getBaseStdLink( $this->
getEditLang(),
true,
false );