db = cDb::getInstance(); } /** * Function to get module data * * @param string $where - sql query * @param string $sort - sql query * @param int $offset - db table offset * @param int $limitPerPage - limit per page * @return null|array of data * @category cmsCountToClass Module * @author Aivars Žukovskis * @version 1.1 */ public function getModuleRecords($where, $sort, $offset = 0, $limitPerPage = 20) { $sSql = " SELECT SQL_CALC_FOUND_ROWS cc.id as id, cc.date, cc.op_date, cc.note, mp.prod_nr as nr, ii.prod_name, COALESCE(tr.t_title, '') as cl1, tr.t_title, COALESCE(tr2.t_title, '') as cl2, tr2.t_title, COALESCE(cc.count, 0) as 'count', ROUND(mcc.prod_incoming_price, 2) as ip, ROUND(mcc.prod_price, 2) as p, ROUND(cc.price_sold, 2) as pv, cc.op_type, CONCAT(uu.user_name, ' ', uu.user_surname) as op_user FROM mod_products mp LEFT JOIN mod_products_info ii ON mp.id = ii.prod_id AND ii.lang_id = " . cmsProductAttrModule::LV_LANG_ID . " LEFT JOIN mod_products_to_count_and_classificators mcc ON mp.id = mcc.prod_id LEFT JOIN mod_products_to_count cc ON mp.id = cc.prod_id AND cc.row_id = mcc.id LEFT JOIN mod_items_attr_translations tr ON mcc.prod_cl_id = tr.t_id AND tr.t_lang_id = ii.lang_id LEFT JOIN mod_items_attr_translations tr2 ON mcc.prod_cl_id_2 = tr2.t_id AND tr2.t_lang_id = ii.lang_id LEFT JOIN site_users uu ON uu.id = cc.user_id HAVING 1 {$where} ORDER BY {$sort} LIMIT {$offset}, {$limitPerPage} "; $this->db->query($sSql); return $this->db->getArray(); } public function saveData($id, $data): bool { return $this->db->_queryUpdate('mod_products_to_count', $data, ['id' => $id]); } public function deleteRecords($ids): bool { return $this->db->_queryDelete('mod_products_to_count', ['id' => $ids]); } }