db = cDb::getInstance(); } /** * Function to get module records * * @param string $where - sql query * @param string $sort - sql query * @param int $offset - db table offset * @param int $limitPerPage - limit per page * @return array of data * @category cmsDelivery Module * @author Mareks Keišs * @version 1.1 */ public function getModuleRecords($where, $sort, $offset = 0, $limitPerPage = 20) { $sSql = " SELECT SQL_CALC_FOUND_ROWS dc.* FROM mod_delivery dc WHERE 1 {$where} ORDER BY {$sort} LIMIT {$offset}, {$limitPerPage} "; $this->db->query($sSql); return $this->db->getArray(); } /** * Function to add or save record data * * @param int $id - record id for update * @param array $data - record data * @return bool|int record new/old id * @category cmsDelivery Module * @author Mareks Keišs * @version 1.1 */ public function saveRecordDataById($id, $data) { if ($id) { if (!$this->db->_queryUpdate('mod_delivery', $data, ['id' => $id])) { return false; } } else { if (!($id = $this->db->_queryInsert('mod_delivery', $data))) { return false; } } return $id; } /** * Function to get record data by id * * @param int $id - record id * @return null|array - record data * @author Mareks Keišs * @category cmsDelivery Module * @version 1.1 */ public function getRecordDataById($id) { return $this->db->_querySelectRow('mod_delivery', false, ['id' => $id]); } /** * Function to delete table records form db * * @param array $ids - record ids to delete * @return bool true / false * @author Mareks Keišs * @category cmsDelivery Module * @version 1.1 */ public function deleteRecords($ids) { $this->db->execute("DELETE FROM `mod_delivery` WHERE `id` IN (" . implode(',', $ids) . ")"); return $this->db->execute("DELETE FROM `mod_delivery` WHERE `id` IN (" . implode(',', $ids) . ")"); } /** * Function to change record status in db table * * @param array $ids - record ids to affect * @param string $field - field to update for status ENUM * @return bool true / false * @category cmsDelivery Module * @author Mareks Keišs * @version 1.1 */ public function changeRecordsStatus($ids, $field) { $time = time(); $ids = implode(',', $ids); $status = $this->db->query( "UPDATE mod_delivery dc SET {$field} = '1', dc.t_modified = '{$time}' WHERE {$field} = '0' AND id IN ({$ids})", ); if (!$status) { return $status; } $status = $this->db->query( "UPDATE mod_delivery dc SET {$field} = '0', dc.t_modified = '{$time}' WHERE {$field} = '1' AND id IN ({$ids}) AND dc.t_modified <> '{$time}'", ); return $status; } }