voucher_theme.php (4235B)
1 <?php 2 class ModelSaleVoucherTheme extends Model { 3 public function addVoucherTheme($data) { 4 $this->db->query("INSERT INTO " . DB_PREFIX . "voucher_theme SET image = '" . $this->db->escape($data['image']) . "'"); 5 6 $voucher_theme_id = $this->db->getLastId(); 7 8 foreach ($data['voucher_theme_description'] as $language_id => $value) { 9 $this->db->query("INSERT INTO " . DB_PREFIX . "voucher_theme_description SET voucher_theme_id = '" . (int)$voucher_theme_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "'"); 10 } 11 12 $this->cache->delete('voucher_theme'); 13 14 return $voucher_theme_id; 15 } 16 17 public function editVoucherTheme($voucher_theme_id, $data) { 18 $this->db->query("UPDATE " . DB_PREFIX . "voucher_theme SET image = '" . $this->db->escape($data['image']) . "' WHERE voucher_theme_id = '" . (int)$voucher_theme_id . "'"); 19 20 $this->db->query("DELETE FROM " . DB_PREFIX . "voucher_theme_description WHERE voucher_theme_id = '" . (int)$voucher_theme_id . "'"); 21 22 foreach ($data['voucher_theme_description'] as $language_id => $value) { 23 $this->db->query("INSERT INTO " . DB_PREFIX . "voucher_theme_description SET voucher_theme_id = '" . (int)$voucher_theme_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "'"); 24 } 25 26 $this->cache->delete('voucher_theme'); 27 } 28 29 public function deleteVoucherTheme($voucher_theme_id) { 30 $this->db->query("DELETE FROM " . DB_PREFIX . "voucher_theme WHERE voucher_theme_id = '" . (int)$voucher_theme_id . "'"); 31 $this->db->query("DELETE FROM " . DB_PREFIX . "voucher_theme_description WHERE voucher_theme_id = '" . (int)$voucher_theme_id . "'"); 32 33 $this->cache->delete('voucher_theme'); 34 } 35 36 public function getVoucherTheme($voucher_theme_id) { 37 $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "voucher_theme vt LEFT JOIN " . DB_PREFIX . "voucher_theme_description vtd ON (vt.voucher_theme_id = vtd.voucher_theme_id) WHERE vt.voucher_theme_id = '" . (int)$voucher_theme_id . "' AND vtd.language_id = '" . (int)$this->config->get('config_language_id') . "'"); 38 39 return $query->row; 40 } 41 42 public function getVoucherThemes($data = array()) { 43 if ($data) { 44 $sql = "SELECT * FROM " . DB_PREFIX . "voucher_theme vt LEFT JOIN " . DB_PREFIX . "voucher_theme_description vtd ON (vt.voucher_theme_id = vtd.voucher_theme_id) WHERE vtd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY vtd.name"; 45 46 if (isset($data['order']) && ($data['order'] == 'DESC')) { 47 $sql .= " DESC"; 48 } else { 49 $sql .= " ASC"; 50 } 51 52 if (isset($data['start']) || isset($data['limit'])) { 53 if ($data['start'] < 0) { 54 $data['start'] = 0; 55 } 56 57 if ($data['limit'] < 1) { 58 $data['limit'] = 20; 59 } 60 61 $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; 62 } 63 64 $query = $this->db->query($sql); 65 66 return $query->rows; 67 } else { 68 $voucher_theme_data = $this->cache->get('voucher_theme.' . (int)$this->config->get('config_language_id')); 69 70 if (!$voucher_theme_data) { 71 $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "voucher_theme vt LEFT JOIN " . DB_PREFIX . "voucher_theme_description vtd ON (vt.voucher_theme_id = vtd.voucher_theme_id) WHERE vtd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY vtd.name"); 72 73 $voucher_theme_data = $query->rows; 74 75 $this->cache->set('voucher_theme.' . (int)$this->config->get('config_language_id'), $voucher_theme_data); 76 } 77 78 return $voucher_theme_data; 79 } 80 } 81 82 public function getVoucherThemeDescriptions($voucher_theme_id) { 83 $voucher_theme_data = array(); 84 85 $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "voucher_theme_description WHERE voucher_theme_id = '" . (int)$voucher_theme_id . "'"); 86 87 foreach ($query->rows as $result) { 88 $voucher_theme_data[$result['language_id']] = array('name' => $result['name']); 89 } 90 91 return $voucher_theme_data; 92 } 93 94 public function getTotalVoucherThemes() { 95 $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "voucher_theme"); 96 97 return $query->row['total']; 98 } 99 }