db = cDb::getInstance(); } /** * Function to get data by filter * * @param string $sWhere - additional where for search/filter * @return bool|array found data * @author Aivars Žukovskis * @category cmsBuys Module * @version 1.1 */ public function getDataBySearch($sWhere) { $sSql = " SELECT mp.id, mp.prod_nr as nr, mpi.prod_name -- mc.a_name as cname FROM mod_products mp LEFT JOIN mod_products_info mpi ON mp.id = mpi.prod_id AND mpi.lang_id = " . cmsProductAttrModule::LV_LANG_ID . " -- LEFT JOIN mod_companies mc ON -- mp.prod_comp_link_id = mc.id WHERE mp.prod_deleted = '0' {$sWhere} "; $this->db->query($sSql); return $this->db->getFieldBasedArrayFieldsAdv('id'); } /** * Function to get product count division * * @param int $id - record id for update * @return array of data * @author Aivars Žukovskis * @category cmsBuys Module * @version 1.1 */ public function getProdDivision($id) { $id = ($id ?: 0); $sSql = " SELECT cc.id, cc.prod_id, COALESCE(tr.t_title, '') as cl1, COALESCE(tr2.t_title, '') as cl2, ROUND(cc.prod_incoming_price, 2) as incoming_price, ROUND(cc.prod_price, 2) as price, CASE WHEN cc.prod_disabled = '1' THEN 0 ELSE 1 END as d, COALESCE(tc.count, 0) as c, cc.prod_cl_id, cc.prod_cl_id_2 FROM " . cmsProductsModule::TABLE_COUNT_CLASSIFICATION . " cc LEFT JOIN " . cmsProductsModule::VIEW_TO_COUNT . " as tc ON tc.prod_id = cc.prod_id AND tc.row_id = cc.id LEFT JOIN mod_items_attr_translations tr ON cc.prod_cl_id = tr.t_id AND tr.t_lang_id = 7 LEFT JOIN mod_items_attr_translations tr2 ON cc.prod_cl_id_2 = tr2.t_id AND tr2.t_lang_id = 7 WHERE cc.prod_id = " . $this->db->prepData($id) . " AND cc.prod_disabled <> '2' "; $this->db->query($sSql); $fields = ['cl1', 'cl2', 'c', 'incoming_price', 'price', 'd', 'prod_cl_id', 'prod_cl_id_2']; return $this->db->getFieldBasedArrayFieldsAdv('id', $fields); } /** * Function to insert multi array into db * * @param string $sTable - table name * @param array $vData - record data array * @return bool|array of ids of data * @category cmsProducts Module * @author Aivars Žukovskis * @version 1.1 */ public function insertMultiArray($sTable, $vData) { if (strlen($sTable) && !!$vData && is_array($vData)) { return $this->db->_queryInsertArray($sTable, $vData); } return false; } /** * Function to get all partners * * @return array|null found data * @category cmsReports Module * @author Aivars Žukovskis * @version 1.1 */ public function getPartners() { $table = 'mod_companies'; $fields = ['id', 'a_name']; $where = ['a_blocked' => 0]; $order = ['a_name' => 'ASC']; $this->db->_querySelect($table, $fields, $where, $order, false, false); return $this->db->getKeyValBasedArray('id', 'a_name'); } }