34 $this->_aMultiLangTables = $aMultiLangTables;
55 $this->_aMultiShopTables = $aMultiShopTables;
95 $this->_aAllShopLanguages = $aAllShopLanguages;
116 $this->_iShopId = $iShopId;
136 if (empty($this->_aAllViews)) {
137 $this->_aAllViews =
oxDb::getDb()->getCol(
"SHOW TABLES LIKE 'oxv\_%'");
154 $blEndsWithShopId = preg_match(
"/[_]([0-9]+)$/", $sViewName, $aMatchEndsWithShopId);
155 $blContainsShopId = preg_match(
"/[_]([0-9]+)[_]/", $sViewName, $aMatchContainsShopId);
157 if ((!$blEndsWithShopId && !$blContainsShopId) ||
158 ($blEndsWithShopId && $aMatchEndsWithShopId[1] == $this->
getShopId()) ||
159 ($blContainsShopId && $aMatchContainsShopId[1] == $this->
getShopId())
176 if (empty($this->_aShopViews)) {
178 $this->_aShopViews = array();
181 foreach ($aAllViews as $sView) {
184 $this->_aShopViews[] = $sView;
199 if (empty($this->_aValidShopViews)) {
201 $aTables = $this->getMultilangTables();
204 $this->_aValidShopViews = array();
206 foreach ($aTables as $sTable) {
207 $this->_aValidShopViews[] =
'oxv_' . $sTable;
211 $this->_aValidShopViews[] =
'oxv_' . $sTable .
'_' . $sLang;
240 $aInvalidViews = array();
243 foreach ($aShopViews as $sView) {
245 $aInvalidViews[] = $sView;
249 return $aInvalidViews;