/** * Returns array with DB records * * @param string $sQ SQL query * * @return array */ protected function _getDataFields($sQ) { $dataFields = parent::_getDataFields($sQ); if (oxRegistry::getConfig()->getRequestParameter('oxid') && is_array($dataFields) && count($dataFields)) { // looking for smallest time value to mark record as main category .. $minimalPosition = null; $minimalValue = null; reset($dataFields); while (list($position, $fields) = each($dataFields)) { // already set ? if ($fields['_3'] == '0') { $minimalPosition = null; break; } if (!$minimalValue) { $minimalValue = $fields['_3']; $minimalPosition = $position; } elseif ($minimalValue > $fields['_3']) { $minimalPosition = $position; } } // setting primary category if (isset($minimalPosition)) { $dataFields[$minimalPosition]['_3'] = '0'; } } return $dataFields; }
/** * Returns array with DB records * * @param string $sQ SQL query * * @return array */ protected function _getDataFields($sQ) { $aDataFields = parent::_getDataFields($sQ); if (oxConfig::getParameter('oxid') && is_array($aDataFields) && count($aDataFields)) { // looking for smallest time value to mark record as main category .. $iMinPos = null; $iMinVal = null; reset($aDataFields); while (list($iPos, $aField) = each($aDataFields)) { // allready set ? if ($aField['_3'] == '0') { $iMinPos = null; break; } if (!$iMinVal) { $iMinVal = $aField['_3']; $iMinPos = $iPos; } elseif ($iMinVal > $aField['_3']) { $iMinPos = $iPos; } } // setting primary category if (isset($iMinPos)) { $aDataFields[$iMinPos]['_3'] = '0'; } } return $aDataFields; }
/** * Adds filter SQL to current query * * @param string $sQ query to add filter condition * * @return string */ protected function _addFilter($sQ) { $sArtTable = $this->_getViewName('oxarticles'); $sQ = parent::_addFilter($sQ); // display variants or not ? $sQ .= $this->getConfig()->getRequestParameter('blVariantsSelection') ? ' group by ' . $sArtTable . '.oxid ' : ''; return $sQ; }
/** * Adds filter SQL to current query * * @param string $query query to add filter condition * * @return string */ protected function _addFilter($query) { $articleViewName = $this->_getViewName('oxarticles'); $query = parent::_addFilter($query); // display variants or not ? $query .= $this->getConfig()->getRequestParameter('blVariantsSelection') ? ' group by ' . $articleViewName . '.oxid ' : ''; return $query; }
/** * Adds filter SQL to current query * * @param string $sQ query to add filter condition * * @return string */ protected function _addFilter($sQ) { $sArtTable = $this->_getViewName('oxarticles'); $sQ = parent::_addFilter($sQ); // display variants or not ? if (!$this->getConfig()->getConfigParam('blVariantsSelection')) { $sQ .= " and {$sArtTable}.oxparentid = '' "; } return $sQ; }
/** * Returns SQL query addon for sorting * * @return string */ protected function _getSorting() { $sOrder = ''; if (oxRegistry::getConfig()->getRequestParameter('synchoxid')) { $sOrder = parent::_getSorting(); } elseif ($aSkipArt = oxRegistry::getSession()->getVariable('neworder_sess')) { $sOrderBy = ''; $sArtTable = $this->_getViewName('oxarticles'); $sSep = ''; foreach ($aSkipArt as $sId) { $sOrderBy = " {$sArtTable}.oxid=" . oxDb::getDb()->quote($sId) . " " . $sSep . $sOrderBy; $sSep = ", "; } $sOrder = "order by " . $sOrderBy; } return $sOrder; }
/** * Removes article from delivery configuration */ public function removeArtFromDel() { $aChosenArt = $this->_getActionIds('oxobject2delivery.oxid'); // removing all if ($this->getConfig()->getRequestParameter('all')) { $sQ = parent::_addFilter("delete oxobject2delivery.* " . $this->_getQuery()); oxDb::getDb()->Execute($sQ); } elseif (is_array($aChosenArt)) { $sQ = "delete from oxobject2delivery where oxobject2delivery.oxid in (" . implode(", ", oxDb::getDb()->quoteArray($aChosenArt)) . ") "; oxDb::getDb()->Execute($sQ); } }
/** * Removes article from Attribute list * * @return null */ public function removeattrarticle() { $aChosenCat = $this->_getActionIds('oxobject2attribute.oxid'); if (oxConfig::getParameter('all')) { $sO2AttributeView = $this->_getViewName('oxobject2attribute'); $sQ = parent::_addFilter("delete {$sO2AttributeView}.* " . $this->_getQuery()); oxDb::getDb()->Execute($sQ); } elseif (is_array($aChosenCat)) { $sQ = "delete from oxobject2attribute where oxobject2attribute.oxid in (" . implode(", ", oxDb::getInstance()->quoteArray($aChosenCat)) . ") "; oxDb::getDb()->Execute($sQ); } }
/** * Adds article to Selection list */ public function addArtToSel() { $aAddArticle = $this->_getActionIds('oxarticles.oxid'); $soxId = oxRegistry::getConfig()->getRequestParameter('synchoxid'); if (oxRegistry::getConfig()->getRequestParameter('all')) { $sArtTable = $this->_getViewName('oxarticles'); $aAddArticle = $this->_getAll(parent::_addFilter("select {$sArtTable}.oxid " . $this->_getQuery())); } if ($soxId && $soxId != "-1" && is_array($aAddArticle)) { $oDb = oxDb::getDb(); foreach ($aAddArticle as $sAdd) { $oNewGroup = oxNew("oxBase"); $oNewGroup->init("oxobject2selectlist"); $oNewGroup->oxobject2selectlist__oxobjectid = new oxField($sAdd); $oNewGroup->oxobject2selectlist__oxselnid = new oxField($soxId); $oNewGroup->oxobject2selectlist__oxsort = new oxField((int) $oDb->getOne("select max(oxsort) + 1 from oxobject2selectlist where oxobjectid = " . $oDb->quote($sAdd) . " ", false, false)); $oNewGroup->save(); $this->onArticleAddToSelectionList($sAdd); } } }
/** * Adding article to accessories article list */ public function addArticleAcc() { $oArticle = oxNew("oxArticle"); $aChosenArt = $this->_getActionIds('oxarticles.oxid'); $soxId = oxRegistry::getConfig()->getRequestParameter('synchoxid'); // adding if (oxRegistry::getConfig()->getRequestParameter('all')) { $sArtTable = $this->_getViewName('oxarticles'); $aChosenArt = $this->_getAll(parent::_addFilter("select {$sArtTable}.oxid " . $this->_getQuery())); } if ($oArticle->load($soxId) && $soxId && $soxId != "-1" && is_array($aChosenArt)) { foreach ($aChosenArt as $sChosenArt) { $oNewGroup = oxNew("oxBase"); $oNewGroup->init("oxaccessoire2article"); $oNewGroup->oxaccessoire2article__oxobjectid = new oxField($sChosenArt); $oNewGroup->oxaccessoire2article__oxarticlenid = new oxField($oArticle->oxarticles__oxid->value); $oNewGroup->oxaccessoire2article__oxsort = new oxField(0); $oNewGroup->save(); } $this->onArticleAccessoryRelationChange($oArticle); } }
/** * Removes article from Promotions list * * @return null */ public function removeartfromact() { $aChosenArt = $this->_getActionIds('oxactions2article.oxid'); $sOxid = oxConfig::getParameter('oxid'); if (oxConfig::getParameter('all')) { $sQ = parent::_addFilter("delete oxactions2article.* " . $this->_getQuery()); oxDb::getDb()->Execute($sQ); } elseif (is_array($aChosenArt)) { $sQ = "delete from oxactions2article where oxactions2article.oxid in (" . implode(", ", oxDb::getInstance()->quoteArray($aChosenArt)) . ") "; oxDb::getDb()->Execute($sQ); } }
/** * Removes article from Promotions list */ public function removeArtFromAct() { $aChosenArt = $this->_getActionIds('oxactions2article.oxid'); $sOxid = oxRegistry::getConfig()->getRequestParameter('oxid'); $this->_getOxRssFeed()->removeCacheFile($sOxid); if (oxRegistry::getConfig()->getRequestParameter('all')) { $sQ = parent::_addFilter("delete oxactions2article.* " . $this->_getQuery()); oxDb::getDb()->Execute($sQ); } elseif (is_array($aChosenArt)) { $sChosenArticles = implode(", ", oxDb::getInstance()->quoteArray($aChosenArt)); $sQ = "delete from oxactions2article where oxactions2article.oxid in (" . $sChosenArticles . ") "; oxDb::getDb()->Execute($sQ); } }
/** * Adds selected article (articles) to discount list */ public function addDiscArt() { $config = $this->getConfig(); $articleIds = $this->_getActionIds('oxarticles.oxid'); $discountListId = $config->getRequestParameter('synchoxid'); // adding if ($config->getRequestParameter('all')) { $articleTable = $this->_getViewName('oxarticles'); $articleIds = $this->_getAll(parent::_addFilter("select {$articleTable}.oxid " . $this->_getQuery())); } if ($discountListId && $discountListId != self::NEW_DISCOUNT_LIST_ID && is_array($articleIds)) { foreach ($articleIds as $articleId) { $this->addArticleToDiscount($discountListId, $articleId); } } }
/** * Adds selected article (articles) to discount list */ public function addDiscArt() { $oConfig = $this->getConfig(); $aChosenArt = $this->_getActionIds('oxarticles.oxid'); $soxId = $oConfig->getRequestParameter('synchoxid'); // adding if ($oConfig->getRequestParameter('all')) { $sArticleTable = $this->_getViewName('oxarticles'); $aChosenArt = $this->_getAll(parent::_addFilter("select {$sArticleTable}.oxid " . $this->_getQuery())); } if ($soxId && $soxId != "-1" && is_array($aChosenArt)) { foreach ($aChosenArt as $sChosenArt) { $oObject2Discount = oxNew("oxbase"); $oObject2Discount->init('oxobject2discount'); $oObject2Discount->oxobject2discount__oxdiscountid = new oxField($soxId); $oObject2Discount->oxobject2discount__oxobjectid = new oxField($sChosenArt); $oObject2Discount->oxobject2discount__oxtype = new oxField("oxarticles"); $oObject2Discount->save(); } } }
/** * Removes article from Attribute list */ public function removeAttrArticle() { $aChosenCat = $this->_getActionIds('oxobject2attribute.oxid'); if (oxRegistry::getConfig()->getRequestParameter('all')) { $sO2AttributeView = $this->_getViewName('oxobject2attribute'); $sQ = parent::_addFilter("delete {$sO2AttributeView}.* " . $this->_getQuery()); oxDb::getDb()->Execute($sQ); } elseif (is_array($aChosenCat)) { $sChosenCategories = implode(", ", oxDb::getDb()->quoteArray($aChosenCat)); $sQ = "delete from oxobject2attribute where oxobject2attribute.oxid in (" . $sChosenCategories . ") "; oxDb::getDb()->Execute($sQ); } }
/** * Adding article to corssselling list * * @return null */ public function addarticlecross() { $aChosenArt = $this->_getActionIds('oxarticles.oxid'); $soxId = oxConfig::getParameter('synchoxid'); // adding if (oxConfig::getParameter('all')) { $sArtTable = $this->_getViewName('oxarticles'); $aChosenArt = $this->_getAll(parent::_addFilter("select {$sArtTable}.oxid " . $this->_getQuery())); } $oArticle = oxNew("oxarticle"); if ($oArticle->load($soxId) && $soxId && $soxId != "-1" && is_array($aChosenArt)) { foreach ($aChosenArt as $sAdd) { $oNewGroup = oxNew('oxbase'); $oNewGroup->init('oxobject2article'); $oNewGroup->oxobject2article__oxobjectid = new oxField($sAdd); $oNewGroup->oxobject2article__oxarticlenid = new oxField($oArticle->oxarticles__oxid->value); $oNewGroup->oxobject2article__oxsort = new oxField(0); $oNewGroup->save(); } } }