* @since Version 2.0 */ class cmsSubscriptionsModule { public $db; /** * Class constructor */ public function __construct() { $this->db = cDb::getInstance(); } /** * Function to get module records * * @author Aivars Žukovskis * @category cmsSubscriptions 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 mc.id, mc.email, mc.email_sub FROM mod_users_subscription_mails mc HAVING 1 {$where} ORDER BY {$sort} LIMIT {$offset}, {$limitPerPage} "; $this->db->query($sSql); return $this->db->getArray(); } /** * Function to add or save record data * * @author Aivars Žukovskis * @category cmsSubscriptions 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('mod_users_subscription_mails', $data, array('id' => $id))) return false; }else{ if(!($id = $this->db->_queryInsert('mod_users_subscription_mails', $data))) return false; } return $id; } /** * Function to get record data by id * * @author Aivars Žukovskis * @category cmsSubscriptions Module * @param int $id - record id * @return array - record data * @version 1.1 */ public function getRecordDataById($id){ return $this->db->_querySelectRow('mod_users_subscription_mails', array('id', 'email', 'email_sub', 'email_added', 'email_modified'), array('id' => $id)); } /** * Function to delete table records form db * * @author Aivars Žukovskis * @category cmsSubscriptions Module * @param array $ids - record ids to delete * @return bool true / false * @version 1.1 */ public function deleteRecords($ids){ return $this->db->_queryDelete('mod_users_subscription_mails', array('id' => $ids)); } /** * Function to change record status in db table * * @author Mareks Keišs * @category cmsSubscriptions 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 mod_users_subscription_mails mc SET {$field} = '1', email_modified = '{$time}' WHERE {$field} = '0' AND id IN ({$ids})"); if(!$status) return $status; $status = $this->db->query("UPDATE mod_users_subscription_mails mc SET {$field} = '0', email_modified = '{$time}' WHERE {$field} = '1' AND id IN ({$ids}) AND email_modified <> '{$time}'"); return $status; } }