* @since Version 2.0 */ class MODULE_NAME_SAMPLEModule { public $db; /** * Class constructor */ public function __construct() { $this->db = cDb::getInstance(); } /** * Function to get module records * * @author Mareks Keišs * @category MODULE_NAME_SAMPLE Module * @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 * @version 1.1 */ public function getModuleRecords($where, $sort, $offset = 0, $limitPerPage = 20){ $sSql = " SELECT SQL_CALC_FOUND_ROWS mb.*, CONCAT(mu.user_name, ' ', mu.user_surname) as created_by, CONCAT(mu2.user_name, ' ', mu2.user_surname) as modified_by FROM DB_SAMPLE_TABLE_NAME mb LEFT JOIN site_users mu ON mu.id = mb.a_created_by LEFT JOIN site_users mu2 ON mu2.id = mb.a_created_by WHERE 1 {$where} ORDER BY {$sort} LIMIT {$offset}, {$limitPerPage} "; $this->db->query($sSql); return $this->db->getArray(); } /** * Function to add or save record data * * @author Mareks Keišs * @category MODULE_NAME_SAMPLE Module * @param int $id - record id for update * @param array $data - record data * @return bool record new/old id * @version 1.1 */ public function saveRecordDataById($id, $data){ if($id){ if(!$this->db->_queryUpdate('DB_SAMPLE_TABLE_NAME', $data, array('id' => $id))) return false; }else{ if(!($id = $this->db->_queryInsert('DB_SAMPLE_TABLE_NAME', $data))) return false; } return $id; } /** * Function to get record data by id * * @author Mareks Keišs * @category MODULE_NAME_SAMPLE Module * @param int $id - record id * @return array - record data * @version 1.1 */ public function getRecordDataById($id){ return $this->db->_querySelectRow('DB_SAMPLE_TABLE_NAME', false, array('id' => $id)); } /** * Function to delete table records form db * * @author Mareks Keišs * @category MODULE_NAME_SAMPLE Module * @param array $ids - record ids to delete * @return bool true / false * @version 1.1 */ public function deleteRecords($ids){ return $this->db->_queryDelete('DB_SAMPLE_TABLE_NAME', array('id' => $ids)); } /** * Function to change record status in db table * * @author Mareks Keišs * @category MODULE_NAME_SAMPLE Module * @param array $ids - record ids to affect * @param string $field - field to update for status ENUM * @return bool true / false * @version 1.1 */ public function changeRecordsStatus($ids, $field){ $time = time(); $ids = implode(',', $ids); $status = $this->db->query("UPDATE DB_SAMPLE_TABLE_NAME mb SET {$field} = '1', a_modified = '{$time}' WHERE {$field} = '0' AND id IN ({$ids})"); if(!$status) return $status; $status = $this->db->query("UPDATE DB_SAMPLE_TABLE_NAME mb SET {$field} = '0', a_modified = '{$time}' WHERE {$field} = '1' AND id IN ({$ids}) AND a_modified <> '{$time}'"); return $status; } }