/** * Builds and returns SQL query string. Adds additional order check. * * @param object $oListObject list main object * * @return string */ protected function _buildSelectString($oListObject = null) { $sSql = parent::_buildSelectString($oListObject); $oDb = oxDb::getDb(); $sSearch = oxRegistry::getConfig()->getRequestParameter('addsearch'); $sSearch = trim($sSearch); $sSearchField = oxRegistry::getConfig()->getRequestParameter('addsearchfld'); if ($sSearch) { switch ($sSearchField) { case 'oxorderarticles': $sQ = "oxorder left join oxorderarticles on oxorderarticles.oxorderid=oxorder.oxid where ( oxorderarticles.oxartnum like " . $oDb->quote("%{$sSearch}%") . " or oxorderarticles.oxtitle like " . $oDb->quote("%{$sSearch}%") . " ) and "; break; case 'oxpayments': $sQ = "oxorder left join oxpayments on oxpayments.oxid=oxorder.oxpaymenttype where oxpayments.oxdesc like " . $oDb->quote("%{$sSearch}%") . " and "; break; default: $sQ = "oxorder where oxorder.oxpaid like " . $oDb->quote("%{$sSearch}%") . " and "; break; } $sSql = str_replace('oxorder where', $sQ, $sSql); } return $sSql; }
/** * Builds and returns SQL query string. Adds additional order check. * * @param object $listObject list main object * * @return string */ protected function _buildSelectString($listObject = null) { $query = parent::_buildSelectString($listObject); $database = oxDb::getDb(); $searchQuery = oxRegistry::getConfig()->getRequestParameter('addsearch'); $searchQuery = trim($searchQuery); $searchField = oxRegistry::getConfig()->getRequestParameter('addsearchfld'); if ($searchQuery) { switch ($searchField) { case 'oxorderarticles': $queryPart = "oxorder left join oxorderarticles on oxorderarticles.oxorderid=oxorder.oxid where ( oxorderarticles.oxartnum like " . $database->quote("%{$searchQuery}%") . " or oxorderarticles.oxtitle like " . $database->quote("%{$searchQuery}%") . " ) and "; break; case 'oxpayments': $queryPart = "oxorder left join oxpayments on oxpayments.oxid=oxorder.oxpaymenttype where oxpayments.oxdesc like " . $database->quote("%{$searchQuery}%") . " and "; break; default: $queryPart = "oxorder where oxorder.oxpaid like " . $database->quote("%{$searchQuery}%") . " and "; break; } $query = str_replace('oxorder where', $queryPart, $query); } return $query; }
/** * Builds and returns SQL query string. * * @param object $oListObject list main object * * @return string */ protected function _buildSelectString($oListObject = null) { $sQ = parent::_buildSelectString($oListObject); if ($sQ) { $sTable = getViewName("oxarticles"); $sQ .= " and {$sTable}.oxparentid = '' "; $sType = false; $sArtCat = oxRegistry::getConfig()->getRequestParameter("art_category"); if ($sArtCat && strstr($sArtCat, "@@") !== false) { list($sType, $sValue) = explode("@@", $sArtCat); } switch ($sType) { // add category case 'cat': $oStr = getStr(); $sViewName = getViewName("oxobject2category"); $sInsert = "from {$sTable} left join {$sViewName} on {$sTable}.oxid = {$sViewName}.oxobjectid " . "where {$sViewName}.oxcatnid = " . oxDb::getDb()->quote($sValue) . " and "; $sQ = $oStr->preg_replace("/from\\s+{$sTable}\\s+where/i", $sInsert, $sQ); break; // add category // add category case 'mnf': $sQ .= " and {$sTable}.oxmanufacturerid = " . oxDb::getDb()->quote($sValue); break; // add vendor // add vendor case 'vnd': $sQ .= " and {$sTable}.oxvendorid = " . oxDb::getDb()->quote($sValue); break; } } return $sQ; }